gpt4 book ai didi

c - 如何在 C 中使用给定的 FFT 函数?

转载 作者:行者123 更新时间:2023-12-04 06:43:08 25 4
gpt4 key购买 nike

对不起,这是我第一次在这里提问,我已经给出了一个FFT函数

void fft_1d(int n, float xr[256], float xi[256], int ntype)
{
/* compute the FFT of a complex signal
xr and xi are the real and imaginary parts respectively
xr and xi contain the signal as input and the FT as output
n is the number of points, it should be a power of 2
ntype is set to 1 for forward transform and -1 for inverse transform
*/

并且我被告知要扩展此功能以执行给定图像的 2D (DFT)。

我的问题是:
  • 我可以获得给定图像的每个强度值,但是如何处理 fft_1d 的复杂组件(实部/虚部)?换句话说,我应该在参数float xr[256]里放什么?和 float xi[256]为了做图像的 2D (DFT)?

  • 感谢您的关注!

    最佳答案

    图像通常是仅实函数。因此,您可以在调用 FFT 函数时将实输入设置为图像值,将虚输入设置为零。

    但是,为了执行 2D FFT,您必须首先在每一行上调用 1D FFT,然后在结果的每一列上调用 1D FFT。这些中间结果将是复杂的,并且必须按原样传递给第二组 FFT。

    关于c - 如何在 C 中使用给定的 FFT 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995628/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com