● 摘要
科学技术的发展日新月异,如今很多行业中都有数字信号处理技术的身影,尤其是在通信、雷达、语音、导航与图像处理等领域。离散傅里叶变换(Discrete Fourier Transform, DFT)是当代数字信号处理中一种基础运算,快速傅里叶变换(Fast Fourier Transform, FFT)作为DFT的一种快速算法,它以DFT为基础,能使DFT的运算复杂度减少十分可观的数量,成为了许多数字信号系统的核心运算。虽然FFT算法已经趋于成熟,尤其是以Cooley-Tukey类算法为代表的FFT运算,以其实现结构的通用便宜性,已经得到了大规模利用实现,其运算时间能使DFT从O(N2)降低到 O(NlogN),成为了当前实现DFT的主流算法,但是在面对处理超大量数据的时候仍然不能满足实时处理的要求。
为此,本文介绍重点分析了一种质数快速傅里叶变换(Prime Fast Fourier Transform, PFFT)算法的原理和结构特点,完成了在通用计算机上的算法设计以及具体的比较分析。针对PFFT算法可并行处理的特点,选取在FPGA(现场可编程门阵列)上通过并行计算的方式来减少时间的耗费。设计中以Xilinx Vertex-6系列的FPGA为平台,采用Verilog HDL编程语言,并利用Verilog HDL中常用的分层设计理念,将算法合理设计成层次分明的多个具体单元功能模块,在Xilinx ISE12.4集成开发环境中编程实现并进行了综合验证,形成了各模块的RTL级硬件电路。
完成PFFT整体Verilog编程设计,使用1105点24bit的正弦序列在Modelsim进行前向仿真得到了输出序列。为验证数据结果的精确性,利用Modelsim和Matlab进行联合仿真验证,将生成的数据结果用Matlab自带FFT函数处理结果进行了分析对比,验证结果表明本文PFFT算法达到了一定的精度,误差在可接受的范围内,最后讨论了将其用于合成孔径雷达(SAR)成像算法中的可行性。
本论文工作对于FFT算法的硬件实现提供了一种新的思路,具有一定的参考价值。
相关内容
相关标签