scipy.signal.lti

class scipy.signal.lti(*system)[源代码]

连续时间线性时不变系统基类。

参数
*system论据

这个 lti 类可以用2、3或4个参数实例化。下面给出了参数的数量和所创建的相应的连续时间子类:

每个参数可以是数组或序列。

注意事项

lti 实例不直接存在。相反, lti 创建其一个子类的实例: StateSpaceTransferFunctionZerosPolesGain

如果传入的(分子,分母)为 *system 分子和分母的系数都应该以指数降序指定(例如, s^2 + 3s + 5 将表示为 [1, 3, 5] )。

更改不直接作为当前系统表示形式一部分的属性的值(如 zeros 属于 StateSpace 系统)效率非常低,并且可能导致数值不准确。最好先转换为特定的系统表示。例如,调用 sys = sys.to_zpk() 在访问/改变零点、极点或增益之前。

示例

>>> from scipy import signal
>>> signal.lti(1, 2, 3, 4)
StateSpaceContinuous(
array([[1]]),
array([[2]]),
array([[3]]),
array([[4]]),
dt: None
)

构造传递函数 \(H(s) = \frac{{5(s - 1)(s - 2)}}{{(s - 3)(s - 4)}}\)

>>> signal.lti([1, 2], [3, 4], 5)
ZerosPolesGainContinuous(
array([1, 2]),
array([3, 4]),
5,
dt: None
)

构造传递函数 \(H(s) = \frac{{3s + 4}}{{1s + 2}}\)

>>> signal.lti([3, 4], [1, 2])
TransferFunctionContinuous(
array([3., 4.]),
array([1., 2.]),
dt: None
)
属性
dt

返回系统的采样时间, Nonelti 系统。

poles

系统的两极。

zeros

系统的零。

方法:

bode \([w, n] )

计算连续时间系统的波德幅值和相位数据。

freqresp \([w, n] )

计算连续时间系统的频率响应。

impulse \([X0, T, N] )

返回连续时间系统的脉冲响应。

output \(U,T[, X0] )

将连续时间系统的响应返回给输入 U

step \([X0, T, N] )

返回连续时间系统的阶跃响应。

to_discrete \(dt[, method, alpha] )

返回当前系统的离散化版本。