作者jiahunglin (haha)
看板MATLAB
標題[問題]FFT後保留某頻率能量,再作IFFT
時間Tue Jan 10 13:44:47 2012
搜尋過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
1F:→ qeagle:除了那一根和對應的負頻保留,其餘設為0,再做ifft就好了 01/11 23:10
2F:→ qeagle:不過因為LEAKAGE的關係,還原回來的東西可能和你想的不太同 01/11 23:10