如何在python中模拟传递函数的一步

时间:2018-12-08 11:04:10

标签: python scipy signal-processing

我发现scipy.signal.dstepscipy.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函数进行建模。 但是这些功能不允许仅使用初始值对一个步骤进行建模。

是否有其他函数可以对传递函数的一个步骤进行建模,或者该方法更好呢?

1 个答案:

答案 0 :(得分:1)

首先,我不确定是要使用离散时间还是连续时间,因为要使用s运算符作为续。时间dstepdlsim用于离散时间表示。但是,我在示例中使用了连续的。

您可以使用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()