我在3.14(m)域中有一系列192个数据。 我使用“ fft”命令绘制能谱。 如何计算每个网格的波数(k)?
代码:
data= load('data.txt');
PHI = fft(data);
% K=?? ;
%loglog(K,abs(PHI));
答案 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);