功率谱密度和FFT

时间:2013-12-14 17:52:08

标签: matlab

我知道这可能是一个基本问题但我在Matlab中应用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

它的长度是400s。我想从中创建PSD,但似乎我正在获取symetric: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;
你能帮帮我吗?感谢

1 个答案:

答案 0 :(得分:1)

请阅读这篇文章。使用fft计算功率谱密度总是产生对称PSD。所以忽略fft输出的后半部分,详细信息可以在这里找到: http://www.mathworks.se/help/signal/ug/psd-estimate-using-fft.html