• 大小: 486KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: C/C++
  • 标签: FFT/C语言  

资源简介

压缩包中的fft.c包含了所有子程序和main,可以直接运行。另一个文件夹是基于TMS320C5509软仿的工程。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#define N 8      /* N应为2^m */
#define pi 3.1415926
/*FFT快速傅里叶变换*/


/*十进制转化成m位二进制数*/
int dec2bin(int k int *bin int m)
{
  int i;
  if (k > pow(2m)-1 || k<0)
  {
      printf(“输入十进制数超出m位二进制数的表示范围!\n“);
      return 0;
      }
 for (i=0; i  {
    if(k>=pow(2m-1-i))
    {
   bin[i] = 1;
   }
         else
         {
    bin[i] = 0;
    }
         k = k % (int)pow(2m-1-i);
 } 
return 0; 



/*m位二进制数转换成10进制*/
int bin2dec(int *bin int m)
{
  int idec=0;
  for (i=0; i  {
  dec = dec + (*(bin+i))*pow(2(m-i-1));
    }
return dec;    
  }

/*将m位的数组倒序*/
int flpr(int *bin int m)
{//方法:把第0个元素和最后一个元素交换位置,再把第1个元素和倒数第二个元素交换位置以此类推 
  int x = m/2;
  int i;
  int tmp = 0;
  for (i=0; i<=x; i++)
  {//交换第i个元素和第m-1-i个元素 
  tmp = *(bin+i);
  *(bin+i) = *(bin+m-1-i);
  *(bin+m-1-i) = tmp; 
    }
    return 0; 
}
 

/*用结构体定义复数,并定义复数的运算规则*/
typedef struct ComplexData{
double real;
double imag;
}Complex;


Complex InitComplex(double c_r double c_i)
{//复数初始化 
  Complex z;
  z.real = c_r;
  z.imag = c_i;
  return z;
  }

double GetReal(Complex z)
{//取复数的实部 
     return z.real;
     }

double GetImag(Complex z)
{//取复数的虚部 
     return z.imag;
     }

Complex AddComplex(Complex z1 Complex z2)
{//复数的加法 
        Complex z3;
  z3.real = z1.real + z2.real;
  z3.imag = z1.imag + z2.imag;
  return z3;
  }

Complex SubComplex(Complex z1 Complex z2)
{//复数的减法 
        Complex z3;
  z3.real = z1.real - z2.real;
  z3.imag = z1.imag - z2.imag;
  return z3;
  }

Complex MulComplex(Complex z1 Complex z2)
{//复数的乘法
    Complex z3; 
  z3.real = z1.real*z2.real - z1.imag*z2.imag;
  z3.imag = z1.real*z2.imag + z1.imag*z2.real;
  return z3;
  }

Complex DivComplex(Complex z1 Complex z2)
{//复数的除法 
        Complex z3;
  z3.real = (z1.real*z2.real + z1.imag*z2.imag)/(z2.real*z2.real - z2.imag*z2.imag);
  z3.imag = (z1.imag*z2.real - z1.real*z2.imag)/(z2.real*z2.real - z2.imag*z2.imag);
  return z3;
  }

Complex PowComplex(Complex z1 int p)
{//求复数的p次方
int i;
Complex z2 = {00};
if(p==0) 
{
   z2.real = 1;
   z2.imag = 0;
   return z2;
   }
    z2.real = cos(2.0*pi*p/N);
    z2.imag = -sin(2.0*pi*p/N);
    return z2;
  }


/*将输入序列x(n)的顺序重置,规则是将每个序列号的2进制码反向排列再转化成10进制序号*/
void reorder(double *ori_xn double *xn int m)
{
   int k;
     for (k=0; k< N; k++)
     {
    int k_pie = 0;
    int *bin = (int *)malloc(m*sizeof(int));
    dec2bin(k bin m);
 flpr(bin m);
 k_pie = bin2dec(binm);
 *(xn+k) = *(ori_xn+k_pie); 
 free (bin);
   } 
}


/*FFT变换过程*/
void FFTtrans(double *pxn_re double *pxn_im double *pXK_re double *pXK_im)
{
  int LBJPkm;
  double tmp_re ;
  double tmp_im ;
  //Complex WN = {cos(2*pi/N)-sin(2*pi/N)};  //cos()函数的输入参数是弧度,要把角度转换成弧度:弧度=pi/180*角度

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件          0  2017-04-19 08:57  case_FFT\.metadata\.lock

     文件     488291  2017-04-20 11:54  case_FFT\.metadata\.log

     文件        438  2017-04-19 08:59  case_FFT\.metadata\.mylyn\repositories.xml.zip

     文件       1469  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.builddefinitions.generator\5.5.0\C5400.xml

     文件      93396  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.builddefinitions.generator\5.5.0\C5400_4.1.xml

     文件       1469  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.builddefinitions.generator\5.5.0\C5500.xml

     文件     103416  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.builddefinitions.generator\5.5.0\C5500_3.3.xml

     文件       1469  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.builddefinitions.generator\5.5.0\C6000.xml

     文件      60725  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.builddefinitions.generator\native\C5500_3.3.2.xml

     文件        899  2017-04-20 13:45  case_FFT\.metadata\.plugins\com.ti.ccstudio.project.ui\dialog_settings.xml

     文件     281794  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.project.ui\resexplorer\com.ti.rtsc.SYSBIOS_6.35.4.50_926f35d2.xml

     文件     143517  2017-04-19 08:57  case_FFT\.metadata\.plugins\com.ti.ccstudio.project.ui\resexplorer\com.ti.uia_1.3.1.08_117d13ac.xml

     文件        144  2017-04-20 13:45  case_FFT\.metadata\.plugins\com.ti.dvt.analyzersuite\TransportParams.xml

     文件        909  2017-04-20 13:45  case_FFT\.metadata\.plugins\com.ti.dvt.datamodel\SolutionMgr.xml

     文件        254  2017-04-20 13:45  case_FFT\.metadata\.plugins\com.ti.dvt.ideadapter\IDEAdapterMgr.xml

     文件       1092  2017-04-20 13:45  case_FFT\.metadata\.plugins\org.eclipse.cdt.core\.log

     文件     110592  2017-04-20 13:45  case_FFT\.metadata\.plugins\org.eclipse.cdt.core\FFTtrans.1492563761645.pdom

     文件        377  2017-04-20 13:45  case_FFT\.metadata\.plugins\org.eclipse.cdt.dsf.ui\dialog_settings.xml

     文件          1  2017-04-19 08:57  case_FFT\.metadata\.plugins\org.eclipse.cdt.make.core\specs.c

     文件          1  2017-04-19 08:57  case_FFT\.metadata\.plugins\org.eclipse.cdt.make.core\specs.cpp

     文件        226  2017-04-20 13:45  case_FFT\.metadata\.plugins\org.eclipse.cdt.ui\dialog_settings.xml

     文件       1468  2017-04-20 13:45  case_FFT\.metadata\.plugins\org.eclipse.cdt.ui\FFTtrans.build.log

     文件       1468  2017-04-20 13:45  case_FFT\.metadata\.plugins\org.eclipse.cdt.ui\global-build.log

     文件        207  2017-04-19 10:29  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\0\a066fa00aa24001711b3bd5773d1a537

     文件       3460  2017-04-19 13:38  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\1\000a51e0d924001717f586cdb96fe0ee

     文件        289  2017-04-19 16:14  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\1\721d6635d824001717f586cdb96fe0ee

     文件       3029  2017-04-19 10:19  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\1\905fe561a724001711b3bd5773d1a537

     文件       3637  2017-04-20 10:43  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\1\a099079c73250017142c934683177762

     文件        325  2017-04-19 16:26  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\1\e0944decd924001717f586cdb96fe0ee

     文件       3615  2017-04-20 10:29  case_FFT\.metadata\.plugins\org.eclipse.core.resources\.history\1\f0b03c2071250017142c934683177762

............此处省略866个文件信息

评论

共有 条评论

相关资源