新闻中心

EEPW首页>测试测量>设计应用> FFT实时谱分析系统的FPGA设计和实现

FFT实时谱分析系统的FPGA设计和实现

作者:刘桂华, 傅佑麟, 严 平 时间:2008-09-12 来源:电子技术应用 收藏
2.4 旋转因子产生模块

  在一个基-4蝶形运算单元中,包含WP、W2P和W3P三个旋转因子,每组基-4蝶形运算的第一个输出数据所乘的旋转因子总为1。在同一个蝶形组内,p值是不变的,因而只需确定一个p值,三个旋转因子便可确定下来。每当一个基-4蝶形组计算完毕而转入下一个蝶形组时,p值改变一次,其变化的顺序恰好是(L-1)位四进制数顺序加1的倒序输出。由此可以根据蝶形运算的级数和四点的节点位置计算出对应的旋转因子的角度。

  由于=cos()-jsin(),在程序中将小数cos()和-sin()转换成定点数,变换为二进制数进行计算。

  本设计的复乘运算采用实现,需要输入角度值作为进行复乘运算的相应旋转因子的角度,因此旋转因子产生模块输出的数据即对应旋转因子的角度值,模块中包括10位计数器和一个计算输出进程。程序的运算流程如图5所示。

本文引用地址://m.amcfsurvey.com/article/88001.htm

  本设计采用直接计算旋转因子的方法,不需要产生旋转因子的读取地址和额外的ROM资源,简化了设计,但需要一直进行角度值的计算,增加了系统的运算时间。

3实时频谱分析系统的实现

  本设计采用Synplicity公司的逻辑综合软件Synplify7.1 pro进行设计综合,用Xilinx的ISE6.1布局布线。实现后的系统的时序分析结果表示,系统有9.139ns的延迟,系统时钟周期可达10.817ns,系统频率达到92.4MHz。当系统频率为90MHz时,1024点运算需要的时间大约为68.3μs,完全可以满足实时处理的要求。本文采用Xilinx公司的Virtex-Ⅱxc2v500 fg456-5器件实现系统,设计使用资源状况如表1所示。

  本FFT实时谱分析系统采用定点运算方案,输入为12位复数数据,输出为14位复数数据。采用方波信号进行测试,其参数为:脉冲幅度H=100,脉冲宽度M=10。本FFT实时谱分析系统输出的幅值如图6所示,输出的幅值的相对误差如图7所示。相对误差较大的一些点均出现在标准FFT输出的幅值很小的点上,这是由于有限字长效应引起相对误差造成的。同时由于采用的算术运算方案是定点运算,加剧了小信号的信噪比的恶化。但在实际应用中这些输出幅值很小的点会被判别为频谱上的噪声点,对实际的频谱分析影响不大,故对系统的误差影响并不大。而在标准FFT输出的幅值较大的点上,相对误差则很小。

  本设计全部由VHDL语言实现,采用自顶向下的设计方法,完成了一个1024点FFT实时谱分析系统。该FFT采用了基-4原位算法,既保证了运算速度,又节省了硬件资源。该FFT通过实现复乘,较传统的复乘运算节省了大量的ROM资源,同时采用了流水线结构,加快了运算速度。

参考文献

1 刘淩,胡永生. 数字信号处理的实现. 北京:清华大学出版社,2002
2 李广军,孟宪元. 可编程ASIC 设计及应用[M].成都:电子科技大学出版社,2000
3 刘朝晖, 韩月秋.用实现FFT 的研究[J].北京:北京理工大学学报,1999;19(2):234~238
4 Volder J E.The CORDIC Trigonometric Computing Technique IRE.Trans.on Electronic Computer,1959(9)


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭