Low Pass FIR Filters and and Zero placement.
This applet looks at the possibility of developing FIR filters by
placing zeros in the Z plane to illustrate the relation between FIR
filters and zeros. With zero placement, it is not necessary to sample the frequency response and use the IDFT as with the equiripple approximation. Instead the impulse response is obtained from simple multiplication of the zero factors.
For zeros z(i) the Transfer function of the filter is
Õ(z - z(i)) = I(0) zn + I(1) zn-1 + I(2) zn-2 + ....
The impulse response is the coefficients of the product polynomial. In practice, the zeros are taken as complex conjugate pairs to avoid complex arithmetic.
The applet shows how zeros can be placed in the Z plane to construct
an FIR filter with symmetric Impulse response and linear phase.
The zeros can be moved interactively by the scrollbars until
a 'flat' response is obtained in the passband and an equiripple
response is obtained in the stop band.
In the pass band, the zeros are assumed to be on either side of the
unit circle and on the unit circle in the stop band.
The numerical values of the zeros are shown on the right, Zr
is the magnitude(radius) and Zp * 2p is the phase. The zeros shown as magenta circles are moved by scrollbars shown in white. In the pass band scrollbar n,n+1 control
zeros n,n+1. Because the radius and phase of zeros n,n+1 are related, only 2 scrollbars are needed to move both. n changes the radius of both zeros and n+1 changes the phase of both. In the stop band the zero labelled n is moved by the scrollbar labelled n.
In the stop band the zeros are moved along the unit circle to get an
equiripple response. In the pass band, zeros near a minimum are
moved away from the unit circle and zeros close to maxima are moved closer to the unit circle. The phases can also be changed to move zeros closer to maxima. While it is easy to get equiripple behaviour in the stop band, getting acceptable ripple
behaviour in the pass band can be time consuming at first and requires some practice.
The plot of the impulse response assumes the same number of poles at
the origin as the number of zeros. The impulse response I(n) is shown on the applet as I(55:n) where n is changed by scrollbar 55. The impulse response shown is normalised so its maximum value is 1, however the maximum gain in the frequency response is Nfp. If a maximum gain of 0dB is required, then the impulse response must be divided by Nfp.
The pink line shows a magnified plot of the frequency response in the pass band with gain controlled by the last scrollbar
and shown as mpb(63).
The vertical scale is set by scrollbar 57 and the stop band
reference line is set by scrollbar 56 and its numerical value in dB is
shown as dB(56).
Unfortunately, there is a strong interaction between the pass and
stop band zeros and the filters produced are much longer than those
produced by the equiripple method.
In the cases below, the transition bandwidth is 0.08
ws, the scale for the pink
line is 1dB/div and the pass band ripple is ~0.1dB. The stop band
attenuation varies between 50 and 70dB.
The first 3 have the same number of zeros in both bands but
different attenuations in the stop band because of different
ripple behaviour in the pass band.
In contrast using the equiripple method with the same fp, fs and N
produces a filter with a stop band attenuation of 72dB and a pass band
ripple of ±0.05dB.
In the case below, the pass band ripple is ~ 0.02dB, the stop
band attenuation is 91dB, the transition bandwidth is 0.08ws.
In the case below, the transition bandwidth is 0.06ws, a total of 51 zeros and a length of 103. The pass band edge is 0.2ws and the 3dB frequency is ~ 0.217ws. The pass band ripple is ~ 0.06dB
and the minimum stop band attenuation is 80dB.
Return to main page
Return to page index
COPYRIGHT © 2008 Cuthbert Nyack.