DFT的快速算法FFT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《DFT的快速算法FFT.ppt》由会员分享,可在线阅读,更多相关《DFT的快速算法FFT.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4 DFT的快速算法的快速算法FFT 时域抽取基时域抽取基时域抽取基时域抽取基-2FFT-2FFT算法(算法(算法(算法(DIT-FFTDIT-FFT)频域抽取基频域抽取基频域抽取基频域抽取基-2FFT-2FFT算法(算法(算法(算法(DIF-FFTDIF-FFT)逆逆逆逆 DFT DFT 的快速算法(的快速算法(的快速算法(的快速算法(IFFTIFFT)N N为合数的为合数的为合数的为合数的 FFT FFT 算法算法算法算法 (混合基)(混合基)(混合基)(混合基)1DFT的快速算法(的快速算法(FFT)综述)综述l lDFTDFT的运算量的运算量的运算量的运算量l l减少减少减少减少DFT
2、DFT运算量的方法运算量的方法运算量的方法运算量的方法将长度将长度将长度将长度N N变短变短变短变短。例如若将长度变为。例如若将长度变为N/2N/2,则运算量变成:,则运算量变成:利用利用利用利用 的性质的性质的性质的性质 周期性:周期性:周期性:周期性:共轭对称性:共轭对称性:共轭对称性:共轭对称性:可约性:可约性:可约性:可约性:版权所有 违者必究2第三章第2讲DFT的快速算法(的快速算法(FFT)综述)综述l lFFTFFT的算法分类的算法分类的算法分类的算法分类FFTFFT算法首先由算法首先由Cooly-TukyCooly-Tuky提出了提出了基基基基2FFT2FFT算法算法算法算法,
3、它对,它对DFTDFT的发展起到了极大推进作用。随后又出现了的发展起到了极大推进作用。随后又出现了混合基混合基混合基混合基算法算法算法算法。本节仅对本节仅对基基基基2FFT2FFT算法算法算法算法作介绍,内容包括:作介绍,内容包括:FFTFFT的基本的基本的基本的基本思想、时域与频域抽取的基思想、时域与频域抽取的基思想、时域与频域抽取的基思想、时域与频域抽取的基2FFT2FFT算法及其程序实现。算法及其程序实现。算法及其程序实现。算法及其程序实现。l l基基基基-2 FFT-2 FFT算法(算法(算法(算法(DIT-FFTDIT-FFT)指要求长度指要求长度N N满足满足 (MM为整数),若不
4、满足可将为整数),若不满足可将序列补零延长,使其满足长度要求。序列补零延长,使其满足长度要求。l l时域抽取与频域抽取时域抽取与频域抽取时域抽取与频域抽取时域抽取与频域抽取版权所有 违者必究3第三章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)l l算法的推导算法的推导算法的推导算法的推导时域抽取算法时域抽取算法时域抽取算法时域抽取算法是按是按 的奇偶把时间序列的奇偶把时间序列 分解为两个长分解为两个长为为N/2N/2点的序列,即:点的序列,即:版权所有 违者必究4第三章第2讲上式中上式中 分别为分别为 的的N/2N/2点点DFTDFT,即:,即:这是这是 前前前前N/2N/2
5、点点点点DFTDFT时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)版权所有 违者必究5第三章第2讲对于对于 后后后后N/2N/2点点点点的的DFTDFT显然,可采用显然,可采用蝶式运算图蝶式运算图蝶式运算图蝶式运算图来表示上述前来表示上述前N/2N/2和后和后N/2N/2两式两式 ,如下图所示:如下图所示:时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)版权所有 违者必究6第三章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)例如例如N=8N=8时的时的DFT,DFT,可以分解为两个可以分解为两个N/2=4N/2=4点点DFT,DFT,如下图:如下图:版权所有
6、违者必究7第三章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)同理:同理:,N/2N/2仍可能是偶数仍可能是偶数,可以进一步把每个可以进一步把每个N/2N/2点的序列再按其奇偶部分分解为两个点的序列再按其奇偶部分分解为两个N/4N/4的子序列。的子序列。版权所有 违者必究8第三章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)其中其中对对 也可进行同样的分解:也可进行同样的分解:版权所有 违者必究9第三章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)依次类推:依次类推:经过经过经过经过M-1M-1次分解后,可将次分解后,可将次分解后,可将次分解后,
7、可将N N点点点点DFTDFT分解成分解成分解成分解成N/2N/2个个个个两点两点两点两点DFTDFT。这样又一次的分解得到这样又一次的分解得到4 4个个N/4N/4点点DFTDFT,见下图。,见下图。版权所有 违者必究10第三章第2讲典典 型型 例例 题题例:例:例:例:试画出试画出N=8N=8时的完整的时的完整的基基基基-2 DIT-FFT-2 DIT-FFT运算流图。运算流图。版权所有 违者必究11第三章第2讲l l运算量运算量运算量运算量时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)由有关算法的讨论知:当由有关算法的讨论知:当 时,总共应有时,总共应有MM级分解,级分解,每级
8、有每级有N/2N/2个个“蝶式运算蝶式运算”。每个。每个“蝶式运算蝶式运算”需一次复数需一次复数乘、两次复数加运算,这样乘、两次复数加运算,这样MM级总共需要的运算量为:级总共需要的运算量为:如:若如:若N N10241024,直接计算,直接计算DFTDFT与采用与采用FFTFFT运算量之比约为运算量之比约为205205,“快速快速”得以充分体现。得以充分体现。若若若若N N足够大,通过直接计算足够大,通过直接计算足够大,通过直接计算足够大,通过直接计算DFTDFT与采用与采用与采用与采用FFTFFT计算其运算量计算其运算量计算其运算量计算其运算量之比为:之比为:之比为:之比为:版权所有 违者
9、必究12第三章第2讲l lFFTFFT算法的特点算法的特点算法的特点算法的特点时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)倒码倒码倒码倒码观察完整的观察完整的FFTFFT流图能发现有两个特点:流图能发现有两个特点:倒码倒码倒码倒码和和原位运算原位运算原位运算原位运算倒码即码位倒置:是指将原二进制数的码位倒过来倒码即码位倒置:是指将原二进制数的码位倒过来 按从低位到高位排按从低位到高位排列。列。顺序与倒码顺序对照表顺序与倒码顺序对照表顺序与倒码顺序对照表顺序与倒码顺序对照表 顺序顺序顺序顺序 二进制数二进制数二进制数二进制数 倒码倒码倒码倒码 倒码顺序倒码顺序倒码顺序倒码顺序 0 0
10、 1 1 2 2 3 3 4 4 5 5 6 6 7 7 000000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 000000 100 100 010 010 110 110 001 001 101 101 011 011 000 000 0 0 4 4 2 2 6 6 1 1 5 5 3 3 7 7如:如:如:如:N=8N=8时,序号时,序号 “4”4”用三位二进制表示正常码为用三位二进制表示正常码为“100”100”,而其倒,而其倒码为码为 “001”001”,变成了序号,变成了序号“1”1”。版权所有 违者必究13第三
11、章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)原位运算原位运算原位运算原位运算由完整的由完整的FFTFFT流图可见:流图可见:从左到右计算下一级蝶式运算时,从左到右计算下一级蝶式运算时,从左到右计算下一级蝶式运算时,从左到右计算下一级蝶式运算时,仅需要用到本级的数据而不需要前一级的数据仅需要用到本级的数据而不需要前一级的数据仅需要用到本级的数据而不需要前一级的数据仅需要用到本级的数据而不需要前一级的数据。例如在实施。例如在实施第二级蝶式运算时,仅需要第一级蝶式运算的结果,而不需第二级蝶式运算时,仅需要第一级蝶式运算的结果,而不需要用到原来的输入数据要用到原来的输入数据 。据此
12、就可在数据输入到存储器。据此就可在数据输入到存储器以后,每一级运算的结果存储在同一组存储单元中。直到最以后,每一级运算的结果存储在同一组存储单元中。直到最后输出,中间无需其他存储器。后输出,中间无需其他存储器。利用同一存储单元存放蝶式运算输入和输出数据的方法称为利用同一存储单元存放蝶式运算输入和输出数据的方法称为原位运算原位运算原位运算原位运算。原位运算可节省存储单元,降低原位运算可节省存储单元,降低原位运算可节省存储单元,降低原位运算可节省存储单元,降低FFTFFT硬件实现的硬件实现的硬件实现的硬件实现的设备成本,从而使得设备成本,从而使得设备成本,从而使得设备成本,从而使得FFTFFT算法
13、简单、快速、高效。算法简单、快速、高效。算法简单、快速、高效。算法简单、快速、高效。l lDIT-FFTDIT-FFT算法其他形式的流图算法其他形式的流图算法其他形式的流图算法其他形式的流图由信号流图理论知道:由信号流图理论知道:只要保证各节点所连接的支路及其传只要保证各节点所连接的支路及其传只要保证各节点所连接的支路及其传只要保证各节点所连接的支路及其传输系数不变,无论各节点相对位置如何排列,所得到的流图输系数不变,无论各节点相对位置如何排列,所得到的流图输系数不变,无论各节点相对位置如何排列,所得到的流图输系数不变,无论各节点相对位置如何排列,所得到的流图等效,等效,等效,等效,DFTDF
14、T的结果相同的结果相同的结果相同的结果相同。版权所有 违者必究14第三章第2讲时域抽取基时域抽取基2FFT算法(算法(DIT-FFT)N=8 N=8 时输入是正序、输出是倒码的时输入是正序、输出是倒码的时输入是正序、输出是倒码的时输入是正序、输出是倒码的DIT-FFTDIT-FFT运算流图运算流图运算流图运算流图例如将例如将N=8N=8时基时基2DIT-FFT2DIT-FFT信号流图中与信号流图中与 、水平相连水平相连的所有节点分别同与的所有节点分别同与 、水平相连的所有节点对调,保水平相连的所有节点对调,保持其余节点位置不变,得到新形式的信号流图。持其余节点位置不变,得到新形式的信号流图。版
15、权所有 违者必究15第三章第2讲频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)l l算法的推导算法的推导算法的推导算法的推导频域抽取算法频域抽取算法频域抽取算法频域抽取算法是把时间序列是把时间序列 前后对半分解为两个长前后对半分解为两个长为为N/2N/2点的序列,则:点的序列,则:版权所有 违者必究16第三章第2讲频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)当当当当 k k 取偶数时(取偶数时(k k=2=2 r r,r r=0,1,.,=0,1,.,N N/2/2 1 1)的的N N点点DFT DFT 按按 k k 的奇偶分组可分为两个的奇偶分组可分为两个N/2N/2的
16、的DFTDFT当当当当 k k 取奇数时(取奇数时(k k=2=2 r r1 1,r r=0,1,.,=0,1,.,N N/2/2 1 1)版权所有 违者必究17第三章第2讲频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)这一结论表明:这一结论表明:求求求求 的的的的N N点点点点DFT DFT 再次分解成再次分解成再次分解成再次分解成 求两个求两个求两个求两个N/2N/2 点点点点DFTDFT l lDIF-FFTDIF-FFT的蝶式运算流图的蝶式运算流图的蝶式运算流图的蝶式运算流图版权所有 违者必究18第三章第2讲l lDIF-FFTDIF-FFT的一次分解运算流图的一次分解运算流
17、图的一次分解运算流图的一次分解运算流图频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)先蝶式运算,后先蝶式运算,后先蝶式运算,后先蝶式运算,后 DFTDFT。例如:。例如:。例如:。例如:N=8N=8时时时时版权所有 违者必究19第三章第2讲频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)l lDIF-FFTDIF-FFT的二次分解运算流图的二次分解运算流图的二次分解运算流图的二次分解运算流图通常通常 N/2 N/2 仍然为仍然为 2 2 的整数幂,继续将的整数幂,继续将 N/2 N/2 点点DFTDFT分成偶数分成偶数组和奇数组,这样每个组和奇数组,这样每个 N/2 N/2
18、点点DFTDFT又可分解成两个又可分解成两个 N/4 N/4 点点DFTDFT,其输入序列分别是,其输入序列分别是 和和 按上下对半分开后通按上下对半分开后通过蝶式运算构成的过蝶式运算构成的 4 4 个子序列,如下图所示:个子序列,如下图所示:版权所有 违者必究20第三章第2讲频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)按照以上方法继续分解下去,经过按照以上方法继续分解下去,经过 M-1M-1 次分解,最后分次分解,最后分解为解为 N/2N/2 个两点个两点DFTDFT,这,这 N/2 N/2 个个2 2点点DFTDFT的输出就是的输出就是 N N 点点DFTDFT的结果的结果X
19、X(k k),如下图所示:,如下图所示:版权所有 违者必究21第三章第2讲l l有关说明有关说明有关说明有关说明频域抽取基频域抽取基2FFT算法(算法(DIF-FFT)以上给出了以上给出了 N=8 N=8 时完整的时完整的 DIF-FFTDIF-FFT 的运算流图。由于的运算流图。由于这种方法是这种方法是 按按 在频域进行奇偶分解,因此称之为在频域进行奇偶分解,因此称之为频域抽取基频域抽取基频域抽取基频域抽取基2 2 运算运算运算运算。比较比较比较比较与与相同点:相同点:运算次数与存储量相同运算次数与存储量相同运算次数与存储量相同运算次数与存储量相同不同点:不同点:输入序列为自然序列而输输入序
20、列为自然序列而输出为码位倒置序列出为码位倒置序列 蝶式运算过程不同蝶式运算过程不同 是序列先乘旋转因子后相加减是序列先乘旋转因子后相加减 是序列先相加减后乘旋转因子是序列先相加减后乘旋转因子版权所有 违者必究22第三章第2讲逆逆DFT的快速算法(的快速算法(IFFT)l lIFFTIFFT算法的推导算法的推导算法的推导算法的推导比较两式可知:比较两式可知:只要将只要将只要将只要将FFTFFT中的旋转因子中的旋转因子中的旋转因子中的旋转因子 改为改为改为改为 ,再乘以再乘以再乘以再乘以 1/N1/N 即可得到即可得到即可得到即可得到 IDFT IDFT 的快速算法的快速算法的快速算法的快速算法
21、IFFTIFFT。IFFTIFFT基基基基本思想本思想本思想本思想 ,还可将常数还可将常数 1/N 1/N 分配到每级运算中,分配到每级运算中,也就是每级蝶形运算均乘以也就是每级蝶形运算均乘以 。这样就实现了。这样就实现了 FFT FFT 与与IFFT IFFT 运算的统一。运算的统一。版权所有 违者必究23第三章第2讲1 1、纯软件实现、纯软件实现2 2、硬件实现、硬件实现3 3、DSPDSP(软硬件结合)(软硬件结合)逆逆DFT的快速算法(的快速算法(IFFT)l lFFTFFT(IFFTIFFT)算法的实现)算法的实现)算法的实现)算法的实现版权所有 违者必究24第三章第2讲N为合数的为
22、合数的FFT算法(混合基)算法(混合基)基基2FFT2FFT的各种算法要求的各种算法要求 。若该条件不满足,虽可通过在序列尾部补若该条件不满足,虽可通过在序列尾部补0 0的方法使的方法使 增增加到最邻近的一个加到最邻近的一个 值,从而采用值,从而采用DIT-FFTDIT-FFT或或DIF-FFTDIF-FFT算算法。该方法并不影响法。该方法并不影响DFTDFT的结果,只是增加了采样频率点的结果,只是增加了采样频率点的位置和点数,但该方法至少存在以下两个缺陷:的位置和点数,但该方法至少存在以下两个缺陷:补补补补0 0 0 0太多,长度增加,运算量加大,效率降低太多,长度增加,运算量加大,效率降低
23、太多,长度增加,运算量加大,效率降低太多,长度增加,运算量加大,效率降低 若欲求得指定频率点上的若欲求得指定频率点上的若欲求得指定频率点上的若欲求得指定频率点上的 DFT,DFT,DFT,DFT,无法做到无法做到无法做到无法做到故必须探索新方法故必须探索新方法故必须探索新方法故必须探索新方法版权所有 违者必究25第三章第2讲N为合数的为合数的FFT算法(混合基)算法(混合基)l l算法的推导算法的推导算法的推导算法的推导若序列若序列 的长度的长度 是是合数合数合数合数 ,即:,即:将将 每隔每隔 点抽取一点,则可形成点抽取一点,则可形成 个长度为个长度为 点的点的序列如下:序列如下:版权所有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DFT 快速 算法 FFT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内