快速傅里叶变换描述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
按时间抽取FFT算法的其它形式流程图
Ch.4 FFT
2018/10/28
8
4.3.1 算法原理
设N=2L,将x(n)按 n 的奇偶分为两组:
x(2r ) x1 (r )
x(2r 1) x2 (r )
N =0,1,…, 1 2
r
则
X ( k ) DFT [ x ( n)] x ( n)WNnk
mnk nk WmN WN
nk nk / m WN WN /m
( k N / 2) k WN WN
N /2 WN 1
Ch.4 FFT
2018/10/28
7
4.3 按时间抽取的基2-FFT算法
授课思路
算法原理
按时间抽取基-2FFT算法与直接计算DFT运
算量的比较
按时间抽取的FFT算法的特点
Ch.4 FFT
2018/10/28
4
4.2.1 DFT的运算量
一次复数乘法: 4次实数乘法 一个X(k) : + 2次实数加法
4N次实数乘法 + 2N+2(N-1)= 2(2N-1)次实数加法
所以 整个N点DFT运算共需要:
实数乘法次数: 4 N2
实数加法次数: N×2(2N-1)= 2N(2N-1)
(3)对应的实数运算量
X (k ) x(n)W
n 0
N 1 n 0
N 1
nk N
nk nk [Re x(n) j Im x(n)][Re WN j Im WN ] n 0
N 1
nk nk {[Re x(n) ReWN Im x(n) ImWN ]
nk nk j[Re x(n) ImWN Im x(n) ReWN ]}
N 1 2
X 1 ( k ) W Nk X 2 ( k )
式中,X1(k)和X2(k)分别是x1(n)和x2(n)的N/2的DFT。
另外,式中k的取值范围是:0,1, …,N/2-1 。
Ch.4 FFT
2018/10/28
10
k X ( k ) X ( k ) W 因此, 1 N X 2 ( k ) 只能计算出X(k)的前一半值。
谱、功率谱和线性卷积等。
直接按DFT变换进行计算,当序列长度N很
大时,计算量非常大,所需时间会很长。 FFT并不是一种与DFT不同的变换,而是 DFT的一种快速计算的算法。
Ch.4 FFT
2018/10/28
2
4.2 直接计算DFT的问题及改进的途径
DFT的运算量
设复序列x(n) 长度为N点,其DFT为
后一半X(k) 值, N/2 , N/2 +1, …,N ?
利用
可得到
rk r ( N 2k ) WN W 2 N 2
N X1 ( k ) 2
X2(
N 21
r 0
x1 (r )W
r ( N 2 k ) N 2
rk x1 (r )WN 2 X 1 (k ) r 0
N 2 1
n0
N 1
n 0 n为偶数
x(n)W
N 1
nk N
来自百度文库
n 0 n为奇数
nk x ( n ) W N
N 1
Ch.4 FFT
2 rk ( 2 r 1) k x ( 2 r ) W x ( 2 r 1 ) W N N r 0 r 0
N 1 2
N 1 2
2018/10/28
Ch.4 FFT
2018/10/28
6
4.2.2 减少运算工作量的途径
nk 主要原理是利用系数 WN 的以下特性对DFT进行分解:
(1)对称性
k ( N n ) nk nk W (WN ) WN N
(2)周期性 (3)可约性 另外,
( n N ) k n( k N ) nk WN WN WN
快速傅里叶变换 (Fast Fourier Transform)
直接计算DFT的问题及改进的途径 按时间抽取的基2-FFT算法 按频率抽取的基2-FFT算法 快速傅里叶逆变换(IFFT)算法 Matlab实现
Ch.4 FFT
2018/10/28
1
4.1 引言
DFT在实际应用中很重要: 可以计算信号的频
Ch.4 FFT
2018/10/28
5
DFT运算量的结论
N点DFT的复数乘法次数举例
N 2 N2 4 N 64 N2 4049
4
8 16
16
64 256
128
256 512
16384
65 536 262 144
32
1028
1024
1 048 576
结论:当N很大时,其运算量很大,对实时性很强的信号 处理来说,要求计算速度快,因此需要改进DFT的计算 方法,以大大减少运算次数。
N N N kN 2 ) X 1 (k ) WN X 2 (k ) 2 2 2
k X1 (k ) WN X 2 (k )
k=0,1, …,N/2-1
Ch.4 FFT
2018/10/28
12
蝶形运算
X ( k ) X 1 ( k ) WNk X 2 ( k )
k X (k ) X1 (k ) WN X 2 (k )
9
n 0 n为偶数 N 1 2
r 0
x(n)W
N 1
nk N
2 rk ( 2 r 1) k x ( 2 r ) W x ( 2 r 1 ) W N N r 0
N 1 2 r 0
n 0 n为奇数 N 1 2
nk x ( n ) W N
N 1
rk k rk x ( r ) W W x ( r ) W 1 N N 2 N r 0 2 2
同理可得
N k ) X 2 (k ) 2
Ch.4 FFT
2018/10/28
11
考虑到 及前半部分X(k)
( N 2 k ) N 2 k k WN WN WN WN
X ( k ) X 1 ( k ) WNk X 2 ( k )
因此可得后半部分X(k)
X (k
k=0,1, …,N/2-1
nk X (k ) x(n)WN n 0 N 1
k=0,,…,N-1
(1)计算一个X(k) 值的运算量
复数乘法次数: N 复数加法次数: N-1
Ch.4 FFT
2018/10/28
3
4.2.1 DFT的运算量 (2)计算全部N个X(k) 值的运算量
复数乘法次数: N2 复数加法次数: N(N-1)
Ch.4 FFT
2018/10/28
8
4.3.1 算法原理
设N=2L,将x(n)按 n 的奇偶分为两组:
x(2r ) x1 (r )
x(2r 1) x2 (r )
N =0,1,…, 1 2
r
则
X ( k ) DFT [ x ( n)] x ( n)WNnk
mnk nk WmN WN
nk nk / m WN WN /m
( k N / 2) k WN WN
N /2 WN 1
Ch.4 FFT
2018/10/28
7
4.3 按时间抽取的基2-FFT算法
授课思路
算法原理
按时间抽取基-2FFT算法与直接计算DFT运
算量的比较
按时间抽取的FFT算法的特点
Ch.4 FFT
2018/10/28
4
4.2.1 DFT的运算量
一次复数乘法: 4次实数乘法 一个X(k) : + 2次实数加法
4N次实数乘法 + 2N+2(N-1)= 2(2N-1)次实数加法
所以 整个N点DFT运算共需要:
实数乘法次数: 4 N2
实数加法次数: N×2(2N-1)= 2N(2N-1)
(3)对应的实数运算量
X (k ) x(n)W
n 0
N 1 n 0
N 1
nk N
nk nk [Re x(n) j Im x(n)][Re WN j Im WN ] n 0
N 1
nk nk {[Re x(n) ReWN Im x(n) ImWN ]
nk nk j[Re x(n) ImWN Im x(n) ReWN ]}
N 1 2
X 1 ( k ) W Nk X 2 ( k )
式中,X1(k)和X2(k)分别是x1(n)和x2(n)的N/2的DFT。
另外,式中k的取值范围是:0,1, …,N/2-1 。
Ch.4 FFT
2018/10/28
10
k X ( k ) X ( k ) W 因此, 1 N X 2 ( k ) 只能计算出X(k)的前一半值。
谱、功率谱和线性卷积等。
直接按DFT变换进行计算,当序列长度N很
大时,计算量非常大,所需时间会很长。 FFT并不是一种与DFT不同的变换,而是 DFT的一种快速计算的算法。
Ch.4 FFT
2018/10/28
2
4.2 直接计算DFT的问题及改进的途径
DFT的运算量
设复序列x(n) 长度为N点,其DFT为
后一半X(k) 值, N/2 , N/2 +1, …,N ?
利用
可得到
rk r ( N 2k ) WN W 2 N 2
N X1 ( k ) 2
X2(
N 21
r 0
x1 (r )W
r ( N 2 k ) N 2
rk x1 (r )WN 2 X 1 (k ) r 0
N 2 1
n0
N 1
n 0 n为偶数
x(n)W
N 1
nk N
来自百度文库
n 0 n为奇数
nk x ( n ) W N
N 1
Ch.4 FFT
2 rk ( 2 r 1) k x ( 2 r ) W x ( 2 r 1 ) W N N r 0 r 0
N 1 2
N 1 2
2018/10/28
Ch.4 FFT
2018/10/28
6
4.2.2 减少运算工作量的途径
nk 主要原理是利用系数 WN 的以下特性对DFT进行分解:
(1)对称性
k ( N n ) nk nk W (WN ) WN N
(2)周期性 (3)可约性 另外,
( n N ) k n( k N ) nk WN WN WN
快速傅里叶变换 (Fast Fourier Transform)
直接计算DFT的问题及改进的途径 按时间抽取的基2-FFT算法 按频率抽取的基2-FFT算法 快速傅里叶逆变换(IFFT)算法 Matlab实现
Ch.4 FFT
2018/10/28
1
4.1 引言
DFT在实际应用中很重要: 可以计算信号的频
Ch.4 FFT
2018/10/28
5
DFT运算量的结论
N点DFT的复数乘法次数举例
N 2 N2 4 N 64 N2 4049
4
8 16
16
64 256
128
256 512
16384
65 536 262 144
32
1028
1024
1 048 576
结论:当N很大时,其运算量很大,对实时性很强的信号 处理来说,要求计算速度快,因此需要改进DFT的计算 方法,以大大减少运算次数。
N N N kN 2 ) X 1 (k ) WN X 2 (k ) 2 2 2
k X1 (k ) WN X 2 (k )
k=0,1, …,N/2-1
Ch.4 FFT
2018/10/28
12
蝶形运算
X ( k ) X 1 ( k ) WNk X 2 ( k )
k X (k ) X1 (k ) WN X 2 (k )
9
n 0 n为偶数 N 1 2
r 0
x(n)W
N 1
nk N
2 rk ( 2 r 1) k x ( 2 r ) W x ( 2 r 1 ) W N N r 0
N 1 2 r 0
n 0 n为奇数 N 1 2
nk x ( n ) W N
N 1
rk k rk x ( r ) W W x ( r ) W 1 N N 2 N r 0 2 2
同理可得
N k ) X 2 (k ) 2
Ch.4 FFT
2018/10/28
11
考虑到 及前半部分X(k)
( N 2 k ) N 2 k k WN WN WN WN
X ( k ) X 1 ( k ) WNk X 2 ( k )
因此可得后半部分X(k)
X (k
k=0,1, …,N/2-1
nk X (k ) x(n)WN n 0 N 1
k=0,,…,N-1
(1)计算一个X(k) 值的运算量
复数乘法次数: N 复数加法次数: N-1
Ch.4 FFT
2018/10/28
3
4.2.1 DFT的运算量 (2)计算全部N个X(k) 值的运算量
复数乘法次数: N2 复数加法次数: N(N-1)