arcov
Autoregressive all-pole model parameters — covariance method
Description
Examples
Parameter Estimation Using the Covariance 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 covariance 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 = arcov(y,4)
arcoeffs = 1×5
1.0000 -2.7746 3.8419 -2.6857 0.9367
Generate 50 realizations of the process, changing each time the variance of the input noise. Compare the covariance-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)] = arcov(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] = arcov(Y,4); hold on plot(noisestdz.^2,variances,'o') hold off legend('Single channel loop','Multichannel','Location',"best")
Input Arguments
x
— Input array
vector | matrix
Input array, specified as a vector or matrix.
Example: filter(1,[1 -0.75 0.5],0.2*randn(1024,1))
specifies a second-order autoregressive process.
Data Types: single
| double
Complex Number Support: Yes
p
— Model order
positive integer scalar
Model order, specified as a positive integer scalar. p
must be less than the number of elements or rows of x
.
Data Types: single
| double
Output Arguments
e
— White noise input variance
scalar | row vector
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
x
.
More About
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 squared prediction error of the autoregression.
Let y(n) be a wide-sense stationary random process obtained by filtering white noise of variance e with the system function A(z). If Py(ejω) is the power spectral density of y(n), then
Because the covariance method characterizes the input data using an all-pole model, the correct choice of the model order, p, is important.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced before R2006a
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)