SignalUtils.ArYuleWalker Method

void ArYuleWalker(TVec Src, TVec A, Int32 Order)

Yule-Walker (autocorrelation) autoregressive parameter estimation.

#NameDescription
1SrcThe input data the estimate is based on.
2AReceives the prediction-error filter [1,a_1,...].
3OrderNumber of autocorrelation lags = length of A.

Result: stored in self (calling object)

Remarks:

Estimates the coefficients of an autoregressive model of Src by solving the Yule-Walker normal equations on the biased autocorrelation via the Levinson-Durbin recursion. The model assumes x[n] = -sum_(i=1)^p a_i x[n-i] + e[n] and the returned prediction-error filter is A(z) = 1 + a_1 z^(-1) + ... + a_p z^(-p), so A has the form [ 1, a_1, ..., a_p ].

CONVENTION: the Order argument is the number of autocorrelation lags, which equals the length of A. For an order-p model (filter length p+1) pass Order =p+1= p+1. This differs from ArBurg, ArCovariance and ArMCovariance, whose Order argument is the model order p and which size A to p+1 internally. Order is clamped to Src.Length. The roots of A(z)A(z) are the estimated poles; a stable model has all roots inside the unit circle.

See Also: SignalUtils.ArCovariance, SignalUtils.ArMCovariance, SignalUtils.ArBurg