<< Chapter < Page Chapter >> Page >

Steiglitz-mcbride iterative algorithm

In 1965 K. Steiglitz and L. McBride presented an algorithm [link] , [link] that has become quite popular in statistics and engineering applications. The Steiglitz-McBride method ( SMB ) considers the problem of deriving a transfer function for either an analog or digital system from their input and output data; in essence it is a time-domain method. Therefore it is mentioned in this work for completeness as it closely relates to the methods by Levy, SK and Sid-Ahmed, yet it is far better known and understood.

The derivation of the SMB method follows closely that of SK. In the Z-domain, the transfer function of a digital system is defined by

H ( z ) = B ( z ) A ( z ) = b 0 + b 1 z - 1 + ... + b N z - N 1 + a 1 z - 1 + ... + a N z - N

Furthermore

Y ( z ) = H ( z ) X ( z ) = B ( z ) A ( z ) X ( z )

Steiglitz and McBride define the following problem,

min ε s = i E i ( z ) 2 = 1 2 π j X ( z ) B ( z ) A ( z ) - D ( z ) 2 d z z

where X ( z ) = j x j z - j and D ( z ) = j d j z - j represent the z-transforms of the input and desired signals respectively. Equation [link] is the familiar nonlinear solution error function expressed in the Z-domain. Steiglitz and McBride realized the complexity of such function and proposed the iterative solution [link] using a simpler problem defined by

min ε e = i E i ( z ) 2 = 1 2 π j X ( z ) B ( z ) - D ( z ) A ( z ) 2 d z z

This linearized error function is the familiar equation error in the Z-domain. Steiglitz and McBride proposed a two-mode iterative approach. The SMB Mode 1 iteration is similar to the SK method, in that at the k -th iteration a linearized error criterion based on [link] is used,

E k ( z ) = B k ( z ) A k - 1 ( z ) X ( z ) - A k ( z ) A k - 1 ( z ) D ( z ) = W k ( z ) B k ( z ) X ( z ) - A k ( z ) D ( z )

where

W k ( z ) = 1 A k - 1 ( z )

Their derivation For more details the reader should refer to [link] , [link] . leads to the familiar linear system

C x = y

with the following vector definitions

x = b 0 b N a 1 a N q j = x j x j - N + 1 d j - 1 d j - N

The vector q j is referred to as the input-output vector. Then

C = j q j q j T y = j d j q j

SMB Mode 2 is an attempt at reducing further the error once Mode 1 produces an estimate close enough to the actual solution. The idea behind Mode 2 is to consider the solution error defined by [link] and equate its partial derivatives with respect to the coefficients to zero. Steiglitz and McBride showed [link] , [link] that this could be attained by defining a new vector

r j = x j x j - N + 1 y j - 1 y j - N

Then

C = j r j q j T y = j d j r j

The main diference between Mode 1 and Mode 2 is the fact that Mode 1 uses the desired values to compute its vectors and matrices, whereas Mode 2 uses the actual output values from the filter. The rationale behind this is that at the beggining, the output function y ( t ) is not accurate, so the desired function provides better data for computations. On the other hand, Mode 1 does not really solve the desired problem. Once Mode 1 is deemed to have reached the vicinity of the solution, one can use true partial derivatives to compute the gradient and find the actual solution; this is what Mode 2 does.

It has been claimed that under certain conditions the Steiglitz-McBride algorithm converges. However no guarantee of global convergence exists. A more thorough discussion of the Steiglitz-McBride algorithm and its relationships to other parameter estimation algorithms (such as the Iterative Quadratic Maximum Likelihood algorithm, or IQML) are found in [link] , [link] , [link] .

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