Документация Engee

arburg

Параметры модели авторегрессии со всеми полюсами — метод Бурга.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • a,e,rc = arburg(x,p) — возвращает нормированные параметры авторегрессии a, соответствующие модели порядка p для входного массива x.

    Также возвращает расчетную дисперсию e входного белого шума и коэффициенты отражения rc, соответствующие модели авторегрессии.

Аргументы

Входные аргументы

# x — входной массив
вектор | матрица

Details

Входной массив, заданный как вектор или матрица.

Типы данных

Float32 | Float64

Поддержка комплексных чисел

Да

# p — порядок модели
положительный целочисленный скаляр

Details

Порядок модели, заданный как целочисленный положительный скаляр. Значение p должно быть меньше количества элементов или строк в x.

Типы данных

Float32 | Float64

Выходные аргументы

# a — нормированные параметры авторегрессии
вектор-строка | матрица

Details

Нормированные параметры авторегрессии, возвращаемые в виде вектора или матрицы. Если x — матрица, то каждой строке a соответствует столбец x. Аргумент a имеет p+1 столбец и содержит параметры авторегрессии в порядке убывания степеней .

# e — дисперсия белого шума входного сигнала
скаляр | вектор-строка

Details

Дисперсия белого шума входного сигнала, возвращаемая в виде скаляра или вектора-строки. Если x — матрица, то каждому элементу e соответствует столбец x.

# rc — коэффициенты отражения
вектор-столбец | матрица

Details

Коэффициенты отражения, возвращаемые в виде вектора-столбца или матрицы. Если x — матрица, то каждому столбцу rc соответствует столбец x. Аргумент rc имеет p строк.

Примеры

Оценка параметров с помощью метода Бурга

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)

arburg 1

Повторим процедуру, используя многоканальный синтаксис функции.

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)

arburg 2

Дополнительно

Модель авторегрессии порядка p

Details

В модели авторегрессии порядка ( ) текущий выход является линейной комбинацией предыдущих выходов плюс входной сигнал белого шума.

Веса на предыдущих выходах минимизируют среднюю квадратичную ошибку прогнозирования авторегрессии. Если — это текущее значение выхода, а — это входной сигнал с нулевым средним значением белого шума, то модель имеет вид:

Коэффициенты отражения

Details

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

Алгоритмы

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

Литература

  1. Kay, Steven M. Modern Spectral Estimation: Theory and Application. Englewood Cliffs, NJ: Prentice Hall, 1988.