Блок Autocorrelation вычисляет автокорреляцию по первому измерению входного n-мерного массива. Вычисление может быть выполнено во временной или частотной области.
Реализован метод расчета автокорреляции во временной области – входной сигнал коррелируется с его комплексным сопряжением, обращенным во времени.
Вы можете указать максимальную задержку для автокорреляции, используя параметры Compute all non-negative lags и Maximum non-negative lag (less than input length).
Порты
Вход
Port_1 — ввод данных вектор | матрица
Ввод данных. Блок принимает многоканальные и многомерные входные данные с вещественным или комплексным значением.
Выходной сигнал, который содержит автокорреляцию входных данных.
Когда вход представляет собой матрицу размерностью M на N, вывод представляет собой матрицу размерностью l+1 на N. — максимальная положительная задержка для автокорреляции.
Когда входным сигналом является n-мерный массив, блок выводит n-мерный массив. Размер первого измерения равен l+1, а размеры всех остальных измерений совпадают с размерами входного массива. Например, когда входным сигналом является массив M на N на P, блок выводит массив l+1 на N на P.
Типы данных: Float64
Поддержка комплексных чисел: Да
Параметры
Main
Compute all non-negative lags — вычисление автокорреляции по всем неотрицательным задержкам включено (по умолчанию) | выключено
Когда флажок для этого параметра установлен, блок Autocorrelation вычисляет автокорреляцию по всем неотрицательным задержкам в диапазоне [0, length(input) — 1].
Когда флажок снят, блок вычисляет автокорреляцию, используя задержки в диапазоне [0, l], где l — значение, указанное для параметра Maximum non-negative lag (less than input length).
Maximum non-negative lag (less than input length) — максимальная положительная задержка 1 (по умолчанию) | Integer greater than or equal to 0 and less than input length
Максимальная положительная задержка для автокорреляции, заданная как целое число, которое больше или равно нулю и меньше входной длины.
Зависимости
Чтобы использовать этот параметр, снимите флажок Compute all non-negative lags.
Scaling — масштабирование выходных данных None (по умолчанию) | Biased | Unbiased | Unity at zero-lag
Масштабирование, применяемое к выходным данным.
None — генерирует необработанную автокорреляцию без нормализации.
Unity at zero-lag — нормализует оценку автокорреляции для каждого канала таким образом, чтобы сумма с нулевой задержкой, первый элемент в каждом столбце, была идентична 1.
Подробнее
Автокорреляция
Автокорреляция — это корреляция сигнала с самим собой в разные моменты времени.
Для детерминированной последовательности дискретного времени () автокорреляция вычисляется с использованием следующего соотношения:
,
где — задержка, а обозначает комплексное сопряжение. Если входным сигналом является реализация стационарного в широком смысле (wide-sense stationary, WSS) случайного процесса длиной , является оценкой теоретической автокорреляции:
,
где
— оператор математического ожидания.
Нормализация Unity at zero-lag делит каждое значение последовательности на автокорреляцию или оценку автокорреляции при нулевом запаздывании.
Наиболее часто используемой оценкой теоретической автокорреляции случайного процесса WSS является смещенная оценка:
ρ.
Алгоритмы
Последовательность отсчетов (или значений) автокорреляции вычисляется с использованием этого уравнения:
— элемент с нулевой задержкой в -м столбце входных данных.
— индекс запаздывания.
— индекс столбца входных данных.
— комплексное сопряжение.
— количество элементов в каждом столбце.
— максимальная положительная задержка для автокорреляции.
Когда вы решите вычислить автокорреляцию со всеми неотрицательными задержками, . В противном случае — это максимальное указанное значение неотрицательного целого числа.