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

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

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

(1)

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

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

(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