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

rc2poly

Преобразование коэффициентов отражения в полином фильтра предсказания.

Библиотека

EngeeDSP

Синтаксис

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

  • a = rc2poly(k) — возвращает вектор a коэффициентов фильтра предсказания, полученный из вектора k коэффициентов отражения решетчатой структуры.

  • a,eFinal = rc2poly(k,r0) — также возвращает ошибку конечного предсказания eFinal, основанную на автокорреляции с нулевой задержкой r0.

Аргументы

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

# k — коэффициенты отражения
вектор

Details

Список коэффициентов отражения, заданный как вектор.

Типы данных

Float32, Float64

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

Да

# r0 — автокорреляция с нулевой задержкой
скаляр

Details

Автокорреляция с нулевой задержкой, заданная как скаляр.

Типы данных

Float32, Float64

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

Да

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

# a — коэффициенты фильтра предсказания
вектор

Details

Коэффициенты фильтра предсказания, возвращаемые в виде вектора-строки длиной , где — количество элементов вектора k. Функция возвращает первый столбец вектора a равным 1, таким образом, a[1] = 1.

# eFinal — мощность ошибки конечного предсказания
скаляр

Details

Мощность ошибки конечного предсказания, возвращаемая в виде скаляра.

Примеры

Эквивалентное представление в виде фильтра предсказания

Details

Рассмотрим решеточный БИХ-фильтр, заданный набором коэффициентов отражения. Найдем его эквивалентное представление в виде фильтра предсказания.

import EngeeDSP.Functions: rc2poly

k = [0.3090 0.9800 0.0031 0.0082 -0.0082]

a = rc2poly(k)
1×6 Matrix{Float64}:
 1.0  0.614816  0.989881  2.42604e-5  0.00315796  -0.0082

Алгоритмы

Функция rc2poly вычисляет выходной вектор a, используя рекурсию Левинсона [1]. Функция:

  1. Устанавливает выходной вектор a равным первому элементу k.

  2. Проходит циклом по оставшимся элементам k.

    Для каждой итерации i цикла a = [a + a[i−1:−1:1] * k[i]; k[i]].

  3. Реализует a = [1 a].

Литература

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