I am trying to design a low pass filter to apply before resampling the sensor's output at a lower rate, however I am not quite sure how to choose between the IIR and FIR fitlers. Matlab by default, filters the data with an 8th order Chebyshev Type I lowpass filter with cutoff frequency .8*(Fs/2)/R, before resampling. but how can I choose the best low pass filter type ?


1 Answer 1


It depends on your specification really.

When you're decimating, some degree of aliasing will occur. Your tolerance of this aliasing, signal delay, and changes in the phase response of your input signal will determine the best approach to take.

A very long FIR might provide a very steep cutoff and linear phase performance (depending on design), but will delay the signal (group delay), may cause pre-ringing and can be computationally demanding. FIRs however also allow for elegant 'polyphase' implementations (which reduce computational demand by effectively breaking the filter down into smaller component filters).

IIRs on the other hand have the potential to have a shorter delay, at the expense of a non linear phase response and perhaps a more shallow roll-off. You could achieve a steep rolloff with an IIR but it would likely be quite high order and hence susceptible to coefficient quantisation and/or stability problems.

  • $\begingroup$ thank you very much! would you please give me a good reference that shows me how to find the tolerance of the aliasing and the specifications that you mentioned? $\endgroup$ May 28, 2014 at 11:34
  • $\begingroup$ It's very hard to suggest a particular reference. The specification is determined by your particular application, or the accuracy you hope to achieve from your sensor. You will then have to map these requirements against the characteristics of the filters. You could start by working through the Decimation page on Wikipedia, and then investigating questions on this website such as the following: dsp.stackexchange.com/questions/363/… $\endgroup$
    – Speedy
    May 28, 2014 at 13:06

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.