Signal Processing Toolbox
  Go to function:
    Search    Help Desk 
stmcb    Examples   See Also

Linear model using Steiglitz-McBride iteration.

Syntax

Description

Steiglitz-McBride iteration is an algorithm for finding an IIR filter with a prescribed time domain impulse response. It has applications in both filter design and system identification (parametric modeling).

[b,a] = stmcb(x,nb,na) finds the coefficients b and a of the system b(z)/a(z) with approximate impulse response x, exactly nb zeros, and exactly na poles.

[b,a] = stmcb(x,u,nb,na) finds the system coefficients b and a of the system that, given u as input, has x as output. x and u must be the same length.

[b,a] = stmcb(x,nb,na,niter) and

[b,a] = stmcb(x,u,nb,na,niter) use niter iterations. The default for niter is 5.

[b,a] = stmcb(x,nb,na,niter,ai) and

[b,a] = stmcb(x,u,nb,na,niter,ai) use the vector ai as the initial estimate of the denominator coefficients. If ai is not specified, stmcb uses the output argument from [b,ai] = prony(x,0,na) as the vector ai.

stmcb returns the IIR filter coefficients in length nb+1 and na+1 row vectors b and a. The filter coefficients are ordered in descending powers of z:

Example

Approximate the impulse response of a Butterworth filter with a system of lower order:

Algorithm

stmcb attempts to minimize the squared error between the impulse response x' of b(z)/a(z) and the input signal x:

stmcb iterates using two steps:

   1.
It prefilters x and u using 1/a(z).
   2.
It solves a system of linear equations for b and a using \.
stmcb repeats this process niter times. No checking is done to see if the b and a coefficients have converged in fewer than niter iterations.

Diagnostics

If x and u have different lengths, stmcb gives the following error message:

See Also

levinson
Levinson-Durbin recursion.
lpc
Linear prediction coefficients.
aryule
Compute an estimate of AR model parameters using the Yule-Walker method.
prony
Prony's method for time domain IIR filter design.

References

[1] Steiglitz, K., and L.E. McBride. "A Technique for the Identification of Linear Systems." IEEE Trans. Automatic Control. Vol. AC-10 (1965). Pgs. 461-464.

[2] Ljung, L. System Identification: Theory for the User. Englewood Cliffs, NJ: Prentice Hall, 1987. Pg. 297.



[ Previous | Help Desk | Next ]