arburg
Параметры модели авторегрессии со всеми полюсами — метод Бурга.
| Библиотека |
|
Аргументы
Примеры
Оценка параметров с помощью метода Бурга
Details
Используем вектор коэффициентов порождающего полинома для генерации процесса путем фильтрации 1024 отсчетов белого шума. Сбросим генератор случайных чисел, чтобы получить воспроизводимые результаты. Используем метод Бурга для оценки коэффициентов.
import EngeeDSP.Functions: randn,filter,arburg
A = [1 -2.7607 3.8106 -2.6535 0.9238]
y = filter(1,A,0.2*randn(1024,1))
arcoeffs = arburg(y,4)[1]
1×5 Matrix{Float64}:
1.0 -2.7743 3.84077 -2.68434 0.936008
Сгенерируем 50 реализаций процесса, каждый раз меняя дисперсию входного шума. Сравним дисперсию, рассчитанную по методу Бурга, с фактическими значениями.
nrealiz = 50
order = 4
noisestdz = rand(1, nrealiz) .+ 0.5
randnoise = randn(1024, nrealiz)
noisevar = zeros(1, nrealiz)
for k in 1:nrealiz
y = filter(ones(1), A, noisestdz[k] * randnoise[:, k])
arcoeffs,noisevar[k],e = arburg(y, order)
end
p=scatter(vec(noisestdz.^2), vec(noisevar),
marker=:x,
markerstrokecolor=:blue,
xlabel="Input",
ylabel="Estimated",
title="Noise Variance",
label="Single channel loop",
legend=false)

Повторим процедуру, используя многоканальный синтаксис функции.
Y = filter(1,A,noisestdz.*randnoise)
coeffs,variances,e = arburg(Y,4)
scatter!(p,noisestdz.^2, variances,
marker=:circle,
markercolor=:transparent,
markerstrokecolor=:green,
markersize=10)

Дополнительно
Модель авторегрессии порядка p
Details
В модели авторегрессии порядка ( ) текущий выход является линейной комбинацией предыдущих выходов плюс входной сигнал белого шума.
Веса на предыдущих выходах минимизируют среднюю квадратичную ошибку прогнозирования авторегрессии. Если — это текущее значение выхода, а — это входной сигнал с нулевым средним значением белого шума, то модель имеет вид:
Алгоритмы
Метод Бурга рассчитывает коэффициенты отражения и использует их для рекурсивной оценки параметров авторегрессии. Соотношения рекурсии и решетчатого фильтра, описывающие обновление ошибок прямого и обратного прогнозирования, можно найти в [1].