2013-12-14 133 views
1

我知道这可能是一个基本问题,但我在Matlab中应用fft函数时遇到了限制。 我从这个规范的时间序列:功率谱密度和FFT

bdf=0.005; 
fHighCut=0.2; 
maxTime=600; 
freq=1/maxTime:df:fHighCut; 
w=2*pi*freq; 
time=linspace(0,600,length(freq)*10); 

我的时间序列lloks像: enter image description here

它的长度是400秒。我想从它创建PSD但现在看来,我获得对称的,以及像:enter image description here

用以下命令:

timestepFFT=1/time(end); 
freqFFT=(1:length(time))*1/time(end); 
amplitudeEtaSeries=abs(fft(etaSeries)/length(time)); 
powerSpectrumEtaSeries=amplitudeEtaSeries.^2/timestepFFT; 
powerSpectrumEtaSeries(1)=0; 

你能帮帮我吗? THanks

+1

你需要使用'fftshift',请阅读http://www.mathworks.com/help/matlab/ref/fftshift.html – bla

回答