CN102982005A - 一种无需重新排序的11点wfta处理器和方法 - Google Patents
一种无需重新排序的11点wfta处理器和方法 Download PDFInfo
- Publication number
- CN102982005A CN102982005A CN2012104360312A CN201210436031A CN102982005A CN 102982005 A CN102982005 A CN 102982005A CN 2012104360312 A CN2012104360312 A CN 2012104360312A CN 201210436031 A CN201210436031 A CN 201210436031A CN 102982005 A CN102982005 A CN 102982005A
- Authority
- CN
- China
- Prior art keywords
- matrix
- vector
- vectorial
- wfta
- point
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及一种无需重新排序的11点WFTA处理器,其特征在于,所述处理器主要由输入矩阵I、可变对角矩阵A、输出矩阵O和复数乘法器M1~M3四部分组成。输入矩阵I通过复数乘法器M1与输入向量v相乘得到向量p,可变对角矩阵A通过复数乘法器M2与向量p相乘得到向量q,输出矩阵O通过复数乘法器M3与向量q相乘得到输出向量V。本发明去除了N点变址同序素因子算法中11点WFTA涉及的重新排序操作,简化了控制逻辑,提高了运算速度,节约了存储器消耗,降低了硬件成本。
Description
技术领域
本发明涉及数字信号处理领域,特别涉及一种无需重新排序的小点数Winograd快速傅里叶变换算法(Winograd Fourier Transform Algorithm,WFTA)的实现方法。
背景技术
随着无线通信业务的不断增长,可利用的频谱资源日益紧张。为了提高频谱利用率和通信质量,现代无线通信系统广泛采用对频率选择性衰落具有较强免疫力的正交频分复用(Orthogonal Frequency Duplex Multiplexing,OFDM)技术。OFDM技术的核心是FFT。FFT的点数分为2的幂次和非2幂次两种。点数是2的幂次的FFT算法和实现比较成熟。相比之下,非2幂次点数的FFT更为灵活,近年来在DRM、DTMB、LTE系统中开始得到应用。因此,非2幂次点数FFT的算法和实现值得深入研究。
目前,素因子算法(Prime Factor Algorithm,PFA)是最有效的非2幂次FFT,它采用嵌套多维结构,能有效降低计算复杂度。对于N点非2幂次FFT,假设N可分解为s个两两互素因子的乘积,即N=N1N2…Ns。N点PFA的基本原理是,把一维大点数FFT映射成s维小点数FFT,第i(i=1,2,…,s)维FFT进行N/Ni次Ni点小点数FFT。小点数FFT可借助于Cooley-Tukey算法、WFTA以及其它高效算法。
在某些情况下,PFA需要重新排序。根据在计算过程中所处的位置,重新排序分为预扰乱和后扰乱。不考虑Ni(i=1,2,…,s)点FFT的内部机制,如果第i维FFT无需重新排序,那么它是同址的;否则,它是变址的,重新排序是在Ni点序列内进行的,预扰乱和后扰乱分别在Ni点FFT之前和之后执行。类似地,不考虑每维FFT的内部机制,如果N点PFA整体上无需重新排序,那么它是同序的;否则,它是变序的,重新排序是在N点序列内进行的,预扰乱和后扰乱分别在第一维FFT开始前和最后一维FFT结束后执行。这样,PFA理论上可分为4种:变址变序、变址同序、同址同序和同址变序。
目前,PFA要么是变址同序的,要么是同址变序的,不可避免地引入了重新排序操作。众所周知,重新排序意味着必须增加一级缓冲区,需要消耗较多的存储器资源,会增加硬件成本。此外,重新排序还会降低运算速度,增加控制的复杂度。与同址变序PFA相比,变址同序PFA消耗较少的存储器资源,两者重新排序的总延时完全相同,都是N个时钟周期,因此,变址同序PFA更可取。
发明内容
针对PFA的现有实现方案中存在的需要重新排序这一技术缺点,本发明提供了无需重新排序的11点WFTA处理器。当N点非2幂次FFT采用变址同序PFA实现时,如果N的某一互素因子Ni=11(i=1,2,…,s),那么使用本专利无需对第i维FFT重新排序。
为了去除第i维11点FFT的重新排序操作,需要修改常规的11点WFTA。常规的11点WFTA的对角矩阵是固定不变的,本发明将对角矩阵对角线上的各元素表示成角度参数θ=2π/11*<N/11>11的函数,其中,<N/11>11表示对N/11取模11操作。对于不同的N,修改的11点WFTA的对角矩阵不尽相同。
对于第i维FFT,需进行N/11次无需重新排序的11点WFTA,无需重新排序,简化了控制逻辑,共节约了N/11*11=N个时钟周期,提高了运算速度,存储器消耗减少了一半,降低了硬件成本。
关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。
附图说明
图1是常规的11点WFTA处理器的功能框图;
图2是输入矩阵I的具体构成;
图3是输出矩阵O的具体构成;
图4是对角矩阵D对角线上的具体构成;
图5是预扰乱的11点WFTA处理器的结构示意图;
图6是后扰乱的11点WFTA处理器的结构示意图;
图7是无需重新排序的11点WFTA处理器的功能框图;
图8是可变对角矩阵A对角线上的具体构成。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
N点序列x(n)的FFT为
其中,n,k=0,1,…,N-1,WN=e-j2π/N。直接计算N点FFT的乘法和加法运算量都与N的平方成正比。当N较大时,运算量很大。
为了降低计算复杂度,当N不是2的幂次时,可采用嵌套多维的PFA实现N点FFT。假设N可分解为s个两两互素因子的乘积,即N=N1N2…Ns。也就是说,任意两个因子Ni和Nj(i,j=1,2,…,s,且i≠j)的最大公约数是1。注意,Ni未必是素数。N点PFA的基本原理是,把一维大点数FFT映射成s维FFT,第i维FFT进行N/Ni次Ni点小点数FFT。小点数FFT可借助于Cooley-Tukey算法、WFTA以及其它高效算法。
为了使PFA总体上是同序的,在一维FFT映射成s维FFT时,根据中国余数定理,输入索引n和输出索引k采用如下相同的映射方式:
其中,符号〈〉N表示模N运算,ni,ki=0,1,…,Ni-1。将式(2)和(3)代入式(1),整理可得:
其中,
对比式(2)和(3)容易发现,索引n和k的映射方式本质上完全相同。因此,只要式(4)中每维FFT的索引ni和ki都是自然顺序的,N点PFA就是同序的。
在式(4)中,第i(i=1,2,…,s)维FFT的傅里叶变换因子可写作
或
式中,
众所周知,常规的Ni点FFT算法的输入和输出都是按照自然顺序的。如果式(4)中的第i维FFT采用常规的Ni点FFT算法,那么式(5)是按照ni的自然顺序输入、k′i的自然顺序输出,式(6)则是按照ni′的自然顺序输入、ki的自然顺序输出。然而,由式(2)和(3)可知,同序PFA要求式(4)中的第i维FFT按照ni的自然顺序输入、ki的自然顺序输出。可见,如果式(4)中的第i维FFT采用常规的Ni点FFT算法,那么必须重新排序。具体而言,式(5)和(6)分别根据式(7)和(8)中的规则进行后扰乱和预扰乱。可见,式(4)中的第i维FFT是变址的。变址通过重新排序实现。为了去掉重新排序这一额外操作,我们必须修改常规的Ni点FFT算法,将重新排序操作吸纳其中。
常规的Ni点WFTA可用向量与矩阵的连乘表示,即
V=O*D*I*v (9)
其中,v和V分别是由Ni点输入和输出序列构成的向量,I和O分别是输入和输出矩阵,D是对角矩阵。通常,矩阵I和O中的元素都只可能是0、±1和±j,与向量相乘时不涉及实质性乘法。对于对角矩阵D,除对角上的元素非零外,其它位置上的元素均为0。
当Ni=11时,N点变址同序PFA的第i维FFT可采用11点WFTA。图1给出了常规的11点WFTA处理器的功能框图。11点输入序列构成向量v,它先与矩阵I相乘,运算所得向量再与对角矩阵D相乘,运算所得向量最后与矩阵O相乘,运算所得向量V即为11点输出序列。图2和3分别给出了输入矩阵I和输出矩阵O的具体构成。图4给出了对角矩阵D对角线上的具体构成,从左上角到右下角的元素分别是d0~d20。
变址同序PFA第i维FFT的变址是通过重新排序实现的。当Ni=11时,图5和6分别给出了预扰乱和后扰乱的11点WFTA处理器的结构示意图。为了去掉预扰乱或后扰乱中的重新排序操作,我们必须修改常规的Ni=11点WFTA,将重新排序操作吸纳其中。
图7给出了无需重新排序的11点WFTA处理器的功能框图,它主要由输入矩阵I、可变对角矩阵A、输出矩阵O和复数乘法器四种功能模块组成。输出向量与输入向量满足:V=O*A*I*v。与常规的11点WFTA相比,无需重新排序的11点WFTA的矩阵I和O均保持不变,对角矩阵不再是常数,其对角线上的各元素修改为角度参数θ=2π/11*<N/11>11的函数,其中,<N/11>11表示对N/11取模11操作。图8给出了可变对角矩阵A对角线上的具体构成,从左上角到右下角的元素分别是a0~a20。对于不同的N,无需重新排序的11点WFTA的对角矩阵不尽相同。
本发明提供了一种去除变址同序PFA中11点WFTA重新排序的方法,当Ni=11时,N点变址同序PFA的第i维FFT可通过N/11次无需重新排序的11点WFTA加以实现,其步骤如下:
(1)根据N确定角度参数θ=2π/11*<N/11>11的具体取值,在此基础上初始化可变对角矩阵A对角线上各元素的数值,使A变为常数,初始化变量l=0(0≤l<N/11);
(2)从输入序列x[n]中读取11个数据,它们的索引是n=<N/11*m+11*l>N(0≤m<11),它们构成向量v;
(3)通过复数乘法器M1,输入矩阵I与向量v相乘,得到向量p;
(4)通过复数乘法器M2,可变对角矩阵A与向量p相乘,得到向量q;
(5)通过复数乘法器M3,输出矩阵O与向量q相乘,得到向量V;
(6)将向量V中的11个数据依次写入到输出序列X[k]中,写入的索引与读取的索引完全相同,仍然是k=<N/11*m+11*l>N;
(7)以1为步长递增改变l的取值,重复步骤(2)~(6),直到完成N/11次无需重新排序的11点WFTA。
如果N点变址同序PFA的第i维FFT采用常规的11点WFTA,那么每次重新排序需要11个时钟周期,这意味执行N/11次常规的11点WFTA共需N/11*11=N个时钟周期进行重新排序。可见,若N点变址同序PFA的第i维FFT采用本发明,则无需重新排序,从而简化控制逻辑,可节约N个时钟周期,提高了运算速度,存储器需求可减少一半,降低了硬件成本。
以上通过具体实施方式和实施例对本发明进行了详细的说明,对于本领域的技术人员来说,在不脱离本发明原理的情况下,还可做出若干变形和改进,这些也应视为本发明的保护范围。
Claims (4)
1.一种无需重新排序的11点Winograd快速傅里叶变换处理器,它嵌套于s维的N点变址同序素因子算法,其中,N=N1N2…Ns,任意两个不同因子Ni和Nj互素,i=1,2,…,s,j=1,2,…,s,当某一因子Ni=11时,所述处理器可用于去除N点变址同序素因子算法第i维FFT的重新排序操作,其特征在于,所述处理器包括:
复数乘法器M1~M3,它们完成矩阵与向量的乘法运算;
输入矩阵I,它通过复数乘法器M1与输入向量v相乘得到向量p;
可变对角矩阵A,它通过复数乘法器M2与向量p相乘得到向量q;
输出矩阵O,它通过复数乘法器M3与向量q相乘得到输出向量V。
2.如权利要求1所述的11点Winograd快速傅里叶变换处理器,其特征在于,所述输入矩阵I和输出矩阵O与常规的11点Winograd快速傅里叶变换处理器相同,而对角矩阵由常规的常数矩阵修改为可变矩阵A。
3.如权利要求1所述的11点Winograd快速傅里叶变换处理器,其特征在于,所述可变对角矩阵A对角线上的各元素是角度参数θ=2π/11*<N/11>11的函数,其中,<N/11>11表示对N/11取模11操作。
4.一种去除N点变址同序素因子算法第i维FFT重新排序操作的11点Winograd快速傅里叶变换处理方法,其中,N=N1N2…Ns,任意两个不同因子Ni和Nj互素,i=1,2,…,s,j=1,2,…,s,Ni=11,其特征在于,所述处理方法包括以下步骤:
(1)根据N确定角度参数θ=2π/11*<N/11>11的具体取值,在此基础上初始化可变对角矩阵A对角线上各元素的数值,使A变为常数,初始化变量l=0,其中,0≤l<N/11,<N/11>11表示对N/11取模11操作;
(2)从输入序列x[n]中读取11个数据,它们的索引是n=<N/11*m+11*l>N,它们构成向量v,其中,0≤m<11,<N/11*m+11*l>N表示对N/11*m+11*l取模N操作;
(3)通过复数乘法器M1,输入矩阵I与向量v相乘,得到向量p;
(4)通过复数乘法器M2,可变对角矩阵A与向量p相乘,得到向量q;
(5)通过复数乘法器M3,输出矩阵O与向量q相乘,得到向量V;
(6)将向量V中的11个数据依次写入到输出序列X[k]中,写入的索引与读取的索引完全相同,仍然是k=<N/11*m+11*l>N;
(7)以1为步长递增改变l的取值,重复步骤(2)~(6),直到完成N/11次无需重新排序的11点WFTA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104360312A CN102982005A (zh) | 2012-11-05 | 2012-11-05 | 一种无需重新排序的11点wfta处理器和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104360312A CN102982005A (zh) | 2012-11-05 | 2012-11-05 | 一种无需重新排序的11点wfta处理器和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102982005A true CN102982005A (zh) | 2013-03-20 |
Family
ID=47856048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104360312A Pending CN102982005A (zh) | 2012-11-05 | 2012-11-05 | 一种无需重新排序的11点wfta处理器和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102982005A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419741A (zh) * | 2011-11-30 | 2012-04-18 | 中国传媒大学 | 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法 |
CN102609396A (zh) * | 2012-01-19 | 2012-07-25 | 中国传媒大学 | 一种drm系统中离散傅里叶变换处理装置和方法 |
-
2012
- 2012-11-05 CN CN2012104360312A patent/CN102982005A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419741A (zh) * | 2011-11-30 | 2012-04-18 | 中国传媒大学 | 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法 |
CN102609396A (zh) * | 2012-01-19 | 2012-07-25 | 中国传媒大学 | 一种drm系统中离散傅里叶变换处理装置和方法 |
Non-Patent Citations (5)
Title |
---|
C.SIDNEY BURRUS,ET AL.: "AN IN-PLACE, IN-ORDER PRIME FACTOR FFT ALGORITHM", 《IEEE TRANSACTIONS ON ACOUSTICS, AND SIGNAL PROCESSING》, vol. 29, no. 4, 31 December 1981 (1981-12-31) * |
DEAN P.KOLBA,ET AL.: "A PRIME FACTOR FFT ALGORITHM USING USING HIGH-SPEED CONVOLUTION", 《IEEE TRANSACTIONS ON ACOUSTICS, AND SIGNAL PROCESSING》, vol. 25, no. 4, 31 December 1977 (1977-12-31) * |
S.WINOGRAD: "ON COMPUTING THE DISCRETE FOURIER TRANSFORM", 《MATHEMATICS OF COMPUTATION》, vol. 32, no. 141, 31 January 1978 (1978-01-31) * |
何苗等: "DRM系统中OFDM模块的高效实现", 《电子科技大学学报》, vol. 36, no. 5, 31 October 2007 (2007-10-31) * |
张鹏等: "DRM系统中OFDM解调的高效实现", 《电声技术》, vol. 24, no. 10, 31 December 2010 (2010-12-31) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347994B2 (en) | Weight prefetch for in-memory neural network execution | |
CN103294446B (zh) | 一种定点乘累加器 | |
CN103970720B (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN103761068B (zh) | 优化的蒙哥马利模乘硬件 | |
CN102609396A (zh) | 一种drm系统中离散傅里叶变换处理装置和方法 | |
EP4152681A1 (en) | Low overhead side channel protection for number theoretic transform | |
WO2014004394A1 (en) | Vector multiplication with operand base system conversion and re-conversion | |
CN107943756B (zh) | 一种计算方法及相关产品 | |
CN104699624A (zh) | 面向fft并行计算的无冲突存储访问方法 | |
CN103853524A (zh) | 一种乘法器装置和实现乘法运算的方法 | |
CN110191077A (zh) | 一种降低papr的方法、装置、设备及存储介质 | |
CN102799564A (zh) | 基于多核dsp平台的fft并行方法 | |
CN103679061A (zh) | 国密sm4算法的可扩展高吞吐率的实现方法及装置 | |
CN103888246A (zh) | 低功耗小面积的数据处理方法及其数据处理装置 | |
CN102982005A (zh) | 一种无需重新排序的11点wfta处理器和方法 | |
CN102982006A (zh) | 一种无需重新排序的16点wfta处理器和方法 | |
CN102982003A (zh) | 一种无需重新排序的7点wfta处理器和方法 | |
CN102982004A (zh) | 一种无需重新排序的9点wfta处理器和方法 | |
CN102929839A (zh) | 一种无需重新排序的5点wfta处理器和方法 | |
CN102968402A (zh) | 一种无需重新排序的3点wfta处理器和方法 | |
CN102929840A (zh) | 一种无需重新排序的8点wfta处理器和方法 | |
CN102929838A (zh) | 一种无需重新排序的4点wfta处理器和方法 | |
CN113434811B (zh) | 一种2048点fft处理器ip核 | |
CN102231624B (zh) | 面向向量处理器的浮点复数块fir的向量化实现方法 | |
CN105518617B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130320 |