Автокорреляционная функция

Материал из testwiki
Перейти к навигации Перейти к поиску
График 100 случайных величин, суммированный с синусоидальным сигналом малой амплитуды. График автокорреляционной функции позволяет увидеть периодичность в ряде данных.

Автокорреляционная функция (АКФ) — зависимость взаимосвязи между функцией (сигналом) и её сдвинутой по аргументу функции копией от величины сдвига.

Для детерминированных сигналов автокорреляционная функция (АКФ) сигнала f(t) определяется интегралом:

Ψ(τ)=f(t)f*(tτ)dt,

и показывает связь сигнала (функции f(t)) с копией самого себя, смещённого на величину τ. Звёздочка означает комплексное сопряжение.

Для случайных процессов АКФ случайной функции X(t) имеет вид[1]:

K(t,tτ)=𝔼{X(t)X*(tτ)},
где 𝔼{ } — математическое ожидание, звёздочка означает комплексное сопряжение.

Если исходная функция строго периодическая, то на графике автокорреляционной функции тоже будет строго периодическая функция. Таким образом, из этого графика можно судить о периодичности исходной функции, а, следовательно, и о её частотных характеристиках. Автокорреляционная функция применяется для анализа сложных колебаний, например, электроэнцефалограммы человека.

Применение в технике

Корреляционные свойства кодовых последовательностей, используемых в широкополосных системах, зависят от типа кодовой последовательности, её длины, частоты следования её символов и от её посимвольной структуры.

Изучение АКФ играет важную роль при выборе кодовых последовательностей с точки зрения наименьшей вероятности установления ложной синхронизации.

Другие применения

Автокорреляционная функция играет важную роль в математическом моделировании и анализе временных рядов, показывая характерные времена для исследуемых процессов (см., например: Турчин П. В. Историческая динамика. М.: УРСС, 2007. ISBN 978-5-382-00104-3). В частности, циклам в поведении динамических систем соответствуют максимумы автокорреляционной функции некоторого характерного параметра.

Скоростное вычисление

Шаблон:Орисс Часто приходится вычислять автокорреляционную функцию для временного ряда xi. Вычисление «в лоб» работает за O(T2). Однако есть способ сделать это за O(TlogT).

Метод основан на теореме Хинчина — Колмогорова (она же Винера — Хинчина), утверждающей, что автокорреляционная функция сигнала есть фурье-образ его спектральной плотности мощности. Поскольку для дискретных сигналов для вычисления их спектров существует алгоритм быстрого преобразования Фурье, имеющий порядок сложности O(TlogT), то имеется возможность ускорить вычисление автокорреляционной функции за счет вычисления спектра сигнала, затем его мощности (квадрата модуля) и затем обратного фурье-преобразования.

Суть способа состоит в следующем. Можно сделать некое обратное взаимно однозначное преобразование данных, называемое преобразованием Фурье, которое поставит им во взаимно однозначное соответствие набор данных в другом пространстве, называемом пространством частот (частотный спектр сигнала — набор спектральных амплитуд). Вместо прямого вычисления автокорреляционной функции на наших исходных данных можно произвести соответствующую ей операцию над соответствующими данными в пространстве частот Фурье-спектра, что делается за линейное время O(T) — вычислению автокорреляционной функции в пространстве частот соответствует вычисление мощностей частот возведением в квадрат модулей спектральных амплитуд. После этого мы по полученным спектральным мощностям восстановим соответствующие им в обычном пространстве значения автокорреляционной функции. Вычисление спектра по функции и обратно делается с помощью быстрого преобразования Фурье за O(TlogT), вычисление спектральной плотности мощности в пространстве частот — за O(T). Таким образом, мы получили выигрыш по времени при вычислениях.

Подготовка. Вычитаем из ряда среднее арифметическое. Преобразуем в комплексные числа. Дополняем нулями до 2k. Затем дописываем в конец ещё 2k нулей.

Вычисление. Автокорреляционная функция вычисляется с помощью быстрого преобразования Фурье и прямо пропорциональна первым n элементам последовательности:

Ψ(τ)Refft1(|fft(x)|2).

Квадрат комплексного модуля берётся поэлементно:

|a|2={Re2ai+Im2ai}.

Если нет погрешностей вычисления, мнимая часть будет равна нулю. Коэффициент пропорциональности определяется из требования Ψ(0)=1.

См. также

Примечания

Шаблон:Примечания

Ссылки