ibit_rev.c

来自「基于tms320vc55*系列DSP常用算法」· C语言 代码 · 共 31 行

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

#include "icomplex.h"    /* integer complex.h header file */

void bit_rev(complex *X, unsigned 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 int 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 + -
显示快捷键?