如何在Python中集成信号
我需要把一个信号整合到我指定的范围内。
我使用了这个方法:
def integrand(x,y):
return y[x]
result=scipy.integrate.quad(integrand,t0,t1,args=(y))*0.2E-6
y是一个包含2500个点的数组,这些点的时间间隔是500微秒。比如说,t0是700,t1是1500。
0.2E-6是信号中两个值之间的步长。
这样做对吗?
1 个回答
2
其实不是这样。要对一个取样的函数进行积分,你可以使用 scipy.integrate.simps
或者 scipy.integrate.trapz
这两个工具:
result_simps = scipy.integrate.simps(y[t0:t1+1], dx=0.2E-6)
result_trapz = scipy.integrate.trapz(y[t0:t1+1], dx=0.2E-6)