AB资源网(www.xxab.cn)服务器导航站-找服务器商就上AB资源网
百度360必应搜狗本站头条
【本站公告】:本站互助计划,欢迎有活动的服务器商免费投稿,免费收录,最新收录会在首页展示! - 站长QQ:6502567
当前位置:网站首页 > 技术文档 > 正文

fft算法原理(FFT算法原理)

AB资源网 2023-04-23 16:04 71 浏览 0 评论

本文目录一览:

  • 1、FFT算法分几种?
  • 2、FFT的公式是什么和算法是怎样实现
  • 3、快速傅立叶变换
  • 4、FFT原理的FFT基本原理

FFT算法分几种?

FFT算法分析FFT算法的基本原理是把长序列的DFT逐次分解为较短序列的DFT。按照抽取方式的不同可分为DIT-FFT(按时间抽取)和DIF-FFT(按频率抽取)算法。按照蝶形运算的构成不同可分为基2、基4、基8以及任意因子(2n,n为大于1的整数),基2、基4算法较为常用。 网上有帮助文档: (右上角有点击下载)

FFT的公式是什么和算法是怎样实现

二维FFT相当于对行和列分别进行一维FFT运算。具体的实现办法如下:

先对各行逐一进行一维FFT,然后再对变换后的新矩阵的各列逐一进行一维FFT。相应的伪代码如下所示:

for (int i=0; iM; i++)

FFT_1D(ROW[i],N);

for (int j=0; jN; j++)

FFT_1D(COL[j],M);

其中,ROW[i]表示矩阵的第i行。注意这只是一个简单的记法,并不能完全照抄。还需要通过一些语句来生成各行的数据。同理,COL[i]是对矩阵的第i列的一种简单表示方法。

所以,关键是一维FFT算法的实现。下面讨论一维FFT的算法原理。

【1D-FFT的算法实现】

设序列h(n)长度为N,将其按下标的奇偶性分成两组,即he和ho序列,它们的长度都是N/2。这样,可以将h(n)的FFT计算公式改写如下 :

(A)

由于

所以,(A)式可以改写成下面的形式:

按照FFT的定义,上面的式子实际上是:

其中,k的取值范围是 0~N-1。

我们注意到He(k)和Ho(k)是N/2点的DFT,其周期是N/2。因此,H(k)DFT的前N/2点和后N/2点都可以用He(k)和Ho(k)来表示

快速傅立叶变换

1965年,库勒与塔基提出了计算DFT的一种新算法。对于取样点数为N的数据来说,这种算法把原来需要计算的N2次复数运算减少为Nlog2N次,因此大大节省了机器运算时间。这种算法就是通常所说的快速傅氏变换,简记为FFT。由于FFT的出现,在数字信号处理方面发生了许多重大变革,因而它具有相当的重要性。在本节中,我们将详细介绍FFT的原理、计算公式,并给出实现它的流程图。

1.问题的提出

对于一个有限序列x(n),n=0,1,…,N-1,其DFT为

物探数字信号分析与处理技术

式(7-1-1)代表了N个方程,全部写出来则是

物探数字信号分析与处理技术

因为x(n)可以是复序列,所以在计算(7-1-2)中每个频谱分量X(m)时,需要作N次复数乘法和(N-1)次复数加法。如果算出全部N个频谱分量时,就需要作N2次复数乘法和N(N-1)次复数加法。因为两个复数相乘等于4个实数相乘,所以N2次复数相乘就相当于4N2次实数相乘。当N较大时,(7-1-2)式直接计算的工作量就很大,例如,N=1000时,要计算4百万次实数乘法;当N=5000时,就要计算1亿次实数乘法。如此大的计算工作量,即便是高速计算机,也需要花较长的机器运算时间,这就严重影响了DFT在各个领域的广泛应用。因此,人们提出了能否找到减少计算DFT时间的一种算法。

2.FFT算法的基本思想

1965年由库勒与塔基提出了减少DFT计算时间的一种新算法。我们以(7-1-2)中N=4的情况为例,来说明这种算法的基本思想。

对于N=4=22,从(7-1-2)得到

物探数字信号分析与处理技术

将(7-1-3)写成矩阵形式

物探数字信号分析与处理技术

如果在(7-1-4)中,能够将包含Wi的矩阵分解成两个矩阵,并且使这两个矩阵中每一行元素只有两个不为零,就可以减少乘法的运算次数。由于计算DFT的时间主要取决于乘法运算的多少,因此,减少乘法就可以提高计算效率。下面具体说明上述算法。

首先,将(7-1-4)中X(m)的次序重新排列如下

物探数字信号分析与处理技术

因为

所以,可以将(7-1-5)写成

物探数字信号分析与处理技术

其次,将(7-1-6)中包含Wi的矩阵分解为每一行仅有两个元素不为零的两个矩阵,于是得到

物探数字信号分析与处理技术

第三,从(7-1-7)式先令:

物探数字信号分析与处理技术

物探数字信号分析与处理技术

从(7-1-8)看到,在这一步运算中,只需要2次复数乘法和4次复数加法。

第四,将(7-1-8)代入(7-1-7)中,得到

物探数字信号分析与处理技术

从(7-1-9)看到,在这一步运算中,也只需要2次复数乘法和4次复数加法。由此可见,在计算频谱X(m)时,由于采用了矩阵分解的办法,并将零引进被分解的矩阵中,就使总的运算次数减少到只有4次复数乘法和8次复数加法。而直接去计算(7-1-3)时,总的运算却需要16次复数乘法和12次复数加法。

我们再考虑取样点数N=8的情形。从公式(7-1-2)可以得到8个方程的方程组,将它们写成矩阵形式则为

物探数字信号分析与处理技术

与N=4的情况一样,首先将X(m)的次序重排,从(7-1-10)得到,

物探数字信号分析与处理技术

根据

物探数字信号分析与处理技术

物探数字信号分析与处理技术

物探数字信号分析与处理技术

将(7-1-11)中包含Wi的矩阵分解为每一行仅有两个非零元素的三个矩阵,由(7-1-11)得

物探数字信号分析与处理技术

由(7-1-12)得

物探数字信号分析与处理技术

从(7-1-13)看到,在这一步运算中,只需要做4次复数乘法和8次复数加法。根据(7-1-13),从(7-1-12)得到

物探数字信号分析与处理技术

从(7-1-14)看到,在第二步运算中,也只需要做4次复数乘法和8次复数加法。根据(7-1-14),由(7-1-12)可得

物探数字信号分析与处理技术

从(7-1-15)看到,第三步运算也只需作4次复数乘法和8次复数加法。

由此可见,在计算N=8的频谱X(m)时,由于进行矩阵分解,并把零引进被分解的三个矩阵中,就使总的运算次数减少到只有12次复数乘法,24次复数加法。而直接去计算(7-1-11)时,总的运算却要作64次复数乘法和56次复数加法。综上论述我们看到:

第一,FFT算法比直接算法快速的关键在于它将包含Wi原始矩阵进行分解,分解成每一行中仅仅含有两个非零元素的乘积。当N=4时,分解成2个矩阵;当N=8时,分解成3个矩阵;当N=2n时,分解成n个矩阵。

第二,对于FFT算法总的运算次数:

当N=4时,乘法为(4/2)log24=2次,加法为4log24=8次;

当N=8时,乘法为(8/2)log28=12次,加法为8log28=24次;……;

当N=2n时,乘法为 次,加法为Nlog2N。

在此为了得出一般规律,把Wi也用作相乘。如果考虑到若干Wi项为1,并利用DFT的对称性,则实际的复数乘法还可减少得更多。为了与直接计算比较,并以最坏的情况为准,即认为FFT算法包含Nlog2N次复数运算。而直接算法的运算是N2次,当N很大时,FFT算法节省的运算次数是相当惊人的。

第三,从公式(7-1-9)与(7-1-15)还看到一个重要情况,即最终得到的结果xi(r)与所要求的谱X(m)之间还存在差异。这种现象是由于谱x(m)在次序上的重排产生的。为了解决这一矛盾,我们只需要将xi(r)中的r用二进制表示,并逆位,即得所要结果。例如,当N=4时,将(7-1-9)中的xi(r)表示为

物探数字信号分析与处理技术

将上式逆位后即得所要结果

物探数字信号分析与处理技术

当N=8时,将(7-1-15)中xi(r)用二进制表示为

物探数字信号分析与处理技术

对二进制逆位就得到所要结果

物探数字信号分析与处理技术

物探数字信号分析与处理技术

一般如果r可以按照n位(N=2n)二进制数表示为

物探数字信号分析与处理技术

则r的二进制位的逆序为

物探数字信号分析与处理技术

于是得到,

物探数字信号分析与处理技术

FFT原理的FFT基本原理

FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform)。FFT算法可分为按时间抽取算法和按频率抽取算法,先简要介绍FFT的基本原理。从DFT运算开始,说明FFT的基本原理。

DFT的运算为:

式中

由这种方法计算DFT对于X(K)的每个K值,需要进行4N次实数相乘和(4N-2)次相加,对于N个k值,共需N*N乘和N(4N-2)次实数相加。改进DFT算法,减小它的运算量,利用DFT中

的周期性和对称性,使整个DFT的计算变成一系列迭代运算,可大幅度提高运算过程和运算量,这就是FFT的基本思想。

FFT基本上可分为两类,时间抽取法和频率抽取法,而一般的时间抽取法和频率抽取法只能处理长度N=2^M的情况,另外还有组合数基四FFT来处理一般长度的FFT 设N点序列x(n),,将x(n)按奇偶分组,公式如下图

改写为:

一个N点DFT分解为两个 N/2点的DFT,继续分解,迭代下去,其运算量约为

其算法有如下规律

两个4点组成的8点DFT

四个2点组成的8点DFT

按时间抽取的8点DFT

原位计算

当数据输入到存储器中以后,每一级运算的结果仍然储存在同一组存储器中,直到最后输出,中间无需其它存储器

序数重排

对按时间抽取FFT的原位运算结构,当运算完毕时,这种结构存储单元A(1)、A(2),…,A(8)中正好顺序存放着X(0),X(1),X(2),…,X(7),因此可直接按顺序输出,但这种原位运算的输入x(n)却不能按这种自然顺序存入存储单元中,而是按X(0),X(4),X(2),X(6),…,X(7)的顺序存入存储单元,这种顺序看起来相当杂乱,然而它也是有规律的。当用二进制表示这个顺序时,它正好是“码位倒置”的顺序。

蝶形类型随迭代次数成倍增加

每次迭代的蝶形类型比上一次蝶代增加一倍,数据点间隔也增大一倍 频率抽取2FFT算法是按频率进行抽取的算法。

设N=2^M,将x(n)按前后两部分进行分解,

按K的奇偶分为两组,即

得到两个N/2 点的DFT运算。如此分解,并迭代,总的计算量和时间抽取(DIT)基2FFT算法相同。

算法规律如下:

蝶形结构和时间抽取不一样但是蝶形个数一样,同样具有原位计算规律,其迭代次数成倍减小 时,可采取补零使其成为

,或者先分解为两个p,q的序列,其中p*q=N,然后进行计算。 前面介绍,采用FFT算法可以很快算出全部N点DFT值,即z变换X(z)在z平面单位圆上的全部等间隔取样值。实际中也许①不需要计算整个单位圆上z变换的取样,如对于窄带信号,只需要对信号所在的一段频带进行分析,这时希望频谱的采样集中在这一频带内,以获得较高的分辨率,而频带以外的部分可不考虑,②或者对其它围线上的z变换取样感兴趣,例如语音信号处理中,需要知道z变换的极点所在频率,如极点位置离单位圆较远,则其单位圆上的频谱就很平滑,这时很难从中识别出极点所在的频率,如果采样不是沿单位圆而是沿一条接近这些极点的弧线进行,则在极点所在频率上的频谱将出现明显的尖峰,由此可较准确地测定极点频率。③或者要求能有效地计算当N是素数时序列的DFT,因此提高DFT计算的灵活性非常有意义。

螺旋线采样是一种适合于这种需要的变换,且可以采用FFT来快速计算,这种变换也称作Chirp-z变换。

fft算法原理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于fft算法原理fft算法原理的信息别忘了在本站进行查找喔。

腾讯云

相关推荐

踏入阿里云服务器代理商之门:步骤和技巧 (怎么成为阿里云服务器代理商)

作为目前全球更大的云计算服务提供商之一,阿里云在中国市场的份额一直占据领导地位。如果你希望在云计算领域开展业务,成为阿里云服务器代理商可能是个不错的选择。本文将为大家详细介绍具体的步骤和技巧,帮助你成...

高性价比,足够优惠! 30美元起,年付美国VPS,值得拥有! (美国vps 年付)

近年来,随着互联网的不断发展,越来越多的网站需要使用虚拟主机服务,以提供更加稳定的服务质量和更好的访问速度。而虚拟主机的使用也因此成为了越来越普遍的一种方式。但是,在选择虚拟主机服务时,除了考虑到稳定...

评测美国云服务器,推荐性价比高的品牌 (美国云服务器哪个好用)

近年来,随着人们对于云计算的需求不断增加,云服务器也逐渐成为了企业、机构和个人等用户参与服务的主要方式之一。而在众多的云服务器品牌中,美国云服务器更是备受欢迎。而对于那些想要评测美国云服务器的用户来说...

群晖服务器的登录方法详解 (群晖服务器如何登陆)

群晖服务器是一种高效可靠的存储和共享平台,它可以提供非常多的实用功能和服务。但是,在开始使用之前,你需要登录到你的群晖服务器。在本文中,我们将详细讲解群晖服务器的登录方法。一、了解群晖服务器的基本概...

紧急通知:CDN服务器可能遇到故障,需及时解决! (cdn服务器可能发生故障)

作为一个网站管理员,CDN服务器的重要性我们再清楚不过了。最近,我们收到了来自网络运营商的紧急通知,通知我们CDN服务器可能遇到故障,需要及时解决。CDN服务器,即内容分发网络服务器,是在全球各个位...

办公室网络瘫痪!无法连接局域服务器怎么办? (连接不了局域服务器)

办公室网络瘫痪是企业中常见的问题之一。一旦网络瘫痪,会影响到员工的工作效率和企业的营运。当你打开电脑,却发现无法连接局域服务器时,这时该如何应对呢?1.检查网络连接检查电缆是否连接正确,网线是否...

利润吗?买云主机,能否带来收益? (买云主机能赚)

随着互联网的飞速发展,云计算作为一种新型的计算模式,其广泛应用在各个领域之中。其中,云主机服务是云计算的重要组成部分,已经成为很多企业选择托管的首选方式。随着云主机的发展和普及,很多人开始关注,如果购...

.NET轻松打开FTP服务器文件夹,方便快捷管理文件 (.net打开ftp服务器文件夹)

在现代科技的浪潮下,越来越多的企业选择使用云服务器来存储和共享数据。FTP服务器是一个非常有用的工具,它允许用户上传、下载、删除和共享文件。然而,FTP管理文件需要一些特定技能和知识,否则操作可能会变...

2023企业服务器版:全面升级,助力企业发展 (2023 企业服务器版)

2023年,微软推出了全新的企业服务器版本,旨在为企业用户提供更为稳定、高效的IT系统支持,更好地助力企业发展。随着互联网和信息技术的飞速发展,企业面临着越来越大的信息化压力。如何建设一个高效、稳定...

享受超低价格!2023年付VPS,轻松搭建私人网站 (2023便宜年付vps)

当今时代,互联网充斥着各种各样的网站,无论是企业还是个人都会拥有一个网站,用来展示自己的产品或者知识。而搭建一个私人网站也是越来越普遍的事情。那么,如何搭建一个便捷而且又不贵的私人网站呢?本文将为大家...

回顾2023服务器系统:经典之作还是过时技术? (2023服务器系统)

2023年,微软公司推出了WindowsServer2023,这是一款非常成功的服务器操作系统,许多企业和机构使用它进行各种任务和应用程序。然而,随着时间的推移,新技术的发展以及安全漏洞的增加,2...

2023 Q3服务器排名发布:领先厂商与新兴品牌争夺冠军 (2023 Q3服务器排名)

近年来,随着互联网技术的迅速发展,服务器市场也持续升温。市场上主要的服务器品牌包括戴尔、惠普、联想、IBM等。而在这些老牌企业的竞争下,新兴的服务器品牌也在不停崛起。根据2023Q3服务器排名发布,...

「低成本高性能!100g云服务器价格惊喜震撼!」 (100g云服务器价格)

低成本高性能!100g云服务器价格惊喜震撼!现今的互联网时代,任何一家公司都需要拥有自己的网站,以便宣传公司产品、服务和品牌。一个高速、可靠的云服务器是每个公司的必备工具之一。就在不久之前,网络服务...

1u服务器显卡:强大性能让服务器效率提升 (1u服务器显卡)

1U服务器显卡:强大性能让服务器效率提升随着信息技术的飞速发展,人们对数据处理和存储的需求越来越高,尤其对企业级服务器的性能要求也越来越苛刻。随着、大数据、云计算等诸多新技术的不断涌现,服务器的效率...

韩国将于2023年推出云服务器服务,助力云计算技术的发展。 (2023韩国云服务器)

韩国将于2023年推出云服务器服务,助力云计算技术的发展随着互联网的高速发展,云计算技术已经成为了数字化时代的一项重要技术。云计算技术是一种以互联网为基础,将不同的底层服务封装成云服务器,以便用户可...

取消回复欢迎 发表评论: