并行Turbo码内交织方法

文档序号:7526571阅读:326来源:国知局

专利名称::并行Turbo码内交织方法
技术领域
:本发明涉及到第三代移动通信长期演进系统(简称3GLTE)中并行Turbo码内交织方法。
背景技术
:2004年底第三代移动通信系统标准化组织(以下简称3GPP)启动了关于3GLTE(长期演进)的研究和标准化工作,在3GLTE系统中依然采用Turbo码作为数据业务的信道编码。Turbo译码器由两个SISO(软输入软输出)分量译码器、硬判决器、交织器和解交织器构成(如图1)。由于LTE系统的传输速率比较高,那么对于接收机就需要一个高速的Turbo译码器。高速Turbo译码器通常采用并行Turbo译码方式,即将两个SIS0分量译码器设计成多个并行的译码单元,即将长度为K的码块分成M个子块并行译码,分量译码器的并行结构如图2所示。从图2中可以看出,将存储器分成M个子存储器,在并行译码过程中,M个译码器输出的M个结果同时进行交织或解交织后分别存入M个子存储器中。在3GLTE系统中Turbo码在两个分量译码器之间用了一个QPP(简称二次置换多项式)内交织器,在3GLTE协议(3GPP36.212)中给出了QPP内交织器的地址计算方法如下假设输入到Turbo码内交织器的比特表示为c。,Cl,...,cK—15其中K表示输入数据的长度,从Turbo码内交织器输出的数据表示为c'。,c'p...,c'K—lt)输入比特和输出比特的交织过程用下式表示c'iCn(i),i=0,1,…,K-l输出的下标i和输入QPP交织器地址下标TI(i)计算关系满足如下二次方程式II(i)=(f\i+f2i2)modK其中,mod表示求余运算,^和f2由输入数据的长度K决定,K有多种取值方式,如表l所示。表1<table>tableseeoriginaldocumentpage4</column></row><table><table>tableseeoriginaldocumentpage5</column></row><table><table>tableseeoriginaldocumentpage6</column></row><table>美国专利US2008/0115034A1(文献1)公开了一种递推计算QPP交织器地址的方法,步骤如下1)计算初始值g(o)、n(0)和常量c;n(0)=02)从ifg(/_l)+C假如g(Z_l)+C"[g(/-1)+C_K其他fn(/_i)+g("i)假如n(/-i)+g(卜1)<夂Ln(/-i)+g(/_i)-A:其他由上面的步骤可知,QPP交织器的地址的计算可以通过以上g(i)和TI(i)计算公式做简单的加减和判断计算得到,而不需要乘法和求余运算,减小了运算复杂度,但是并行Turbo译码器要进行并行交织或解交织,需要知道交织器地址对应的子存储器中的地址偏移量和子存储器的索引。IEEEInternationalSymposiumonCircuitsandSystems,2006.ISCAS2006,MichaelK.Cheng,BruceE.Moision,JonHamkins,andMichaelA.Nakashima,AnlnterleaverImplementationfortheSeriallyConcatenatedPulse—PositionModulationDecoder,(文献2)将并行设计中数据的存储器分成了多个子存储器,假设将长度为K的码块平均分成M个子块,每个子块的长度为W,则K=丽,并提出了将交织地址II(i)表示为11(i)modK=!!'(i)+qn(i)W,其中TI'(i)=11(i)modW,表示交织地址偏移量,化(0:『,其中,,表示向下取整,表示交织地址索引(子存储器编号从o开始)。该文献中虽然给出了交织地址偏移量和交织地址索引的计算方法,但本方法并未考虑Turbo并行译码在同一时刻有M个输出,从而未给出在同一时刻计算多个并行交织地址的方法。
发明内容本发明解决的问题是提供一种同一时刻计算多个并行交织地址、且运算量和存储量都较小的并行Turbo码内交织方法。为解决以上问题,本发明并行Turbo码内交织方法在同一时刻i先计算M个译码数据的地址偏移量n'(i),再计算地址索引qn(i+tW),实现同一时刻对M个译码结果交织寻址的处理,主要包括以下步骤步骤A:在i=0时刻,初始化,获得11'(0)和qn(O),并从t=1至IJM-1递推计算此时刻的qn(tW)步骤B:从i=1到i=W-l时刻,递推计算n'(i)和qn(i+tW),t=1,,M-l;所述步骤A的初始化包括a)根据码块长度K查表得到Turbo码内交织器的参数f工和f2;b)根据码块长度K将码块平均分割成M个子块,让K=丽,每个子块的长度为W;c)获取或计算以下初始值TI'(0),a,b,g'(0),r2f,q2f,qn(0),qg(0),并根据初始值计算qn(tW),t=1,,M-l;其中,TI'(0)=O,a=f\modM,b=(^+2f2)modM,g'(0)=(f,f2)modW,r2f=(2f2)modW,《2/=丛『qn(0)=0,&(0)=『所述步骤A递推计算此时刻qn(tW)的方法为从t=1开始,递推计算qn(tW),直到t=M-l;化((卜l)『)+a假如化((,-1,)+"Mh((卜l,)+a-M所述步骤B进一步包括以下过程Bl:设定初始时刻i=1B2:计算TI'(i):其他n'(/)='g'(/_i)+n'(/-1)假如-1)+n'(/-1)<rg'(f_i)+n'(/—其他其中,~+g'(z'—l)假如"2/+^(/-1)<『&2/+g'(/-l)—『其他B3:递推计算当前时刻的qn(i+tW),t从1到M-l:《n(/+(/-1)『)+a假如《n(/+0-1)『)+a<M^n("(M,)+fl_M其他其中,《n(M)+W_l)+n'(/-l)十g'(z-1)『n'("i)+g'('-i)『假如化(''_1)+&(,'-1)+n'(z-i)+g'(i—1)『<M其他8<formula>formulaseeoriginaldocumentpage9</formula>其他B4:i=i+l,若i>W-1,执行完成,否则重复步骤B2-B4;本发明与文献2的差异在于本发明利用计算出来的第O个子存储器的索引qn(i)来进行递推计算得到第t个子存储器的索引qn(i+tW),t=1,…,M-l,根据qn(i+tW)和TI'(i)就可以实现M路数据同时进行并行交织或解交织。由于本发明通过简单的加减和判断计算,因此计算量低,表2给出了按照最大并行度为8进行分段时不同码块长度下本发明与其他方法的计算量的比较。从表2可以看出本发明在码块长度比较大时其加减法运算量远小于文献1、2所述的两种算法。表2<table>tableseeoriginaldocumentpage9</column></row><table>由于本发明只需存储子存储器的地址偏移量n'(i)和子存储器的地址索引qn(i+tW),i=0,1,2,…,W-1,因此存储量较小。表3给出了按照最大并行度为8进行分段本发明与其他方法的最大存储3小得多。表3:的比较,从表中可以看出本发明比一般的方法存储量要<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>图1是Turbo译码器的结构图;图2是分量译码器的并行结构图;图3是本发明并行Turbo码内交织方法流程图。具体实施例方式下面结合具体实施例的附图3对本发明作进一步的说明,本发明在同一时刻i先计算M个译码数据的地址偏移量n'(i),再计算地址索引qn(i+tW),实现同一时刻对M个译码结果交织寻址的处理。以LTE的Turbo码内交织器且Turbo译码器最大的并行度为4为例,具体实现流程如图3所示,步骤如下步骤A:在i=0时刻,初始化,获得11'(0)和qn(O),并从t=1至IJM-I递推计算此时刻的qn(tW)所述初始化包括a)根据码块长度K查表得到Turbo码内交织器的参数^和f2;b)根据码块长度K将码块平均分割成M个子块,让K=丽,每个子块的长度为W;所述根据码块长度K将码块平均分割成M个子块的方式为<formula>formulaseeoriginaldocumentpage10</formula>作为另一实施例,当Turbo译码器最大的并行度为8时,所述分割方法方式为<formula>formulaseeoriginaldocumentpage10</formula>c)获取或计算以下初始值TI'(O),a,b,g'(0),r2f,q2f,qn(O),qg(O),并根据初始值计算qn(tW),t=1,…,M-l;<formula>formulaseeoriginaldocumentpage10</formula>优选地,以上初始值可以预先计算,然后存储起来,使用时直接读取。所述递推计算此时刻qn(tW)的方法为从t=1开始,递推计算qn(tW),直到t=M-l;M-l;下公式a假如&((卜1)『)+"M^n(0—l)『)+fl_M其他步骤B:从i=1到i=W-l时刻,递推计算n'(i)和qn(i+tW),t=1:进一步地,包括以下过程Bl:设定初始时刻i=1B2:计算TI'(i):n',.、Ig'('-i)+n'(/-i)假如g'(!:i)+n'(/—1)<『lg'("i)+n'(/-i)-^其他其中,r2/+g'("i)假如^+g'(/-i)〈『^2/+g'(/—1)—『其他B3:递推计算当前时刻的qn(i+tW),t从1到M-l:其中,B4:i=i+l,若i>W-1,执行完成,否则重复步骤B2-B4。本领域技术人员显然清楚并且理解,本发明方法所举的以上实施例仅用于说明本发明,而并不用于限制本发明,本领域技术人员显然清楚,在不背离本发明的精神及其实质的情况下,本领域技术人员当可根据本发明方法做出各种相应的改变或变形,但这些相应的改变或变形均属于本发明的权利要求保护范围。权利要求并行Turbo码内交织方法,其特征在于,在同一时刻i先计算M个译码数据的地址偏移量∏′(i),再计算地址索引q∏(i+tW),实现同一时刻对M个译码结果交织寻址的处理,包括以下步骤步骤A在i=0时刻,初始化,获得∏′(0)和q∏(0),并从t=1到M-1递推计算q∏(tW);步骤B从i=1到i=W-1时刻,递推计算∏′(i)和q∏(i+tW),t=1,…,M-1;其中,M是子块个数,W为每个子块的长度。2.如权利要求1所述并行Turbo码内交织方法,其特征在于,所述步骤A的初始化包括a)根据码块长度K查表得到Turbo码内交织器的参数&和f2;b)根据码块长度K将码块平均分割成M个子块,让K=丽,每个子块的长度为W;c)获取或计算以下初始值TI'(0),a,b,g'(0),f2f,q2f,qn(0),qg(0),并根据初始值计算qn(tW),t=1,…,M-1;其中,TT(0)=O,a=f!modM,b=(f,2f2)modM,g'(0)=(f^+f^modW,!^=(2f2)modW,《2/丛『qn(0)=0,&(0)="+/2)modiJ:『M=3.如权利要求2所述并行Turbo码内交织方法,其特征在于,所述根据码块长度K将码块平均分割成M个子块的方式为当Turbo译码器最大的并行度为4时<formula>formulaseeoriginaldocumentpage2</formula>当Turbo译码器最大的并行度为8时<formula>formulaseeoriginaldocumentpage2</formula>4.如权利要求1所述并行Turbo码内交织方法,其特征在于,所述步骤A递推计算qn(tW)的方法为从t=1开始,递推计算qn(tW),直到t=M-l;f—a假如9n(0-l)『)+"〈M^n(0_l)『)+a—M其他°5.如权利要求1所述并行Turbo码内交织方法,其特征在于,所述步骤B进一步包括以下过程Bl:设定初始时刻i=1;B2:计算TI'(i):g'(/-i)+n'(/-i)假如g'(z'-i)+n'o'-i)〈『其中,化(岭n'(o=-i)+n'(/—1)-『其他其中,<formula>formulaseeoriginaldocumentpage3</formula>B3:递推计算当前时刻的qn(i+tW),t从1到M-l:当Turbo译码器最大的并行度为4时<formula>formulaseeoriginaldocumentpage3</formula>当Turbo译码器最大的并行度为8时当i为偶数时<formula>formulaseeoriginaldocumentpage3</formula>当i为奇数时其中,<formula>formulaseeoriginaldocumentpage3</formula>若i>W-1,执行完成,否则重复步骤B2-B4。全文摘要本发明提供一种并行Turbo码内交织方法,在同一时刻i先计算M个译码数据的地址偏移量∏′(i),再计算地址索引q∏(i+tW),实现同一时刻对M个译码结果交织寻址的处理;在i=0时刻,初始化,获得∏′(0)和q∏(0),并从t=1到M-1递推计算q∏(tW);从i=1到i=W-1时刻,递推计算∏′(i)和q∏(i+tW),t=1,…,M-1;本发明利用计算出来的第0个子存储器的索引q∏(i)来进行递推计算得到第t个子存储器的索引q∏(i+tW),t=1,…,M-1,根据q∏(i+tW)和∏′(i)就可以实现M路数据同时进行并行交织或解交织,通过简单的加减和判断计算,计算量低;只需存储子存储器的地址偏移量∏′(i)和子存储器的地址索引q∏(i+tW),i=0,1,2,…,W-1,因此存储量较小。文档编号H03M13/27GK101707490SQ20091019092公开日2010年5月12日申请日期2009年9月22日优先权日2009年9月22日发明者沈静,王俊,王茜竹申请人:重庆重邮信科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1