Главная Теория Корреляция. Автокорреляция

Корреляция. Автокорреляция

Взаимная корреляция

При цифровой обработке сигналов достаточно часто стоит задача определения степени независимости одного процесса от другого или наоборот установления схожести двух процессов. Схожесть (или зависимость друг от друга) данных или процессов может быть выражена и измерена математически – мерой зависимости является корреляция.

Рассмотрим две последовательности данных, представляющие собой выборки двух сигналов, взятых с одинаковой частотой оцифровки, размерностью Ns1(k) и s2(k). Корреляцию двух сигналов можно определить по следующей формуле:

r12=S(s1(i)*s2(i))(1)

Сумма произведений выборок случайных процессов стремится к исчезающее малому значению с увеличением N. Это объясняется равновероятным возникновением положительных и отрицательных чисел, а соответственно и их произведений, поэтому суммы компенсируются при сложении. Положительная сумма указывает на схожесть процессов, чем она больше по модулю, тем процессы более зависимы друг от друга, отрицательная сумма указывает на отрицательную корреляцию, т.е. увеличение значений отсчетов одного процесса связано с уменьшением значений отсчетов другого(например, сигналы находятся в противофазе). Множитель 1/N служит для нормировки результата к размеру выборки (делает результат независимым от размера выборки).

На практике формула (1) в чистом виде не применяется, так как сигналы s1(k) и s2(k) могут быть сдвинуты друг относительно друга во времени и их фазовая связь обычно неизвестна, результат вычисления корреляции по формуле (1) может быть искажен этим сдвигом. Для объективной оценки корреляции используют функцию корреляции, аргументом которой является сдвиг на определенное число отсчетов одного сигнала относительно другого:

r(n)=S(s1(i)*s2(i+n))(2)

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

Пример. Пусть выборки s1(k) и s2(k) содержат 11 разрядную последовательность Баркера +1 +1 +1 −1 −1 −1 +1 −1 −1 +1 −1, сдвинутую друг относительно друга на 11 отсчетов.

s1  +1, +1, +1,  -1,  -1, -1, +1, -1, -1, +1, -1,    0,   0,   0,   0,  0,   0,   0,  0,  0,   0,   0

s2     0,   0,   0,   0,   0,   0,   0,  0,   0,   0,   0, +1, +1, +1, -1, -1, -1, +1, -1, -1, +1, -1

Ниже представлена программа рассчета корреляции в системе моделирования Scilab и график функции корреляции.

s1=[+1,+1,+1,-1,-1,-1,+1,-1,-1,+1,-1,0,0,0,0,0,0,0,0,0,0,0];

s2=[0,0,0,0,0,0,0,0,0,0,0,+1,+1,+1,-1,-1,-1,+1,-1,-1,+1, -1];

r=corr(s1, s2, 22);

plot(r);

write(%io(2),r)

Взаимная корреляция

Рисунок 1 - Функция взаимной корреляции

Резальтат построения функции корреляции по точкам

-2.0661157025e-03, -4.7614575507e-02, -2.2539444027e-03, -4.7802404207e-02

-2.4417731029e-03, -4.7990232908e-02, -2.6296018032e-03, -4.8178061608e-02,

-2.8174305034e-03, -4.8365890308e-02, -3.0052592036e-03,  4.9690082645e-01

-3.1930879038e-03, -5.2873779113e-02, -7.5131480090e-03, -4.8929376409e-02,

-3.5687453043e-03, -4.4984973704e-02,  3.7565740045e-04, -4.1040570999e-02,

4.3200601052e-03, -4.5360631104e-02.

На основе графика (рисунок 1) и приведенных данных, можно сделать вывод, что функция корреляции принимает максимальное значение при n=11 (см. формулу (2)). А это значит, что выборки s1(k) и s2(k) максимально похожи друг на друга (в данном примере совпадают), если выборку s2(k)   сдвинуть на 11 отсчетов влево (т.е. выборка s2(k)   запаздывает на 11 отсчетов от выборки s1(k)). Этот пример служит типичным приложением функции корреляции для синхронизации сообщения по коду Баркера.

Теперь приведем пример отрицательной корреляции. Будем использовать все тот же код Баркера, но теперь инвертируем (поменяем знак) в выборке s2(k).

s1=[+1,+1,+1,-1,-1,-1,+1,-1,-1,+1,-1,0,0,0,0,0,0,0,0,0,0,0];

s2=[0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,+1,+1,+1,-1,+1,+1,-1, +1];

r=corr(s1, s2, 22);

plot(r);

write(%io(2),r)

Взаимная корреляция

Рисунок 2 - Функция взаимной корреляции

2.0661157025D-03, 4.7614575507D-02,  2.2539444027D-03,  4.7802404207D-02,  2.4417731029D-03, 4.7990232908D-02,  2.6296018032D-03,  4.8178061608D-02,  2.8174305034D-03, 4.8365890308D-02,  3.0052592036D-03, -4.9690082645D-01,  3.1930879038D-03, 5.2873779113D-02,  7.5131480090D-03,  4.8929376409D-02,  3.5687453043D-03,      4.4984973704D-02,    -3.7565740045D-04,       4.1040570999D-02,

-4.3200601052D-03,     4.5360631104D-02

Автокорреляция

Выше мы рассмотрели так называемую взаимную корреляцию, которая характеризует взаимозависимость двух процессов. Для определения периодичности и статистических характеристик процесса вводят понятие автокорреляции и функции автокорреляции. Пусть имеется процесс s(k), тогда его функция автокорреляции может быть вычислена по следующей формуле:

r(n)=S(s(i)*s(i+n))(3)

Для вычисления одного элемента функции автокорреляции с индексом n находят сумму произведений отсчетов процесса и отсчетов его сдвинутой на n отчетов копии.

Пример. Пусть имеется процесс с периодическим повторением пятиразрядной последовательности Баркера +1 +1 +1 −1 +1.

Вычислим его автокорреляционную функцию и построим график. Ниже представлен исходный код для программы моделирования Scilab и график автокорреляционной функции.

s=[+1,+1,+1,-1,+1,+1,+1,+1,-1,+1,+1,+1,+1,-1,+1,+1,+1,+1,-1,+1];

r=corr(s, s, 20);

plot(r);

write(%io(2),r)

Автокорреляция

Рисунок 3 - Функция автокорреляции

На графике автокорреляции мы наблюдаем 4 локальных максимума, с периодом в пять отсчетов. Это говорит нам о том, что анализируемый процесс периодический (период равен 5 отсчетам – длине последовательности Баркера), содержащий 4 периода. Значения локальных максимумов различаются друг от друга по причине ограниченности данных в выборке.

Приложения корреляции

Корреляция и автокорреляция являются одним из «китов» цифровой обработки сигналов наравне со сверткой и преобразованием Фурье. Корреляция применяется в радарных и гидроакустических установках для дальнометрии и пеленгации (местоопределении), в которых сравниваются переданные и отраженные сигналы и по задержке определяются расстояние и местоположение, при детектировании сигналов в шуме, для синхронизации принимаемых данных (нахождении и детектировании начала посылки), в экономике, социологии, политологии для установления причинно-следственных связей.  Функция автокорреляции применяется для оценки периодичности процессов, для выбора кодовых последовательностей для систем с шумоподобными сигналами (ШПС, примером может служить оценка уникальных кодов Баркера, рассмотренных выше).


 

ЛИТЕРАТУРА

1. Варакин Л.Е. "Системы связи с шумоподобными сигналами": Москва : "Радио и связь" - 1985

 

Комментарии  

 
0 #4 RE: Корреляция. АвтокорреляцияЕкатерина 13.12.2011 15:15
Спасибо за статью! Все понятно, коротко и ясно, везде бы так!))
Цитировать
 
 
0 #3 RE: Корреляция. АвтокорреляцияВедад Ибишевич 07.12.2011 03:52
Добра автору, очень доходчиво
Цитировать
 
 
+1 #2 RE: Корреляция. АвтокорреляцияДенис 07.07.2011 19:14
Наконец то я вроде понял что такое корреляция и автокорреляция.
Цитировать
 
 
+1 #1 RE: Корреляция. АвтокорреляцияErnesto de LaSerna Gevara 16.03.2011 08:24
Грамотно и по-существу! Очень благодарен автору, за помощь в освоении ЦОС. С нетерпением Жду свежих статей
Цитировать
 

Добавить комментарий


Дом в конце улицы смотреть онлайн . Администрация, название сайта, найден по ссылке вконтакте вход на сайт зарегистрироваться.