《一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法.pdf》由会员分享,可在线阅读,更多相关《一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法.pdf(23页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102419741 A (43)申请公布日 2012.04.18 C N 1 0 2 4 1 9 7 4 1 A *CN102419741A* (21)申请号 201110305529.0 (22)申请日 2011.11.30 G06F 17/14(2006.01) (71)申请人中国传媒大学 地址 100024 北京市朝阳区定福庄东街1号 申请人深圳市威士达广播技术有限公司 北京广讯科技有限责任公司 (72)发明人张鹏 刘昌银 蒋蓝祥 陈晋伦 周德扬 (54) 发明名称 一种基于同址同序素因子算法的3780点离 散傅里叶变换处理装置和方法 (57) 摘要 本发明涉及。
2、一种基于同址同序素因子算法的 3780点离散傅里叶变换处理装置,其特征在于, 所述处理装置包括:3780个复数的共享存储器 Cache1;常规的4点WFTA模块;常规的5点WFTA 模块;常规的7点WFTA模块;修改的27点二维 Cooley-Tukey模块,用于执行140次27点二维 Cooley-Tukey傅里叶变换,它从Cache1读取数据 的地址顺序与它向Cache1写入结果的地址顺序 相同,也就是说,修改的27点二维Cooley-Tukey 模块读写Cache1是同址的。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 。
3、8 页 附图 12 页 CN 102419753 A 1/2页 2 1.一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置,其特征在于,所 述处理装置包括: 3780个复数的共享存储器Cachel,用于存储3780点复数序列,从外部读写Cachel的 顺序相同,都是按照自然顺序的; 常规的4点WFTA模块,用于执行945次4点Winograd傅里叶变换,它读写Cachel的 地址顺序相同; 常规的5点WFTA模块,用于执行756次5点Winograd傅里叶变换,它读写Cachel的 地址顺序相同; 常规的7点WFTA模块,用于执行540次7点Winograd傅里叶变换,它读写Cach。
4、el的 地址顺序相同; 修改的27点二维Cooley-Tukey模块,用于执行140次27点二维Cooley-Tukey傅里 叶变换,它读写Cachel的地址顺序相同。 2.如权利要求1所述的3780点离散傅里叶变换处理装置,其特征在于,所述修改的27 点二维Cooley-Tukey模块包括: 27个复数的共享存储器Cache2,用于暂存需要进行27点二维Cooley-Tukey算法的复 数序列; 修改的3点WFTA模块,每次执行27点二维Cooley-Tukey傅里叶变换时用于执行9次 3点Winograd傅里叶变换,它读写Cache2的地址顺序相同; 修改的27点旋转因子表,用于与经9次3。
5、点Winograd傅里叶变换后的27个数据分别 相乘; 以及修改的9点WFTA模块,每次执行27点二维Cooley-Tukey傅里叶变换时用于执行 3次9点Winograd傅里叶变换,它读写Cache2的地址顺序相同。 3.如权利要求1、2所述的3780点离散傅里叶变换处理装置,其特征在于,所述修改的 27点二维Cooley-Tukey模块所使用的修改的27点旋转因子表,是将基本旋转因子的角度 参数扩大为常规的5倍,从常规的2/27变为10/27,旋转因子从常规的 变为 4.如权利要求2所述的3780点离散傅里叶变换处理装置,其特征在于,所述修改的3 点WFTA模块,输入、输出矩阵中的元素保持。
6、不变,将对角矩阵中的角度参数扩大为常规 的2倍,从常规的2/3变为4/3,达到同址运算的目的。 5.如权利要求2所述的3780点离散傅里叶变换处理装置,其特征在于,所述修改的9 点WFTA模块,输入、输出矩阵中的元素保持不变,将对角矩阵中的角度参数扩大为常规 的5倍,从常规的2/9变为10/9,达到同址运算的目的。 6.一种基于同址同序素因子算法的3780点离散傅里叶变换处理方法,其特征在于,所 述处理方法包括以下步骤: 第一步,按照自然顺序将需要进行变换的3780点复数序列从外部写入共享存储器 Cachel中; 第二步,调用常规的4点WFTA模块,对共享存储器Cachel的内容进行945次4。
7、点 Winograd傅里叶变换,同址运算决定了从共享存储器Cachel读出和写入的顺序相同; 权 利 要 求 书CN 102419741 A CN 102419753 A 2/2页 3 第三步,调用常规的5点WFTA模块,对共享存储器Cachel的内容进行756次5点 Winograd傅里叶变换,同址运算决定了从共享存储器Cachel读出和写入的顺序相同; 第四步,调用常规的7点WFTA模块,对共享存储器Cachel的内容进行540次7点 Winograd傅里叶变换,同址运算决定了从共享存储器Cachel读出和写入的顺序相同; 第五步,调用修改的27点二维Cooley-Tukey模块,对共享存。
8、储器Cachel的内容进行 140次27点二维Cooley-Tukey傅里叶变换,同址运算决定了从共享存储器Cachel读出和 写入的顺序相同; 第六步,按照自然顺序将3780点复数输出序列从共享存储器Cachel中读出送到外部。 同序运算决定了第一步和第六步中Cachel与外部数据交换的顺序相同。 7.如权利要求6所述的3780点离散傅里叶变换处理方法,其特征在于,所述修改的27 点二维Cooley-Tukey傅里叶变换包括以下步骤: 第一步,从共享存储器Cachel中读出27点复数序列,按照自然顺序写入共享存储器 Cache2中,并把共享存储器Cache2视作一个3行9列的二维复数数组; 。
9、第二步,调用修改的3点WFTA模块,按照从左至右的顺序对二维复数数组Cache2逐列 执行9次3点Winograd傅里叶变换,同址运算决定了从共享存储器Cache2读出和写入的 顺序相同; 第三步,将二维复数数组Cache2中的元素乘以修改的27点旋转因子表的对应元素; 第四步,调用修改的9点WFTA模块,按照从上到下的顺序对二维复数数组Cache2逐行 执行3次9点Winograd傅里叶变换,同址运算决定了从共享存储器Cache2读出和写入的 顺序相同; 第五步,按照从上到下、从左至右的顺序从二维复数数组Cache2中读出运算结果, 并写入到共享存储器Cachel中。同址运算决定了第一步和第。
10、五步中修改的27点二维 Cooley-Tukey傅里叶变换模块与Cachel数据交换的顺序相同。 8.如权利要求6、7所述的3780点离散傅里叶变换处理方法,其特征在于,所述修改的 27点二维Cooley-Tukey模块所使用的修改的27点旋转因子表,是将基本旋转因子的角度 参数扩大为常规的5倍,从常规的2/27变为10/27,旋转因子从常规的 变为 9.如权利要求7所述的3780点离散傅里叶变换处理方法,其特征在于,所述修改的3 点WFTA模块,输入、输出矩阵中的元素保持不变,将对角矩阵中的角度参数扩大为常规 的2倍,从常规的2/3变为4/3,达到同址运算的目的。 10.如权利要求7所述的3。
11、780点离散傅里叶变换处理方法,其特征在于,所述修改的9 点WFTA模块,输入、输出矩阵中的元素保持不变,将对角矩阵中的角度参数扩大为常规 的5倍,从常规的2/9变为10/9,达到同址运算的目的。 权 利 要 求 书CN 102419741 A CN 102419753 A 1/8页 4 一种基于同址同序素因子算法的 3780 点离散傅里叶变换 处理装置和方法 技术领域 0001 本发明涉及数字地面电视广播技术,特别涉及一种DTMB系统中3780点离散傅里 叶变换(Discrete Fourier Transform,DFT)的实现方法。 背景技术 0002 随着无线通信业务的不断增长,可利用。
12、的频谱资源日益紧张。为了提高频谱利用 率和通信质量,现代无线通信系统广泛采用对频率选择性衰落具有较强免疫力的正交频分 复用(Orthogonal Frequency Duplex Multiplexing,OFDM)技术。OFDM技术的核心是DFT。 数字地面电视广播(Digital Television Terrestrial Multimedia Broadcasting,DTMB) 标准采用了OFDM技术,需要进行3780点DFT。直接计算3780点DFT的运算量很大,乘法和 加法次数都与3780的平方成正比。 0003 素因子算法(Prime Factor Algorithm,PFA)。
13、是一种嵌套多维的非2幂次快速傅 里叶变换(Fast Fourier Transform,FFT),能有效降低计算复杂度。对于N点DFT,假设N 可分解为M个两两互素因子的乘积,即NN 1 N 2 N M 。N点PFA的基本原理是,把一维大点 数DFT映射成M维小点数DFT,第i(i1,2,M)维DFT进行N/N i 次N i 点小点数FFT。 小点数FFT可借助于Cooley-Tukey算法、Winograd傅里叶变换算法(Winograd Fourier Transform Algorithm,WFTA)以及其它高效算法。 0004 在某些情况下,PFA需要重新排序。根据在计算过程中所处的位。
14、置,重新排序具体 分为预扰乱和后扰乱。不考虑N i (i1,2,.,M)点FFT的内部机制,如果第i维DFT无 需重新排序,那么它是同址的;否则,它是变址的,重新排序是在N i 点序列内进行的,预扰乱 和后扰乱分别在N i 点FFT之前和之后执行。类似地,不考虑每维DFT的内部机制,如果N点 PFA整体上无需重新排序,那么它是同序的;否则,它是变序的,重新排序是在N点序列内进 行的,预扰乱和后扰乱分别在第一维DFT开始前和最后一维DFT结束后执行。这样,PFA可 分为4种:变址变序、变址同序、同址同序和同址变序。 0005 目前,关于3780点DFT的实现方案主要分为两大类:第一类是顶层采用 。
15、Cooley-Tukey算法,底层采用PFA和WFTA,这类方法的主要缺点是需要较大的旋转因子表; 第二类是顶层采用PFA,底层采用WFTA和Cooley-Tukey算法。目前,这两类实现方案涉及的 PFA要么是变址同序的,要么是同址变序的,不可避免地引入了重新排序操作。众所周知,重 新排序意味着必须增加一级缓冲区,需要消耗较多的存储器资源,会提高硬件成本。此外, 重新排序还会降低运算速度,增加控制的复杂度。 发明内容 0006 关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。 0007 本发明的主要目的在于,提供一种基于同址同序PFA的3780点DFT处理器。同址 同序P。
16、FA无需重新排序,从而能简化控制逻辑,提高运算速度,减少存储器资源,降低硬件 说 明 书CN 102419741 A CN 102419753 A 2/8页 5 成本。 0008 基于上述目的,本发明采用嵌套多维的同址同序PFA实现3780点DFT。具体而言, 是二重嵌套,第一重是四维,第二重是二维。3780被分解为37804*5*7*27,这4个因子互 素。这样一来,一维3780点DFT就被转化成四维小点数DFT。其中,第一、二、三维DFT分别 采用常规的4点、5点、7点WFTA,第四维DFT采用修改的二维27点Cooley-Tukey算法。27 被分解为273*9。为满足同址同序PFA的需。
17、要,必须修改常规二维27点Cooley-Tukey 算法的旋转因子表及其涉及的3点WFTA和9点WFTA。旋转因子表和两种WFTA的修改方 法都非常简单,都是修改常规的角度参数。修改旋转因子表是将基本旋转因子的角度参数 从常规的2/27修改为10/27。修改3点WFTA是将角度参数从常规的2/3修 改为4/3。修改9点WFTA是将角度参数从常规的2/9修改为10/9。 0009 本发明使用3780个复数的共享存储器Cachel来存储3780点复数序列,从外部将 数据输入到Cachel的顺序与从Cachel将数据输出到外部的顺序相同,并且是按照自然顺 序的,也就是说,从外部读写Cachel是同序。
18、的。当进行3780点DFT时,先进行945次常规 的4点同址Winograd傅里叶变换,然后进行756次常规的5点同址Winograd傅里叶变换, 再进行540次常规的7点同址Winograd傅里叶变换,最后进行140次修改的27点同址二 维Cooley-Tukey傅里叶变换。每次执行修改的27点二维Cooley-Tukey傅里叶变换时,先 进行9次修改的3点同址Winograd傅里叶变换,然后将所得数据与修改的27点旋转因子 表相乘,再进行3次修改的9点同址Winograd傅里叶变换。可见,整个3780点DFT的过程 是同址同序的。 0010 关于本发明的优点与精神可通过接下来的发明详述及附。
19、图得到进一步的了解。 附图说明 0011 图1是常规的N 4 27点二维Cooley-Tukey算法的旋转因子表; 0012 图2是修改的N 4 27点二维Cooley-Tukey算法的旋转因子表; 0013 图3给出了常规的N 1 4点WFTA模块的矩阵构成和功能框图; 0014 图4给出了常规的N 2 5点WFTA模块的矩阵构成和功能框图; 0015 图5给出了常规的N 3 7点WFTA模块的矩阵构成和功能框图; 0016 图6给出了常规的N 5 3点WFTA模块的矩阵构成和功能框图; 0017 图7给出了常规的N 6 9点WFTA模块的矩阵构成和功能框图; 0018 图8给出了修改的N 。
20、5 3点WFTA模块的矩阵构成和功能框图; 0019 图9给出了修改的N 6 9点WFTA模块的矩阵构成和功能框图; 0020 图10描述了修改的N 4 27点二维Cooley-Tukey算法的流程; 0021 图11是基于同址同序PFA的N3780点DFT的完整结构示意图; 0022 图12给出了采用共享存储器机制实现基于同址同序PFA的N3780点DFT的功 能框图。 0023 图13给出了采用共享存储器机制实现基于同址变序PFA的N3780点DFT处理 器的功能框图(预扰乱) 0024 图14给出了采用共享存储器机制实现基于同址变序PFA的N3780点DFT处理 器的功能框图(后扰乱) 。
21、说 明 书CN 102419741 A CN 102419753 A 3/8页 6 0025 图15给出了采用共享存储器机制实现基于变址同序PFA的N3780点DFT处理 器的功能框图(预扰乱) 0026 图16给出了采用共享存储器机制实现基于变址同序PFA的N3780点DFT处理 器的功能框图(后扰乱) 具体实施方式 0027 下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。 0028 N点序列x(n)的离散傅里叶变换(Discrete Fourier Transform,DFT)为 0029 0030 其中,n,k0,1,N-1,W N e -j2/N 。直接计算N点。
22、DFT的乘法和加法运算量 都与N的平方成正比。当N较大时,运算量很大。 0031 为了降低计算复杂度,当N不是2的幂次时,可采用嵌套多维的素因子算法(Prime Factor Algorithm,PFA)实现N点DFT。假设N可分解为M个两两互素因子的乘积,即N N 1 N 2 N M 。也就是说,任意两个因子N i 和N j (i,j1,2,M,且ij)的最大公约数 是1。注意,N i 未必是素数。N点PFA的基本原理是,把一维大点数DFT映射成M维小点数 DFT,第i维DFT进行N/N i 次N i 点小点数快速傅里叶变换(Fast Fourier Transform,FFT)。 小点数F。
23、FT可借助于Cooley-Tukey算法、Winograd傅里叶变换算法(Winograd Fourier Transform Algorithm,WFTA)以及其它高效算法。 0032 为了使PFA总体上是同序的,在一维DFT映射成M维DFT时,根据中国余数定理, 输入索引n和输出索引k采用如下相同的映射方式: 0033 0034 0035 其中,符号 N 表示模N运算,n i ,k i 0,1,N i -1。将式(2)和(3)代入式(1), 整理可得: 0036 0037 其中, 0038 0039 0040 对比式(2)和(3)容易发现,索引n和k的映射方式本质上完全相同。因此,只要 式。
24、(4)中每维DFT的索引n i 和k i 都是自然顺序的,N点PFA就是同序的。 0041 在式(4)中,第i(i1,2,M)维DFT的傅里叶变换因子可写作 0042 说 明 书CN 102419741 A CN 102419753 A 4/8页 7 0043 或 0044 0045 式中, 0046 0047 0048 当时,k i k i ,n i n i 。众所周知,常规的N i 点FFT算法的输入 和输出都是按照自然顺序的。如果式(4)中的第i维DFT采用常规的N i 点FFT算法,那么 式(5)是按照n i 的自然顺序输入、k i 的自然顺序输出,式(6)则是按照n i 的自然顺序 。
25、输入、k i 的自然顺序输出。然而,由式(2)和(3)可知,同序PFA要求式(4)中的第i维DFT 按照n i 的自然顺序输入、k i 的自然顺序输出。可见,当时,如果式(4)中的第i 维DFT采用常规的N i 点FFT算法,那么必须重新排序。具体而言,式(5)和(6)分别根据式 (7)和(8)中的规则进行后扰乱和预扰乱。可见,当时,式(4)中的第i维DFT 是变址的。变址通过重新排序实现。为了去掉重新排序这一额外操作、实现同址同序PFA, 我们必须修改常规的N i 点FFT算法,将重新排序操作吸纳其中。注意,当时,式 (4)中的第i维DFT是同址的,无需修改常规的N i 点FFT算法。 00。
26、49 对于3780点DFT,N3780。3780可被分解为M4个两两互素因子的乘积,即 37804*5*7*27。令N 1 4,N 2 5,N 3 7,N 4 27,则有NN 1 *N 2 *N 3 *N 4 。将上述参数 代入式(4),则有 0050 0051 在上式中,第一、二、三维DFT的点数较小,因此它们可分别采用N 1 4点WFTA、N 2 5点WFTA、N 3 7点WFTA。第四维DFT的点数是较大的复合数N 4 27,27可被分解为 2个因子的乘积,即273*9。令N 5 3,N 6 9,则有N 4 N 5 *N 6 。因为N 5 与N 6 不互素,所 以27点DFT可用二维Co。
27、oley-Tukey算法实现。 0052 在式(9)中, 显然,如果第一、二、三维DFT分 别采用常规的4点WFTA、5点WFTA、7点WFTA,那么这三维DFT都是同址的。如果第四 维DFT采用常规的27点二维Cooley-Tukey算法,那么第四维DFT是变址的。这是因为 导致第四维DFT的指数是5n 4 k 4 而不是常规的n 4 k 4 。变址通过重 新排序实现。为了去掉重新排序这一额外操作、实现同址同序PFA,我们必须修改常规的27 点二维Cooley-Tukey算法,将重新排序操作吸纳其中。 0053 对于常规的N 4 27点二维Cooley-Tukey算法,N 4 N 5 *N 。
28、6 3*9。索引n 4 和k 4 分别采用如下不同的映射方式: 0054 n 4 n 5 +N 5 n 6 (10) 0055 k 4 N 6 k 5 +k 6 (11) 0056 其中,n 5 ,k 5 0,1,N 5 -1,n 6 ,k 6 0,1,N 6 -1。基于上述索引映射方式,常 规的N 4 27点二维Cooley-Tukey算法为 说 明 书CN 102419741 A CN 102419753 A 5/8页 8 0057 0058 其中,W 27 e j2/27 是基本旋转 因子,其角度参数是2/27,是旋转因子。通过穷举k 5 和n 6 可得到的所有 值,即常规的N 4 27。
29、点二维Cooley-Tukey算法的旋转因子表,如图1所示。 0059 在式(9)中,第四维DFT的指数是5n 4 k 4 而不是常规的n 4 k 4 。因此,我们必须将式 (12)中的所有指数都乘以5。化简后,修改的N 4 27点二维Cooley-Tukey算法为 0060 0061 (13) 0062 0063 对比式(12)和(13)容易发现,基本旋转因子的角度参数扩大为常规的5倍,从常 规的2/27变为10/27,旋转因子从常规的变为图2是修改的N 4 27点二维Cooley-Tukey算法的旋转因子表。 0064 在式(13)中,修改的N 4 27点二维Cooley-Tukey算法的。
30、第一、二维DFT的点数较 小,因此它们可分别采用N 5 3点WFTA和N 6 9点WFTA。因为第一维DFT的指数是2n 5 k 5 而不是常规的n 5 k 5 ,所以如果第一维DFT采用常规的N 5 3点WFTA,那么第一维DFT是变 址的。因为第二维DFT的指数是5n 6 k 6 而不是常规的n 6 k 6 ,所以如果第二维DFT采用常规的 N 6 9点WFTA,那么第二维DFT是变址的。为了去掉变址引入的重新排序、实现同址同序 PFA,我们必须修改常规的N 5 3点WFTA和N 6 9点WFTA,将重新排序操作吸纳其中。 0065 N i (i1,2,3,5,6)点WFTA可用向量与矩阵。
31、的连乘表示,即 0066 VODIv (14) 0067 其中,v和V分别是由N i 点输入和输出序列构成的向量,I和O分别是输入和输出 矩阵,D是对角矩阵。通常,矩阵I和O中的元素都只可能是0、1和j,与向量相乘时不 涉及实质性乘法。对于对角矩阵D,除对角上的元素非零外,其它位置上的元素均为0,且对 角上的元素取决于角度参数2/N i 。 0068 图3给出了常规的N 1 4点WFTA的矩阵构成和功能框图。4点输入序列构成向 量v 4 ,它先与矩阵I 4 相乘,运算所得向量再与对角矩阵D 4 相乘,运算所得向量最后与矩阵O 4 相乘,运算所得向量V 4 即为4点输出序列。 0069 图4给出。
32、了常规的N 2 5点WFTA的矩阵构成和功能框图。注意,对角矩阵D 5 中 的角度参数是2/5。5点输入序列构成向量v 5 ,它先与矩阵I 5 相乘,运算所得向量 再与对角矩阵D 5 相乘,运算所得向量最后与矩阵O 5 相乘,运算所得向量V 5 即为5点输出序 列。 0070 图5给出了常规的N 3 7点WFTA的矩阵构成和功能框图。注意,对角矩阵D 7 中 的角度参数是2/7。7点输入序列构成向量v 7 ,它先与矩阵I 7 相乘,运算所得向量 再与对角矩阵D 7 相乘,运算所得向量最后与矩阵O 7 相乘,运算所得向量V 7 即为7点输出序 说 明 书CN 102419741 A CN 102。
33、419753 A 6/8页 9 列。 0071 图6给出了常规的N 5 3点WFTA的矩阵构成和功能框图。注意,对角矩阵D 3 中 的角度参数是2/3。3点输入序列构成向量v 3 ,它先与矩阵I 3 相乘,运算所得向量 再与对角矩阵D 3 相乘,运算所得向量最后与矩阵O 3 相乘,运算所得向量V 3 即为3点输出 序列。 0072 图7给出了常规的N 6 9点WFTA的矩阵构成和功能框图。注意,对角矩阵D 9 中 的角度参数是2/9。9点输入序列构成向量v 9 ,它先与矩阵I 9 相乘,运算所得向量 再与对角矩阵D 9 相乘,运算所得向量最后与矩阵O 9 相乘,运算所得向量V 9 即为9点输出。
34、 序列。 0073 如前所述,为了使N3780点DFT能实现同址同序PFA,必须修改常规的N 5 3 点WFTA和N 6 9点WFTA。下面详细介绍常规的N 5 3点WFTA和N 6 9点WFTA的修改 方法。 0074 对于修改的N 5 3点WFTA,矩阵I 3 和O 3 中的元素保持不变,只需将对角矩阵D 3 中的角度参数扩大为常规的2倍,从常规的2/3变为4/3。图8给出了 修改的N 5 3点WFTA的矩阵构成和功能框图。注意,对角矩阵D 3 中的角度参数是 4/3。3点输入序列构成向量v 3 ,它先与矩阵I 3 相乘,运算所得向量再与对角矩阵D 3 相乘, 运算所得向量最后与矩阵O 3。
35、 相乘,运算所得向量V 3 即为3点输出序列。修改的N 5 3点 WFTA将对角矩阵D 3 中的角度参数从常规的2/3修改为4/3,从而把修改的 N 4 27点二维Cooley-Tukey算法的第一维DFT涉及的重新排序操作吸纳进来,达到了同 址运算的目的。 0075 对于修改的N 6 9点WFTA,矩阵I 9 和O 9 中的元素保持不变,只需将对角矩阵D 9 中的角度参数扩大为常规的5倍,从常规的2/9变为10/9。图9给出 了修改的N 6 9点WFTA的矩阵构成和功能框图。注意,对角矩阵D 9 中的角度参数是 10/9。9点输入序列构成向量v 9 ,它先与矩阵I 9 相乘,运算所得向量再与。
36、对角矩阵D 9 相 乘,运算所得向量最后与矩阵O 9 相乘,运算所得向量V 9 即为9点输出序列。修改的N 6 9 点WFTA将对角矩阵D 9 中的角度参数从常规的2/9修改为10/9,从而把修 改的N 4 27点二维Cooley-Tukey算法的第二维DFT涉及的重新排序操作吸纳进来,达到 了同址运算的目的。 0076 利用上述修改的N 5 3点WFTA和N 6 9点WFTA,我们能给出修改的N 4 27点 二维Cooley-Tukey算法的流程,如图10所示。其具体步骤是: 0077 第一步,按照从左到右、从上到下的顺序将27点输入序列写入3行9列的二维数 组中,二维数组中的数字026表示。
37、写入的先后顺序; 0078 第二步,按照从左至右的顺序对二维数组逐列执行修改的3点WFTA,共9次; 0079 第三步,将二维数组中的元素乘以修改的27点旋转因子表的对应元素,二维数组 中的数值表示修改的旋转因子表的内容; 0080 第四步,按照从上到下的顺序对二维数组逐行执行修改的9点WFTA,共3次; 0081 第五步,按照从上到下、从左至右的顺序从二维数组中读出运算结果,二维数组中 的数字026表示读出的先后顺序。 0082 至此,我们能给出基于同址同序PFA的N3780点DFT的完整结构示意图,如图 说 明 书CN 102419741 A CN 102419753 A 7/8页 10 。
38、11所示。显然,它是一种二重嵌套多维结构,第一重是四维,第二重是二维。处理步骤是:首 先进行945次常规的4点同址WFTA,然后进行756次常规的5点同址WFTA,再进行540次 常规的7点同址WFTA,最后进行140次修改的27点同址二维Cooley-Tukey算法。每次执 行修改的27点同址二维Cooley-Tukey算法时,先进行9次修改的3点同址WFTA,然后将所 得数据与修改的27点旋转因子表相乘,再进行3次修改的9点同址WFTA。 0083 图12是一种采用共享存储器机制实现基于同址同序PFA的N3780点DFT的功 能框图。 0084 所述系统的3780点离散傅里叶变换处理器主要。
39、包括:3780个复数的共享存储器 Cachel,用于存储3780点复数序列,从外部将数据输入到Cachel的顺序与从Cachel将数 据输出到外部的顺序相同,并且是按照自然顺序的,也就是说,从外部读写Cachel是同序 的;常规的4点WFTA模块,用于执行945次4点Winograd傅里叶变换,它从Cachel读取数 据的地址顺序与它向Cachel写入结果的地址顺序相同,也就是说,常规的4点WFTA模块读 写Cachel是同址的;常规的5点WFTA模块,用于执行756次5点Winograd傅里叶变换,它 从Cachel读取数据的地址顺序与它向Cachel写入结果的地址顺序相同,也就是说,常规的。
40、 5点WFTA模块读写Cachel是同址的;常规的7点WFTA模块,用于执行540次7点Winograd 傅里叶变换,它从Cachel读取数据的地址顺序与它向Cachel写入结果的地址顺序相同,也 就是说,常规的7点WFTA模块读写Cachel是同址的;修改的27点二维Cooley-Tukey模 块,用于执行140次27点二维Cooley-Tukey傅里叶变换,它从Cachel读取数据的地址顺 序与它向Cachel写入结果的地址顺序相同,也就是说,修改的27点二维Cooley-Tukey模 块读写Cachel是同址的。 0085 具体步骤为: 0086 第一步,按照自然顺序将3780点复数序列。
41、x(n)写入共享存储器Cachel中; 0087 第二步,调用常规的4点同址WFTA模块,对共享存储器Cachel的内容进行945次 4点Winograd傅里叶变换,同址运算决定了从共享存储器Cachel读出和写入的顺序相同; 0088 第三步,调用常规的5点同址WFTA模块,对共享存储器Cachel的内容进行756次 5点Winograd傅里叶变换,同址运算决定了从共享存储器Cachel读出和写入的顺序相同; 0089 第四步,调用常规的7点同址WFTA模块,对共享存储器Cachel的内容进行540次 7点Winograd傅里叶变换,同址运算决定了从共享存储器Cachel读出和写入的顺序相同。
42、; 0090 第五步,调用修改的27点同址二维Cooley-Tukey模块,对共享存储器Cachel 的内容进行140次27点二维Cooley-Tukey傅里叶变换,同址运算决定了从共享存储器 Cachel读出和写入的顺序相同; 0091 第六步,按照自然顺序将3780点复数序列X(k)从共享存储器Cachel中读出。同 序运算决定了第一步和第六步中Cachel与外部数据交换的顺序相同。 0092 必须指出的是,由于采用了同序运算,这就允许在输出3780点复数序列X(k)的同 时写入3780点复数序列x(n),从而提高数字信号的处理速度。 0093 在图12中,修改的27点同址二维Cooley。
43、-Tukey模块执行以下步骤: 0094 第一步,从共享存储器Cachel中读出27点复数序列,按照自然顺序写入共享存储 器Cache2中,并把共享存储器Cache2视作一个3行9列的二维复数数组; 0095 第二步,调用修改的3点同址WFTA模块,按照从左至右的顺序对二维复数数组 说 明 书CN 102419741 A CN 102419753 A 8/8页 11 Cache2逐列执行9次3点Winograd傅里叶变换,同址运算决定了从二维复数数组Cache2 读出和写入的顺序相同; 0096 第三步,将二维复数数组Cache2中的元素乘以修改的27点旋转因子表的对应元 素; 0097 第四。
44、步,调用修改的9点同址WFTA模块,按照从上到下的顺序对二维复数数组 Cache2逐行执行3次9点Winograd傅里叶变换,同址运算决定了从二维复数数组Cache2 读出和写入的顺序相同; 0098 第五步,按照从上到下、从左至右的顺序从二维复数数组Cache2中读出运算结 果,并写入到共享存储器Cachel中。注意,同址运算决定了从共享存储器Cachel读出和写 入的顺序相同。 0099 如果采用同址变序PFA实现3780点DFT,那么需要在3780点序列内进行1次重新 排序。对于此方案,重新排序要么是在4点Winograd傅里叶变换之前进行预扰乱,如图13 所示,要么是在27点二维Coo。
45、ley-Tukey傅里叶变换之后进行后扰乱,如图14所示。无论 是预扰乱还是后扰乱,重新排序都要求增加3780个复数的存储器。如果复数的实部和虚部 都是16比特的精度,那么此方案必须增加120,960比特的大存储器,这样会提高硬件成本。 此外,重新排序还会降低运算速度,增加控制的复杂度。 0100 如果采用变址同序PFA实现3780点DFT,那么需要在27点序列内进行重新排序, 共需140次。对于此方案,重新排序要么是在27点二维Cooley-Tukey傅里叶变换之前进 行预扰乱,如图15所示,要么是其后进行后扰乱,如图16所示。无论是预扰乱还是后扰乱, 重新排序都要求增加27个复数的存储器。。
46、如果复数的实部和虚部都是16比特的精度,那 么此方案必须增加864比特的存储器。虽然存储器增加不多,但重新排序会降低运算速度, 增加控制的复杂度。 0101 与同址变序PFA和变址同序PFA相比,本发明无需重新排序,从而能简化控制逻 辑,提高运算速度,减少存储器资源,降低硬件成本。 0102 以上通过具体实施方式和实施例对本发明进行了详细的说明,对于本领域的技术 人员来说,在不脱离本发明原理的情况下,还可做出若干变形和改进,这些也应视为本发明 的保护范围。 说 明 书CN 102419741 A CN 102419753 A 1/12页 12 图1 图2 说 明 书 附 图CN 1024197。
47、41 A CN 102419753 A 2/12页 13 图3 说 明 书 附 图CN 102419741 A CN 102419753 A 3/12页 14 图4 说 明 书 附 图CN 102419741 A CN 102419753 A 4/12页 15 图5 说 明 书 附 图CN 102419741 A CN 102419753 A 5/12页 16 图6 说 明 书 附 图CN 102419741 A CN 102419753 A 6/12页 17 图7 说 明 书 附 图CN 102419741 A CN 102419753 A 7/12页 18 图8 说 明 书 附 图CN 102419741 A CN 102419753 A 8/12页 19 图9 说 明 书 附 图CN 102419741 A CN 102419753 A 9/12页 20 图10 说 明 书 附 图CN 102419741 A CN 102419753 A 10/12页 21 图11 图12 说 明 书 附 图CN 102419741 A CN 102419753 A 11/12页 22 图13 图14 说 明 书 附 图CN 102419741 A CN 102419753 A 12/12页 23 图15 图16 说 明 书 附 图CN 102419741 A 。