python中如何进行信号处理?

python中scipy库可以用于科学计算,其中它的不同子模块相应于不同的应用。例如像scipy.signal模块就是信号处理工具,即使用scipy.signal.detrend()移除信号的线性趋势,scipy.signal.resample()使用FFT重采样n个点。

1、使用scipy.signal.detrend()移除信号的线性趋势

importnumpyasnp
importpylabasplt
fromscipyimportsignal
t=np.linspace(0,3,200)
x=t+np.random.normal(size=200)
plt.plot(t,x,linewidth=3)
#移除信号的线性趋势
plt.plot(t,signal.detrend(x),linewidth=3)
plt.show()

2、scipy.signal.resample()使用FFT重采样n个点

importnumpyasnp
t=np.linspace(0,5,100)
x=np.sin(t)
fromscipyimportsignal
x_resampled=signal.resample(x,25)
importmatplotlib.pyplotasplt
plt.plot(t,x)
plt.plot(t[::4],x_resampled,'ko')
#plt.savefig('./sig1-1.png')#保存要显示的图片
plt.show()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。