我知道这可能是一个基本问题但我在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如:
它的长度是400s。我想从中创建PSD,但似乎我正在获取symetric:
使用以下命令:
timestepFFT=1/time(end);
freqFFT=(1:length(time))*1/time(end);
amplitudeEtaSeries=abs(fft(etaSeries)/length(time));
powerSpectrumEtaSeries=amplitudeEtaSeries.^2/timestepFFT;
powerSpectrumEtaSeries(1)=0;
你能帮帮我吗?感谢
答案 0 :(得分:1)
请阅读这篇文章。使用fft计算功率谱密度总是产生对称PSD。所以忽略fft输出的后半部分,详细信息可以在这里找到: http://www.mathworks.se/help/signal/ug/psd-estimate-using-fft.html