0
$\begingroup$

can we use butterworth and other such filters like chebyshev,elliptic etc with FIR

or they can be only used with IIR?

$\endgroup$
  • 1
    $\begingroup$ There's a lot of beginners asking how to build Butterworth filters, without actually needing them. Why do you want to use a Butterworth FIR (which can't exist, sadly)? $\endgroup$ – Marcus Müller Dec 19 '18 at 20:19
0
$\begingroup$

Filters according to those optimality criteria only exist as IIR filters. They are derived from the corresponding analog prototype filters via the bilinear transform, and this naturally results in IIR filters, i.e., filters with zeros and poles (away from the unit circle).

Of course, you can approximate these filters by FIR filters. The most straightforward way would be to truncate the infinite impulse response using some window function. But such an FIR filter is not optimal anymore since it can only approximate the optimal response.

| improve this answer | |
$\endgroup$
  • $\begingroup$ what are the optimality criteria? $\endgroup$ – Ben Dec 19 '18 at 18:14
  • $\begingroup$ @Ben: You mean how Butterworth, Chebyshev, etc., filters are defined? (because these are the optimality criteria). $\endgroup$ – Matt L. Dec 19 '18 at 18:15
  • $\begingroup$ Oh ok, thanks I thought you meant an optimality criterion on how to convert analog to digital filters. $\endgroup$ – Ben Dec 19 '18 at 18:17
  • $\begingroup$ @Ben: No, the bilinear transform preserves the optimality for these criteria (but not for others, e.g., a Bessel filter transformed via the bilinear transform is no optimal Bessel filter anymore). $\endgroup$ – Matt L. Dec 19 '18 at 18:18
  • $\begingroup$ also, abt, you can actually implement your FIR filter that approximates some IIR filter as a Truncated IIR (TIIR) filter. it might not be what you want, but it's a method to get some FIR properties (such as linear phase) with the lower computational cost of an IIR. it turns out, that to get linear phase with a TIIR, you have to do this filtfilt() thing in blocks. $\endgroup$ – robert bristow-johnson Dec 19 '18 at 19:20
0
$\begingroup$

A Butterworth filter is a filter of the form proposed by Stephen Butterworth, in “On the Theory of Filter Amplifiers”, 1930. The goal is a maximally flat response—the steepest cutoff that maintains a completely flat passband—for a given order. Such filters inherently have poles. Translating to the discrete domain with the bilinear transform yields zeros as well, but always includes poles. FIRs do not implement poles, only zeros. While you may approximate the response of a Butterworth filter with an FIR, you could not say the filter has Butterworth response. The order of the FIR would be much higher than the target Butterworth implemented with poles.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Didn't realize I was answering an old question. I'll leave it—I disagree with the original answer a little, as the bilinear transform isn't needed to satisfy this, nor is having zeros in the digital version, those are just implementation choices. We could translate the Butterworth filter from the continuous domain a different way. No way we choose will give the exact response of the Butterworth design in the continuous domain, but they still satify the Butterworth criteria. An FIR can't. $\endgroup$ – Nigel Redmon Apr 30 at 0:01

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.