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

西安电子科技大学
FFT 算法设计与实现

1
摘 要
随着科学技术的飞速发展,数字信号处理技术已广泛应用于通信,卫星定位,
图像处理等多个领域。快速傅里叶变换(FFT)作为离散傅里叶变换(DFT)的
一种快速算法,它是以 DFT 为基础的,并且使 DFT 的运算时间缩短了几个数量
级,使得数字信号处理的实现和运用变得更加的容易。现场可编程门阵列是近年
来出现的一种新的可编程逻辑器件,它具有运行速度快,储存容量大,管脚多等
特点。
本文主要研究如何利用 FPGA 实现 FFT 处理器,包括算法背景介绍、算法研究、
系统结构及各个模块设计、FPGA 实现和测试。设计采用基-2 按时间抽取算法,利
用 Verilog HDL 描述的方式对 FFT 系统进行了设计、仿真、测试等工作。仿真结
果表明其计算结果达到了一定的精度,运算速度可以满足一般实时信号处理的要求。
一.选题意义
随着数字技术、电子集成电路技术等各方面技术的全面发展,数字信号处理
技术已深入到各个科学领域并得到广泛的运用,将信号处理的发展发展到了一个
新的高度。但是数字信号处理基本上是运用时域和频域两种方法来解决信号处理
的问题,时域方法即为数字滤波,而频域方法即为频域分析,他们同时处理的任
务可分为三类:变换、卷积和相关。
其中,DFT 的快速算法快速傅里叶变换(FFT)就变成了数字信号处理的最
基本的技术之一,它通过将长序列的 DFT 分解为多个短序列的 DFT 进行计算,
从而可以使运算量大大减少,并且把 DFT 的运算速度提升了 1~2 个数量级,使得
数字信号处理技术在应用于各种信号的实时处理时变得更加的效率。因此,对
FFT 及其实现方式的研究很有意义。目前,FFT 已广泛运用在图像处理、语音识
别、雷达处理、遥感遥测、数字通信、频谱分析等众多领域,在不通的应用场
合中,需要不同性能要求的 FFT 处理器。在很多应用领域都要求 FFT 处理器具
有高精度、高速度、容量大和实时处理的性能。因此,使 FFT 变得更迅捷、更
灵活也变得越来越重要。
二.FFT 算法基本原理
有限长序列{x(n)}及其频域表示{X(k)}可由以下离散傅里叶变换得出:
, (0≤k≤N-1)
(2.1)
(0≤n≤N-1)
(2.2)
其中 ,。式( 2.1)成为离散傅
里叶 正变换,式( 2.2) 成为离

2
散傅里叶反变换,x(n)与 X(k)构成了离散傅里叶变换对。
为减少运算量,提高运算速度,就必须改进算法。计算 DFT 过程中需要完成
的运算的系数里,存在相当多的对称性。通过研究这种对称性,可以简化计算过
程中的运算,从而减少计算 DFT 的时间。
具有以下固有特性:
(1)的 周 期 性 :
(2.3)
(2)的 对 称 性 :
(2.4)
(3)的 可 约 性 :
(2.5)
另外,。
利用的上述特性,将 x(n)或 X(k) 序列按一定规律分解成短序列进行运
算,这样可以避免大量的重复运算,提高计算 DFT 的运算速度。算法基本上分为
两大类,即按时间抽取 FFT 和按频率抽取 FFT 算法。选用按时间抽取的基-2FFT
算法。
先设序列点数为 N=2
L
,L 为整数。如果不满足这个条件,可以人为地加上若
干个零值点,使之达到这一要求,这种 N 为 2 的整数幂的 FFT 也称基-2 FFT。
式(2.1)中,采用基-2 按时域抽选(DIT)分解办法,在时域上按照奇偶关
系的抽选分解可以得到:
(2.6)
令,则:
(2.7)
再 令 , 则 :
(2.9)
根据基-2 分解方法,运用数值的计算方法表示的蝶形运算公式如下:
(2.10)
(2.11
)
以上两式中物理意义为:l 为级数表示运算到第几级;m 为分组数表示每一
级内运算到了第几组;k 为每组内的运算次数。由此得到 16 点时域抽取 FFT 运算
流图如图所示:
nk
N
W
nk
N
W
nk
N
W
nk
N
W

3
图 16 点 DIT-FFT 运算流程图
从按时间抽选法 FFT 的流图可 见,当时,共有 L 级蝶形,每级都有
个蝶形运算,每个蝶形有一次复乘、二次复加,因而每级运算都需次复乘和 N 次
复加,这样 L 级运算总共需要
复乘数
(2.12)
复加数
剩余18页未读,继续阅读
















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

评论0