<< Chapter < Page Chapter >> Page >

Iir filter design using the methods by prony and pade

Consider the filter in [link] with transfer function

H ( z ) = B ( z ) A ( z )

We can rewrite it as

B ( z ) = H ( z ) A ( z )

which represents the convolution b ( n ) = h ( n ) * a ( n ) . This operation can be represented in matrix form [link] as follows,

This image is a representation of the convolution 'b(n)=h(n)*a(n)'. From left to right there is a 4x1 matrix which is equal to a 8x4 matrix. The upper 5 rows of this matrix is shaded light gray. The bottom 3 rows are shaded dark gray. Right to the right of this matrix is another matrix with dimensions 4x1.

System [link] can be viewed as [link] ,

This image is a representation of an equation. From left to right there is a 2x1 matrix with the entries from top to bottom b, 0. This matrix is equal to another 2x1 matrix. The upper entry of this matrix is H_1 and is shaded light gray. The lower entry is H^_1 and is shaded dark gray. This matrix is right next to a 1x1 matrix with the entry a.
This image is a representation of a mathematical expression. The upper equation is b=H_1a where H_1 is shaded light gray. The lower equation is 0=H^_1a where H^_1 is shaded dark gray.

If L = M + N , equations [link] and [link] describe the same square systems as equations [link] and [link] , letting c k in the former systems to become h k in the latter ones. Therefore when the number of impulse response samples to be matched is equal to M + N , solving [link] for the coefficients a k and b k is equivalent to applying Pade's method to matching the first N + M values of the impulse response h ( n ) . In consequence, this method is known as Pade's method for IIR filter design [link] or simply Pade approximation method [link] , [link] . Pade's method is an interpolation algorithm; since the number of samples to be interpolated must be equal to the number of filter parameters, Pade's method is limited to very large filters, which makes it impractical.

The relationship of the above method with Prony's method can be seen by posing Prony's method in the Z -domain. Consider the function f ( n ) from [link] ,

f ( n ) = k = 1 N c k e s k n = k = 1 N c k λ k n

The Z -transform of f ( n ) is given by

F ( z ) = Z { f ( n ) } = n = - f ( n ) z - n

where Z { · } denotes the Z -transform operator. By linearity of the Z -transform [link] ,

F ( z ) = Z { f ( n ) } = k = 1 N c k Z { λ k n }

Using

Z { λ k n } = Z { λ k n u ( n ) } = 1 1 - λ k z - 1

(the left equality is true since f ( n ) = 0 for n < 0 by assumption) in [link] we get

F ( z ) = k = 1 N c k 1 - λ k z - 1 = c 1 1 - λ 1 z - 1 + c 2 1 - λ 2 z - 1 + c N 1 - λ N z - 1 = c 1 ( 1 - λ 2 z - 1 ) ( 1 - λ N z - 1 ) + c N ( 1 - λ 1 z - 1 ) ( 1 - λ N - 1 z - 1 ) ( 1 - λ 1 z - 1 ) ( 1 - λ 2 z - 1 ) ( 1 - λ N z - 1 ) = i = 1 N c i j = 1 j i N ( 1 - λ j z - 1 ) k = 1 N ( 1 - λ k z - 1 )

The numerator and denominator in [link] are two polynomials in z - 1 of degrees N - 1 and N respectively. Expanding both polynomials, equation [link] becomes

F ( z ) = b 0 + b 1 z - 1 + + b N - 1 z - ( N - 1 ) 1 + a 1 z - 1 + + a N z - N

Assuming a 0 = 1 does not affect the formulation of F ( z ) . This is equivalent to dividing both the numerator and denominator of [link] by a 0 . From [link] it is clear that Prony's method is in fact a particular case of the Pade approximation method described earlier in this section (with M = N ). From [link] and [link] we have

c 1 1 - λ 1 z - 1 + c 2 1 - λ 2 z - 1 + c N 1 - λ N z - 1 = b 0 + b 1 z - 1 + + b N - 1 z - ( N - 1 ) 1 + a 1 z - 1 + + a N z - N )

Therefore, given 2 N samples of h ( n ) = f ( n ) one can solve for the parameters c k and λ k in [link] merely by applying partial fraction expansion [link] on [link] .

Consider the systems in [link] and [link] . If L > M + N then [link] is an overdetermined system and cannot be solved exactly in general. However, it is possible to find a least squares approximation following an approach similar to the one used in the frequency domain design method from [link] . Given L > M + N samples of an impulse response h ( n ) , we rewrite H ^ 1 as

H ^ 1 = [ h ^ H 2 ]

where

h ^ = h M + 1 h L and H 2 = h M h M - 1 h M + 1 h M h L - 1 h L - N

Following the same formulation of [link] , the filter coefficients a k and b k are found by solving for a ^ and b in

a ^ = - [ H 2 T H 2 ] - 1 H 2 T h ^
b = H 1 a

where H 1 is an M × N matrix given by

H 1 = h 0 0 0 0 h 1 h 0 0 0 h 2 h 1 h 0 h M h M - 1

The error analysis for these algorithms is equivalent to the one performed in [link] . In fact, both approaches (frequency sampling versus Pade's method) are quite similar. Among the common properties, both methods use an equation error criterion rather than the more useful solution error. However, it is worth to point out that in the time domain (Pade) approach, samples of the impulse response are used to make the approximation, and the method uses a linear convolution rather than the cyclic one from the frequency domain approach. Also, since the latter method uses a uniform sampling grid within the complete frequency spectrum between ω = 0 and ω = 2 π instead of using the first few samples of an infinitely long sequence ( h ( n ) ), the approximation properties of the frequency domain method are superior.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Iterative design of l_p digital filters. OpenStax CNX. Dec 07, 2011 Download for free at http://cnx.org/content/col11383/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Iterative design of l_p digital filters' conversation and receive update notifications?

Ask