如何获得FFT的波数?

时间:2019-06-23 12:02:39

标签: matlab fft

我在3.14(m)域中有一系列192个数据。 我使用“ fft”命令绘制能谱。 如何计算每个网格的波数(k)?

代码:

data= load('data.txt');
PHI = fft(data);
% K=?? ;
%loglog(K,abs(PHI));

1 个答案:

答案 0 :(得分:0)

波数是均匀间隔的空间频率,以与FFT bin frequencies for temporal signals类似的方式获得。因此,您可以使用以下方法计算它们:

K = [0:(len(data)-1)]/len(data) * (192/3.14);

请注意,这将给出有意义的波数,直到len(data)/2 - 1的奈奎斯特极限。除此之外,您可能更喜欢使用负波数:

N = len(data);
K = [[0:(floor(N/2)-1)] ; [floor(N/2):(N-1)]-N]/N * (192/3.14);