Documentation Center

  • Trial Software
  • Product Updates

arburg

Autoregressive (AR) all-pole model parameters estimated using Burg method

Syntax

ar_coeffs = arburg(data,order)
[ar_coeffs,NoiseVariance] = arburg(data,order)
[ar_coeffs,NoiseVariance,reflect_coeffs] = arburg(data,order)

Description

ar_coeffs = arburg(data,order) returns the AR coefficients for the input data and model order. The elements of ar_coeffs are normalized by ar_coeffs(1). The model order requires an integer value less than the length of the input data.

[ar_coeffs,NoiseVariance] = arburg(data,order) returns the estimated variance NoiseVariance of the white noise input.

[ar_coeffs,NoiseVariance,reflect_coeffs] = arburg(data,order) returns the reflection coefficients reflect_coeffs.

Examples

Generate AR(4) process and estimate coefficients:

A=[1 -2.7607 3.8106 -2.6535 0.9238];
% AR(4) coefficients
y=filter(1,A,0.2*randn(1024,1));
% Filter a white noise input to create AR(4) process
ar_coeffs=arburg(y,4);
%compare the results in ar_coeffs to the vector A.
 

Estimate input noise variance for AR(4) model:

A=[1 -2.7607 3.8106 -2.6535 0.9238];
% Generate noise standard deviations
% Seed random number generator for reproducible results
rng default;
noise_stdz=rand(50,1)+0.5;
for j=1:50
y=filter(1,A,noise_stdz(j)*randn(1024,1));
[ar_coeffs,NoiseVariance(j)]=arburg(y,4);
end
%Compare actual vs. estimated variances
plot(noise_stdz.^2,NoiseVariance,'k*');
xlabel('Input Noise Variance');
ylabel('Estimated Noise Variance');

More About

expand all

AR(p) Model

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-square 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:

Reflection Coefficients

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.

Algorithms

The Burg method estimates the reflection coefficients and uses the reflection coefficients to estimate the AR coefficients recursively. You can find the recursion and lattice filter relations describing the update of the forward and backward prediction errors in [1].

References

[1] Kay, S.M. Modern Spectral Estimation: Theory and Application. Englewood Cliffs, NJ: Prentice Hall, 1988, pp. 228–230.

See Also

| | | |

Was this topic helpful?