[問題]如何提高快速傅立葉轉換(FFT)的解析度

看板MATLAB作者 (產品工程師)時間9年前 (2015/05/14 14:17), 9年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
想請問各位大大 因研究fmcw rader碰到需要將取樣訊號利用FFT分析 希望在不增加取樣點數下,利用時域內插增加頻域解析度 那我的做法如下: 1.原始訊號(128點)經由一次線性內插到(255點) 2.再將內插後訊號FFT 但結果是有無內插的頻率誤差都相同(46.875 vs 46.875)(117.1875 vs 117.1875) 是小弟頻域軸刻度取錯,還是?... 小弟對訊號處理方面實在是外行 提高頻域解析度除了增加取樣點數之外,還有什麼方式可以增加呢? 希望可以有高手大大可以指點一下 clc; clear; Fs = 1000; T = 1/Fs; L = 128; t = (0:L-1)*T; y = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); t1 = (0:1/2:L-1)*T; y1 = interp1(t,y,t1,'linear'); Y = fft(y,L); Y1 = fft(y1,256); f = linspace(0,Fs,L+1); f1 = linspace(0,2*Fs,257); figure(1); subplot(2,1,1) stem(f(1:128),abs(Y)) title('Single-Sided Amplitude Spectrum of y(t)') xlabel('Frequency (Hz)') ylabel('|Y(f)|') subplot(2,1,2) stem(f1(1:256),abs(Y1)) title('Single-Sided Amplitude Spectrum of y(t) with interpolation') xlabel('Frequency (Hz)') ylabel('|Y(f)|') -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.147.93 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1431584266.A.240.html

05/14 19:10, , 1F
在時域捕零
05/14 19:10, 1F
大大我了解在時域補零等同取樣時間拉長,可以提高頻域解析度,但是原本訊號不就 走鐘了嘛?這樣fft後還是不準>.< ※ 編輯: pttercake (36.234.147.93), 05/16/2015 17:12:26 自回一下,後來發現取樣頻率不變下,增加取樣時間(取樣數目增加),頻域解析度就 會提高! ※ 編輯: pttercake (36.232.132.202), 06/05/2015 08:02:19
文章代碼(AID): #1LL3uA90 (MATLAB)