第四章快速傅里叶变换
合集下载
第四章 快速傅里叶变换

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滤波器的乘法运算量
此时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算法进行谱分 析和信号的实时处理是不切实际的。
信号与系统(第四章)-离散傅里叶变换与快速傅里叶变换

解:变量n用k替代
反转,并取主值区间序列
周期延拓
反转后
向右平移1位 向右平移3位
向右平移2位
于是,由
y
(n)
3
x(k
)h((n
k
))
4
G4
(n)
,得
k 0
y(0) 1114 13 02 8
y(1) 1 2 1114 03 7
y(2) 1312 11 04 6
y(3) 14 1312 01 9
➢ 线卷积与圆周卷积
• 线卷积的移位是平移,圆周卷积的移位是周期位 移。
• 线卷积不要求两序列长度一致。若 x(n)与h(n)的长度分别为M和N,则 y(n)=x(n)*h(n)的长度为M+N-1。 圆周卷积要求两序列长度一致,否则短序列须补 零,使两序列等长后,才可进行圆周卷积。
DFT ax1(n) bx2(n) aDFT x1(n) bDFT x2(n)
(4.9)
当序列x1(n)和x2(n)长度不一致时,则可通过将较 短序列补零,使两序列长度一致,此时,式(4.9)成立。
2、圆周位移特性 圆周时移:圆周时移指长度为N的序列x(n),以N 为周期做周期延拓生成xp(n),位移m位后,得序 列xp(n-m),在此基础上取其主值区间上序列。
于是
x(n)
x(t)
t nTs
k
X e jk1nTs k
X e X e
j
2 T1
knTs
k
j 2 nk N
k
(4.3)
k
k
式(4.3)两边同乘
e
j 2 N
nm
,再取合式
N 1
,得
n0
反转,并取主值区间序列
周期延拓
反转后
向右平移1位 向右平移3位
向右平移2位
于是,由
y
(n)
3
x(k
)h((n
k
))
4
G4
(n)
,得
k 0
y(0) 1114 13 02 8
y(1) 1 2 1114 03 7
y(2) 1312 11 04 6
y(3) 14 1312 01 9
➢ 线卷积与圆周卷积
• 线卷积的移位是平移,圆周卷积的移位是周期位 移。
• 线卷积不要求两序列长度一致。若 x(n)与h(n)的长度分别为M和N,则 y(n)=x(n)*h(n)的长度为M+N-1。 圆周卷积要求两序列长度一致,否则短序列须补 零,使两序列等长后,才可进行圆周卷积。
DFT ax1(n) bx2(n) aDFT x1(n) bDFT x2(n)
(4.9)
当序列x1(n)和x2(n)长度不一致时,则可通过将较 短序列补零,使两序列长度一致,此时,式(4.9)成立。
2、圆周位移特性 圆周时移:圆周时移指长度为N的序列x(n),以N 为周期做周期延拓生成xp(n),位移m位后,得序 列xp(n-m),在此基础上取其主值区间上序列。
于是
x(n)
x(t)
t nTs
k
X e jk1nTs k
X e X e
j
2 T1
knTs
k
j 2 nk N
k
(4.3)
k
k
式(4.3)两边同乘
e
j 2 N
nm
,再取合式
N 1
,得
n0
第四章 快速傅里叶变换

运 算
X[3] 2WN0 3WN3 3WN6 2WN9 1 j
复数加法 N(N-1)
复数乘法 N 2
效 率
?
1.将长序列DFT分解为短序列的DFT 由于DFT的运算量与N2成正比,N越小,
DFT的运算量越少。所以如果把一个长序列 的DFT能分解为短序列的DFT的组合,则显 然可取得减少运算工作量的效果。
N 1
X (k) DFT[x(n)]
x(n)W
kn N
n0
N 1
N 1
x(n)WNkn+ x(n)WNkn
n0 n为偶数
n0 n 为奇数
N / 21
N / 21
= x(2r)WN2rk x(2r 1)WN(2r1)k
r 0
r 0
N / 21
N / 21
= x1 (r)WN2rk WNk x2 (r)WN2rk
X 3 (k) WNk / 2 X 4 (k)
k 0,1, , N 1 4
将系数统一为以N为周期,即
,可得
Wk N/2
WN2k
X X
1 1
(k (k
) X 3 (k) WN2k X 4 (k) N / 4) X 3 (k) WN2k
X
4
(k
)
k 0,1, , N 1 4
同样,对也可进行类似的分解。一直分解
第4章 快速傅里叶变换
4.1 快速傅里叶变换
4点序列{2,3,3,2} DFT的计算复杂度 如
N 1
X [k] x[k]WNkn
何 提
n0
高
X[0] 2WN0 3WN0 3WN0 2WN0 10
DFT
X[1] 2WN0 3WN1 3WN2 2WN3 1 j
4 快速傅里叶变换

4.2 直接计算 DFT 的问题及改进的途径
设 x(n) 为 N 点有限长序列 , 其 DFT 为
X (k ) x(n)W , k 0,1,…,N-1
n 0 nk N
N 1
(4-1)
反变换( IDFT) 为
1 N 1 nk x(n) X (k )WN , n 0,1,…,N-1 N k 0
表示。流图的表示法 将在第五章中讨论 , 当支路上没有标出系数
时 , 则该支路的传输系数为 1 。
采用这种表示法 , 可将上面讨论的分解过程表示于图 4-2 中。 此图表示 N= =8 的情况 , 其中输出值 X(0) 到 X(3 )是由(4-11) 式给出的 , 而输出值 X(4 )到 X(7 )是由 (4-12) 式给出的。
前半部分X(k)(k=0,1……,N/2-1)
后半部分X(k)(k= N/2 ……,N-1)
这样 , 只要求出 0 到 (N/2-1 )区间的所有
值 , 即可
求出 0 到 (N-1) 区间 内的所有 X(k)值 , 这就大大节省了运算。
(4-11)式和 (4-12)式的运算可以用图 4-1 的蝶形信号流图符号
nk (1) WN 的对称性
(W ) W
nk * N
nk N
nk (2 ) 的周期性 WN
W
(3)W
nk N 的可约性
nk N
W
W
( n N ) k N
W
n( k N ) N
W
nk N
nmk mN
,W
nk N
W
nk / m N /m
由此可得出
n ( N k ) ( N n ) k nk WN WN WN ,
数字信号处理_程佩青_PPT第四章

第四章 快速傅里叶变换 (FFT)
主要内容
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)
主要内容
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)
第4章傅里叶变换ppt课件

23
例题4.6 求正弦波的频谱
解:
x(t)si n0tej0t
ej0t 2j
1 a1 2 j
a-1
- 1 2j
X(j)j(0)j(0)
可编辑课件PPT
24
ej0t ej0t
x(t)co0st 2
a1
1 2
a-1
1 2
X (j ) ( 0 ) ( 0 )
本例的结论在信号调制理论中有着广泛的应用
可编辑课件PPT
12
例题4.2 求 x(t)(t) 的频谱。
解
X(j)x(t)ejtdt (t)ejtdt
(t)ej0dt1
可编辑课件PPT
13
单位冲激信号的频谱是常数1,或者说,在所有 的频率点上,频谱的值都是恒定的。
这个例子的物理含义非常广泛,它意味着,尖脉 冲信号的频谱非常宽,会对处于不同接收频率的电子 设备产生干扰。
X(jk0)ejk0t
0
面X 积 (jk0)ej k0t 0 k 0
X(j)ejtd
X(jk0)ejk0t0
k
可编辑课件PPT
10
0 0
傅里叶反变换
x(t)21 X(j)ejtd
一种分解
可编辑课件PPT
11
傅里叶变换
频谱
傅里叶正变换
X(j) x(t)ejtdt
F
F1
x(t)X(j) X(j)x(t)
可编辑课件PPT
2
抽样函数或者称为采样函数:
Sa(x) sinx x
S(ax)S(a x) 偶函数
通过罗必塔法则,可以得到
Sa(0) 1
Sa()0
x 抽样函数右边的第一个过零点在
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 快速傅里叶变换
1. 引言 2. 直接计算DFT的问题及改进的途径 3. 按时间抽选(DIT)的基-2FFT算法 4. 离散傅里叶反变换(IDFT)的快速计算方
法 5. N为复合数的FFT算法-混合基算法 6. 线性调频Z变换(Chirp-z变换)算法 7. 线性卷积与线性相关的FFT算法
1. 引言
先将x(n)分段,每段补上L=N-M+1个点;序列
中补零处不补零,而每一段的前边补上前一段保
留下来的(M-1)个输入序列值,组成L+M-1
点序列
,如图4.30a所示。
如果
,则可在每段序列未端补
零值点,补到长度为2m。
二、线性相关的FFT算法:常称之为快速相关,要 利用补零值点的办法避免混叠失真。
的确定
第m级运算由4-21式写成
其中r的求解方法为
6. 存储单元 输入序列 系数
N个单元 N/2个单元
四. 按时间抽选的FFT算法的其它形 式流程图
4.5 离散傅里叶反变换的快速计算方 法
从IDFT公式
与DFT公式
比较可知,只要把DFT运算中的每一个系数
变成
,最后再乘常数1/N,则以上所有
(3)N是复合数,即它可以分解成一些成一些因子 的乘积,用混合基算法。
一. 整数的多基多进制表示形式
(1)对于二进制,
表示为
二进制倒序为
(2)对于r进制,正序
倒序
(3)对于多进制或称混合基 N可以表示成复合数,
的任一个正整数n,可以按L个基 表示。正序
倒序
,则对于
在这一多进制的表示中 可记为
, N1 2
(4.12)
这样,4.11、12式只要0-(N/2-1)区间的所有
X(k)值。
的值,即可求0到(N-1)区间所有
4.11和4.12式用图4-1的蝶形符号表示。
N=8的情况如图4-2
分析:每个蝶形运算需要一次复数乘法
及
两次复数加(减)法。通过分解后运算工作量差不
多减少到一半。
4.42式可进一步表示为
式中
N为复合数
的DFT算法的步骤归纳如下:
(1)将x(n)改写成
利用
利用4.44式做 个 点DFT,得
利用4.45式,把N个
子
,组成
乘以相应的旋转因 。
利用4.46式,做 个 点DFT,得
利用4.47式,进行整序,得到
其中
对于
重写n和k的表达式
则4.44式变成
X再2考N2虑k性质XW 2N kN 2k
WNN2WN k WN k
(4.9) (4.10)
把4.8,4.9,4.10代入4.5式,将X(k)表达成前后两部
分,前部分为
X kX 1k W N kX 2k, k 0,1,
,
N 2
1
(4.11)
后部分为
XkN2X1kN2WNrkN2X2kN2
X1kWNkX2k,k0,1,
这时
当L太大时,体现不出圆周积分的优点。 解决办法:分段卷积或称分段过滤
1. 重叠相加法
设h(n)的点数为M,信号x(n)为很长的序列。将x(n)
分解为很多段,每段为L点,L选择成和M的数量级
相同,用
表示x(n)的第i段
则输入序列可表示成
(4.108) (4.109)
线性卷积为
(4.110)
进一步把N/2点子序列再按奇偶部分分解为两个N/4 点的子序列
且 其中
图4-3,给出N=8时,在分解为两个N/4点DFT, 由两个N/4点DFT组合成N/2点DFT的流图。
也可进行同样分解:
其中
一个N=8点DFT就可分解为四个N/4=2点DFT如图
序列按奇偶分解标号变化讨论(N=8) 第一次分解:两个N/2点序列:
每一个
对
和
用基2算法,取
作N点的圆周卷积
才可用快速卷积办法来运算, 补零值点,补到N点。为利
,然后
其方法如图4-29所示。
重叠相加法的步骤总结 (1)计算N点FFT, (2)计算N点FFT, (3)相乘,
(4)计算N点IFFT,
(5)将各段
(包括重叠部分相加),
2. 重叠保留法
线性相位滤波器满足条件
运算结构如图5.26,5.27所示 线性相位பைடு நூலகம்IR滤波器的乘法运算量
用FFT法(圆周卷积)来代替这线性卷积时,不产 生混叠条件是使x(n),h(n)都补零值点,补到至少 N=M+L-1,即
然后计算圆周卷积
此时y(n)能代表线性卷积结果。
用FFT计算y(n)步骤如下: (1)求
此时有两组4点DFT。4.45,46式分别变成 后一式子共有4组2点DFT,4.47式变成
算法可以采用先乘旋转因子再算DFT的算法 当N为一个复合数时,可以分解为一些因子的乘积
2. N为复合数时FFT运算量的估计
当
时,运算量为
复数乘法
复数加法
直接计算N个点DFT工作量 加法
设x(n)为L点,y(n)为M点,需求线性相关
(4.115)
利用FFT法求线性相关是用圆周相关代替线性相关,
选择
令
其计算步骤如下: (1)求N点FFT,
(2)求N点FFT,
(3)求乘积,
(4)求N点IFFT, 同样,可以只利用已有的FFT程序计算IFFT,求
再见!
谢谢观赏
共同学习交流提高
第二次分解,每个N/2点子序列按其奇偶分解为两个 N/4点子序列
最后2点DFT按4-14~17进行计算。
这种方法的每一步分解都是按输入序列在时 间上的次序是属于偶数不是属于奇数来分解 为两个更短的子序列,所以称为“按时间抽 选法”。
运算量分析
直接DFT复数算法次数是 FFT复数乘法次数是 DFT和FFT算法的计算量之比为
存在问题:
整个DFT运算总共需要4 N 2 次行乘法运算和
N 2 (2 N 1 ) 2 N (2 N 1 )次加法运算。
直接计算DFT,乘法次数和加法次数都是和 N 2 成
正比。
减少DFT运算工作量的途径:利用 (1) 的对称性:
对称性:
(2) 的周期性:
(3) 的可约性: 可以得出
,N点
(2)求
,N点
(3)计算
;
(4)求
,N点
工作量分析 FFT计算工作量
(4.105)
用线性相位滤波器来比较直接计算线性卷积和FFT 法计算线性卷积时比值
(4.106)
运算量分析:
(1)x(n)与h(n)点数差不多,设M=L,
则
,则
计算得下表
(2)当x(n)点数很多时,即当 则
按时间抽选或按频率抽选的FFT都可以拿来运算
IDFT。
不改FFT的程序计算IFFT方法: 对4.29式取共轭
因而
4.6 N为复合数的FFT算法 --混合基算法
当N不满足
时,可有以下几种办法
(1)将x(n)补一些零值点的办法
(2)如要求准确的N点DFT,而N又是素数,则只 能采用直接DFT方法,或者用CZT方法。
例4-1
二、
的快速算法
要计算N点DFT为
设n是一个复合数 公式表达:
(4.39) ,可将n的数用下面的
同样,倒序表达为
(4.40)
(4.41)
例:设r1 4,r2 2 ,则
那么 所以
则排列为
同样,若 则
所以
将4.40式与4.41式代入4.39式,可得
上式运用了
结果
(4-2)
X k N 1xnW N nk N 1R e xn jIm xn R e W N nk jIm W N nk (4.3)
n 0
n 0
N 1
R e xn R e W N nk Im xn Im W N nk jR e xn Im W N nk Im xn R e W N nk n 0
r 0
r 0
(4.5)
式中
N1
N1
2
2
X1k x1 rW N rk2 x2rW N rk2
r0
r0
(4.6)
N1
N1
2
2
X2k x2 rW N rk2 x2r1W N rk2 (4.7)
r0
r0
应用系数的周期性
可得
(4.8) X 1 N 2 k N r 2 0 1x 1rW N r 2 N 2 k N r 2 0 1x 1rW N rk2X 1k
实际办法: (1)用上述特性对项合并 (2)将长序列的DFT分解为短序列的DFT。
3. 按时间抽选的基-2FFT算法 --3.1 算法原理
先设序列点数为 N 2L ,按n的奇偶进行分解
将DFT化为
利用系数 W
n N
k
的可约性,即
得
N 1
N 1
2
2
X k x 1rW N rk 2 W N k x 2rW N rk 2 X 1k W N kX 2k
结论:FFT比DFT更优越,当N越大时,优点更明 显。
三、按时间抽选的FFT算法特点
1. 原位运算 每个蝶形结构完成下述基本迭代运算:
4.21的蝶形运算如图4-7所示。
2. 倒位序规律
3. 倒位序的实现:通过变址运算完成
4. 蝶形运算两结点的距离:
第m级运算,每个蝶形的两节点距离为
乘法:N(N+1)
混合基算法可节省的运算量倍数为 乘法
加法
当 数
时,混合基算法总乘法次
与直接计算DFT相比,运算量之比
4.10 线性卷积与线性相关的FFT算法
一、线性卷积的FFT算法 1. 概念 设x(n)为L点,h(n)为M点,输出y(n)为
1. 引言 2. 直接计算DFT的问题及改进的途径 3. 按时间抽选(DIT)的基-2FFT算法 4. 离散傅里叶反变换(IDFT)的快速计算方
法 5. N为复合数的FFT算法-混合基算法 6. 线性调频Z变换(Chirp-z变换)算法 7. 线性卷积与线性相关的FFT算法
1. 引言
先将x(n)分段,每段补上L=N-M+1个点;序列
中补零处不补零,而每一段的前边补上前一段保
留下来的(M-1)个输入序列值,组成L+M-1
点序列
,如图4.30a所示。
如果
,则可在每段序列未端补
零值点,补到长度为2m。
二、线性相关的FFT算法:常称之为快速相关,要 利用补零值点的办法避免混叠失真。
的确定
第m级运算由4-21式写成
其中r的求解方法为
6. 存储单元 输入序列 系数
N个单元 N/2个单元
四. 按时间抽选的FFT算法的其它形 式流程图
4.5 离散傅里叶反变换的快速计算方 法
从IDFT公式
与DFT公式
比较可知,只要把DFT运算中的每一个系数
变成
,最后再乘常数1/N,则以上所有
(3)N是复合数,即它可以分解成一些成一些因子 的乘积,用混合基算法。
一. 整数的多基多进制表示形式
(1)对于二进制,
表示为
二进制倒序为
(2)对于r进制,正序
倒序
(3)对于多进制或称混合基 N可以表示成复合数,
的任一个正整数n,可以按L个基 表示。正序
倒序
,则对于
在这一多进制的表示中 可记为
, N1 2
(4.12)
这样,4.11、12式只要0-(N/2-1)区间的所有
X(k)值。
的值,即可求0到(N-1)区间所有
4.11和4.12式用图4-1的蝶形符号表示。
N=8的情况如图4-2
分析:每个蝶形运算需要一次复数乘法
及
两次复数加(减)法。通过分解后运算工作量差不
多减少到一半。
4.42式可进一步表示为
式中
N为复合数
的DFT算法的步骤归纳如下:
(1)将x(n)改写成
利用
利用4.44式做 个 点DFT,得
利用4.45式,把N个
子
,组成
乘以相应的旋转因 。
利用4.46式,做 个 点DFT,得
利用4.47式,进行整序,得到
其中
对于
重写n和k的表达式
则4.44式变成
X再2考N2虑k性质XW 2N kN 2k
WNN2WN k WN k
(4.9) (4.10)
把4.8,4.9,4.10代入4.5式,将X(k)表达成前后两部
分,前部分为
X kX 1k W N kX 2k, k 0,1,
,
N 2
1
(4.11)
后部分为
XkN2X1kN2WNrkN2X2kN2
X1kWNkX2k,k0,1,
这时
当L太大时,体现不出圆周积分的优点。 解决办法:分段卷积或称分段过滤
1. 重叠相加法
设h(n)的点数为M,信号x(n)为很长的序列。将x(n)
分解为很多段,每段为L点,L选择成和M的数量级
相同,用
表示x(n)的第i段
则输入序列可表示成
(4.108) (4.109)
线性卷积为
(4.110)
进一步把N/2点子序列再按奇偶部分分解为两个N/4 点的子序列
且 其中
图4-3,给出N=8时,在分解为两个N/4点DFT, 由两个N/4点DFT组合成N/2点DFT的流图。
也可进行同样分解:
其中
一个N=8点DFT就可分解为四个N/4=2点DFT如图
序列按奇偶分解标号变化讨论(N=8) 第一次分解:两个N/2点序列:
每一个
对
和
用基2算法,取
作N点的圆周卷积
才可用快速卷积办法来运算, 补零值点,补到N点。为利
,然后
其方法如图4-29所示。
重叠相加法的步骤总结 (1)计算N点FFT, (2)计算N点FFT, (3)相乘,
(4)计算N点IFFT,
(5)将各段
(包括重叠部分相加),
2. 重叠保留法
线性相位滤波器满足条件
运算结构如图5.26,5.27所示 线性相位பைடு நூலகம்IR滤波器的乘法运算量
用FFT法(圆周卷积)来代替这线性卷积时,不产 生混叠条件是使x(n),h(n)都补零值点,补到至少 N=M+L-1,即
然后计算圆周卷积
此时y(n)能代表线性卷积结果。
用FFT计算y(n)步骤如下: (1)求
此时有两组4点DFT。4.45,46式分别变成 后一式子共有4组2点DFT,4.47式变成
算法可以采用先乘旋转因子再算DFT的算法 当N为一个复合数时,可以分解为一些因子的乘积
2. N为复合数时FFT运算量的估计
当
时,运算量为
复数乘法
复数加法
直接计算N个点DFT工作量 加法
设x(n)为L点,y(n)为M点,需求线性相关
(4.115)
利用FFT法求线性相关是用圆周相关代替线性相关,
选择
令
其计算步骤如下: (1)求N点FFT,
(2)求N点FFT,
(3)求乘积,
(4)求N点IFFT, 同样,可以只利用已有的FFT程序计算IFFT,求
再见!
谢谢观赏
共同学习交流提高
第二次分解,每个N/2点子序列按其奇偶分解为两个 N/4点子序列
最后2点DFT按4-14~17进行计算。
这种方法的每一步分解都是按输入序列在时 间上的次序是属于偶数不是属于奇数来分解 为两个更短的子序列,所以称为“按时间抽 选法”。
运算量分析
直接DFT复数算法次数是 FFT复数乘法次数是 DFT和FFT算法的计算量之比为
存在问题:
整个DFT运算总共需要4 N 2 次行乘法运算和
N 2 (2 N 1 ) 2 N (2 N 1 )次加法运算。
直接计算DFT,乘法次数和加法次数都是和 N 2 成
正比。
减少DFT运算工作量的途径:利用 (1) 的对称性:
对称性:
(2) 的周期性:
(3) 的可约性: 可以得出
,N点
(2)求
,N点
(3)计算
;
(4)求
,N点
工作量分析 FFT计算工作量
(4.105)
用线性相位滤波器来比较直接计算线性卷积和FFT 法计算线性卷积时比值
(4.106)
运算量分析:
(1)x(n)与h(n)点数差不多,设M=L,
则
,则
计算得下表
(2)当x(n)点数很多时,即当 则
按时间抽选或按频率抽选的FFT都可以拿来运算
IDFT。
不改FFT的程序计算IFFT方法: 对4.29式取共轭
因而
4.6 N为复合数的FFT算法 --混合基算法
当N不满足
时,可有以下几种办法
(1)将x(n)补一些零值点的办法
(2)如要求准确的N点DFT,而N又是素数,则只 能采用直接DFT方法,或者用CZT方法。
例4-1
二、
的快速算法
要计算N点DFT为
设n是一个复合数 公式表达:
(4.39) ,可将n的数用下面的
同样,倒序表达为
(4.40)
(4.41)
例:设r1 4,r2 2 ,则
那么 所以
则排列为
同样,若 则
所以
将4.40式与4.41式代入4.39式,可得
上式运用了
结果
(4-2)
X k N 1xnW N nk N 1R e xn jIm xn R e W N nk jIm W N nk (4.3)
n 0
n 0
N 1
R e xn R e W N nk Im xn Im W N nk jR e xn Im W N nk Im xn R e W N nk n 0
r 0
r 0
(4.5)
式中
N1
N1
2
2
X1k x1 rW N rk2 x2rW N rk2
r0
r0
(4.6)
N1
N1
2
2
X2k x2 rW N rk2 x2r1W N rk2 (4.7)
r0
r0
应用系数的周期性
可得
(4.8) X 1 N 2 k N r 2 0 1x 1rW N r 2 N 2 k N r 2 0 1x 1rW N rk2X 1k
实际办法: (1)用上述特性对项合并 (2)将长序列的DFT分解为短序列的DFT。
3. 按时间抽选的基-2FFT算法 --3.1 算法原理
先设序列点数为 N 2L ,按n的奇偶进行分解
将DFT化为
利用系数 W
n N
k
的可约性,即
得
N 1
N 1
2
2
X k x 1rW N rk 2 W N k x 2rW N rk 2 X 1k W N kX 2k
结论:FFT比DFT更优越,当N越大时,优点更明 显。
三、按时间抽选的FFT算法特点
1. 原位运算 每个蝶形结构完成下述基本迭代运算:
4.21的蝶形运算如图4-7所示。
2. 倒位序规律
3. 倒位序的实现:通过变址运算完成
4. 蝶形运算两结点的距离:
第m级运算,每个蝶形的两节点距离为
乘法:N(N+1)
混合基算法可节省的运算量倍数为 乘法
加法
当 数
时,混合基算法总乘法次
与直接计算DFT相比,运算量之比
4.10 线性卷积与线性相关的FFT算法
一、线性卷积的FFT算法 1. 概念 设x(n)为L点,h(n)为M点,输出y(n)为