基于FPGA的高速定点FFT算法的设计方案

[09-12 18:26:07]   来源:http://www.88dzw.com  EDA/PLD   阅读:8669

文章摘要:2.3 运算结构Radix-4蝶形运算单元是整个FFT处理器中的核心部件。在用Radix-4运算器计算时需要并行输入数据,如果能以并发数据输入的话,则同步性和控制度较好,但实际上常要进行串并之间的转换。存储RAM按单节拍输出16 b位宽数据,选择器不停旋转送入到确定的位置,每4点全部到位后R-4使能有效;然后4个时钟节拍得到有效结果数据,再通过选择器旋转送入到对应存储 RAM中。复数运算中,对应复数的实部和虚部RAM用同一个地址发生器。地址发生器在进行RAM地址发生时采用两套地址,第一套是计数器按时钟节拍顺序产生的,用于输入数据的存储;第二套是由数据宽度为16 b的ROM产生的,ROM中存放的

基于FPGA的高速定点FFT算法的设计方案,标签:eda技术,eda技术实用教程,http://www.88dzw.com

  2.3 运算结构

  Radix-4蝶形运算单元是整个FFT处理器中的核心部件。在用Radix-4运算器计算时需要并行输入数据,如果能以并发数据输入的话,则同步性和控制度较好,但实际上常要进行串并之间的转换。存储RAM按单节拍输出16 b位宽数据,选择器不停旋转送入到确定的位置,每4点全部到位后R-4使能有效;然后4个时钟节拍得到有效结果数据,再通过选择器旋转送入到对应存储 RAM中。

  复数运算中,对应复数的实部和虚部RAM用同一个地址发生器。地址发生器在进行RAM地址发生时采用两套地址,第一套是计数器按时钟节拍顺序产生的,用于输入数据的存储;第二套是由数据宽度为16 b的ROM产生的,ROM中存放的数据为下级运算所需倒序的序列地址,发生地址给RAM,然后RAM按倒序地址输出下级需要进行运算的数据。

  2.4 块浮点结构

  数字信号处理系统可分为定点制、浮点制和块浮点制,它们在实现时对系统资源的要求不同,工作速度也不同,有着不同的适用范围。定点制算法简单,速度快,但动态范围有限,需要用合适的溢出控制规则(如定比例法)适当压缩输入信号的动态范围。浮点表示法动态范围大,可避免溢出,但系统实现复杂,硬件需求量大,速度慢。

  为了提高精度,并减少复杂度和存储量,采用块浮点结构。块浮点算法是以上两种表示法的结合。这种表示方法是,一组数共用同一个阶码,这个阶码是这组数中最大数的阶码。块浮点算法无需进行额外的指数运算,仅对尾数进行运算即可,其与定点运算一样方便,但需要在每级运算结束后进行本级运算溢出最大位数判断,以对数据块进行块指数调整。在调整时仅保留一位符号位,因而能够充分利用有限位长。这样处理比定点方法扩大了动态范围,并且提高了精度,比浮点运算在速度上有了提高。块浮点结构如图4所示。


  3 结 语

  着重讨论基于FPGA的64点高速FFT算法的实现方法。采用高基数结构和流水线结构,大大提高了FFT处理器的运行速度。同时块浮点结构的引入,也大幅减少了浮点操作占用FPGA器件的资源数目,兼顾了FPGA高精度、低资源、低功耗的特点。从实验结果看,该方法可以满足高速实时处理数字信号的要求。


上一页  [1] [2] 


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD
分类导航
最新更新
热门排行