I read a wav file in MATLAB and it has a sampling rate of 16kHz. I want to pass it through a filter I designed which has a sampling rate of 44.1 kHz. So, I thought I would use resx=resample(x,44100,16000) first in order to make them have the same sampling rate. I can see that I will have more samples in time now, but what is the expected change of the fft of my signal? I thought that the fft of the resampled signal would be the fft of the initial signal (0-8kHz) stretched to (0-22.05kHz) but according to the MATLAB plots it is not. Is it logical?


1 Answer 1


To add to Famous Blue Raincoat's comment: the process of upsampling a signal aims to increase its sampling rate without affecting the signal otherwise. In your example, outputting x or resx through your sound card should produce exactly the same sound. Upsampling is useful when you need to match sampling frequencies between different systems without affecting the signals otherwise.

Likewise, downsampling aims to modify the signal as little as possible. All frequencies below the new Nyquist frequency will be left untouched.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.