4快速傅里叶变换
基4快速傅里叶变换

基4快速傅⾥叶变换⼀、功能计算复序列的基4快速傅⾥叶变换。
⼆、⽅法简介序列x (n )(n =0,1,...,N −1)的离散傅⾥叶变换定义为X (k )=N −1∑n =0x (n )W nk N ,k =0,1,...,N −1其中W nk N =e −j 2πnk N ,若N =4M ,则将序列x (n )分成四个N /4点的序列x 1(n )、x 2(n )、x 3(n )、x 4(i )(n =0,1,…,N /4—1), 即x (n )=x 1(n )+x 2(n )+x 3(n )+x 4(n )式中x 1(n )=x (n ),(n =0,1,...,N /4−1)x 2(n )=x (n +N 4),(n =0,1,...,N /4−1)x 3(n )=x (n +N 2),(n =0,1,...,N /4−1)x 4(n )=x (n +3N 4),(n =0,1,...,N /4−1)把x (n )代⼊DFT 表达式中,则有X (k )=N /4−1∑n =0[x 1(n )W nk N +x 2(n )W (n +N /4)k N +x 3(n )W (n +N /2)k N +x 4(n )W (n +3N /4)k N ]=N /4−1∑n =0[x 1(n )+x 2(n )W N /4k N +x 3(n )W N /2k N +x 4(n )W 3N /4k N ]W nk N(k =0,1,...,N −1)把X (k )按频率抽取,得X (4k )=N /4−1∑n =0[x 1(n )+x 2(n )+x 3(n )+x 4(n )]W nk N /4X (4k +1)=N /4−1∑n =0[x 1(n )−jx 2(n )−x 3(n )+jx 4(n )]W n N W nk N /4X (4k +2)=N /4−1∑n =0[x 1(n )−x 2(n )+x 3(n )−x 4(n )]W 2n N W nk N /4X (4k +3)=N /4−1∑n =0[x 1(n )+jx 2(n )−x 3(n )−jx 4(n )]W 3n N W nk N /4通过上⾯得分解,可求得所有X (k )值,其基本运算式为{{f1(n)=x1(n)+x2(n)+x3(n)+x4(n)f2(n)=[x1(n)−jx2(n)−x3(n)+jx4(n)]W n Nf3(n)=[x1(n)−x2(n)+x3(n)−x4(n)]W2n N f4(n)=[x1(n)+jx2(n)−x3(n)−jx4(n)]W3n N ,(k=0,1,...,N4−1)这样,就将⼀个N点得DFT转化为四个N/4点DFT来计算。
数字信号处理课件第4章快速傅里叶变换FF

通过FFT对雷达信号进行频谱分析,实现雷 达数据的压缩,减小存储空间和传输带宽。
谢谢聆听
05 FFT的局限性与挑战
浮点运算的开销问题
浮点运算开销
快速傅里叶变换(FFT)算法在实 现过程中需要进行大量的浮点运 算,这可能导致计算成本较高, 尤其是在处理大规模数据时。
硬件资源需求
由于FFT的浮点运算密集特性,对 计算设备的硬件资源(如CPU、 GPU等)要求较高,需要具备高 性能的计算能力。
FFT的软件实现
C/C实现
01
使用C或C等通用编程语言实现FFT算法,具有较好的通用性和
可移植性。
优化编译器
02
利用现代编译器的优化功能,如向量化、内联等,可以提高软
件实现的计算速度。
并行计算框架
03
利用OpenMP、CUDA等并行计算框架,可以实现多核或多
GPU上的并行计算。
FFT的优化方法
算法改进
FFT的历史与发展
历史
FFT的诞生可以追溯到1960年代,其发展经历了多个阶段,包括库利-图基算法、威尔金森算法、桑德斯算法等 。
发展
随着计算机技术的不断进步,FFT算法在实现方式、精度、并行化等方面不断得到优化和改进,以满足不同应用 场景的需求。
02 FFT的基本算法
递归算法
递归算法是一种基于数学归纳法的算法,通过将问题分解为更小的子问题来解决 问题。在FFT中,递归算法将一个长度为N的DFT问题分解为两个长度为N/2的 DFT问题,直到最后分解为基本的DFT问题。
特别是在信号处理领域,FFT的应用非常广泛。
FFT与Z变换的关系
定义
Z变换是离散时间信号 到复平面上的扩展,而 FFT是频域的一种快速 计算方法。
测控系统设计第2章4——快速傅里叶变换

2.4快速傅里叶变换2.4.1快速傅里叶变换(FFT)算法原理2.4.2 FFT算法2.4.3其它FFT算法2.4.4 Chirp-z变换2.4.5 Hartley变换(DHT)2.4.6付立叶变换总结2.4.7线性调频z变换及其在电力谐波分析中的应用2.4快速傅里叶变换2.4.1快速傅里叶变换(FFT )算法原理 1) 离散傅里叶变换(DFT )的运算量z 有限长序列x (n )的离散傅里叶变换定义为:[]∑−===10)()()(N n nkN W n x n x DFT k X )1,1,0(−=N k LNj N eW π2−=,一般x (n )与均为复数。
N W 其中z 每计算一个X (k )的值,必须要进行N 次复数相乘和1−N 次复数相加。
z 由于X (k)一共有N 个点,所以全部计算需要次复数相乘和次复数相加。
2N )1(−N N 2N z 由于每一个复数相乘需要4次实数相乘和2次实数相加。
所以全部计算需要4个实数相乘和次实数相加。
计算量与成正比。
2N )12(2−N N z 例如设每次乘法需要100nS ,则1000个点的计算约需要0.1S 。
2) 系数计算的化简nk Nj nk NeW π2−=z 系数是一个周期函数,具有周期性和对称性。
nkN nk N nk N j nN Nj k N n Nj k N n NW W eeeW−−−−−−−−=×===1)(22)(2)(πππzkN k N k Nj N N j N k Nj N k NW W e e e W−=×−===−−+−+1222)2(2)2(πππz3) DFT 分组计算原理z 设有序列x (n ),其长度为。
则可以将x (n )分为偶数项与奇数项两组,即:M N 2=12 , ,1 ,0 )()12()()2(21−=⎩⎨⎧=+=N r r x r x r x r x L 则有:[]∑∑∑∑∑∑∑−=−=−=+−=−=−=−=+=++=+===12212021120)12(12021011)()( )12()2( )()( )()()(N r rk Nk NN r rk NN r k r NN r rk Nn N n nkNn N n nk NN n nk NWr x W Wr x Wr x Wr x W n x Wn x W n x n x DFT k X 为奇数为偶数nN n N jn NjnN W eeW 222222===−−ππ考虑到有:∑∑−=−=+=+=120212212021)()()()()(N r kN rk N N r k N rk N k X W k X W r xWWr x k X 因此有:其中与分别为和的)(1k X )(2k X )(1r x )(2r x 2N 点的DFT(以N/2为周期):∑∑−=−===1202120211)2()()(N r rk N N r rkN Wr x Wr x k X∑∑−=−=+==1202120222)12()()(N r rk N N r rk N Wr x Wr xk Xrk N k N r N W W 2)2(2=+z 考虑到:,有:∑∑−=−=+==+1201120)2(211)()()2(N r rkN N r k N r N Wr x Wr x k N X)()2(11k X k N X =+即: )()2(22k X k N X =+同理有:kN k N N N k N N W W W W −==+2)2(z 考虑到:,有:)()()(21k X W k X k X k N +=12 , ,1 ,0−=N k L , )2()2( )2(2)2(1k N X W k N X k N X k N N +++=++,)()(21k X W k X k n −=12 , ,1 ,0−=N k L4) 分组DFT 的计算量4)2(22N N =2N z 每一个点的DFT 只需要次复数相乘运算;)2(222N N =2N 两个点的DFT 需要次复乘;点的DFT 合成N 点DFT 时,在蝶形结前需要2N 2N 次复乘; 两个2)1(2222N N N N N ≈+=+总共需要次复乘。
数字信号处理DSP第4章

k 0,1, , N 1
2
13
4.2 按时间抽取(DIT)的基2–FFT算法
将系数统一为 WNk 2 WN2k ,则可得
x[0]
N 4点
x[4]
DFT
G[0]
X [0]
G[1]
X [1]
x[2]
N 4点
WN0
x[6]
DFT
WN2
G[2]
1 G[3]
1
X [2] X [3]
x[1]
N 4点
X m1[i] WNr X m1[ j] , X m1[i] WNr X m1[ j]
m 1, 2 ,
每一个蝶形需要一次复数乘法和两次复数加法。
17
4.2 按时间抽取(DIT)的基2–FFT算法
N点的DIT-FFT计算量为
复数乘法:
1
N 2
log2
N
N 2
复数加法:
2
N 2
log2
N
N
例: 如果每次复数乘法需要100us,每次复数加法需要20us,来 计算N=1024点DFT,则需要
12
4.2 按时间抽取(DIT)的基2–FFT算法
同理
( N 4)1
( N 4)1
G[k] DFT[g[r]]
g[2l]WN2lk2
g[2l 1]WN(22l1)k
l 0
l 0
( N 4)1
( N 4)1
g[2l]WNlk 4 WNk 2
g[2l 1]WNlk 4 ,
l 0
l 0
k 0,1,
(3) WN0 WN4 WN8 WN12 WN16 WN20 WN24 WN28
或 WN4i i 0,1, 2, 3, 4, 5, 6, 7 (dm 1)
《快速傅里叶变换(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算法进行谱分 析和信号的实时处理是不切实际的。
基4FFT 原理及MATLAB 算法实现

使用 tic,toc 命令对自定义基 4FFT 和系统 FFT 进行测量发现, 系统 FFT 远远快于自
6
定义基 4FFT。如图 5 所示,每次运行程序,第一行为系统 FFT 运算时间,第二行为自定义 基 4FFT 运算时间。 分析认为,这是由于两方面原因造成的。一是 matlab 本身是解释性的高级语言,与 vb 属于同一种类型,运行时,要先对语句命令进行解释,翻译成计算机可识别的机器语言,然 后再执行。这就大大增加了自定义基 4FFT 运算时间。而系统自带的 FFT 显然是预先编译好 的内部代码,因此执行效率非常高。二是程序本身未最大限度的优化。例如本程序中,将递 推公式中重复计算的部分用变量代换: 令 X1=x(k1);X2=Wn^m*x(k2);X3=Wn^(2*m)*x(k3);X4=Wn^(3*m)*x(k4); 递推公式化简为: temp(k1)=X1+X2+X3+X4; temp(k2)=X1-1j*X2-X3+1j*X4; temp(k3)=X1-X2+X3-X4; temp(k4)=X1+1j*X2-X3-1j*X4; 从而避免了 X2,X3,X4 表达式中的乘法在 4 个递推表达式中各被重复计算 4 次。如 未作这样的处理,显然效率很低。由于个人能力原因,本程序仍有很大优化空间。 3.进一步提高运算速度的方法 1)采用 c 语言编程,编译成机器代码,大大提高执行效率。 2)事先建立旋转因子表,以空间换取时间的方法,提高运算速度。计算过程中,通过 查表的方式,获取旋转因子值,避免实时乘法运算增加的运算时间。 四、总结 本文在分析基 2FFT,参考借鉴多篇文章的基础上,对基 4FFT 的原理进行了分析,推 导出 4 点迭代运算公式,运用 matlab 实现该算法。所编程序可以对 4L 点采样数据进行 4L 点基 4FFT (L=1~8) 。在此基础上,对比了系统自带 FFT 与自定义基 4FFT 的运算效率。 提出了进一步提高运算效率的方法。
快速傅里叶变换基4时间抽取FFT算法

7.6实验6:快速傅里叶变换-基4时间抽取FFT 算法matlab 实现7.6.1实验目的1.练习利用matlab6.5中工具箱中的信号处理函数2.熟悉快速傅里叶变换的基本原理3.熟悉基4DIT-FFT 运算的MATLAB 程序并运用7.6.2涉及函数信号处理函数X=fft(x)或者X=fft(x,N):自定义功能函数function [Xk]=DIF_FFT_4(xn,N)7.6.3实验原理与方法(基-4时域抽取算法与基-2时域抽取算法具有完全相同的实质,两者的差异仅源于基的选择不同。
)1 DIT-FFT 算法的基本原理有限长序列x (n )的N 点DFT 定义为:∑-==10 )()(N n n k N W n x k X ,式中N j N eW π2-=,其整数次幂简称为旋转因子。
N 符合2的整数幂,N 为2的几次幂,则需要进行几次分解。
碟形运算流图符号如下:2 DIT-FFT 算法的运算规律及编程思想为了编写DIT-FFT 算法的运算程序,首先要分析其运算规律,总结编程思想并绘出程序框图。
由右图可知,DIT-FFT 算法的运算过程很有规律。
2.1 原位计算对M N 2=点的FFT 共进行M 级运算,每级由N /2个蝶形运算组成。
在同一级中,每个蝶的输入数据只对本蝶有用,且输出节点与输入节点在同一水平线上,这就意味着每算完一个蝶后,所得数据可立即存入原输入数据所占用的数组元素(存储单元),这种原位(址)计算的方法可节省大量内存。
2.2 蝶形运算实现FFT 运算的核心是蝶形运算,找出蝶形运算的规律是编程的基础。
for mm=1:m %将DFT 做m 次基2分解,从左到右,对每次分解作DFT 运算 Nmr=2^mm;u=1; %旋转因子u 初始化WN=exp(-j*2*pi/Nmr); %本次分解的基本DFT 因子WN =exp(-i*2*pi/Nmr)for n=1:Nmr/2 %本次跨越间隔内的各次碟形运算for k=n:Nmr:N %本次碟形运算的跨越间隔为Nmr=2^mmkp=k+Nmr/2; %确定碟形运算的对应单元下标(对称性)t=x(kp)*u; %碟形运算的乘积项x(kp)=x(k)-t; %碟形运算的加法项x(k)=x(k)+t;endu=u*WN; %修改旋转因子,多乘一个基本DFT 因子WN2.3 序列倒序为了保证运算输出的X (k )按顺序排列,要求序列x (n )倒序输入,即在运算前要先对输入的序列进行位序颠倒。
FFT(快速傅里叶变换)算法详解

FFT (快速傅⾥叶变换)算法详解多项式的点值表⽰(Point Value Representation)设多项式的系数表⽰(Coefficient Representation):P a (x )=a 0+a 1x +a 2x 2+⋯+a n −1x n −1=n −1∑i =0a ix i则我们对上⾯的式⼦可以代⼊不同的 n 个 x 的值,构成⼀个 n 维向量:P a (x 0)P a (x 1)P a (x 2)⋮P a (x n −1)=1x 0x 20⋯x n −101x 1x 21⋯x n −111x 2x 22⋯x n −12⋮⋮⋮⋱⋮1x n −1x 2n −1⋯x n −1x −1a 0a 1a 2⋮a n −1更简洁的写法:P a =X α对上式观察后发现,X 是所谓的范德蒙德矩阵(Vandermonde's Matrix),在 n 个 x 的值不同的情况下,其⾏列式的值为:det (X )=∏0⩽i <j ⩽n −1(x j −x i )很明显,当所有 n 个 x 取值不同时,其⾏列式不为零,因此 X 可逆。
所以我们可以唯⼀确定多项式系数构成的向量 α:α=X −1P a也就是说,多项式 P a (x ) 还可以由 n 个 x 代⼊得到的 n 个点值来唯⼀表⽰:{x 0,P(x 0),x 1,P(x 1),x 2,P(x 2),⋯,x n −1,P(x n −1)}这就是多项式的点值表⽰。
多项式的点值表⽰是指,对于 n 次多项式,可以⽤ n 个不同的 x 和与之对应的多项式的值 P(x ) 构成⼀个长度为 n 的序列,这个序列唯⼀确定多项式,并且能够与系数表⽰相互转化。
n 次单位根了解了多项式的点值表⽰,⼀个很⾃然的问题是:如何选择 x 的值,来防⽌其指数⼤⼩爆炸型增长呢?这⾥可以借⽤复数的单位根。
简单回顾⼀下,复数有两种表⽰⽅法:迪卡尔积坐标表⽰和极坐标表⽰,这⾥我们⽤到的是后者:z =re i θi 是虚数单位,r 表⽰模长,θ 表⽰相⾓。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X(N 2
k)
X1(k) WNk
X 2 (k )
(后一半)
例如 N=8 时的DFT,可以分解为两个N/2=4点的DFT.具 体方法如下:
(1)n为偶数时,即: x(0), x(2), x(4), x(6);
分别记作:
x1(0) x(0),
x1(1) x(2),
x1(2) x(4),
x1(3) x(6);
X (k) X1(k) WNk X 2 (k)
前一半
(k
0,1,,
N 2
1)
X (k) X1(k) WNk X 2 (k) 后一半
(k
N 2
,,
N
1)
实现上式运算的流图称作蝶形运算(N/2个蝶形)
X1(k) 1
X 2(k)
WNk
(前一半)
1
X (k) X1(k) WNk X 2 (k)
1
1
-1
由于
W W r
(
k
N 2
)
rk
N
N
(周期性),所以:
2
2
N
X1( 2
k)
x (r)W N
2
1
1
r
(
N 2
k
)
N
2
r 0
N 2
1
x1(r)WNrk
2
r 0
X1(k)
同理,
X2(
N 2
k)
X 2 (k )
这就是说,X1(k),X2(k)的后一半,分别等于其前一
半的值。
又由于
W(
N 2
k
)
N
N
W2 N
N/4点 DFT
X 3 (0) X 3 (1)
N/4点 DFT
N/4点 DFT
X 4 (0) WN0
X 4 (1) WN2
X 5 (0)
X 5 (1)
N/4点 DFT
X 6 (0)
WN0
X 6 (1)
WN2
X 1 (0)
X 1 (1)
X 1 (2)
-1
X 1 (3)
-1
X 2 (0) WN0
X 2 (1) WN1
整个过程如下图所示:
x1(0)=x(0)
x1(1)=x(2) x1(2)=x(4) x1(3)=x(6)
N/2点 DFT
X1(0) X1(1) X1(2) X1(3)
X(0) X(1) X(2) X(3)
x2(0)=x(1) x2(1)=x(3) x2(2)=x(5) x2(3)=x(7)
N/2点 DFT
WNk
WNk
,所以
X
(k
N 2
)
X1(k
N 2
)
W k
N 2
N
X 2(k
N 2
)
X1(k) WNk X 2 (k ),
k
0,1,,
N 2
1
可见,X(k)的后一半,也完全由X1(k), X2 (k)的前一半所确定。
*N点的DFT可由两个N/2点的DFT来计 算。
X (k) X1(k) WNk X 2 (k)
l 0
l 0
N 4
1
N 4
1
X 4 (k) x4 (l)WNlk/ 4 x1(2l 1)WN(2/l21)k
l 0
l 0
(偶中偶) (偶中奇)
从而可得到前N/4的X1(k)
X1(k)
X
3 (k )
W
k
N
X
4
(k)
2
k
0,1,,
N 4
1
后N/4的X1(k)为
X
1
(
N 4
k)
X
3
(k
)
W
k
N
2
X
(k
N 2
)
X1(k)
WNk
X 2 (k )
k
0,1,,
N 2
1
X1(k) 1
X 2(k)
WNk
(前一半)
1
X (k) X1(k) WNk X 2 (k)
1
1
-1
X
(
N 2
k) X1(k) WNk
(后一半)
X 2 (k )
蝶形运算
由X1(k)、X 2(k)表示X(k)的运算是一种特殊的运算-碟形运算
l 0
l 0
N 4
1
N 4
1
X 6 (k) x2 (2l 1)WNlk/4 x6 (l)WNlk/4
l 0
l 0
由X 5 (k)、X 6 (k)进行碟形运算,得:
(奇中偶) (奇中奇)
X2
(k)
X5
(k)
WNk/2X6 (k) ; k
0,1,,
N 4
1
X2
(N 4
k)
X5
(k)
WNk/2X6 (k) ; k
WN0
X 4 (1)
-1
WN2
X 6 (0)
WN0
X 6 (1)
-1
WN2
X 1 (0)
X 1 (1)
X 1 (2)
-1
X 1 (3)
-1
X 2 (0) WN0
X 2 (1) WN1
X 2 (2)
-1
WN2
X 2 (3)
-1
WN3
X (0)
X (1)
X (2)
X (3)
一步把每个N/2点的序列再按其奇偶部分
分解为两个N/4的子序列。例如,n为偶 数时的 N/2点分解为:
x1 (2l )
x3 (l),
0,1,,
N 4
1
x1 (2l
1)
x4 (l),
0,1,,
N 4
1
进行N/4点的DFT,得到
N 4
1
N 4
1
X 3 (k) x3 (l)WNlk/4 x1(2l)WN2l/k2
r 0
r0
由于:
W e e W 2
j
2 N
2
j
2
/(
N 2
)
N
N
所以,上式可表示为:
2
N 2
1
N 2
1
X (k) x1(r)WNrk WNk x2 (r)WNrk X1(k) WNk X 2 (k)
2
2
r 0
r 0
r, k
0,1,,
N 2
1
其中
N 2
1
N 2
1
X1(k) x1(r)WNrk x(2r)WNrk
1
X 3 (k) x3 (l)WNlk/ 4 , l0
k 0,1
X3(0) x3(0) W20x3(1) x(0) WN0x(4)
X3(1) x3(0) W21x3(1) x(0) WN0x(4)
1
X 4 (k ) x4 (l)WNlk/ 4 ,
k 0,1
l 0
X 4 (0) x4 (0) W20x4 (1) x(2) WN0x(6)
k 0
n 0,1,, N 1
两者的差别仅在指数的符号和因子1/N.
一个X(k)的值的工作量,如X(1)
X (1) x(0)WN0 x(1)WN1 x(2)WN2 x(N 1)WNN 1
复数乘法
复数加法
一个X(k)
N
N-1
N个X(k)
N*N
(N点DFT)
N*(N-1)
如N=1024,则要完成1048576 次(一百多万次)复数 乘法运算这样,难以做到实时处理.
2、改进的途径
W
nk N
的对称性和周期性
周期性:
对称性:
得:
WNmk WN(mN )k WNm(k N ) ;
WNm WNN m ,[WNN m ]* WNm
W n(Nk) N
WN(N n)k
W nk N
(WNNk
WNNn
e2k(n)
1),
W N/2 N
1(WNN2
e j
1),
W (mN /2) N
WNm.
FFT算法的基本思想: 利用DFT系数的特性,合并DFT运算中的某些项,
把长序列DFT分解为短序列的DFT,从而减少运算量。
FFT算法分类: 时间抽选法:
DIT:Decimation-In-Time 频率抽选法:
DIF:Decimation-In-Frequency
按时间抽选的基2FFT算法
X 4 (1) x4 (0) W21x4 (1) x(2) WN0x(6)
1
X 5 (k) x5 (l)WNlk/ 4 , l 0
k 0,1
X5 (0) x5 (0) W20x5 (1) x(1) WN0x(5)
X5 (1) x5 (0) W21x5 (1) x(1) WN0x(5) 1 X 6 (k) x6 (l)WNlk/4 , k 0,1 l 0
X (k) DFT [x(n)] x(n)WNnk
n0
N 1
N 1
X (k) x(n)WNnk x(n)WNnk
n0
n0
N 2
1
(n为偶数)
N 2
1
(n为奇数)
x(2r)WN2rk x(2r 1)WN(2r1)k
r 0
r 0
N 2
1
N 2
1
x1(r)(WN2 )rk WNk x2 (r)(WN2 )rk
第四章 快速傅立叶变换(FFT) FFT:Fast Fouier Transform