一种快速傅里叶变换和逆变换的实现方法技术

技术编号:34456149 阅读:47 留言:0更新日期:2022-08-06 17:02
本申请适用于数据处理技术领域,提供了一种快速傅里叶变换和逆变换的实现方法。本申请实施例中获取待计算数据的数据长度;当待计算数据的数据长度小于或等于预设的寄存器组中寄存器半数时,对寄存器组进行离散处理,并将待计算数据和第一预设旋转因子输入离散后的寄存器组;通过再离散处理对寄存器组和预设的二维脉动阵列的连接进行重构处理;根据预设的傅里叶变换规则对再离散处理后的寄存器组进行蝶形运算,根据蝶形运算结果确定待计算数据的快速傅里叶变换结果,从而提高求解数据的快速傅里叶变换结果时的计算速度。速傅里叶变换结果时的计算速度。速傅里叶变换结果时的计算速度。

【技术实现步骤摘要】
一种快速傅里叶变换和逆变换的实现方法


[0001]本申请属于数据处理
,尤其涉及一种快速傅里叶变换和逆变换的实现方法。

技术介绍

[0002]在现代信息处理中,例如在声学、信号处理、数字图像处理等领域中,通常会用到快速傅里叶变换来对现代信息中的相关数据进行处理,而现有的通过单个浮点对数据进行快速傅里叶变换的计算,会导致计算速度较低。

技术实现思路

[0003]本申请实施例提供了一种快速傅里叶变换和逆变换的实现方法,可以解决通过单个浮点实现数据的快速傅里叶变换计算时的计算速度较低的问题。
[0004]第一方面,本申请实施例提供了一种快速傅里叶变换的实现方法,包括:
[0005]获取待计算数据的数据长度;
[0006]当待计算数据的数据长度小于或等于预设的寄存器组中寄存器半数时,对寄存器组进行离散处理,并将待计算数据和第一预设旋转因子输入离散后的寄存器组;
[0007]通过再离散处理对寄存器组和预设的二维脉动阵列的连接进行重构处理;
[0008]根据预设的傅里叶变换规则对再离散处理后的寄存器组进行蝶形运算,根据蝶形运算结果确定待计算数据的快速傅里叶变换结果。
[0009]第二方面,本申请实施例提供了一种快速傅里叶逆变换的实现方法,包括:
[0010]获取待处理数据的数据长度;
[0011]当待处理数据的数据长度小于或等于预设的寄存器组中寄存器半数时,对寄存器组进行离散处理,并将待处理数据和第二预设旋转因子输入离散后的寄存器组;
[0012]通过再离散处理对寄存器组和预设的二维脉动阵列的连接进行重构处理;
[0013]根据预设的傅里叶变换规则对再离散处理后的寄存器组进行蝶形运算,并对蝶形运算结果进行数据缩放处理,得到待处理数据的快速傅里叶逆变换结果。
[0014]第三方面,本申请实施例提供了一种快速傅里叶变换的实现装置,包括:
[0015]长度获取模块,用于获取待计算数据的数据长度;
[0016]离散模块,用于当待计算数据的数据长度小于或等于预设的寄存器组中寄存器半数时,对寄存器组进行离散处理,并将待计算数据和第一预设旋转因子输入离散后的寄存器组;
[0017]重构处理模块,用于通过再离散处理对寄存器组和预设的二维脉动阵列的连接进行重构处理;
[0018]运算模块,用于根据预设的傅里叶变换规则对再离散处理后的寄存器组进行蝶形运算,根据蝶形运算结果确定待计算数据的快速傅里叶变换结果。
[0019]第四方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在上
述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述任一种快速傅里叶变换的实现方法或上述任一种快速傅里叶逆变换的实现方法的步骤。
[0020]第五方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述的计算机程序被处理器执行时实现上述任一种快速傅里叶变换的实现方法或上述任一种快速傅里叶逆变换的实现方法的步骤。
[0021]第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一种快速傅里叶变换的实现方法或上述第二方面中任一种快速傅里叶逆变换的实现方法。
[0022]本申请实施例中获取待计算数据的数据长度,以根据待计算数据的数据长度对待计算数据进行判断,确定出待计算数据的计算方式,当待计算数据的数据长度小于或等于预设的寄存器组中寄存器半数时,对寄存器组进行离散处理,并将待计算数据和第一预设旋转因子输入离散后的寄存器组,并通过再离散处理对寄存器组和预设的二维脉动阵列的连接进行重构处理。最终根据预设的傅里叶变换规则对再离散处理后的寄存器组进行蝶形运算,以根据蝶形运算结果确定待计算数据的快速傅里叶变换结果,从而通过寄存器组存储计算数据,并通过二维脉动阵列对寄存器组进行计算求解快速傅里叶变换结果的方式,来提高求解数据的快速傅里叶变换结果时的计算速度。
附图说明
[0023]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本申请实施例提供的快速傅里叶变换的实现方法的流程示意图;
[0025]图2是本申请实施例提供的数据处理系统的结构示意图;
[0026]图3是本申请实施例提供的离散处理方式示意图;
[0027]图4是本申请实施例提供的再离散处理方式示意图;
[0028]图5是本申请实施例提供的第一预设阵列变换方式示意图;
[0029]图6是本申请实施例提供的再离散后恢复方式示意图;
[0030]图7是本申请实施例提供的第一种第二预设阵列变换方式示意图;
[0031]图8是本申请实施例提供的第二种第二预设阵列变换方式示意图;
[0032]图9是本申请实施例提供的第三种第二预设阵列变换方式示意图;
[0033]图10是本申请实施例提供的第四种第二预设阵列变换方式示意图;
[0034]图11是本申请实施例提供的第三预设阵列变换方式示意图;
[0035]图12是本申请实施例提供的快速傅里叶逆变换的实现方法的流程示意图;
[0036]图13是本申请实施例提供的快速傅里叶变换的实现装置的结构示意图;
[0037]图14是本申请实施例提供的终端设备的结构示意图。
具体实施方式
[0038]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0039]另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0040]实施例一
[0041]图1所示为本申请实施例中一种快速傅里叶变换的实现方法的流程示意图,该方法的执行主体可以是终端设备,如图1所示,上述快速傅里叶变换的实现方法可以包括如下步骤:
[0042]步骤S101、获取待计算数据的数据长度。
[0043]在一个实施例中,如图2所示,图2为数据处理系统的结构示意图,该处理系统可以实现上述快速傅里叶变换的实现方法,可以包括控制器21、寄存器组22、二维脉动阵列23、高速总线24和数据存储模块25。其中,上述控制器21负责启动并控制数据处理系统中的各个组件,以实现上述快速傅里叶变换的实现方法,即相当于本实施例中的终端设备;上述寄存器组22可以由N*N个寄存器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速傅里叶变换的实现方法,其特征在于,包括:获取待计算数据的数据长度;当所述待计算数据的数据长度小于或等于预设的寄存器组中寄存器半数时,对所述寄存器组进行离散处理,并将待计算数据和第一预设旋转因子输入离散后的寄存器组;通过再离散处理对所述寄存器组和预设的二维脉动阵列的连接进行重构处理;根据预设的傅里叶变换规则对所述再离散处理后的寄存器组进行蝶形运算,根据蝶形运算结果确定所述待计算数据的快速傅里叶变换结果。2.如权利要求1所述的快速傅里叶变换的实现方法,其特征在于,所述根据预设的傅里叶变换规则对所述再离散处理后的寄存器组进行蝶形运算,包括:根据所述待计算数据的数据长度确定目标运算次数;根据所述傅里叶变换规则确定阵列变换集合,所述阵列变换集合包括以预设顺序排列的至少一种阵列变换方式;根据所述顺序依次以所述阵列变换集合中的阵列变换方式对所述再离散处理后的寄存器组进行蝶形运算,直至所述蝶形运算的次数等于所述目标次数时,确定所述蝶形运算结果。3.如权利要求2所述的快速傅里叶变换的实现方法,其特征在于,所述根据所述顺序依次以所述阵列变换集合中的阵列变换方式对所述再离散处理后的寄存器组进行蝶形运算,包括:以所述阵列变换方式对所述再离散处理后的寄存器组进行数据处理,得到数据处理后的寄存器组;通过所述二维脉动阵列对所述数据处理后的寄存器组进行蝶形运算。4.如权利要求1所述的快速傅里叶变换的实现方法,其特征在于,所述寄存器组包括第一处理寄存器组、缓存寄存器组和第二处理寄存器组,所述第一处理寄存器组和所述缓存寄存器组连接,所述将待计算数据和第一预设旋转因子输入离散后的寄存器组,包括:将所述待计算数据拆分为第一待计算数据和第二待计算数据,并将所述第一待计算数据输入所述第一处理寄存器组,将所述第二待计算数据输入所述第二处理寄存器组,将所述第一预设旋转因子输入所述缓存寄存器组。5.如权利要求1所述的快速傅里叶变换的实现方法,其特征在于,还包括:当所述待计算数据的数据长度大于所述寄存器组中寄存器半数时,将所述待计算数据划分为多个待计算数据组;分别对各个所述待计算数据组对应的寄存器组进行离散处理,并将各个所述待计算数据组和所述第一预设旋转因子分别输入各个离散后的所述待计算数据组对应的寄存器组;通过再离散处理对各个离散后的所述待计算数据组对应的寄存器组和所述二维脉动阵列的连接进行重构处理;根据所述傅里叶变换规则对各个离散后的所述待计算数据组对应的寄存器组进行蝶形运算,并根据各个所述待计算数据组对应的蝶形运算结果确定目标结果数据;通过所述二维脉动阵列对所述目标结果数据进行转置处理,并根据所述傅里叶变换规则对所述转置处理后的目标结果数据进行处理,...

【专利技术属性】
技术研发人员:王文青李皇孙长江
申请(专利权)人:深圳市国微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1