<< Chapter < Page | Chapter >> Page > |
This section has derived the four basic ideal lowpass filters: the constant gain passband lowpass filter, the linearly increasing gain passbandlowpass filter, the differentiator with a lowpass filter, and the Hilbert transformer with a lowpass filter. It is shown that each of these can bemodified to allow a spline transition function by a simple weighting function.
Because of using an ${L}_{2}$ approximation error criterion and because of the orthogonality of the basis functions of the Fourier transform, it is shownthat an optimal multiband filter can be built from the linear combination of these optimal building blocks. This new filter design method has theflexibility of the Parks-McClellan algorithm but the simplicity of the windowing methods. It is extremely fast and has no numerical problems.Unlike the windowing methods, the new method allows explicit independent control of multiple transition band edges and gives an optimal design.Its only limitation is not allowing error weighting.
We then derived a second method that likewise allowed multiple pass, stop, and transition bands with arbitrary band edges, but also allowedindependent weighting of each frequency band. There are two limitations on this method. For long filters with wide transition bands with zeroweights and where $N({f}_{p}-{f}_{s})>12$ , the equations that must be solved are ill conditioned. This can be partially addressed using optimal splinefunctions with small weights in the transition bands. The second problem is that solving a large number of simultaneous equations can be slow andrequire considerable memory. These problems might be addressed by using special Toeplitz or Toeplitz plus Hankel algorithms [link] or some iterative method.
When should these methods be used? The second method which minimizes the weighted integral squared error should be used anytime the originalproblem dictates a squared error criterion and the product of the length and transition band width is less than twelve, $N\phantom{\rule{0.166667em}{0ex}}({f}_{p}-{f}_{s})<12$ . These conditions are often met because the squared error is a measure of thesignal or noise energy and one seldom wants a long filter and a wide transition band. Even though this method requires solution of a set ofsimultaneous equations and is, therefore, slower than the spline transition function method, it executes in a few seconds on a PC orworkstation and allows independent weighting of different frequency bands.
The first method which uses spline functions in the ideal response transition bands will design essentially arbitrarily long filters veryquickly but it will not allow any error weighting. Although artificial transition functions are used in the ideal response, the optimized splinefunctions are very close to the response actually obtained by the second method with zero weighting in the transition band. This means the optimalapproximation to the ideal response with spline functions transition bands is close to that obtained using the second numerical method. Comparisonsof these effects for a single band can be found in [link] . If a Chebyshev approximation is desired, the Parks-McClellan method should beused although it too has numerical problems for long filters with wide transition bands. If different error measures are wanted in differentbands, the iterative reweighted least squares (IRLS) algorithm [link] should be used. Recent research suggest that for many practical signal specifications, a mixture of Chebyshev and least squaresis appropriate with no explicit transition bands [link] .
If the equations that must be solved to obtain the optimal filter coefficients are ill-conditioned, an orthogonalization procedure can beused to improve the conditioning [link] .
Gibbs phenomenon, transition band, pole-zero plots, etc.
Here we talk about which methods also solve the complex approximation problem. We talk about the minimum phase filter.
Notification Switch
Would you like to follow the 'Digital signal processing and digital filter design (draft)' conversation and receive update notifications?