Расширение элементарной дроби 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.
Если нет никаких нескольких корней и a
> n-1
,
Возвращенный вектор-столбец 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
, то расширение включает условия формы
[b,a] = residuez(r,p,k)
с тремя входными параметрами и двумя выходными аргументами, преобразовывает расширение элементарной дроби назад на полиномы с коэффициентами в векторах - строках b
и a
.
Функция residue
на стандартном языке MATLAB® очень похожа на residuez
. Это вычисляет расширение элементарной дроби непрерывно-разовых систем в области Лапласа (см. ссылку [1]), а не системы дискретного времени в z - область, как делает 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, представляющие импульсные ответы каждой из следующих систем.
Векторный h
и матрицы, S1
и S2
имеют n
+
строки xtra
, где n
является общим количеством корней и внутреннего параметра xtra
, набор к 1 по умолчанию, определяют степень сверхопределения системы уравнений.
[1] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. 2-й Эд. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.
convmtx
| deconv
| poly
| prony
| residue
| roots
| ss2tf
| tf2ss
| tf2zp
| tf2zpk
| zp2ss