作者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