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

Этот пример показывает, как найти и построить последовательность перекрестной корреляции между двумя процессами скользящего среднего значения. Пример сравнивает перекрестную корреляцию выборки с теоретической перекрестной корреляцией. Фильтрация 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';

Figure contains an axes. The axes contains 2 objects of type stem. These objects represent Sample cross-correlation, Theoretical cross-correlation.

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

Как ожидалось, нет идеального согласия между теоретической перекрестной корреляцией и выборочной перекрестной корреляцией. Перекрестная корреляция выборки действительно точно представляет как знак, так и величину значений теоретической перекрестной корреляционной последовательности в лаге -1 и задержка 1.