【发布时间】:2020-04-09 15:15:18
【问题描述】:
我正在尝试从燃油液位信号中去除尖峰噪声,为此,我想在 python 中实现一个低通滤波器,我有信号的频域图,但我不明白如何选择截止频率或带通,以防我应该使用带通滤波器。我的数据的采样频率是 1sample/3min。这是我生成频域响应及其输出的代码。
#Fourier Transform of signal
fuel_vol_fft=np.fft.fft((fuel_vol-np.mean(fuel_vol)),axis=0) / fuel_vol.shape[0]
freq=np.fft.fftfreq(fuel_vol.shape[0],d=3) #sampling time step = 3 min- sampling rate 1/3 cycle/min
plt.figure(figsize=(20,7))
plt.plot(freq,fuel_vol_fft.real)
plt.grid()
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.title('Frequency Domain Fuel Signal - Presuming regulary sampled')
plt.show()
【问题讨论】:
-
您是否放大了幅度谱图以仔细查看并根据获得的信息选择截止频率?你为什么不尝试几个不同的频率,看看会发生什么/它有什么影响?为什么不用matlab的时候加个matlab标签?
-
我有它,所以有人可能会建议一个 MATLAB 解决方案。其次,我正在尝试不同的频率,但我不确定哪个频率的总体效果更好。至于特写,我正在再次编辑问题以添加它。
标签: python-3.x matlab signal-processing lowpass-filter