В этом примере показано, как получить полином предсказания из последовательности автокорреляции. Пример также показывает, что получившийся полином предсказания имеет инверсию, которая производит устойчивый фильтр все-полюса. Можно использовать фильтр все-полюса, чтобы отфильтровать широкий смысл стационарная последовательность белого шума, чтобы произвести широкий смысл стационарный авторегрессивный процесс.
Создайте последовательность автокорреляции, заданную
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