第四章 快速傅立叶变换 f ast f ourier t ransform
DESCRIPTION
第四章 快速傅立叶变换 F ast F ourier T ransform. 第一节 直接计算 DFT 的问题及改进途径. 1、问题的提出. 设有限长序列 x(n) , 非零值长度为 N , 若对 x(n) 进行一次 DFT 运算,共需 多大的运算工作量 ?. 计算成本? 计算速度?. 注意:. 1) x(n) 为 复数 , 也为 复数 。 2) DFT 与 IDFT 的 计算量相当。. 2. DFT 的运算量. 回忆 DFT 和 IDFT 的变换式:. N 个点. N 次复乘, N-1 次复加. - PowerPoint PPT PresentationTRANSCRIPT
第四章 快速傅立叶变换第四章 快速傅立叶变换 Fast Fourier Transform
第一节 直接计算 DFT 的问题及改进途径1 、问题的提出 设有限长序列 x(n) ,非零值长度为N ,若对 x(n) 进行一次 DFT 运算,共需多大的运算工作量?
计算成本 ?计算速度 ?
2. DFT 的运算量 回忆 DFT和 IDFT 的变换式:
10)(1)]([)(1
0
NnWkXN
kXIDFTnxN
k
nk
10)()]([)(1
0
NkWnxnxDFTkX
N
n
nkN
1) x(n) 为复数, 也为复数。2) DFT与 IDFT 的计算量相当。
nkN
jnkN eW
2
注意:
计算机运算时(编程实现): 0k 0)1(0100 )1()1()0()0( N
NNN WNxWxWxX
1k 0 1 11 ( 1) 1(1) (0) (1) ( 1) NN N NX x W x W x N W
2k 0 2 1 2 ( 1) 2(2) (0) (1) ( 1) NN N NX x W x W x N W
1Nk 0 1 1 1 ( 1) 1( 1) (0) (1) ( 1)N N N N
N N NX N x W x W x N W
NN 次复乘,次复乘, N-1N-1 次复加次复加
NN 个点 个点
10)()]([)(1
0
NkWnxnxDFTkX
N
n
nkN
以 DFT 为例:
复数乘法 复数加法一个 X(k) N N – 1
N个 X(k)(N点 DFT)
N 2 N (N – 1)
实数乘法 实数加法一次复乘 4 2
一次复加 2
一个 X (k) 4N 2N+2 (N – 1)=2 (2N – 1)
N个 X (k)(N点 DFT)
4N 2 2N (2N – 1)
1
0
( )N
nkN
n
x n W
运算量
(a+jb)(c+jd)=(ac-bd)+j(bc+ad)
例:计算一个 N点 DFT ,共需 N2 次复乘。以做一次 复乘 1μs 计,若 N =4096 ,所需时间为
ss 1716777216)4096( 2
例:石油勘探,有 24 个通道的记录,每通道波形记 录长度为 5 秒,若每秒抽样 500 点 / 秒, 1 )每道总抽样点数: 500*5=2500 点 2 ) 24 道总抽样点数: 24*2500=6 万点 3) DFT 复乘运算时间: N2=(60000)2=36*108 次
ss 360010*36)60000( 82
由于计算量大,且要求相当大的内存,难以实现实时处理,限制了 DFT 的应用。长期以来,人们一直在寻求一种能提高 DFT 运算速度的方法。 FFT 便是 Cooley & Tukey 在 1965 年提出的的快速算法,它可以使运算速度提高几百倍,从而使数字信号处理学科成为一个新兴的应用学科。
第二节 改善 DFT 运算效率的基本途径kn
NW 1 、利用 DFT 运算的系数 的固有对称性和周期 性,改善 DFT 的运算效率。 1 )对称性 2 )周期性 3 )可约性
( ) ( ) nk N n k n N kN N NW W W 周期性
nk mnkN mNW W可约性 /
/nk nk mN N mW W
2j mnkmNe
22 1Nj jNe e
0 / 2 ( / 2) 1 1N k N kN N N NW W W W 特殊点:
nkNW 的特性
2j nknk NNW e
* ( ) ( ) ( )nk nk N n k n N kN N N NW W W W 对称性
Nk nkN NW W
nN nk
N NW W
2 、将长序列 DFT 利用对称性和周期性分解为短 序列 DFT 的思路 因为 DFT 的运算量与 N2 成正比的,如果一个
大点数 N的 DFT 能分解为若干小点数 DFT 的组合,则显然可以达到减少运算工作量的效果。
N 点DFT
N/2 点DFT
N/2 点DFT
N/4 点DFT
N/4 点DFT
N/4 点DFT
N/4 点DFT
…….
复乘:2N
22
22
NN
2
2N
2222
4444
NNNN
4
2N
FFT 算法的基本思想: 利用 DFT 系数的特性,合并 DFT 运算中的某些项 把长序列 DFT→ 短序列 DFT ,从而减少运算量。FFT算法分类 :
时间抽选法 DIT: Decimation-In-Time频率抽选法 DIF: Decimation-In-Frequency
第三节 按时间抽选的基 2-FFT 算法1 、算法原理
设输入序列长度为 N=2M(M 为正整数,将该序列按时间顺序的奇偶分解为越来越短的子序列,称为基 2 按时间抽取的 FFT 算法。也称为 Coolkey-Tukey 算法。 其中基 2 表示: N=2M , M 为整数 . 若不满足这个条件,可以人为地加上若干零值(加零补长)使其达到 N=2M 。
先将 x(n) 按 n 的奇偶分为两组,作变量置换 :
当 n= 偶数时,令 n=2r;
当 n= 奇数时,令 n=2r+1;
分组,变量置换2 、算法步骤
10)()]([)(1
0
NkWnxnxDFTkX
N
n
nkN
得到:1,...,0)()12(
)()2(2
2
1
Nrrxrx
rxrx
带入 DFT 中
1
0)(
)]([)(N
n
nkNWnx
nxDFTkX
12/
0
)12(12/
0
2 )12()2(N
r
krN
N
r
rkN WrxWrx
1
0
1
0)()(
N
n
nkN
N
n
nkN
nn
WnxWnx为奇数为偶数
12/
0
22
12/
0
21 )()(
N
r
rkN
kN
N
r
rkN WrxWWrx
所以
12/
0
22
12/
0
21 )()()(
N
r
rkN
kN
N
r
rkN WrxWWrxkX
由于 nN
nN
jnN
jnN WeeW 2/
2/222
2 --
12/
02/2
12/
02/1 )()(
N
r
rkN
kN
N
r
rkN WrxWWrx
)()( 21 kXWkX kN
1,,1,0 2 Nk 1,,1,0 Nk ?1,,1,0 2 Nk
X1(k)、 X2(k) 只有 N/2 个点,以 N/2 为周期;而 X
(k) 却有 N 个点,以 N 为周期。要用 X1(k)、 X2(k) 表达全部的 X (k) 值,还必须利用 WN 系数的周期特性。
rkN
kNrN WW 2/
)2/(2/
12/
02/1
12/
0
)2/(2/11 )()()2/(
N
r
rkN
N
r
kNrN WrxWrxkNX
)()2/()()2/(
22
11
kXkNXkXkNX
后半部分前半部分
又考虑到 的对称性:kNW
kN
kN
NN
kNN WWWW 2/)2/(
)2/()2/()2/( 2)2/(
1 kNXWkNXkNX kNN
有:1,,1,0)()()( 221 Nk
N kkXWkXkX
1,,1,0)()( 221 NkN kkXWkX
后半部分前半部分
)()()2/( 21 kXWkXkNX kN
)()()( 21 kXWkXkX kN
1,,1,0 2 Nk
)(1 kX
)(2 kX
kNW
)()( 21 kXWkX kN
)()( 21 kXWkX kN
蝶形运算流图符号 说明: (1) 左边两路为输入 (2) 右边两路为输出 (3) 中间以一个小圆表示加、 减运算(右上路为相加 输出、右下路为相减输 出 )1 个蝶形运算需要 1 次复乘, 2 次复加
复数乘法 复数加法一个 N 点 DFT N 2 N (N–1)
一个 N / 2点 DFT (N / 2)2 N / 2 (N / 2 –1)
两个 N / 2点 DFT N 2 / 2 N (N / 2 –1)
一个蝶形 1 2
N / 2 个蝶形 N / 2 N
总计 N2/2 + N/2≈ N2/2
N(N/2-1) + N≈ N2/2
运算量减少了近一半
分解后的运算量:
)()()2/(
)()()(
21
21
kXWkXNkX
kXWkXkXk
N
kN
12/,,0 Nk
先将 N=8 点的 DFT 分解成 2 个 4 点 DFT:
可知:时域上: x(0),x(2),x(4),x(6) 为偶子序列 x(1),x(3),x(5),x(7) 为奇子序列 频域上: X(0)~X(3) ,由 X(k) 给出 X(4)~X(7) ,由 X(k+N/2) 给出
例子:求 N=23=8点 FFT 变换 按 N=8→N/2=4 ,做 4 点的 DFT:
N=8 点的直接 DFT 的计算量为: 复乘: N2 次 = 64 次 复加: N(N-1) 次 = 8×7=56 次
)()()2/(
)()()(
21
21
kXWkXNkX
kXWkXkXk
N
kN
12/,,0 Nk
此外,还有 4 个蝶形结,每个蝶形结需要 1 次复乘, 2 次复加。一共是:复乘 4 次,复加 8 次。
得到 X1(k)和 X2(k) 需要: 复乘: (N/2)2+ (N/2)2 次 = 32 次 复加: N/2(N/2-1)+N/2(N/2-1) =12+12 =24 次
用分解的方法得到 X (k) 需要: 复乘: 32+4 = 36 次 复加: 24+8 = 32 次
N点 DFT 的一次时域抽取分解图(N=8)
4点
DFT
4点
DFT
x(0)
x(2)x(4)x(6)
x(1)x(3)x(5)x(7)
X1(0)
X1(1)X1(2)X1(3)X2(0)X2(1)X2(2)X2(3)
X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)3
8W
28W
18W
08W
奇序列、偶序列、
)6()2()4()0(
:)(1 xxxx
rx
奇序列、偶序列、
同理:)7()3()5()1(
:)(2 xxxx
rx
因为 4点 DFT 还是比较麻烦,所以再继续分解。 若将 N/2(4 点 ) 子序列按奇 / 偶分解成两个 N/4 点 (2点 ) 子序列。即对将 x1(r) 和 x2(r) 分解成奇、偶两个 N/4点 (2 点 ) 点的子序列。
1,0)1...0()()12(
)()2(4
41
31
lllxlx
lxlxN 此处,
奇序列偶序列
设:
1,0)1...0()()12(
)()2(4
62
52
lllxlx
lxlxN 此处,
奇序列偶序列
设:
那么, X1(k) 又可表示为
14/
0
)12(2/1
14/
0
22/11 )12()2()(
N
l
klN
N
l
lkN WlxWlxkX
14/
04/42/
14/
04/3 )()(
N
l
lkN
kN
N
l
lkN WlxWWlx
)()( 42/3 kXWkX KN
1,......1,0)()()(
)()()(4
42/341
42/31
N
kN
N
kN k
kXWkXkX
kXWkXkX
14/
0
)12(2/2
14/
0
22/22 )21()2()(
N
l
klN
N
l
lkN WlxWlxkX
14/
04/62/
14/
04/5 )()(
N
l
lkN
kN
N
l
lkN WlxWWlx
1,......1,0)()()(
)()()(4
62/542
62/52
N
kN
N
kN k
kXWkXkX
kXWkXkX
X2(k) 也可以进行相同的分解:
注意:通常我们会把 写成 。kNW 2/
kNW 2
)()( 62/5 kXWkX KN
N点 DFT 的第二次时域抽取分解图 (N=8)
2点DFT
2点DFT
2点DFT
2点DFT
x(0)x(4)x(2)x(6)x(1)x(5)x(3)x(7)
X3(0)X3(1)X4(0)X4(1)X5(0)X5(1)X6(0)X6(1)
08W2
8W
08W2
8W
X1(0)X1(1)X1(2)X1(3)X2(0)X2(1)X2(2)X2(3) 3
8W
28W
18W
08W
X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)
4点
DFT
4点
DFT
x(0)
x(2)x(4)x(6)
x(1)x(3)x(5)x(7)
X1(0)
X1(1)X1(2)X1(3)X2(0)X2(1)X2(2)X2(3)
X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)3
8W
28W
18W
08W
)1()0(
)()]([)(
323
14/
04/333
xWx
WlxlxDFTkX
k
N
l
klN
)1()0()1()0()1(
)1()0()0(
30
2331
233
30
233
xWxxWxX
xWxX
8
8
08W
X3(0)
X3(1)
x(0)=x3(0)
x(4)=x3(1)
N点 DIT―FFT 运算流图 (N=8)
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
0NW
0NW
0NW
0NW
0NW
2NW
0NW
2NW
0NW
2NW
1NW
3NW
3、 DIT―FFT 算法与直接计算 DFT 运算量的比较
22log
2NN
N
1)、 N=2M的 DFT 运算可分成 M 级,每一级有 N/2 个蝶形 ,每个蝶形有一次复乘两次复加。N
N2log
2NN 2log2) 、所以 M 级共有 次复乘和 次复加。
3) 、若直接计算 DFT ,需 N2 次复乘和 N(N-1) 次复加。显然,当 N 较大时,有: 例如, N=210=1024 时
2
2
1048576 204.8( / 2) log 5120
NN N
FFT 算法与直接计算 DFT 所需乘法次数的比较曲线
4、 DIT―FFT 的运算规律及编程思想 FFT 的每级(列)计算都是由 N 个复数数据(输入)两两构成一个蝶型(共 N/2 个蝶形)运算而得到另外 N 个复数数据(输出)。 当数据输入到存储器以后,每一组运算的结果,仍然存放在这同一组存储器中直到最后输出。例:将 x(0) 放在单元 A(0) 中,将 x(4) 放在单元 A(1)中, W8
0
放在一个暂存器中。将 x(0) + W8
0x(4) → 送回 A(0) 单元将 x(0) - W8
0x(4) → 送回 A(1) 单元0
8W
X3(0)
X3(1)
x(0)
x(4)
1) 原位运算 ( 亦称同址计算 )
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
0NW
0NW
0NW
0NW
0NW
2NW
0NW
2NW
0NW
2NW
1NW
3NW
回顾: N点 DIT―FFT 运算流图 (N=8)
如上所述, N点 DIT―FFT 运算流图中,每级都有 N/2 个蝶形。每个蝶形都要乘以因子 WN
P ,称其为旋转因子, p 称为旋转因子的指数。
2)旋转因子的变化规律
观察 FFT 运算流图发现,第 L 级共有 2L-1 个不同的旋转因子。 N=23=8 时的各级旋转因子表示如下:
L=1 时, WNp=WN/4
J , N/4 =21 =2L , J=0
L=2 时, WNp =WN/2
J , N/2 =22 =2L , J=0, 1
L=3 时, WNp =WN
J , N =23 =2L ,J=0, 1, 2, 3
对 N=2M 的一般情况,第 L 级的旋转因子为:12,...,1,0 1
2 LJPN JWW L
MLMLML N 2222
12,...,1,0 122
LJ
NJ
NP
N JWWWLM
ML
LMJp 2
设序列 x(n)经时域抽选 (倒序 ) 后,存入数组 X中。如果蝶形运算的两个输入数据相距 B 个点 (B=2L-
1) ,应用原位计算,则蝶形运算可表示成如下形式:
pNLLL
pNLLL
WBJXJXBJX
WBJXJXJX
)()()(
)()()(
11
11
MLJJp LLM ,...,2,112,...,1,02 1 ,,式中:
下标 L 表示第 L 级运算, XL(J) 则表示第 L 级运算后数组元素 X(J) 的值。
3) 编程思想及流程图开始
送入 x(n)和 N=2M
调整输入 x(n) 的顺序
for(L=1; L<=M; L++)
B = 2L-1
for(J=0; J<=B-1; J++)
p = J·2M-L
for(k = J; k<= N-1; k=k+2L)
pN
pN
WBkXkXBkX
WBkXkXkX
)()()(
)()()(
输出结果结束
4 )码位倒序 由 N=8 蝶形图看出:原位计算时, FFT 输出的 X(k) 的次序正好是顺序排列的,即 X(0)…X(7),但输入 x(n) 都不能按自然顺序存入到存储单元中,而是按 x(0),x(4),x(2),x(6) ,x(1),x(5),x(3),x(7) 的顺序存入存储单元,即为乱序输入,顺序输出。 这种顺序看起来相当杂乱,然而它是有规律的。即码位倒读规则。
自然顺序 n 二进制码表示 码位倒读 码位倒置顺序n’
以 N=8 为例:
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
000
100
010
110
001
101
011
111
0
4
2
6
1
5
3
7
看出:码位倒读后的顺序刚好是数据送入计算机内的顺序。
x (0) x (1) x (2) x (3) x (4) x (5) x (6) x (7)A (0) A (1) A (2) A (3) A (4) A (5) A (6) A (7)
A (0) A (1) A (2) A (3) A (4) A (5) A (6) A (7)x (0) x (4) x (2) x (6) x (1) x (5) x (3) x (7)
倒序规律
对于数对于数 NN ,,在其二进制最高位加在其二进制最高位加 11 ,等于加,等于加 N/2N/2 。。
若已知某个反序号为若已知某个反序号为 JJ ,,为求下一个反序号,为求下一个反序号,可先判可先判 JJ 的最高位:的最高位: 1) 1) 若为若为 00 ,则把该位变成,则把该位变成 11 (即加(即加 N/2N/2 ))就得就得到下到下 一个反序号,一个反序号, 2) 2) 若为若为 11 ,则需判断次高位:,则需判断次高位: ① ① 若次高位为若次高位为 00 ,则把最高位变,则把最高位变 00 ((相当减去相当减去 N/2N/2 ))后,再把次高位变后,再把次高位变 11 (即加(即加 N/4N/4 )。)。
② ② 若次高位为若次高位为 11 ,则需判断次次高位,则需判断次次高位…………
分析:分析:
倒倒序序排排列列算算法法的的流流程程图图
正序序列已在数组 A[ ] 中,输 入 N
LH= N/2 , j=LH , N1 = N-2
j=j-kk=k/2
k=LH
j<k
j=j+k
T = A(j) A(i) = A(j) A(j) = T
for(i=1; i<=N1; i++)
i ≥ j
NNYY
YY
NN
第四节 按频率抽选的基 2-FFT 算法 在基 2 快速算法中,频域抽取法 FFT 也是一种常用的快速算法,简称 DIF―FFT。
设序列 x(n) 长度为 N=2M ,首先将 x(n)前后对半分开,得到两个子序列,其 DFT 可表示为如下形式
1-N
N/2n
knN
1-N/2
0n
knN
1-N
0n
knN WnxWnxWnxX(k) )()()(
-1N/2
0n
)2/(-1N/2
0n)2/()( Nnk
Nkn
N WNnxWnx
-1N/2
0n
-1N/2
0n)2/()1()( kn
Nkkn
N WNnxWnx 1,...1,0 Nk
kjkkNN
jkNN eeW 12
22/
式中,
12/
0
1,.....1,0,)2/(1)()(N
n
knN
k NkWNnxnxkX
:)(k 分为两部分的奇偶可把按 kX
12/....2,1,0,12,2 Nrrkrk 及令
为偶数时,K
12/
02/
12/
0
2
)2/()(
)2/()(2
N
n
rnN
N
n
rnN
WNnxnx
WNnxnxrX
为奇数时,K
12/
02/
12/
0
12
)2/()(
)2/()(12
N
n
rnN
nN
N
n
nrN
WWNnxnx
WNnxnxrX )(
nNW
)2/()()(1 Nnxnxnx
nNWNnxnxnx )2/()()(2
)(nx
)2/( Nnx
1,...,1,0)2/()()(
)2/()()(2
2
1
N
nN
nWNnxnxnx
Nnxnxnx令
nrN
N
n
nrN
N
n
WnxrXkX
WnxrXkX
2/
12/
022
2/
12/
011
)()12()(
)()2()(
DIF―FFT 一次分解运算流图 (N=8)
4点
DFT
4点
DFT
x(0)x(1)x(2)x(3)x(4)x(5)x(6)
x(7)
X(0)X(2)X(4)X(6)X(1)X(3)X(5)
X(7)3NW
2NW
1NW
0NW
x1(0)x1(1)x1(2)x1(3)x2(0)x2(1)x2(2)x2(3)
DIF―FFT 二次分解运算流图(N=8)
N /4点DFT
W N0
W N1
W N2
W N3
x (0)
x (1)
x (2)
x (3)
x (4)
x (5)
x (6)
x (7)
X (0)
X (4)
X (2)
X (6)
X (1)
X (5)
X (3)
X (7)
W N0
W N2
W N0
W N2
N /4点DFT
N /4点DFT
N /4点DFT
DIF―FFT 运算流图 (N=8)
W N0
W N1
W N2
W N3
W N0
W N2
W N0
W N2
W N0
W N0
W N0
W N0
X (0)
X (4)
X (2)
X (6)
X (1)
X (5)
X (3)
X (7)
x (0)
x (1)
x (2)
x (3)
x (4)
x (5)
x (6)
x (7)
时间抽取算法与频率抽取算法的比较1) 频率抽选法和时间抽选法总的计算量是相同的
NN
2log2
NN 2log复乘: 复加:2) 频率抽取法和时间抽取法一样,都适用于原位运 算, 即蝶形的输入和输出占用同一个存储单元。3) 均存在码位倒序问题。4) 频率抽选法和时间抽选法一样,基本运算也是蝶形 运算。但两者的蝶形形式略有不同。
第五节 IDFT 的快速算法- IFFT上述 FFT 算法流图也可以用于离散傅里叶逆变换(Inverse Discrete Fourier Transform ,简称
IDFT)。比较 DFT和 IDFT 的运算公式:
10)(1)]([)(1
0
NnWkXN
kXIDFTnxN
k
nk
10)()]([)(1
0
NkWnxnxDFTkX
N
n
nkN
1) 旋转因子: kN
kN WW
2) 系数: MNN 21 ,
DIT―IFFT 运算流图
W N0
W N1
W N2
W N3
W N0
W N0
N1x (0)
x (4)
x (2)
x (6)
x (4)
x (5)
x (3)
x (7)
X (0)
X (1)
X (2)
X (3)
X (4)
X (5)
X (6)
X (7)
W N2
W N2
N1
N1
N1
N1
N1
N1
N1
DIT―IFFT 运算流图 (防止溢出 )
W N0
21
21 x (0)
x (4)
x (2)
x (6)
x (1)
x (5)
x (3)
x (7)
X (0)
X (1)
X (2)
X (3)
X (4)
X (5)
X (6)
X (7)
21
21
21
W N1
21
W N2
21
W N3
21
21
21
W N0
21
W N2
21
21
21
W N0
21
W N2
21
21
W N0
21
21
W N0
21
21
21
W N0
21
W N0
21
如果希望直接调用 FFT 子程序计算 IFFT ,则可用下面的方法:
1
0
1
0
1( ) ( )
1( ) ( )
Nkn
Nk
NknN
k
x n X k WN
x n X k WN
对上式两边同时取共轭,得:
1
0
1 1( ) [ ( ) ] [ ( )]N
knN
k
x n X k W DFT X kN N
例 1 、如果通用计算机的速度为平均每次复乘需要 5s ,每次复加需要 0.5s ,用它来计算 512点 的 DFT[x(n)] ,问:1 )直接计算需要多少时间?
2 )用 FFT 需要多少时间?解: 1 )用 DFT 进行运算:
复乘: T1=N2×5×10-6=1.31072 秒 复加: T2=N(N-1)×0.5×10-6=0.130816 秒 总共: T=T1+T2=1.441536 秒
2 )用 FFT 进行运算: 复乘: T1
’=(N/2)log2N×5×10-6=0.01152 秒
复加: T2’= Nlog2
N ×0.5×10-6=0.002304 秒 总共: T’=T1
’+T2’=0.013824 秒
例 2 、对一个连续时间信号 xa(t)采样 1 秒得到 4096个采 样点的序列,求:1 )若采样后没有发生混叠现象, xa(t) 的最高频率是
多少?解: 1 秒内采样 4096 个点,说明采样频率是 4096Hz。
Hzf 4096s 即:
hff 2s Hzfh 2048
2 )若计算采样信号的 4096点 DFT, DFT 系数之间 的频率间隔是多少?
解: ( 要求解的是频谱分辨的间隔 F)
Hzf 4096s 频谱范围是:4096N
)(14096
)(4096s HzHz
Nf
F
例 3 、长度为 240 点的序列 x(n) 与长度为 N 点的h(n)卷 积。当 N=10 和 240 时,直接进行卷积 x(n)*h(n) 和用 IFFT[X(K)·H(K)] 的方法相比,那种方法求 解 y(n) 的效率更高?x(n) h(n) y(n)=x(n)*h(n)
L≥N1+N2-1X(k)补 L-N1 个零x(n) L点 DFT
补 L-N2 个零h(n) L点 DFT
L点 IDFT y(n)= x(n)*h(n)
H(k)
Y(k)
直接进行卷积( N=10):
n
mnhnxnhnxny )()()()()(
乘法次数: 240×10 = 2400 次用 FFT 的方法( N=10):添零到 256 点, L=256
乘法次数:3×(L/2)log2
L+ L = 3×128×8+ 256 = 3328 次
直接进行卷积( N=240):
n
mnhnxnhnxny )()()()()(
乘法次数: 240×240 = 57600 次用 FFT 的方法( N=240):添零到 512 点, L=512
乘法次数:3×(L/2)log2
L+ L = 3×256×9+ 512 = 7424 次