平滑圖形:
我想你真正關心的是增加分數。是以隻需指定要使其看起來更平滑的點數。在
例如,FFT的點數與測量值相同:n = 500
nfft = n
t = np.linspace(0, 0.1, n)
y = 0.5 + np.sin(2*np.pi*60*t)
yf = fftshift(fft(y, nfft))
f = fftshift(fftfreq(nfft, np.mean(np.diff(t))))
pyplot.plot(f, abs(yf))
pyplot.grid()
pyplot.xlim([-100, 100])
如果将fft點數改為4096,即nfft=2**12,則會得到一個更平滑的圖。
消除0 Hz的峰值
如果DC值就是你關心的,那麼就減去平均值。根據上面的示例,您可以将第5行更改為
^{pr2}$
你可以得到沒有基帶的FFT。
最小點數
從理論上講,你隻需要滿足奈奎斯特速率。但是,對于視覺效果,FFT中的頻率間隔是Fs/N。是以,如果采樣率為500 Hz和500個點,則點之間的間距為1 Hz,如果帶寬為5 Hz,這可能不夠,是以您可以通過對信号進行零填充來增加FFT的點數,或者降低采樣率(隻要高于奈奎斯特)。。。在