fft的发展、现状、典型算法

上传人:pu****.1 文档编号:508564065 上传时间:2022-10-09 格式:DOCX 页数:14 大小:98.41KB
返回 下载 相关 举报
fft的发展、现状、典型算法_第1页
第1页 / 共14页
fft的发展、现状、典型算法_第2页
第2页 / 共14页
fft的发展、现状、典型算法_第3页
第3页 / 共14页
fft的发展、现状、典型算法_第4页
第4页 / 共14页
fft的发展、现状、典型算法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《fft的发展、现状、典型算法》由会员分享,可在线阅读,更多相关《fft的发展、现状、典型算法(14页珍藏版)》请在金锄头文库上搜索。

1、数字信号处理期末大作业FFT的发展史、现状及典型算法班级学号:姓名:FFT 的发展史、现状及典型算法傅里叶分析已有200多年的历史,目前FFT及其校正算法在工程实际中仍在 广泛应用,展现了其不竭的生命力。本次作业我们论述FFT的现状,发展史以及 一些算法,去详细了解、扩展这一算法,巩固所学知识。一.FFT的简介傅里叶变换是一种将信号从时域变换到频域的变换形式,然而当N很大的时 候,求一个N点的DFT要完成N*N次复数乘法和N* (N-1)次复数加法,计算量 非常大,所以人们开始探索一种简便的算法对于一个较大的N进行傅里叶变换。 在 20 世纪 60 年代由 Cooley 和 Tukey 提出了

2、快速傅里叶变换算法,它是快速计 算 DFT 的一种简单高效的方法。关于何为FFT,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅 立叶变换的算法进行改进获得的。举个例子,设x(n)为N项的复数序列,由DFT 变换,任一 X (m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数 乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使 把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数 加法),那么求出N项复数序列的X (m),即N点DFT变换大约就需要2次运 算。当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用 W

3、N的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2 项的子序列,每个N/2点DFT变换需要(N/2) 2次运算,再用N次运算把两个 N/2点的DFT变换组合成一个N点的DFT变换。这样变换以后,总的运算次数就 变成N+2* (N/2厂2二N+ (M2) /2。继续上面的例子,N=1024时,总的运算次数 就变成了 525312次,节省了大约50%的运算量。而如果我们将这种“一分为二” 的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换 就只需要Nlog2N次的运算,N在1024点时,运算量仅有10240次,是先前的直 接算法的1%,点数越多,运

4、算量的节约就越大,这就是FFT的优越性。所以使用FFT算法,可以大大提高傅里叶变换的运算速度,运算时间缩短一 到两个数量级,从而使DFT变换应用迅速普及,不仅在频谱分析,而且在线性卷 积、线性相关等方面得到广泛应用。二.FFT的现实意义随着计算机技术的发展,离散傅里叶变化的出现使得傅里叶变换在工程中进 入实际应用阶段。在信号处理中,DFT的计算具有举足轻重的作用,信号的相关、 滤波、谱估计等都要通过DFT来实现,但必须减少它的运算量,DFT才能在工程 计算中具有实用价值。所以,FFT的出现提高了它的实用价值。而FFT成为数字 信号处理的关键技术,在信号处理领域扮演的角色越来越重要。高效率的快速

5、傅 立叶变换(FFT)算法是雷达信号处理、卫星通讯、生物医学和多媒体信号处理等基 础和核心算法。提高FFT处理速度满足对雷达信号处理实时性的,要求在EW接 收机高速数据处理方面将有广泛的应用前景。随着科学技术的不断进步,相控阵 体制已广泛应用于各种星载、机载、舰载和地面雷达。对于电尺寸较大几十甚至 几百个波长的相控阵天线, (如高分辨率星载, SAR 天线、大型稀布阵天线等), 用公式按级数求和计算阵列天线方向图的方法效率甚低。FFT的引入将从根本上 解决这一难题。平面近场测量方法是天线测量的常规手段而FFT技术加快了天线 参数评估的速度。三傅里叶变换的发展历程对于发展史,我们由记载可知,离散

6、傅里叶变换DFT是数字信号处理最重要 的基石之一,也是对信号进行分析和处理时最常用的工具之一。在200多年前法 国数学家、物理学家傅里叶提出后来以他名字命名的傅里叶级数之后,用 DFT 这个工具来分析信号就已经为人们所知。历史上最伟大的数学家之一。欧拉是第一个使用“函数”一词来描述包含各种参数的表达式的人,例如: y = f(x)。他是把微积分应用于物理学的先驱者之一。给出了一个用实变量函数 表示傅立叶级数系数的方程; 用三角级数来描述离散声音在弹性媒介中传播, 发现某些函数可以通过余弦函数之和来表达。 但在很长时间内,这种分析方法 并没有引起更多的重视,最主要的原因在于这种方法运算量比较大。

7、直到 1965 年, Cooley 和 Tukey 在计算机科学 发表著名的机器计算傅立叶级数的一 种算法论文,FFT才开始大规模应用。那个年代,有个肯尼迪总统科学咨询委员会。其中有项研究主题是,对苏联 核测试进行检测,Tukey就是其中一员。美国/苏联核测试提案的批准,主要取决 于不实地访问核测试设施而做出检测的方法的发展。其中一个想法是,分析离海 岸的地震计情况,这种计算需要快速算法来计算DFT。其它应用是国家安全,如 用声学探测远距离的核潜艇。所以在军事上,迫切需要一种快速的傅立叶变换算 法,这也促进了 FFT的正式提出。FFT的这种方法充分利用了 DFT运算中的对称性和周期性,从而将D

8、FT运算 量从N2减少到N*log2N。当N比较小时,FFT优势并不明显。但当N大于32开 始,点数越大,FFT对运算量的改善越明显。比如当N为1024时,FFT的运算效 率比DFT提高了 100倍。在库利和图基提出的FFT算法中,其基本原理是先将一 个N点时域序列的DFT分解为N个1点序列的DFT,然后将这样计算出来的N 个1点序列DFT的结果进行组合,得到最初的N点时域序列的DFT值。实际上, 这种基本的思想很早就由德国伟大的数学家高斯提出过,在某种情况下,天文学 计算(也是现在FFT应用的领域之一)与等距观察的有限集中的行星轨道的内插 值有关。由于当时计算都是靠手工,所以产生一种快速算法

9、的迫切需要。 而且, 更少的计算量同时也代表着错误的机会更少,正确性更高。高斯发现,一个富氏 级数有宽度N=N1*N2,可以分成几个部分。计算N2子样本DFT的N1长度和N1 子样本DFT的N2长度。只是由于当时尚欠东风一一计算机还没发明。在20世纪 60 年代,伴随着计算机的发展和成熟,库利和图基的成果掀起了数字信号处理 的革命,因而FFT发明者的桂冠才落在他们头上。之后,桑德-图基等快速算法相继出现,几经改进,很快形成了一套高效运 算方法,这就是现在的快速傅立叶变换(FFT)。这种算法使DFT的运算效率提高 1 到 2 个数量级,为数字信号处理技术应用于各种信号的实时处理创造了良好的 条件

10、,大大推进了数学信号处理技术。 1984 年,法国的杜哈梅和霍尔曼提出的 分裂基块快速算法,使运算效率进一步提高。库利和图基的FFT算法的最基本运算为蝶形运算,每个蝶形运算包括两个输 入点,因而也称为基-2 算法。在这之后,又有一些新的算法,进一步提高了 FFT 的运算效率,比如基-4算法,分裂基算法等。这些新算法对FFT运算效率的提高 一般在50%以内,远远不如FFT对DFT运算的提高幅度。从这个意义上说,FFT 算法是里程碑式的。可以说,正是计算机技术的发展和FFT的出现,才使得数字 信号处理迎来了一个崭新的时代。除了运算效率的大幅度提高外,FFT还大大降 低了 DFT运算带来的累计量化误

11、差,这点常为人们所忽略。以上为FFT的发展史,在整个发展历程中,傅里叶的发明作用尤为重要,后 人的推动,改良在发展史上也起到了至关重要的作用。四.FFT的现状、发展热度对于傅里叶变换的现状,我们分为国内国外两部分进行讨论: 首先介绍国外现状,国外围绕快速傅立叶变换的并行计算进行了多项研究和 开发。美国新墨西哥大学 Vasilios Georgitsis 等人设计了 2-DFFT 程序,可处理 512*512个点的图像,其底层通信基于PVM,将2-DFFT转化成1-DFFT并行计算, 完成了二维图像的变换。目前最新的研究成果是由麻省理工学院计算机科学实验 室超级计算技术组开发的 FFTW。 FF

12、TW 是计算离散傅里叶变换 DFT 的快速 C 程 序的一个完整集合,它可计算一维或多维、实数据和复数据以及任意规模的 DFT。 在FFTW中,DFT的计算由执行器完成。执行器是由许多高度优化的、可组装的 子代码模块组成的。FFTW有一个规划器。规划器用以根据具体机器的体系结构 特点和具体的DFT宽度N。在运行时寻找一种有效的子代码块组装方式,因此使 得FFTW具有很好的自适应性和很快的运行速度。FFTW还包含对共享和分布式 存储系统的并行变换。对于国内现状,在我国80年代初就开展了并行算法研究。快速傅立叶变换 的并行算法主要包括基于SIMD-MC2、SIMD-BF、SIMD-CC、MIMD-

13、DM 四种体系 结构上的FFT算法,它们都是基-2FFT算法,算法各有利弊,受体系结构影响较 大。SIMD-MC2上的FFT算法 是按频率抽取的快速傅立叶变换在网孔结构上的 具体实现。假设将n个处理器PO, P1,PN-1排成的方阵。初始序列开始时已处 于阵列的各处理器中,即ak处于Pk中。算法结束时,Pk保存bk。SIMD-BF上 FFT算法是在一个n=2k的蝶形网络,简记为BF。将(k+1)、2k个节点布局成(k+1) 行,每行有n个节点。令(r,i)表示第r行和第i列的坐标,0,i,n-1,exp(r,i) 表示在BF中坐标点(r, i)处的w的指数,它等于字长为k的整数j,即exp(r

14、, i)=j。 使得如果i的二进制表示为a1,a2,ar-1,ar,ak,贝U j的二进制为ar,ar-1a1, 000。也就是说将i的前r位取位反,即倒序,后面其余位补零就可以得 到j。因为蝶形网络第r-1行和第r行之间的连接,正好能满足直接将dr-1, i和 dr-1, j传到P(r, j)和P(r, j),所以无需考虑选路时间。算法时间除计算w、exp(r, i)的时间外,主要是算法第2步进行复数运算的时间。它等于0(),显然优于 SIMD-MC2上的FFT算法,这也说明算法和体系结构的密切关系。西安电子科技大学信息科学研究所提出了一种基于共享存储的多机系统并 行计算FFT算法。中国科学

15、院计算技术研究所利用星型互联网的递归可分解性的 多样性,提出了一种基于星型互联网络的并行快速傅立叶变换算法。星图具有层 次型结构,可由许多低维的子星图组成。国防科大就向量机上的FFT并行算法作 了系统的研究,并就离散变换、卷积和滤波的并行算法,用多项式变换计算离散 卷积以及短卷积嵌套计算长卷积的并行算法,并研究了离散卷积的并行计算下 界,对一维和二维滤波给出了用变换法及递推公式计算的并行算法。可见无论在 与国内还是国外,FFT算法都是研究的热点,有着广阔的发展前景。五基4FFT算法原理及介绍基4FFT算法是把长度N=4的序列一分为四,将N点DFT表示为4个N/4点 DFT的线性组合。然后再把N

16、/4点DFT 分为四,表示为四个N /16点的DFT。 如此重复下去直至分解成两点DFT的运算。多基时分蝶式运算定理在形式上比基2时分碟式运算定理复杂,但在本质上 是一致的。前者表明,对N二p, q的情形,若按xm(i)=x(ip+m)将原N点序列分解 成P个q点的子序列,则原序列x(n)的DFT可由各子序列xm(i)的DFT的线性组 合得到。基 4 时分 FFT 算法是多基算法的特例,因此从多基时分 FFT 的蝶式运算 定理即可推导出基 4 时分 FFT 算法的蝶式运算公式。具体算法如下:设p=4,q二N/4,这时由多基时分蝶式运算定理,输入序列x(n)可以分解成如 下的 4 个子序列:x (i) = x(4i + m)(m = 0,l,2,3;0 i 一 1,i为整数)m4子序列均为N/4点序列,设它们的N/4点DFT为x (r),则 mN卷Nx(k)= x(s + r)= Wm(s 4+ r)xk

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号