FFT的基2算法简介..
x ( r ) W x ( r )W x ( r ) W x ( r ) W W x ( r ) W x ( r ) x (2 r ) W x (2 1)W e W W x (r re ) W x ( r ) W
x ( r ) W x ( r )W X (k ) x ( r )W W x ( r )W
FFT基 2 算法基本上分为两大类:时域抽取法FFT( 简称DIT-FFT) 和 频域抽取法FFT(简称DIF―FFT)。
一、 时域抽取法基2FFT(DIT-FFT)
时域抽取法FFT的算法思想及实现过程: 将序列 x(n) 按n为奇、偶数分为 x1(n)、 x2(n) 两组序列;用 2 个
N/2点DFT来完成一个N点DFT的计算。
r 0,1, 1 N 2 1 r 0,1, N r 0,1, 2N 1 r 0,1, 2 1 N 2 1 r 0,1, N r 0,1, 2 1
基2FFT算法
(2)用N/2点X1(k)和X2(k)表示序列x(n)的N点DFT X(k)
x (2r )W x (2r 1)W x (2 r ) W x (2 r 1) W x (2 r ) W x (2 r 1) W X (k ) x ( n ) W x ( n ) W )W x (2 r 1)W x(2r
NN m m [W [W W W N N ] ]
2 j m m m N m N N N N m mm 2 NN N
N m W W W N
[
W
m WN
不断地把长序列的DFT分解成几个短序列的DFT,并利用旋转
因子的周期性和对称性来减少DFT的运算次数。
基2FFT算法
基2FFT算法
直接计算DFT的特点及减少运算量的基本途径 1.直接计算DFT 长度为N的有限长序列x(n)的DFT为:
kn X (k ) x(n )WN , k 0,1, , N 1 n 0 N 1
考虑x(n)为复数序列 的一般情况,对某一 个k值,直接按上式 计算X(k)值需要N次 复数乘法、(N-1)次复 数加法。
N / 2 1 1 n n N / 2 n n 2 kr k (2 r 1) N / 2 1 N / 2 1 N / 2 1 N / 2 1 N / 2 1 N / 2 1 N N 2 kr k (2 r 1) 2 kr k (2 r 1) k (2 r 1) kn kn r 0 r 0 2 kr N N N N N N N N r1 0 Nr/ 20 1 N /2 n r 0 r 0 2 r 0 r 0 2 kr kn j kr N / 2 1 N / 2 1 N /2 1 /2 N /N 2 11 N1 N N 2 N k N / 2 2 kr j 2 2 kr / 2 1 N /1 2 1 2 kr 2 kr 2 kr k r 0 k 2 2N kr Nkr k ( 2 r 1) 2 r 0 2 1 N N 1 N N 1 N N r 0 N 2 N 2 N r 0 r 0 r 0 r 0 r 0 r 0 r 0 N / 2 1 N / 2 1 k 2 kr N / 21 N / 21 kr N k k 1 2 Nkr 1 N /2 2 N /2 1 N r 0 rN 0 r 0 r 0
kn kn X (k ) x (n )WN x ( n ) W N kn kn X ( k ) x ( n ) W x ( n ) W kn kn 奇数 n 偶数 n kn kn N N X (k ) X ( x ( n ) W x ( n ) W k ) x ( n ) W x ( n ) W N N N n nN
W e
2 j 2 kr 2 kr N N /2
X (k ) W X 2 (k )
注意:这里的k的取值范围为0,1,…,N-1
基2FFT算法
由于X1(k)和X2(k)均以N/2为周期,且 W
k k N 2 N 2 k N 2 k k 1 N 2 1 N 2 k 1 N 2
k N N 2 k, X(k)又可表示为: WN
2、减少运算量的思路和方法
思路: N 点 DFT 的复乘次数等于 N2 。把 N 点 DFT 分解为几个
较短的 DFT ,可使乘法次数大大减少。另外,旋转因子 WmN 具有周期性和对称性。
基2FFT算法 方法:
分解N为较小值:把序列分解为几个较短的序列,分别计算
其DFT值,可使乘法次数大大减少;
利用旋转因子WNk的周期性、对称性进行合并、归类处理,
lN )
以减少2 DFT 的运算次数。 2
周期性: e W W
N
j
m
Hale Waihona Puke mlN m N N eW
j
( mlN ) mlN N N
e e
2 2 j j ( mm lN ) N N
W e
m m NN m m 对称性: W W W W NN NN NN 3、FFT算法思想 m m mm 22 W W W W NN NN
设序列x(n)的长度为N,且满足: N 2 M ,
M 为自然数
N (1) 按n的奇偶把x(n)分解为两个N/2点的子序列
{
x1 ( r ) x(2r ), x1 ( r ) x(2r ), x1 ( r ) x(2r ), x2 ( r ) x(2r 1), x2 ( r ) x(2r 1), x2 ( r ) x(2r 1),