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()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)