stmcb
Compute linear model using Steiglitz-McBride iteration
Calling Sequence
[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)
Parameters
b,a
: coefficients of the system function,nb is number of zeros and na is number of poles
h
: impulse response of the system
x, y
: input and output of same length given to the system
nitren
: number of iterations
ai
: initial estimate of the denominator coefficients
Accepts only real i/ps, complex i/ps are not accepted due to limitations of the 'filter' function in Scilab
Examples
h = [0.0003
0.0033
0.0149
0.0432
0.0911
0.1493
0.1985
0.2190
0.2007
0.1479
0.0764
0.0070
-0.0429
-0.0649
-0.0601
-0.0375
-0.0092
0.0142
0.0265
0.0267
0.0180
0.0057
-0.0052
-0.0115
-0.0123
-0.0088
-0.0033
0.0018
0.0050
0.0057
0.0043
0.0018
-0.0006
-0.0021
-0.0026
-0.0021
-0.0010
0.0001
0.0009
0.0012
0.0010
0.0005
0.0000
-0.0004
-0.0005
-0.0005
-0.0003
-0.0000
0.0002
0.0002
0.0002
0.0001
0.0000
-0.0001
-0.0001
-0.0001
-0.0001
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000 ]
plot(h); //plotting required impulse response
title "Required impulse respose (h) plot "
xlabel "samples (n)"
ylabel "magnitude {h(n)} "