Преобразуйте полином предсказательного фильтра в коэффициенты отражения
k = poly2rc(a)
[k,r0] = poly2rc(a,efinal)
k = poly2rc(a)
преобразует полином предсказательного фильтра a
к коэффициентам отражения соответствующей решетчатой структуры. a
может быть реальным или комплексным, и a(1)
не может быть 0. Если a(1)
не равно 1
, poly2rc нормализует полином предсказательного фильтра по a(1)
. k
является вектор-строка размера length(a)-1
.
[k,r0] = poly2rc(a,efinal)
возвращает автокорреляцию с нулевой задержкой, r0
, на основе окончательной ошибки предсказания, efinal
.
Если abs(k(i)) == 1
для любого i
нахождение коэффициентов отражения является плохо обусловленной задачей. poly2rc
возвращает несколько NaN
s и предоставляет предупреждающее сообщение в этих случаях.
Простой, быстрый способ проверить, a
ли имеет все свои корни внутри модуля круга, чтобы проверить, является ли каждый из элементов
k
имеет величину менее 1.
stable = all(abs(poly2rc(a))<1)
poly2rc
реализует эту рекурсивную связь:
Эта связь основана на рекурсии Левинсона [1]. Для его реализации poly2rc
циклы через a
в обратном порядке после отбрасывания его первого элемента. Для каждой итерации цикла i
, функция:
Устанавливает k(i)
равно a(i)
Применяет второе отношение выше к элементам с 1 по i
от вектора a
.
a = (a-k(i)*fliplr(a))/(1-k(i)^2);
[1] Кей, Стивен М. Современная спектральная оценка. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1988.