0
$\begingroup$

I would like to resample an audio signal.

Sampling frequency of an original audio signal is 50k Hz.

What I want to down sampling frequency is 30k Hz.

In this case, I followed the procedures as below using LabVIEW.

'1. IIR low pass filter

Butterworth / 6th / Lowpass / up to 15k Hz

'2. Resample to 30kHz

Why I used LPF is to prohibit the anti-aliasing.

from now on, I have some questions.

1. Do we need to do LPF for prohibiting anti-aliasing?

2. If we have to do, how can we choose the lower cutoff frequency?
   In my case, I choose as 15k Hz because this is the new Nyquist frequency.

Thank you in advance.

OR is there the standard procedure for resampling?

$\endgroup$
2
  • $\begingroup$ See this : stackoverflow.com/questions/17796635/resampling-audio-in-matlab $\endgroup$
    – Vinod
    Commented Dec 26, 2013 at 6:09
  • $\begingroup$ @Vinod thank you for your comment. Yeah, this article describes that how to use resample function at MATLAB. There includes the LPF into the resample function, however, manually we need to introduce LPF, I think. $\endgroup$
    – actlee
    Commented Dec 27, 2013 at 4:20

2 Answers 2

1
$\begingroup$

One thing to consider is the existing spectral content of the signal being downsampled. If there is no significant energy above 15kHz, then the anti-alias filtering requirements are certainly relaxed since it won't have to do much for a 30kHz output sampling rate.

So where to put the filter cutoff frequency also depends on assumptions about the spectral content of the input signal as well as the transition band rolloff characteristics of the filter. For a 30kHz sampling rate the 3dB cutoff point of the filter may need to be much lower than 15kHz to prevent aliasing from 15.5kHz or 16kHz (for example).

Much of this depends on your tolerance for the level of aliasing and at what frequencies.

$\endgroup$
0
$\begingroup$

There is no standard procedure for re-sampling audio, it's actually a pretty complicated trade off and depends heavily on the specific requirements of your application. In general you need to decide

  1. What amount of aliasing can you tolerate?
  2. Do you care about phase distortion. If yes, what amount can you tolerate?
  3. Do you care about latency? If yes, how much can you tolerate?
  4. How much pass band magnitude distortion can you tolerate?
  5. How high cutoff point of you re sampled bass band need to be?
  6. How much out-of-band content is in your original signal?
  7. How much MIPS can you spend?

6th order Butterworth at 15k is very efficient (fast), low latency, pass band ripple of less than 1dB up to 14kHz but it does provide significant phase distortion and aliasing rejection is mediocre at best.

$\endgroup$
2
  • $\begingroup$ thank you for your comment. Yeah, I would like to introduce FIR filter actually because of no phase distortion. However, I used IIR filter,,--; without any reason. Is there any recommendation for resampling? I used 15k. Can I set the cut off frequency over 15k Hz? $\endgroup$
    – actlee
    Commented Dec 27, 2013 at 2:27
  • $\begingroup$ For checking phase distortion, I used FFT spectrum with magnitude and phase. Set the input signal as somewhat frequency sine signal, I was changing the frequency over the new Nyquist frequency for checking phase distortion. However, I used very low level checking method that just looking the graph..--; Is there a way that check the phase distortion? If I could check it with a specific way, I think it is possible to make a criteria for tolerating phase distortion. Thank you. $\endgroup$
    – actlee
    Commented Dec 27, 2013 at 2:30

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.