基于IEEE802.11.ad协议的FFT处理器的制造方法

文档序号:8006149阅读:318来源:国知局
基于IEEE802.11.ad协议的FFT处理器的制造方法
【专利摘要】本发明公开了一种基于IEEE802.11.ad协议的FFT/IFFT处理器,具体包括:第一共轭单元、复用器单元、第一级计算单元、第二级计算单元、第三级计算单元、第二共轭单元、除以512单元和解复用器单元。本发明的FFT处理器采用基24-22-23混合基的分解方式,使产生的旋转因子复杂度最低,并结合流水线结构,最终使硬件资源消耗最少;对于旋转因子的乘法采用CSD编码方式,从而大大减少了乘法器单元的消耗,能够适用于IEEE802.11.ad协议,支持1.76GSps的吞吐率,能够连续工作,消耗硬件资源少,并且可以在FFT和IFFT计算之间进行切换。
【专利说明】基于IEEE802.11.ad协议的FFT处理器
【技术领域】
[0001]本发明属于短距离宽带通信【技术领域】,特别涉及一种FFT处理器的设计。
【背景技术】
[0002]IEEE802.11.ad是60GHz短距离超宽带通信的标准化协议,可以支持数吉比特的传输速率,完全满足高清数据流下载、高清视频播放等应用。该协议具有四种物理层模式,其中一种采用OFDM (正交频分复用)调制,另外三种采用单载波调制。对于OFDM调制,FFT(快速傅立叶变换)是其核心计算之一;对于单载波调制,FFT则广泛用于信道均衡模块。可见,FFT处理器是基于IEEE802.11.ad协议的通信系统的重要部件。
[0003]IEEE802.11.ad协议的单载波模式的符号率为1.76Baud,,需要后级模块的吞吐率达到1.76GSps。但是1.76GHz的时钟频率几乎是不可能实现,也难以找到具有如此高时钟频率的模数转换器,而220MHz是一个可以接受的时钟频率。若FFT处理器采用220MHz的时钟频率,那么该FFT处理器就需要能够处理8路并行数据。IEEE802.11.ad协议的数据块长度为512,因此FFT处理器需要能够处理512点的FFT。此外,该协议还要求FFT处理器能够连续工作,即FFT能够处理连续不断的以512点为单位的数据块。虽然有大量文献提出FFT的实现方案,但是极少能够支持1.76GSps的吞吐率并适用于IEEE802.11.ad协议,同时耗用较少的硬件资源。
[0004]从目前的文献来看,FFT的算法主要有基2,基4,基22等分解方式,而FFT的实现方式主要包括基于存储器的结构和流水线结构。基于存储器的结构的优势在于硬件资源消耗小,其劣势在于吞吐率较小,吞吐率受可用处理器个数和存储器件带宽限制,这一结构不适用于IEEE802.11.ad协议,因为如果需要达到1.76GSps的吞吐率,该结构对硬件资源的消耗会难以接受;流水线结构的优势在于吞吐率高,其劣势在于硬件资源消耗大,但是简单的流水线结构会消耗过多的乘法器资源。

【发明内容】

[0005]本发明的目的是为了解决现有技术存在的上述问题,提供一种基于IEEE802.11.ad协议的FFT处理器。
[0006]本发明的技术方案为:一种基于IEEE802.11.ad协议的FFT/IFFT处理器,具体包括:第一共轭单元、复用器单元、第一级计算单元、第二级计算单元、第三级计算单元、第二共轭单元、除以512单元和解复用器单元,其中,第一共轭单元的输入端和复用器单元的输入端连接在一起用于输入8路并行输入信号,第一共轭单元的输出端与复用器单元的输入端相连接;复用器单元的输出端与第一级计算单元的输入端相连接,第一级计算单元、第二级计算单元和第三级计算单元依次连接,第三级计算单元的输出端与解复用器单元的输入端和第二共轭单元的输入端相连;第二共轭单元的输出端连接至除以512单元的输入端,除以512单元的输出端与解复用器单元的输入端相连,所述解复用器单元的输出端输出8路并行输出信号;[0007]所述第一级计算单元用于实现基24分解;
[0008]所述第二级计算单元用于实现基22分解;
[0009]所述第三级计算单元用于实现基23分解;
[0010]所述复用器单元和解复用器单元的控制端连接FFT/IFFT信号,用于实现FFT/IFFT功能的转换。
[0011]进一步的,所述第一级计算单元包括:8路并行的延迟反馈计算单元和三级CSD编码旋转因子乘法器,其中,复用器单元输出的8路并行信号连接到延迟反馈计算单元,其后则连接一个三级CSD编码旋转因子乘法器,每一路延迟反馈计算单元包括四个延迟反馈蝶形运算器,每个延迟反馈蝶形运算器中的反馈延迟个数依次为32、16、8、4 ;每两个延迟反馈蝶形运算器之间分别连接旋转因子乘法器r/, r/和町,其中,w =e-j(2^,y),P为旋转因子指数,旋转因子乘法器W/、和中,P的取值范围分别为:0~1,0~3和O~7。
[0012]进一步的,所述第二级计算单元包括:8路并行的延迟反馈计算单元和二级CSD编码旋转因子乘法器,其中,从第一级计算单元输出的8路并行信号连接到延迟反馈计算单元,其后则连接一个二级CSD编码旋转因子乘法器;每一路延迟反馈计算单元包含两个延迟反馈蝶形运算器,所述每个延迟反馈蝶形运算器中的反馈延迟个数依次为2、I ;所述两个延迟反馈蝶形运算器之间连接一个旋转因子乘法器F/。
[0013]进一步的,所述第三级计算单元包括:蝶形运算器O1、蝶形运算器02、蝶形运算器03、蝶形运算器04、蝶形运算器05、蝶形运算器06、蝶形运算器07、蝶形运算器08、蝶形运算器09、蝶形运算器10、蝶形运算器11和蝶形运算器12,旋转因子乘法-j Ι? ',其中,从第二级计算单元输出的8路并行信号记为:i路径0、i路径l、i路径2、i路径3、i路径4、i路径5、i路径6和i路径7,从第三级计算单元输出的8路并行信号记为:0路径O、ο路径1、ο路径2、ο路径3、ο路径4、ο路径5、ο路径6和ο路径7 ;
[0014]i路径O和i路径4分别输入到蝶形运算器01的两个输入端,i路径I和i路径5分别输入到蝶形运算器02的两个输入端,i路径2和i路径6分别输入到蝶形运算器03的两个输入端,i路径3和i路径7分别输入到蝶形运算器04的两个输入端,蝶形运算器01的两个输出端分别连接到蝶形运算器05的一个输入端和蝶形运算器07的一个输入端,蝶形运算器02的两个输出端分别连接到蝶形运算器06的一个输入端和蝶形运算器08的一个输入端;蝶形运算器03的第一输出端连接到蝶形运算器05的另一个输入端,蝶形运算器03的第二输出端输出的信号与_j相乘然后连接到蝶形运算器07的另一个输入端,蝶形运算器04的第一输出端连接到蝶形运算器06的另一个输入端,蝶形运算器04的第二输出端输出的信号与_j相乘然后连接到蝶形运算器08的另一个输入端;蝶形运算器05的两个输出端分别连接到蝶形运算器09的一个输入端和蝶形运算器10的一个输入端;蝶形运算器06的第一输出端连接到蝶形运算器09的另一个输入端,蝶形运算器06的第二输出端输出的信号与_j相乘然后连接到蝶形运算器10的另一个输入端;蝶形运算器07的第一输出端连接到蝶形运算器11的一个输入端,蝶形运算器07的第二输出端输出的信号连接到蝶形运算器12的一个输入端;蝶形运算器08的第一输出端输出的信号与R1相乘然后连接到蝶形运算器11的另一个输入端,蝶形运算器08的第二输出端输出的信号与相乘然后连接到蝶形运算器12的另一个输入端;蝶形运算器09的两个输出端分别输出ο路径O和ο路径1,蝶形运算器10的两个输出端分别输出O路径2和O路径3,蝶形运算器11的两个输出端分别输出ο路径4和ο路径5,蝶形运算器12的两个输出端分别输出ο路径6和ο路径7。
[0015]本发明的有益效果:本发明的FFT处理器采用基24-22_23混合基的分解方式,使产生的旋转因子复杂度最低,并结合流水线结构,最终使硬件资源消耗最少;对于旋转因子的乘法采用CSD(Canonic Signed Digit)编码方式,从而大大减少了乘法器单元的消耗。本发明的FFT处理器,适用于IEEE802.11.ad协议,能够支持IEEE802.11.ad协议所需的
1.76GSps的吞吐率,能够连续工作,消耗硬件资源少,并且能够在FFT和IFFT计算之间进行切换。
【专利附图】

【附图说明】
[0016]图1本发明实施例的FFT处理器顶层架构不意图。
[0017]图2本发明实施例的FFT处理器第一级计算单元结构示意图。
[0018]图3本发明实施例的FFT处理器第二级计算单元结构示意图。
[0019]图4本发明实施例的FFT处理器第三级计算单元结构示意图。
[0020]图5本发明实施例的延迟反馈蝶形运算器结构示意图。
[0021]图6本发明实施例的蝶形运算器结构示意图。
[0022]图7本发明实施例的三级CSD编码旋转因子乘法器结构示意图。
[0023]图8本发明实施例的三级CSD编码旋转因子乘法器中的第一级结构示意图。
[0024]图9本发明实施例的三级CSD编码旋转因子乘法器中的第二级结构示意图。
[0025]图10本发明实施例的三级CSD编码旋转因子乘法器中的第三级结构示意图。
[0026]图11本发明实施例的二级CSD编码旋转因子乘法器结构示意图。
[0027]图12本发明实施例的二级CSD编码旋转因子乘法器的第一级结构示意图。
[0028]图13本发明实施例的二级CSD编码旋转因子乘法器的第二级结构示意图。
【具体实施方式】
[0029]参照附图,下面详细阐述FFT处理器的架构。
[0030]本发明实施例的FFT处理器顶层架构示意图如图1所示,具体包括:第一共轭单元、复用器单元、第一级计算单元、第二级计算单元、第三级计算单元、第二共轭单元、除以512单元和解复用器单元,其中,第一共轭单元的输入端和复用器单元的输入端连接在一起用于输入8路并行输入信号,第一共轭单元的输出端与复用器单元的输入端相连接;复用器单元的输出端与第一级计算单元的输入端相连接,第一级计算单元、第二级计算单元和第三级计算单元依次连接,第三级计算单元的输出端与解复用器单元的输入端和第二共轭单元的输入端相连;第二共轭单元的输出端连接至除以512单元的输入端,除以512单元的输出端与解复用器单元的输入端相连,所述解复用器单元的输出端输出8路并行输出信号;所述第一级计算单元用于实现基24分解;所述第二级计算单元用于实现基22分解;所述第三级计算单元用于实现基23分解;所述复用器单元和解复用器单元的控制端连接FFT/IFFT信号,用于实现FFT/IFFT功能的转换。
[0031]从图1可以看出本实施例的FFT处理器的时钟频率为220MHz,输入和输出均为8路并行的信号,信号“FFT/IFFT”用于选择图中复用器单元和解复用器单元的输出,从而在FFT和IFFT计算功能之间进行切换。当实现FFT变换时,8路并行输入信号依次经复用器单元、第一级计算单元、第二级计算单元、第三级计算单元和解复用器单元完成;当实现IFFT变换时,8路并行输入信号依次经第一共轭单元、复用器单元、第一级计算单元、第二级计算单元、第三级计算单元、第二共轭单元、除以512单元和解复用器单元完成。
[0032]本实施例的FFT处理器具体包含两大部分:一部分为核心计算模块,包含三级计算单元,分别采用基24、基22和基23分解方式,实现基本的FFT计算;另一部分为FFT/IFFT功能转换单元。对于512点FFT来说采用基24-22-23混合基的分解方式所产生的旋转因子复杂度最低,从而使硬件资源消耗最少。
[0033]共轭单元、复用器单元、除以512单元和解复用器单元为本领域的常规技术,不再详细描述,下面对本结构的其它组成部分给出具体的实施形式。
[0034]本发明实施的FFT处理器第一级计算单元结构如图2所示,其主要有两部分组成:8路并行的延迟反馈计算单元(图中前半部分)和三级CSD编码旋转因子乘法器。其连接关系为:从FFT顶层架构中的复用器输出的8路并行信号连接到延迟反馈计算单元,其后则连接一个三级CSD编码旋转因子乘法器。每一路延迟反馈计算单元包含4个延迟反馈蝶形运算器(图中虚线框部分),延迟反馈蝶形运算器的具体结构如图5所示。每两个延迟反馈蝶形运算器之间连接一个点数较少的旋转因子乘法器( P = O~I ),IV/ ( /7 = O~3 )和W1I(P = Q-1)(其中W=e_M2Kv),N的值就是W的下标值)。工作时通过复用器对数据进行切换,前一半时间需要将输入的数据送往BF_I的上路(也即图5中的d端)输出,进入反馈寄存器中,同时将反馈寄存器输出数据直接送往BF_I的下路(也即图5中的c端)输出;后一半时间需要做蝶形运算,将加法结果从BF_I的下路输出,进入后面的CSD乘法器与旋转因子相乘,同时减法结果从BF_I的上路输出,进入反馈寄存器。
`[0035]为了减少硬件资源的消耗,将旋转因子Mi2的乘法分成了三级进行,根据对称性将旋转因子指数部分P (P=O~511)映射到1/8圆周声(多=0~64)上,再将进行拆分,^P = ^P1 +P1 (其中Pl=0~8,p2=0~7)。最终确定三级CSD编码旋转因子乘法器如图7所示,图中上面部分电路是旋转因子乘法器的控制单元,用以产生P1, P2和region_sel信号,分别送给一、二、三级,指数P的高3位对应于映射区域,低7位是其映射后在A区域中的对应位置,如果指数P的第7位α 6的值为’ I’,则需要先对指数P的低7位取补码操作,再将高4位和低3位分别作为信号P1和P2传给第一级和第二级。region_sel信号具体代表了映射区域,用于第三级的解映射当中。图中的第一级如图8所示,完成乘法,图中乘以可以通过右移i位实现,其主要原理是根据旋转因子的CSD编码结果,对输入数据X做最少的移位相加来达到常系数乘法的功能,输出
Im !x}.Re丨},Im丨x!丨这四个乘法结果。
[0036]第二级如图9所示,完成乘法,输出如下四个结果:
[0037]Rcixj X RoiH^C1+ Reχ Im|^y }xRci^;!:
[0038]Re I a-} X Re ! X Re Id} - Rc{x} χ Im j χ Im \W^!:[0039]Im Jxj χ Re ; x Im [W^ 'I + Im Jxj χ Imji^1C1; χ Re }^:;:
[0040]Im Jxj χ Ro J χ Re !W7W -1m{χ} χ Im {IV} χ Im jj ,
[0041]第三级如图10所示,完成解映射,A、B、C、D、E、F、G、H表示八个映射区域。
[0042]图3示出了本发明实施的FFT处理器的第二级计算单元,其主要也有两部分组成:8路并行的延迟反馈计算单元(图中前半部分)和二级CSD编码旋转因子乘法器。其连接关系为:从FFT顶层架构中的第一级输出的8路并行信号连接到延迟反馈计算单元,其后则连接一个二级CSD编码旋转因子乘法器。每一路延迟反馈计算单元包含2个延迟反馈蝶形运算器,两个延迟反馈蝶形运算器之间连接一个点数较少的旋转因子乘法器= 0~I)。其中,延迟反馈蝶形运算器的结构如图5所示,其工作过程与第一级计算单元类似,不再详细说明。
[0043]同样,为了减少硬件资源的消耗,将旋转因子吨(p=0~31)的乘法分成二级进行,根据对称性将旋转因子指数部分P映射到1/8圆周/Hf =()~4)上,二级CSD编码旋转因子乘法器如图11所示,其中的第一级结构如图12所示,完成乘法第二级结构如图13所示,完成解映射。
[0044]图4示出了本发明实施的FFT处理器的第三级计算单元,其主要组成部分包括蝶形运算器BF_II和旋转因子乘法-j、^、r83,其中,BF_II的结构如图6所示,其连接关系为:从FFT顶层架构中的第二级输出的8路并行信号按图中标注的顺序连接到对应的蝶形运算器BF_II上。
[0045]本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形 和组合仍然在本发明的保护范围内。
【权利要求】
1.一种基于IEEE802.11.ad协议的FFT/IFFT处理器,具体包括:第一共轭单元、复用器单元、第一级计算单元、第二级计算单元、第三级计算单元、第二共轭单元、除以512单元和解复用器单元,其中,第一共轭单元的输入端和复用器单元的输入端连接在一起用于输入8路并行输入信号,第一共轭单元的输出端与复用器单元的输入端相连接;复用器单元的输出端与第一级计算单元的输入端相连接,第一级计算单元、第二级计算单元和第三级计算单元依次连接,第三级计算单元的输出端与解复用器单元的输入端和第二共轭单元的输入端相连;第二共轭单元的输出端连接至除以512单元的输入端,除以512单元的输出端与解复用器单元的输入端相连,所述解复用器单元的输出端输出8路并行输出信号; 所述第一级计算单元用于实现基24分解; 所述第二级计算单元用于实现基22分解; 所述第三级计算单元用于实现基23分解; 所述复用器单元和解复用器单元的控制端连接FFT/IFFT信号,用于实现FFT/IFFT功能的转换。
2.根据权利要求1所述的基于IEEE802.11.ad协议的FFT/IFFT处理 器,其特征在于,所述第一级计算单元包括 :8路并行的延迟反馈计算单元和三级CSD编码旋转因子乘法器,其中,复用器单元输出的8路并行信号连接到延迟反馈计算单元,其后则连接一个三级CSD编码旋转因子乘法器,每一路延迟反馈计算单元包括四个延迟反馈蝶形运算器,每个延迟反馈蝶形运算器中的反馈延迟个数依次为32、16、8、4 ;每两个延迟反馈蝶形运算器之间分别连接旋转因子乘法器F/,和其中,=ejWN),P为旋转因子指数,旋转因子乘法器町I/和I中,P的取值范围分别为:0~1,0~3和O~7。
3.根据权利要求1所述的基于IEEE802.11.ad协议的FFT/IFFT处理器,其特征在于,所述第二级计算单元包括:8路并行的延迟反馈计算单元和二级CSD编码旋转因子乘法器,其中,从第一级计算单元输出的8路并行信号连接到延迟反馈计算单元,其后则连接一个二级CSD编码旋转因子乘法器;每一路延迟反馈计算单元包含两个延迟反馈蝶形运算器,所述每个延迟反馈蝶形运算器中的反馈延迟个数依次为2、I ;所述两个延迟反馈蝶形运算器之间连接一个旋转因子乘法器W4P。
4.根据权利要求1所述的基于IEEE802.11.ad协议的FFT/IFFT处理器,其特征在于,所述第三级计算单元包括:蝶形运算器01、蝶形运算器02、蝶形运算器03、蝶形运算器04、蝶形运算器05、蝶形运算器06、蝶形运算器07、蝶形运算器08、蝶形运算器09、蝶形运算器,10、蝶形运算器11和蝶形运算器12,旋转因子乘法-j,%1,,其中,从第二级计算单元输出的8路并行信号记为:i路径O、i路径1、i路径2、i路径3、i路径4、i路径5、i路径6和i路径7,从第三级计算单元输出的8路并行信号记为:0路径,0、o路径l、o路径2、o路径3、ο路径4、ο路径5、ο路径6和ο路径7 ; i路径O和i路径4分别输入到蝶形运算器01的两个输入端,i路径I和i路径5分别输入到蝶形运算器02的两个输入端,i路径2和i路径6分别输入到蝶形运算器03的两个输入端,i路径3和i路径7分别输入到蝶形运算器04的两个输入端,蝶形运算器01的两个输出端分别连接到蝶形运算器05的一个输入端和蝶形运算器07的一个输入端,蝶形运算器02的两个输出端分别连接到蝶形运算器06的一个输入端和蝶形运算器08的一个输入端;蝶形运算器03的第一输出端连接到蝶形运算器05的另一个输入端,蝶形运算器03的第二输出端输出的信号与_j相乘然后连接到蝶形运算器07的另一个输入端,蝶形运算器04的第一输出端连接到蝶形运算器06的另一个输入端,蝶形运算器04的第二输出端输出的信号与_j相乘然后连接到蝶形运算器08的另一个输入端;蝶形运算器05的两个输出端分别连接到蝶形运算器09的一个输入端和蝶形运算器10的一个输入端;蝶形运算器06的第一输出端连接到蝶形运算器09的另一个输入端,蝶形运算器06的第二输出端输出的信号与-j相乘然后连接到蝶形运算器10的另一个输入端;蝶形运算器07的第一输出端连接到蝶形运算器11的一个输入端,蝶形运算器07的第二输出端输出的信号连接到蝶形运算器12的一个输入端;蝶形运算器08的第一输出端输出的信号与相乘然后连接到蝶形运算器11的另一个输入端,蝶形运算器08的第二输出端输出的信号与,83相乘然后连接到蝶形运算器12的另一个输入端;蝶形运算器09的两个输出端分别输出ο路径O和ο路径1,蝶形运算器10的两个输出端分别输出ο路径2和ο路径3,蝶形运算器11的两个输出端分别输出ο路径4和ο路径 5,蝶形运算器12的两个输出端分别输出ο路径6和ο路径7。
【文档编号】H04L29/06GK103488611SQ201310390543
【公开日】2014年1月1日 申请日期:2013年9月2日 优先权日:2013年9月2日
【发明者】王超, 严余伟, 傅晓宇 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1