poly2rc

Преобразуйте полином фильтра прогноза в отражательные коэффициенты

Синтаксис

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.

Примеры

свернуть все

Учитывая прогноз фильтруют полином, a, и итоговую ошибку прогноза, efinal, определяют отражательные коэффициенты соответствующей структуры решетки и автокорреляции нулевой задержки.

a = [1.0000 0.6149 0.9899 0.0000 0.0031 -0.0082];
efinal = 0.2;
[k,r0] = poly2rc(a,efinal)
k = 5×1

    0.3090
    0.9801
    0.0031
    0.0081
   -0.0082

r0 = 5.6032

Ограничения

Если abs(k(i)) == 1 для какого-либо i, нахождение отражательных коэффициентов является плохо обусловленной проблемой. poly2rc возвращает некоторый NaN s и предоставляет предупреждающее сообщение в тех случаях.

Советы

Простой, быстрый способ проверять, имеет ли a все свои корни в модульном кругу, состоит в том, чтобы проверять, имеет ли каждый из элементов k значение меньше чем 1.

stable = all(abs(poly2rc(a))<1)

Алгоритмы

poly2rc реализует это рекурсивное отношение:

k(n)=an(n)an1(m)=an(m)k(n)an(nm)1k(n)2,m=1,2,,n1

Это отношение основано на рекурсии Левинсона [1]. Реализовывать его, циклы poly2rc через a в обратном порядке после отбрасывания его первого элемента. Для каждой итерации цикла i, функция:

  1. Наборы k(i) равняются a(i)

  2. Применяет второе отношение выше к элементам 1 через i векторного a.

    a = (a-k(i)*fliplr(a))/(1-k(i)^2);
    

Ссылки

[1] Кей, Стивен М. Современная спектральная оценка. Englewood Cliffs, NJ: Prentice Hall, 1988.

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a