scipy.signal.

lti#

class scipy.signal.lti(*system)[source]#

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

参数:
*system参数

lti 类可以用 2、3 或 4 个参数进行实例化。以下给出参数的数量以及创建的相应的连续时间子类

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

注意事项

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

如果将 (numerator, denominator) 传递给 *system,那么在分子和分母中,系数应按降幂顺序指定(例如,s^2 + 3s + 5 可表示为 [1, 3, 5])。

若要更改不直接属于当前系统表示形式的属性(例如 zeros of a 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

返回系统的采样时间,对于 lti 系统而言,None

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])

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