基于FPGA的可扩展高速FFT处理器的设计与实现 刘晓明1,孙 学2(1.重庆大学 通信工程学院,重庆400044;
2.中国西南电子技术研究所,四川 成都 610036)
摘 要:本文提出了基于FPGA实现傅里叶变换点数可灵活扩展的流水线FFT处理器的结构设计以及各功能模块的算法实现,包括高组合数FFT算法的流水线实现结构、级间混序读/写RAM地址规律、短点数FFT阵列处理结构以及补码实现CORDIC算法的流水线结构等。利用FPGA实现的各功能模块组装了64点FFT处理器。从其计算性能可知,在输入数据速率为20 MHz时,利用此结构实现的FFT处理器计算1 024点FFT的运算时间约为52μs。
关键词:快速傅里叶变换;处理器;坐标旋转数字计算机;现场可编程门阵列;设计 Design and Implementation of a Scalable and High-speed FFT Processor Based on FPGA LIU Xiao-ming1,SUN Xue2 (1.Communication Engineering College,Chongqing University,Chongqing 400044,China;
2.Southwest China Institute of Electronic Technology,Chengdu 610036,China)
Abstract:A novel approach for scalable and high-speed Fast Fourier Transform (FFT) processor based on FPGA(Field Programmable Gate-Array) is developed, including the design of the pipeline architecture of FFT and the implementation of its functional elements. The architecture is based on the radix-mixed FFT algorithm for decomposing the long DFT into short length multi-demensional DFTs. The functional elements are the consecutive read-then-write RAM for the implementation of multi-demensional transforms, the short length FFT processor in array architecture and the complement CORDIC(Coordinate Rotation Digital Computer) in pipeline architecture. The conclusion drawn from 64-point FFT processor composed of the elements is that the processor can perform 1024-point FFT every 52μs at 20MHz.
Keywords:FFT;Processor;CORDIC;FPGA;Design
一、引言
DFT(离散傅里叶变换)作为将信号从时域转换到频域的基本运算,在各种数字信号处理中起着核心作用,其快速算法FFT(快速傅里叶变换)在无线通信、语音识别、图像处理和频谱分析等领域有着广泛的应用。用大规模集成电路FPGA(现场可编程门阵列)来实现FFT算法时,需要重点考虑的不再是算法运算量,而是算法的复杂性、规整性和模块化,因为算法的简单性和规整性将更适合大规模集成,更方便于版图设计,而算法的模块化更有利于FFT处理器的灵活扩展。组合数FFT算法和CORDIC(坐标旋转数字计算机)算法结合起来,在计算长点数、可扩展FFT时具有较大的优越性[1,2]。而面向高速、大容量数据流的FFT的实时处理,可以通过VLSI(超大规模集成电路)器件的并行处理或多级流水线处理等来达到。特别是多级流水线处理的FFT结构使得基于FPGA器件的FFT处理器完成不同点数的FFT计算时可以通过增减模块级数很容易地实现。 二、组合数N=r1r2点混合基FFT原理
计算N点DFT:
本篇文章共3页,此页为首页 下一页



- ·文史哲


- ·理工医


- ·经济管理


- ·政治法律








