residuez#
- scipy.signal.residuez(b, a, tol=0.001, rtype='avg')[источник]#
Вычислить разложение на элементарные дроби b(z) / a(z).
Если M это степень числителя b и N степень знаменателя a:
b(z) b[0] + b[1] z**(-1) + ... + b[M] z**(-M) H(z) = ------ = ------------------------------------------ a(z) a[0] + a[1] z**(-1) + ... + a[N] z**(-N)
тогда разложение на простейшие дроби H(z) определяется как:
r[0] r[-1] = --------------- + ... + ---------------- + k[0] + k[1]z**(-1) ... (1-p[0]z**(-1)) (1-p[-1]z**(-1))
Если есть повторяющиеся корни (ближе чем tol), тогда разложение на простейшие дроби имеет члены вида:
r[i] r[i+1] r[i+n-1] -------------- + ------------------ + ... + ------------------ (1-p[i]z**(-1)) (1-p[i]z**(-1))**2 (1-p[i]z**(-1))**n
Эта функция используется для полиномов с отрицательными степенями z, например, для цифровых фильтров в ЦОС. Для положительных степеней используйте
residue.См. примечания
residueподробности об алгоритме.- Параметры:
- barray_like
Коэффициенты полинома числителя.
- aarray_like
Коэффициенты полинома знаменателя.
- tolfloat, опционально
Допуск для того, чтобы два корня считались равными с точки зрения расстояния между ними. По умолчанию 1e-3. См.
unique_rootsдля дополнительных деталей.- rtype{‘avg’, ‘min’, ‘max’}, опционально
Метод вычисления корня для представления группы идентичных корней. По умолчанию 'avg'. См.
unique_rootsдля дополнительных деталей.
- Возвращает:
- rndarray
Вычеты, соответствующие полюсам. Для кратных полюсов вычеты упорядочены в соответствии с возрастанием степенных дробей.
- pndarray
Полюса, упорядоченные по возрастанию величины.
- kndarray
Коэффициенты прямого полиномиального члена.
Смотрите также