bit_reversal.c

来自「用dsp解压mp3程序的算法」· C语言 代码 · 共 32 行

C
32
字号
/******************************************************************** 
* bit_reversal.c - Arrange input samples in bit-reverse order for FFT
*                    the index j is the bit reverse of i                 
*
********************************************************************/

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

void bit_reversal(complex *x, unsigned int M)
{
  unsigned int i,j,k;
  unsigned int N = 1<<M;	/* no. of FFT point N = 2^M        */
  unsigned int N2 = N>>1;	/* N/2                             */
  complex temp;			/* complex temporary storage       */
  for (j=0,i=1;i<N-1; i++){
    k = N2;
    while(k<=j){
      j-=k;
      k>>=1;
    }
    j += k;
    if (i < j){	         /* swapping samples in bit-reversal order */
      temp = x[j];
      x[j]=x[i];
      x[i]=temp;
    }
  }
}



⌨️ 快捷键说明

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