CN101364215B - 一种用于节省存储空间的数据处理装置及方法 - Google Patents

一种用于节省存储空间的数据处理装置及方法 Download PDF

Info

Publication number
CN101364215B
CN101364215B CN200810223292XA CN200810223292A CN101364215B CN 101364215 B CN101364215 B CN 101364215B CN 200810223292X A CN200810223292X A CN 200810223292XA CN 200810223292 A CN200810223292 A CN 200810223292A CN 101364215 B CN101364215 B CN 101364215B
Authority
CN
China
Prior art keywords
index value
data
memory module
corresponding new
comparative result
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.)
Expired - Fee Related
Application number
CN200810223292XA
Other languages
English (en)
Other versions
CN101364215A (zh
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.)
Actions Technology Co Ltd
Original Assignee
Actions Semiconductor 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 Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN200810223292XA priority Critical patent/CN101364215B/zh
Publication of CN101364215A publication Critical patent/CN101364215A/zh
Application granted granted Critical
Publication of CN101364215B publication Critical patent/CN101364215B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于节省存储空间的数据处理装置,该装置包括:存储模块,用于保存需要进行重排序的各数据,以及保存经过重排序的各数据;码位倒置模块,用于获得需要进行重排序的各数据的索引值,并对其进行码位倒置运算,得到相应的新索引值;比较模块,用于将各数据的索引值与相应的新索引值进行比较,并获得比较结果;调整模块,用于仅在确定比较结果符合预设条件时,将进行比较的索引值和相应的新索引值在存储模块中各自对应的数据进行交换,以及在确定比较结果不符合预设条件时,将该索引值在存储模块中对应的数据保持不变。利用本装置在运算中可节省存储空间,提高运算的处理效率。本发明同时公开了一种用于节省存储空间的数据处理方法。

Description

一种用于节省存储空间的数据处理装置及方法 
技术领域
本发明涉及计算机领域,特别涉及一种用于节省存储空间的数据处理装置及方法。 
背景技术
快速傅立叶变换(Fast Fourier Transform Algorithm,FFT)运算是信号处理过程中最核心的运算,它为频谱分析、卷积与相关、数字滤波器的设计与实现、功率谱计算、传递函数建模和图象处理等工作提供了快速运算方法。现有技术下,FFT运算包括两种:第一种先对输入数据执行蝶形运算,再对蝶形运算输出结果进行重排序;而第二种先对输入数据进行重排序,再对重排序结果执行蝶形运算。 
下面以第一种FFT运算为例进行说明。 
参阅图1A所示,对输入的16个数(N=16)进行FFT运算时,蝶形运算输出结果包含的16个数据是乱序存放的,需要对这16个数据进行重排序,使其存放顺序恢复成顺序的。参阅图1B所示,重排序即是把乱序的数据x0、x8、x4、x12、x2......x15转换为顺序的数据X0、X1、X2、X3、X4.......X15。 
参阅图1C所示,对按照频率抽取的8个数(N=8)进行FFT运算时,输入数据为:x0、x1、x2、x3、x4、x5、x6、x7,经蝶形运算后输出的乱序数据为:X0、X4、X2、X6、X1、X5、X3、X7,经重排序后输出的顺序数据为:X0、X1、X2、X3、X4、X5、X6、X7。 
通过图1B所示的例子可以看出,在对蝶形运算输出结果进行重排序时,需要开辟新的N个存储单元用于存放顺序的数据。 
下面以第二种FFT运算为例进行说明。
参阅图1D所示,对输入的8个数(N=8)进行FFT运算时,先要对这8个数据进行重排序,将其存放顺序打乱,再对乱序的各数据执行蝶形运算,这样,蝶形运算输出结果包含的8个数据便是顺序存放的;如图1D所示,输入数据为:x0、x1、x2、x3、x4、x5、x6、x7,经重排序后输出的乱序数据为:x0、x4、x2、x6、x1、x5、x3、x7,经蝶形运算后输出的顺序数据为:X0、X1,X2、X3、X4、X5、X6、X7。 
显然,在对输入数据进行重排序时,需要开辟新的N个存储单元用于存放乱序的数据。 
综上所述,使用现有方法进行FFT运算会占用大量的存储空间,如,为了得到输入的N个数经过FFT运算的顺序输出结果,需要开辟2×N个存储单元;同时,使用现有方法进行FFT运算会降低处理效率,如,在重排序过程中,有些数据的存储单元无需进行调整,但也会被读取一次和写入一次,从而造成了数据读写操作的过于频繁,增加了FFT运算所需的时间。 
发明内容
本发明实施例提供一种用于节省存储空间的数据处理装置及方法,用以节省FFT运算所占用的存储空间,以及提高FFT运算的处理效率。 
本发明实施例提供的具体技术方案如下: 
一种用于节省存储空间的数据处理装置,包括: 
存储模块,用于保存需要进行重排序的各数据,以及保存经过重排序的各数据,所述需要进行重排序的各数据与经过重排序的各数据保存在所述存储模块中的同一组存储单元;; 
码位倒置模块,用于获得需要进行重排序的各数据的索引值,并对所述索引值进行码位倒置运算,得到相应的新索引值; 
比较模块,用于将所述各数据的索引值与相应的新索引值进行比较,并获得比较结果; 
调整模块,用于仅在确定所述比较结果符合预设条件时,将进行比较的索 引值和相应的新索引值在所述存储模块中各自对应的数据进行交换,以及在确定比较结果不符合预设条件时,保持所述索引值在所述存储模块中对应的数据不变。 
一种用于节省存储空间的数据处理方法,包括: 
获取需要进行重排序的各数据的索引值,所述需要进行重排序的各数据存储于存储模块中; 
对所述索引值进行码位倒置运算,获得相应的新索引值; 
将所述索引值与相应的新索引值进行比较,仅在确定比较结果符合预设条件时,将所述索引值和相应的新索引值在所述存储模块中各自对应的数据进行交换,若确定比较结果不符合预设条件,则保持所述索引值在所述存储模块中对应的数据不变; 
所述数据交换全部完成后,得到经过重排序的各数据,所述需要进行重排序的各数据与经过重排序的各数据保存在所述存储模块中的同一组存储单元。 
本发明实施例中,在对输入数据进行FFT运算过程中,获得需要进行重排序的各数据的索引值,并对其进行码位倒置运算,得到相应的新索引值;将各数据的索引值与相应的新索引值进行比较,仅在确定比较结果符合预设条件时,将该索引值和相应的新索引值在所述存储模块中各自对应的数据进行交换,若确定比较结果不符合预设条件,则保持该索引值在所述存储模块中对应的数据不变。这样,在FFT运算过程中,对数据进行重排序时,便无需在存储模块中开辟新的存储单元,从而在很大程度上节省了存储空间;同时,在重排序过程中,无需调整的数据不会被读取,避免了频繁的读写操作,进而在一定程度上提高了FFT运算的处理效率。 
附图说明
图1A为本发明现有技术下针对16个输入数据的第一类FFT运算示意图; 
图1B为本发明现有技术下针对16个输入数据的第一类FFT运算内重排序流程示意图; 
图1C为本发明现有技术下针对8个输入数据的第一类FFT运算示意图; 
图1D为本发明现有技术下针对8个输入数据的第二类FFT运算示意图;
图2为本发明实施例中用于节省存储空间的数据处理装置功能结构图; 
图3为本发明实施例中针对16个输入数据的第一类FFT运算流程图; 
图4为本发明实施例中针对16个输入数据的第一类FFT运算内重排序流程示意图; 
图5为本发明实施例中针对8个输入数据的第一类FFT运算示意图; 
图6为本发明实施例中针对8个输入数据的第一类FFT运算内重排序流程示意图; 
图7为本发明实施例中针对8个输入数据的第二类FFT运算示意图。 
具体实施方式
为了节省FFT运算所占用的存储空间,以及提高FFT运算的处理效率,本发明实施例中,在对输入数据进行FFT运算过程中,获得需要进行重排序的各数据的索引值,并对其进行码位倒置运算,得到相应的新索引值;将各数据的索引值与相应的新索引值进行比较,仅在确定比较结果符合预设条件时,将该索引值和相应的新索引值在存储模块中各自对应的数据进行交换,若确定比较结果不符合预设条件,则保持该索引值在存储模块中对应的数据不变。 
本实施例中,在针对N个数进行FFT运算时,将输入数据表示为x(i),数据x(i)的索引值为i,i∈[0,N-1]。所述N限定为2的整数次幂,即N=2m,如8,16,32,64,...。这N个输入数据存放在存储模块中开辟的N个存储单元中,其中第k个存储单元的索引值为k,k∈[0,N-1]。 
下面结合附图对本发明优选的实施方式进行详细说明。 
参阅图2所示,本实施例中,在FFT运算中用于执行重排序的排序装置包括存储模块10、码位倒置模块11、比较模块12和调整模块13; 
存储模块10,用于在对输入数据进行FFT运算过程中,保存需要重排序的各数据,以及保存经过重排序的各数据; 
码位倒置模块11,用于获得需要重排序的各数据的索引值,并对其进行码 位倒置运算,得到相应的新索引值; 
比较模块12,用于将各数据的索引值与相应的新索引值进行比较,并获得比较结果; 
调整模块13,用于仅在确定上述比较结果符合预设条件时,将进行比较的索引值和相应的新索引值在存储模块中各自对应的数据进行交换,以及在确定比较结果不符合预设条件时,将该索引值在存储模块中对应的数据保持不变。 
如图2所示,电路中的计数器用于按照设定的顺序生成需要重排序的各数据的索引值,并向码位倒置模块11发送生成的索引值,数据x(i)的索引值为i,i∈[0,N-1],由管理人员在计数器中设置索引值的初始值和取值范围。 
基于上述排序装置,本实施例中,以先进行第一类FFT运算为例进行介绍,其中,N=16。参阅图3所示,在第一类FFT运算过程中,重排序的详细流程如下: 
步骤300:获得需要重排序的数据。 
参阅图4所示,上述输出结果包含的各数据x(i)的排列顺序为:x(0)、x(8)、x(4)、x(12)、x(2)、x(10)、x(6)、x(14)、x(1)、x(9)、x(5)、x(13)、x(11)、x(7)、x(15);其中,i为各数据的索引值,i∈[0,N-1](即i∈[0,15]),那么,上述各数据的索引值分别为0、8、4、12、2、10、6、14、1、9、5、13、11、7、15。 
步骤310:获取数据x(i)的索引值i的初始值。 
在重排序过程中,由于是逐个获取各数据的索引值,因此,需要设置索引值的初始值,本实施例中,将数据x(i)的索引值i的初始值设置为0,那么,第一个获得的索引值i=0,接着,进行步骤320。 
步骤320:对数据x(i)的索引值i执行码位倒置运算,得到相应的新索引值j。 
本实施例中,对索引值i执行码位倒置运算时,需要对索引值i的二进制编码进行倒序排列,得到的倒序二进制编码所对应的十进制数字即是相应的新索引值j;本实施例中,索引值i与相应的新索引值j的对应关系如表1所示。
表1 
  
0 0000 0000 0
1 0001 1000 8
2 0010 0100 4
3 0011 1100 12
4 0100 0010 2
5 0101 1010 10
6 0110 0110 6
7 0111 1110 14
8 1000 0001 1
9 1001 1001 9
10 1010 0101 5
11 1011 1101 13
12 1100 0011 3
13 1101 1011 11
14 1110 0111 7
15 1111 1111 15
步骤330:进一步判断i是否小于j,即i<j?若是,则进步骤340;否则,不对x[i]进行读写操作,并执行步骤350。 
步骤340:将i与j对应的数据x(i)和x(j)提取出,并将i和j在存储模块中各自对应的数据进行交换。 
例如,如图4所示,索引值i=2时,对其进行码位倒置运算得到的新索引值j=4,由于i<j,因此,将索引值2与相应的新索引值4对应开辟于存储模块中的存储单元中的数据提取并进行交换,即,从相应的新索引值4对应的开辟于存储模块中的存储单元读出的数据便写入到索引值2对应的开辟于存储模块中的存储单元,而从索引值2对应的开辟于存储模块中的存储单元读出的数据便写入到相应的新索引值4对应的开辟于存储模块中的存储单元,显然,重排序后,开辟于存储模块中的16个存储单元里依次存放数据为:x0、x1、x2、 x3、x4……x15,已是顺序排列。 
在实际应用中,也可以在i>j的情况下对索引值i和相应的新索引值j对应的开辟于存储模块中的存储单元中的数据进行交换,而岣和i<j和i=j时不进行读写操作,亦可以达到同样的技术效果,本实施例以在i<j的情况下进行数据交换为例进行说明,在此不再赘述。 
步骤350:获取索引值i的下一个取值i+1,执行i=i+1。 
步骤360:判断i是否小于N(N为需要进行重排序的数据的个数),即i<N?若是,则返回步骤320;否则结束当前流程。 
表2 
  
i 顺序二进制 编码 倒序二进制编 码 j
  i 顺序二进制编码 倒序二进制编码     j
   0     000     000     0
   1     001     100     4
   2     010     010     2
   3     011     110     6
   4     100     001     1
   5     101     101     5
   6     110     011     3
   7     儿1     111     7
在上述实施例中,索引值i的初始值设置为O,每执行一次步骤320-步骤360,便需执行一次i=i+1来获得索引值i的下一个取值,显然,上述流程是按照从小到大的顺序来获得索引值i的各个取值,并进行重排序运算的;在实际应用中,也可以按照其他顺序来获得索引值i的各个取值,例如,对16个数据进行重排序时,将索引值i的初始值设置为15,并在循环过程中,通过执行i=i-1,按照从大到小的顺序获得索引值i的各个取值,在此不再赘述。 
基于上述实施例,下面以输入8个数(即N=7)的第一类FFT运算为例进行介绍,参阅图5所示,在FFT运算过程中,进行重排序之前,开辟于存储模块中的8个存储单元中所存储的数据依次为:x(0)、x(4)、x(2)、x(6)、x(1)、x(5)、x(3)、x(7),接着,参照步骤300-步骤360记载的方法对上述各数据 的索引值进行码位倒置运算,得到相应的新索引值,参阅表2所示,从新索引值可以判断出,无需对索引值为0、2、5和7的开辟于存储模块中的存储单元中的数据执行读写操作,而需要对索引值为1和4的开辟于存储模块中的存储单元中的数据进行交换,以及对索引值为3和6的开辟于存储模块中的存储单元中的数据进行交换;如图6所示,在重排序后,开辟于存储模块中的8个存储单元里依次存放数据为:x(0)、x(1)、x(2)、x(3)、x(4)、x(5)、x(6)、x(7),已是顺序排列。 
另一方面,如图7所示,执行第二类FFT运算时,也可使用步骤310-步骤360记载的方法先对输入数据进行重排序,将顺序输入的各数据按照指定的乱序排列,再对重排序后的各数据进行蝶形运算,同样可以得到顺序的输出结果,同样可以实现节省存储空间和提升FFT运算的技术效果,在此不再赘述。 
综上所述,本发明实施例中,在对输入数据进行FFT运算过程中,获得需要进行重排序的各数据的索引值,并对其进行码位倒置运算,得到相应的新索引值;将各数据的索引值与相应的新索引值进行比较,仅在确定比较结果符合预设条件时,将该索引值和新索引值在存储模块中各自对应的数据进行交换,若确定比较结果不符合预设条件,则将该索引值在存储模块中对应的数据保持不变。这样,在FFT运算过程中,对数据进行重排序时,便无需开辟新的存储单元,从而在很大程度上节省了存储空间;同时,在重排序过程中,无需调整的数据不会被读取,避免了频繁的读写操作,进而在一定程度上提高了FFT运算的处理效率。 
显然,本领域的技术人员可以对本发明中的实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明实施例中的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明中的实施例也意图包含这些改动和变型在内。

Claims (8)

1.一种用于节省存储空间的数据处理装置,其特征在于,包括:
存储模块,用于保存需要进行重排序的各数据,以及保存经过重排序的各数据,所述需要进行重排序的各数据与经过重排序的各数据保存在所述存储模块中的同一组存储单元;
码位倒置模块,用于获得需要进行重排序的各数据的索引值,并对所述索引值进行码位倒置运算,得到相应的新索引值;
比较模块,用于将所述各数据的索引值与相应的新索引值进行比较,并获得比较结果;
调整模块,用于仅在确定所述比较结果符合预设条件时,将所述索引值和相应的新索引值在所述存储模块中各自对应的数据进行交换,以及在确定所述比较结果不符合预设条件时,保持所述索引值在所述存储模块中对应的数据不变。
2.如权利要求1所述的数据处理装置,其特征在于,
所述调整模块在确定所述比较结果为所述索引值大于相应的新索引值时,将所述索引值和相应的新索引值在所述存储模块中各自对应的数据进行交换;以及
在确定所述比较结果为所述索引值等于或小于相应的新索引值时,保持所述索引值对应的数据不变。
3.如权利要求1所述的数据处理装置,其特征在于,
所述调整模块在确定所述比较结果为所述索引值小于相应的新索引值时,将所述索引值和相应的新索引值在所述存储模块中各自对应的数据进行交换;以及
在确定所述比较结果为所述索引值等于或大于相应的新索引值时,保持所述索引值在所述存储模块中对应的数据不变。
4.如权利要求1、2或3所述的数据处理装置,其特征在于,按照从大到小或从小到大的顺序获得所述需要进行重排序的各数据的索引值。
5.一种用于节省存储空间的数据处理方法,其特征在于,包括:
获取需要进行重排序的各数据的索引值,所述需要进行重排序的各数据存储于存储模块中;
对所述索引值进行码位倒置运算,获得相应的新索引值;
将所述索引值与相应的新索引值进行比较,仅在确定比较结果符合预设条件时,将所述索引值和相应的新索引值在所述存储模块中各自对应的数据进行交换,若确定比较结果不符合预设条件,则保持所述索引值在所述存储模块中对应的数据不变;
所述数据交换全部完成后,得到经过重排序的各数据,所述需要进行重排序的各数据与经过重排序的各数据保存在所述存储模块中的同一组存储单元。
6.如权利要求5所述的方法,其特征在于,所述预设条件为:所述索引值大于相应的新索引值。
7.如权利要求5所述的方法,其特征在于,所述预设条件为:所述索引值小于相应的新索引值。
8.如权利要求5、6或7任一项所述的方法,其特征在于,按照从大到小或从小到大的顺序获得所述需要进行重排序的各数据的索引值。
CN200810223292XA 2008-09-28 2008-09-28 一种用于节省存储空间的数据处理装置及方法 Expired - Fee Related CN101364215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810223292XA CN101364215B (zh) 2008-09-28 2008-09-28 一种用于节省存储空间的数据处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810223292XA CN101364215B (zh) 2008-09-28 2008-09-28 一种用于节省存储空间的数据处理装置及方法

Publications (2)

Publication Number Publication Date
CN101364215A CN101364215A (zh) 2009-02-11
CN101364215B true CN101364215B (zh) 2010-12-08

Family

ID=40390586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810223292XA Expired - Fee Related CN101364215B (zh) 2008-09-28 2008-09-28 一种用于节省存储空间的数据处理装置及方法

Country Status (1)

Country Link
CN (1) CN101364215B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520769B (zh) * 2009-04-10 2011-05-11 炬才微电子(深圳)有限公司 一种数据处理的方法和系统
CN101930739B (zh) * 2009-06-25 2012-09-05 炬力集成电路设计有限公司 一种提高速度并减小功耗的数字音频解码滤波方法和装置
CN110018851A (zh) * 2019-04-01 2019-07-16 北京中科寒武纪科技有限公司 数据处理方法、相关设备及计算机可读介质
WO2021237554A1 (zh) * 2020-05-28 2021-12-02 深圳市大疆创新科技有限公司 数据处理方法、装置、可移动平台及存储介质
CN112527754A (zh) * 2020-12-23 2021-03-19 山东鲁能软件技术有限公司 基于按位变长存储的数值型数据压缩方法及系统
CN112597201A (zh) * 2020-12-25 2021-04-02 中国农业银行股份有限公司 元素的计数方法、装置、可读介质以及设备

Also Published As

Publication number Publication date
CN101364215A (zh) 2009-02-11

Similar Documents

Publication Publication Date Title
CN101364215B (zh) 一种用于节省存储空间的数据处理装置及方法
Chen et al. An optimal sample allocation strategy for partition-based random search
CN105630972A (zh) 数据处理方法及装置
CN109840585B (zh) 一种面向稀疏二维卷积的运算方法和系统
CN109656887B (zh) 一种海量高铁轴温数据的分布式时间序列模式检索方法
CN103955446A (zh) 基于dsp芯片的可变长度fft计算方法
CN114297258B (zh) 一种获取多列数据的综合排列数据的方法与设备
CN101290622A (zh) 数据库清洗系统及方法
CN114138231B (zh) 执行矩阵乘法运算的方法、电路及soc
CN106933777B (zh) 基于国产申威26010处理器的基2一维fft的高性能实现方法
CN108053034A (zh) 模型参数处理方法、装置、电子设备及存储介质
CN105550220B (zh) 一种异构系统的取数的方法及装置
CN117197618A (zh) 图像分类模型训练数据选取方法、装置及图像分类方法
CN101520769B (zh) 一种数据处理的方法和系统
CN102763101A (zh) 快速傅里叶变换电路
CN108647243B (zh) 基于时间序列的工业大数据存储方法
CN103493039A (zh) 数据处理方法和相关装置
CN102411491B (zh) 一种用于并行fft计算的数据存取方法及装置
CN114595215A (zh) 数据处理方法、装置、电子设备及存储介质
CN110085284B (zh) 一种面向ssd的基因对比方法及系统
Li et al. Single‐machine scheduling problem with resource dependent release dates to minimise total resource‐consumption
CN102622318B (zh) 一种存储器控制电路及其控制的向量数据寻址方法
CN112258149A (zh) 一种线路可转供电率的确定方法、装置、设备及存储介质
CN113342283A (zh) 用户位置信息存储方法、装置、电子设备及可读存储介质
CN113093702A (zh) 故障数据的预测方法和装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170608

Address after: 519085 C District, 1# workshop, No. 1, science and technology No. four road, hi tech Zone, Zhuhai, Guangdong, China

Patentee after: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

Address before: 519085 No. 1, unit 15, building 1, 1 Da Ha Road, Tang Wan Town, Guangdong, Zhuhai

Patentee before: Juli Integrated Circuit Design Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee after: ACTIONS TECHNOLOGY Co.,Ltd.

Address before: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee before: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20200928