fft算法原理(FFT算法原理)
AB资源网 2023-04-23 16:04 91 浏览 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算法原理的信息别忘了在本站进行查找喔。
相关推荐
- 云主机FTP软件:高效传输与安全管理的一站式解决方案
-
在云计算时代,云主机已成为企业和个人用户托管应用和存储数据的首选。为了方便文件传输,FTP(文件传输协议)软件在云主机环境中扮演着重要角色。本文将详细介绍如何在云主机上配置和使用FTP软件...
- 云主机FP:引领未来计算,解锁无限可能
-
云主机FP(FloatingPoint)是指在云计算环境中,针对浮点运算性能进行优化的虚拟机实例。浮点运算在科学计算、工程模拟、金融建模、图形处理等领域中占据重要地位,因此云主机FP的设计和配置...
- 云主机ECS:解锁企业数字化转型的新引擎,高效、安全、灵活的云计算解决方案
-
云主机ECS(ElasticComputeService)是阿里云提供的一种弹性计算服务,它允许用户在云端创建和管理虚拟机实例。ECS的核心优势在于其灵活性和可扩展性,能够满足各种规模和类型的业...
- 云主机D盘:解锁无限存储空间,轻松应对大数据挑战!
-
云主机是一种基于云计算技术的虚拟化服务器,它允许用户在云平台上创建、配置和管理虚拟机实例。在云主机中,磁盘分区是存储数据的关键部分,通常包括系统盘和数据盘。系统盘用于安装操作系统和运行应用...
- 云主机DNS解析:提升网站速度与稳定性的关键策略
-
云主机DNS(DomainNameSystem)是云计算环境中至关重要的一部分,它负责将域名转换为IP地址,从而使得用户能够通过易于记忆的域名访问云主机上的服务和应用。本文将深入探讨云主机DNS...
- 云主机C盘爆满?快速解决方法大揭秘,让你的服务器重获新生!
-
云主机C盘满了是一个常见但棘手的问题,尤其对于依赖云服务进行日常运营的企业和个人用户来说,这可能导致系统性能下降、应用程序崩溃,甚至数据丢失。本文将详细探讨云主机C盘满的原因、影响以及解决方法。...
- 云主机CPU选择指南:提升性能与效率的关键决策
-
在选择云主机的CPU时,用户需要考虑多个因素,以确保所选的CPU能够满足其应用的需求,同时优化成本效益。以下是一些关键点,帮助用户在云主机CPU选择过程中做出明智的决策。了解应用的性能需求...
- 云主机CPU性能大比拼:揭秘顶级云服务商的核心竞争力
-
云主机CPU是云计算环境中至关重要的组成部分,它直接影响着云服务的性能、稳定性和用户体验。CPU,即中央处理器,是计算机系统的核心,负责执行指令和处理数据。在云主机中,CPU的性能决定了虚...
- 云主机ASP:高效搭建动态网站,轻松实现业务扩展与性能优化
-
云主机ASP(ActiveServerPages)是一种在云环境中运行ASP应用程序的技术。ASP是一种由微软开发的动态网页技术,允许开发者使用VBScript或JScript等脚本语言编写服务...
- 云主机API:解锁无限可能,引领企业数字化转型新纪元
-
云主机API(ApplicationProgrammingInterface)是云计算服务提供商为用户提供的一种编程接口,允许开发者通过编程方式管理和操作云主机资源。这些API通常基于RESTf...
- 云主机99idc:高效稳定,轻松搭建您的专属云端空间,一键部署,畅享无限可能!
-
云主机99idc是一家专注于提供云计算服务的公司,其核心业务是为企业和个人用户提供高性能、高可靠性的云主机服务。随着数字化转型的加速,云计算已经成为企业IT基础设施的重要组成部分,而云主机99i...
- 云主机80端口:解锁无限可能,开启高效网络新时代!
-
云主机是一种基于云计算技术的虚拟化服务器,它通过互联网提供计算资源和服务。在云主机中,80端口是一个非常重要的端口,通常用于HTTP协议,即网页服务。本文将详细探讨云主机80端口的相关内容...
- 云主机403错误:解锁高效解决方案,提升网站性能与安全
-
云主机403错误是一个常见的网络问题,通常表示用户在尝试访问某个资源时被服务器拒绝。这种错误可能由多种原因引起,包括权限问题、配置错误、防火墙设置等。以下是关于云主机403错误的一些详细信...
- 云主机360:全方位云端解决方案,助力企业数字化转型无忧
-
云主机360是一种基于云计算技术的虚拟化服务器解决方案,它通过将物理服务器资源虚拟化,为用户提供灵活、高效、安全的计算服务。云主机360的核心优势在于其高度的可扩展性和弹性,用户可以根据业务需求...
- 云主机301:引领未来云计算的新纪元,高效稳定,助力企业数字化转型!
-
云主机301是一种常见的网络重定向状态码,通常用于指示用户请求的资源已被永久移动到新的URL。在云计算环境中,云主机301状态码的出现可能涉及到多种技术和管理策略,下面我们将详细探讨这一现象。...
你 发表评论:
欢迎- 一周热门
-
-
大网数据:双12秒杀聚惠,湖北100G高防云低至0元/月,湖北独服务器低至210元、200G高防+50Mbps带宽
-
HostYun廉价洛杉矶三网回程CN2 GIA云服务器内测13元/月起(美国原生IP,去程10Gbps防御)
-
HostYun洛杉矶大硬盘云服务器9折22.5元/月起(240G-500G硬盘/1Gbps/10G防御)
-
樊云香港双程CN2及洛杉矶50G高防三网CN2 GIA云服务器9折22.5元/月起
-
大网数据、湖北高防云服务器低至39元/月起、湖北高防独服务器低至245元起(200G硬防、金盾+傲盾防CC)
-
spinservers圣何塞/达拉斯10Gbps带宽高配服务器月付89美元起
-
高防服务器大网数据湖北独服务器低至210元、200G高防+50Mbps带宽
-
tmhhost美国高防云服务器8折_CeRaNetworks机房/三网cn2直连/适合建站
-
DogYun新上韩国独立服务器,E5/SSD+NVMe优惠后300元/月,自动化上架
-
初忆云 – 2020年中云聚惠全场五折 BGP云服务器低至88/年,抓紧上车
-
- 互动交流
- 标签列表
- 最新评论
-
您的文章条理清晰,论述有据,说服力强。您的文章情感真挚,能够触动人心,引起共鸣。https://www.renhehui.com/renhehui/1479.h
沉醉于月色 评论于:08-09虚拟机部署好后跟物理机一样当服务器的,只是它依赖了本地物理机不要关机为前提。对于外网访问内网场景,本地内网搭建服务器后需要提供到互联网上连接访问的,比较简便的
访客 评论于:03-01刘中宜 评论于:11-01
访客 评论于:06-03
AB资源网 评论于:05-08
AB资源网 评论于:11-22
AB资源网 评论于:11-22
頹廢了悲伤 评论于:11-15
南风知我意 评论于:11-15
心若冰凝 评论于:11-15