xcorr
Взаимнокорреляционная функция.
| Библиотека |
|
Синтаксис
Вызов функции
-
r = xcorr(x,y)— возвращает кросс-корреляцию двух дискретных последовательностей. Взаимнокорреляционная функция измеряет сходство между векторомxи сдвинутыми (с задержкой) копиями вектораyкак функцию задержки. Еслиxиyимеют разную длину, функция добавляет нули в конец более короткого вектора, чтобы он имел ту же длину, что и другой.
Аргументы
Входные аргументы
#
x —
входной массив
вектор | матрица | многомерный массив
Details
Входной массив, заданный как вектор, матрица или многомерный массив. Если x — многомерный массив, то функция xcorr работает по столбцам по всем измерениям и возвращает каждую автокорреляцию и кросс-корреляцию как столбцы матрицы.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
y —
входной массив
вектор
Details
Входной массив, заданный как вектор.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
maxlag —
максимальное отставание
целочисленный скаляр
Details
#
scaleopt —
параметр нормализации
'none' (по умолчанию) | 'biased' | 'unbiased' | 'normalized' | 'coeff'
Details
Параметр нормализации, указанный одним из следующих способов:
-
'none'— необработанная, немасштабированная кросс-корреляция.'none'— единственный допустимый вариант, еслиxиyимеют разную длину. -
'biased'— смещенная оценка кросс-корреляции: -
'unbiased'— несмещенная оценка кросс-корреляции: -
'normalized'или'coeff'— нормализует последовательность таким образом, чтобы автокорреляция при нулевом запаздывании была равна1:
Выходные аргументы
#
r —
взаимнокорреляционная или автокорреляционная функция
вектор | матрица
Details
Взаимнокорреляционная или автокорреляционная функция, возвращаемая в виде вектора или матрицы.
Если x — матрица размером , то xcorr(x) возвращает матрицу размером с автокорреляциями и кросс-корреляциями столбцов x. Если указано maxlag, то r имеет размер .
Например, если S имеет три столбца: , то результат операции R = xcorr(S) будет организован как
Дополнительно
Кросс-корреляция и автокорреляция
Результат работы функции xcorr можно интерпретировать как оценку корреляции между двумя случайными последовательностями или как детерминированную корреляцию между двумя детерминированными сигналами.
Истинная кросс-корреляционная последовательность двух совместно стационарных случайных процессов и определяется выражением
где , звездочка обозначает комплексное сопряжение, — оператор математического ожидания. Функция xcorr может только оценить последовательность, поскольку на практике доступен только конечный сегмент одной реализации случайного процесса бесконечной длины.
По умолчанию функция xcorr вычисляет необработанные корреляции без нормализации:
Выходной вектор c имеет элементы, заданные формулой
В общем случае для получения точной оценки корреляционная функция требует нормализации. Вы можете управлять нормализацией корреляции, используя входной аргумент scaleopt.