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