<< Chapter < Page Chapter >> Page >
a N c M - N + 1 + a N - 1 c M - N + 2 + + c M + 1 = 0 a N c M - N + 2 + a N - 1 c M - N + 3 + + c M + 2 = 0 a N c M + a N - 1 c M + 1 + + c M + N = 0

Equation [link] represents an N × N system that can be solved for the coefficients a k given c ( n ) for 0 n N + M . These values can then be used in [link] to solve for the coefficients b k . The result is a system whose impulse response matches the first N + M + 1 values of f ( n ) .

Prony-based filter design methods

Both the original methods by Prony and Pade were meant to interpolate data from applications that have little in common with filter design. What is relevant to this work is their use of rational functions of polynomials as models for data, and the linearization process they both employ.

When designing FIR filters, a common approach is to take L samples of the desired frequency response D ( ω ) and calculate the inverse DFT of the samples. This design approach is known as frequency sampling . It has been shown [link] that by designing a length- L filter h ( n ) via the frequency sampling method and symmetrically truncating h ( n ) to N values ( N L ) it is possible to obtain a least-squares optimal length- N filter h N ( n ) . It is not possible however to extend completely this method to the IIR problem. This section presents an extension based on the methods by Prony and Pade, and illustrates the shortcomings of its application.

Consider the frequency response defined in [link] . One can choose L equally spaced samples of H ( ω ) to obtain

H ( ω k ) = H k = B k A k for k = 0 , 1 , ... , L - 1

where A k and B k represent the length- L DFTs of the filter coefficients a n and b n respectively. The division in [link] is done point-by-point over the L values of A k and B k . The objective is to use the relationship in described in [link] to calculate a n and b n .

One can express [link] as B k = H k A k . This operation represents the length- L circular convolution b ( n ) = h ( n ) L a ( n ) defined as follows [link]

b ( n ) = h ( n ) L a ( n ) = m = 0 L - 1 h ( ( n - m ) ) L a ( m ) , 0 n L - 1

where h ( n ) is the length- L inverse DFT of H k and the operator ( ( · ) ) L represents modulo L . Let

a ^ = 1 a 1 a N 0 0 and b ^ = b 0 b 1 b M 0 0

Therefore [link] can be posed as a matrix operation [link] of the form

H ^ a ^ = b ^

where

An equation involving H^^= to an 8x8 matrix. The first 4 columns are shaded gray while the last 4 columns are not.

is an L × L matrix. From [link] it is clear that the L - ( N + 1 ) rightmost columns of H ^ can be discarded (since the last L - ( N + 1 ) values of a ^ in [link] are equal to 0). Therefore equation [link] can be rewritten as

h 0 h L - 1 h L - N h 1 h 0 h L - N + 1 h M h M - 1 h ( ( L - N + M ) ) L h M + 1 h M h ( ( L - N + M + 1 ) ) L h L - 2 h L - 3 h L - N - 2 h L - 1 h L - 2 h L - N - 1 1 a 1 a N = b 0 b 1 b M 0 0 0

or in matrix notation

H 1 a = b 0 or H a ˜ = b ^

where a and b correspond to the length- N and ( M + 1 ) filter coefficient vectors respectively and H contains the first N + 1 columns of H ^ . It is possible to uncouple the calculation of a and b from [link] by breaking H furthermore as follows,

An equation where H= a 4x8 matrix = to 1x2 matrix. In the first matrix the upper 4 rows are shaded dark gray while the lower four columns are shaded light gray. In the second matrix the upper entry is shaded dark gray and the entry is H_1. The lower entry is H_2 shaded light gray.

Therefore

H 1 H 2 a ˜ = b 0

with

a ˜ = 1 a

as defined in [link] . This formulation allows to uncouple the calculations for a and b using two systems,

H 1 a ˜ = b H 2 a ˜ = 0

Note that the last equation can be expressed as

H ^ 2 a = - h ^ 2

where H 2 = [ h ^ 2 H ^ 2 ] (that is, h ^ 2 and H ^ 2 contain the first and second through N -th columns of H ^ 2 respectively).

From [link] one can conclude that if L = N + M + 1 and if H ^ 2 and H 1 are nonsingular, then they can be inverted In practice one should not invert the matrices H 1 and H ^ 2 but use a more robust and efficient algorithm. See [link] for details. to solve for the filter coefficient vectors a in [link] and solve for b using H 1 a ˜ = b .

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