1024点浮点FFT处理器的研究与实现
发布时间:2020-10-30 13:33
FFT处理器在语音识别,图像处理和频谱分析等有着广泛的应用,在OFDM系统中各子载波的调制解调采用一个实时的快速傅里叶变换FFT处理器来实现,在OFDM系统中数据传输的速率一般是在6Mbps到155Mbpd之间,在速度上对FFT处理器提出了很高的要求。随着集成电路制造水平的不断进步,自主研发的高性能FFT处理器成为可能,根据项目要求,对专用FFT实现方法进行研究,通过选用不同硬件结构,在综合考虑硬件特性和满足系统设计要求的前提下,采用ASIC设计方法学进行设计,设计自由度大,也能够很好地符合SOC片上系统的设计要求。 论文采用自顶向下的设计方法设计了1024点的浮点数傅里叶变换FFT处理器,在RTL级给出了完整的设计描述,编写测试平台对于每个模块都进行了前仿真和时序分析,基于DC完成ASIC综合和时序约束,在顶层完成功能验证和随机性测试,得到的结果和由C语言搭建的仿真模块进行比较和对照,在matlab中进一步验证,最后应用于OFDM系统当中。 设计和验证过程中主要的创新点有:采用CSA进位保留加法器加速浮点数加法运算和浮点数乘法运算,蝶形运算单元采用纯组合逻辑设计,综合时认为是一条长周期路径,占用3个时钟周期的计算时间;各级旋转因子表大小不同,节省ROM的存储空间,RAM采用双口RAM设计,可以同时读写,增加一个RAM完成信号,用于实现蝶形单元的迭代控制;每一个中间级采用双状态机加计数器对运算进行控制和读写地址使能的生成;建立测试平台,对于流水线中间级测试平台可以重用,编写结构化Testbench实现测试模块的可重用性;提出新的针对于FFT处理器的详细验证方案,编写浮点数和实数间转换的软件接口,基于C语言平台编写FFT仿真模块,和RTL级顶层模块输出的数值进行比较,并利用matlab输出最终波形。 最后总结论文中主要的研究进展,展望在数字信号处理领域的进一步研究方向,并基于FPGA验证完成FFT处理器的研究与实现。设计的浮点数FFT处理器和别的FFT处理器相比具有很多方面的优点,输入输出数据的范围得到很大的拓宽,十级流水线大幅增加吞吐量满足实时性转换要求,1024点的FFT精度满足在高性能的通信系统里面的要求。
【学位单位】:中国科学技术大学
【学位级别】:硕士
【学位年份】:2009
【中图分类】:TP332
【部分图文】:
司 2007 年发布的 Spartan-3A 系列 DSP 系Cyclone3 系列性能比 Spartan-3A DSP 略 公司的 C64x 系列和 AD 公司的 Blackfin 。此外 FPGA 的运算能力比 DSP 性能更加00 亿条乘法累加操作,同样价格的 600Mh条,后者在数量级上差距了一个数量级本流程(夏宇闻,2007)如图 1-2 所示。
间序列 x(n)和频率序列 X(k)进行分解 2 的 DIT 时域抽取 FFT 算法我们有:( ) ( ) ( ), 0,1,..., / 2 kNX k = Y k + W Z k k = N ( / 2) ( ) ( ), 0,1,...kNX k + N = Y k W Z k k = 可知后项相同,从而可以使得复数乘法别按照 K 的奇偶项将 x(k)分解成的两,图 2-1 中左边结点表示 Y(k)和 Z(k),示结点与kNW 相乘,当没有kNW 时表示与
图 2-3 浮点数乘法器结构图上图可知浮点数乘法运算最主要的运算是进行扩展位后后的尾数都是大于 0 小于 1 的数,相乘得到的也是处后规格化的要求。浮点数乘法器主要步骤包括部分积产播加法和舍入处理,如何进行部分积压缩是区别各种算种算法进行分别介绍。迭代算法简单的部分积压缩方法是采用迭代的方法,通过移位累,这种算法速度比较慢,对 N 个部分积的加法需要 N 个浮点数乘法时间消耗比较大。修正 Booth 译码运算部分决定了整个乘法器的运算速度,主要有三个译码单元,3-2 压缩单元与 CLA 快速求和单元。Booth
【引证文献】
本文编号:2862539
【学位单位】:中国科学技术大学
【学位级别】:硕士
【学位年份】:2009
【中图分类】:TP332
【部分图文】:
司 2007 年发布的 Spartan-3A 系列 DSP 系Cyclone3 系列性能比 Spartan-3A DSP 略 公司的 C64x 系列和 AD 公司的 Blackfin 。此外 FPGA 的运算能力比 DSP 性能更加00 亿条乘法累加操作,同样价格的 600Mh条,后者在数量级上差距了一个数量级本流程(夏宇闻,2007)如图 1-2 所示。
间序列 x(n)和频率序列 X(k)进行分解 2 的 DIT 时域抽取 FFT 算法我们有:( ) ( ) ( ), 0,1,..., / 2 kNX k = Y k + W Z k k = N ( / 2) ( ) ( ), 0,1,...kNX k + N = Y k W Z k k = 可知后项相同,从而可以使得复数乘法别按照 K 的奇偶项将 x(k)分解成的两,图 2-1 中左边结点表示 Y(k)和 Z(k),示结点与kNW 相乘,当没有kNW 时表示与
图 2-3 浮点数乘法器结构图上图可知浮点数乘法运算最主要的运算是进行扩展位后后的尾数都是大于 0 小于 1 的数,相乘得到的也是处后规格化的要求。浮点数乘法器主要步骤包括部分积产播加法和舍入处理,如何进行部分积压缩是区别各种算种算法进行分别介绍。迭代算法简单的部分积压缩方法是采用迭代的方法,通过移位累,这种算法速度比较慢,对 N 个部分积的加法需要 N 个浮点数乘法时间消耗比较大。修正 Booth 译码运算部分决定了整个乘法器的运算速度,主要有三个译码单元,3-2 压缩单元与 CLA 快速求和单元。Booth
【引证文献】
相关硕士学位论文 前3条
1 陈以辉;基于FPGA的OFDM通信发送系统的研究与实现[D];大连海事大学;2011年
2 汪文义;乘法器复用的多路FFT处理器研究与设计[D];复旦大学;2011年
3 王文权;基于一阶矩的DFT的FPGA实现[D];华中科技大学;2011年
本文编号:2862539
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2862539.html