0
$\begingroup$

I have an audio signal x sampled at 96 Khz. I have already lowpassed it with a cutoff somewhere between 20 Khz and 22 Khz, so there should be nothing left of frequency > 22 Khz.

I need to resample it to 48 Khz. Since we are in the specific case 96000=2*48000, is it ok to do it this way:

y[n] = x[2*n]

by just forgetting every two elements?

What are the drawbacks of this method, in comparison to more complex downsampling algorithms? (Since 96 Khz is an integer multiple of 48 Khz, I thought that there would be no risk of aliasing here).


Also, what would happen with a downsampling y[n] = x[n * 2] if I had not low pass filtered at 20 Khz? What could be the potential problems?

$\endgroup$
4
$\begingroup$

Since you have already properly low pass filtered the signal, then there is no risk in taking every other sample to complete the downsampling operation. If you were to create a low pass filter that passed your spectrum of interest with no distortion, and rejected all energy in the alias frequency locations then taking every other sample would provide a perfect downsampling by a factor of 2 (there would be no distortion in you signal of interest). Of course, such a perfect filter is not feasible to implement but stated as such to show that the issue is not in taking every other sample but entirely in the filter design itself.

$\endgroup$
  • $\begingroup$ Thank you! Just to be sure: what would happen with a downsampling y[n] = x[n * 2] but if I had not low pass filtered at 20 Khz? What could be the potential problems? $\endgroup$ – g6kxjv1ozn Sep 8 '18 at 8:34
  • $\begingroup$ See my answer here, I think that will answer your question with more detail: dsp.stackexchange.com/questions/40861/… $\endgroup$ – Dan Boschen Sep 8 '18 at 10:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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