MATLAB:从FFT2频谱中获取功率直方图

时间:2016-11-15 17:46:42

标签: matlab fft histogram dft

我正在尝试获取某些图像的所有频率的1D功率直方图。我将描述到目前为止我所做的事情。

  1. 阅读图像(如有必要,转换为灰度)
  2. 计算FFT2并将其移位
  3. 在傅立叶域中,应用一些过滤器
  4. 重新转换为空间域并显示(用于过滤器工作的可视化验证)

  5. FFT2和fftshift新创建的图像(可选,我也可以使用以前的ifft2输入)

  6. 计算功率谱,即。^ 2所有傅立叶域值
  7. 现在开始了棘手的部分。对于功率直方图,我必须获得所涉及的所有频率的特定频率的所有值。 对于一个连续的信号,我只是为所有频率从0到2pi进行积分,这就是它。

    但是我无法与离散值集成,至少我认为这是错误的。对于从0到2pi的积分,我必须将所有值与第0频率相加一定距离。 我不能这样做,因为那时我必须确定距离中心的距离,因为这些值位于方形矩阵中,所以距离会失败。 如果我要从有限宽度的环中总结出值,那么我必须确保不要多次选择一些值。

    也许我只是在想错误的方向,因为我对MATLAB相对较新。但是我该如何计算这样的功率直方图?

    Phreak

1 个答案:

答案 0 :(得分:0)

这看起来像你需要的:FEX

虽然我不确定为什么你不会只使用2D信息。