Compute linear model using Steiglitz-McBride iteration
[b,a] = stmcb(h,nb,na)
[b,a] = stmcb(y,x,nb,na)
[b,a] = stmcb(h,nb,na,niter)
[b,a] = stmcb(y,x,nb,na,niter)
[b,a] = stmcb(h,nb,na,niter,ai)
[b,a] = stmcb(y,x,nb,na,niter,ai)
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(h,nb,na)
finds
the coefficients b
and a
of
the system b(z)/a(z)
with approximate impulse response h
, exactly nb
zeros,
and exactly na
poles.
[b,a] = stmcb(y,x,nb,na)
finds
the system coefficients b
and a
of
the system that, given x
as input, has y
as
output. x
and y
must be the
same length.
[b,a] = stmcb(h,nb,na,niter)
and
[b,a] = stmcb(y,x,nb,na,niter)
use niter
iterations.
The default for niter
is 5.
[b,a] = stmcb(h,nb,na,niter,ai)
and
[b,a] = stmcb(y,x,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
(h,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.
If x
and y
have different
lengths, stmcb
produces this error message:
Input signal X and output signal Y must have the same length.
stmcb
attempts to minimize the squared error
between the impulse response h of b(z)/a(z)
and the input signal x.
stmcb
iterates using two steps:
It prefilters h
and x
using
1/a(z).
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.
[1] Steiglitz, K., and L. E. McBride. “A Technique for the Identification of Linear Systems.” IEEE® Transactions on Automatic Control. Vol. AC-10, 1965, pp. 461–464.
[2] Ljung, Lennart. System Identification: Theory for the User. 2nd Edition. Upper Saddle River, NJ: Prentice Hall, 1999, p. 354.