roe
(To be removed) Estimate recursively output-error models (IIR-filters)
Note
roe
will be removed in a future release. Use recursiveOE
instead.
Syntax
thm = roe(z,nn,adm,adg) [thm,yhat,P,phi,psi] = roe(z,nn,adm,adg,th0,P0,phi0,psi0)
Description
The parameters of the output-error model structure
are estimated using a recursive prediction error method.
The input-output data are contained in z
, which is either an
iddata
object or a matrix z = [y u]
where
y
and u
are column vectors.
nn
is given as
nn = [nb nf nk]
where nb
and nf
are the orders of the
output-error model, and nk
is the delay. Specifically,
See What Are Polynomial Models? for more information.
Only single-input, single-output models are handled by roe
. Use
rpem
for the multiple-input case.
The estimated parameters are returned in the matrix thm
. The
k
th row of thm
contains the parameters
associated with time k
; that is, they are based on the data in the
rows up to and including row k
in z
.
Each row of thm
contains the estimated parameters in the following
order.
thm(k,:) = [b1,...,bnb,f1,...,fnf]
yhat
is the predicted value of the output, according to the current
model; that is, row k
of yhat
contains the
predicted value of y(k)
based on all past data.
The actual algorithm is selected with the two arguments adg
and
adm
. These are described under rarx
.
The input argument th0
contains the initial value of the
parameters, a row vector consistent with the rows of thm
. The default
value of th0
is all zeros.
The arguments P0
and P
are the initial and final
values, respectively, of the scaled covariance matrix of the parameters. The default
value of P0
is 104 times the unit matrix.
The arguments phi0
, psi0
, phi
,
and psi
contain initial and final values of the data vector and the
gradient vector, respectively. The sizes of these depend on the chosen model orders. The
normal choice of phi0
and psi0
is to use the
outputs from a previous call to roe
with the same model orders. (This
call could be a dummy call with default input arguments.) The default values of
phi0
and psi0
are all zeros.
Note that the function requires that the delay nk
be larger than
0
. If you want nk = 0
, shift the input
sequence appropriately and use nk = 1
.
Algorithms
The general recursive prediction error algorithm (11.44) of Ljung (1999) is implemented. See also Recursive Algorithms for Online Parameter Estimation.
Version History
Introduced before R2006a
See Also
nkshift
| recursiveOE
| rpem
| rplr