512点的FFT求助

2019-03-26 15:46发布

void fft32_Part2(int32 *DataIn1)
{
        int32 real_tmp, imag_tmp;
        int16 i, j, k;
        j = 0;
        for (i = 1; i < (256-1); i++)       
        {
                k = 256 >> 1;

                while (k <= j)
                {
                  j -= k;
                  k >>= 1;
                }

                j += k;
               
                if (i < j)
                {                       
                        real_tmp = DataIn1[j*2];
                        DataIn1[j*2] = DataIn1[i*2];
                        DataIn1[i*2] = real_tmp;
                        imag_tmp = DataIn1[j*2+1];
                        DataIn1[j*2+1] = DataIn1[i*2+1];
                        DataIn1[i*2+1] = imag_tmp;
                }
        }
}这个倒位序的程序,我看不出来它倒的位序的规律,希望推敲出来的朋友予以点拨,急求! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。