需要帮助完成Java中未完成的FFT位反转实现

时间:2015-05-11 21:32:10

标签: java algorithm fft

我接管了一些用于在图像上运行FFT算法的代码。 FFT实现不完整,包含以下部分:

public Complex[] doFFT(Complex[] data, int size){
    Complex[] temp = new Complex[size];

    int j=0;
    int k;
    for(int i=0; i<size;i++){
        temp[i] = data[j];
        while((j>=k) && (k>0)){
            k /=2;
        }
        j+=k;
    }

...

}

其中data是复数的1D输入数组,size是data的长度,temp是完成所有FFT算法后的输出数组。这个特殊的块被认为是“反转”。算法的一步。

我从未见过用这种方式做过点反转。显然k没有初始化,我不知道作者试图用它做什么。我尝试使用k = 0k = sizek = size/2对其进行跟踪,似乎没有人提供我正在寻找的输出。

任何人都可以破译作者试图在这里做什么或建议更好的实施吗?

0 个答案:

没有答案