Why standard Waveform from audio out gets distorted when i reduce the amplitude?

Illustration
Maia-lee - 2021-02-11T10:21:21+00:00
Question: Why standard Waveform from audio out gets distorted when i reduce the amplitude?

In my attempt to generate a standard sine wave out of a sound card, i started using  matlab which has a function soundsc for scaling the output     t = 0:1/48000:10; y = sin(1000*2*pi*t); soundsc(y,48000,[a b]); its ok when my a and b are -1 and 1 respectively, when i try to make them even -0.9 and 0.9 respectively the standard sine wave of 1Khz gets distorted why so ?   are our sound cards will not be able to handle standard sounds ??

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

The reason for this distortion is that some of the  signal values are being clipped. When you specify [a, b], it is assumed that signal you are attempting to playback has values in the range [a, b] and it allows you to scale it to the the range [-1, 1].
In your case, the signal "y" has values in the range [-1, 1] and by specifying [a, b] t be [-0.9 0.9], the values between [-0.9 0.9] in "y" are being scaled to [-1 1]. Values greater than 0.9 are scaled out of range and hence clipped.
The help for the soundsc function makes this clear.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!