-第3快速疼里叶变换一 当然,上述统计与实际需要的运算次数稍有出入,因为某 些W可能是1或j,就不必相乘了,例如W=1,WxN2=-1, W4=j等就不需乘法。但是为了便于和其他运算方法作比较, 般都不考虑这些特殊情况,而是把W都看成复数,当N很大 时,这种特例的影响很小。 从上面的统计可以看到,直接计算DFT,乘法次数和加法 次数都是和N成正比的,当N很大时,运算量是很可观的,有 时是无法忍受的
第3章 快速傅里叶变换 当然,上述统计与实际需要的运算次数稍有出入,因为某 些WN nk可能是1或j,就不必相乘了,例如W0 N =1,W N N/2=-1, WN N/4=-j等就不需乘法。 但是为了便于和其他运算方法作比较, 一般都不考虑这些特殊情况,而是把WN nk都看成复数,当N很大 时,这种特例的影响很小。 从上面的统计可以看到,直接计算DFT,乘法次数和加法 次数都是和N2成正比的,当N很大时,运算量是很可观的,有 时是无法忍受的
-第3快速疼里叶变换一 例3-1根据式(3-1),对一幅N×N点的二维图像进行DFT变 换,如用每秒可做10万次复数乘法的计算机,当N=1024时,问 需要多少时间(不考虑加法运算时间)? 解直接计算DFT所需复乘次数为(M2)2≈1012次,因此用每秒 可做10万次复数乘法的计算机,则需要近3000小时。 这对实时性很强的信号处理来说,要么提高计算速度,而这 样,对计算速度的要求太高了。另外,只能通过改进对DFT的计 算方法,以大大减少运算次数
第3章 快速傅里叶变换 例3-1 根据式(3-1),对一幅N×N点的二维图像进行DFT变 换,如用每秒可做10万次复数乘法的计算机,当N=1024时,问 需要多少时间(不考虑加法运算时间)? 解 直接计算DFT所需复乘次数为(N2 ) 2≈1012次,因此用每秒 可做10万次复数乘法的计算机,则需要近3000小时。 这对实时性很强的信号处理来说,要么提高计算速度,而这 样,对计算速度的要求太高了。另外,只能通过改进对DFT的计 算方法,以大大减少运算次数
-第5快速傅里叶度换 322改善途径 能否减少运算量,从而缩短计算时间呢?仔细观察DFT 的运算就可看出,利用系数Wx的以下固有特性,就可减少运 算 (1)W的对称性 m)* )=W nk (2)W的周期性 nk (n+Nk n(k+N)
第3章 快速傅里叶变换 3.2.2 改善途径 能否减少运算量,从而缩短计算时间呢?仔细观察DFT 的运算就可看出, 利用系数WN nk的以下固有特性,就可减少运 算量: (1) WN nk的对称性 nk N nk WN W − = * ( ) (2) WN nk的周期性 ( ) n(k N ) N n N k N n k WN W W + + = =
-第3快速疼里叶变换一 (3)W的可约性 nk W=w nmk k nk/m 另外 N/m (N-n)k W,WN2=-1W(+N2)=-W 这样,利用这些特性,使DFT运算中有些项可以合并,并能 使DFT分解为更少点数的DFT运算。而前面已经说到,DFT的运 算量是与M成正比的,所以N小越有利,因而小点数序列的 DFT比大点数序列的DFT的运算量要小。 快速傅里叶变换算法正是基于这样的基本思想而发展起来的 它的算法形式有很多种,但基本上可以分成两大类,即按时间抽 取( D ecimation in Time,缩写为DIT)法和按频率抽取 ( Decimation-in F requency,缩写为法s
第3章 快速傅里叶变换 (3) WN nk的可约性 n k m N m n k N nmk mN n k WN W W W / / = , = 另外 k N k N N N N n k N N n k N n N k WN = W = W W = − W = −W ( − ) ( − ) − / 2 ( + / 2) , 1, 这样,利用这些特性,使DFT运算中有些项可以合并,并能 使DFT分解为更少点数的DFT运算。而前面已经说到,DFT的运 算量是与N2成正比的,所以N越小越有利,因而小点数序列的 DFT比大点数序列的DFT的运算量要小。 快速傅里叶变换算法正是基于这样的基本思想而发展起来的。 它的算法形式有很多种,但基本上可以分成两大类,即按时间抽 ( Decimation in Time,缩写为DIT)法和按频率抽取 (Decimation in Frequency, 缩写为DIF)法
-第5快速傅里叶度换 3.3按时间抽取(DIT)的基-2FFT算法 3.31算法原理 设序列x(m)长度为N,且满足№=2M,M为正整数。按n的奇偶 把x(n)分解为两个M2点的子序列: 1)=x,(x)′=0l2…M x(2F)三x1(r (3-4) x(2r+
第3章 快速傅里叶变换 3.3 按时间抽取(DIT)的基-2 FFT算法 3.3.1 算法原理 设序列x(n)长度为N,且满足N=2 M ,M为正整数。按n的奇偶 把x(n)分解为两个N/2点的子序列: 1 2 0,1, , (2 1) ( ) (2 ) ( ) 2 1 = − + = = N r x r x r x r x r (3-4)