[問題]FFT後保留某頻率能量,再作IFFT

看板MATLAB作者 (haha)時間14年前 (2012/01/10 13:44), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
搜尋過IFFT的文章 好像跟我要做的都不太一樣 所以把我的問題po上來,請板上的高手指點 謝謝 我現在有一筆2922*1的資料dis_from_coast 想利用FFT找出變化頻率 參照matlab的demo寫成 relNums=dis_from_coast; Y = fft(relNums); Y(1)=[]; n=length(Y); power = abs(Y(1:floor(n/2))).^2; nyquist = 1/2; freq = (1:n/2)/(n/2)*nyquist; figure(1) FREQ=freq*365; %demo是一年一筆資料,我是一天一筆,所以乘以365 plot(FREQ,power) xlabel('cycles/year') ylabel('power') title('Periodogram') 如此可以得到主要變化頻率,也就是power最大的頻率 結果大約是0.99966cycles/year,約一年一次的頻率 如果我現在想要將這個主要頻率的power保留 然後將其他頻率的power歸零 接著再作IFFT得到轉換後的時間序列資料 請問該怎麼作比較好? 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.12.220

01/11 23:10, , 1F
除了那一根和對應的負頻保留,其餘設為0,再做ifft就好了
01/11 23:10, 1F

01/11 23:10, , 2F
不過因為LEAKAGE的關係,還原回來的東西可能和你想的不太同
01/11 23:10, 2F
文章代碼(AID): #1F2z1IDP (MATLAB)
文章代碼(AID): #1F2z1IDP (MATLAB)