一种宽带码分多址信道编码二次交织的方法

文档序号:7564488阅读:121来源:国知局
专利名称:一种宽带码分多址信道编码二次交织的方法
技术领域
本发明涉及宽带码分多址(WCDMA)信道编码技术,特别是一种WCDMA信道编码二次交织的方法。
背景技术
信道编码技术是通讯系统中重要的一环,它的作用主要有两个首先保证通讯达到一定的可靠性,而其中通讯的可靠性一般用误码率或者误块率来衡量,其中过高的误码率会导致较高的误块率;其次在保证一定通讯可靠性的基础上,尽量提高通讯的效率。
在WCDMA 3GPP TS 25.212协议中,给出了WCDMA系统信道编码和复用的相关技术,二次交织是其中的一部分。二次交织就是把不同的传输信道的数据在一帧内的位置均匀化,以免某个传输信道的数据集中在一些连续的位置上。如果不经过二次交织,同一传输信道的数据容易集中在一些连续的位置上,而如果传输中在这些连续的位置受到一个较大的干扰,则尽管其他信道的数据能够较好地恢复,但是该连续位置上的传输信道的数据由于误码率较大,在接收端却难以恢复。通过二次交织,就可以把错误的比特分摊到各个传输信道上,使得每一个传输信道的误码率都相对不太高,从而在大多数的情况下,都可以通过信道编码增益恢复数据,因此二次交织技术就是通过风险平摊的方式来提高通讯的可靠性。
图1为现有的WCDMA 3GPP TS 25.212协议中的二次交织技术处理流程图。如图1所示,现有技术中的二次交织技术包括以下步骤步骤101设定传输信道的个数为M,定义数组ToBeProcessBitNum[j],其中j的取值范围为集合
之间的整数,然后按照传输信道号从0到M-1的顺序,依次将各个传输信道待处理的比特数存放在数组ToBeProcessBitNum[j]中;步骤102计算变量TotalToBeProcessBitNum为各传输信道待处理的比特数之和;步骤103计算R=Upper(TotalToBeProcessBitNum/30),其中函数Upper(x)表示对x取上限整数,即x≤Upper(x)<x+1;步骤104将输入的各传输信道的数据按照先行后列的方式逐个写入R行30列的矩阵X中,最后一行如果有空余的数据位置就补入特殊数字,例如-1;步骤105对X矩阵进行列置换,置换后的矩阵Y第0到29列依次为矩阵X的第0、20、10、5、15、25、3、13、23、8、18、28、1、11、21、6、16、26、4、14、24、19、9、29、12、2、7、22、27、17列;步骤106按照先列后行的方式从矩阵Y逐个输出数据,如果在步骤104补入了特殊数字,输出数据时去掉该特殊数字。
以上现有的二次交织方法只能使得在二次交织输出时同一个传输信道的数据在一帧之内是均匀分布,而不能使得同一个传输信道的数据在一个时隙内也是均匀分布,因此如果在聚堆的区域内有一个较强的噪声就会造成聚堆的传输信道的误码率偏高,而其他传输信道的误码率却相对不太高,因此现有的二次交织技术并没有彻底地实现风险平摊,而会造成某些传输信道的误码率偏高,从而使得这些误码率偏高的传输信道的数据难以在接收端得到恢复,这就降低了通讯的可靠性。
以WCDMA中144K典型业务,传输信道组合格式指示(TFCI)等于11为例说明现有二次交织技术的缺点。144K典型业务有两个传输信道,到达二次交织输入时传输信道0的数据为125比特,传输信道1的数据为4195比特,则对应图1所示的流程有如下步骤在步骤101得到M=2,传输信道0的待处理比特数ToBeProcessBitNum
=125,传输信道1的待处理比特数ToBeProcessBitNum[1]=4195;在步骤102计算TotalToBeProcessBitNum,得到TotalToBeProcessBitNum=ToBeProcessBitNum
+ToBeProcessBitNum[1]=125+4195=4320;在步骤103计算TotalToBeProcessBitNum的上限整数R,得到R=Upper(TotalToBeProcessBitNum/30)=Upper(4320/30)=144;在步骤104把输出的数据按照先行后列的方式逐个写入144行30列的矩阵X,得到矩阵X,因为4320可以被30整除,所以不需要补特殊数字,得到的矩阵X为 在上面的矩阵X中,D0代表传输信道0的数据,D1代表传输信道1的数据,由于传输信道0有125比特,所以它占了矩阵X的前4行和第5行的前5个位置,而矩阵X的其余的位置为传输信道1的数据;在步骤105对X矩阵进行列置换,置换后的矩阵Y第0到29列依次为矩阵X的第0、20、10、5、15、25、3、13、23、8、18、28、1、11、21、6、16、26、4、14、24、19、9、29、12、2、7、22、27、17列;在步骤106按照先列后行的方式从矩阵Y中逐个输出数据。
在WCDMA信道编码中,二次交织后就是信道编码的最后一步,即物理信道映射。以下行信道编码为例进行说明,二次交织后,30列的数据映射到一帧15个时隙,所以矩阵Y的每两列数据对应到一个时隙中。
图2为WCDMA下行专用信道结构图,如图2所示,一帧的时间长度为Tf=10ms,一帧分为15个时隙,分别为Slot#0、Slot#1、Slot#2…Slot#14。一个时隙的时间长度Tslot为2560码片(Chip)或10×2k比特(k=0…7),一比特的持续时间为扩频因子(SF)个码片,而且SF和k之间的关系为SF=512/2k。每个时隙都由5部分组成,分别为Data1、Data2、功率控制信号(TPC)、TFCI和用于信道估计的导频信号(Pilot)。Data1和Data2为数据部分,又称为专用物理数据信道(DPDCH),经过编码后的输出数据填充到Data1和Data2部分,其中Ndata1为Data1在一个时隙内的比特数,Ndata2为Data2在一个时隙内的比特数。TPC、TFCI和Pilot部分用来传输物理层的一些控制信息,又称为专用物理控制信道(DPCCH),其中TPC传输功率控制命令,TFCI传输发送数据的数据格式指示,Pilot用于接收方进行同步、测量等。
在本例中,Ndata1为56,Ndata2为232,映射后如图3所示,其中L1和L4为传输信道0的数据,长度为4~5比特,L2、L3和L5为传输信道1的数据。映射到物理信道的第一个时隙的288比特数据如下000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111其中“0”为传输信道0的数据,也就是信令部分的数据,“1”为传输信道1的数据,也就是业务部分的数据。可以看出,按照现行的二次交织的方法,同一个传输信道的数据在一个时隙内不是均匀分布,而是聚堆的。例如本例中传输信道0的数据就集中在L1和L4区域内,这样当在L1或L4内有一个较强的噪声而其他区域内噪声较弱时就会导致传输信道0的误码率很高,而传输信道1的误码率却相对低很多,并没有彻底地实现风险平摊,从而造成传输信道0的数据在接收端难以恢复,这就降低了通信的可靠性。特别在WCDMA系统中,同步信道(SCH)只在每个时隙的前256码片内发射,由于SCH信道和其他信道不完全正交,所以在有SCH发射的区域内SCH信道对其他信道形成了强干扰。比如在本例中,SF等于16,当专用物理信道(DPCH)的ChipOffset mode 10=0时,DPCH的时隙头和SCH对齐,SCH持续时间相当于256 Chip/16=16比特,从而传输信道0的L1区域内的4~5比特数据就完全落在SCH形成的干扰区域内,这就导致传输信道0的误码率远远高于传输信道1的误码率,而传输信道0的误码率过高会造成传输信道0的误块率偏高,从而导致传输信道0的数据在接收端难以恢复,这就降低了通信的可靠性。

发明内容
有鉴于此,本发明的主要目的是提出一种WCDMA信道编码二次交织的方法,使得二次交织输出时各个传输信道的数据在一个时隙内也是均匀分布,更好地实现风险平摊,从而提高通讯的可靠性。
为达到上述目的,本发明的技术方案是这样实现的一种宽带码分多址信道编码二次交织的方法,包括以下步骤A0、计算各个传输信道的比特数的总和;B0、计算各个传输信道的比特数的总和的上限整数R;C0、将输入的各个传输信道的数据按照先行后列的方式逐个写入R行30列的矩阵X,最后一行如果有空余的位置补充特殊数字;D0、对所述X矩阵进行列置换,得到列置换后的矩阵Y;E0、按照先列后行的方式从所述矩阵Y逐个输出数据,如果步骤C0补入了特殊数字,输出数据时去掉补入的特殊数字;在所述步骤C0之前进一步包括以下步骤B1、确定各个传输信道比特数中最小并且大于零的值Min;B2、将各传输信道的比特数除以Min,得到各传输信道的比特数除以Min的商和各传输信道的比特数除以Min的余数;B3、重复Min次执行从各比特数非零的传输信道输出数据的步骤,其中每个传输信道所输出的数据的比特数为该传输信道的比特数除以Min所得到的商;B4、判断各个传输信道还没输出的比特数总和是否为零,如果是,执行步骤C0,否则返回步骤B1。
进一步包括在步骤B3之前定义两个数组,步骤B2所述的各传输信道的比特数除以Min的商和各传输信道的比特数除以Min的余数分别存入所述定义的两个数组。
步骤B3所述的重复Min次执行从各比特数非零的传输信道输出数据为依照传输信道号递增的顺序,重复Min次执行从各比特数非零的传输信道输出数据。
步骤B4所述的判断各个传输信道还没输出的比特数总和是否为零为判断各传输信道的比特数除以Min后得到的余数的总和是否为零。
步骤B4所述的判断各个传输信道还没输出的比特数总和是否为零为判断已处理的轮数是否与传输信道的个数相等。在这种情况下,本发明可以进一步包括在步骤B1前定义一循环变量并且指定该循环变量一初始值,在步骤B3后给该循环变量加1,所述的判断已处理的轮数是否与传输信道的个数相等为判断所述的循环变量的值与所述初始值的差是否与传输信道的个数相等。
从上述技术方案可以看出,在现有技术中是直接按照先行后列的方式把各个传输信道的数据写入R行30列的矩阵,而本发明首先把各个传输信道的数据进行了均匀混合,然后再把输入的各传输信道的数据按照先行后列的方式逐个写入R行30列的矩阵,因此本发明在二次交织输出时,不但各个传输信道的数据在一帧内的位置是随机均匀分布的,而且各个传输信道的数据在一个时隙内也是随机均匀分布的,所以本发明真正实现了把错误的比特平分到各个传输信道上,用一种更彻底的方法实现了风险平摊。同时,本发明通过把各个传输信道的数据彻底均匀混合而实现了二次交织输出时各个传输信道的数据在一个时隙内是随机均匀分布,因此在遇到干扰的时候本发明保证了每一个传输信道的误码率都相对不太高,从而有效地避免了WCDMA系统中因为各传输信道的数据在时隙内聚堆而在受到固定位置干扰时所造成的各传输信道误码率差别很大的问题,特别是有效地解决了由于SCH信道和其他信道不完全正交而造成SCH信道对其他信道强烈干扰的问题,所以应用本发明使得各个传输信道的数据在接收端都相对容易恢复,从而极大地提高了通讯的可靠性。


图1为现有的二次交织技术处理流程图。
图2为WCDMA下行专用信道结构图。
图3为现有二次交织技术处理后下行信道编码144K典型业务TFCI等于11时传输信道数据映射到物理信道示意图。
图4为本发明一实施例的信道编码二次交织处理流程图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明提出了一种WCDMA信道编码二次交织的方法,其主要思想是在二次交织数据输入后,先把各个传输信道的数据进行均匀混合,然后再写入R行30列的矩阵中而进行现有技术的二次交织操作。
图4为本发明一实施例的信道编码二次交织处理流程图。基于图4所示的处理流程,以WCDMA系统中144K典型业务、TFCI=11为例进行说明。144K典型业务有两个传输信道,到达二次交织输入时传输信道0的数据为125比特,传输信道1的数据为4195比特,有如下步骤步骤401传输信道的个数M为2,各个传输信道的待处理的比特数分别为125和4195,ToBeProcessBitNum
=125,ToBeProcessBitNum[1]=4195;
步骤402计算变量TotalToBeProcessBitNum为各个传输信道的比特数之和,得到TotalToBeProcessBitNum=ToBeProcessBitNum
+ToBeProcessBitNum[1]=125+4195=4320;步骤403计算R=Upper(TotalToBeProcessBitNum/30),所以得到R=Upper(4320/30)=144;步骤404确定ToBeProcessBitNum
和ToBeProcessBitNum[1]中最小并且大于0的数,并且把该数存放在变量Min中,所以Min=125;步骤405用ToBeProcessBitNum
除以Min,得到的商放入Quotient
,余数放入Resident
,用ToBeProcessBitNum[1]除以Min,得到的商放入Quotient[1],余数放入Resident[1],所以Quotient
=1,Resident
=0,Quotient[1]=33,Resident[1]=70;步骤406按照从传输信道0到传输信道1的顺序,每次从传输信道0输出1比特的数据,每次从传输信道1输出33比特的数据,两个传输信道都处理完为一轮,一共进行125轮;步骤407更新各个传输信道的待处理数ToBeProcessBitNum[j]为Resident[j],并且计算TotalToBeProcessBitNum为各Resident[j]之和,因为Resident
=0,Resident[1]=70,所以更新后的ToBeProcessBitNum
=0,ToBeProcessBitNum[1]=70,并且TotalToBeProcessBitNum=Resident
+Resident[1]=70;步骤408判断TotalToBeProcessBitNum是否为零,如果为零就执行步骤409,否则执行步骤404,因为TotalToBeProcessBitNum为70,并不为零,所以返回步骤404再次进行处理,在步骤404,有Min=70,在步骤405,有Quotient[1]=1、Resident[1]=0,在步骤406,每次从传输信道1输出1比特的数据,一共进行70次,在步骤407,有Resident
=0,Resident[1]=0,所以ToBeProcessBitNum
=0,ToBeProcessBitNum[1]=0,计算TotalToBeProcessBitNum=Resident
+Resident[1]=0,在步骤408,因为TotalToBeProcessBitNum等于零,所以执行步骤409;步骤409把输入的各个传输信道的数据按照先行后列的方式逐个写入144行30列的矩阵X中,到达步骤409的数据流为1、传输信道0的数据为1比特,传输信道1的数据为33比特2、传输信道0的数据为1比特,传输信道1的数据为33比特3、传输信道0的数据为1比特,传输信道1的数据为33比特4、传输信道0的数据为1比特,传输信道1的数据为33比特5、传输信道0的数据为1比特,传输信道1的数据为33比特…125、传输信道0的数据为1比特,传输信道1的数据为33比特126、传输信道1的数据为1比特127、传输信道1的数据为1比特128、传输信道1的数据为1比特…195、传输信道1的数据为1比特此时传输信道0和传输信道1的数据已经进行了均匀混合,同时因为4320能被30整除,所以矩阵X不需要补充特殊数字,此时得到的矩阵X为X=D0D1D1D1D1D1...D1D1D1D1D1D0D1...D1...D1D1D1D1D1D1...D1]]>其中D0为传输信道0的数据,D1为传输信道1的数据。D0位于矩阵X的第(0,0)、(1,4)、(2,8)……位置,D1位于矩阵X的其它位置。
步骤410把矩阵X进行列置换,置换后的矩阵Y第0到29列依次为矩阵X的第0、20、10、5、15、25、3、13、23、8、18、28、1、11、21、6、16、26、4、14、24、19、9、29、12、2、7、22、27、17列;步骤411按照先列后行的方式从矩阵Y逐个输出数据。
经过上述处理后输出的第一个时隙的288比特数据如下011111111111111110111111111111111101111111111111111011111111111111110111111111111111101111111111111111011111111111111110111111111111111101111111111110111111111111111101111111111111111011111111111111110111111111111111101111111111111111011111111111111110111111111111111101111111111111111111其中“0”为传输信道0的数据,也就是信令部分的数据,“1”为传输信道1的数据,也就是业务部分的数据。应用本发明后,可以看到传输信道0的数据已经不再聚堆,因此有效地避免了由于各传输信道的数据在时隙内的聚堆而在受到固定位置的干扰时所造成的各传输信道误码率差别很大的问题,此时当SCH和信令部分数据在时域上重合时,SCH就不会再造成信令误块率偏高的问题。同样地,其他时隙的信令数据也有同样的规律,所以较大地提高了通讯的可靠性。
上述过程中,在步骤401中将各个传输信道待处理的比特数定义为一个数组ToBeProcessBitNum[j],在步骤405中将得到的商定义为一个数组Quotient[j]和将得到的余数定义为一个数组Resident[j],其中j的取值范围都是集合
中的整数,也可以不定义上述数组,而是通过分别定义M个变量来代表各传输信道待处理的比特数、商和余数。
上述过程中,步骤406是按照传输信道号从0到M-1递增的顺序,重复Min次执行从ToBeProcessBitNum[j]非零的传输信道中输出Quotient[j]个比特的数据,也可以不按照传输信道号从0到M-1递增的顺序,而是按照传输信道号从M-1到0递减的顺序或者其他顺序方式来执行。
上述过程中,步骤408是通过判断变量TotalToBeProcessBitNum是否为零来判断是否所有的传输信道的数据已经处理完毕,也可以通过判断已处理的轮数是否与传输信道的个数相等来代替,比如可在步骤404之前定义一循环变量,步骤407之后给该循环变量递增加1,然后判断该循环变量的值与定义时该循环变量的值的差是否与传输信道的个数相等来判断是否所有的传输信道的数据已经处理完毕。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种宽带码分多址信道编码二次交织的方法,包括以下步骤A0、计算各个传输信道的比特数的总和;B0、计算各个传输信道的比特数的总和的上限整数R;C0、将输入的各个传输信道的数据按照先行后列的方式逐个写入R行30列的矩阵X,最后一行如果有空余的位置补充特殊数字;D0、对所述X矩阵进行列置换,得到列置换后的矩阵Y;E0、按照先列后行的方式从所述矩阵Y逐个输出数据,如果步骤C0补入了特殊数字,输出数据时去掉补入的特殊数字;其特征在于,在所述步骤C0之前进一步包括以下步骤B1、确定各个传输信道比特数中最小并且大于零的值Min;B2、将各传输信道的比特数除以Min,得到各传输信道的比特数除以Min的商和各传输信道的比特数除以Min的余数;B3、重复Min次执行从各比特数非零的传输信道输出数据的步骤,其中每个传输信道所输出的数据的比特数为该传输信道的比特数除以Min所得到的商;B4、判断各个传输信道还没输出的比特数总和是否为零,如果是,执行步骤C0,否则返回步骤B1。
2.根据权利要求1所述的宽带码分多址信道编码二次交织的方法,其特征在于,进一步包括在步骤B3之前定义两个数组,步骤B2所述的各传输信道的比特数除以Min的商和各传输信道的比特数除以Min的余数分别存入所述定义的两个数组。
3.根据权利要求1所述的宽带码分多址信道编码二次交织的方法,其特征在于,步骤B3所述的重复Min次执行从各比特数非零的传输信道输出数据为依照传输信道号递增的顺序,重复Min次执行从各比特数非零的传输信道输出数据。
4.根据权利要求1所述的宽带码分多址信道编码二次交织的方法,其特征在于,步骤B4所述的判断各个传输信道还没输出的比特数总和是否为零为判断各传输信道的比特数除以Min后得到的余数的总和是否为零。
5.根据权利要求1所述的宽带码分多址信道编码二次交织的方法,其特征在于,步骤B4所述的判断各个传输信道还没输出的比特数总和是否为零为判断已处理的轮数是否与传输信道的个数相等。
6.根据权利要求5所述的宽带码分多址信道编码二次交织的方法,其特征在于,进一步包括在步骤B1前定义一循环变量并且指定该循环变量一初始值,在步骤B3后给该循环变量加1,所述的判断已处理的轮数是否与传输信道的个数相等为判断所述的循环变量的值与所述初始值的差是否与传输信道的个数相等。
全文摘要
本发明公开了一种宽带码分多址信道编码二次交织的方法,在把输入的各传输信道的数据按照先行后列的方式逐个写入矩阵前,有如下步骤找出各传输信道比特数中最小且大于零的值Min;将各传输信道的比特数除以Min;重复Min次执行从各比特数非零的传输信道输出该传输信道的比特数除以Min所得到的商个数据;判断各传输信道还没输出的比特数总和是否为零,是就开始写入矩阵,否则返回。本发明所提出的这种方法,可使各传输信道的数据在一个时隙内随机均匀分布,避免由于固定位置的干扰而造成的各传输信道误码率差别很大的问题,从而提高通讯的可靠性。
文档编号H04L1/00GK1633055SQ20031012309
公开日2005年6月29日 申请日期2003年12月24日 优先权日2003年12月24日
发明者武雨春, 刘华斌 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1