Преобразуйте полином фильтра прогноза в отражательные коэффициенты
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, NJ: Prentice Hall, 1988.