Design by windowing
The MATLAB function fir1()
designs conventional lowpass, highpass, bandpass, and bandstop linear-phase
FIR filters based on the windowing method. The command
b = fir1(N,Wn)
returns in vector b the impulse response of a lowpass filter of order
N. The cut-off frequency Wn must be between
0 and 1 with 1 corresponding to the half sampling rate.
The command
b = fir1(N,Wn,'high')
returns the impulse response of a highpass filter of order N with
normalized cutoff frequency Wn.
Similarly, b = fir1(N,Wn,'stop')
with Wn a two-element vector designating the stopband designs
a bandstop filter.
Without explicit specification, the Hamming window is employed in the design.
Other windowing functions can be used by specifying the windowing function as an extra argument of the function.
For example, Blackman window can be used instead by the command
b = fir1(N, Wn, blackman(N)).
Parks-McClellan FIR filter design
The MATLAB command
b = remez(N,F,A)
returns the impulse response of the length N+1
linear phase FIR filter of order N designed by Parks-McClellan algorithm.
F is a vector of frequency band edges in ascending order between 0 and 1 with 1 corresponding
to the half sampling rate. A is a real vector of the same size as F which specifies the
desired amplitude of the frequency response of the points
(F(k),A(k)) and (F(k+1),A(k+1))
for odd k. For odd k,
the bands between F(k+1) and F(k+2)
is considered as transition bands.




