python中如何进行信号处理?

python中如何进行信号处理?
python中如何进行信号处理?

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

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

import numpy as np
import pylab as plt 
from scipy import signal
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个点

import numpy as np
t = np.linspace(0, 5, 100)
x = np.sin(t)
from scipy import signal
x_resampled = signal.resample(x, 25)
import matplotlib.pyplot as plt
plt.plot(t, x)
plt.plot(t[::4], x_resampled, 'ko')
# plt.savefig('./sig1-1.png') # 保存要显示的图片
plt.show()

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注