Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

corrmtx

Data matrix for autocorrelation matrix estimation

Syntax

X = corrmtx(x,m)
X = corrmtx(x,m,'method')
[X,R] = corrmtx(...)

Description

X = corrmtx(x,m) returns an (n + m)-by-(m + 1) rectangular Toeplitz matrix X, such that X'X is a (biased) estimate of the autocorrelation matrix for the length-n data vector x. m must be a positive integer strictly smaller than the length of the input x.

X = corrmtx(x,m,'method') computes the matrix X according to the method specified by 'method':

  • 'autocorrelation': (default) X is the (n + m)-by-(m + 1) rectangular Toeplitz matrix that generates an autocorrelation estimate for the length-n data vector x, derived using prewindowed and postwindowed data, based on an mth-order prediction error model.

  • 'prewindowed': X is the n-by-(m + 1) rectangular Toeplitz matrix that generates an autocorrelation estimate for the length-n data vector x, derived using prewindowed data, based on an mth-order prediction error model.

  • 'postwindowed': X is the n-by-(m + 1) rectangular Toeplitz matrix that generates an autocorrelation estimate for the length-n data vector x, derived using postwindowed data, based on an mth-order prediction error model.

  • 'covariance': X is the (n – m)-by-(m + 1) rectangular Toeplitz matrix that generates an autocorrelation estimate for the length-n data vector x, derived using nonwindowed data, based on an mth-order prediction error model.

  • 'modified': X is the 2(n – m)-by-(m + 1) modified rectangular Toeplitz matrix that generates an autocorrelation estimate for the length-n data vector x, derived using forward and backward prediction error estimates, based on an mth-order prediction error model.

[X,R] = corrmtx(...) also returns the (m + 1)-by-(m + 1) autocorrelation matrix estimate R, calculated as X'*X.

Examples

collapse all

Generate a signal composed of three complex exponentials embedded in white Gaussian noise. Compute the data and autocorrelation matrices using the 'modified' method.

n = 0:99;
s = exp(i*pi/2*n)+2*exp(i*pi/4*n)+exp(i*pi/3*n)+randn(1,100);
m = 12;
[X,R] = corrmtx(s,m,'modified');

Plot the real and imaginary parts of the autocorrelation matrix.

[A,B] = ndgrid(1:m+1);
subplot(2,1,1)
plot3(A,B,real(R))
title('Re(R)')
subplot(2,1,2)
plot3(A,B,imag(R))
title('Im(R)')

More About

collapse all

Algorithms

The Toeplitz data matrix computed by corrmtx depends on the method you select. The matrix determined by the autocorrelation (default) method is given by the following matrix.

X=[x(1)0x(m+1)x(1)x(nm)x(m+1)x(n)x(nm)0x(n)]

In this matrix, m is the same as the input argument m to corrmtx, and n is length(x). Variations of this matrix are used to return the output X of corrmtx for each method:

  • 'autocorrelation' — (default) X = X, above.

  • 'prewindowed'X is the n-by-(m + 1) submatrix of X whose first row is [x(1) … 0] and whose last row is [x(n) … x(n – m)].

  • 'postwindowed'X is the n-by-(m + 1) submatrix of X whose first row is [x(m + 1) … x(1)] and whose last row is [0 … x(n)]

  • 'covariance'X is the (n – m)-by-(m + 1) submatrix of X whose first row is [x(m + 1) … x(1)] and whose last row is [x(n) … x(n – m)].

  • 'modified'X is the 2(n – m)-by-(m + 1) matrix Xmod shown below.

    Xmod=[x(m+1)x(1)x(nm)x(m+1)x(n)x(nm)x(1)x(m+1)x(m+1)x(nm)x(nm)x(n)]

References

[1] Marple, S. Lawrence. Digital Spectral Analysis. Englewood Cliffs, NJ: Prentice-Hall, 1987.

Introduced before R2006a

Was this topic helpful?