IIR filters have feedback whereas FIR filters don't use feedback. Then why is it said that FIR filters sometimes have the disadvantage that they require more memory and/or calculation to achieve a given filter response characteristic?
Can you please explain explain what is it that makes FIR filter computationally more complex compared to IIR although it doesnt use feedback?
Answer
while it is true that FIR filters don't necessarily use feedback, there are FIR filters that do use feedback. the name for these kind of FIRs coined by Julius Smith and Avery Wang is "Truncated IIR" or "TIIR". a moving average filter, where the moving sum is computed with an accumulator where the new sample is added and some old sample is subtracted, that is an example of a TIIR.
another method of doing an FIR is the use of the FFT and "fast convolution". but there is no feedback with this method.
the measure of "complexity" of filters is usually how many multiply-accumulate (or "MAC") instructions, per sample, are needed to do the job. if sharp filtering is needed, impulse responses must be long and, for a simple FIR, that means many MAC instructions. but a low-order IIR can still have a long impulse response, even if there are few MAC instructions because of the feedback.
so if you can do the same basic job (like low-pass filtering) with a low-order IIR, in comparison to doing the essentially the same job with an FIR that would have scores or hundreds of MAC instructions, it should be clear what advantages regarding complexity the IIR method will have.
No comments:
Post a Comment