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