scipy.signal.lti传递函数的算法处理
lti-arithmetic的Python项目详细描述
LTI算术
scipy.signal.lti传输函数的算术操作
scipy中的lti系统表示不提供内置的可组合性。
给定scipy.signal.lti
的两个实例,例如H
和G
,
你不能直接写H * G
。
这个包定义了一个scipy.signal.lti
兼容的TransferFunction
允许标准的算术组合:H + G
,H - G
,H * G
,
H / G
,和H**n
。另外,平行组合
系统的(倒数和的倒数)可通过写入H | G
获得。
包还定义了表示 电阻、电容和电感的阻抗, 作为LTI系统,可以组成来表示传递函数 一个更大的网络。
为了方便起见,包还定义了s
,以便传递函数
可以在s
中编写为有理表达式。
示例
>>> from ltiarithmetic import TransferFunction, Z_R, Z_C, Z_L, s
计算两个LTI系统的乘积:
>>> H = TransferFunction([1,2,3],[1])
>>> G = TransferFunction[[1],[2,3,4])
>>> H * G
TransferFunction(
array([0.5, 1. , 1.5]),
array([1. , 1.5, 2. ]),
dt: None
)
计算rc低通滤波器的传递函数:
Z_1 = Z_R(1000.)
Z_2 = Z_C(1e-9)
H = Z_2 / (Z_1 + Z_2)
从s
:
import math
w0 = 2 * math.pi * 1000.
Q = 2.
H = 1/(1 + s / (Q * w0) + (s / w0)**2)