时分双工同步码分多址系统中二次交织器的简便实现方法

文档序号:7953935阅读:232来源:国知局
专利名称:时分双工同步码分多址系统中二次交织器的简便实现方法
技术领域
本发明涉及一种应用于无线通信系统的,特别涉及一种应用于时分双工同步码分多址(Time Division Synchronous Code-Division Multiple Access,简称TD-SCDMA)移动通信系统中的二次交织器的简便实现方法。
背景技术
二次交织是一种块交织方法,实现步骤包含将输入比特填充到矩阵中,并插入虚比特,然后作列间交换,接着从矩阵中取出比特序列,最后将其中填充的虚比特删除,得到最终的输出比特序列。
根据交织深度的不同,二次交织可分为帧交织和时隙交织两种,即分别对帧或时隙的比特序列执行以下步骤完成交织过程步骤1、设置矩阵列数C2=30,矩阵各列按照从左到右的顺序依次编号为0,1,2,...,c2-1;步骤2、求矩阵的行数R2,R2为满足下式的最小整数U≤R2×C2矩阵各行按照从上至下的顺序依次编号为0,1,2,...,R2-1,U表示输入比特序列的长度;步骤3、将输入比特序列{x1,x2,x3,...,xU}逐行写入R2×C2的矩阵中,首比特x1填入第0行第0列y1y2y3···yC2y(C2+1)y(C2+2)y(C2+3)···y(2×C2)···············y((R2-1)×C2+1)y((R2-1)×C2+2)y((R2-1)×C2+3)···y(R2×C2)]]>其中,当R2×C2=U时,则yk=xk,k=1,2,...,U;当R2×C2>U,则矩阵中剩余的位置用虚比特填充,即yk=xk,k=1,2,...,Uyk=0或者1,k=U+1,U+2,...,R2×C2
步骤4、基于下述表1所示的模式<P2(j)>j∈{0,1,...,C2-1}来执行矩阵的列间交换,其中P2(j)是第j个交换列交换前的原始列位置;

表1、二次交织的列间交换模式也就是说矩阵进行列交换后,原来的第0列处于现在的第0列位置,原来的第20列处于现在的第1列位置,原来的第10列处于现在的第2列位置,依次类推;将交换后的比特记作yk′,即交换后的矩阵如下所示y1′y2′y3′···yC2′y(C2+1)′y(C2+2)′y(C2+3)′···y(2×C2)′···············y((R2-1)×C2+1)′y((R2-1)×C2+2)′y((R2-1)×C2+3)′···y(R2×C2)′]]>步骤5、从列间交换后的R2×C2的矩阵中逐列读出块交织器的输出比特序列;并将输出序列中的在列间交换前填补到矩阵中的虚比特删掉,即对应比特yk,k>U的比特yk′需要从输出比特序列中删除;二次交织器的最终输出序列表示为z1,z2,z3,...,zU。
仔细观察上述二次交织过程后,发现二次交织具有以下特点1、二次交织器的输入比特序列x1,x2,x3,...,xU的矩阵地址为k=0,1,2,...,U-1,填充的虚比特序列的地址为k=U,U+1,U+2,...,R2×C2-1;最终输出序列z1,z2,z3,...,zU对应的交织地址为intlv_addr(k),k=0,1,2,...,U-1;2、在列交换后,矩阵第0行的C2=30个元素的交织地址正好为如列间交换模式表1中所示的元素<P2(j)>j∈{0,1,...,C2-1};3、在列交换后,矩阵每列中相邻行的元素的交织地址以30为增量逐行递增;4、在列交换后,矩阵中需要删除掉的虚比特的交织地址为k=U,U+1,U+2,...,R2×C2-1;5、最终输出序列z1,z2,z3,...,zU对应的交织地址应满足
intlv_addr(k)<U,k=0,1,2,...,U-1。
在信道编码过程中,需要对数据进行二次交织;交织过程可以通过将数据以顺序地址写入buffer,再以交织地址读出来实现。
在信道解码过程中,需要对数据进行二次解交织;解交织过程可以通过将数据以交织地址写入buffer,再以顺序地址读出来实现。
所以实现二次交织、解交织处理的最关键问题在于二次交织地址的生成。传统的二次交织、解交织处理是通过求矩阵行数、写入矩阵、填充虚比特、矩阵列交换、读出矩阵、删除虚比特的繁琐过程完成的,实现较为复杂。

发明内容
本发明的目的在于提供一种时分双工同步码分多址系统中二次交织器的简便实现方法,其避开了传统实现二次交织的求矩阵行数、写入矩阵、填充虚比特、矩阵列交换、读出矩阵、删除虚比特的繁琐处理过程,可以方便灵活地实现并应用。
为了解决上述技术问题,同时根据上述所描述的二次交织过程中的特点,本发明提供一种时分双工同步码分多址系统中二次交织器的简便实现方法,其包含以下步骤步骤1、输入交织长度U,即输入输入比特序列x1,x2,x3,...,xU的长度U;步骤2、按照列间交换模式初始化矩阵各列的首地址表,即初始化矩阵的第0行地址表column_addr[i]=<P2(i)>i∈{0,1,...,C2-1},其中,C2=30,表示矩阵的总列数,P2(i)表示第i列在列交换前的原始列位置;步骤3、初始化矩阵首个元素,即第0行第0列元素的交织地址值为0,即intlv_addr
=column_addr
=0;步骤4、逐列依次判断矩阵第k行第i列的当前处理元素是否为输出序列中的第j个元素,其中,j∈(0,1,......,U-1);若是,则计算其交织地址值,并跳转执行步骤6;若否,则继续执行步骤5;步骤5、由各列的首地址表column_addr[i]中读取下一列的首地址,所读取的首地址为此列首元素的交织地址值,即intlv_addr[j]=column_addr[i];步骤6、根据交织长度U,判断是否计算完输出序列的全部交织地址若j<U-1,则返回步骤4,继续逐列计算下个矩阵元素的交织地址;
若j=U-1,则结束交织运算。
所述的步骤4还具体包含以下步骤步骤4.1、将第j-1个输出序列的交织地址值加30,即对于处于矩阵第k行第i列的当前处理元素,将第k-1行第i列的元素的交织地址值加30,有intlv_addr[j-1]+30步骤4.2、判断intlv_addr[j-1]+30的值是否大于交织长度U若intlv_addr[j]<U,则当前处理元素为输出序列中的第j个元素,计算其交织地址值,即intlv_addr[j]=intlv_addr[j-1]+30,并跳转直接执行步骤6;若intlv_addr[j]>=U,则当前处理元素为填充入矩阵的虚比特,或者是超出矩阵范围的非法地址,执行步骤5。
本发明提供的时分双工同步码分多址系统中二次交织器的简便实现方法,具有以下优点1、简单方便,利于实现;本方法可彻底避开传统的求矩阵行数、写入矩阵、填充虚比特、矩阵列交换、读出矩阵、删除虚比特的繁琐处理过程。
2、由于本方法的唯一入口参数为交织长度U,故可统一帧交织模式和时隙交织模式,以及不同交织长度下交织地址的计算过程,使得帧交织模式和时隙交织模式下交织地址的计算可以共用同一个硬件模块实现;只要改变输入的参数交织长度U,即可用于不同交织长度,不同交织模式下的二次交织地址的计算。


图1为本发明提供的时分双工同步码分多址系统中二次交织器的简便实现方法的流程图。
具体实施例方式
以下根据图1,说明本发明的较佳实施方式。
如图1所示,为本发明提供的时分双工同步码分多址系统中二次交织器的简便实现方法的流程图,其包含以下步骤步骤1、输入交织长度U,即输入输入比特序列x1,x2,x3,...,xU的长度U,本实施例中,取U=100;步骤2、按照列间交换模式初始化各列的首地址表,即初始化矩阵的第0行地址表column_addr[i]=<P2(i)>i∈{0,1,...,C2-1}]]>=<0,20,10,5,15,25,3,13,23,8,13,28,1,11,21,6,16,26,4,14,24,19,9,29,12,2,7,22,27,17,>]]>其中,C2=30,表示矩阵的总列数,P2(i)表示第i列在列交换前的原始列位置,也就是矩阵进行列交换后,原来的第0列处于现在的第0列位置,原来的第20列处于现在的第1列位置,原来的第10列处于现在的第2列位置,依次类推;步骤3、初始化矩阵首个元素,即第0行第0列元素的交织地址值为0,即intlv_addr
=column_addr
=0,并赋值i=0,j=0;步骤4、逐列依次判断矩阵中各当前处理元素是否为输出序列中的元素;步骤4.1、令j=j+1=0+1=1;将第j-1个,也就是第0个输出序列的交织地址值加30,即对于处于矩阵第1行第0列的当前处理元素,将第0行第0列的元素的交织地址值加30,有intlv_addr[j-1]+30=0+30=30步骤4.2、判断intlv_addr[j-1]+30的值是否大于交织长度U若intlv_addr[j]<U,计算intlv_addr[j]=intlv_addr[j-1]+30,并跳转直接执行步骤6;若intlv_addr[j]>=U,则执行步骤5;根据步骤4.1,由于intlv_addr[j-1]+30的值为30,其小于交织长度U,故得到第1个输出序列的交织地址值为30,并直接执行步骤6;步骤5、令i=i+1=0+1=1;由各列的首地址表column_addr[i]中读取下一列的首地址,该读取的首地址为此列首元素的交织地址值,即intlv_addr[j]=column_addr[i];步骤6、根据交织长度U=100,判断是否计算完输出序列的全部交织地址若j<U-1,则返回步骤4;若j=U-1,结束交织运算;根据步骤4中,j=1,明显小于交织长度U=100,则返回执行步骤4;按照上述过程类推,依此计算交织地址,在本实施例中,当j的值为4、7、10、14……时,在执行步骤4.2时,判断得到intlv_addr[j-1]+30的值会出现大于或等于交织长度U的情况,说明其是超过矩阵范围的非法地址,或者是填充的虚比特,此时执行步骤5,读取下一列的列首地址20、10、5、15……,并分别作为第4、7、10、14……个输出序列的交织地址;当j的值为U-1,即99时,结束交织运算。
本发明提供的时分双工同步码分多址系统中二次交织器的简便实现方法,具有以下优点1、简单方便,利于实现;本方法可彻底避开传统的求矩阵行数、写入矩阵、填充虚比特、矩阵列交换、读出矩阵、删除虚比特的繁琐处理过程。
2、由于本方法的唯一入口参数为交织长度U,故可统一帧交织模式和时隙交织模式,以及不同交织长度下交织地址的计算过程,使得帧交织模式和时隙交织模式下交织地址的计算可以共用同一个硬件模块实现;只要改变输入的参数交织长度U,即可用于不同交织长度,不同交织模式下的二次交织地址的计算。
权利要求
1.一种时分双工同步码分多址系统中二次交织器的简便实现方法,其特征在于,包含以下步骤步骤1、输入交织长度U,即输入输入比特序列x1,x2,x3,…,xU的长度U;步骤2、按照列间交换模式初始化矩阵各列的首地址表,即初始化矩阵的第0行地址表column_addr[i]=<P2(i)>i∈{0,1,...,C2-1},]]>其中,C2=30,表示矩阵的总列数,P2(i)表示第i列在列交换前的原始列位置;步骤3、初始化矩阵首个元素,即第0行第0列元素的交织地址值为0,即intlv_addr
=column_addr
=0;步骤4、逐列依次判断矩阵第k行第i列的当前处理元素是否为输出序列中的第j个元素,其中,j∈(0,1,……,U-1);若是,则计算其交织地址值,并跳转执行步骤6;若否,则继续执行步骤5;步骤5、由各列的首地址表column_addr[i]中读取下一列的首地址,所读取的首地址为此列首元素的交织地址值,即intlv_addr[j]=column_addr[i];步骤6、根据交织长度U,判断是否计算完输出序列的全部交织地址若j<U-1,则返回步骤4,继续逐列计算下个矩阵元素的交织地址;若j=U-1,则结束交织运算。
2.如权利要求1所述的时分双工同步码分多址系统中二次交织器的简便实现方法,其特征在于,所述的步骤4包含以下步骤步骤4.1、将第j-1个输出序列的交织地址值加30,即对于处于矩阵第k行第i列的当前处理元素,将第k-1行第i列的元素的交织地址值加30,有intlv_addr[j-1]+30步骤4.2、判断intlv_addr[j-1]+30的值是否大于交织长度U若intlv_addr[j]<U,则当前处理元素为输出序列中的第j个元素,计算其交织地址值,即intlv_addr[j]=intlv_addr[j-1]+30,并跳转直接执行步骤6;若intlv_addr[j]>=U,则当前处理元素为填充入矩阵的虚比特,或者是超出矩阵范围的非法地址,执行步骤5。
全文摘要
一种时分双工同步码分多址系统中二次交织器的简便实现方法,其根据二次交织过程中的特点包括矩阵列交换后,各列首交织地址即为列间交换模式表所示的值,矩阵每列中相邻行的元素的交织地址以30为增量逐行递增,及矩阵中需要删除的虚比特的交织地址为k=U,U+1,U+2,…,R
文档编号H04L25/17GK101064699SQ20061002617
公开日2007年10月31日 申请日期2006年4月28日 优先权日2006年4月28日
发明者陈军, 曾璐 申请人:凯明信息科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1