第四章 快速傅立叶变换
快速傅里叶变换推导
快速傅里叶变换推导摘要:1.快速傅里叶变换的概念与意义2.傅里叶变换的定义与性质3.快速傅里叶变换的算法原理4.快速傅里叶变换的实际应用正文:一、快速傅里叶变换的概念与意义快速傅里叶变换(Fast Fourier Transform,FFT)是一种高效的计算离散傅里叶变换(Discrete Fourier Transform,DFT)及其逆变换的算法。
DFT 是一种将时间域信号转换到频率域的方法,常用于信号处理、图像处理等领域。
然而,当信号长度很长时,DFT 的计算复杂度较高,因此,为了加速计算,提出了快速傅里叶变换算法。
二、傅里叶变换的定义与性质傅里叶变换是一种将信号从时域转换到频域的方法。
对于一个信号f(t),其傅里叶变换结果为频谱F(ω),可以通过以下公式计算:F(ω) = ∫[f(t) * e^(-jωt) dt],其中积分范围为-∞到∞。
傅里叶变换具有以下性质:1.傅里叶变换是线性的,即满足线性性质的信号可以通过傅里叶变换分开。
2.傅里叶变换是可逆的,即频域信号可以通过傅里叶逆变换转换回时域信号。
3.傅里叶变换具有时域与频域之间的帕斯卡三角关系,即频谱的幅度与相位分别对应时域信号的幅度与相位。
三、快速傅里叶变换的算法原理快速傅里叶变换算法的原理是将DFT 分解成更小的子问题,并重复利用子问题的计算结果。
具体来说,如果将信号长度为N 的DFT 表示为:X_k = ∑[x_n * e^(-j2πnk/N)],其中n 为时域索引,k 为频域索引。
那么,如果将信号长度分解为2 的幂次方形式(如N = 2^m),则可以将DFT 分解为两个较短的DFT 的加权和,即:X_k = ∑[x_n * e^(-j2πnk/N)] = ∑[x_n * e^(-j2πn(k-m)/2^m)] + e^(-j2πkm/2^m) * ∑[x_n * e^(-j2πn(k+m)/2^m)]其中,第一个和式计算偶数项的DFT,第二个和式计算奇数项的DFT。
第四章快速傅里叶变换(FFT)
运算量减少了近一半
进一步分解
由于 N 2
M
DFT又可同样进一步分解为4个
N N , 2 M 1 仍为偶数,因此,两个 2 点 2 N
4
点的DFT。
x1 (2l ) x3 (l ) x1 (2l 1) x4 (l )l 0,1,..., Fra bibliotek / 4 1
k X 1 (k ) X 3 (k ) WN / 2 X 4 (k ) N k 0,1,..., 1 N k 4 X ( k ) X ( k ) W X ( k ) 1 3 N /2 4 4
X 2 (3)
X (7 )
分解后的运算量:
复数乘法 一个N/2点DFT (N/2)2 两个N/2点DFT N2/2 一个蝶形 N/2个蝶形 1 N/2 复数加法 N/2 (N/2 –1) N (N/2 –1) 2 N
总计
N2 /2 N /2 N2 /2
N N / 2 1 N N2 /2
N 点有限长序列x(n)
X (k ) x(n)W
n 0 N 1 kn N
1 x ( n) N
X (k )W
k 0
N 1
kn N
2、DFT与IDFT运算特点
x(n)W
n 0
N 1
nk N
一个X(k)
复数乘法 N
复数加法 N–1
a jb c jd ac bd j ad cb
W 的特性
对称性
nk N
W
nk N
e
j
N
nk
(W ) W
nk * N
nk N
第四章 快速傅里叶变换
X (k ) DFT [ x(n)] x(n)WNnk
n 0
N 1
n 0 n为偶数
nk x ( n ) W N
N 1
n 0 n为奇数
nk x ( n ) W N
N 1
9
X (k )
n 0 n为偶数
N 1
x(n)W
nk N
n 0 n为奇数
N 1
式中,X1(k)和X2(k)分别是x1(n)和x2(n)的N/2的DFT。 另外,式中k的取值范围是:0,1, …,N/2-1 。
10
k X ( k ) X ( k ) W 因此, 只能计算出X(k)的前一半值。 1 N X 2 (k )
后一半X(k) 值, N/2 , N/2 +1, …,N-1 ?
结论:当N很大时,其运算量很大,对实时性很强的信号 处理来说,要求计算速度快,因此需要改进DFT的计算 方法,以大大减少运算次数。
6
4.2.2 减少运算工作量的途径
nk 主要原理是利用系数 WN 的以下特性对DFT进行分解:
(1)周期性 (2)对称性 (3)可约性 另外,
W
( n N ) k N
18
以8点为例第二次按奇偶分解
概念:信号流图
19
算法原理
对此例N=8,最后剩下的是4个N/4= 2点的DFT,2点
DFT也可以由蝶形运算来完成。N=2
X (k ) x(n)WNnk
n 0
N 1
k 0,1
蝶形运算
0 X (0) x(n)WNnk x(0) x(1) x(0) WN x(1) 0 X (1) x(n)WNnk x(0) x(1) x(0) WN x(1) n 0 n 0 N 1
《快速傅里叶变换》PPT课件
此时y(n)能代表线性卷积结果。
用FFT计算y(n)步骤如下: (1)求
,N点
(2)求
,N点
(3)计算
;
(4)求
,N点
工作量分析 FFT计算工作量
(4.105)
用线性相位滤波器来比较直接计算线性卷积和FFT法 计算线性卷积时比值
(4.106)
运算量分析:
(1)x(n)与h(n)点数差不多,设M=L,
2
X1 k
x1
r
W rk N2
x
2r
W rk N2
r0
r0
(4.6)
N 1
N 1
2
2
X2 k
x2
r
W rk N2
x
2r
1
W rk N2
(4.7)
r 0
r0
应用系数的周期性
可得
N 1
X1
N 2
k
2 r 0
x1
r
W x r
N 2
k
N2
N 1 2
1
r0
比较可知,只要把DFT运算中的每一个系数
变成
,最后再乘常数1/N,则以上所有
按时间抽选或按频率抽选的FFT都可以拿来运算
IDFT。
不改FFT的程序计算IFFT方法: 对4.29式取共轭
因而
4.6 N为复合数的FFT算法 --混合基算法
当N不满足
时,可有以下几种办法
(1)将x(n)补一些零值点的办法
y(n)也是有限长序列,其点数为L+M-1。 2. 线性卷积运算量 乘法次数
线性相位滤波器满足条件
运算结构如图5.26,5.27所示 线性相位FIR滤波器的乘法运算量
《快速傅里叶变换(FFT) 第四章》
方法: 分解N为较小值:把序列分解为几个较短的 序列,分别计算其DFT值; 利用旋转因子WNk的周期性、对称性、可 约性进行合并、归类处理,以减少DFT的运 算次数。 k ( kn WN m WNN m WN ( nlN ) WNk lN ) n WN 周期性: N m m N m N m m m m 对称性:Wm WNm [W WN N WNN [WNNN m ]] WN WN 2 WN WN 可约性:W mN N W knmW kn / m W kn m kmn ,m 2 2
x ( r ) W x ( r )W x ( r ) W x ( r )W e (r W x r) xxr) W( r ) W (WW (r )W W e W (2 ) x x x(2 r 1)
W e
2 j 2 kr 2 kr N N /2
N 2
2 这样将N点DFT分解为两个N/2点的DFT
N X (k ) X 1 (k ) W X 2k(k ) k 0,1, 1 N X (k ) X 1 (k ) WN X 2 (k ) k 0,1, N 1 2 k X (kN X 1 (k ) WN X 2 (k ) k 0,1, 2 1 ) N2 k X (k N X 1 (k ) WN X 2 (k ) k 0,1, 1 N ) k X (k 2 N X 1 (k ) WN X 2 (k ) k 0,1, N 1 ) 2 k 2 X (k ) X (k ) W X (k ) k 0,1, 2 1
4.1 离散傅里叶变换的高效计算思路 DFT是信号分析与处理中的一种重要变换。但直接 计算DFT的计算量与变换区间长度N的平方成正比, 当N较大时,计算量太大,直接用DFT算法进行谱分 析和信号的实时处理是不切实际的。
详解FFT(快速傅里叶变换FFT
knN W N N第四章 快速傅里叶变换有限长序列可以通过离散傅里叶变换(DFT)将其频域也离散化成有限长 序列.但其计算量太大,很难实时地处理问题,因此引出了快速傅里叶变换 (FFT). 1965 年,Cooley 和 Tukey 提出了计算离散傅里叶变换(DFT )的快 速算法,将 DFT 的运算量减少了几个数量级。
从此,对快速傅里叶变换(FFT ) 算法的研究便不断深入,数字信号处理这门新兴学科也随 FFT 的出现和发 展而迅速发展。
根据对序列分解与选取方法的不同而产生了 FFT 的多种算 法,基本算法是基2DIT 和基2DIF 。
FFT 在离散傅里叶反变换、线性卷积 和线性相关等方面也有重要应用。
快速傅里叶变换(FFT )是计算离散傅里叶变换(DFT )的快速算法。
DFT 的定义式为N −1X (k ) = ∑ x (n )W NR N (k )n =0在所有复指数值 W kn 的值全部已算好的情况下,要计算一个 X (k ) 需要 N 次复数乘法和 N -1 次复数加法。
算出全部 N 点 X (k ) 共需 N 2次复数乘法和 N ( N − 1) 次复数加法。
即计算量是与 N 2成正比的。
FFT 的基本思想:将大点数的 DFT 分解为若干个小点数 DFT 的组合, 从而减少运算量。
W N 因子具有以下两个特性,可使 DFT 运算量尽量分解为小点数的 DFT运算:(1) 周期性:( k + N ) nN= W kn= W ( n + N ) k(2) 对称性:W( k + N / 2 )= −W kNN利用这两个性质,可以使 DFT 运算中有些项合并,以减少乘法次数。
例子:求当N=4 时,X(2)的值4 NNN3∑44444X (2) = n =0x (n )W 2 n = x (0)W 0 + x (1)W 2 + x (2)W 4 + x (3)W 6= [ x (0) + x (2)]W 0 + [ x (1) + x (3)]W 2(周期性)4=[ x (0) + x (2)]-[ x (1) + x (3)]W 04(对称性)通过合并,使乘法次数由 4 次减少到 1 次,运算量减少。
数字信号处理第四章_快速傅里叶变换
因此
X (k ) X 1 (k ) WN k X 2 (k ) N X (k ) X1 (k ) WN k X 2 (k ) 2
k 0,1, ,
N 1 2
因此:整个 X(k) 的计算,可以分解为前、后半部分的运 算。而只要求出前一半,就可以由上式求出整个序列。 12
N 1 2 r 0 N 1 2 r 0
X1 (k) = x(2r)WN 2kr
r=0
N -1 2
则
N X 1 (k ) X 1 ( l ) 2
x(2r )W
rl
N r( l ) 2
N 2
x(2r )W
WN
2 r N 2
r
N 2
N 2
W N rl
2
x(2r )W
r=0 r=0
N -1 2
N -1 2
r 0,1,... N / 2 1 k= 0,1,...N-1
奇数取样点DFT为:
X 2 ( k ) x( 2r 1)W N 2 kr x2 (r)W N 2 kr
r 0 r 0 N 1 2 N 1 2
① k 的整个范围为 0~(N-1),而X1(k)、X2(k) 是由 N/2 个样点形成的 DFT,x(2r) 和 x(2r+1)的长度为 N/2; ② 由这两个偶数和奇数 N/2 个时域样值可以计算出前 N/2 个 DFT 系数, 也可以计算出后 N/2 个 DFT 系数。 ③ 问题:这前后 N/2 个 DFT 有无关系?k 取 N/2 ~(N-1) 时, X1(k)、 X2(k)、WN 情况如何?
N个X (k) (N点DFT)
4N
4N 2
2N+2 (N – 1)=2 (2N – 1)
数字信号处理_程佩青_PPT第四章
主要内容
DIT-FFT算法 DIF-FFT算法 IFFT算法 Chirp-z算法 线性卷积的FFT算法
§4.0 引言
FFT: Fast Fourier Transform
1965年,Cooley&Turky 发表文章《机器计算傅 里叶级数的一种算法》,提出FFT算法,解决 DFT运算量太大,在实际使用中受限制的问题。 FFT的应用。频谱分析、滤波器实现、实时信 号处理等。 DSP芯片实现。TI公司的TMS 320c30,10MHz 时钟,基2-FFT1024点FFT时间15ms。
又WN
k
N 2
W
N /2 N
W W
k N
k N
k X (k ) X1 (k ) WN X 2 (k ),k 0,1,2,...N / 2 1 (2) X ( N k ) X ( N k ) W ( N / 2 k ) X ( N k ) 1 N 2 2 2 2 k X1 (k ) WN X 2 (k ),k 0,1,2,...N / 2 1
n为偶
n为奇
N / 2 1
rk k rk x ( r ) W W x ( r ) W 1 N /2 N 2 N /2 r 0 r 0 X1 ( k )
N / 2 1
2 rk rk (这一步利用: WN WN /2
) r , k 0,1,...N / 2 1
N为2的整数幂的FFT算法称基-2FFT算法。
将序列x(n)按n的奇偶分成两组:
x1 (r ) x(2r ) ,r 0, 1, 2, ...N/ 2 1 x2 (r ) x(2r 1)
第四章-傅里叶变换
X(kΩ0)T 1T~ x(t)ejkΩ0tdt
其中 T 为~x(t) 的周期,<T>表示长度为 T 的任意区间。此即连续 傅里叶级数(Continuous Fourier Series, CFS)。从上述公式可 以看出,连续时间周期信号 ~x(t) 可以表示为与其重复频率 Ω0 成 谐波关系的一系列复正弦信号 ejΩ0t 的线性组合,每个 ejΩ0t 的复 数幅度就是傅里叶级数的系数 X(kΩ0)。
第四章 傅里叶变换
1. 连续和离散傅里叶级数 2. 连续和离散傅里叶变换 3. 傅里叶级数与傅里叶变换的比较 4. 有限长序列的离散傅里叶变换
傅里叶,1768-1830
1. 连续和离散傅里叶级数
任何连续时间周期信号 ~x(t) ,只要它满足狄里赫利(Dirichlet) 条件(后面介绍),都可以展开为复正弦形式的傅里叶级数:
(2N1+1)
…
…
─N
0
N
k
1.连续和离散傅里叶级数
周期信号频谱的特点: 1. 连续时间和离散时间周期信号的频谱都是离散频谱,两条
谱线之间的间隔等于重复频率( Ω0 =2π/T 或 ω0 =2π/N)。 2. 连续时间周期信号包含无穷多条谱线,即有无穷多个成谐
波关系的复正弦分量组成;离散时间周期信号的谱线具有 周期性,在频域上为 2π,在 k 域上为 N。
连续傅里叶级数的收敛条件:
条件1
~ x(t)X(kΩ 0)ejΩ k0t, Ω 02π/T
k
X(kΩ0)T 1T~ x(t)ejkΩ0tdt
在任何一个周期内必须模可积,即
~x(t)dt T
X (k Ω 0 ) T 1 T ~ x (t)e jΩ k 0 td T t 1 T ~ x (t)d t
第四章 离散傅里叶变换及其快速算法
离散 连续
周期延拓 非周期
4.1 离散傅里叶变换的定义
kn X (k ) DFT [ x(n)] x(n)WN , n 0 N 1 N 1 n 0 2 kn N
= x ( n )e
j
k=0, 1, , N-1
X ( k )WN kn k 0 N 1
1 x(n) IDFT [ X (k )] N 1 N
4 N
x D1X N
W N ( N 1 ) 2 ( N 1 ) WN W N ( N 1 )( N 1 ) 1
1
D
1 N
W N 2 ( N 1 )
1 DN N
dftmtx(N) 函数产生N×N的DFT矩阵DN conj(dftmtx(N))/N 函数产生N×N的IDFT矩阵DN-1
二、 圆周移位性质
1. 序列的圆周移位 x(n)的圆周移位定义为
y(n)=x((n+m))N RN(n) 其过程为: 1)、将x(n)以N为周期进行周期延拓得x((n))N 2)、将x((n))N左移m位,得x((n+m))N 3)、取其主值序列x((n+m))N RN(n) 循环移位过程如图所示
WNN 1
2 WN ( N 1)
WNN 1 2 WN ( N 1) ( WN N 1) ( N 1)
DFT
IDFT矩阵形式为
1 1 1 W 1 N 1 D 1 1 W N 2 N N 1 W N ( N 1 ) 1 W N 2 W
0 n N `1 0 k N `1
DFT 则: x1 (n) x2 (n) X1 ( K ) X 2 ( K )
FFT
问题的提出
解决问题的思路与方法(减少运算量的途径) 基2按时间抽取FFT算法 基2按频率抽取FFT算法 FFT算法的实际应用
1
数字信号处理中DFT运算的用处
有限长序列在数字技术中占有很重要的地位,它的一个重 要特点是其频域也可以离散化,即离散傅里叶变换(DFT) ① 在FIR滤波器设计中,经常要由h(n)求H(k),或从H(k)求h(n); ② 因为信号序列的DFT本身就是信号频谱的采样集,所以DFT 可以直接用于分析信号的频谱。
8
则 x(n) 的DFT为
kn X (k ) x(n) WN n 0 N 1
N / 2 1
r 0
2k r x(2r ) WN
N / 2 1
r 0
k (2 r 1) x(2r 1) WN
由于
N / 2 1
r 0
x1 (r ) W
2k r N
W
k N
N / 2 1
X 3 (k ) X 4 (k )
N / 4 1
s 0 s 0
ks x3 ( s) WN / 4 DFT x3 ( s ) , 0 k N / 4 1 ks x4 ( s) WN / 4 DFT x4 ( s ) , 0 k N / 4 1
X(0) X(1) X(2) X(3)
x1 (r )
x(4) x(6) x(1)
x2 (r )
x(3) x(5) x(7)
W
1 N
-1
X(4) X(5) X(6) X(7)
2 WN
-1
-1 -1
W
3 N
第四章-傅里叶变换
离散傅里叶级数涉及到的都是有限项求和,因此只要 ~x(n) 是有 界的,即对所有的 n,都有 |~ x(n)|,则 DFS 的收敛不存在任 何问题。或者说,只要在一个周期内 ~x(n) 的能量是有限的,即
则 DFS 一定收敛。
|~x(n)|2
nN
1. 连续和离散傅里叶级数
周期信号用截短了的傅里叶级数近似:
如果把周期信号 ~x(t)和 ~x(n) 分别展成它们的 CFS 和 DFS,并把
无限项的 CFS 和有限项的 DFS 在某一处截断,分别得到:
~xM(t)
M
X(kΩ0)ejkΩ0t
kM
~ x M (n )2 M 1 1 k M M X ~ (k0 )ej k 0 n , (2 M 1 ) N
nN
这两个公式表明,任意周期序列 ~x(n)都可以表示为与其重复频率 ω0 成谐波关系的一系列复正弦序列 ejω0n 的线性组合,每个 ejω0n 的复数幅度就是离散傅里叶级数的系数 X(kω0)。 CFS 与 DFS 的区别: CFS 是一个无穷级数,而周期为 N 的周 期序列的 DFS 却是一个有限级数,它只有 N 项,即:
(2N1+1)
…
…
─N
0
N
k
1.连续和离散傅里叶级数
周期信号频谱的特点: 1. 连续时间和离散时间周期信号的频谱都是离散频谱,两条
谱线之间的间隔等于重复频率( Ω0 =2π/T 或 ω0 =2π/N)。 2. 连续时间周期信号包含无穷多条谱线,即有无穷多个成谐
波关系的复正弦分量组成;离散时间周期信号的谱线具有 周期性,在频域上为 2π,在 k 域上为 N。
x(t) akejkt
k
x(n) akejkn
快速傅里叶变换
前半部分
k0,1, ,N21
X ( N /2 k ) X 1 ( k ) W N k X 2 ( k )
后半部分
蝶形运算流图符号
说明:
X1(k)
X1(k)W N kX2(k)
(1) 左边两路为输入 (2) 右边两路为输出
W
k N
X2(k)
X1(k)W N kX2(k)
(3) 中间以一个小圆表示加、
X(k)X1(k)W N kX2(k)
k0, ,N/21
X(kN/2)X1(k)W N kX2(k)
得到X1(k)和X2(k)需要: 复乘:(N/2)2+ (N/2)2次 = 32次 复加:N/2(N/2-1)+N/2(N/2-1) =12+12 =24次
此外,还有4个蝶形结,每个蝶形结需要1次复乘,2次复加。 一共是:复乘4次,复加8次。
W
N N
k
W
N
n
k
W
n N
N
W
N
n
k
周 期 性 W N n k W N ( N n ) k W N n ( N k )
可 约 性 W N n k W m m N n k WNnk WNnk/m /m
j 2 m nk
e mN
j2N
e N2
e j
1
特 殊 点 : W N 0 1 W N N / 2 1 W N ( k N / 2 ) W N k
偶序列 奇序 (l0 ..列 N 4 . 1 )此l处 0 ,1 ,
那么,X1(k)又可表示为
N /4 1
N /4 1
X 1 (k ) x 1 (2 l)W N 2 l/2 k x 1 (2 l 1 )W N (2 /l2 1 )k
4-快速傅里叶变换解析
k 0,1,, N 1 2
X
k
N 2
X1 (k )
WNk
X 2 (k)
k 0,1,
, N 1 2
x1(0 )=x(0 ) x1(1 )=x(2 )
X1(0 )
X1(1 ) N点
X(0 ) X(1 )
x(2r x(2r
) x1(r) 1) x2
从上面的统计可以看到,直接计算DFT,乘法次数和加法 次数都是和N2成正比的,当N很大时,运算量是很可观的,有 时是无法忍受的。
6
第4章 快速傅里叶变换(FFT)
例3-1 根据式(3-1),对一幅N×N点的二维图像进行DFT 变换,如用每秒可做10万次复数乘法的计算机,当N=1024时, 问需要多少时间(不考虑加法运算时间)?
X1(k) WNk X 2 (k) ,
k 0,1,, N 1 2
13
第4章 快速傅里叶变换(FFT)
X (k) X1(k) WNk X 2 (k) , k 0,1,
, N 1 2
(4-11)
X
k
N 2
X1
k
N 2
W
k
N 2
22
(2)两个N/2点的DFT运算量:复乘次数: N 2
2
复加次数: N ( N 1)
2
(3)N/2个蝶形运算的运算量:复乘次数: N
复加次数:
2 2
N
N
2
总共运算量:
复乘: 复加:
N2 N
N ( N 1)/ 2 N 2
快速傅里叶变换
第四章 快速傅里叶变换(FFT )快速傅里叶变换并不是一种新的变换,而是离散傅里叶变换的一种快速算法。
DFT 的计算在数字信号处理中非常有用,但是由于DFT 的计算量较大,即使采用计算机也很难对问题进行实时处理,通过引入其快速算法FFT ,使DFT 的计算大大简化,运算时间一般可缩短一、二个数量级。
4.1 FFT 算法的基本思想一、直接计算DFT 的问题设)(n x 为N 点有限长序列,其DFT 为:10)()]([)(10-≤≤==∑-=N k W n x n x DFT k X N n knNIDFT 为:10)(1)]([)(10-≤≤==∑-=-N n W k X N k X IDFT n x N k knN二式的差别仅在于N W 的指数符号不同,以及相差一个常数因子N /1,所以,我们只对DFT 正变换的算法进行讨论。
将)(k X 可以展开如下:)1()2()1()0()1()1()2()1()0()2()1()2()1()0()1()1()2()1()0()0()1)(1()2)(1()1)(1()0)(1()1(2)2(2)1(2)0(2)1(1)2(1)1(1)0(1)1(0)2(0)1(0)0(0-++++=--++++=-++++=-++++=--------N x W x W x W x W N X N x W x W x W x W X N x W x W x W x W X N x W x W x W x W X N N NN N N NN NN NNNNN NNNN N N N N N一般来说,)(n x 和knN W 都是复数,因此,完成每一个频率分量的计算需要作N 次复数乘法和1-N 次复数加法,完成)(k X 的N 个频率分量的计算需要作2N 次复数乘法和)1(-N N 次复数加法。
我们知道,复数运算实际上是由实数运算来完成的。
一次复数乘法包括四次实数乘法和二次实数加法,即:)()())((ad bc j bd ac jd c jb a ++-=++一次复数加法包括二次实数加法,即:)()()()(d b j c a jd c jb a +++=+++因此,完成一个)(k X 需要N 4次实数乘法和)12(2)1(22-=-+N N N 次实数加法,整个DFT (N 点)(k X )运算需要24N 次实数乘法和)12(2-N N 次实数加法。
第4章 快速傅里叶变换(FFT)
第4章 快速傅里叶变换(FFT)
4.2.2 时域抽取法基2FFT基本原理
先设序列点数为N=2M,M为整数。如果不满足这个条 件,可以人为地加上若干零值点,使之达到这一要求。 这种N为2的整数幂的FFT称基-2 FFT。
(一)N/2点DFT
按n的奇偶把x(n)分解为两个N/2点的子序列
第4章 快速傅里叶变换(FFT)
(3)对X1(k)和X 2 (k)进行蝶形运算,前半部为
X(0)~X(3),后半部分为 X(4) ~ X(7) 整个过程如图4.2.2 所示:
x(0 )
X1(0 )
X(0 )
x(2 )
N/2点 X1(1 )
X(1 )
x(4 )
X1(2 )
X(2 )
DFT
x(6 )
X1(3 )
WNk
X2(k)
X(N 2
k)
X1(k) WNk
X 2 (k )
(后一半)
计算X(k)包含N/2个蝶形运算和两个N/2点DFT运算
计算工作量分析
第4章 快速傅里叶变换(FFT)
(1)1个N/2点的DFT运算量:
复乘次数: ( N )2 N 2 复加次数: N ( N 1)
24
22
(2)两个N/2点的DFT运算量:
例如,N=8时的DFT可分解为四个N/4的DFT, 具体步骤如下:
(1) 将原序列x(n)的“偶中偶”部分:
x3(l) x1(r) x(n) x3(0) x1(0) x(0) x3(1) x1(2) x(4)
第4章 快速傅里叶变换(FFT)
第4章 快速傅里叶变换(FFT)
4.1 引言 4.2 基2FFT算法 4.3 进一步减少运算量的措施
第4章 快速傅里叶变换(FFT)
A(2) A(3) A(4) A(5) A(6)
WN
0
W
2 N
A(4) A(5)
WN
0
X(4) X(5) X(6) A(7) X(7)
W
0 N
WN
1
A(6)
0 WN
WN
WN
3
2
A(7)
W
2 N
A(7)
图4.2.4 N点DIT―FFT运算流图(N=8)
第4章 快速傅里叶变换(FFT)
4.2.3 DIT―FFT算法与直接计算DFT运算量的比较
N=23=8时的各级旋转因子表示如下:
L=1时,WpN=WJ N/4=WJ2L, J=0 L=2时, WpN =WJ N/2=WJ2L, J=0,1 L=3时, WpN =WJN=WJ2L, J=0,1,2,3 对N=2M的一般情况,第L级的旋转因子为
WNp W2J L, J 0,1, 2, , 2 L1 1 2 L 2 M 2 L M N 2 L M W W
第4章 快速傅里叶变换(FFT)
第4章 快速傅里叶变换(FFT)
4.1 引言
4.2 基2FFT算法
4.3 进一步减少运算量的措施
4.4 分裂基FFT算法
4.5 离散哈特莱变换(DHT)
第4章 快速傅里叶变换(FFT)
4.1 引言
DFT是信号分析与处理中的一种重要变换。因直 接计算DFT的计算量与变换区间长度N的平方成正比, 当N较大时,计算量太大,所以在快速傅里叶变换(简 称FFT)出现以前,直接用DFT算法进行谱分析和信号 的实时处理是不切实际的。直到1965年发现了DFT的 一种快速算法以后,情况才发生了根本的变化。
P N J N 2 L M
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 快速傅立叶变换
一、 计算DFT 效率及其改善途径
填空题:
1.如果一台通用机算计的速度为:平均每次复乘需100s μ,每次复加需20s μ,今用来计算N=1024点的DFT )]({n x 。
问直接运算需( )时间,用FFT 运算需要( )时间。
2.N 点FFT 的运算量大约是( )。
3.快速傅里叶变换是基于对离散傅里叶变换 ___________和利用旋转因子k N j e
π2-的
________ 来减少计算量,其特点是 _______,_________和__________。
简答题: 4.FFT 主要利用了DFT 定义中的正交完备基函数)1,,1,0(-=N n W n N 的周期性和对称
性,通过将大点数的DFT 运算转换为多个小数点的DFT 运算,实现计算量的降低。
请写出N W 的周期性和对称性表达式。
5.基2FFT 快速计算的原理是什么?它所需的复乘、复加次数各是多少?
二、 按时间抽取FFT 算法
简答题:
1.简略推导按时间抽取基2-FFT 算法的蝶形公式,并画出N=8时算法的流图,说明该算法的同址运算特点。
2.简略推导按时间抽取基2-FFT 算法的蝶形公式,并画出8=N 时算法的流图,说明该算法的同址运算特点。
作图题:
3.画出8=N 基2 时间抽取的FFT 流图,并利用该流图计算序列}{0,0,0,0,1,1,1,1][=n x 的DFT 。
4.对于长度为8点的实序列)(n x ,试问如何利用长度为4点的FFT 计算)(n x 的8点DFT ?写出其表达式,并画出简略流程图。
三、按频率抽取FFT 算法
计算题:
1.][k X 是N 点序列][n x 的DFT ,N 为偶数。
两个
2N 点序列定义为 ])12[]2[(21][1++=
n x n x n x 12
0]),12[]2[(21][2-≤≤+-=N n n x n x n x ][1k X 和][2k X 分别表示序列][1n x 和][2n x 的2
N 点DFT ,试由][1k X 和][2k X 确定][n x 的N 点DFT 。
简答题:
1. 简略推导按频率抽取基2-FFT 算法的蝶形公式,并画出8=N 时算法的流图,说明该算
法的同址运算特点。
作图题:
2. 画出基2 时域抽取4点FFT 的信号流图。
四、 其它FFT 算法
简答题:
1.已知两个N 点实序列)(n u 和)(n v 得DFT 分别为)(k U 和)(k V ,现在需要求出序列)(n u 和)(n v ,试用一次N 点IFFT 运算来实现。
2.已知长度为2N 的实序列)(n x 的DFT )(k X 的各个数值)12,...,1,0(-=N k ,现在需要由)(k X 计算)(n x ,为了提高效率,请设计用一次N 点IFFT 来完成。
五、 快速傅立叶变换应用
简答题:
1. 采用FFT 算法,可用快速卷积完成线性卷积。
现预计算线性卷积)()(n h n x *,试写
采用快速卷积的计算步骤(注意说明点数)。