FFT的算法原理应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N点DFT的运算量 一个k N N-1 全部k N*N N*(N-1)
复数乘 复数加
整个DFT运算需要 N2 次复数相乘和 N(N-1)次复数 相加。所以,当N很大时,所需的运算量非常惊人,直 接用DFT算法进行谱分析和信号的实时处理是不切实际, 为减小DFT运算量,FFT算法应运而生。
天津市智能信号与图像处理重点实验室
-1
x5(0)=x2(0)=x(1)
x5(1)=x2(2)=x(5) x6(0)=x2(1)=x(3) x6(1)=x2(3)=x(7)
W0 N WN
1
-1
X6(0) 0 W X6(1)N
W N
2
W2 N
W N
3
-1 -1 X(5) -1 X(6)
X(0) X(1) X(2) X(3) X(4)
-1 X(7)
r 0
rk 4
x2 (r )W4rk
r 0
3
k X (k ) X 1 (k ) WN X 2 (k ) k X (k 4) X 1 (k ) WN X 2 (k )
k 0,1, 2,3 k 0,1, 2,3
天津市智能信号与图像处理重点实验室
4点 DFT
X1(1) X1(2) X1(3) X2(0) X2(1)
-1 -1 -1 -1
X(4) X(5) X(6) X(7)
4点 DFT
X2(2) X2(3)
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(8/9)
通过分解成N/2点后,总共需要 来的一半。
N N2 N ( 1) N 2 2
2
r (k N ) 2
rk WN
2
N r ( N k ) rk X1 ( k ) x1 (r )W N 2 x1 (r )W N X 1 (k ) 由此得到 2 2 2 r 0 r 0

N 1 2

N 1 2
N X 2 ( k ) X 2 (k ) 2 N N X 即:1 ( k )与 X 2 ( k ) 分别等于其前一半的值。 2 2
1、按时间抽取的基-2FFT(6/9)
上式即:
k X (k ) X 1 (k ) WN X 2 (k ) k =0,1, ,N 2-1 k X (k ) X 1 (k ) WN X 2 (k ) k = N 2, ,N -1
实现该运算的流图称作 蝶形运算,如下所示。
立叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的
算法进行改进获得的。 2) 它对傅立叶变换的理论并没有新的发现,但是对于计算 机系统或者说数字系统中应用离散傅立叶变换,有了很大 的帮助。
天津市智能信号与图像处理重点实验室
2、FFT的产生与发展(1/5)
1)FFT的产生 离散傅立叶变换(DFT) 设 x(n) 是个长度为N的有限长序列,则定义 x(n) 的N点离散 傅立叶变换为
天津市智能信号与图像处理重点实验室
2、FFT的产生与发展(5/5)
第三时期:八十年代中期至今 FFT的研究重点回到了带有与旋转因子相乘运算的 共因子算法上。 Rader和Brenner提出了余割因子算法,王中德提出了 对 称 分 解 法 ,Matens 提 出 了 割 园 分 解 法 , Vetlerli 和 Nussbaumer提出了DFT DCT算法等,其中最具代表性 的是法国的Duhamel和Hollman提出的分裂基算法。
天津市智能信号与图像处理重点实验室
二、FFT算法 按时间抽取(DIT)的基-2FFT 按频率抽取(DIF)的基-2FFT DIF与DIT的FFT算法比较 其他算法简单介绍
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(1/9)
基-2FFT分为按时间抽取和按频率抽取。它们是最基本的FFT 算法。 时间抽取基-2FFT 算法原理 设序列点数为 N 2 L(L为整数,不足整次幂时,补零),这种 N为2 的整数幂的FFT也称基-2 FFT。 先将 x(n) 按n的奇偶分为两组做DFT, x(2r ) x1 (r ), r 0,1,, N 1 n为偶数时: 2 n为奇数时: x(2r 1) x2 (r ), r 0,1,, N 1 2
kn X (k ) DFT x(n) x(n)WN n 0 N 1
k 0,1, , N 1
离散傅立叶逆变换(IDFT)为
1 N 1 x(n) IDFT [ X (k )] X (k )WN kn N k 0
天津市智能信号与图像处理重点实验室
2、FFT的产生与发展(2/5)
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(2/9)
X (k ) x(n)W
n 0
N 2
N 1
nk N
nk x(n)WN n 0
N 2
N 1
2 (2 x(2r )WN rk x(2r 1)WN r 1) k r 0
N 2
1
(n为偶数)

一.FFT概述 二.FFT算法 三. FFT的应用和实现 四. 时频分析

天津市智能信号与图像处理重点实验室
一、FFT概述
FFT基本概念 FFT的产生与发展 FFT的产生 FFT的发展
天津市智能信号与图像处理重点实验室
1、FFT基本概念
1) FFT是离散傅立叶变换的快速算法,它是根据离散傅
N 2
1
rk k x1 (r )W N WN
2

r 0
1
rk k x2 (r )W N X 1 (k ) WN X 2 (k )
2
X(k)前一半的结果
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(3/9)
由于k 0,1,, N 1 , 即计算得出的是X(k)的前一半的结果, 2 要表达全部的X(k),必须应用系数的周期性。 即:W N
2、FFT的产生与发展(3/5)
FFT算法是通过不断地把长序列的DFT分解成几个短序列 kn 的DFT,并利用WN 的周期性、可约性和共轭对称性来减少DFT 的运算量。
kn WN 周期性
k kn WN WN N n WNk N n
kn WN 可约性
nk mnk nk nk WN WmN , WN WN mm W
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(7/9)
x1(0)= x(0) x1(1)= x(2) X1(0)
X(Βιβλιοθήκη Baidu)
X(1) X(2) X(3)
0 WN 1 WN 2 WN
3 WN
x1(2)= x(4)
x1(3)= x(6) x2(0)= x(1) x2(1)= x(3) x2(2)= x(5) x2(3)= x(7)
N 2
1
k为奇数时:
N n ( 2 r 1) X (2r 1) x(n) x(n )WN 2 n 0
N 2
N 2
1
N n x(n) x(n )WN W Nnr 2 2 n 0 N x1 (n) x(n) x(n ) 2 令 x (n) [ x(n) x(n N )]W n N 2 2
kn N
W
kn N
共轭对称性
W
k ( N n) N
W
kn N
W

kn * N

利用以上特点得到N点的基-2算法运算量为: 复乘法次数 复加法次数
1 N log N 2 2
N log N
2
天津市智能信号与图像处理重点实验室
2、FFT的产生与发展(4/5)
2) FFT的发展 第一时期:1965至七十年代中期 1965年,Cooley和Turkey发表了著名的《机器计 算傅立叶级数的一种算法》的文章,提出了一种DFT 的快速算法(FFT),揭开了FFT发展史上的第一页。 在此时期,基-2算法占据主导地位 , 随后在此基础上 出现了很多改进算法,即基-4算法,基-8算法,基-16 算法,和混合基算法等; 第二时期:七十年代中期至八十年代中期 基于素因子分解的FFT算法得到重视。1977年, Kolba和Park利用一维到多维的映射,提出一种素因子 的PFA算法。差不多同一时期,Winograd博士提出一 种不同的基于素因子算法,称为WFTA算法。
信号流图如下:
x3(0)=x1(0)=x(0) x3(1)=x1(2)=x(4) x4(0)=x1(1)=x(2) x4(1)=x1(3)=x(6)
X3(0) X3(1) X4(0) W0 X4(1)N 2 -1 W X5(0) N X5(1)
-1 -1
X1(0) X1(1) X1(2) -1 X (3) 1 -1 X2(0) X2(1) X2(2) -1 X2(3)
3、按频率抽取的基-2 FFT (2/5)
由于 WN
N 2
e
j
1 , 故 WN
N 2
k
(1) k

N n 0,1,, 1 2
N nk X (k ) x(n) (1)k x(n ) WN 2 n 0
N 1 2
N点DFT按k的奇偶分组可分为两个N/2的DFT 。 当k为偶数,即 k=2r时,(-1)k =1; 当k为奇数,即 k=2r+1 时, (-1)k =-1。 这时 X(k)可分为两部分:
nk X (k ) x(n)WN N 1 n 0
N ( n N ) k x(n)W x(n )WN 2 2 n 0 n 0
nk N
Nk N nk x(n) x(n )WN2 WN 2 n 0
N 1 2
N 1 2

N 2
1
天津市智能信号与图像处理重点实验室
N2 N N2 2 2 2
次复乘和
次复数加法,这样运算量差不多减少到原
由于 N 2 L ,所以N/2仍为偶数,可以进一步把每个N/2点的 序列再按其奇偶部分分解为两个N/4的子序列。 例如,N=8时的DFT可分解为四个N/4的DFT。
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(9/9)
天津市智能信号与图像处理重点实验室
2、按频率抽取的基-2 FFT (3/5)
k为偶数时:
2 X ( 2 r ) x(n) x(n )WN nr n 0 2
N 2
1
N
N nr x(n) x(n )W N n 0 2 2
总结:两级蝶形运算,得到四个N/4点DFT,其运算量又 大约减少一半,即为N点DFT的1/4。
天津市智能信号与图像处理重点实验室
2、按频率抽取的基-2 FFT (1/5)
频率抽取的基-2FFT 算法原理 : 仍设序列点数为N=2L ,L为整数。在把输出X(k)按k的奇偶分 组之前,先把输入按n的顺序分成前后两部分:
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(4/9)
又由于
( N k ) WN 2 k k WN WN WN
N 2
后半部分X(k),即k 0,1,, N 1 时, 2
N N N k N X (k ) X 1 (k ) WN 2 X 2 (k ) 2 2 2 X 1 (k ) WNk X 2 (k )
1
(n为奇数)
r 0
2 k 2 x1 (r )(WN ) rk WN x2 (r )(WN ) rk r 0 r 0
1
N 2
1
(k 0,1, ,
N 1) 2
W e
2 N
j 2N 2
e
N 2
j 2 /( N ) 2
WN
2
X (k )

r 0
这样,N点的DFT可由两个N/2点的DFT来计算。
天津市智能信号与图像处理重点实验室
1、按时间抽取的基-2FFT(5/9)
例:当N=8时的DFT,可以分解为两个N/2=4点的DFT。
X1 (k ) x(2r )W
r 0
3
3
rk 4
x1 (r )W4rk
r 0
3
X 2 (k ) x(2r 1)W
天津市智能信号与图像处理重点实验室
1
2、按频率抽取的基-2 FFT (4/5)
则:
1 2 X (2r ) x1 (n)WNnr 2 n 0 N 1 2 X (2r 1) x2 (n)WNnr 2 n 0
相关文档
最新文档