我接管了一些用于在图像上运行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 = 0
,k = size
和k = size/2
对其进行跟踪,似乎没有人提供我正在寻找的输出。
任何人都可以破译作者试图在这里做什么或建议更好的实施吗?