28443|58

1170

帖子

0

TA的资源

至上芯片

楼主
 

全国电子设计大赛一等奖作品中FFT算法的源码 [复制链接]

第八届全国大学生电子设计大赛终于落下帷幕了.经过半年的努力,总算有了回报,拿了个全国一等奖.经过这段时间的历练,懂得了很多事和某些人,我觉得这是远远超过技术本身的收获. 我们做的是A题音频信号分析仪.主要核心是快速傅立叶算法(FFT)的实现.以下是我们写的实现1,2,4,8,16,32,64,128,256,512,1024,2048点的浮点FFT计算代码,利用查表的方法:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Writed by levension @SCUT
//
//Date:2007.09.04
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include"table.h"
#include
intcount[]={1,2,4,8,16,32,64,128,256,512,1024,2048};
/******************************************************
**2碟形算法
**dataR--采样点的实部的指针
**dataI--采样点的虚部的指针
**n--点数的幂指数
**0,1,2,3,4,5,6,7,8,9,10,11分别对应者点数
**1,2,4,8,16,32,64,128,256,512,1024,2048
******************************************************/
void FFT(float *dataR,float *dataI,int n)
{
int i,L,j,k,b,p,xx,qq;
int x[11]={0};
float TR,TI,temp;
/********** following code invert sequence************/
for(i=0;i { xx=0;
for(j=0;j x[j]=0;
for(j=0;j {x[j]=(i/count[j])&0x01;}
for(j=0;j {xx=xx+x[j]*count[n-j-1];}
dataI[xx]=dataR;
}
for(i=0;i {
dataR=dataI;
dataI=0;
}
/************** following code FFT*******************/
for(L=1;L<=n;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=n-L;
while(i>0)
/* p=pow(2,7-L)*j; */
{ p=p*2; i--;}
p=p*j;
for(k=j;k /* for (3) */
{
TR=dataR[k];
TI=dataI[k];
temp=dataR[k+b];
//QQ=2*pi*p/count[n];
qq=p*count[11-n];
//////////////////////////////查表/////////////////////////////////////
dataR[k]=dataR[k]+dataR[k+b]*cos_tab[qq]+dataI[k+b]*sin_tab[qq];
dataI[k]=dataI[k]-dataR[k+b]*sin_tab[qq]+dataI[k+b]*cos_tab[qq];
dataR[k+b]=TR-dataR[k+b]*cos_tab[qq]-dataI[k+b]*sin_tab[qq];
dataI[k+b]=TI+temp*sin_tab[qq]-dataI[k+b]*cos_tab[qq];
////////////////////////////////////////////////////////////////
}
/* END for (3) */
}
/* END for (2) */
}
for(i=0;i {
dataR=sqrt(dataR*dataR+dataI*dataI);
dataR=dataR/count[n-1];
}
dataR[0]=dataR[0]/2;
}



table[1].c.rar

8.2 KB, 下载次数: 766

rar

此帖出自电子竞赛论坛

最新回复

顶!!  详情 回复 发表于 2013-9-1 19:46

点评

顶!!  详情 回复 发表于 2013-9-1 19:46
点赞 关注
 
 

回复
举报

61

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

回复:全国电子设计大赛一等奖作品中FFT算法的源码

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑

顶一下啊!!好拽啊

 

此帖出自电子竞赛论坛
个人签名钟 然依为情所尽, 欣 颜非于心底印. 桐 丝为君发悲音, 蔡 林叶溪织怜影. 卓 行毋远难透心, 妍 媸心自有所明.
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

板凳
 

回复:全国电子设计大赛一等奖作品中FFT算法的源码

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑

一般一般,世界第三. 大家尽管放马过来~

 

此帖出自电子竞赛论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 

回复:全国电子设计大赛一等奖作品中FFT算法的源码

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑

顶一个

 

此帖出自电子竞赛论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复:全国电子设计大赛一等奖作品中FFT算法的源码

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑

Thanks!

 

此帖出自电子竞赛论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复:全国电子设计大赛一等奖作品中FFT算法的源码

丁页!
此帖出自电子竞赛论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

7
 

好东西

感谢楼主的无私奉献,慢慢学习中。。
此帖出自电子竞赛论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

8
 

Re: 全国电子设计大赛一等奖作品中FFT算法的源码

Thanks!
此帖出自电子竞赛论坛
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

9
 
这类资源很稀少,多谢楼主无私分享~
此帖出自电子竞赛论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

10
 
学习了!!!!
此帖出自电子竞赛论坛
 
 
 

回复

37

帖子

0

TA的资源

一粒金砂(高级)

11
 
FFT的算法总算可以见识一下了
此帖出自电子竞赛论坛
 
 
 

回复

190

帖子

0

TA的资源

裸片初长成(初级)

12
 
算法类的好像接触得挺少的,先收藏了
此帖出自电子竞赛论坛
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(高级)

13
 
谢谢  分享
此帖出自电子竞赛论坛
 
 
 

回复

66

帖子

0

TA的资源

纯净的硅(高级)

14
 

学习了

学习了:'( :'( :'( :'(
此帖出自电子竞赛论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

15
 
顶起!!!!!!!!!!!11
此帖出自电子竞赛论坛
 
 
 

回复

73

帖子

0

TA的资源

纯净的硅(中级)

16
 
一般一般,世界第三. 大家尽管放马过来
此帖出自电子竞赛论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

17
 
感谢楼主,有个注释的话就更好了
此帖出自电子竞赛论坛
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(中级)

18
 
学习中 、、、、
此帖出自电子竞赛论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

19
 
今年很可能还会车fft 看看
此帖出自电子竞赛论坛
 
 
 

回复

12

帖子

0

TA的资源

纯净的硅(中级)

20
 
好啊!!
我就需要这个
此帖出自电子竞赛论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表