Взаимная корреляция двух процессов скользящего среднего значения

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

Создайте N(0,1) белая шумовая последовательность. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов. Создайте два фильтра скользящего среднего значения. Один фильтр имеет импульсную характеристику δ(n)+δ(n-1). Другой фильтр имеет импульсную характеристику δ(n)-δ(n-1).

rng default

w = randn(100,1);
x = filter([1 1],1,w);
y = filter([1 -1],1,w);

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

[xc,lags] = xcorr(x,y,20,'biased');

Xc = zeros(size(xc));
Xc(20) = -1;
Xc(22) = 1;

stem(lags,xc,'filled')
hold on
stem(lags,Xc,'.','linewidth',2)

q = legend('Sample cross-correlation','Theoretical cross-correlation');
q.Location = 'NorthWest';
q.FontSize = 9;
q.Box = 'off';

Теоретическая взаимная корреляция -1 в задержке -1, 1 в задержке 1, и нуль во всех других задержках. Демонстрационная последовательность взаимной корреляции аппроксимирует теоретическую взаимную корреляцию.

Как ожидалось нет совершенного соглашения между теоретической взаимной корреляцией и демонстрационной взаимной корреляцией. Демонстрационная взаимная корреляция действительно точно представляет и знак и величину теоретических значений последовательности взаимной корреляции в задержке -1 и задержка 1.