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