03_03(第14讲)第3章快速傅里叶变换
《快速傅里叶变换》课件

FFT的历史背景
01
1960年代,Cooley和Tukey提 出了基于“分治”思想的FFT 算法,为快速傅里叶变换的实 用化奠定了基础。
02
随后,出现了多种FFT算法的 变种和优化,如Radix-2、 Radix-4等。
03
随着计算机技术的发展,FFT 算法在硬件实现上也得到了广 泛应用,如FPGA、GPU等。
《快速傅里叶变换》ppt课件
contents
目录
• FFT简介 • FFT基本原理 • FFT实现 • FFT的应用 • FFT的优化与改进 • FFT的挑战与未来发展
01 FFT简介
FFT的定义
快速傅里叶变换(FFT):一种高效计算离散傅里叶变换(DFT)及其逆变换的 算法。它将复杂度为$O(N^2)$的DFT计算降低到$O(Nlog N)$,大大提高了计 算效率。
详细描述
混合基数FFT算法结合了基数-2和基数-4算法的特点,利用两者在计算过程中的 互补性,减少了计算量,提高了计算效率。同时,该算法在处理大规模数据时 ,能够保持较高的精度。
分段FFT算法
总结词
分段FFT算法将输入数据分成若干段,对每一段进行快速傅里叶变换,以降低计算复杂度和提高计算效率。
详细描述
02 FFT基本原理
离散傅里叶变换(DFT)
定义
应用
DFT是时间域信号到频域的变换,通 过计算信号中各个频率成分的幅度和 相位,可以分析信号的频谱特性。
DFT在信号处理、图像处理、频谱分 析等领域有广泛应用。
计算量
DFT的计算量随着信号长度N的增加 而呈平方关系增长,因此对于长信号 ,计算量巨大。
快速傅里叶变换推导

快速傅里叶变换推导摘要:1.快速傅里叶变换的概念与意义2.傅里叶变换的定义与性质3.快速傅里叶变换的算法原理4.快速傅里叶变换的实际应用正文:一、快速傅里叶变换的概念与意义快速傅里叶变换(Fast Fourier Transform,FFT)是一种高效的计算离散傅里叶变换(Discrete Fourier Transform,DFT)及其逆变换的算法。
DFT 是一种将时间域信号转换到频率域的方法,常用于信号处理、图像处理等领域。
然而,当信号长度很长时,DFT 的计算复杂度较高,因此,为了加速计算,提出了快速傅里叶变换算法。
二、傅里叶变换的定义与性质傅里叶变换是一种将信号从时域转换到频域的方法。
对于一个信号f(t),其傅里叶变换结果为频谱F(ω),可以通过以下公式计算:F(ω) = ∫[f(t) * e^(-jωt) dt],其中积分范围为-∞到∞。
傅里叶变换具有以下性质:1.傅里叶变换是线性的,即满足线性性质的信号可以通过傅里叶变换分开。
2.傅里叶变换是可逆的,即频域信号可以通过傅里叶逆变换转换回时域信号。
3.傅里叶变换具有时域与频域之间的帕斯卡三角关系,即频谱的幅度与相位分别对应时域信号的幅度与相位。
三、快速傅里叶变换的算法原理快速傅里叶变换算法的原理是将DFT 分解成更小的子问题,并重复利用子问题的计算结果。
具体来说,如果将信号长度为N 的DFT 表示为:X_k = ∑[x_n * e^(-j2πnk/N)],其中n 为时域索引,k 为频域索引。
那么,如果将信号长度分解为2 的幂次方形式(如N = 2^m),则可以将DFT 分解为两个较短的DFT 的加权和,即:X_k = ∑[x_n * e^(-j2πnk/N)] = ∑[x_n * e^(-j2πn(k-m)/2^m)] + e^(-j2πkm/2^m) * ∑[x_n * e^(-j2πn(k+m)/2^m)]其中,第一个和式计算偶数项的DFT,第二个和式计算奇数项的DFT。
快速傅里叶变换的原理

快速傅里叶变换的原理快速傅里叶变换(FFT)是一种计算傅里叶变换的快速算法,它将傅里叶变换的复杂度从O(n^2)降低到O(n log n),大大提高了计算效率。
快速傅里叶变换的原理是基于分治法和递归的思想,通过将一个长度为N的离散序列分成两个长度为N/2的子序列,然后将这些子序列分别进行快速傅里叶变换,最后再将它们合并起来,从而得到原序列的傅里叶变换结果。
快速傅里叶变换的原理可以通过以下步骤详细解释:1. 初始化:首先将输入的N个复数序列x(n)进行重排,以便使得序列中的奇数项和偶数项可以分别在计算时被独立处理。
这一步可以使用位逆序排列(bit-reversal permutation)算法来实现,将输入序列中的元素按照其二进制位反转的方法进行重新排列,使得后续计算能够高效地进行。
2. 分治处理:将N个复数序列x(n)分成两个长度为N/2的子序列,分别记为偶数项序列x_e(n)和奇数项序列x_o(n)。
分别对这两个子序列进行快速傅里叶变换,得到它们的傅里叶变换结果X_e(k)和X_o(k)。
3. 合并结果:利用蝶形算法(butterfly algorithm)将两个子序列的傅里叶变换结果X_e(k)和X_o(k)合并起来,得到原序列的傅里叶变换结果X(k)。
蝶形算法是一种迭代的方法,通过不断的蝶形运算将两个输入信号的频域信息进行合并,实现了快速的傅里叶变换。
以上三个步骤就构成了快速傅里叶变换的基本原理,通过将一个长度为N的复数序列进行分治处理,并利用蝶形算法将子序列的傅里叶变换结果合并起来,从而高效地得到原序列的傅里叶变换结果。
快速傅里叶变换的原理可以通过一个简单的例子进行解释。
假设有一个长度为8的复数序列x(n)={1, 2, 3, 4, 4, 3, 2, 1},我们希望计算这个序列的傅里叶变换。
首先将输入序列按照位逆序排列,得到新的序列x'(n)={1, 3, 2, 4, 4, 2, 3, 1},然后将x'(n)分成两个长度为4的子序列x_e(n)={1, 2, 4, 3}和x_o(n)={3, 4, 2, 1}。
快速傅里叶变换推导

快速傅里叶变换推导一、引言傅里叶变换是一种在各种科学领域中广泛应用的数学工具,它可以将一个函数分解为一组正弦波。
傅里叶变换在信号处理、图像处理、语音识别等领域发挥着重要作用。
然而,傅里叶变换的计算量很大,需要复杂的手工计算。
快速傅里叶变换(FFT)是一种高效的计算傅里叶变换的算法,它能够快速地计算出离散傅里叶变换(DFT)和其逆变换。
本篇文章将介绍FFT的基本思想和算法实现。
二、傅里叶变换与DFT傅里叶变换是一种将时间域函数转换为频域函数的数学变换。
对于离散时间信号,傅里叶变换的公式如下:X(k) = ∑_{n=0}^{N-1} x(n)e^{-j2πk n / N}其中,X(k)表示频域函数,x(n)表示时域函数,N表示采样点数。
离散傅里叶变换(DFT)是傅里叶变换的一种特殊形式,它只适用于离散时间信号。
DFT的公式如下:X[k] = ∑_{n=0}^{N-1} x[n]W_N^{k n}其中,W_N是一个N次单位根,即W_N = e^{j * 2π / N}。
三、快速傅里叶变换思想快速傅里叶变换的基本思想是利用信号的对称性和周期性来减少计算量。
通过将信号分解为多个子信号,并利用子信号的对称性和周期性,可以大大减少计算量。
具体来说,FFT算法将信号分解为多个长度为N/2的子信号,并分别计算每个子信号的DFT。
由于子信号的DFT具有对称性和周期性,因此可以大大减少计算量。
四、Cooley-Tukey算法Cooley-Tukey算法是最常用的快速傅里叶变换算法之一。
它基于分治算法的思想,将计算DFT的问题分解为多个子问题。
通过将输入信号分解为多个长度为N/2的子信号,并对每个子信号计算其DFT,然后再将这些子信号的DFT组合起来得到原始信号的DFT。
由于Cooley-Tukey算法利用了信号的对称性和周期性,因此它的计算速度比传统的DFT算法要快得多。
五、FFT算法的实现实现FFT算法需要注意以下几点:1.数据复用:在计算DFT时需要用到输入数据的多个副本,因此需要保证输入数据的副本能够被正确地复用。
快速傅里叶变换解析课件PPT学习

(2)两个N/2点的DFT运算量:复乘次数: N 2
2
复加次数: N ( N 1)
2
(3)N/2个蝶形运算的运算量:复乘次数: N
复加次数:
2 2
N
2
N
总共运算量:
复乘: 复加:
N2 N
N(N
1)/ 2 N 2
22
2
N(N
1) N
N2
2
2
*N点DFT的复乘为N2 ;复加N(N-1);与分解后相比可知,
X (k) X1(k) WNk X 2 (k) , k 0,1,
, N 1 2
(4-11)
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 1 (4-12) 2
13
第13页/共57页
这样,就可将X(k)表达为前后两部分:
n0
n0
N 1
{Re[x(n)]Re[WNnk ] Im[x(n)]Im[WNnk ]
n0
j(Re[x(n)]Im[WNnk ] Im[x(n)]Re[WNnk ])}
(4-3)
由此可见,一次复数乘法需用四次实数乘法和二次实数加法; 一次复数加法需二次实数加法。 因而每运算一个X(k)需4N次实 数乘法和2N+2(N-1)=2(2N-1)次实数加法。 所以,整个DFT运算 总共需要4N2次实数乘法和2N(2N-1)次实数加法。
2
第2页/共57页
N 1
正变换: X (k ) x(n)WNnk
n0
反变换:
x(n)
快速傅里叶变换原理

计算离散傅里叶变换的一种快速算法,简称FFT。
快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的。
采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。
当用数字计算机计算信号序列x(n)的离散傅里叶变换时,它的正变换(1)反变换(IDFT)是(2)式中、x(n)和X(k)可以是实数或复数。
由上式可见,要计算一个抽样序列就需要做N次复数乘法运算及N-1次复数加法运算。
计算离散傅里叶变换的快速方法,有按时间抽取的FFT算法和按频率抽取的FFT算法。
前者是将时域信号序列按偶奇分排,后者是将频域信号序列按偶奇分排。
它们都借助于的两个特点:一是的周期性;另一是的对称性,这里符号*代表其共轭。
这样,便可以把离散傅里叶变换的计算分成若干步进行,计算效率大为提高。
时间抽取算法令信号序列的长度为N=2M,其中M是正整数,可以将时域信号序列x(n)分解成两部分,一是偶数部分x(2n),另一是奇数部分x(2n+1),其中。
于是信号序列x(n)的离散傅里叶变换可以用两个N/2抽样点的离散傅里叶变换来表示和计算。
考虑到和离散傅里叶变换的周期性,式(1)可以写成(3)其中(4a)(4b)由此可见,式(4)是两个只含有N/2个点的离散傅里叶变换,G(k)仅包括原信号序列中的偶数点序列,H(k)则仅包括它的奇数点序列。
虽然k=0,1,2,…,N-1,但是G(k)和H(k)的周期都是N/2,它们的数值以N/2周期重复。
因为于是由式(3)和式(4)得到(5a)(5b)因此,一个抽样点数为N的信号序列x(n)的离散傅里叶变换,可以由两个N/2抽样点序列的离散傅里叶变换求出。
依此类推,这种按时间抽取算法是将输入信号序列分成越来越小的子序列进行离散傅里叶变换计算,最后合成为N点的离散傅里叶变换。
通常用图1中蝶形算法的信号流图来表示式(5)的离散傅里叶变换运算。
快速傅里叶变换原理

快速傅里叶变换原理快速傅里叶变换(FFT)是一种计算机科学和数学领域中常用的算法,它在信号处理、图像处理、数据压缩等领域都有着广泛的应用。
快速傅里叶变换的原理是基于傅里叶变换的思想,通过巧妙地利用对称性和周期性,实现了计算复杂度的大幅度降低,从而提高了计算效率。
傅里叶变换是将一个信号分解成不同频率的正弦波和余弦波的过程,它可以将时域的信号转换到频域,从而能够更好地理解信号的频率成分。
然而,传统的傅里叶变换算法在计算上存在着较大的复杂度,当信号的长度较大时,计算量将会非常庞大,这就导致了计算效率的低下。
为了解决这一问题,快速傅里叶变换应运而生。
它的核心思想是利用信号的周期性和对称性,将原本的O(n^2)的计算复杂度降低到了O(nlogn),这样就大大提高了计算效率。
快速傅里叶变换的算法由Cooley和Tukey于1965年提出,至今仍然被广泛应用。
快速傅里叶变换的原理主要包括以下几个方面:1. 分治策略,快速傅里叶变换算法采用了分治策略,将一个长度为n的信号分解为两个长度为n/2的子信号,然后分别对这两个子信号进行傅里叶变换,最后再将结果合并起来。
这样就将原本复杂的问题分解为了规模较小的子问题,从而降低了计算复杂度。
2. 蝶形运算,快速傅里叶变换算法中的蝶形运算是其核心操作,它是一种迭代计算的方法。
在蝶形运算中,对输入信号进行一系列的加法和乘法操作,最终得到傅里叶变换的结果。
蝶形运算的特点是可以通过迭代的方式高效地计算出傅里叶变换的结果。
3. 对称性和周期性,快速傅里叶变换算法充分利用了信号的对称性和周期性,通过这种特性可以大大减少计算量。
例如,当信号长度为2的幂时,可以将原始信号分解为偶数位和奇数位,然后利用对称性和周期性,将计算量降低到了原来的1/2。
总的来说,快速傅里叶变换算法通过巧妙地利用信号的对称性和周期性,将原本复杂的傅里叶变换计算问题转化为了规模较小的子问题,从而大大提高了计算效率。
详解快速傅里叶变换FFT算法

详解快速傅里叶变换FFT算法快速傅里叶变换(FFT)算法是一种高效的计算离散傅里叶变换的方法。
它通过将傅里叶变换问题分解为更小的子问题,从而减少计算量。
FFT算法广泛应用于信号处理、图像处理和其他科学与工程领域。
FFT算法的核心思想是将一个长度为N的复数序列分解为两个长度为N/2的复数序列,并重用其计算结果。
这种分解是通过将序列的奇数项与偶数项分为两组来实现的。
分解后可以继续将长度为N/2的序列分解为长度为N/4的序列,直到序列长度为1时停止。
然后,通过合并这些子问题的解,我们可以得到原始问题的解。
FFT算法的关键步骤可以概括为以下几点:1.首先,将输入序列通过位逆序操作重新排列。
这是为了便于分解和合并子问题的解。
2.然后,将序列分解为两个长度为N/2的子序列。
一组是奇数项,另一组是偶数项。
3.对两个子序列进行递归调用FFT算法,分别计算它们的傅里叶变换。
4.将子问题的解合并为原始问题的解。
这是通过使用每个子问题的解的一部分和一些旋转因子来完成的。
5.重复以上步骤,直到得到最终的傅里叶变换结果。
FFT算法的时间复杂度是O(NlogN),相对于朴素的傅里叶变换(时间复杂度为O(N^2)),有着显著的性能优势。
这个优势主要来自于FFT算法中子问题的重用和分治思想的应用。
FFT算法的应用非常广泛。
在信号处理中,FFT算法可以用来分析信号的频域特征,还可以用于滤波、频谱分析和频率估计等。
在图像处理中,FFT算法被用来进行图像变换,包括傅里叶变换、离散余弦变换等。
此外,FFT算法还被广泛应用于通信、雷达和声音等领域中的数据处理和分析。
总的来说,FFT算法通过分解和重用子问题的解,实现了高效的计算离散傅里叶变换的目的。
它的应用范围广泛,并且在在很多领域中被广泛使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 3)蝶形类型随迭代次数成倍减少(与时间抽取法 相反) 第一级迭代中有 N/2 种蝶形运算系数,参加蝶形 运算的两个数据相隔 N/2 ,随后每次迭代,蝶形类 形比前一级减少一倍,间距也减少一倍,最后一级 迭代,蝶形类形只有一种W0N,数据间隔为1。 由这几点规律可以看出,频率抽取法与时间抽到 法是两种等价的FFT运算。 (4)序数重排 它的输入是自然顺序。但它的输出却是码位倒 置的顺序。因此运算完毕后,要通过变址运算将码 位倒置的顺序转换为自然顺序,然后输出,变址方 法同时间抽取法。
数字信号处理 V. 2013 第3章
数字信号处理
Digital Signal Processing 第3章 离散傅里叶变换及其 快速算法
数字信号处理 V. 2013 第3章
第14讲 快速傅里叶变换 Fast Fourier Transform
数字信号处理 V. 2013 第3章
z FFT: Fast Fourier Transform z 1965年,Cooley-Turky (库利和图基)发 表文章《机器计算傅里叶级数的一种算法》 ,提出FFT算法,解决DFT运算量太大和在 实际使用中受限制的问题。 z FFT的应用。频谱分析、滤波器实现、实时 信号处理等。 z DSP芯片实现。TI公司的TMS 320c30, 10M时钟,基2-FFT1024点FFT时3 第3章
算法的计算复杂度
复乘次数
复乘次数
N2
N log 2 N 2
N
数字信号处理 V. 2013 第3章
(2)原位计算 计算完一个蝶形后,所得输出数据可立即 存入原输入数据所占用的存储单元(数组元 素)。这样,经过M级运算后,原来存放输入 序列数据的N个存储单元(数组A)中便依次存 放X(k)的N个值。 这种利用同一存储单元存储蝶形计算输 入、输出数据的方法称为原位(址)计算。 原位计算可节省大量内存,从而使设备成 本降低。
数字信号处理 V. 2013 第3章
3.3.2按频率抽取的FFT
(按输出X(k)在频域的顺序上属于偶数还是奇数分解为两组)
对于N=2M情况下的另外一种普遍使用的FFT结构是 频率抽取法。 对于频率抽取法,输入序列不是按偶奇数,而是按 前后对半分开,这样便将N点DFT写成前后两部分:
数字信号处理 V. 2013 第3章
由四个2点DFT组成8点DFT
数字信号处理 V. 2013 第3章
最后剩下的是 2 点 DFT ,它可以用一个蝶形结表 示:
由于这种方法每一步分解都是按输入时间序列是 属于偶数还是奇数来抽取的,所以称为 “按时间抽 取法”或“时间抽取法DIT”。
数字信号处理 V. 2013 第3章
按时间抽取的8点FFT
数字信号处理 V. 2013 第3章
• 典型应用:信号频谱计算、系统分析等 频谱分析与功率谱计算
系统分析
数字信号处理 V. 2013 第3章
3.3.0 直接计算DFT的特点及减少运算量 的基本途径
1、 DFT与IDFT
数字信号处理 V. 2013 第3章
1
2、DFT与IDFT运算特点
复数乘法 一个X(k) N个X(k) (N点DFT) 复数加法
X1(k)和X2(k)分别为x1(r)和x2(r)的N/2点DFT
这样,就将N点DFT分解为两个N/2点DFT。
数字信号处理 V. 2013 第3章
a W b -W
a+bW
a W b -1
a+bW
a-bW
a-bW
蝶形运算的简化
数字信号处理 V. 2013 第3章
x(0) x(2) x(4) x(6) x(1) x(3) x(5) x(7)
实数乘法 一次复乘 一次复加 一个X (k) N个X (k) (N点DFT)
实数加法
同理: IDFT运算 量与DFT相 同。
数字信号处理 V. 2013 第3章
2
3、降低DFT运算量的考虑
数字信号处理 V. 2013 第3章
FFT算法分类:
时间抽选法 DIT: Decimation-In-Time 频率抽选法 DIF: Decimation-In-Frequency
分解后的运算量: 运算量减少了近一半!
复数乘法 一个N/2点DFT 两个N/2点DFT 一个蝶形 N/2个蝶形 总计 复数加法
数字信号处理 V. 2013 第3章
进一步分解
数字信号处理 V. 2013 第3章
用同样的方法可计算出
数字信号处理 V. 2013 第3章
N/4点
N/4点
N/4点
N/4点
数字信号处理 V. 2013 第3章
其他快速算法简介
快速傅里叶变换算法是信号处理领域重要的研究课题。由 于教材篇幅和教学大纲所限,本章仅介绍算法最简单、编程最 容易的基2FFT算法原理及其编程思想,使读者建立快速傅里叶 变换的基本概念,了解研究FFT算法的主要途径和编程思路。 其他高效快速算法请读者参考文献。例如,分裂基FFT算法、 离散哈特莱变换( DHT)、基4FFT、基8FFT、基rFFT、混合基 FFT,以及进一步减少运算量的途径等内容,对研究新的快速 算法都是很有用的。本节简要介绍其他几种快速算法的运算量 及其主要特点,以便读者选择快速算法时参考。
x(n+N/2)
WN n -1
数字信号处理 V. 2013 第3章
[x(n)-x(n+N/2)]WNn
以N=8的频率抽取为例
x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7)
a(0) a(1) a(2) a(3) b(0) -1WN1 b(1) -1 WN2 b(2) -1WN3 b(3)
X1(0)
N/2点 DFT
X1(1) X1(2) X1(3)
X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7)
N/2点 DFT
X2(0) WN0 X2(1) WN1 X2(2) WN2 X2(3) WN3
-1 -1 -1 -1
两个4点DFT组成8点DFT运算流图
数字信号处理 V. 2013 第3章
N/2点 DFT
X(0) X(2) X(4) X(6) X(1) X(3) X(5) X(7)
N/2点 DFT
-1
按频率抽取将8点DFT分解成两个4点DFT
数字信号处理 V. 2013 第3章
按频率抽取将8点DFT分解成四个2点DFT
数字信号处理 V. 2013 第3章
与时间抽取法一样,由于 N=2M , N/2 仍是一个偶数 , 这样, 一个N=2M点的DFT通过M次分解后,最后只剩下全部是2点的 DFT,2点DFT实际上只有加减运算。但为了比较,也为了统 一运算的结构,仍用一个系数为W0N 的蝶形运算来表示。 频率抽取法的流图是时域抽取法流图的左右翻转。下图是 N=8的频率抽取法FFT流图。
把X(k)进一步分解为偶数组和奇数组:
数字信号处理 V. 2013 第3章
令 a(n)=x(n)+x(n+N/2) b(n)=[x(n)-x(n+N/2]wnN 这两个序列都是N/2点的序列,将其代入上两式,得
将一个N点的DFT分解为两个N/2点的DFT,运 算关系可用下图表示.
x (n) x(n) + x(n+N/2)
数字信号处理 V. 2013 第3章
(4)序数重排:序列的倒序
对按时间抽取FFT 的原位运算结构,当运算完毕 时,正好顺序存放着X(0),X(1),X(2),…,X(7), 因此可直接按顺序输出。 x(n)却不能按这种自然顺序存入存储单元中,而是 按 x(0) , x(4) , x(2) , x(6) , … , x(7) 的顺序存入存储 单元(倒序)。当用二进制表示这个顺序时,它正 好是“码位倒置”的顺序。 例如,原来的自然顺序应是 x(1)的地方,现在放着 x(4),用二进制码表示这一规律时, 则是在 x(0 0 1)处放着 x(1 0 0), x(0 1 1)处放着 x(1 1 0)。
数字信号处理 V. 2013 第3章
3.4.1 IDFT的高效算法
FFT算法流图也可以用于计算IDFT。比较 DFT和IDFT的运算公式:
数字信号处理 V. 2013 第3章
如果希望直接调用FFT子程序计算IFFT: 由于 可以先将X(k)取复共轭,然后直接调用FFT子程 序,或者送入FFT专用硬件设备进行DFT运算,最后 取复共轭并乘以1/N得到序列x(n)。这种方法虽然用了 两次取共轭运算,但可以与FFT共用同一子程序,因 而用起来很方便。
比较DFT
可以直观看出,当点 数N越大时,FFT的 优点更突出。
数字信号处理 V. 2013 第3章
3 DIT-FFT的运算规律及编程思想 (1)蝶形运算 (2)原位计算 (3)蝶形类型随迭代次数成倍增加 (4)序数重排
数字信号处理 V. 2013 第3章
(1)蝶形运算
对于 N=2M ,总是可以通过 M 次分解最后成为 2 点的 DFT运算。这样构成从x(n)到X(k)的M级运算过程。 从流图可看到,每一级运算都由N/2个蝶形运算构成 。因此每一级运算都需要 N/2 次复乘和 N 次复加,这样 ,经过时间抽取后M级运算总共需要的运算: 复乘 复加 而直接运算时则与N2 成正比。 例N=2048, N2=4194304, (N/2)log2N=11264, N2/[(N/2)log2N]=392.4。FFT显然要比直接法快得多。
数字信号处理 V. 2013 第3章
表
自然顺序 0 1 2 3 4 5 6 7
码位倒置顺序
二进码表示 000 001 010 011 100 101 110 111 码位倒置 000 100 010 110 001 101 010 111 码位倒置顺序 0 4 2 6 1 5 3 7