background image

        t=EE(xin[ip],u);                    //蝶形运算,详见公式
        xin[ip].real=xin[i].real-t.real;
        xin[ip].imag=xin[i].imag-t.imag;
        xin[i].real=xin[i].real+t.real;
        xin[i].imag=xin[i].imag+t.imag;
       }
      u=EE(u,w);                           //改变系数,进行下一个蝶形运算
     }
   }
  }
  
}

/************************************************************
函数原型:void main() 
函数功能:测试 FFT 变换,演示函数使用方法
输入参数:无
输出参数:无
************************************************************/
void main()   
{  
  int i;
  for(i=0;i<FFT_N;i++)                           //给结构体赋值
  {
     s[i].real=sin(2*3.141592653589793*i/FFT_N); //实部为正弦波 FFT_N 点采样,赋值为 1
     s[i].imag=0;                                //虚部为 0
  }
  
  FFT(s);                                        //进行快速福利叶变换
  
  for(i=0;i<FFT_N;i++)                           //求变换后结果的模值,存入复数的实部部分
  s[i].real=sqrt(s[i].real*s[i].real+s[i].imag*s[i].imag);
 
   while(1);
}