Autoregressive all-pole model parameters — Yule-Walker method
Use a vector of polynomial coefficients to generate an AR(4) process by filtering 1024 samples of white noise. Reset the random number generator for reproducible results. Use the Yule-Walker method to estimate the coefficients.
rng default A = [1 -2.7607 3.8106 -2.6535 0.9238]; y = filter(1,A,0.2*randn(1024,1)); arcoeffs = aryule(y,4)
arcoeffs = 1×5 1.0000 -2.7262 3.7296 -2.5753 0.8927
Generate 50 realizations of the process, changing each time the variance of the input noise. Compare the Yule-Walker-estimated variances to the actual values.
nrealiz = 50; noisestdz = rand(1,nrealiz)+0.5; randnoise = randn(1024,nrealiz); noisevar = zeros(1,nrealiz); for k = 1:nrealiz y = filter(1,A,noisestdz(k) * randnoise(:,k)); [arcoeffs,noisevar(k)] = aryule(y,4); end plot(noisestdz.^2,noisevar,'*') title('Noise Variance') xlabel('Input') ylabel('Estimated')
Repeat the procedure using the function's multichannel syntax.
Y = filter(1,A,noisestdz.*randnoise); [coeffs,variances] = aryule(Y,4); hold on plot(noisestdz.^2,variances,'o') hold off legend('Single channel loop','Multichannel','Location','best')
Use a vector of polynomial coefficients to generate an AR(2) process by filtering 1024 samples of white noise. Reset the random number generator for reproducible results.
rng default y = filter(1,[1 -0.75 0.5],0.2*randn(1024,1));
Use the Yule-Walker method to fit an AR(10) model to the process. Output and plot the reflection coefficients. Only the first two coefficients lie outside the 95% confidence bounds, indicating that an AR(10) model significantly overestimates the time dependence in the data. See AR Order Selection with Partial Autocorrelation Sequence for more details.
[ar,nvar,rc] = aryule(y,10); stem(rc) xlim([0 11]) conf95 = sqrt(2)*erfinv(0.95)/sqrt(1024); [X,Y] = ndgrid(xlim,conf95*[-1 1]); hold on plot(X,Y,'--r') hold off title('Reflection Coefficients')
x— Input array
Input array, specified as a vector or matrix.
filter(1,[1 -0.75 0.5],0.2*randn(1024,1)) specifies a second-order autoregressive process.
Complex Number Support: Yes
e— White noise input variance
White noise input variance, returned as a scalar or row vector. If
x is a
matrix, then each element of
e corresponds to a column of
In an AR model of order p, the current output is a linear combination of the past p outputs plus a white noise input.
The weights on the p past outputs minimize the mean squared prediction error of the autoregression. If y(n) is the current value of the output and x(n) is a zero-mean white noise input, the AR(p) model is
The reflection coefficients are the partial autocorrelation coefficients scaled by –1.
The reflection coefficients indicate the time dependence between y(n) and y(n – k) after subtracting the prediction based on the intervening k – 1 time steps.
aryule uses the Levinson-Durbin recursion on the biased estimate of the
sample autocorrelation sequence to compute the parameters.
 Hayes, Monson H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.