三章快速付里叶变换FFTFastFourietTransformer.ppt
《三章快速付里叶变换FFTFastFourietTransformer.ppt》由会员分享,可在线阅读,更多相关《三章快速付里叶变换FFTFastFourietTransformer.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三章快速付里叶变换FFTFastFourietTransformer Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第一节第一节 引引 言言一、快速付里叶变换一、快速付里叶变换FFT有 限 长 序 列 通 过 离 散 傅 里 叶 变 换(D F T)将 其 频 域 离 散 化 成 有 限 长 序 列.但 其 计算 量 太 大,很 难 实 时 地 处 理 问 题 ,因 此 引 出 了 快 速 傅 里 叶 变 换(FFT).FFT 并 不 是 一 种 新 的 变 换
2、形 式,它 只 是 DFT 的 一 种 快快 速速 算算 法法.并 且 根 据 对 序 列 分 解 与 选 取 方 法 的 不 同 而 产 生 了 FFT 的 多 种 算 法.FFT 在 离 散 傅 里 叶 反 变 换 、线 性 卷 积 和 线 性 相 关 等 方 面 也 有 重 要 应 用.。二、FFT产生故事 当时加文(Garwin)在自已的研究中极需要一个计算付里叶变换的快速方法。他注意到图基(J.W.Turkey)正在写有关付里叶变换的文章,因此详细询问了图基关于计算付里叶变换的技术知识。图基概括地对加文介绍了一种方法,它实质上就是后来的著名的库利(Cooley J.W)图基算法。在加
3、文的迫切要求下,库利很快设计出一个计算机程序。1965年库利-图基在、Mathematic of Computation 杂志上发表了著名的“机器计算付里级数的一种算法”文章,提出一种快速计算DFT的方法和计算机程序-揭开了FFT发展史上的第一页,促使FFT算法产生原因还有1967年至1968年间FFT的数字硬件制成,电子数字计算机的条件,使DFT的运算大简化了。三、本章主要内容1.直接计算DFT算法存在的问题及改进途径。2.多种DFT算法(时间抽取算法DIT算法,频率抽取算法DIF算法,线性调频Z变换即CZT法)3.FFT的应用第二节直接计算DFT算法存在的问题及改进途径一、直接计算一、直接
4、计算DFT计算量计算量问题提出:设有限长序列x(n),非零值长度为N,计算对x(n)进行一次DFT运算,共需多大的运算工作量?1.比较DFT与IDFT之间的运算量其中x(n)为复数,也为复数所以DFT与IDFT二者计算量相同。2.以DFT为例,计算DFT复数运算量计算一个X(k)(一个频率成分)值,运算量为例k=1则要进行N次复数乘法+(N-1)次复数加法所以,要完成整个DFT运算,其计算量为:N*N次复数相乘次复数相乘+N*(N-1)次复数加法次复数加法3.一次复数乘法换算成实数运算量复数运算要比加法运算复杂,需要的运算时间长。一个复数乘法包括4个实数乘法和个实数乘法和2个实数加个实数加法法
5、。(a+jb)(c+jd)=(ac-bd)+j(bc+ad)4次复数乘法2次实数加法4.计算DFT需要的实数运算量每运算一个X(k)的值,需要进行4N次实数相乘和 2N+2(N-1)=2(2N-1)次实数相加.整个DFT运算量为:4N2次实数相乘和次实数相乘和2N(2N-1)次次实数相加实数相加.由此看出:直接计算DFT时,乘法次数与加法次数都是和N2成比例的。当N很大时,所需工作量非常可观。例子例1:当N=1024点时,直接计算DFT需要:N2=(1024)2=1048576次,即一百多万次的复乘运算这对实时性很强的信号处理(如雷达信号处理)来讲,它对计算速度有十分苛刻的要求-迫切需要改进D
6、FT的计算方法,以减少总的运算次数。例2:石油勘探,24道记录,每道波形记录长度5秒,若每秒抽样500点/秒,每道总抽样点数=500*5=2500点24道总抽样点数=24*2500=6万点DFT运算时间=N2=(60000)2=36*108次二、改善DFT运算效率的基本途径利用DFT运算系数 的固有对称性和周期性,改善DFT的运算效率。1.合并法:合并DFT运算中的某些项。2.分解法:将长序列DFT利用对称性和周期性,分解为短序列DFT。利用DFT运算系数 的固有对称性和周期性,改善DFT的运算效率的对称性:的周期性:因为:由此可得出:例子例:利用以上特性,得到改进DFT直接算法的方法.(1)
7、合并法:步骤1分解成虚实部合并DFT运算中的有些项对虚实部而言所以带入DFT中:(1)合并法:步骤2代入DFT中展开:(1)合并法:步骤3合并有些项根据:有:(1)合并法:步骤4结论 由此找出其它各项的类似归并方法:乘法次数可以减少一半。例:2、将长序列DFT利用对称性和周期性分解为短序列DFT-思路因为DFT的运算量与N2成正比的如果一个大点数N的DFT能分解为若干小点数DFT的组合,则显然可以达到减少运算工作量的效果。2、将长序更DFT利用对称性和周期性分解为短序列DFT-方法把N点数据分成二半:其运算量为:再分二半:+=+=这样一直分下去,剩下两点的变换。2、将长序更DFT利用对称性和周
8、期性分解为短序列DFT-结论快速付里时变换(FFT)就是在此特性基础上发展起来的,并产生了多种FFT算法,其基本上可分成两大类:按抽取方法分:时间抽取法(DIT);频率抽取法(DIF)按“基数”分:基-2FFT算法;基-4FFT算法;混合基FFT算法;分裂基FFT算法其它方法:线性调频Z变换(CZT法)第三节基-2按时间抽取的FFT算法Decimation-in-Time(DIT)(Coolkey-Tukey)一、算法原理设输入序列长度为N=2M(M为正整数,将该序列按时间顺序的奇偶分解为越来越短的子序列,称为基2按时间抽取的FFT算法。也称为Coolkey-Tukey算法。其中基数2-N=2
9、M,M为整数.若不满足这个条件,可以人为地加上若干零值(加零补长)使其达到 N=2M例子设一序列设一序列x(n)的长度为的长度为L=9,应加零补长为应加零补长为N=24=16 应补应补7个零值。个零值。0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 nx(n)二、算法步骤1.分组,变量置换分组,变量置换DFT变换:先将x(n)按n的奇偶分为两 组,作变量置换:当n=偶数时,令n=2r;当n=奇数时,令n=2r+1;得到:x(2r)=x1(r);x(2r+1)=x2(r);r=0N/2-1;则其DFT可化为两部分:前半部分:后半部分:2.代入DFT中生成两个子序列x(
10、0),x(2)x(2r)奇数点x(1),x(3)x(2r+1)偶数点代入DFT变换式:3.求出子序列的DFT上式得:4.结论1一个N点的DFT被分解为两个N/2点DFT。X1(k),X2(k)这两个N/2点的DFT按照:再应用W系数的周期性,求出用X1(k),X2(k)表达的后半部的X(k+N/2)的值。5.求出后半部的表示式看出:后半部的k值所对应的X1(k),X2(k)则完全重复了前半部分的k值所对应的X1(k),X2(k)的值。6.结论2频域中的N个点频率成分为:结论:只要求出(0N/2-1)区间内的各个整数k值所对应的X1(k),X2(k)值,即可以求出(0N-1)整个区间内全部X(k
11、)值,这就是FFT能大量节省计算的关键。7.结论3由于N=2L,因此N/2仍为偶数,可以依照上面方法进一步把每个N/2点子序列,再按输入n的奇偶分解为两个N/4点的子序列,按这种方法不断划分下去,直到最后剩下的是2点DFT,两点DFT实际上只是加减运算加减运算。三、蝶形结即蝶式计算结构也即为蝶式信号流图上面频域频域中前/后半部分表示式可以用蝶形信号流图表示。X1(k)X2(k)作图要素:作图要素:(1)左边两路为输入左边两路为输入(2)右边两路为输出右边两路为输出(3)中间以一个小圆表示加、中间以一个小圆表示加、减运算(右上路为相加输减运算(右上路为相加输出、右下路为相减输出出、右下路为相减输
12、出)(4)如果在某一支路上信号需要进行如果在某一支路上信号需要进行相乘运算,则在该支路上标以箭头,相乘运算,则在该支路上标以箭头,将相乘的系数标在箭头旁。将相乘的系数标在箭头旁。(5)当支路上没有箭头及系当支路上没有箭头及系数时,则该支路的传输比数时,则该支路的传输比为为1。例子:求 N=23=8点FFT变换(1)先按)先按N=8-N/2=4,做做4点的点的DFT:先将N=8DFT分解成2个4点DFT:可知:时域上:x(0),x(2),x(4),x(6)为偶子序列 x(1),x(3),x(5),x(7)为奇子序列 频域上:X(0)X(3),由X(k)给出 X(4)X(7),由X(k+N/2)给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 付里叶 变换 FFTFastFourietTransformer
限制150内