⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 128fft.txt

📁 128FFT算法
💻 TXT
字号:
void FFT(float dataR[],float dataI[])
      {
      int x0,x1,x2,x3,x4,x5,x6;
      int L,j,k,b,p;
      float TR,TI,temp;

   **********following code invert sequence*******
    for(i=0;i<128;i++)
      {
      x0=x1=x2=x3=x4=x5=x6=0;
       x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01;
        x4=(i/16)&0x01; x5=(i/32)&0x01; x6=(i/64)&0x01;
        xx=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6;
        dataI[xx]=dataR[i];
       }
     for(i=0;i<128;i++)
    {dataR[i]=dataI[i]; dataI[i]=0;}

 ********following code FFT*********
    for(L=1;L<=7;L++)   {   /*   for(1)   */   
  b=1;   i=L-1;   
  while(i>0)     
  {b=b*2;   i--;}   /*   b=   2^(L-1)   */   
  for(j=0;j<=b-1;j++)   /*   for   (2)   */   
  {   p=1;   i=7-L;   
  while(i>0)   /*   p=pow(2,7-L)*j;   */   
  {p=p*2;   i--;}   
  p=p*j;   
  for(k=j;k<128;k=k+2*b)   /*   for   (3)   */   
  {   TR=dataR[k];   TI=dataI[k];   temp=dataR[k+b];   
  dataR[k]=dataR[k]+dataR[k+b]*cos_tab[p]+dataI[k+b]*sin_tab[p];   
  dataI[k]=dataI[k]-dataR[k+b]*sin_tab[p]+dataI[k+b]*cos_tab[p];   
  dataR[k+b]=TR-dataR[k+b]*cos_tab[p]-dataI[k+b]*sin_tab[p];   
  dataI[k+b]=TI+temp*sin_tab[p]-dataI[k+b]*cos_tab[p];   
  }   /*   END   for   (3)   */   
  }   /*   END   for   (2)   */   
  }   /*   END   for   (1)   */   
  for(i=0;i<32;i++){   /*   只需要32次以下的谐波进行分析   */   
  w[i]=sqrt(dataR[i]*dataR[i]+dataI[i]*dataI[i]);   
  w[i]=w[i]/64;}   
  w[0]=w[0]/2;   
  }   /*   END   FFT   */  
    

⌨️ 快捷键说明

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