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
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