next up previous
Next: About this document Up: Digital filter design with Previous: Infinite impulse response (IIR)

Finite impulse response (FIR) filters

These correspond to non-recursive systems derived from DE's of the form :

displaymath966

So there will be only one array b to be calculated in the design.The a array is always simply [1].

The advantage of FIR designs over IIR designs is that they can achieve precise phase linearity in the pass band.
Their disadvantage as compared to IIR is that to achieve the same sharpness of cut-off they need to use high order (ie the value of L in the DE) e.g. 50 and this may be inconvenient.

Matlab FIR filter fir1

% Low pass filter with fir1
%
n=50;        % Order 50 !!
Wn=0.4;      % Cut-off at normalized frequency 0.4 (digital frequency 0.4*pi)
b=fir1(n,Wn) % defaults to lowpass filter
[H,q]=freqz(b,1,512); % Note a=[1]
mag=abs(H);  % Magnitude response
plot(q,mag,'.');
title(' fir1 filter, order=50, Wn=0.4*pi');
xlabel('Digital Frequency (rad/sample)');
ylabel(' Magnitude Response');

Matlab also has direct FIR filter designs fir2 firls and remez.



Keith Jones
Tue Oct 27 11:32:15 EST 1998