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()
以上就是python中进行信号处理的两种实现方法,希望能对你有所帮助哟~
上一篇
下一篇