我想平滑以200Hz獲得的FFT圖形(我現在捕獲500個點),以便代表性的峯值顯示在THIS附近。在Python中平滑FFT圖形
這是我的代碼:
N = 500
T = 5/1000
y1 = np.array(data_Ax)
yf1 = scipy.fftpack.fft(y1)
xf1 = np.linspace(0.0, 1.0/(2.0*T), N/2)
yfft1 = 2.0/N * np.abs(yf1[:N//2])
plt.figure(figsize=(20, 3), dpi= 100, facecolor='w', edgecolor='k')
plt.plot(xf1, yfft1, 'g-', label ="FFT for Ax")
plt.xlabel('Frequency [Hz]')
plt.legend(loc=1)
,平滑處理我試圖用這樣的:
rft = np.fft.rfft(yfft1)
y_smooth = np.fft.irfft(rft)
但它並沒有任何影響。
我很清楚,200Hz是一個低採樣頻率,500次測量並不多,但它只是爲了得到程序的掛起。下面是獲得圖:
我想知道:
- 如何平滑曲線?
- 如何去除0Hz處的峯值(高通濾波器)?
- 從理論的角度來看,有代表性的FFT圖的測量的最小數量要求是什麼?
謝謝任何幫助!
大號