<< Chapter < Page | Chapter >> Page > |
If there are $F$ distinct band edges ${\omega}_{k}$ , the first and last are ${\omega}_{1}=0$ and ${\omega}_{F}=\pi $ . This means part of the first term in the sum of [link] is always zero and part of the last is zero except when $n=m=0$ where it is $\pi $ . Using these facts allows [link] to be written
which, together with appropriately modified [link] and [link] , are good forms for programming. The Matlab program in the appendix containsthe details.
Applying the form of [link] to [link] gives
These integrals have been evaluated for the four basic filter types - constant gain passband lowpass filter, linear gain passband lowpass filter,differentiator plus lowpass filter, and Hilbert transformer plus lowpass filter - giving simple design formulas in [link] , [link] , [link] , and [link] .
Each basic filter type plus the effects of a transition band can be calculated and combined according to [link] . An example low pass filter with a weight of ${W}_{1}$ in the passband and ${W}_{2}$ in the transition band is given for odd $N$ gives for the intermediate coefficients ${\widehat{h}}_{w}\left(n\right)$ from [link] are
A similar expression can be derived for even $N$ using Equation 8 from Constrained Approximation and Mixed Criteria .
This means the left hand vector in [link] can be calculated as a weighted sum of inverse DTFTs such as in [link] if the ideal desired amplitude can be constructed from the four basic types in FIR Digital Filters , each with optimal transition bands.
If one or more of the integrals in [link] has no analytical solution, ${a}_{w}\left(n\right)$ can be calculated numerically using a truncated weighted sum of inverse DFTs of a dense sampling of ${A}_{{d}_{k}}\left(\omega \right)$ or made up of the passbands calculated from inverse DFTs and the transition bands addedby multiplying appropriately by sinc functions since constructing an optimal spline transition function to be sampled would not be easy.
This gives a very powerful design method that allows multi band weighted least squares design of FIR filters. The calculation of the matrix ${\mathbf{C}}_{\mathbf{w}}$ in [link] is always possible using [link] . Because using atrue “don't care" transition band with a weight of zero might causes ill conditioning of [link] for $({f}_{s}-{f}_{p})N>12$ as discussed in [link] , one can add a spline transition function in ${A}_{d}\left(\omega \right)$ to the definition in [link] as done in [link] and [link] . A very small weight used in the transition bands together with a splinetransition function will improve the conditioning of [link] with minor degradation of the optimality. This point needs further evaluation.
By using an inverse FFT perhaps plus a sinc induced transition function to calculate the components of [link] , this method can be used to design arbitrary shaped passbands. It can also be used for complex approximationby applying it to the real and imaginary parts of the desired ${H}_{d}\left(\omega \right)$ separately and using the full, nonsymmetric $h\left(n\right)$ .
The form of the simultaneous equations [link] that must be solved to design a filter by this method is interesting. If the weights in allpass, stop, and transition bands are unity, the ${\mathbf{C}}_{\mathbf{w}}$ matrix is the identity matrix and ${\widehat{\mathbf{h}}}_{\mathbf{w}}$ contains the filter coefficients. As the weights become less and less uniform or equal, the ${\mathbf{C}}_{\mathbf{w}}$ matrix becomes poorer conditioned. If the weights for the transition bands are zero, it is the smallest eigenvalues of ${\mathbf{C}}_{\mathbf{w}}$ that control the actual amplitude response $A\left(\omega \right)$ in the transition bands. This explains why numerical errors in solving [link] show up primarily in the transition bands. It also suggests this effect can be reduced by allowinga small weight in the transition bands. Indeed, one can design long filters by using spline transition functions with a small weight whichthen allows different pass and stopband weights.
Notification Switch
Would you like to follow the 'Digital signal processing and digital filter design (draft)' conversation and receive update notifications?