• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: C/C++
  • 标签: C++  FFT  

资源简介

自己写的基4FFT,主要是了解fft编程思想,实验结果正确。在此基础可以扩展到64,256点等的基4FFT。

资源截图

代码片段和文件信息

//2011-11-04
//general
//points 16 radix4 dit-fft




#include 
using namespace std;

int main()
{
float dataR[16]dataI[16];

int x0x1x2x3;
int Ljkbpi;
float TRTITBRTBIT2BRT2BIT3BRT3BI;

float COS[10]SIN[10];

int xx;
cout<<“16 points fft “<int a[16];


for(i=0;i<16;i++)
{
a[i]=0;
}

for(i=0;i<16;i++)
{
a[i]=i;
cout<<“a[“<}



/////////////////////////////



cout<<“\n“<<“invert sequence: “<
///////////////////////////
for(i=0;i<16;i++)
{
dataR[i]=a[i];
}


////////////////////////////////////////////wnp table

{
COS[0]=1;SIN[0]=0;
COS[1]=0.92388f;SIN[1]=-0.382683f;
COS[2]=0.707107f;SIN[2]=-0.707107f;
COS[3]=0.382683f;SIN[3]=-0.92388f;
COS[4]=0;SIN[4]=-1;
COS[5]=-0.382683f;SIN[5]=-0.92388f;
COS[6]=-0.707107f;SIN[6]=-0.707107f;
COS[7]=-0.92388f;SIN[7]=-0.382683f;
COS[8]=-1;SIN[8]=0;
COS[9]=-0.923879f;SIN[9]=0.382684f;


}



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

}


for(i=0;i<16;i++)
{ dataR[i]=dataI[i]; dataI[i]=0; 


}
for(i=0;i<16;i++)
{
cout<<“iv[“<}
cout</************** following code FFT *******************/
for(L=1;L<=2;L++) 
{ /* for(1) */
b=1; i=L-1;
cout<<“\n“<<“L=“< w

评论

共有 条评论