没有合适的资源?快使用搜索试试~ 我知道了~
首页基于FPGA的FFT处理器的实现
资源详情
资源评论
资源推荐

基于 FPGA 的可扩展高速 FFT 处理器的设计与实现
来源:电讯技术 作者:刘晓明 时间:2007-07-12 发布人:卢春妙
本文提出了基于 FPGA 实现傅里叶变换点数可灵活扩展的流水线 FFT 处理器的结构设
计以及各功能模块的算法实现,包括高组合数 FFT 算法的流水线实现结构、级间混序读/写
RAM 地址规律、短点数 FFT 阵列处理结构以及补码实现 CORDIC 算法的流水线结构等。
利用 FPGA 实现的各功能模块组装了 64 点 FFT 处理器。从其计算性能可知,在输入数据
速率为 20 MHz 时,利用此结构实现的 FFT 处理器计算 1024 点 FFT 的运算时间约为
52μs。
一、引言
DFT(离散傅里叶变换)作为将信号从时域转换到频域的基本运算,在各种数字信号处
理中起着核心作用,其快速算法 FFT(快速傅里叶变换)在无线通信、语音识别、图像处理
和频谱分析等领域有着广泛的应用。用大规模集成电路 FPGA(现场可编程门阵列)来实现
FFT 算法时,需要重点考虑的不再是算法运算量,而是算法的复杂性、规整性和模块化,
因为算法的简单性和规整性将更适合大规模集成,更方便于版图设计,而算法的模块化更
有利于 FFT 处理器的灵活扩展。
组合数 FFT 算法和 CORDIC(坐标旋转数字计算机)算法结合起来,在计算长点数、可
扩展 FFT 时具有较大的优越性[1,2]。而面向高速、大容量数据流的 FFT 的实时处理,
可以通过 VLSI(超大规模集成电路)器件的并行处理或多级流水线处理等来达到。特别是多
级流水线处理的 FFT 结构使得基于 FPGA 器件的 FFT 处理器完成不同点数的 FFT 计算时可

以通过增减模块级数很容易地实现。
二、组合数 N=r1r2 点混合基 FFT 原理
计算 N 点 DFT:
式中 k=0,1,…,N-1。
若 N=r1r2 的组合数,可将 n(n<N)表示为
式(2)的意义在于,计算组合数 N=r1r2 点 DFT,等价于先求出 r 2 组 r 1 点的
DFT,其结果经过对应旋转因子 的相位旋转后,再计算 r1 组 r2 点的 DFT。实际应用
中,DFT 往往用它的快速算法 FFT 实现,因而式(2)中的 r1 点 DFT 和 r2 点 DFT 都用 r1
点 FFT 和 r2 点 FFT 实现。

三、可扩展 FFT 处理器实现结构
根据式(2)的 FFT 算法原理设计 FFT 处理器的可扩展结构如图 1 所示。
采用流水线模块化级联结构,把 FFT 处理器划分成短点数 FFT、级间混序 RAM 和相
位旋转等功能模块,设计的各功能模块可以重复利用,通过复用或增减各功能模块可以灵
活改变 FFT 处理器的计算规模,而且不增加设计量。在图 1 结构中,当 Li=1 时,就演变
成了基 2 FFT;当 Li=2 时,就演变成了基 4 FFT;同理,当 Li≠Lj 时,就演变成了高组
合数的混合基 FFT。
1.短点数 FFT 阵列结构
-Tukey 算法结构实现时,有大量的复数乘法实际上转化为加减运算,所以用阵列结
构实现不但具有速度快的优点,而且所用器件资源也减少很多,通过对阵列结构短点数
剩余12页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论1