新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的64点FFT处理器设计

基于FPGA的64点FFT处理器设计

作者: 时间:2009-08-25 来源:网络 收藏

不同于以往的基-4算法,这里是将输入的64点数据以8位输入数据为一组,共分成8组的方式输入给运算单元进行运算的。完整的FFT蝶形运算共分6级,经历196个循环状态。将来自存储单元的数据输入到FFT运算单元中,前三级是按8位1组的方法,分为8组进行运算;后三级是将前三级运算所得到的中间数据送入运算单元进行运算。经过FFT运算后,将所得到运算结果写入存储单元中保存。结果以倒位序方式输出,需要经过调整位序变换成为自然顺序输出。

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

2 FFT运算器设计
2.1 系统的整体结构
一个完整的FFT运算单元应该包括以下几个组成部分:
全局控制单元包括控制器和地址产生单元,用于调控整个FFT运算系统,生成蝶形运算单元以及其他子单元所需的地址,控制各子单元时序,保证其正常有序地工作;
蝶形运算器单元 由蝶形运算器和旋转因子存储单元(ROM)组成,负责将送入的输人数据进行蝶形运算,是FFT运算器的核心单元;
存储寄存器单元 采用两个RAM乒乓通信,通过通信接口单元接收总线控制信号,负责存储输入数据、中间数据和运算所得最终结果。
系统整体框图如图1所示。

3 实验结果验证
这里的FFT运算器通过硬件描述语言VHDL代码进行编写,在ModelSimSE PLUS 6.1f环境下完成系统仿真,波形仿真如图3所示。
由波形仿真图可以看出,地址控制单元以3位二进制编码定义各子单元的地址,存储的数据在时序信号和地址总线单元控制下进行FFT运算。实验证明,当外部时钟频率为40 MHz时,可以对随机生成的64点序列进行FFT定点运算,运算时间为10μs。

4 结 语
这里的FFT运算器采用定点数处理,当处理浮点数时,系统存在处理异常、数据溢出等问题。但是由于可以迅速处理多点数信号,因此在数字图像处理、实时通信系统的调试和解调等方面具有一定的实际意义,达到了使用实现DSP算法的目的。
本文在以下方面有所创新:
(1)输入的64位数据以8位共8组的方式并行输入,将FFT运算流程分为6级,整个FFT运算过程清晰,结构合理,提高了运行效率。
(2)使用2块双口RAM作为存储器,采用“乒乓操作”,在一个时钟周期内保证数据传递的单向性,减少了数据传输的冗余,提高了精度。
(3)将整个FFT运算器进行模块化设计,在控制模块的调配下,各个子模块准确工作,保证了运算的可靠性。


上一页 1 2 下一页

关键词:FPGAFFT处理器

评论


相关推荐

技术专区

关闭