fbit_rev.c

来自「本代码实现了基于TITMS320VC55xx系列的fft实现」· C语言 代码 · 共 34 行

C
34
字号
/* 
   fbit_rev.c
   Arrange input samples in bit-reverse addressing order
         - the index j is the bit reverse of i 
*/

#include "fcomplex.h"    /* floating-point complex.h header file */

void bit_rev(complex *X, int EXP)
{
    unsigned int i,j,k;
    unsigned int N=1<<EXP; /* Number of points for FFT */
    unsigned int N2=N>>1;
    complex temp;	/* temporary storage of the complex variable */	
	
    for (j=0,i=1;i<N-1;i++)
    {
        k=N2;
        while(k<=j)
        {
           	j-=k;
            k>>=1;
        }
        j+=k;

        if (i<j)
        {
          temp = X[j];
          X[j] = X[i];
          X[i] = temp;
        }
    }  
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?