资源简介
自己写的基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
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- CCS FFT c语言算法
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- FFT电流检测 stm32f4
- 颜色识别形状识别STM103嵌入式代码
- 基于STM32的音频信号采样与FFT分析
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
评论
共有 条评论