FIR filters use only input signal samples to compute the next output. The difference equation for FIR filter is:y(n) = b0 * x(n) + b1 * x(n - 1) + b2 * x(n - 2) + ..., where y(n) - n'th sample of output x(n) - n'th sample of inputIIR filters use also output signals samples. That is,
y(n) = b0 * x(n) + b1 * x(n - 1) + b2 * x(n - 2) + ... - a1 * y(n - 1) - a2 * y(n - 2) - ...,You can see from the FIR formula that its impulse response is indeed time-limited, because its output is based on a number of input samples and if input becomes zero then output will go zero sooner or later. The length of FIR filter buffer defines the frequency and magnitude resolution that the filter can provide. For example, a low pass filter with pass band edge frequency of 100 Hz (0dB) and stop frequency 150 Hz (-60 dB) at 44100 Hz sampling requires about 1400 buffer size. FIR filters can have linear phase on frequency dependence.
IIR filter output depends on both input and output samples. IIR filters resemble analog filters in this respect and often synthesized on an analog model. IIR filters generally require less memory size, but harder to implement. They have problems with stability, coeficients resolution. Good idea is break the whole filter into second order sections. Response of a practical IIR filter may be finite because of limited coeficients length. Sometimes, the response is made infinite intentionally to generate for example sine waves.
Questions: