当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy signal.TransferFunction用法及代码示例


本文简要介绍 python 语言中 scipy.signal.TransferFunction 的用法。

用法:

class  scipy.signal.TransferFunction(*system, **kwargs)#

传递函数形式的线性时不变系统类。

将系统表示为 continuous-time 传递函数 或 discrete-time 传递函数 ,其中 是分子 num 的元素, 是分母 den 的元素,和N == len(b) - 1M == len(a) - 1TransferFunction 系统分别从 lti dlti 类继承附加函数,具体取决于使用的系统表示形式。

参数

*system: arguments

TransferFunction 类可以使用 1 或 2 个参数进行实例化。下面给出了输入参数的数量及其解释:

dt: float, optional

discrete-time 系统的采样时间 [s]。默认为None(continuous-time)。必须指定为关键字参数,例如,dt=0.1.

注意

更改不属于TransferFunction系统表示(例如A,B,C,D状态空间矩阵)效率非常低,并且可能导致数值不准确。最好先转换为特定的系统表示形式。例如,调用sys = sys.to_ss()在访问/更改 A、B、C、D 系统矩阵之前。

如果 (numerator, denominator) 为 *system 传入,则分子和分母的系数应按 index 降序指定(例如 s^2 + 3s + 5z^2 + 3z + 5 将表示为 [1, 3, 5] )

例子

构造传递函数

>>> from scipy import signal
>>> num = [1, 3, 3]
>>> den = [1, 2, 1]
>>> signal.TransferFunction(num, den)
TransferFunctionContinuous(
array([1., 3., 3.]),
array([1., 2., 1.]),
dt: None
)

构造采样时间为 0.1 秒的传递函数

>>> signal.TransferFunction(num, den, dt=0.1)
TransferFunctionDiscrete(
array([1., 3., 3.]),
array([1., 2., 1.]),
dt: 0.1
)

属性

den

TransferFunction 系统的分母。

dt

返回系统的采样时间,None为了scipy.signal.lti系统。

num

TransferFunction 系统的分子。

poles

系统的极点。

zeros

系统的零点。

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.signal.TransferFunction。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。