Этот пример показывает, как получить полином прогноза из последовательности автокорреляции. Пример также показывает, что получившийся полином прогноза имеет инверсию, которая производит стабильный фильтр все-полюса. Можно использовать фильтр все-полюса, чтобы отфильтровать широкий смысл стационарная белая шумовая последовательность, чтобы произвести широкий смысл стационарный авторегрессивный процесс.
Создайте последовательность автокорреляции, заданную
k = 0:2; rk = (24/5)*2.^(-k)-(27/10)*3.^(-k);
Используйте ac2poly
, чтобы получить полином прогноза порядка 2, который является
A = ac2poly(rk);
Исследуйте нулевой полюсом график КИХ-фильтра видеть, что нули в модульном кругу.
zplane(A,1) grid
Обратный фильтр все-полюса стабилен с полюсами в модульном кругу.
zplane(1,A)
grid
title('Poles and Zeros')
Используйте фильтр все-полюса, чтобы произвести реализацию широкого смысла стационарный AR (2) процесс от бело-шумовой последовательности. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов.
rng default
x = randn(1000,1);
y = filter(1,A,x);
Вычислите демонстрационную автокорреляцию AR (2) реализация и покажите, что демонстрационная автокорреляция близко к истинной автокорреляции.
[xc,lags] = xcorr(y,2,'biased');
[xc(3:end) rk']
ans = 3×2
2.2401 2.1000
1.6419 1.5000
0.9980 0.9000