exponenta event banner

остатки

Расширение с частичной дробью Z-преобразования

Описание

пример

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

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

Примеры

свернуть все

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

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+b1z−1+b2z−2+⋯+bmz−mA (z) =a0+a1z−1+a2z−2+⋯+anz−n

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

B (z) A (z) = r (1) 1 p (1) z−1+⋯+r (n) 1 p (n) z 1 + k (1) + k (2) z−1+⋯+k (m − n + 1) z − (m − n)

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

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

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

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

свернуть все

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

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

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

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

r (j) 1 p (j) z 1 + r (j + 1) (1 p (j) z 1) 2+⋯+r (j + sr − 1) (1 − p (j) z − 1) s

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

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

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

Алгоритмы

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

Примечание

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

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

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

  • Полюса с использованием p = roots(a).

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

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

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

    S2*r2 = h - S1*r1
    

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

    11 pjz 1,1 (1 pjz 1) 2,⋯,1 (1 − pjz − 1) sj

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

Примечание

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

Ссылки

[1] Оппенгейм, Алан В., Рональд В. Шефер и Джон Р. Бак. Дискретно-временная обработка сигналов. 2-я эд. река Верхнее Седло, Нью-Джерси: Прентис Холл, 1999.

См. также

| | | | | | | | | |

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