exponenta event banner

Полином прогнозирования

В этом примере показано, как получить полином прогнозирования из автокорреляционной последовательности. Пример также показывает, что результирующий полином прогнозирования имеет обратную сторону, которая создает стабильный всеполюсный фильтр. Можно использовать всеполюсный фильтр для фильтрации последовательности широкополосных стационарных белых шумов для создания широкополосного стационарного авторегрессионного процесса.

Создание автокорреляционной последовательности, определенной

r (k) = 2452- | k | -27103- | k |, k = 0,1,2.

k = 0:2;
rk = (24/5)*2.^(-k)-(27/10)*3.^(-k);

Использовать ac2poly для получения полинома предсказания порядка 2, который является

A (z) = 1-56z-1 + 16z-2.

A = ac2poly(rk);

Проверьте график полюс-нуль фильтра FIR, чтобы убедиться, что нули находятся внутри единичной окружности.

zplane(A,1)
grid

Figure contains an axes. The axes contains 4 objects of type line, text.

Обратный всеполюсный фильтр стабилен полюсами внутри единичной окружности.

zplane(1,A)
grid
title('Poles and Zeros')

Figure contains an axes. The axes with title Poles and Zeros contains 4 objects of type line, text.

Используйте всеполюсный фильтр для реализации широкополосного стационарного процесса 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