首页 / 专利库 / 数学与统计 / 快速傅立叶变换 / 基于Turbo结构的快速傅立叶DFT变换系统

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

阅读:212发布:2020-05-12

专利汇可以提供基于Turbo结构的快速傅立叶DFT变换系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于Turbo结构的快速傅立叶DFT变换系统,重排列模 块 ,完成数据排列次序和向量生成;基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用 迭代 结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;后处理模块,完成重排列模块中的数据排列次序以及向量生成;乘法运算单元,完成 数据处理 流程,乘法器完成运算阵列;本发明采用了迭代的 算法 ,重用了 硬件 结构,设计了类似Turbo的系统结构,本发明对任意点的DFT都能进行快速实现。,下面是基于Turbo结构的快速傅立叶DFT变换系统专利的具体信息内容。

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

说明书全文

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

技术领域

[0001] 本发明属于数字信号处理的领域,特别是涉及一种基于Turbo结构的快速傅立叶DFT变换系统。

背景技术

[0002] 传统的DFT技术将转换的点数进行分解。如果转换点数是基于2次幂的,则采用FFT(快速傅立叶)变换的方法进行转换,这样一个长度很长的DFT变换可以通过FFT的蝶形结的形式通过级联的形式简化计算复杂度,但是对于非2的幂次级点数的DFT快速算法目前没有很好的解决方法。如果转换点数是质数,则可以直接利用快速循环卷积进行优化。如果点数是基于互质数的乘积点时,则可以将其分解为其质数点短DFT进行转换,然后再级联实现大数的DFT变换,最后再根据快速循环卷积的方法对短DFT变换进行优化,这样大大减少了实现复杂度。
[0003] 传统DFT变换器的主要缺点:由于传统DFT变换对转换的点数有严格的要求,基于2次幂的或者本身是质数以及能被互质的整数分解的,因此传统的DFT变换对其他大量的DFT点数无法利用快速有效的方法进行实现。详细内容见。[文件1]Valentin Boriakoff,FFT Computation With Systolic Arrays,A New Architecture,IEEE Transactions On Circuits And Systems-II:Analog and Digital Signal Processing,VOL 41,NO.4,April
1994,278-284;[文件2]Chao Cheng,Keshab K.Parhi,Low-Cost Fast VLSI Algorithm for Discrete Fourier Transform,IEEE Transactions On Circuits And Systems-I:Regular Papers,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约束条件的转换点数。

发明内容

[0004] 本发明的的目的是提供一种基于Turbo结构的快速傅立叶DFT变换系统。它可以基于任意点分解的DFT实现系统。该系统能够突破传统方法的约束,对任意不满足传统转换点数的DFT进行分解,实现快速转换,并且利用Turbo的结构降低硬件开销。
[0005] 本发明采用技术方案为:一种基于Turbo结构的快速傅立叶DFT变换系统,包括[0006] 重排列模,完成数据排列次序和向量生成;
[0007] 基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;
[0008] 后处理模块,完成重排列模块中的数据排列次序以及向量生成;
[0009] 乘法运算单元,完成数据处理流程,乘法器完成运算阵列;
[0010] 输出的重排列单元,输出数据重排列。
[0011] 所述重排列模块的排列和向量生成方法为:
[0012] 1、将abi点的输入X按0到abi-1进行顺序排号;
[0013] 2、生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1,这样共产生了l个集合,每个集合里包含了abi-1个数据;
[0014] 3、将集合Sl里的元素由小及大进行排序;
[0015] 4、将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l。
[0016] 所述后处理模块中的排列和向量生成方法为:
[0017] 1、对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中;
[0018] 2、然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出来,组成abi-1个新的向量Tj={y1j,y2j…ya-1j};
[0019] 3、将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj;所述乘法器运算阵列,
[0020] 其中Hj={W(0*j),W(1*j),W(2*j),…W((a-1)*j)}
[0021] 所述乘法器采用优化的复数乘法器,先横向处理再纵向处理。
[0022] 所述输出的重排列单元输出数据重排列的方法为:
[0023] 1、将Zj按j=0,1,…abi-1的顺序展开到一个长度为abi的集合Z′中,并从0到abi进行编号。
[0024] 2、生成a个集合Pl={i mod a=l;for i=0 to abi}将集合Pl中的元素由小到大排列,再将Pl按1=0,1,…a的顺序展开到一个长度为abi的集合Q中。
[0025] 3、将集合Z′中的元素按照集合Q中标号排好。得到输出向量Y所述基于折叠的质数点DFT变换模块是重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元。
[0026] 所述基于折叠的质数点DFT变换模块,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元。
[0027] 所述本发明系统结合WFTA算法相结合,得到任意点DFT的快速算法。
[0028] 本发明主要针对不满足传统约束的DFT点数进行分解。对于任意一个非质数(对于质数点的DFT可以直接采用快速循环卷积实现,见[文件2])的整数可以分解为质数次b1 b2 bn幂的乘积形式:N=a1 ×a2 ×…an 。将此分解后由于ai之间互质,其bi的次幂之间也互质。因此,可以采用WFTA的算法进行分解,见[文件3]。所以本系统需要重点解决的则bi
是对ai 点数的DFT设计快速算法。
[0029] 本发明的算法是基于迭代的方式,首先设计出质数ai的快速转换模块,然后通过2
迭代得到ai 的快速转换模块,继续通过迭代使得ai的幂次增加,最后得到bi的幂次。
[0030] 本发明中,克服了传统DFT快速算法对分解的点数有严格要求的限制,提出了一种对于任意点数的分解快速DFT算法,解决了非2的幂次级点数的DFT快速算法。采用了迭代的算法,重用了硬件结构,设计了类似Turbo的系统结构。其中利用了矩阵变换,折叠,快速卷积等优化算法,使得硬件开销大大降低。本系统对于LTE等要求可配置的DFT点数的要求也有很好的支持,对于其要求的DFT点数变换可以重用一个硬件系统,而不需要单独设计。与传统DFT快速算法有各种限制相比,本发明对任意点的DFT都能进行快速实现。
[0031] 本发明的优点是:可以重用硬件结构,ai的0次幂一直到bi次幂都可以运用同一硬件结构实现,不需要针对不同的bi设计不同的硬件,这样的设计对于像LTE这类需要配置的不同DFT点数的设计要求大大减少硬件开销。其次采用了优化的算法使得算法复杂度减少了。附图说明
[0032] 图1是整个系统的设计框图
[0033] 图2是采用了折叠结构的复数DFT转换器;
[0034] 图3是后处理的原理图;
[0035] 图4是优化后的复数乘法器;
[0036] 图5-图8是后处理的流程图
[0037] 图9是Turbo结构的实现电路图。

具体实施方式

[0038] 下面结合具体实施方式对本发明的上述发明内容作进一步的详细描述。
[0039] 但不应将此理解为本发明上述主题的范围仅限于下述实施例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的范围内。
[0040] 见图1-图9所示,一种基于Turbo结构的快速傅立叶DFT变换系统,包括[0041] 重排列模块,完成数据排列次序和向量生成;
[0042] 基于折叠的质数点DFT变换模块,重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元;
[0043] 后处理模块,完成重排列模块中的数据排列次序以及向量生成;
[0044] 乘法运算单元,完成数据处理流程,乘法器完成运算阵列;
[0045] 输出的重排列单元,输出数据重排列。
[0046] 所述重排列模块的排列和向量生成方法为:
[0047] 1、将abi点的输入X按0到abi-1进行顺序排号;
[0048] 2、生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1,这样共产生了l个集合,每个集合里包含了abi-1个数据;
[0049] 3、将集合Sl里的元素由小及大进行排序;
[0050] 4、将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l。
[0051] 所述后处理模块中的排列和向量生成方法为:
[0052] 1、对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中;
[0053] 2、然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出来,组成abi-1个新的向量Tj={y1j,y2j…ya-1j};
[0054] 3、将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj;所述乘法器运算阵列,
[0055] 其中Hj={W(0*j),W(1*j),W(2*j),…W((a-1)*j)}
[0056] 所述乘法器采用优化的复数乘法器,先横向处理再纵向处理。
[0057] 所述输出的重排列单元输出数据重排列的方法为:
[0058] 1、将Zj按j=0,1,…abi-1的顺序展开到一个长度为abi的集合Z′中,并从0到abi进行编号。
[0059] 2、生成a个集合Pl={i mod a=l;for i=0 to abi}将集合Pl中的元素由小到大排列,再将Pl按1=0,1,…a的顺序展开到一个长度为abi的集合Q中。
[0060] 3、将集合Z′中的元素按照集合Q中标号排好。得到输出向量Y所述基于折叠的质数点DFT变换模块是重用原始质数点的DFT运算单元,得到幂次级的DFT变换单元。
[0061] 所述基于折叠的质数点DFT变换模块,利用迭代结构将Turbo结构不断进行迭代,以生成幂次更高的DFT变换单元。
[0062] 所述本发明系统结合WFTA算法相结合,得到任意点DFT的快速算法。
[0063] 图2中复数DFT转换器其N-DFT内部的结构可以参见[文件2]进行设计。这个模块能完成质数点的DFT运算,整个的设计系统如图1所示是基于迭代的算法。当得到bi-1的DFT模块后,只需要以bi-1为基本模块就可以用迭代的方法得到bi的DFT模块。如果只需要bj<bi次幂的转换模块时,只需将bj后的模块Bypass即可。每个迭代过程其结构都是相似的。
[0064] 假设已经设计出了abi-1模块,需要设计abi模块。
[0065] 首先对于需要转换的向量X进行重排列。重排列的顺序方法如下:
[0066] 1、将abi点的输入X按0到abi-1进行顺序排号。
[0067] 2、生成排序集合Sl={i mod a=l;for i=0 to abi-1}l=0,1,…a-1。这bi-1样共产生了a个集合,每个集合里包含了a 个数据。
[0068] 3、将集合Sl里的元素由小及大进行排序。
[0069] 4、将向量X里的元素按照集合Sl里元素所对应的顺序进行排序并且按集合进行分组得到X′l。
[0070] 比如当a=3,bi=2时。
[0071] 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}
[0072] 然后按照X′0,X′1,…X′a-1的顺序进行a次的abi-1DFT运算。得到a组的结bi-1果Y20,Y21,…Y2a-1。注意这里可以采用一个缓存器进行调度。Y2i={yi0,yi1,…yia }[0073] 下一步需要对Y20,Y21,…Y2a-1进行后处理如图3所示。具体步骤为:
[0074] 1、对于收到的每组向量Y2i,放到宽度为abi-1长度为a的缓存器中。
[0075] 2、然后分别将每组向量的第1个元素,第2个元素,一直到第abi-1个元素提取出bi-1来,组成a 个新的向量Tj={y1j,y2j…ya-1j}。
[0076] 3、将向量Tj的元素与向量组Hj中的对应进行点乘得到向量Kj。
[0077] 其中Hj={W(0*j),W(1*j),W(2*j),…W((a-1)*j)} 可以看出所有Hj的第一项都为1,因此只需要a-1次乘法。
[0078] 其中点乘的运算是基于复数域的,可以采用快速算法为
[0079] 其中c+d c-d可以预先算好放在寄存器中。
[0080] 每一次运算需要三次乘法和三次加法。结构如图4所示
[0081] 每个向量Tj有a-1个数据需要进行乘法,但是由于数据并不会同时到来,也不会同时输出,因此并不需要3(a-1)个乘法器。这里只需要a+c(c=a mod3)个乘法器,每个计算周期这个乘法器组可以处理M=(a+c)/3个数据。假设在t=a时钟周期前,乘法器组采用如图5,6所示的方式,横向对Tj进行处理。
[0082] 当t=a时所有的数据到达了寄存器组,这时Tj中至少有M个数据已经处理了,对应向量组Hj来说的话,就是有M个Hj已经处理完了,用阴影,所示这时前M个Hj可以输出了如图7,8所示。同时控制乘法器组,改变处理方向,对纵向的M个数据进行处理,每一个纵行处理完后,向后处理后一纵行如图,直到所有的数据处理完成。加法器可以根据需要类似的进行设计。
[0083] 根据实验,按这种方式进行处理,当后处理完成时,Hj正好全部输出。
[0084] 这样后处理就结束了
[0085] 是一个包含a个元素的向量,将这个向量
[0086] 经过后处理的向量Kj={y′1j,y′2j…y′a-1j}是一个包含a个元素的向量,将这个向量送回a点的DFT模块进行变换。bi-1 bi
[0087] 当a 个向量Kj进行完了a点的DFT后,此时的输出Zj就是a 点的DFT结果。但是还要重新对其顺序进行排列才是最后X所对应的DFT
[0088] 其步骤为:bi-1 bi
[0089] 1、将Zj按j=0,1,…a 的顺序展开到一个长度为a 的集合Z′中,并从0到bia 进行编号。
bi
[0090] 2、生成a个集合Pl={i mod a=l;for i=0 to a }将集合Pl中的元素由小bi到大排列,再将Pl按l=0,1,…a的顺序展开到一个长度为a 的集合Q中。
[0091] 3、将集合Z′中的元素按照集合Q中标号排好。得到输出向量Ybi
[0092] 此时Y就是最后a 点的DFT转换。
[0093] 整个的系统架构如图9所示。一个类似Turbo的结构。
[0094] 这样对任意非质数点进行分解后,将有指数项的点数利用本设计得到。然后再利用WFTA的快速算法,这样可以对任意点的DFT进行快速变换。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈