天天看點

python平滑趨勢圖_Python中的平滑FFT圖

平滑圖形:

我想你真正關心的是增加分數。是以隻需指定要使其看起來更平滑的點數。在

例如,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])

python平滑趨勢圖_Python中的平滑FFT圖

如果将fft點數改為4096,即nfft=2**12,則會得到一個更平滑的圖。

python平滑趨勢圖_Python中的平滑FFT圖

消除0 Hz的峰值

如果DC值就是你關心的,那麼就減去平均值。根據上面的示例,您可以将第5行更改為

^{pr2}$

你可以得到沒有基帶的FFT。

python平滑趨勢圖_Python中的平滑FFT圖

最小點數

從理論上講,你隻需要滿足奈奎斯特速率。但是,對于視覺效果,FFT中的頻率間隔是Fs/N。是以,如果采樣率為500 Hz和500個點,則點之間的間距為1 Hz,如果帶寬為5 Hz,這可能不夠,是以您可以通過對信号進行零填充來增加FFT的點數,或者降低采樣率(隻要高于奈奎斯特)。。。在