【问题标题】:How to obtain wavenumber of FFT?如何获得 FFT 的波数?
【发布时间】:2019-06-23 12:02:39
【问题描述】:

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

代码:

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

【问题讨论】:

  • 我认为您必须为您的问题提供更多详细信息,因为目前尚不清楚您真正想要实现的目标。另外,请查看如何创建minimal reproducible example

标签: matlab fft


【解决方案1】:

波数是均匀间隔的空间频率,以与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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-22
    • 2019-06-24
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 2021-09-26
    • 1970-01-01
    相关资源
    最近更新 更多