CN102253923B - 基于Turbo结构的快速傅立叶DFT变换系统 - Google Patents

基于Turbo结构的快速傅立叶DFT变换系统 Download PDF

Info

Publication number
CN102253923B
CN102253923B CN 201110211675 CN201110211675A CN102253923B CN 102253923 B CN102253923 B CN 102253923B CN 201110211675 CN201110211675 CN 201110211675 CN 201110211675 A CN201110211675 A CN 201110211675A CN 102253923 B CN102253923 B CN 102253923B
Authority
CN
China
Prior art keywords
dft
vector
module
turbo
fast
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.)
Active
Application number
CN 201110211675
Other languages
English (en)
Other versions
CN102253923A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN 201110211675 priority Critical patent/CN102253923B/zh
Publication of CN102253923A publication Critical patent/CN102253923A/zh
Application granted granted Critical
Publication of CN102253923B publication Critical patent/CN102253923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于Turbo结构的快速傅立叶DFT变换系统,重排列模块,完成数据排列次序和向量生成;基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;后处理模块,完成重排列模块中的数据排列次序以及向量生成;乘法运算单元,完成数据处理流程,乘法器完成运算阵列;本发明采用了迭代的算法,重用了硬件结构,设计了类似Turbo的系统结构,本发明对任意点的DFT都能进行快速实现。

Description

基于Turbo结构的快速傅立叶DFT变换系统
技术领域
本发明属于数字信号处理的领域,特别是涉及一种基于Turbo结构的快速傅立叶DFT变换系统。
背景技术
传统的DFT技术将转换的点数进行分解。如果转换点数是基于2次幂的,则采用FFT(快速傅立叶)变换的方法进行转换,这样一个长度很长的DFT变换可以通过FFT的蝶形结的形式通过级联的形式简化计算复杂度,但是对于非2的幂次级点数的DFT快速算法目前没有很好的解决方法。如果转换点数是质数,则可以直接利用快速循环卷积进行优化。如果点数是基于互质数的乘积点时,则可以将其分解为其质数点短DFT进行转换,然后再级联实现大数的DFT变换,最后再根据快速循环卷积的方法对短DFT变换进行优化,这样大大减少了实现复杂度。
传统DFT变换器的主要缺点:由于传统DFT变换对转换的点数有严格的要求,基于2次幂的或者本身是质数以及能被互质的整数分解的,因此传统的DFT变换对其他大量的DFT点数无法利用快速有效的方法进行实现。详细内容见。[文件1]Valentin Boriakoff,FFT Computation With Systolic Arrays,A NewArchitecture,IEEE Transactions On Circuits And Systems-II:Analog andDigital Signal Processing,VOL 41,NO.4,April 1994,278-284;[文件2]Chao Cheng,Keshab K.Parhi,Low-Cost Fast VLSI Algorithm for DiscreteFourier Transform,IEEE Transactions On Circuits And Systems-I:RegularPapers,VOL.54,NO.4,April 2007,791-806;[文件3]H.S.Silverman,“Anintroduction to programming the Winograd Fourier transform algorithm,”IEEE Trans.Acoust.,Speech,Signal Proces s.,vol.ASSP-25,no.2,pp.152 165,Feb.1977.然而现在的信号处理过程中,有大量的DFT转换长度是不满足传统DFT转换的约束条件的。比如像LTE(Long Term Evolution)标准中有大量的不满足传统DFT约束条件的转换点数。
发明内容
本发明的的目的是提供一种基于Turbo结构的快速傅立叶DFT变换系统。它可以基于任意点分解的DFT实现系统。该系统能够突破传统方法的约束,对任意不满足传统转换点数的DFT进行分解,实现快速转换,并且利用Turbo的结构降低硬件开销。
本发明采用技术方案为:一种基于Turbo结构的快速傅立叶DFT变换系统,包括
重排列模块,完成数据排列次序和向量生成;
基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;
后处理模块,完成重排列模块中的数据排列次序以及向量生成;
乘法运算单元,完成数据处理流程,乘法器完成运算阵列;
输出的重排列单元,输出数据重排列。
所述重排列模块的排列和向量生成方法为:
1、将abi点的输入X按0到abi-1进行顺序排号;
2、生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1,这样共产生了l个集合,每个集合里包含了abi-1个数据;
3、将集合Sl里的元素由小及大进行排序;
4、将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l
所述后处理模块中的排列和向量生成方法为:
1、对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中;
2、然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出来,组成abi-1个新的向量Tj={y1j,y2j…ya-1j};
3、将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj;所述乘法器运算阵列,
其中Hj={W(0*j),W(1*j),W(2*j),…W((a-1)*j)}
Figure BDA0000078944860000031
所述乘法器采用优化的复数乘法器,先横向处理再纵向处理。
所述输出的重排列单元输出数据重排列的方法为:
1、将Zj按j=0,1,…abi-1的顺序展开到一个长度为abi的集合Z′中,并从0到abi进行编号。
2、生成a个集合Pl={i mod a=l;for i=0 to abi}将集合Pl中的元素由小到大排列,再将Pl按1=0,1,…a的顺序展开到一个长度为abi的集合Q中。
3、将集合Z′中的元素按照集合Q中标号排好。得到输出向量Y所述基于折叠的质数点DFT变换模块是重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元。
所述基于折叠的质数点DFT变换模块,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元。
所述本发明系统结合WFTA算法相结合,得到任意点DFT的快速算法。
本发明主要针对不满足传统约束的DFT点数进行分解。对于任意一个非质数(对于质数点的DFT可以直接采用快速循环卷积实现,见[文件2])的整数可以分解为质数次幂的乘积形式:N=a1b1×a2b2×…anbn。将此分解后由于ai之间互质,其bi的次幂之间也互质。因此,可以采用WFTA的算法进行分解,见[文件3]。所以本系统需要重点解决的则是对aibi点数的DFT设计快速算法。
本发明的算法是基于迭代的方式,首先设计出质数ai的快速转换模块,然后通过迭代得到ai2的快速转换模块,继续通过迭代使得ai的幂次增加,最后得到bi的幂次。
本发明中,克服了传统DFT快速算法对分解的点数有严格要求的限制,提出了一种对于任意点数的分解快速DFT算法,解决了非2的幂次级点数的DFT快速算法。采用了迭代的算法,重用了硬件结构,设计了类似Turbo的系统结构。其中利用了矩阵变换,折叠,快速卷积等优化算法,使得硬件开销大大降低。本系统对于LTE等要求可配置的DFT点数的要求也有很好的支持,对于其要求的DFT点数变换可以重用一个硬件系统,而不需要单独设计。与传统DFT快速算法有各种限制相比,本发明对任意点的DFT都能进行快速实现。
本发明的优点是:可以重用硬件结构,ai的0次幂一直到bi次幂都可以运用同一硬件结构实现,不需要针对不同的bi设计不同的硬件,这样的设计对于像LTE这类需要配置的不同DFT点数的设计要求大大减少硬件开销。其次采用了优化的算法使得算法复杂度减少了。
附图说明
图1是整个系统的设计框图;
图2是采用了折叠结构的复数DFT转换器;
图3是后处理的原理图;
图4是优化后的复数乘法器;
图5-图8是后处理的流程图;
图9是Turbo结构的实现电路图。
具体实施方式
下面结合具体实施方式对本发明的上述发明内容作进一步的详细描述。
但不应将此理解为本发明上述主题的范围仅限于下述实施例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的范围内。
见图1-图9所示,一种基于Turbo结构的快速傅立叶DFT变换系统,包括
重排列模块,完成数据排列次序和向量生成;
基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;
后处理模块,完成重排列模块中的数据排列次序以及向量生成;
乘法运算单元,完成数据处理流程,乘法器完成运算阵列;
输出的重排列单元,输出数据重排列。
所述重排列模块的排列和向量生成方法为:
1、将abi点的输入X按0到abi-1进行顺序排号;
2、生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1,这样共产生了l个集合,每个集合里包含了abi-1个数据;
3、将集合Sl里的元素由小及大进行排序;
4、将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l
所述后处理模块中的排列和向量生成方法为:
1、对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中;
2、然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出来,组成abi-1个新的向量Tj={y1j,y2j…ya-1j};
3、将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj;所述乘法器运算阵列,
其中Hj={W(0*j),W(1*j),W(2*j),…W((a-1)*j)}
Figure BDA0000078944860000061
所述乘法器采用优化的复数乘法器,先横向处理再纵向处理。
所述输出的重排列单元输出数据重排列的方法为:
1、将Zj按j=0,1,…abi-1的顺序展开到一个长度为abi的集合Z′中,并从0到abi进行编号。
2、生成a个集合Pl={i mod a=l;for i=0 to abi}将集合Pl中的元素由小到大排列,再将Pl按1=0,1,…a的顺序展开到一个长度为abi的集合Q中。
3、将集合Z′中的元素按照集合Q中标号排好。得到输出向量Y所述基于折叠的质数点DFT变换模块是重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元。
所述基于折叠的质数点DFT变换模块,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元。
所述本发明系统结合WFTA算法相结合,得到任意点DFT的快速算法。
图2中复数DFT转换器其N-DFT内部的结构可以参见[文件2]进行设计。这个模块能完成质数点的DFT运算,整个的设计系统如图1所示是基于迭代的算法。当得到bi-1的DFT模块后,只需要以bi-1为基本模块就可以用迭代的方法得到bi的DFT模块。如果只需要bj<bi次幂的转换模块时,只需将bj后的模块Bypass即可。每个迭代过程其结构都是相似的。
假设已经设计出了abi-1模块,需要设计abi模块。
首先对于需要转换的向量X进行重排列。重排列的顺序方法如下:
1、将abi点的输入X按0到abi-1进行顺序排号。
2、生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1。这样共产生了a个集合,每个集合里包含了abi-1个数据。
3、将集合Sl里的元素由小及大进行排序。
4、将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l
比如当a=3,bi=2时。
S0={0 3 6},S1={1 4 7},S2={2 5 7}X′0={x0,x3,x6}X′1={x1,x4,x7}X′2={x2,x5,x7}
然后按照X′0,X′1,…X′a-1的顺序进行a次的abi-1DFT运算。得到a组的结果Y20,Y21,…Y2a-1。注意这里可以采用一个缓存器进行调度。Y2i={yi0,yi1,…yia bi-1}
下一步需要对Y20,Y21,…Y2a-1进行后处理如图3所示。具体步骤为:
1、对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中。
2、然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出来,组成abi-1个新的向量Tj={y1j,y2j…ya-1j}。
3、将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj
其中Hj={W(0*j),W(1*j),W(2*j),…W((a-1)*j)}
Figure BDA0000078944860000071
可以看出所有Hj的第一项都为1,因此只需要a-1次乘法。
其中点乘的运算是基于复数域的,可以采用快速算法为
Rex = a ( c - d ) + d ( a - b ) Imy = b ( c + d ) + d ( a - b ) 其中c+d c-d可以预先算好放在寄存器中。
每一次运算需要三次乘法和三次加法。结构如图4所示
每个向量Tj有a-1个数据需要进行乘法,但是由于数据并不会同时到来,也不会同时输出,因此并不需要3(a-1)个乘法器。这里只需要a+c(c=a mod3)个乘法器,每个计算周期这个乘法器组可以处理M=(a+c)/3个数据。假设在t=a时钟周期前,乘法器组采用如图5,6所示的方式,横向对Tj进行处理。
当t=a时所有的数据到达了寄存器组,这时Tj中至少有M个数据已经处理了,对应向量组Hj来说的话,就是有M个Hj已经处理完了,用阴影,所示这时前M个Hj可以输出了如图7,8所示。同时控制乘法器组,改变处理方向,对纵向的M个数据进行处理,每一个纵行处理完后,向后处理后一纵行如图,直到所有的数据处理完成。加法器可以根据需要类似的进行设计。
根据实验,按这种方式进行处理,当后处理完成时,Hj正好全部输出。
这样后处理就结束了
是一个包含a个元素的向量,将这个向量
经过后处理的向量Kj={y′1j,y′2j…y′a-1j}是一个包含a个元素的向量,将这个向量送回a点的DFT模块进行变换。
当abi-1个向量Kj进行完了a点的DFT后,此时的输出Zj就是abi点的DFT结果。但是还要重新对其顺序进行排列才是最后X所对应的DFT
其步骤为:
1、将Zj按j=0,1,…abi-1的顺序展开到一个长度为abi的集合Z′中,并从0到abi进行编号。
2、生成a个集合Pl={i mod a=l;for i=0 to abi}将集合Pl中的元素由小到大排列,再将Pl按l=0,1,…a的顺序展开到一个长度为abi的集合Q中。
3、将集合Z′中的元素按照集合Q中标号排好。得到输出向量Y
此时Y就是最后abi点的DFT转换。
整个的系统架构如图9所示。一个类似Turbo的结构。
这样对任意非质数点进行分解后,将有指数项的点数利用本设计得到。然后再利用WFTA的快速算法,这样可以对任意点的DFT进行快速变换。

Claims (3)

1.一种基于Turbo结构的快速傅立叶DFT变换系统,包括重排列模块,完成数据排列次序和向量生成,用于:
1)将abi点的输入X按0到abi-1进行顺序排号;
2)生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1,这样共产生了l个集合,每个集合里包含了abi-1个数据;
3)将集合Sl里的元素由小及大进行排序;
4)将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l
基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;
后处理模块,完成重排列模块中的数据排列次序以及向量生成,用于:
a)对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中;
b)然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出来,组成abi-1个新的向量Tj={y1j,y2j…ya-1j};
c)将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj
乘法运算单元,完成数据处理流程,乘法器完成运算阵列;
输出的重排列单元,输出数据重排列,用于:
i.将Zj按j=0,1,···abi-1的顺序展开到一个长度为abi的集合Z′中,并从0到abi进行编号;
ii.生成a个集合Pl={i mod a=l;for i=0 to abi}将集合Pl中的元素由小到大排列,再将Pl按l=0,1,···a的顺序展开到一个长度为abi的集合Q中;
iii.将集合Z′中的元素按照集合Q中标号排好,得到输出向量Y。
2.根据权利要求1所述的基于Turbo结构的快速傅立叶DFT变换系统,其特征在于:所述乘法器采用优化的复数乘法器,先横向处理再纵向处理。
3.根据权利要求1所述的根据权利要求1所述的基于Turbo结构的快速傅立叶DFT变换系统,其特征在于:所述系统与WFTA算法相结合,用于对任意点的DFT进行快速变换。
CN 201110211675 2011-07-27 2011-07-27 基于Turbo结构的快速傅立叶DFT变换系统 Active CN102253923B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110211675 CN102253923B (zh) 2011-07-27 2011-07-27 基于Turbo结构的快速傅立叶DFT变换系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110211675 CN102253923B (zh) 2011-07-27 2011-07-27 基于Turbo结构的快速傅立叶DFT变换系统

Publications (2)

Publication Number Publication Date
CN102253923A CN102253923A (zh) 2011-11-23
CN102253923B true CN102253923B (zh) 2013-08-14

Family

ID=44981195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110211675 Active CN102253923B (zh) 2011-07-27 2011-07-27 基于Turbo结构的快速傅立叶DFT变换系统

Country Status (1)

Country Link
CN (1) CN102253923B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656891B (zh) * 2015-07-21 2019-09-20 苏州简约纳电子有限公司 Lte系统中的数据处理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571849A (zh) * 2008-05-04 2009-11-04 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101771648A (zh) * 2009-01-06 2010-07-07 中兴通讯股份有限公司 一种多天线信号处理系统及方法
CN101795152A (zh) * 2010-01-15 2010-08-04 清华大学 前向链路基于sc-ofdma的卫星移动通信系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571849A (zh) * 2008-05-04 2009-11-04 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101771648A (zh) * 2009-01-06 2010-07-07 中兴通讯股份有限公司 一种多天线信号处理系统及方法
CN101795152A (zh) * 2010-01-15 2010-08-04 清华大学 前向链路基于sc-ofdma的卫星移动通信系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于MATLAB/SIMLINK的Turbo交织器的仿真实现;陈杰男;《实验科学与技术》;20060430(第4期);全文 *
陈杰男.基于MATLAB/SIMLINK的Turbo交织器的仿真实现.《实验科学与技术》.2006,(第4期),

Also Published As

Publication number Publication date
CN102253923A (zh) 2011-11-23

Similar Documents

Publication Publication Date Title
CN100566183C (zh) 分层准循环扩展构造的ldpc码的编码器
CN107341133B (zh) 基于任意维数矩阵lu分解的可重构计算结构的调度方法
Haveliya A Novel Design for High Speed Multiplier for Digital Signal Processing Applications
CN102437857A (zh) 一种ira-ldpc码的构造方法及其编码器
CN110543939A (zh) 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构
CN103199873A (zh) 两级分块crc运算的快速配置方法
CN106817106A (zh) 一种并行fir滤波方法及fir滤波器
Wen et al. An efficient FPGA accelerator optimized for high throughput sparse CNN inference
CN115238863A (zh) 一种卷积神经网络卷积层的硬件加速方法、系统及应用
CN102253923B (zh) 基于Turbo结构的快速傅立叶DFT变换系统
Mukherjee et al. Counter based low power, low latency Wallace tree multiplier using GDI technique for on-chip digital filter applications
CN112862091B (zh) 一种基于快速卷积的资源复用型神经网络硬件加速电路
CN110555512B (zh) 一种二值卷积神经网络数据重用方法及装置
CN104268124A (zh) 一种fft实现装置和方法
CN109951173B (zh) 一种多路并行输入并行处理的fir滤波方法及滤波器
CN107368459A (zh) 基于任意维数矩阵乘法的可重构计算结构的调度方法
Chen et al. 19.7 A scalable pipelined time-domain DTW engine for time-series classification using multibit time flip-flops with 140Giga-cell-updates/s throughput
CN112836793B (zh) 浮点可分离卷积计算加速装置、系统以及图像处理方法
CN102929574A (zh) Gf(2163)域上的脉动乘法器设计方法
RU2477513C1 (ru) Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю
Yang et al. High performance reconfigurable computing for Cholesky decomposition
CN102355231A (zh) 一种基于概率计算的低功耗数字滤波器及实现方法
CN102708092B (zh) 一种实现混合基fft末级重排序的映射迭代方法
Park et al. Fast arithmetic on reconfigurable meshes
CN112051983B (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