<< Chapter < Page Chapter >> Page >

The number of frequency samples specified, L + 1 , will be made larger than the number of filter coefficients, M + N + 1 . This means that H 2 is rectangular and, therefore, [link] cannot in general be satisfied. To formulate an approximationproblem, a length- ( L + 1 ) error vector ε is introduced in [link] and [link] to give

b 0 = H 0 a + ε

Equation [link] becomes

h 1 - ε = - H 2 a *

where now H 2 is rectangular with ( L - M ) > N . Using the same methods as used to derive [link] , the error ε is minimized in a least-squared error sense by the solution of the normal equations [link]

H 2 T h 1 = - H 2 T H 2 a *

If the equations are not singular, the solution is

a * = - [ H 2 T H 2 ] - 1 H 2 T h 1 .

If the normal equations are singular, the pseudo-inverse [link] can be used to obtain a minimum norm or reduced order solution.

The numerator coefficients are found by the same techniques as before in [link]

b = H 1 a

which results in the upper M + 1 terms in ε being zero and the total squared equation error being minimum.

As is true for LS-error design of FIR filters, [link] is often numerically ill-conditioned and [link] should not be used to solve for a * . Special algorithms such as those used by Matlab and LINPACK [link] , [link] should be employed.

The error ε defined in [link] can better be understood by considering the frequency-domain formulation. Takingthe DFT of [link] gives

B k = H k A k + ε

where ε is the error in trying to satisfy [link] when the equations are over-specified. This can be reformulated in terms of E , the difference between the frequency response samples of the designed filter and the desired response samples, by dividing [link] by A k to give

E k = B k A k - H k = ε k A k

E is the error in the solution of the approximation problem, and ε is the error in the equations defining the problem. The usual statement of a frequency-domain approximationproblem is in terms of minimizing some measure of E , but that results in solving nonlinear equations. The design proceduredeveloped in this section minimizes the squared error ε , thus only requiring the solution of linear equations. There is animportant relation between these problems. [link] shows that minimizing ε is the same as minimizing E weighted by A . However, A is unknown until after the problem is solved.

Although this is posed as a frequency-domain design method, the method of solution for both the interpolation problem and the LSequation-error problem is the same as the time-domain Prony's method, discussed in Complex and Minimum Phase Approximation of reference [link] .

Numerous modifications and extensions can be made to this method. If the desired frequency response is close to what can be achieved by an IIRfilter, this method will give a design approximately the same as that of a true least-squared solution-error method. It can be shown that ε = 0 E = 0 . In some cases, improved results can be obtained by estimating A k and using that as a weight on ε to approximate minimizing E . There are iterative methods based on solving [link] and [link] to obtain values for A k . These values are used as weights on ε to solve for a new set of A k used as a new set of weights to solve again for A k [link] [link] . We found this approach to converge slowly, but a recent paper using the log-magnitude [link] was more successful. Other approaches are given in [link] , [link] , [link] . The solution of [link] and [link] is sometimes used to obtain starting values for other iterative optimization algorithms that need good startingvalues for convergence.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing and digital filter design (draft). OpenStax CNX. Nov 17, 2012 Download for free at http://cnx.org/content/col10598/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing and digital filter design (draft)' conversation and receive update notifications?

Ask