residuez

Z-преобразование частично-дробного расширения

Описание

пример

[ro,po,ko] = residuez(bi,ai) находит остатки, полюсы и прямые условия расширения частичной дроби отношения числителей и полиномов, b и a.

[bo,ao] = residuez(ri,pi,ki) с тремя входными параметрами и двумя выходными аргументами преобразует частичное расширение дроби назад в полиномы с коэффициентами в векторах-строках b и a.

Примеры

свернуть все

Вычислите частично-дробное расширение, соответствующий БИХ фильтру lowpass третьего порядка, описанному передаточной функцией

H(z)=0.05634(1+z-1)(1-1.0166z-1+z-2)(1-0.683z-1)(1-1.4461z-1+0.7957z-2).

Выразите числитель и знаменатель как полиномиальные свертки.

b0 = 0.05634;
b1 = [1  1];
b2 = [1 -1.0166 1];
a1 = [1 -0.683];
a2 = [1 -1.4461 0.7957];

b = b0*conv(b1,b2);
a = conv(a1,a2);

Вычислите остатки, полюсы и прямые условия частично-дробного расширения.

[r,p,k] = residuez(b,a)
r = 3×1 complex

  -0.1153 - 0.0182i
  -0.1153 + 0.0182i
   0.3905 + 0.0000i

p = 3×1 complex

   0.7230 + 0.5224i
   0.7230 - 0.5224i
   0.6830 + 0.0000i

k = -0.1037

Постройте графики полюсов и нулей передаточной функции и наложите полюса, которые вы только что нашли.

zplane(b,a)
hold on
plot(p,'^r')
hold off

Figure contains an axes. The axes contains 4 objects of type line.

Использование residuez снова для восстановления передаточной функции.

[bn,an] = residuez(r,p,k)
bn = 1×4

    0.0563   -0.0009   -0.0009    0.0563

an = 1×4

    1.0000   -2.1291    1.7834   -0.5435

Входные параметры

свернуть все

Полиномиальные коэффициенты, заданные как векторы. Векторы b и a задайте коэффициенты полиномов системы дискретного времени b (z )/ a (z) в нисходящих степенях z.

B(z)=b0+b1z1+b2z2++bmzmA(z)=a0+a1z1+a2z2++anzn

Если существует несколько корней и a > n-1,

B(z)A(z)=r(1)1p(1)z1++r(n)1p(n)z1+k(1)+k(2)z1++k(mn+1)z(mn)

Остатки частичной дроби, заданные как вектор.

Полюса частичной дроби, заданные как вектор.

Прямые условия, заданные как вектор-строка.

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

свернуть все

Остатки частичной фракции, возвращенные как вектор.

Полюс частичной дроби, возвращенный как вектор. Количество полюсов:

n = length(a)-1 = length(r) = length(p)

Если     p(j) = ... = p(j+s-1) - полюс кратности s, затем расширение включает условия вида

r(j)1p(j)z1+r(j+1)(1p(j)z1)2++r(j+sr1)(1p(j)z1)s

Прямые условия, возвращенные как вектор-строка. Вектор коэффициентов с прямым k пуст, если length(b) меньше length(a); в противном случае:

length(k) = length(b) - length(a) + 1

Полиномиальные коэффициенты, возвращенные как векторы.

Алгоритмы

residuez преобразует дискретное время систему, выраженную в виде отношения двух полиномов, в форму частичного расширения дроби или остатка. Это также преобразует частичное расширение дроби назад в исходные полиномиальные коэффициенты.

Примечание

Численно, частичное расширение дроби отношения полиномов является плохо поставленной задачей. Если многочлен знаменателя находится вблизи полинома с несколькими корнями, то небольшие изменения в данных, включая ошибки округления, могут вызвать произвольно большие изменения получившихся полюсов и остатков. Вместо этого следует использовать представления пространства состояний или нули полюсов.

residuez применяет стандартный MATLAB® функции и методы частичной дроби для поиска r, p, и k от b и a. Он находит

  • Прямые условия a использование deconv (полиномиальное длинное деление) при length(b) > length(a)-1.

  • Полюса, использующие p = roots(a).

  • Любые повторяющиеся полюса, переупорядочивающие полюса согласно их кратностям.

  • Остаток для каждого неповреждающегося полюса pj умножением b (z )/ a (z) на 1/ ( 1 - pj z−1) и оценка получившейся рациональной функции при z = pj.

  • Остатки для повторных полюсов путем решения

    S2*r2 = h - S1*r1
    

    для r2 использование \. h - импульсная характеристика уменьшенного b (z )/ a (z), S1 - матрица, столбцы которой являются импульсными характеристиками систем первого порядка, состоящих из непоследовательных корней, и r1 - столбец, содержащий остатки неповторяющихся корней. Каждый столбец матрицы S2 является импульсной характеристикой. Для каждого корневого pj кратности sj, S2 содержит sj столбцов, представляющие импульсные характеристики каждой из следующих систем.

    11pjz1,1(1pjz1)2,,1(1pjz1)sj

    Векторная h и матрицы S1 и S2 иметь n + xtra строки, где n - общее количество корней и внутренний параметр xtra, установленный на 1 по умолчанию, определяет степень избыточного определения системы уравнений.

Примечание

residue функция в стандартном языке MATLAB очень похожа на residuez. Он вычисляет расширение частичной дроби систем непрерывного времени в области Laplace (см. Ссылку [1]), а не систем дискретного времени в z -domain, как это делает residuez.

Ссылки

[1] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Обработка сигнала в дискретном времени. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.

См. также

| | | | | | | | | |

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