我有一个736个温度读数的向量,6-8月之间每3个小时一个,因此6-8月每天8个。
我需要对这个向量进行傅立叶分析。我已经将它正常化了。我到处搜索(因为我真的不懂matlab),我看到的所有这些分析都有迹象表明,你已经有了一个采样来比较它(比如1000 up不断出现)。采样间隔为3小时,采样时间为90天。我不知道该怎么做。任何帮助都会很有帮助。
谢谢你,我已经绝望了。
发布于 2013-11-03 09:50:14
FFT运算实际上与输入采样率无关。只有在执行FFT以解释输出频率之后,才使用采样率。
所以,基本上你可以对你的向量进行FFT,它会将离散时刻的736个样本转换成离散频率下的736个样本。这些频率由下式给出
F(k) = Fs * k / Nfft其中Fs是采样率,Nfft是FFT点数。FFT的输出向量将是复杂的。在大多数情况下,您需要采用输出的大小来产生与每个频率上的能量量成比例的值。
MATLAB代码可能如下所示:
x = %your input vector
Nfft = length(x);
Fs = 1 / (60 * 60 * 3); %1 / 3hrs
Xk = fft(x);
k = 0 : Nfft-1;
Fk = Fs * k / Nfft; %frequency vector
%plot frequency versus magnitude in dB scale
Plot(Fk, 20 * log10(abs(Xk)));您还需要注意其他几个问题:
假设你的输入是实数的,
我遗漏了很多细节,但我只是试图给你足够的信息来获得频率-震级图,而不会让事情变得不必要地复杂。
https://stackoverflow.com/questions/19747977
复制相似问题