corrmtx

Матрица данных для матричной оценки автокорреляции

Синтаксис

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

Описание

X = corrmtx(x,m) возвращается (n + m) (m + 1) прямоугольная матрица Теплица X, такой, что X'X является (смещенной) оценкой матрицы автокорреляции для вектора данных длины-n x. m должен быть положительным целым числом, строго меньшим, чем длина входа x.

X = corrmtx(x,m,'method') вычисляет матричный X согласно методу, заданному 'method':

  • 'autocorrelation': X (по умолчанию) (n + m) (m + 1) прямоугольная матрица Теплица, которая генерирует оценку автокорреляции для вектора данных длины-n x, выведенные использующие предоконные и постоконные данные, на основе ошибочной модели прогноза th-порядка m.

  • 'prewindowed': X является n (m + 1) прямоугольная матрица Теплица, которая генерирует оценку автокорреляции для вектора данных длины-n x, выведенные использующие предоконные данные, на основе ошибочной модели прогноза th-порядка m.

  • 'postwindowed': X является n (m + 1) прямоугольная матрица Теплица, которая генерирует оценку автокорреляции для вектора данных длины-n x, выведенные использующие постоконные данные, на основе ошибочной модели прогноза th-порядка m.

  • Ковариация: X (n – m) (m + 1) прямоугольная матрица Теплица, которая генерирует оценку автокорреляции для вектора данных длины-n x, выведенные использующие неоконные данные, на основе ошибочной модели прогноза th-порядка m.

  • 'modified': X является 2 (n – m) (m + 1) изменил прямоугольную матрицу Теплица, которая генерирует оценку автокорреляции для вектора данных длины-n x, выведенное использование прямые и обратные ошибочные оценки прогноза, на основе ошибочной модели прогноза th-порядка m.

[X,R] = corrmtx(...) также возвращается (m + 1) (m + 1), матрица автокорреляции оценивает R, вычисленный как X'*X.

Примеры

свернуть все

Сгенерируйте сигнал, состоявший из трех комплексных экспоненциалов, встроенных в белый Гауссов шум. Вычислите данные и матрицы автокорреляции с помощью метода 'modified'.

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');

Постройте действительные и мнимые части матрицы автокорреляции.

[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)')

Алгоритмы

Матрица данных Теплица, вычисленная corrmtx, зависит от метода, который вы выбираете. Матрица, определенная автокорреляцией (значение по умолчанию) метод, дана следующей матрицей.

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

В этой матрице m совпадает с входным параметром m к corrmtx, и n является length(x). Изменения этой матрицы используются, чтобы возвратить вывод X corrmtx для каждого метода:

  • 'autocorrelation'X (по умолчанию)  = X, выше.

  • 'prewindowed'X является n (m + 1) субматрица X, первой строкой которого является [x (1) … 0] и чьей последней строкой является [x (n) … x (n – m)].

  • 'postwindowed'X является n (m + 1) субматрица X, первой строкой которого является [x (m + 1) … x (1)] и чьей последней строкой является [0 … x (n)]

  • 'covariance'X (n – m) (m + 1) субматрица X, первой строкой которого является [x (m + 1) … x (1)] и чьей последней строкой является [x (n) … x (n – m)].

  • 'modified'X является 2 (n – m) (m + 1) матричный mod X, показанный ниже.

    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)]

Ссылки

[1] Марпл, С. Лоуренс. Цифровой спектральный анализ. Englewood Cliffs, NJ: Prentice Hall, 1987.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | | |

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте