基于MATLAB的FFT算法研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Key words: FFT,DFT,MATLAB,Fast papilionaceou algorithm
第 1 页
目
录
1、 引言........................................................................................................................ 4 2、 FFT 基本理论......................................................................................................... 5 2.1. 离散傅里叶变换(DFT)........................................................................... 5 2.2. 快速傅里叶变换(FFT).......................................................................... 5
第 2 页
1、
引言
伴随着数字技术、计算机技术以及微电子集成电路技术的快速发展,数字 信号处理技术(Digital Signal Processing,DSP)已经深入到各个学科领域, 应用范围广,将信号处理的发展推向高潮。在数字信号处理中,离散傅里叶变 换(Discrete Fourier Transform, DFT)是常用的变换方法,它在各种数字信号 处理系统中扮演着重要的角色。而快速傅里叶变换〔FastFourier Transfonn, FFT〕并不是与离散傅里叶变换不同的另一种变换,而是为了减少 DFT 计算次 数的一种更加快速有效的算法. 作为离散傅里叶变换(DFT)的一种快速算法,快速傅里叶变换(FFT) 并不是一种新的变换。由于直接计算 DFT 的计算量与变换区间长度的 N 的平 方成正比,当 N 较大时,计算量太大,所以在 FFT 出现以前,直接用 DFT 算 法进行实时处理是不切实际的。 直到 1965 年桑德 (G.Sand) —图基 (J.W.Tukey) 快速算法, 即按时间抽取 (DIT) 的基-2FFT 算法相继出现, 又经过人们的改进, 很快形成了一套高效计算方法,情况才发生了根本的改变。这种算法使计算 N 点得 DFT 运算量从 2N 将为 2N logN ,使得 DFT 的运算效率提高了 1~2 个 数量级,为数字信号处理技术应用于各种信号处理中创造了优越的条件,推动
基于 matlab 的 FFT 研究
XXX、物理与电子信息学院
摘 要
快速傅立叶变换(FFT)是数字信号处理中的重要内容之一、是很多信号处理 过程中的核心算法.随着数字电子技术的不断发展, 数字信号处理技术已经广泛 应用于图像处理、通信和多媒体等多个领域。快速傅里叶变换(FFT)作为离散傅 里叶变换(DFT)的一种快速算法,它是以 DFT 为基础的,并且使 DFT 的运算时 间缩短了几个数量级,使得数字信号处理的实现和运用变得更加容易。本论文 将比较全面的叙述各种快速傅里叶变换算法原理、特点,并完成基于 MATLAB 的 实现。
第 3 页
2、
FFT 基本理论
2.1.离散傅里叶变换(DFT)
随着科学技术的进步,人们越来越正视频率分析技术的发展与应用。以前 要进行一次频率分析,其计算的工作量大的惊人。现在,电子计算机的飞速发 展使得计算的速度加快。但是,电子计算机不可能对连续的信号进行处理,它 只能处理有限的离散数据。为了便于利用电子计算机进行傅里叶级数与傅里叶 积分交换的运算,需要对连续信号进行采样,从而得到一系列离散数据。这种 对离散量的傅里叶变换称为离散傅里叶变换,记做 DFT。 DFT 的定义: 设 x(n)是一个长度为 N 的有限长序列,定义 x(n)的 N 点离散傅里叶变换为
nk 了数字信号的发。各种 DFT 的快速算法,都利用了 WN 的周期性和对称性,
通过将一个大点数 N 的 DFT 分解为若干小点数的 DFT 的组合,来减少运算 量。对于变换点数 N 为 2 的整数次幕的情况,分裂基算法的乘法次数比基-2、 基-4 算法更少。当 N 可以分解为若千个互素因子的乘积时,可以采用素因子 算法,当素因子属于 2,3,4,5,7,8,9,16 等“小 N”时,也可以采用 Winograd “小 N”算法。二者都是通过指标映射,将一维 DFT 转化为多维 DFT,同时避 免了与旋转因子相乘的运算,因此都有更少的运算次数。 Matlab 语言是当今科学界最具影响力、也是最有活力的软件。它起源于 矩阵运算,并已经发展成一种高度集成的计算机语言。 它是由美国 Mathworks 公 司于 1982 年推出的软件产品,取名来源于 MatrixLaboratory,简称为 “Matlab” 。 matlab 是一个完整的、可扩展的、高性能数值计算的可视化软件,是一种进行 科学工程计算的交互式程序设计语言。 经过不断的扩充和完善,它已成为各类科 学研究与工程应用中的标准工具,它集数值分析,矩阵运算,信号处理与图形显 示于一体,构成一个界面友好的用户环境。 它的信号处理工具箱包含了各种经典 的和现代数字信号处理技术。是一个非常优秀的算法研究与辅助设计的工具。
j
2 nk N
nk xk WN k 0
N 1
(2.1.2)
其中 n=0,1,....,N-1。 在(2.1.1)式和(2-1-2)式中,x(n)和 X(k)均可以是复数。因为在(2.1’1) 式和(2.1.2)式的右边仅在 WN 指数上差一个符号,并相差一个比例因子 1/N, 所以有关(2.1.1)式计算不走的讨论稍加修改可以直接用于(2.1.2)式。 DFT 隐含周期性,在 DFT 变换对中, x(n) 和 X(k) 均为有限长序列,设
transform(FFT),which is based on a DFT and DFT calculation time by several orders of magnitude,making it much easier to implement of digital singal processing , This article will compare the comprehensive account of a variety of fast Fourier transform algorithm principle, features, and complete based on MATLAB implementation.
kn X(k) x(n)WN , n 0 N 1
k=0,1,2.,......,N-1
x ( n)
1 N
X (k )W
k 0 j 2 N
2.2.1. 基二算法 FTF................................................................................... 6 2.2.2. 按频率抽取的基二 FFT................................................................... 9 3、 MATLAB 基本原理............................................................................................... 12 3.1. MATLAB 简介............................................................................................. 12 3.2. MATLAB 的特点......................................................................................... 13 4、 FFT 的 MATLAB 设计与实现................................................................................. 13 4.1. 源程序....................................................................................................... 13 4.2. 程序仿真................................................................................................... 15 5、 结束语.................................................................................................................. 15 6、 致谢...................................................................................................................... 15 参考文献...................................................................................................................... 16
Xk DFT xn xn e
n 0
N 1
j
2 N
nk xn WN n 0
N 1
(2.1.1)
其中 k=0,1,.....,N-1。 X(k)的傅里叶反变换为
1 x n IDFT X k N
Xk e
k 0
N 1
-nk WN =e j 2 nk N nk ,由 WN 的周期性,使得 x(n)和 X(k)隐含周期性,且周期为 N。
2.2.快速傅里叶变换(FFT)
快速傅里叶变换(FTF)的出现使得数字信号处理变为可能。FTF 是一种快速 [1][2] FTF 作为时域和频域转换的基本 有效地计算离散傅里叶变换(DTF)的方法 运算,是数字谱分析的必要前提,在雷达信号处理、高速图像处理、保密无线通讯 和数字通信、 电力系统等方面有广泛的应用,而实时系统对 FFT 百度文库运算速度要求 [3] 比较高 在上一节的讨论中我们知道离散傅里叶变换满足以下关系式:
关键词:离散傅里叶变换、快速傅里叶变换、蝶形单元、MATLAB
The FFT algorithm based on MATLAB
Zhang Ning,The College of Physics and Electronic Information
Abstract
Fast Fourior Transform(FFT) plays an important role in digital processing ,it’s kernel Algorithm in a lot of process for singal processing. With the development of digital electronic technology,digital singal processing technology has been widely used in image processing.communications,multimedia and other fields.Fast fourier