我正在尝试计算 3D 功率谱——即频率壳中的平均功率。我想我正确地计算了壳密度,我只是不确定如何确定每个壳的频率。
假设每个维度的采样率Fs
相同,每个维度的原始样本长度也为相同的值N
。外壳“索引”是 idx = sqrt(i*i + j*j + k*k)
其中 i、j 和 k 是每个方向的范围。如何计算此 shell 的频率?
最佳答案
它比您想象的要简单: vector (i, j, k)
已经是 wave vector ,因此您可以通过获取其长度并将其除以立方体边缘的长度来获得相关频率。
f = sqrt(i*i + j*j + k*k)/edgelength
结果是空间频率。如果您正在寻找时间频率,则需要一些将两者联系在一起的附加信息。
您唯一需要注意的是零频率在 fft 变换立方体中的位置:一些算法会将其放置在左上角,其他算法会将其放置在中心。无论在哪里,您都需要注意不要将低频误解为相反方向的混叠高频,即。 e. i, j, k
的绝对值应始终小于立方体宽度的一半。
关于c++ - 在 fftw 中计算 3D 功率谱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729067/