<< Chapter < Page | Chapter >> Page > |
Fortunately, emperical formulas have been derived that give a good estimate of the relationship of the length of an optimal ChebyshevFIR filter for given pass and stopband ripple and transition band edges [link] , [link] . Kaiser's formula is
and it is fairly accurate for average filter specifications (neither wide nor narrow bands).
In order to better understand the nature of an optimal Chebyshev and to see the power of the Parks-McClellan algorithm, we present the design ofa length-21 linear phase FIR bandpass filter. To see the effects of the design specifications, we will fix the two pass band edges and the upperstop band edge, then look at the effects of varying the lower stop band edge. The Matlab program that generated the designs is:
% ChebyPlot9.m generates Chebyshev figures.% Change in opt frequency response as band edge is changed, csb 1/26/07
N = 20;M = [0 0 1 1 0 0];W = [7.5 10 7.5];ff = [0:512]/512; k=0;%for fk = .10:.02:.34
% k = k+1;clf;
for k = 1:6fk = .1 + .02*(k-1);
F = [0 fk .35 .8 .85 1];
b = firpm(N,F,M,W);%clf;
axis([0 1 0 1.2]);
AA = abs(fft(b,1024)); AA = AA(1:513);dd = max(AA(1:50));
ddd = dd*(W(1)/W(2));subplot(3,2,k); plot(ff,AA,'r'); hold;
plot([0 F(2) F(2) F(5) F(5) 1],[dd dd 0 0 dd dd],'b');plot([0 F(3) F(3) F(4) F(4) 1],[0 0 1-ddd 1-ddd 0 0],'b');
plot([0 F(3) F(3) F(4) F(4) 1],[0 0 1+ddd 1+ddd 0 0],'b');title('L-21 Chebyshev Filter, f_s = 0.1');
ylabel('Magnitude |H(\omega)|');pause;
end; hold off;
The results are shown in Figures [link] and [link] .
Note the large transmission peaks in the transition band of Figures [link] a, b, and c that result from the two transition bands being very different in width. As the lowertransition band narrows, this peak grows smaller and eventually disappears in [link] f. Note that there are two extremal points in the lower stop band of [link] b and seven in the pass band, while there are three in the lower stop band of Figures [link] c and d and six in the pass band. But, there are always twelve total (thirteen for a case between Figures [link] b and c). In [link] d, there are only five extremal points in the pass band but twelve total. The same filter is optimal for the conditionsgiven in Figures [link] a, b, and c. Much can be learned about optimal filters by running experiments in Matlab. Remember, all of these are optimal for the specifications given.
It is possible to approximate the effects of Chebyshev approximation by minimizing the power of the error. For large this is close to the results of a true Chebyshev approximation. This is a variation on amethod called Lawson's method. This approach is described in [link] , [link] , [link] using the iterative reweighted least squared (IRLS) error method and looks attractive in that it can use different in different frequency bands. This would allow, for example, a least squarederror approximation in the passband and a Chebyshev approximation in the stopband. The IRLS method can also be used for complex Chebyshevapproximations [link] .
Examples of expected and unexpected results of optimality. Rabiner's work will be used here. The non-unique designs for certain multibanddesigns will be illustrated.
Algorithms that directly use the alternation theorem, such as the standard Remez multiple exchange algorithm, are difficult to apply to the complexapproximation or 2-D approximation problem because the concept of “alternation" is difficult to define and the number of ripples in anoptimal solution is more difficult to determine [link] , [link] , [link] , [link] , [link] , [link] , [link] . Work has been done on the complex approximation problem at Rice by Parks and Chen [link] and by Burrus, Barreto, and Selesnick [link] , [link] , at Erlangen by Schuessler, Preuss, Schulist, and Lang [link] , [link] , [link] , [link] , [link] , [link] , at MIT by Alkhairy et al [link] , [link] , at USC by Tseng and Griffiths [link] , [link] , at Georgia Tech by Karam and McClellan [link] , at Cornell by Burnside and Parks [link] , and by Potchinkov and Reemtsen at Cottbus [link] , [link] , [link] , [link] , [link] . The work done byAdams which uses an implementation of a constrained quadratic programming algorithm might be useful here [link] , [link] . Lang has extended and further developed this constrained approach [link] , [link] , [link] and Selesnick is applying it to IIR filter design [link] . Tseng gives a good summary of complex approximation in [link] .
By adding the Chebyshev filter design methods described above to the Parks-McClellan algorithm, one has a rather complete set of approachesto equal ripple filter designs that allows a wide variety of specifications. The new exchange algorithm which minimizes the transitionband width while allowing the specification of the center or either edge of the transition band edge may fit many design environments better thanthe traditional Parks-McClellan. An alternative approach which specifies the pass and stop band peak error yet has no zero weighted transition band will be presented in Constrained Least Squares Design [link] , [link] . Matlab programs are available for the Parks-McClellan algorithm, the modifiedParks-McClellan algorithm, the Hofstetter-Oppenheim-Siegel algorithm, the new minimum transition band design algorithm, and the constrained leastsquares algorithm. They are written with a common format and notation to easily see how they are programmed and how they are related. This bookgenerally presents the lowpass case. The bandpass and multi-band cases use the same ideas but are a bit more complicated and are discussed in moredetail in the references.
Notification Switch
Would you like to follow the 'Digital signal processing and digital filter design (draft)' conversation and receive update notifications?