cupyx.scipy.signal.TransferFunction#
- class cupyx.scipy.signal.TransferFunction(*system, **kwargs)[源代码][源代码]#
线性时不变系统类,以传递函数形式表示。
表示系统的连续时间传递函数 \(H(s)=\sum_{i=0}^N b[N-i] s^i / \sum_{j=0}^M a[M-j] s^j\) 或离散时间传递函数 \(H(z)=\sum_{i=0}^N b[N-i] z^i / \sum_{j=0}^M a[M-j] z^j\),其中 \(b\) 是分子 num 的元素,\(a\) 是分母 den 的元素,且
N == len(b) - 1,M == len(a) - 1。TransferFunction 系统根据使用的系统表示,分别继承自 lti 或 dlti 类的额外功能。- 参数:
*system (arguments) –
TransferFunction 类可以用1或2个参数实例化。以下给出了输入参数的数量及其解释:
1: lti 或 dlti 系统: (StateSpace, TransferFunction 或 ZerosPolesGain)
2: array_like: (分子, 分母)
dt (float, optional) – 离散时间系统的采样时间 [s]。默认为 None`(连续时间)。必须指定为关键字参数,例如,``dt=0.1`。
备注
更改不属于 TransferFunction 系统表示的属性值(如 A, B, C, D 状态空间矩阵)是非常低效的,并且可能导致数值不准确。最好先转换为特定的系统表示。例如,在访问/更改 A, B, C, D 系统矩阵之前,调用
sys = sys.to_ss()。如果为
*system传递了 (分子, 分母),则分子和分母的系数应以降幂顺序指定(例如s^2 + 3s + 5或z^2 + 3z + 5应表示为[1, 3, 5])方法
- __eq__(value, /)#
返回 self==value。
- __ne__(value, /)#
返回 self!=value。
- __lt__(value, /)#
返回 self<value。
- __le__(value, /)#
返回 self<=value。
- __gt__(value, /)#
返回 self>value。
- __ge__(value, /)#
返回 self>=value。
属性
- den#
TransferFunction 系统的分母。
- dt#
返回系统的采样时间,lti 系统返回 None。
- num#
TransferFunction 系统的分子。
- poles#
系统的极点。
- zeros#
系统的零点。