остатки

Расширение элементарной дроби Z-преобразования

Синтаксис

[r,p,k] = residuez(b,a)
[b,a] = residuez(r,p,k)

Описание

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

Примечание

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

[r,p,k] = residuez(b,a) находит остатки, полюса и прямые условия расширения элементарной дроби отношения двух полиномов, b (z) и a (z). Векторы 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)

Возвращенный вектор-столбец r содержит остатки, вектор-столбец p, содержит местоположения полюса и вектор - строку, k содержит прямые условия. Количество полюсов

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

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

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

Если     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

[b,a] = residuez(r,p,k) с тремя входными параметрами и двумя выходными аргументами, преобразовывает расширение элементарной дроби назад на полиномы с коэффициентами в векторах - строках b и a.

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

Примеры

свернуть все

Вычислите расширение элементарной дроби, соответствующее БИХ третьего порядка 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

Используйте 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

Алгоритмы

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 по умолчанию, определяют степень сверхопределения системы уравнений.

Ссылки

[1] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. 2-й Эд. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.

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

| | | | | | | | | |

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