我发现scipy.signal.dstep
,scipy.signal.dlsim
个函数可以帮助模拟传递函数的行为,例如:
signal.dlsim(signal.cont2discrete(([1], [1, 1]), 0.1), u=[1, 1], t=[0.0, 0.1])
允许在1/(s+1)
时间间隔内使用值为[0, 0.1]
的控制信号对1
函数进行建模。
但是这些功能不允许仅使用初始值对一个步骤进行建模。
是否有其他函数可以对传递函数的一个步骤进行建模,或者该方法更好呢?
答案 0 :(得分:1)
首先,我不确定是要使用离散时间还是连续时间,因为要使用s
运算符作为续。时间dstep
和dlsim
用于离散时间表示。但是,我在示例中使用了连续的。
您可以使用dlti
的{{1}}函数在python中创建一个scipy.signal
对象。创建的过滤器对象具有方法lti
,其中第一个参数用于初始时间向量。 lti.step
因此,您可以使用此代码段绘制阶跃响应。
step
如果您不想绘制它们,只需致电
import scipy.signal as sig
import matplotlib.pyplot as plt
filt = sig.lti(1, (1,1))
plt.plot(*filt.step())
plt.plot(*filt.step(-1))
plt.show()