Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

opencl_fft1d_x64_linux_14 fft algorithm is broken

The FFT algorithm in the opencl 1d fft sample isn't implemented correctly. In the example, the program generated random numbers for the fft input. It is then computed by the fft1d kernel, and checked by a c fft function fourier_transform_gold. Even though the c function fourier_transform_gold shows that the kernel calculated output is almost identical of the c output. The function fourier_transform_gold itself is not implemented correctly. This is checked by using a real sine wave and checking the magnitude output of the fft output.

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The algorithm is not broken. The output of fourier_transform_gold is just bit reversed. Apologize for my mistake.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Then, when opencl_fft1d_x64_linux_14 fft algorithm can be fixed in order, NOT like this in bit reversed order? I hope it could be upgraded with ordered result.

    Also, I need radix 2 FFT algorithm, can compute 512 FFT or 2048 FFT, even though radix 2 FFT algorithm do much more multiplication and less addition than radix 4 FFT in FPGA board.