CN112689832A - 数据处理方法、装置、可移动平台及存储介质 - Google Patents

数据处理方法、装置、可移动平台及存储介质 Download PDF

Info

Publication number
CN112689832A
CN112689832A CN202080004991.4A CN202080004991A CN112689832A CN 112689832 A CN112689832 A CN 112689832A CN 202080004991 A CN202080004991 A CN 202080004991A CN 112689832 A CN112689832 A CN 112689832A
Authority
CN
China
Prior art keywords
data
time domain
processed
domain data
fourier transform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080004991.4A
Other languages
English (en)
Inventor
吴穹蔗
韩志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN112689832A publication Critical patent/CN112689832A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本申请实施例提供一种数据处理方法、装置、可移动平台及存储介质。方法包括:获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在不同的第一存储单元内,所述数据集合与快速傅里叶变换算法相对应;在所述待处理时域数据中,确定与所述快速傅里叶变换算法相对应的多个时域输入数据;利用所述快速傅里叶变换算法对所述多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。本实施例提供的数据处理方法、装置、可移动平台及存储介质,可以在对时域数据进行傅里叶转换处理的过程,避免出现数据读取冲突的情况,进而保证了对数据进行转换处理的效率。

Description

数据处理方法、装置、可移动平台及存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、可移动平台及存储介质。
背景技术
在将时域数据转换到频域数据的过程中,需要对时域数据进行快速傅里叶变换(fast Fourier transform,简称FFT)运算,在利用FFT算法对时域数据进行转换时,基于FFT转换公式可知,在获取待转换的时域数据时,需要在同一时刻、通过同一个随机存取存储器(Random Access Memory,简称RAM)中的两个地址来获取待转换的时域数据,此时会出现读取数据冲突,从而降低了数据转换的效率。
发明内容
本发明实施例提供了一种数据处理方法、装置、可移动平台及存储介质。
本发明的第一方面是为了提供了一种数据处理方法,包括:
获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内,其中,所述数据集合基于快速傅里叶变换算法的类型而确定;
在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据;
利用所述快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
本发明的第二方面是为了提供一种数据处理装置,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现:
获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内,其中,所述数据集合基于快速傅里叶变换算法的类型而确定;
在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据;
利用所述快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
本发明的第三方面是为了提供一种可移动平台,包括:
机身;
上述第二方面所述的数据处理装置,设置于所述机身上,用于获取待处理时域数据,并将所述待处理时域数据转换为与所述多个时域输入数据相对应的频域数据。
本发明的第四方面是为了提供一种计算机可读存储介质,所述存储介质为计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令用于第一方面所述的数据处理方法。
本发明实施例提供的数据处理方法、装置、可移动平台及存储介质,可以在对时域数据进行傅里叶转换处理的过程,避免出现数据读取冲突的情况,进而保证了对数据进行转换处理的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例提供的一种数据处理方法的流程示意图;
图2为图1中的获取待处理时域数据的流程示意图;
图3为图2中的对所述原始时域数据进行数据排列处理,获得所述待处理时域数据的流程示意图;
图4为图3中的对所述原始地址信息进行更新处理,获得与所述原始时域数据相对应的更新地址信息的流程示意图;
图5为图1中的在所述待处理时域数据中,确定与所述快速傅里叶变换算法相对应的多个时域输入数据的流程示意图;
图6为图5中的获取与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息的流程示意图;
图7为图6中的对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息的流程示意图;
图8为图1中的利用所述快速傅里叶变换算法对所述多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据的流程示意图;
图9为本发明实施例提供的另一种数据处理方法的流程示意图;
图10为图9中的获取与所述傅里叶系数相对应的系数存储顺序的流程示意图;
图11为本发明实施例提供的又一种数据处理方法的流程示意图;
图12为图11中的对所述目标频域数据进行数据排列处理,获得处理后的目标频域数据的流程示意图;
图13为图12中的对所述原始数据地址进行更新处理,获得与所述目标频域数据相对应的更新数据地址的流程示意图;
图14为本发明实施例提供的再一种数据处理方法的流程示意图;
图15为本发明实施例提供的又一种数据处理方法的流程示意图;
图16为本发明应用实施例提供的对数据进行数据预处理操作的示意图;
图17为本发明应用实施例提供的对数据进行FFT中第一层处理的示意图;
图18为本发明应用实施例提供的对数据进行FFT中第二层处理的示意图;
图19为本发明应用实施例提供的对数据进行FFT中第三层处理的示意图;
图20为本发明应用实施例提供的对数据进行数据后处理操作的示意图;
图21为本发明实施例提供的一种数据处理装置的结构示意图;
图22为本发明实施例提供的一种可移动平台的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
为了便于理解本申请的技术方案,下面对相关技术进行简要说明:
在数据处理的技术领域,时域数据中的卷积就等价于频域数据的相乘,即时域数据可以转换为频域数据,具体的,可以将时域中的数据进行快速傅里叶变换(Fast FourierTransform,简称FFT)运算,从而可以获得频域数据。在进行FFT运算的过程中,可以通过以下公式来实现:
Figure BDA0002964333750000041
其中,X(k)是频域数据,x(n)是时域数据,
Figure BDA0002964333750000042
是旋转因子(或称为傅里叶系数),k的范围大于等于0、且小于或等于N-1,n为采样信号样本的序列数,N为采样样本数。
为了提高数据处理的效率,可以令k=4r、k=4r+1、k=4r+2、k=4r+3。此时,在k=4r时,公式表达如下:
Figure BDA0002964333750000043
在k=4r+1时,公式表达如下:
Figure BDA0002964333750000044
在k=4r+2时,公式表达如下:
Figure BDA0002964333750000045
在k=4r+3时,公式表达如下:
Figure BDA0002964333750000046
从FFT公式(1)变换到基-4FFT公式(2)-(4)的物理含义是,将关于多个采样信号的长序列的DFT计算,分割为该多个采样信号的多个较短序列的DFT计算。例如,分割为4个较短序列的DFT计算。在一个实施方式中,将待处理的时域数据分为a个组,每一组包括N/a个数。然后,从a个组的每一个组中分别取一个数组成一个数据集合,并将所述数据集合中的数存储于存储单元的不同的子存储单元内。当进行一次快速傅里叶变换(例如,蝶形运算)时,在同一时刻将所述数据集合中的所有的数据从所述不同的子存储单元内读出,并将所述数据集合中的所有的数据作为一次快速傅里叶变换的时域输入数据,以进行快速傅里叶变换。在一个实施方式中,待处理的时域数据为多个采样信号,也称为源数据。
下面,以待处理的时域数据的数量为64(即N=64)、存储单元包括16个子存储单元(例如,16个存储体(存储体bank0-存储体bank15))为例进行说明:在获取到时域数据之后,可以将时域数据按照所获得的顺序存储在存储单元中,具体的,存储单元存储时域数据的情况如下表1所示:
Figure BDA0002964333750000051
表1:时域数据按顺序存储在子存储单元
其中,上述表1中的bank用于标识存储体,与bank相对应的“0”至“15”为不同的存储体,x用于标识待处理的时域数据,与x相对应的“0”至“63”为待处理的时域数据(即,x(0)~x(63)),此表格中关于时域数据的每一个格子用于标识一个时域数据在存储体中相对应的位置(例如,对应的地址信息)。在此实施方式中,每一个存储体包括多个存储位置,用于存储时域数据。例如,存储体bank(0)包括4个存储位置,分别存储时域数据“x(0)”,“x(16)”,“x(32)”和“x(48)”。存储体bank(1)包括4个存储位置,分别存储时域数据“x(1)”,“x(17)”,“x(33)”和“x(49)”。以此类推。
当需要对上述的时域数据进行转换处理时,需要分别读取k=4r、k=4r+1、k=4r+2、k=4r+3所对应的输入数据。
例如:在n=0时,上述基-4FFT公式(2)-(4)所对应的输入数据为x(0)、x(16)、x(32)、x(48);在n=1时,上述基-4FFT公式(2)-(4)所对应的输入数据为x(1)、x(17)、x(33)、x(49);在n=2时,上述基-4FFT公式(2)-(4)所对应的输入数据为x(2)、x(18)、x(34)、x(50);在n=3时,上述基-4FFT公式(2)-(4)所对应的输入数据为x(3)、x(19)、x(35)、x(51)。
通过上述表1可知,上述的输入数据x(0)、x(16)、x(32)、x(48)存储在同一个子存储单元(例如,存储体bank0)中的不同位置。此时,为了能够获取到上述的输入数据,需要访问同一个子存储单元(例如,存储体bank0)的不同位置。然而,在一个访问操作中,只能访问同一个子存储单元(例如,存储体bank0)中的一个位置,并获取所对应的输入数据。也就是说,在一次访问操作中不能访问位于同一子存储单元(例如,存储体bank0)中不同位置,并获取所对应的多个输入数据。此外,在一次访问操作中,可以读取位于不同子存储单元中所存储的多个输入数据。
举例来说:可以基于当前访问获取到存储在存储体bank0中的输入数据x(0)、存储在存储体bank1中的输入数据x(1)、存储在存储体bank2中的输入数据x(2)等等。但是,无法同时获取到存储在同一个存储体bank中不同位置处的数据,例如:无法在一个访问操作获取到存储在存储体bank0中的输入数据x(0)、x(16)、x(32)、x(48)等等。
因此,在对数据进行转换处理的过程中,对于上述FFT公式所对应的多个输入数据(例如:x(0)、x(16)、x(32)、x(48))无法通过同一个访问操作同时读取出来,即出现了一次访问操作(即,一次数据读取操作)的冲突情况。
相类似的,上述的输入数据x(1)、x(17)、x(33)、x(49)存储在同一个存储体bank1中的不同位置,继而,为了能够获取到上述的输入数据,需要访问同一个存储体bank1的不同位置。然而,在一个访问操作中,只能访问存储体bank1中的一个位置。因此,只能读取位于同一个存储体bank1中一个存储位置中的数据(例如,输入数据x(1)),对于上述多个数据而言x(1)、x(17)、x(33)、x(49),无法同时读取出来,即出现了数据读取的冲突情况。此时,为了能够实现数据转换的一次处理操作,可以通过多个访问周期读取出需要进行数据处理的多个输入数据,然而,这样极大地降低了数据处理的效率。
相类似的,上述的输入数据x(2)、x(18)、x(34)、x(50)存储在同一个子存储单元(例如,存储体bank2)中的不同位置,继而,为了能够获取到上述的输入数据,需要访问同一个子存储单元(例如,存储体bank2)的不同位置。然而,在一个访问操作中,只能访问同一个子存储单元(例如,存储体bank1)中的一个位置,即在一个访问操作中,可以读取位于不同存储体bank中所存储的数据,然而,只能读取位于同一个存储体bank中一个存储位置中的数据,对于上述多个数据而言,无法同时读取出来,即出现了数据读取的冲突情况。此时,为了能够实现数据转换的处理操作,可以通过多个访问周期读取出需要进行数据处理的多个输入数据,然而,这样极大地降低了数据处理的效率。
相类似的,上述的输入数据x(3)、x(19)、x(35)、x(51)存储在同一个存储单元(存储体bank)中的不同位置,继而,为了能够获取到上述的输入数据,需要访问同一个存储体bank的不同位置。然而,在一个访问操作中,只能访问同一个存储体bank中的一个位置,即在一个访问操作中,可以读取位于不同存储体bank中所存储的数据,然而,只能读取位于同一个存储体bank中一个存储位置中的数据,对于上述多个数据而言,无法同时读取出来,即出现了数据读取的冲突情况。此时,为了能够实现数据转换的处理操作,可以通过多个访问周期读取出需要进行数据处理的多个输入数据,然而,这样极大地降低了数据处理的效率。
为了能够保证数据处理的效率,本实施例提供了一种数据处理方法、装置、可移动平台及存储介质。该方法可以获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中的多个不同的子存储单元内。并且,上述的数据集合的数量可以依据与快速傅里叶变换算法的类型而确定;由于待处理时域数据存储在多个不同的子存储单元内,从而避免了数据读取冲突的情况,即可以快速地确定与快速傅里叶变换算法相对应的多个时域输入数据,从而提高了利用快速傅里叶变换算法对多个时域输入数据进行转换处理,获得与多个时域输入数据相对应的频域数据的效率,这样不仅解决了傅里叶转换处理过程中存在的数据读取冲突的问题,并且也提高了数据处理的效率。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1为本发明实施例提供的一种数据处理方法的流程示意图;参考附图1所示,本实施例提供了一种数据处理方法,该方法的执行主体可以为数据处理处理装置,可以理解的是,该数据处理装置可以实现为软件、或者软件和硬件的组合。具体的,该数据处理方法可以包括:
步骤S101:获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中的多个不同的子存储单元内。其中,数据集合基于快速傅里叶变换算法的类型而确定。
步骤S102:在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据。
步骤S103:利用快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与多个时域输入数据相对应的频域数据。
下面针对上述各个步骤进行详细阐述:
步骤S101:获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中的多个不同子存储单元内。其中,数据集合基于快速傅里叶变换算法的类型而确定。具体的,数据集合中包括有用于实现一次傅里叶变换运算的输入数据。
其中,待处理时域数据是指需要进行数据转换处理操作的时域数据,可以理解的是,待处理时域数据可以基于不同的应用场景而具有不同的表达形式,例如:在图像处理的应用场景中,待处理时域数据可以包括待处理的图像数据;或者,在数据传输的应用场景中,待处理时域数据可以是指待传输的数据信号等等。在一实施方式中,获取待处理时域数据包括多个采样信号样本。在另一实施方式中,将获取的待处理时域数据为多个,并且将所述待处理时域数据对应于不同的数据集合。
另外,本实施例对于获取待处理时域数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:在待处理时域数据是待处理的图像数据时,数据处理装置可以与拍摄装置通信连接,在拍摄装置拍摄获得待处理的图像数据之后,数据处理装置可以通过拍摄装置获得待处理的图像数据,具体的,数据处理装置可以主动获取拍摄装置获得的待处理的图像数据,或者,拍摄装置可以主动将待处理的图像数据发送至图像处理装置,从而使得数据处理装置可以获得待处理的图像数据。再或者,待处理时域数据可以存储在预设区域,数据处理装置可以通过访问预设区域获得待处理时域数据。当然的,本领域技术人员也可以采用其他的方式获取到待处理时域数据,只要能够保证对待处理时域数据进行获取的准确可靠性即可,在此不再赘述。
此外,待处理时域数据的个数可以为一个或多个,在待处理时域数据的个数为多个时,多个待处理时域数据可以构成一数据序列,进一步的,多个待处理时域数据按照数据序列存储在第一存储单元中,以便对待处理时域数据进行读取和处理操作,即数据处理装置可以通过访问第一存储单元获取到待处理时域数据。
需要注意的是,在待处理时域数据的个数为多个时,多个待处理时域数据可以对应多个数据集合,此处的数据集合基于与快速傅里叶变换算法的类型而确定。其中,快速傅里叶变换算法类型可以包括基-2FFT算法、基-4FFT算法、基-6FFT算法、基-8FFT算法等。
以快速傅里叶变换算法为基-4FFT算法、数据处理并行度为16、待处理时域数据包括x0-x63为例进行说明,此时,与快速傅里叶变换算法所对应的数据集合的个数为16个,具体的,数据集合所包括的待处理时域数据具体如下:{x(0)、x(16)、x(32)、x(48)}、{x(1)、x(17)、x(33)、x(49)}、{x(2)、x(18)、x(34)、x(50)}、{x(3)、x(19)、x(35)、x(51)}、{x(4)、x(20)、x(36)、x(52)}、{x(5)、x(21)、x(37)、x(53)}、{x(6)、x(22)、x(38)、x(54)}、{x(7)、x(23)、x(39)、x(55)}、{x(8)、x(24)、x(40)、x(56)}、{x(9)、x(25)、x(41)、x(57)}、{x(10)、x(26)、x(42)、x(58)}、{x(11)、x(27)、x(43)、x(59)}、{x(12)、x(28)、x(44)、x(60)}、{x(13)、x(29)、x(45)、x(61)}、{x(14)、x(29)、x(46)、x(62)}、{x(15)、x(30)、x(47)、x(63)}。
此时,待处理时域数据对应于16个数据集合,即可以通过基-4FFT算法对待处理时域数据进行转换处理。
可以理解的是,数据集合的个数并不限于上述所举例的个数信息,本领域技术人员可以根据具体的应用需求、设计需求以及快速傅里叶变换算法的具体类型进行任意设置,只要能够保证数据集合与快速傅里叶变换算法相对应即可,在此不再赘述。
步骤S102:在一次数据存取操作中,自多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据。需要说明的是,一次快速傅里叶变换对应于将一个采样序列中的采样信号样本。
在获取到待处理时域数据之后,可以在待处理时域数据中确定与一次快速傅里叶变换相对应的多个时域输入数据。具体的,快速傅里叶变换算法可以通过多个FFT公式来表达,此时,一个FFT公式的多个待处理时域数据可以对应于一个数据集合。此外,当公式(2)~(5)中的n取不同值时,上述多个不同的FFT公式各自的多个待处理时域数据可以对应于不同的数据集合。此时,为了能够实现数据转换处理,可以在待处理时域数据中,确定与快速傅里叶变换算法相对应的多个时域输入数据。
以基-4FFT算法作为快速傅里叶变换算法、待处理时域数据包括存储在16ram(存储体bank0-存储体bank15)中的x(0)~x(63)为例进行说明,此时的待处理时域数据对应有16个数据集合,而每个数据集合可以对应于一个FFT公式算法。在获取到存储在第一存储单元(例如,16ram)中的待处理时域数据时,可以获取与基-4FFT算法相对应的多个时域输入数据,例如,在k=4r时,可以在待处理时域数据中,获取与FFT算法相对应的多个时域输入数据,上述的多个时域输入数据可以包括:
Figure BDA0002964333750000101
其中,n为大于或等于0、且小于或等于
Figure BDA0002964333750000102
的值,从而有效地实现了可以在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据。
步骤S103:利用快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
在获取到多个时域输入数据之后,可以利用快速傅里叶变换算法对多个时域输入数据进行快速傅里叶转换处理,可以理解的是,快速傅里叶变换处理操作的次数可以为一次或多次,从而可以获得与多个时域输入数据相对应的频域数据,所获得的频域数据的个数可以与多个时域输入数据相对应。
在一个实施方式中,以快速傅里叶变换算法为基-4FFT算法、数据处理并行度为16、待处理时域数据包括x0-x63为例进行说明,此时,为了能够实现对上述待处理时域数据进行快速准确地处理,可以将上述的待处理时域数据分为四个序列,即:每一个序列中包含16个数据,64个点需要分为4次处理,第一次读取[x(0),x(16),x(32),x(48)],[x(1),x(17),x(33),x(49)],[x(2),x(18),x(34),x(50)],[x(3),x(19),x(35),x(51)],对数据的处理如下(基于公式(2),(3),(4),(5),其中,n=0~3):
Figure BDA0002964333750000103
Figure BDA0002964333750000111
直接读取放在ram中的原始数据会出现冲突,所以需要将原始数据经过重新排列,如表3,排列好的数据按照步骤S402进行读取数据,按照步骤S804提前存储好系数,进行fft操作后,为了使下一层fft操作数据不冲突,需要将输出数据表3进行排列。
第二次读取[x(4),x(20),x(36),x(52)],[x(5),x(21),x(37),x(53)],[x(6),x(22),x(38),x(54)],[x(7),x(23),x(39),x(55)],对数据的处理如下(基于公式(2),(3),(4),(5),其中,n=4~7):
Figure BDA0002964333750000112
Figure BDA0002964333750000113
第三次读取[x(8),x(24),x(40),x(56)],[x(9),x(25),x(41),x(57)],[x(10),x(26),x(42),x(58)],[x(11),x(27),x(43),x(59)],对数据的处理如下(基于公式(2),(3),(4),(5),其中,n=8-11):
Figure BDA0002964333750000114
Figure BDA0002964333750000115
第四次读取[x(12),x(28),x(44),x(60)],[x(13),x(29),x(45),x(61)],[x(14),x(30),x(46),x(62)],[x(15),x(31),x(47),x(63)],对数据的处理如下(基于公式(2),(3),(4),(5),其中,n=12~15):
Figure BDA0002964333750000121
Figure BDA0002964333750000122
需要说明的是,上述公式(6),(8),(10),(12)为矩阵相乘,上述公式(7),(9),(11),(13)为点乘。在一实施方式中,上述每一次读取的数据可以是在4个时钟周期中完成的。其中,上述每一次读取的数据对应于4个不同的数据集合。该4个不同的数据集合中的每一个数据集合中的待处理时域数据存储在存储单元的不同的子存储单元中。在一实施方式中,上述每一个读取的数据可以是在一次时间周期中完成的,上述每一次读取的数据对应于一个数据集合。该数据集合中的待处理时域数据存储在存储单元的不同的子存储单元中。也就是说,一次快速傅里叶变换对应的集合的数量和一次读取数据的操作对应的时钟周期的周期数量相等。在另一实施方式中,将公式(7)、(9)、(11)、(13)中的傅里叶系数存储于多个存储子单元(例如,存储体)中。
本实施例提供的数据处理方法,由于一次快速傅里叶变换所对应的多个时域输入数据(即,位于同一数据集合中的数据)被分别存储于第一存储单元中的多个不同的子存储单元内,因此,在获取一次快速傅里叶变换相对应的多个时域输入数据时,有效地避免了数据读取冲突的情况。例如,获取与FFT算法相对应的多个时域输入数据,上述的多个时域输入数据可以包括:
Figure BDA0002964333750000123
Figure BDA0002964333750000124
Figure BDA0002964333750000125
其中,n为大于或等于0、且小于或等于
Figure BDA0002964333750000126
的值。当n=0时,x(0),x(16),x(32),x(48)被分别存储于第一存储单元的多个不同的子存储单元内,即,多个时域输入数据存储在不同的存储体内,即可以在一次存取操作中存取对应于一次快速傅里叶变换相对应的多个时域输入数据,从而解决了傅里叶转换处理过程中所存在的数据读取冲突的问题,并且也提高了数据处理的效率,进一步提高了该方法的实用性,有利于市场的推广与应用。
图2为图1中的获取待处理时域数据的流程示意图;在上述实施例的基础上,继续参考附图2所示,本实施例对于获取待处理时域数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的获取待处理时域数据可以包括:
步骤S201:获取原始时域数据。
步骤S202:将原始时域数据按照预设顺序存储在第一存储单元内。
步骤S203:对原始时域数据进行数据排列处理,获得待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中的多个不同子存储单元内。
其中,本实施例中获取原始时域数据的具体实现方式与上述获取待处理时域数据的具体实现方式相类似,具体可参考上述陈述内容,在此不再赘述。
在获取到原始时域数据之后,可以将原始时域数据按照预设顺序存储在第一存储单元内,其中,预设顺序可以用于标识原始时域数据的存储顺序,具体的,上述的预设顺序可以与原始时域数据的数据标识相关,可以理解的是,上述的数据标识可以包括以下任意之一:时间标识、预设顺序标识。在一实施方式中,上述的数据标识为x(n)中的变量n。在将原始时域数据按照预设顺序存储在第一存储单元内之后,为了能够使得与同一数据集合相对应的待处理时域数据存储在第一存储单元中的多个不同的子存储单元内,可以对原始时域数据进行数据排列处理,以获得待处理时域数据。其中,由于与一次快速傅里叶变换相对应的多个时域输入数据包括于所待处理时域数据中,因此,在原始时域数据进行数据排列处理时,使得与一次快速傅里叶变换相对应的多个时域输入数据被存储于多个不同的子存储单元中。具体的,参考附图3所示,本实施例中的对原始时域数据进行数据排列处理,获得待处理时域数据可以包括:
步骤S301:获取与原始时域数据相对应的原始地址信息。
步骤S302:对原始地址信息进行更新处理,获得与原始时域数据相对应的更新地址信息。
步骤S303:基于更新地址信息对原始时域数据进行存储,获得待处理时域数据。
在获取到原始时域数据之后,可以将原始时域数据存储于存储单元中,并获取与原始时域数据相对应的原始地址信息,其中,本实施例对于获取与原始时域数据相对应的原始地址信息的具体实现方式不做限定,本领域技术人员可以根据具体的应用场景和应用需求进行设置,例如:预先配置有原始时域数据与原始地址信息之间的映射关系,通过映射关系和原始时域数据即可确定与原始时域数据相对应的原始地址信息。
当然的,本领域技术人员也可以通过其他的方式来获取与原始时域数据相对应的原始地址信息,只要能够保证对与原始时域数据相对应的原始地址信息进行获取的准确可靠性即可,在此不再赘述。
在获取到原始地址信息之后,可以对原始地址信息进行更新处理,以获得与原始时域数据相对应的更新地址信息。具体的,参考附图4所示,本实施例中的对原始地址信息进行更新处理,获得与原始时域数据相对应的更新地址信息可以包括:
步骤S401:确定与原始时域数据相对应的数据处理并行度。
步骤S402:基于数据处理并行度对原始地址信息进行更新,获得与原始时域数据相对应的更新地址信息。
其中,数据处理并行度用于标识在同一次快速傅里叶变换相关的数据处理操作过程中,能够实现进行数据处理操作的最大数据数量。对于能够实现该数据处理方法的数据处理装置而言,在确定同一次快速傅里叶变换相关的数据处理操作对应的最大数据数量之后,可根据该最大数据确定在数据处理装置中所包括的第一存储单元的数目确定。即可根据与原始时域数据相对应的数据处理并行度来确定第一存储单元的数目。一般情况下,原始时域数据相对应的数据处理并行度与第一存储单元的数目相同,或者,原始时域数据相对应的数据处理并行度小于第一存储单元的数目。例如:确定与原始时域数据相对应的数据处理并行度是16之后,在数据处理装置中设置至少包括16个关于随机存取存储器(Random Access Memory,缩写ram)的存储体,以用于基于对应的快速傅里叶变换算法进行数据转换处理。或者,确定与原始时域数据相对应的数据处理并行度是32之后,在数据处理装置中设置包括至少32个关于ram的存储体,以用于基于对应的快速傅里叶变换算法进行数据转换处理。或者,确定与原始时域数据相对应的数据处理并行度是64之后,在数据处理装置中包括至少64个关于ram的存储体,以用于基于对应的快速傅里叶变换算法进行数据转换处理。
在确定与原始时域数据相对应的数据处理并行度之后,可以基于数据处理并行度对原始地址信息进行更新处理,具体的,可以利用以下公式来实现更新处理操作,从而可以获得与原始时域数据相对应的更新地址信息:
Figure BDA0002964333750000141
其中,PN(A)是与原始时域数据相对应的更新地址信息,A是与原始时域数据相对应的原始地址信息,具体的,A为0,1,2,3,4,…,N-1,N为预设参数变量;B是与原始时域数据相对应的数据处理并行度,“[]”为取整函数,“%”为取余函数。在一个实施方式中,B为4或者16。需要说明的是,可以通过上述类似的方法得到B取不同值时的更新处理操作。
在获取到更新地址信息之后,则可以基于更新地址信息对原始时域数据进行存储,以获得待处理时域数据。举例来说,以待处理的原始时域数据包括x0-x63(即N=64)、存储单元包括16ram(存储体bank0-存储体bank15)为例进行说明,在获取到原始时域数据之后,可以将原始时域数据按照预设顺序存储在子存储单元(例如,存储体)内,具体的,如下表2所示:
Figure BDA0002964333750000151
表2:将原始时域数据存储在子存储单元内
其中,上述表1中的bank用于标识存储体,与bank相对应的“0”至“15”为不同的存储体,x用于标识待处理的时域数据,与x相对应的“0”至“63”为待处理的时域数据(即,x(0)~x(63)),此表格中关于时域数据的每一个格子用于标识一个时域数据在存储体中相对应的位置(例如,对应的地址信息)。在此实施方式中,每一个存储体包括多个存储位置,用于存储原始时域数据。例如,存储体bank(0)包括4个存储位置,分别存储原始时域数据“x(0)”,“x(16)”,“x(32)”和“x(48)”。存储体bank(1)包括4个存储位置,分别存储原始时域数据“x(1)”,“x(17)”,“x(33)”和“x(49)”。以此类推。
为了能够避免数据读取冲突,可以获取与原始时域数据相对应的原始地址信息,而后对原始地址信息进行更新处理,获得与原始时域数据相对应的更新地址信息,并基于更新地址信息对原始时域数据进行存储,从而可以获得待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在不同的子存储单元内,具体的,如下表3所示:
Figure BDA0002964333750000152
Figure BDA0002964333750000161
表3:将待处理时域数据存储在子存储单元
通过比较表2和表3可知,通过对原始时域数据进行数据排列处理,可以使得与同一数据集合相对应的待处理时域数据存储在不同的子存储单元内。如表3所示,每一个存储体包括多个存储位置,用于存储待处理的时域数据。例如,存储体bank(0)包括4个存储位置,分别存储待处理的时域数据“x(0)”,“x(21)”,“x(42)”和“x(63)”。存储体bank(1)包括4个存储位置,分别存储待处理的时域数据“x(1)”,“x(20)”,“x(43)”和“x(62)”。以此类推。
举例来说,在对待处理时域数据进行转换处理时,需要分别读取k=4r、k=4r+1、k=4r+2、k=4r+3所对应的输入数据。例如:在n=0时,FFT公式所对应的输入数据为x(0)、x(16)、x(32)、x(48),此时,x(0)存储在存储体bank(0)中的第一区域内,x(16)存储在存储体bank(4)中的第二区域内、x(32)存储在存储体bank(8)中的第三区域内、x(48)存储在存储体bank(12)中的第四区域内。此时,在进行数据读取操作时,即可以通过一次访问操作获取到位于不同存储体bank中的输入数据,进而解决了读取数据时出现的冲突情况,进一步保证了对待处理时域数据进行分析处理的效率。
图5为图1中的在待处理时域数据中,确定与快速傅里叶变换算法相对应的多个时域输入数据的流程示意图;在上述实施例的基础上,继续参考附图5所示,本实施例对于在待处理时域数据中,确定与快速傅里叶变换算法相对应的多个时域输入数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的在待处理时域数据中,确定与快速傅里叶变换算法相对应的多个时域输入数据可以包括:
步骤S501:获取与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
步骤S502:在待处理时域数据中,基于数据地址信息确定与快速傅里叶变换算法相对应的多个时域输入数据。
其中,为了能够确定与快速傅里叶变换算法相对应的多个时域输入数据,可以先获取与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,以便可以基于数据地址信息确定与快速傅里叶变换算法相对应的多个时域输入数据。具体的,参考附图6所示,本实施例中的获取与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息可以包括:
步骤S601:获取待处理时域数据的原始地址信息。
步骤S602:确定与快速傅里叶变换算法相对应的目标数据集合,目标数据集合中包括有多个待处理时域数据。
步骤S603:对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
其中,由于待处理时域数据可以包括与多个数据集合所对应的时域数据,此时,为了能够准确地获取到与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,可以在获取到待处理时域数据之后,基于待处理时域数据和原始地址信息之间的映射关系来获取待处理时域数据的原始地址信息。
并且,在快速傅里叶变换算法确定之后,可以确定与快速傅里叶变换算法相对应的目标数据集合,可以理解的是,目标数据集合可以包括多个待处理时域数据,而后可以对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,从而可以获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
举例来说,以基-4FFT作为快速傅里叶算法、待处理时域数据的个数为64为例进行说明,即以k=4r、k=4r+1、k=4r+2、k=4r+3所对应的不同傅里叶变换公式对上述的时域数据进行数据转换处理,其中,上述快速傅里叶变换公式所对应的输入数据x(n)、x(n+16)、x(n+32)和x(n+48)。
在上述的快速傅里叶变换算法确定之后,即可确定与傅里叶转换公式所对应的目标数据集合,例如:当n=0时,上述傅里叶转换公式所对应的目标数据集合包括多个时域输入数据,具体的,多个时域输入数据可以包括以下:x(0)、x(16)、x(32)和x(48);当n=1时,上述傅里叶转换公式所对应的目标数据集合包括多个时域输入数据,具体的,多个时域输入数据可以包括以下:x(1)、x(17)、x(33)和x(48)。当n=2时,上述傅里叶转换公式所对应的目标数据集合包括多个时域输入数据,具体的,多个时域输入数据可以包括以下:x(2)、x(18)、x(34)和x(49)等等。
需要注意的是,上述的步骤S601与步骤S602之间的执行顺序并不限于上述实施例所限定的顺序,例如:步骤S601可以在步骤S602之后执行,或者,步骤S601可以与步骤S602同时执行,本领域技术人员可以根据具体的应用需求和设计需求进行任意设置,在此不再赘述。
在一些实例中,参考附图7所示,本实施例中的对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息可以包括:
步骤S701:获取数据集合的集合数量。
步骤S702:基于集合数量对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
为了能够准确地获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,可以先获取数据集合的集合数量,可以理解的是,该数据集合的集合数量与快速傅里叶变换算法相关,即在快速傅里叶变换算法确定之后,即可基于快速傅里叶变换算法来确定数据集合的集合数量,例如:在快速傅里叶变换算法为基-4FFT算法时,数据集合的集合数量可以为16(即64/4);或者,在快速傅里叶变换算法为基-16FFT算法时,数据集合的集合数量可以为4等等。
在获取到数据集合的集合数量之后,可以基于集合数量对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,以获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,具体的,可以基于以下公式来实现基于集合数量对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新操作:
Figure BDA0002964333750000181
其中,
Figure BDA0002964333750000182
为与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,A为多个待处理时域数据的原始地址信息,N为预设参数变量,d为数据集合的集合数量,“[]”为取整函数,“%”为取余函数。
本实施例中,通过获取数据集合的集合数量,而后基于集合数量对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,从而有效地保证了获取与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息的准确可靠性,进一步提高了对数据进行转换处理的效率。
图8为图1中的利用快速傅里叶变换算法对多个时域输入数据进行转换处理,获得与多个时域输入数据相对应的频域数据的流程示意图;在上述实施例的基础上,继续参考附图8所示,本实施例提供了一种获得与多个时域输入数据相对应的频域数据的实现方式,具体的,本实施例中的利用快速傅里叶变换算法对多个时域输入数据进行转换处理,获得与多个时域输入数据相对应的频域数据可以包括:
步骤S801:获取与多个时域输入数据相对应的傅里叶系数。
步骤S802:基于所述多个时域输入数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个时域输入数据进行快速傅里叶变换转换处理,获得与所述多个时域输入数据相对应的多个中间频域数据。
步骤S803:获取与所述多个中间频域数据相对应的傅里叶系数。以及
步骤S804:基于所述多个中间频域数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个中间频域数据进行快速傅里叶变换转换处理,以获得与所述多个时域输入数据相对应的所述多个频域数据。其中,在不同的转换处理过程中,所述多个中间频域数据存储在所述第一存储单元或第三存储单元中。
其中,在获取到多个时域输入数据之后,可以对多个时域输入数据进行分析处理,从而可以获得与多个时域输入数据相对应的傅里叶系数。具体的,预先配置有用于标识多个时域输入数据与傅里叶系数之间对应关系的映射关系/映射表格,而后,可以通过上述的映射关系/映射表格和多个时域输入数据来确定与多个时域输入数据相对应的傅里叶系数。
举例来说,在N=64时,预先配置有用于标识多个时域输入数据与傅里叶系数之间对应关系的映射表格,具体的,映射表格如下:
表4:映射表格
Figure BDA0002964333750000191
在表4中,每一个存储体包括多个存储位置,用于存储傅里叶系数。例如,存储体B0包括4个存储位置,分别存储傅里叶系数“1”,“1”,“1”和“1”。存储体B1包括4个存储位置,分别存储傅里叶系数“1”,
Figure BDA0002964333750000192
Figure BDA0002964333750000193
以此类推。
需要说明的是,表4中的傅里叶系数和公式(7)、(9)、(11)、(13)中的傅里叶系数是对应的。在一个实施方式中,在一次快速傅里叶变换中自不同的存储子单元(例如,存储体)中读取对应的多个傅里叶系数。其中,这些傅里叶系数与同一数据集合的多个时域输入数据对应。
在一个实施方式中,B0~B15用于标识不同的存储体,即存储体B0~B15。在一些实例中,在傅里叶系数按照上述映射表格进行存储时,为了能够通过上述映射表格获取到傅里叶系数,可以通过以下公式来获取傅里叶系数所对应的存储地址:
Figure BDA0002964333750000201
其中,F(A)是与多个时域输入数据相对应的傅里叶系数所对应的地址信息,A为0,1,2,3,4,…,N-1,L用于标识进行快速傅里叶变换处理的层数(例如:在快速傅里叶变换的处理层数为第二层时,L=2),L的取值为1,2,3。
举例来说,在F(A)为B6中的第二个区域所对应的地址信息时,通过上述的F(A)可以获取到傅里叶系数
Figure BDA0002964333750000202
相类似的,在F(A)为B8中的第三个区域所对应的地址信息时,通过上述的F(A)可以获取到傅里叶系数“1”;相类似的,在F(A)为B13中的第一个区域所对应的地址信息时,通过上述的F(A)可以获取到傅里叶系数
Figure BDA0002964333750000203
在获取到傅里叶系数之后,可以基于多个时域输入数据相对应的傅里叶系数和快速傅里叶变换算法对多个时域输入数据进行快速傅里叶变换处理,获得与所述多个时域输入数据相对应的多个中间频域数据;在获取到中间频域数据之后,即可获取与多个中间频域数据相对应的傅里叶系数,可以理解的是,获取与多个中间频域数据相对应的傅里叶系数的具体实现方式与上述获取与多个时域输入数据相对应的傅里叶系数的具体实现方式相类似,具体可参考上述陈述内容,在此不再赘述。
在获取到与多个中间频域数据相对应的傅里叶系数之后,可以基于所述多个中间频域数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个中间频域数据进行快速傅里叶变换转换处理,以获得与多个中间频域数据相对应的多个频域数据。其中,在不同的转换处理过程中,多个中间频域数据存储在第一存储单元或第三存储单元中。
举例来说,多个时域输入数据包括x(0)、x(16)、x(32)、x(48)时,获取与上述多个时域输入数据相对应的傅里叶系数,而后可以基于上述的傅里叶系数和快速傅里叶变换算法所对应的公式对多个时域输入数据进行转换处理,从而可以获得与x(0)、x(16)、x(32)、x(48)相对应的多个中间频域数据,假设多个中间频域数据包括b(0)、b(16)、b(32)、b(48)。在获取到上述的中间频域数据之后,可以确定与上述多个中间频域数据相对应的傅里叶系数,而后可以基于上述的傅里叶系数和快速傅里叶变换算法所对应的公式对多个时域输入数据进行转换处理,从而可以获得与b(0)、b(16)、b(32)、b(48)相对应的多个频域数据,获得与所述多个中间频域数据相对应的所述多个频域数据,进而有效地实现了通过对多个时域输入数据进行多次快速傅里叶转换处理,获得与所述多个时域输入数据相对应的所述多个频域数据的稳定可靠性,进一步提高了该方法使用的稳定可靠性。
图9为本发明实施例提供的另一种数据处理方法的流程示意图;在上述实施例的基础上,继续参考附图9所示,在获取与多个时域输入数据相对应的傅里叶系数之前,本实施例中的方法还可以包括:
步骤S901:获取与傅里叶系数相对应的系数存储顺序。
步骤S902:基于系数存储顺序将傅里叶系数存储在第二存储单元中。
其中,在获取到傅里叶系数之前,为了能够方便对傅里叶系数进行提取和调用,可以获得与傅里叶系数相对应的系数存储顺序,而后可以基于系数存储顺序将傅里叶系数存储在第二存储单元中。
需要注意的是,该第二存储单元与上述的第一存储单元可以是不同的存储单元,以便可以同时通过第一存储单元获取到待处理时域数据、通过第二存储单元获取到傅里叶系数,以便可以在同一个访问操作周期中实现对待处理时域数据的傅里叶转换操作。
另外,本实施例对于获取与傅里叶系数相对应的系数存储顺序的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,参考附图10所示,本实施例中的获取与傅里叶系数相对应的系数存储顺序可以包括:
步骤S1001:确定与多个时域输入数据相对应的数据存储顺序。
步骤S1002:根据数据存储顺序,确定与傅里叶系数相对应的系数存储顺序。
其中,由于傅里叶系数用于实现对多个时域输入数据进行分析处理,因此,多个时域输入数据所对应的数据存储顺序可以与傅里叶系数相对应的系数存储顺序相同或者相对应。具体实现时,在获取到多个时域输入数据之后,可以确定与多个时域输入数据相对应的数据存储顺序,具体的,本实施例对于确定与多个时域输入数据相对应的数据存储数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:预先配置有与多个时域输入数据相对应的数据存储顺序,该数据存储顺序可以存储在预设区域中,通过访问预设区域可以获取到与多个时域输入数据相对应的数据存储顺序。
在获取到数据存储顺序之后,可以根据数据存储顺序确定为与傅里叶系数相对应的系数存储顺序,具体的,数据存储顺序可以与傅里叶系数相对应的系数存储顺序相同。
例如:在多个时域输入数据的预设顺序依次包括数据d0、数据d1、数据d2和数据d3,而子存储单元包括:单元a0、单元a1、单元a2和单元a3时,若上述多个时域输入数据所对应的数据存储顺序为“0,2,1,3”时,即在将上述多个时域输入数据存储在上述子存储单元时,则可以将数据d0存储在单元a0中,将数据d2存储在单元a1中,将数据d1存储在单元a2中,将数据d3存储在单元a3中。在获取到多个时域输入数据所对应的数据存储顺序之后,即可以基于上述与多个时域输入数据相对应的数据存储顺序,确定与傅里叶系数相对应的系数存储顺序也可以为“0,2,1,3”,从而有效地保证了对与傅里叶系数相对应的系数存储顺序进行获取的准确可靠性。
在获取到系数存储顺序之后,可以基于系数存储顺序将傅里叶系数存储在第二存储单元中,以在对多个时域输入数据进行转换处理时,可以获取到与多个时域输入数据相对应的傅里叶系数,进而保证了对多个时域输入数据进行转换处理的稳定可靠性。
在一些实例中,在获得与多个时域输入数据相对应的频域数据之后,本实施例中的方法还可以包括:
步骤S1100:对频域数据进行码位倒读处理,获得与频域数据相对应的目标频域数据。
其中,在对时域输入数据进行转换处理的过程中,时域输入数据所对应的标识顺序是不断发生变化的。假设:多个时域输入数据所对应的标识顺序为顺序1,在对多个时域输入数据进行转换处理时,为了避免数据读取冲突的情况,需要对多个时域输入数据所对应的标识顺序进行调整,即将顺序1调整为顺序2。而后,通过对多个时域输入数据进行分析处理之后,可以获取到与多个时域输入数据相对应的频域数据,此时,所获得的频域数据所对应的标识顺序为顺序3,可以理解的是,频域数据的标识顺序(顺序3)与多个时域输入数据的标识顺序(顺序2)相对应。
举例来说:时域输入数据按照顺序1依次包括x0、x1、x2和x3,通过对上述多个时域输入数据进行转换处理之后,将时域输入数据的顺序由顺序1调整至顺序2,此时,时域输入数据按照顺序2可以依次为:x0、x2、x1和x3。而后,通过对多个时域输入数据进行分析处理之后,可以获取到与多个时域输入数据相对应的频域数据,此时,所获得的频域数据所对应的标识顺序为顺序3,而频域数据的标识顺序(顺序3)与多个时域输入数据的标识顺序(顺序2)相对应,即频域数据按照顺序3可以依次为:y0、y2、y1和y3。
为了使得用户可以直接、快速地获取到与标识顺序(顺序1)的多个时域输入数据进行转换处理之后的频域数据,在获取到与多个时域输入数据相对应的频域数据之后,可以对频域数据进行码位倒读处理,从而获得与频域数据相对应的目标频域数据,此时,目标频域数据的标识顺序为顺序4,可以理解的是,频域数据的标识顺序(顺序4)与多个时域输入数据的标识顺序(顺序1)相对应,这样有利于用户及时获知到与多个时域数据相对应的数据处理结果,进一步提高了数据处理的实用可靠性。
图11为本发明实施例提供的又一种数据处理方法的流程示意图;在上述实施例的基础上,继续参考附图11所示,在获得与频域数据相对应的目标频域数据之后,本实施例中的方法还可以包括:
步骤S1101:对目标频域数据进行数据排列处理,获得处理后的目标频域数据。
步骤S1102:将处理后的目标频域数据存储在第三存储单元中。
在获取到目标频域数据之后,可以对目标频域数据进行数据排列处理操作,以获得处理后的目标频域数据,而后可以将处理后的目标频域数据存储在第三存储单元中,可以理解的是,上述的第三存储单元可以与第一存储单元为同一存储单元,或者,也可以为不同存储单元,以便通过第三存储单元读取或调用处理后的目标频域数据。
另外,本实施例对于对目标频域数据进行数据排列处理,获得处理后的目标频域数据的具体你实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,参考附图12所示,本实施例中的对目标频域数据进行数据排列处理,获得处理后的目标频域数据可以包括:
步骤S1201:获取与目标频域数据相对应的原始数据地址。
步骤S1202:对原始数据地址进行更新处理,获得与目标频域数据相对应的更新数据地址。
步骤S1203:基于更新数据地址对目标频域数据进行存储,获得处理后的目标频域数据。
在获取到目标频域数据之后,可以获取与目标频域数据相对应的原始数据地址,该原始数据地址可以为进行数据转换操作之后所直接获取到的存储地址信息。而后,可以对原始数据地址进行更新处理,获得与目标频域数据相对应的更新数据地址;具体的,参考附图13所示,本实施例中的对原始数据地址进行更新处理,获得与目标频域数据相对应的更新数据地址可以包括:
步骤S1301:确定与目标频域数据相对应的数据处理并行度。
步骤S1302:基于数据处理并行度对原始数据地址进行更新,获得与目标频域数据相对应的更新数据地址。
其中,在获取到目标频域数据之后,可以确定与目标频域数据相对应的数据处理并行度,具体的,确定与目标频域数据相对应的数据处理并行度的具体实现方式与上述实施例中的确定与原始时域数据相对应的数据处理并行度的具体实现方式相类似,具体可参考上述陈述内容,在此不再赘述。
在获取到数据处理并行度之后,可以基于数据处理并行度对原始数据地址进行更新,从而可以获得与目标频域数据相对应的更新数据地址。具体的,可以通过以下公式实现对原始数据地址的更新操作:
Figure BDA0002964333750000241
其中,PN(C)是与目标频域数据相对应的更新数据地址,C是与目标频域数据相对应的原始数据地址,具体的,C为0,1,2,3,4,…,N-1,N为预设参数变量;D是与目标频域数据相对应的数据处理并行度,“[]”为取整函数,“%”为取余函数。在一个实施方式中,B为4或者16。需要说明的是,可以通过上述类似的方法得到B取不同值时的更新处理操作。通过上述公式对原始数据地址进行更新操作,从而有效地保证了对与目标频域数据相对应的更新数据地址进行获取的准确可靠性。
在获取到更新数据地址之后,可以基于更新数据地址对目标频域数据进行存储,从而可以实现基于更新数据地址来获得处理后的目标频域数据,此时,目标频域数据的标识顺序可以满足用户的使用需求和查看需求,从而有利于用户及时、快速地获知到与多个时域数据相对应的目标频域数据,进一步提高了数据处理的实用可靠性。
图14为本发明实施例提供的再一种数据处理方法的流程示意图;在上述任意一个实施例的基础上,继续参考附图14所示,本实施例中的方法还可以包括:
步骤S1401:获取与快速傅里叶变换算法相对应的乘积参数的数量。
步骤S1402:基于乘积参数的数量,确定第一存储单元中的多个子存储单元的数量。
其中,在对原始时域数据进行傅里叶变换处理的过程中,会出现与快速傅里叶变换算法相对应的乘积参数。一般情况下,在确定快速傅里叶变换算法之后,可以获取与快速傅里叶变换算法相对应的乘积参数的数量,而后可以基于乘积参数的数量来确定第一存储单元的数量。基4fft需要16个乘法器,对应于4个点。当乘法的个数为64的话,存储体的个数为16才能够将乘法器全部利用起来。
图15为本发明实施例提供的又一种数据处理方法的流程示意图;在上述任意一个实施例的基础上,继续参考附图15所示,本实施例中的方法还可以包括:
步骤S1501:获取与快速傅里叶变换算法相对应的乘积参数的数量。
步骤S1502:基于乘积参数的数量,确定第二存储单元中的子存储单元的数量。
具体的,在利用快速傅里叶变换算法对数据进行处理的过程中,可以包括多层的傅里叶转换处理,即数据处理装置中可以包括多个用于实现快速傅里叶变换算法的数据转换单元,多个数据转换单元依次串联,以使得下一级的数据转换单元可以获取到上一级数据转换单元的输出结果,例如:第一层的数据转换单元可以对所获取到的待处理时域数据进行转换处理,获得处理结果1,而后可以将处理结果1输入至第二层的数据转换单元,在第二层的数据转换单元获取到处理结果1时,可以对处理结果1进行转换处理,从而实现对待处理数据进行多层的傅里叶转换处理。
在上述过程中,为了能够实现对各个中间数据(包括:与快速傅里叶变换算法相对应的乘积参数)进行存储,可以配置预设数量的第二存储单元中的子存储单元,上述第二存储单元中的子存储单元可以用于存储在进行傅里叶转换处理过程中所产生的各种数据,从而提高了对数据进行转换处理的效率。
本实施例中步骤的具体实现过程和实现效果与上述实施例中的步骤S1401-步骤S1402的具体实现过程和实现效果相类似,具体可参考上述陈述内容,在此不再赘述。
具体应用时,本应用实施例提供了一种数据处理方法,该数据处理方法可以将时域数据转换为频域数据;其中,以待处理的时域数据的数量为64、快速傅里叶变换算法为基-4FFT算法为例进行说明,预先配置有存储单元0、存储单元1和存储单元2,其中,上述的存储单元0和存储单元2用于存储待处理的时域数据和对时域数据进行分析处理过程中所出现的过程数据,对时域数据进行转换的最终处理结果(基于时域数据相对应的频域数据)可以存储在存储单元0或者存储单元2中,具体的,最终处理结果的存储位置与基-4FFT算法所包括的数据处理层数有关;而上述的存储单元1用于存储进行傅里叶转换处理的傅里叶系数。此外,上述的存储单元0、存储单元1和存储单元2可以包括多个存储体bank(例如:16个存储体bank),上述的存储单元0和存储单元2可以用于存储在利用快速傅里叶变换算法进行数据处理过程中所出现的数据。
具体的,该数据处理方法可以包括以下步骤:
步骤1:获取待处理的原始数据,将原始数据存储在存储单元0中。
其中,存储单元0是预先配置的用于存储原始数据的存储区间,上述的原始数据是指用于进行傅里叶转换处理所直接获取到的时域数据,通过对时域数据进行傅里叶转换处理,即可获得与时域数据相对应的频域数据。具体的,在获取到待处理的原始数据之后,可以将原始数据按照预设顺序存储至存储单元0中,即存储单元0中存储有用于进行傅里叶变换操作的原始数据。假设,位于在存储单元0中原始数据的存储信息如下表a所示:
表a
Figure BDA0002964333750000261
步骤2:获取位于存储单元0中的原始数据,对原始数据进行数据预处理操作,获得待处理时域数据,并将待处理时域数据存储在存储单元2中。
对于原始数据而言,为了避免发生数据的读取冲突,可以对原始数据进行数据预处理操作,以使得与同一数据集合相对应的待处理时域数据存储在存储单元2中的不同存储体bank内,上述的数据集合与快速傅里叶变换算法相对应。具体的,参考附图16所示,通过存储单元0中获取原始数据,在获取到原始数据之后,可以对原始数据进行数据排列处理,获得待处理时域数据,而后可以将待处理时域数据存储在存储单元2中,此时,与同一数据集合相对应的待处理时域数据存储在存储单元2内的不同存储体bank内。
具体的,在对原始数据进行数据预处理操作(数据旋转处理)时,可以通过以下公式来实现:
Figure BDA0002964333750000271
其中,
Figure BDA0002964333750000272
为与快速傅里叶变换算法相对应的待处理时域数据的数据地址信息,A为原始数据的原始地址信息,N为预设参数变量,d为数据集合的集合数量,“[]”为取整函数,“%”为取余函数。
进一步的,在获取到待处理时域数据的数据地址信息之后,可以通过以下公式对待处理时域数据进行分析处理(即数据乱序处理),而后可以将处理后的待处理时域数据存储在存储单元2中:
Figure BDA0002964333750000273
其中,PN(A)是与待处理时域数据相对应的更新地址信息,A是与待处理时域数据相对应的数据地址信息,具体的,A为0,1,2,3,4,…,N-1,N为预设参数变量;B是与待处理时域数据相对应的数据处理并行度,“[]”为取整函数,“%”为取余函数。在一个实施方式中,B为4或者16。需要说明的是,可以通过上述类似的方法得到B取不同值时的更新处理操作。
假设,在位于存储单元0中的原始数据如上述表a时,位于存储单元2中的待处理时域数据如下表b所示:
表b
Figure BDA0002964333750000274
步骤3:获取与多个时域输入数据相对应的傅里叶系数。
其中,存储单元1中存储有与多个时域输入数据相对应的傅里叶系数,从而可以通过存储单元1中获取到与多个时域输入数据相对应的傅里叶系数,以便基于傅里叶系数对待处理时域数据进行傅里叶转换处理。
具体的,在获取与多个时域输入数据相对应的傅里叶系数,可以将傅里叶系数按照预设顺序存储在存储单元1中,在对傅里叶系数进行存储时,可以通过以下公式进行存储空间的分配和存储操作:
Figure BDA0002964333750000281
其中,a为0,1,2,…
Figure BDA0002964333750000282
b为0,1,2,3,coeff(4a+b)为傅里叶系数所对应的存储地址,
Figure BDA0002964333750000283
为与多个时域输入数据相对应的傅里叶系数。
在对傅里叶系数进行存储之后,为了能够准确地获取到与多个时域输入数据相对应的傅里叶系数,实现对多个时域输入数据进行傅里叶转换处理,可以通过以下公式来获取到与多个时域输入数据相对应的傅里叶系数:
Figure BDA0002964333750000284
其中,F(A)是与多个时域输入数据相对应的傅里叶系数所对应的地址信息,A为0,1,2,3,4,…,N-1,L用于标识进行快速傅里叶变换处理的层数(例如:在快速傅里叶变换的处理层数为第二层时,L=2),L的取值为1,2,3。
步骤4:基于傅里叶系数和快速傅里叶变换算法对待处理时域数据进行FFT处理,获得处理结果1。
为了便于说明,在对待处理时域数据进行多次FFT处理时,可以以对待处理时域数据进行三次FFT处理为例进行说明,此时,数据处理装置中可以包括三个用于实现快速傅里叶变换算法的数据转换单元,三个数据转换单元依次串联,以使得下一级的数据转换单元可以获取到上一级数据转换单元的输出结果。
具体的,参考附图17所示,通过存储单元1获取到与多个时域输入数据相对应的傅里叶系数,通过存储单元2中获取待处理时域数据,而后可以利用快速傅里叶变换算法和傅里叶系数对待处理时域数据进行FFT-第一层处理操作,从而可以获得处理结果1。此时,由于存储单元0中的原始数据已经在傅里叶变换处理过程中发生了变化,为了方便用户对处理结果1进行调用和查看,进而可以将处理结果1存储在存储单元0中,即利用处理结果1对存储单元0中存储的原始数据进行更新操作。
另外,为了能够稳定地实现基于傅里叶系数和快速傅里叶变换算法对待处理时域数据进行FFT处理,在对待处理时域数据进行分析处理之前,可以通过以下公式对待处理时域数据进行数据乱序处理:
Figure BDA0002964333750000291
其中,PN(A)是与待处理时域数据相对应的更新地址信息,A是与待处理时域数据相对应的原始地址信息,具体的,A为0,1,2,3,4,…,N-1,N为预设参数变量;B是与待处理时域数据相对应的数据处理并行度,“[]”为取整函数,“%”为取余函数。
在基于傅里叶系数和快速傅里叶变换算法对待处理时域数据进行FFT处理时,可以通过以下公式来获取处理结果1:
dst[a+0]=(src[a]+src[a+1]+src[a+2]+src[a+3])·coeff[a+0];
dst[a+2]=(src[a]-src[a+1]·i-src[a+2]+src[a+3]·i)·coeff[a+1];
dst[a+1]=(src[a]-src[a+1]+src[a+2]-src[a+3])·coeff[a+2];
dst[a+3]=(src[a]+src[a+1]·i-src[a+2]-src[a+3]·i)·coeff[a+3]。
其中,dst[a+0]、dst[a+2]、dst[a+1]、dst[a+3]分别是与待处理时域数据相对应的处理结果1,src[a]、src[a+1]、src[a+2]、src[a+3]是待处理时域数据,coeff[a+0]是傅里叶系数。
需要注意的是,在获取到处理结果1之后,可以将所获得的处理结果1按照(0,2,1,3)存放,因此,为了保证对处理结果1进行读取的方便程度,可以对处理结果1进行码位倒读处理,以使得处理结果1的标识顺序可以与原始数据的标识顺序相一致。
值得注意的是,在待处理时域数据进行FFT处理之前,待处理时域数据存储情况如上述表b时,由于基于傅里叶系数和快速傅里叶变换算法对待处理时域数据进行FFT处理之后,所获得的处理结果1经过数据乱序处理,从而使得处理结果1所对应的标识顺序与上述表b相同。
步骤5:基于傅里叶系数和快速傅里叶变换算法对处理结果1进行FFT处理,获得处理结果2。
具体的,参考附图18所示,通过存储单元1中获取到与多个时域输入数据相对应的傅里叶系数,通过存储单元0中获取处理结果1,而后可以利用快速傅里叶变换算法和傅里叶系数对处理结果1进行FFT-第二层处理操作,从而可以获得处理结果2。此时,为了方便用户对处理结果2进行调用和查看,由于此时的存储单元2中的待处理时域数据已经在傅里叶变换处理过程中发生了变化,进而可以将处理结果2存储在存储单元2中,即利用处理结果2对存储单元2中存储的待处理时域数据进行更新操作。
需要注意的是,本实施例中基于傅里叶系数和快速傅里叶变换算法对处理结果1进行FFT处理的具体实现过程与上述步骤4中的具体实现方式相类似,具体可参考上述陈述内容,在此不再赘述。
值得注意的是,在待处理时域数据进行FFT处理之前,处理结果1的存储情况如上述表b时,由于基于傅里叶系数和快速傅里叶变换算法对待处理时域数据进行FFT处理之后,所获得的处理结果2经过数据乱序处理,从而使得处理结果2所对应的标识顺序与上述表b相同。
步骤6:基于傅里叶系数和快速傅里叶变换算法对处理结果2进行FFT处理,获得处理结果3。
具体的,参考附图19所示,通过存储单元1中获取到与多个时域输入数据相对应的傅里叶系数,通过存储单元2中获取处理结果2,而后可以利用快速傅里叶变换算法和傅里叶系数对处理结果2进行FFT-第三层处理操作,从而可以获得处理结果3。此时,为了方便用户对处理结果3进行调用和查看,由于此时的存储单元0中的处理结果1已经在傅里叶变换处理过程中发生了变化,进而可以将处理结果3存储在存储单元0中,即利用处理结果3对存储单元0中存储的待处理时域数据进行更新操作。
需要注意的是,快速傅里叶变换算法可以包括n层的FFT计算,n可以根据不同的应用场景和应用需求进行任意配置,例如:n等于3、4、5或者6等等,在此不再赘述。
值得注意的是,在待处理时域数据进行FFT处理之前,处理结果2存储情况如上述表b时,由于基于傅里叶系数和快速傅里叶变换算法对处理结果2进行FFT处理时,所获得的处理结果3经过数据乱序处理,从而使得处理结果3所对应的标识顺序与上述表b相同。
步骤7:获取处理结果3,对处理结果3进行数据后处理操作,获得与原始数据相对应的目标频域数据。
具体的,参考附图20所示,通过存储单元0获取处理结果3,由于处理结果3(最后一层FFT计算处理后所对应的处理结果)也是按照(0,2,1,3)的顺序进行存储。因此,为了方便对处理结果3进行调取和读取,可以对处理结果3进行码位倒读处理和数据排列处理,从而可以获得与原始数据相对应的目标频域数据,由于此时的存储单元2中的处理结果2已经在傅里叶变换处理过程中发生了变化,因此,可以将目标频域数据存储在存储单元2中,即利用目标频域数据对存储单元2中存储的处理结果2进行更新操作,以便用户可以对目标频域数据进行调用和查看。
具体实现时,在对处理结果3进行码位倒读处理之后,可以利用以下公式来实现:
digrev(A)=bitrev(A)
其中,digrev(A)为处理结果3进行码位倒读处理后的结果,A为处理结果3,bitrev为用于实现比特位翻转操作的函数。
假设,在获取位于存储单元0中的处理结果3为上述表b时,对处理结果3进行数据后处理操作,获得的目标频域数据可以如下表c所示:
表c
Figure BDA0002964333750000311
本应用实施例提供的数据处理方法,由于与同一数据集合相对应的待处理时域数据存储在第一存储单元内不同的子存储单元中,因此,在获取待处理时域数据时,有效地避免了数据读取冲突的情况,在获取到待处理时域数据之后,可以在待处理时域数据中确定与快速傅里叶变换算法相对应的多个时域输入数据,从而可以实现利用快速傅里叶变换算法对多个时域输入数据进行转换处理,获得与多个时域输入数据相对应的频域数据,这样不仅解决了傅里叶转换处理过程中所存在的数据读取冲突的问题,并且也提高了数据处理的效率,进一步提高了该方法的实用性,有利于市场的推广与应用。
图21为本发明实施例提供的一种数据处理装置的结构示意图;参考附图21所示,本实施例提供了一种数据处理装置,该数据处理装置可以执行上述图1所对应的数据处理方法,该数据处理装置可以包括:
存储器12,用于存储计算机程序;
处理器11,用于运行存储器12中存储的计算机程序以实现:
获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内,其中,所述数据集合基于快速傅里叶变换算法的类型而确定;
在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据;
利用所述快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
其中,数据处理装置的结构中还可以包括通信接口13,用于电子设备与其他设备或通信网络通信。
在一些实例中,在处理器11获取待处理时域数据时,处理器11还用于:获取原始时域数据;将原始时域数据按照预设顺序存储在第一存储单元内;对原始时域数据进行数据排列处理,获得待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内。
在一些实例中,预设顺序与原始时域数据的数据标识相关。
在一些实例中,在处理器11对原始时域数据进行数据排列处理,获得待处理时域数据时,处理器11还用于:获取与原始时域数据相对应的原始地址信息;对原始地址信息进行更新处理,获得与原始时域数据相对应的更新地址信息;基于更新地址信息对原始时域数据进行存储,获得待处理时域数据。
在一些实例中,在处理器11对原始地址信息进行更新处理,获得与原始时域数据相对应的更新地址信息时,处理器11还用于:确定与原始时域数据相对应的数据处理并行度;基于数据处理并行度对原始地址信息进行更新,获得与原始时域数据相对应的更新地址信息。
在一些实例中,在处理器11在待处理时域数据中,确定与快速傅里叶变换算法相对应的多个时域输入数据时,处理器11还用于:获取与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息;在待处理时域数据中,基于数据地址信息确定与快速傅里叶变换算法相对应的多个时域输入数据。
在一些实例中,在处理器11获取与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息时,处理器11还用于:获取待处理时域数据的原始地址信息;确定与快速傅里叶变换算法相对应的目标数据集合,目标数据集合中包括有多个待处理时域数据;对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
在一些实例中,在处理器11对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息时,处理器11还用于:获取数据集合的集合数量;基于集合数量对目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
在一些实例中,在处理器11利用快速傅里叶变换算法对多个时域输入数据进行转换处理,获得与多个时域输入数据相对应的频域数据时,处理器11还用于:获取与所述多个时域输入数据相对应的傅里叶系数;基于所述多个时域输入数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个时域输入数据进行快速傅里叶变换处理,获得与所述多个时域输入数据相对应的多个中间频域数据;获取与所述多个中间频域数据相对应的傅里叶系数;以及基于所述多个中间频域数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个中间频域数据进行快速傅里叶变换转换处理,以获得与所述多个时域输入数据相对应的所述多个频域数据;其中,在不同的转换处理过程中,所述多个中间频域数据存储在所述第一存储单元或第三存储单元中。
在一些实例中,在获取与多个时域输入数据相对应的傅里叶系数之前,处理器11还用于:获取与傅里叶系数相对应的系数存储顺序;基于系数存储顺序将傅里叶系数存储在第二存储单元中。
在一些实例中,在处理器11获取与傅里叶系数相对应的系数存储顺序时,处理器11还用于:确定与多个时域输入数据相对应的数据存储顺序;根据数据存储顺序,确定与傅里叶系数相对应的系数存储顺序。
在一些实例中,在获得与多个时域输入数据相对应的频域数据之后,处理器11还用于:对频域数据进行码位倒读处理,获得与频域数据相对应的目标频域数据。
在一些实例中,在获得与频域数据相对应的目标频域数据之后,处理器11还用于:对目标频域数据进行数据排列处理,获得处理后的目标频域数据;将处理后的目标频域数据存储在第三存储单元中。
在一些实例中,在处理器11对目标频域数据进行数据排列处理,获得处理后的目标频域数据时,处理器11还用于:获取与目标频域数据相对应的原始数据地址;对原始数据地址进行更新处理,获得与目标频域数据相对应的更新数据地址;基于更新数据地址对目标频域数据进行存储,获得处理后的目标频域数据。
在一些实例中,在处理器11对原始数据地址进行更新处理,获得与目标频域数据相对应的更新数据地址时,处理器11还用于:确定与目标频域数据相对应的数据处理并行度;基于数据处理并行度对原始数据地址进行更新,获得与目标频域数据相对应的更新数据地址。
在一些实例中,待处理时域数据包括:待处理的图像数据。
在一些实例中,处理器11还用于:获取与快速傅里叶变换算法相对应的乘积参数的数量;基于乘积参数的数量,确定第一存储单元中的多个子存储单元的数量。
在一些实例中,处理器11还用于:获取与快速傅里叶变换算法相对应的乘积参数的数量;基于乘积参数的数量,确定第二存储单元中的子存储单元的数量。
图22为本发明实施例提供的一种可移动平台的结构示意图,参考附图22所示,本实施例提供了一种可移动平台,具体应用时,该可移动平台可以为手持电话、手持云台、无人机、无人车、无人船、机器人或自动驾驶汽车等,具体的,该可移动平台可以包括:
机身21;
上述图21实施例中的数据处理装置22,设置于机身21上,用于获取待处理时域数据,并将待处理时域数据转换为与多个时域输入数据相对应的频域数据。
图22所示可移动平台的具体实现过程和实现原理与上述图21中数据处理装置22的实现过程和实现原理相类似,具体可参见上述图22所示实施例中的描述,在此不再赘述。
本实施例的另一方面提供了一种计算机可读存储介质,存储介质为计算机可读存储介质,该计算机可读存储介质中存储有程序指令,程序指令用于实现上述图1-图20所对应实施例中的数据处理方法。
以上各个实施例中的技术方案、技术特征在与本相冲突的情况下均可以单独,或者进行组合,只要未超出本领域技术人员的认知范围,均属于本申请保护范围内的等同实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的相关遥控装置和方法,可以通过其它的方式实现。例如,以上所描述的遥控装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,遥控装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (38)

1.一种数据处理方法,其特征在于,包括:
获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内,其中,所述数据集合基于快速傅里叶变换算法的类型而确定;
在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据;
利用所述快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理时域数据,包括:
获取原始时域数据;
将所述原始时域数据按照预设顺序存储在所述第一存储单元内;
对所述原始时域数据进行数据排列处理,获得所述待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内。
3.根据权利要求2所述的方法,其特征在于,所述预设顺序与所述原始时域数据的数据标识相关。
4.根据权利要求2所述的方法,其特征在于,所述对所述原始时域数据进行数据排列处理,获得所述待处理时域数据,包括:
获取与所述原始时域数据相对应的原始地址信息;
对所述原始地址信息进行更新处理,获得与所述原始时域数据相对应的更新地址信息;
基于所述更新地址信息对所述原始时域数据进行存储,获得所述待处理时域数据。
5.根据权利要求4所述的方法,其特征在于,所述对所述原始地址信息进行更新处理,获得与所述原始时域数据相对应的更新地址信息,包括:
确定与所述原始时域数据相对应的数据处理并行度;
基于所述数据处理并行度对所述原始地址信息进行更新,获得与所述原始时域数据相对应的更新地址信息。
6.根据权利要求1所述的方法,其特征在于,所述在所述待处理时域数据中,确定与所述快速傅里叶变换算法相对应的多个时域输入数据,包括:
获取与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息;
在所述待处理时域数据中,基于所述数据地址信息确定与所述快速傅里叶变换算法相对应的多个时域输入数据。
7.根据权利要求6所述的方法,其特征在于,所述获取与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,包括:
获取所述待处理时域数据的原始地址信息;
确定与所述快速傅里叶变换算法相对应的目标数据集合,所述目标数据集合中包括有多个待处理时域数据;
对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
8.根据权利要求7所述的方法,其特征在于,所述对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息,包括:
获取所述数据集合的集合数量;
基于所述集合数量对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
9.根据权利要求1所述的方法,其特征在于,所述利用所述快速傅里叶变换算法对所述多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的多个频域数据,包括:
获取与所述多个时域输入数据相对应的傅里叶系数;
基于所述多个时域输入数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个时域输入数据进行快速傅里叶变换处理,获得与所述多个时域输入数据相对应的多个中间频域数据;
获取与所述多个中间频域数据相对应的傅里叶系数;以及
基于所述多个中间频域数据相对应的所述傅里叶系数和所述快速傅里叶变换算法对所述多个中间频域数据进行快速傅里叶变换转换处理,以获得与所述多个时域输入数据相对应的所述多个频域数据;
其中,在不同的转换处理过程中,所述多个中间频域数据存储在所述第一存储单元或第三存储单元中。
10.根据权利要求9所述的方法,其特征在于,在获取与所述多个时域输入数据相对应的傅里叶系数之前,所述方法还包括:
获取与所述傅里叶系数相对应的系数存储顺序;
基于所述系数存储顺序将所述傅里叶系数存储在第二存储单元中。
11.根据权利要求10所述的方法,其特征在于,所述获取与所述傅里叶系数相对应的系数存储顺序,包括:
确定与所述多个时域输入数据相对应的数据存储顺序;
根据所述数据存储顺序,确定与所述傅里叶系数相对应的系数存储顺序。
12.根据权利要求1-11中任意一项所述的方法,其特征在于,在获得与所述多个时域输入数据相对应的频域数据之后,所述方法还包括:
对所述频域数据进行码位倒读处理,获得与所述频域数据相对应的目标频域数据。
13.根据权利要求1-11中任意一项所述的方法,其特征在于,在获得与所述频域数据相对应的目标频域数据之后,所述方法还包括:
对所述目标频域数据进行数据排列处理,获得处理后的目标频域数据;
将处理后的目标频域数据存储在第三存储单元中。
14.根据权利要求13所述的方法,其特征在于,所述对所述目标频域数据进行数据排列处理,获得处理后的目标频域数据,包括:
获取与所述目标频域数据相对应的原始数据地址;
对所述原始数据地址进行更新处理,获得与所述目标频域数据相对应的更新数据地址;
基于所述更新数据地址对所述目标频域数据进行存储,获得所述处理后的目标频域数据。
15.根据权利要求14所述的方法,其特征在于,所述对所述原始数据地址进行更新处理,获得与所述目标频域数据相对应的更新数据地址,包括:
确定与所述目标频域数据相对应的数据处理并行度;
基于所述数据处理并行度对所述原始数据地址进行更新,获得与所述目标频域数据相对应的更新数据地址。
16.根据权利要求1-11中任意一项所述的方法,其特征在于,
所述待处理时域数据包括:待处理的图像数据。
17.根据权利要求1-11中任意一项所述的方法,其特征在于,所述方法还包括:
获取与所述快速傅里叶变换算法相对应的乘积参数的数量;
基于所述乘积参数的数量,确定所述第一存储单元中的多个子存储单元的数量。
18.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取与所述快速傅里叶变换算法相对应的乘积参数的数量;
基于所述乘积参数的数量,确定所述第二存储单元中的子存储单元的数量。
19.一种数据处理装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现:
获取待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在第一存储单元中多个不同的子存储单元内,其中,所述数据集合基于快速傅里叶变换算法的类型而确定;
在一次数据存取操作中,自所述多个不同的子存储单元读取对应于同一数据集合的待处理时域数据,作为与所述快速傅里叶变换算法中的一次快速傅里叶变换相对应的多个时域输入数据;
利用所述快速傅里叶变换算法对用于进行快速傅里叶变换的多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
20.根据权利要求19所述的装置,其特征在于,在所述处理器获取待处理时域数据时,所述处理器还用于:
获取原始时域数据;
将所述原始时域数据按照预设顺序存储在多个所述第一存储单元内;
对所述原始时域数据进行数据排列处理,获得所述待处理时域数据,其中,与同一数据集合相对应的待处理时域数据存储在不同的第一存储单元内。
21.根据权利要求20所述的装置,其特征在于,所述预设顺序与所述原始时域数据的数据标识相关。
22.根据权利要求20所述的装置,其特征在于,在所述处理器对所述原始时域数据进行数据排列处理,获得所述待处理时域数据时,所述处理器还用于:
获取与所述原始时域数据相对应的原始地址信息;
对所述原始地址信息进行更新处理,获得与所述原始时域数据相对应的更新地址信息;
基于所述更新地址信息对所述原始时域数据进行存储,获得所述待处理时域数据。
23.根据权利要求22所述的装置,其特征在于,在所述处理器对所述原始地址信息进行更新处理,获得与所述原始时域数据相对应的更新地址信息时,所述处理器还用于:
确定与所述原始时域数据相对应的数据处理并行度;
基于所述数据处理并行度对所述原始地址信息进行更新,获得与所述原始时域数据相对应的更新地址信息。
24.根据权利要求19所述的装置,其特征在于,在所述处理器在所述待处理时域数据中,确定与所述快速傅里叶变换算法相对应的多个时域输入数据时,所述处理器还用于:
获取与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息;
在所述待处理时域数据中,基于所述数据地址信息确定与所述快速傅里叶变换算法相对应的多个时域输入数据。
25.根据权利要求24所述的装置,其特征在于,在所述处理器获取与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息时,所述处理器还用于:
获取所述待处理时域数据的原始地址信息;
确定与所述快速傅里叶变换算法相对应的目标数据集合,所述目标数据集合中包括有多个待处理时域数据;
对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
26.根据权利要求25所述的装置,其特征在于,在所述处理器对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息时,所述处理器还用于:
获取所述数据集合的集合数量;
基于所述集合数量对所述目标数据集合中包括的多个待处理时域数据的原始地址信息进行更新,获得与所述快速傅里叶变换算法相对应的多个时域输入数据的数据地址信息。
27.根据权利要求19所述的装置,其特征在于,在所述处理器利用所述快速傅里叶变换算法对所述多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据时,所述处理器还用于:
获取与所述多个时域输入数据相对应的傅里叶系数;
基于所述傅里叶系数和所述快速傅里叶变换算法对所述多个时域输入数据进行转换处理,获得与所述多个时域输入数据相对应的频域数据。
28.根据权利要求27所述的装置,其特征在于,在获取与所述多个时域输入数据相对应的傅里叶系数之前,所述处理器还用于:
获取与所述傅里叶系数相对应的系数存储顺序;
基于所述系数存储顺序将所述傅里叶系数存储在第二存储单元中。
29.根据权利要求28所述的装置,其特征在于,在所述处理器获取与所述傅里叶系数相对应的系数存储顺序时,所述处理器还用于:
确定与所述多个时域输入数据相对应的数据存储顺序;
根据所述数据存储顺序,确定与所述傅里叶系数相对应的系数存储顺序。
30.根据权利要求19-29中任意一项所述的装置,其特征在于,在获得与所述多个时域输入数据相对应的频域数据之后,所述处理器还用于:
对所述频域数据进行码位倒读处理,获得与所述频域数据相对应的目标频域数据。
31.根据权利要求19-29中任意一项所述的装置,其特征在于,在获得与所述频域数据相对应的目标频域数据之后,所述处理器还用于:
对所述目标频域数据进行数据排列处理,获得处理后的目标频域数据;
将处理后的目标频域数据存储在第三存储单元中。
32.根据权利要求31所述的装置,其特征在于,在所述处理器对所述目标频域数据进行数据排列处理,获得处理后的目标频域数据时,所述处理器还用于:
获取与所述目标频域数据相对应的原始数据地址;
对所述原始数据地址进行更新处理,获得与所述目标频域数据相对应的更新数据地址;
基于所述更新数据地址对所述目标频域数据进行存储,获得所述处理后的目标频域数据。
33.根据权利要求32所述的装置,其特征在于,在所述处理器对所述原始数据地址进行更新处理,获得与所述目标频域数据相对应的更新数据地址时,所述处理器还用于:
确定与所述目标频域数据相对应的数据处理并行度;
基于所述数据处理并行度对所述原始数据地址进行更新,获得与所述目标频域数据相对应的更新数据地址。
34.根据权利要求19-33中任意一项所述的装置,其特征在于,
所述待处理时域数据包括:待处理的图像数据。
35.根据权利要求19-33中任意一项所述的装置,其特征在于,所述处理器还用于:
获取与所述快速傅里叶变换算法相对应的乘积参数的数量;
基于所述乘积参数的数量,确定第一存储单元中的多个子存储单元的数量。
36.根据权利要求28所述的装置,其特征在于,所述处理器还用于:
获取与所述快速傅里叶变换算法相对应的乘积参数的数量;
基于所述乘积参数的数量,确定所述第二存储单元中的子存储单元的数量。
37.一种可移动平台,其特征在于,包括:
机身;
权利要求18-33中任意一项所述的数据处理装置,设置于所述机身上,用于获取待处理时域数据,并将所述待处理时域数据转换为与所述多个时域输入数据相对应的频域数据。
38.一种计算机可读存储介质,其特征在于,所述存储介质为计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令用于实现权利要求1-18中任意一项所述的数据处理方法。
CN202080004991.4A 2020-05-28 2020-05-28 数据处理方法、装置、可移动平台及存储介质 Pending CN112689832A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/092820 WO2021237554A1 (zh) 2020-05-28 2020-05-28 数据处理方法、装置、可移动平台及存储介质

Publications (1)

Publication Number Publication Date
CN112689832A true CN112689832A (zh) 2021-04-20

Family

ID=75457730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080004991.4A Pending CN112689832A (zh) 2020-05-28 2020-05-28 数据处理方法、装置、可移动平台及存储介质

Country Status (2)

Country Link
CN (1) CN112689832A (zh)
WO (1) WO2021237554A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339546A (zh) * 2008-08-07 2009-01-07 那微微电子科技(上海)有限公司 地址映射方法和操作数并行的fft处理系统
CN102087640A (zh) * 2009-12-08 2011-06-08 中兴通讯股份有限公司 傅里叶变换的实现方法和装置
CN106469134A (zh) * 2016-08-29 2017-03-01 北京理工大学 一种用于fft处理器的数据无冲突存取方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653676B2 (en) * 2006-05-05 2010-01-26 Hitachi, Ltd. Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
CN101082906A (zh) * 2006-05-31 2007-12-05 中国科学院微电子研究所 一种低存储器开销的固定基fft处理器及其方法
CN101364215B (zh) * 2008-09-28 2010-12-08 炬力集成电路设计有限公司 一种用于节省存储空间的数据处理装置及方法
CN103218348B (zh) * 2013-03-29 2016-01-27 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339546A (zh) * 2008-08-07 2009-01-07 那微微电子科技(上海)有限公司 地址映射方法和操作数并行的fft处理系统
CN102087640A (zh) * 2009-12-08 2011-06-08 中兴通讯股份有限公司 傅里叶变换的实现方法和装置
CN106469134A (zh) * 2016-08-29 2017-03-01 北京理工大学 一种用于fft处理器的数据无冲突存取方法

Also Published As

Publication number Publication date
WO2021237554A1 (zh) 2021-12-02

Similar Documents

Publication Publication Date Title
Berestycki et al. Random Hermitian matrices and Gaussian multiplicative chaos
CN107329987A (zh) 一种基于mongo数据库的搜索系统
CN109521994A (zh) 乘法硬件电路、片上系统及电子设备
CN111159235A (zh) 数据预分区方法、装置、电子设备及可读存储介质
CN112926731A (zh) 执行神经网络的矩阵乘法运算的装置和方法
CN114764615A (zh) 卷积运算的实现方法、数据处理方法及装置
CN115994565A (zh) 离散傅立叶相关变换的硬件实施
Glau A Feynman–Kac-type formula for Lévy processes with discontinuous killing rates
Dolgopyat et al. A Berry–Esseen theorem and Edgeworth expansions for uniformly elliptic inhomogeneous Markov chains
US9244886B1 (en) Minimum resource fast fourier transform
RU2700194C1 (ru) Унифицированная реконфигурируемая схема коммутации быстрого преобразования фурье и способ её формирования
WO2014108718A1 (en) Continuous-flow conflict-free mixed-radix fast fourier transform in multi-bank memory
CN111091099A (zh) 一种场景识别模型的构建方法、场景识别方法及设备
CN112689832A (zh) 数据处理方法、装置、可移动平台及存储介质
CN111178513B (zh) 神经网络的卷积实现方法、卷积实现装置及终端设备
CN111079082B (zh) 一种提高涉及稀疏矩阵计算速率的方法和系统
CN109783745B (zh) 对页面进行个性化排版的方法、装置和计算机设备
CN112162982A (zh) 数据查询方法、装置、设备及介质
Armstrong et al. Quantitative stochastic homogenization and large-scale regularity
US11467973B1 (en) Fine-grained access memory controller
CN109582277A (zh) 数据处理方法、装置及相关产品
CN116051345A (zh) 图像数据处理方法、装置、计算机设备及可读存储介质
JP4083387B2 (ja) 離散フーリエ変換の計算
CN115034225A (zh) 应用于医学领域的词语处理方法、装置、电子设备和介质
RU2717950C1 (ru) Высокоскоростное устройство быстрого преобразования фурье с бесконфликтным линейным доступом к памяти

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210420