一种Turbo码内交织器的实现方法

文档序号:7651130阅读:256来源:国知局
专利名称:一种Turbo码内交织器的实现方法
技术领域
本发明涉及移动通信系统中信道编解码器技术领域,尤其涉及一种Turbo码内交织器的实现方法。
背景技术
由于Turbo码优越的误码及误块性能,自1993年由C.Berrou,A.Glavieux和P.Thitimajshiwa三人首次在ICC国际会议上提出以来,立刻受到全球通信及信息论相关研究人员的广泛关注。目前,Turbo码已被多个通信标准化组织采用,写入其发布的相关通信标准之中,其中最为典型的例子是第三代移动通信系统3GPP WCDMA和3GPP2 cdma2000,两者均采用Turbo码作为信道编码,以实现高质量的宽带信号传输。
Turbo码内有一码内交织器,此交织器是Turbo码性能优越的关键所在。通常,交织器大致可以分为两类,一类是随机交织,而另一类则是确定性交织。随机交织是指交织方式是随机产生的,从理论上讲随机交织的性能是最优的,但是由于需要将全部交织器信息传送到解码器,才能实现正确译码,因而占用了系统带宽,降低了编码及传输效率,不太适宜实际应用。确定性交织性是指交织方式是确定性的,收发双方均可预先知晓交织方案,无需要收发双方交互交织方式信息,因而具有较高的编码及转输效率,适合在移动通信系统中使用。
最简单的确定性交织方案是块交织,即通常所说的简单的行写列读方式,虽然实现起来简单,但是随机程度均匀程度不足,解码效果很差。3GPP采用的是确定性交织器,称之为质数交织器,此实现中将较宽的交织长度范围,划分若干个不同区段,每个区段内采用一个母交织,不同区段的母交织器不同,同一区段内的子交织器由同一母交器产生。这种实现方式既避免了确定性交织的随机程度均匀程度不足,同时也避免了随机交织浪费系统带宽的缺点,特别适合移动通信系统中采用。
实现Turbo码内交织器最简单的办法是,将所有的交织模式存储在ROM之中,这种方法需要大量的ROM,占用的硬件资源过多,特别是第三代移动通信系统,可能需要支持全球漫游,将WCDMA和cdma2000所有的交织模式均写入ROM之中,无疑会造成硬件资源的巨大浪费。

发明内容
本发明提出了一种Turbo码内交织器的实现方法,能够在使用较少资源的情况下,实时地生成交织和解交织地址。
为此,本发明采用了以下技术方案一种Turbo码内交织器的实现方法,包括以下步骤A、计算交织矩阵参数,所述交织矩阵参数包括交织矩阵的行数、最小的质数、交织矩阵的列数和所述最小的质数对应的原根;B、进行所述交织矩阵的行内行间置换;C、产生交织地址。
进一步地,上述方法还可包括所述步骤A中包括以下步骤A1、根据信息块长度K,计算所述交织矩阵的行数R,如果40≤K≤159,则R=5,如果160≤K≤200或者481≤K≤530,R=10,否则R=20;A2、查找最小的质数p,其中p满足公式K≤R×(p+1);A3、根据信息块长度K,计算所述交织矩阵的列数C,如果481≤K≤530,则C=p,否则当K≤R×(p-1),则C=p-1,当R×(p-1)<K≤R×p,则C=p,当R×p<K,则C=p+1;
A4、通过查表,获取所述最小的质数p对应的原根v。
进一步地,上述方法还可包括所述步骤B中包括以下步骤B1、构造行内置换的基序列s(j);B2、构造质数序列qi,其中i为0到R-1的整数;B3、生成行内置换模式Vi(j),如果Vi(j-1)+wi<p-1,Vi(j)=Vi(j-1)+wi,如果Vi(j-1)+wi≥p-1,Vi(j)=Vi(j-1)+wi-p-1,其中,wi=qimod(p-1),Vi(0)=0,Vi(1)=wi,i为0到R-1的整数,j为1到p-1的整数;B4、计算行内置换模式Ui(j),如果C=p,则Ui(j)=s(Vi(j)),其中j为0到p-2的整数,Ui(p-1)=0,如果C=p+1,则Ui(j)=s(Vi(j)),其中j为0到p-2的整数,Ui(p-1)=0,Ui(p)=p,而且当K=RC,将U0(p)和U0(0)进行置换;如果C=p-1,则Ui(j)=s(Vi(j))-1,其中j为0到p-2的整数。
进一步地,上述方法还可包括所述步骤B1中,所述构造行内置换的基序列s(j)可以通过实时迭代计算完成,s(j)=M(s(j-1)),其中j为0到p-2的整数,如果M(n-1)+v<p,则M(n)=M(n-1)+v,如果M(n-1)+v≥p,则M(n)=M(n-1)+v-p,其中n为1到p-1的整数,s(0)=1,M(0)=0。
进一步地,上述方法还可包括所述步骤B1中,所述构造行内置换的基序列s(j)可以通过构造查找表完成。
进一步地,上述方法还可包括所述步骤B2中,所述构造质数序列qi是从质数原根表,依次选择R-1个质数,每个质数qi满足(p-1)modqi≠0,其中i为1到R-1的整数,并且q0=1。
进一步地,上述方法还可包括所述步骤B2中,所述构造质数序列qi是将满足(p-1)modqi=0的(p,qi)对做成表格,结合质数原根表,通过查表的方法来完成。
进一步地,上述方法还可包括所述步骤C中包括以下步骤
C1、计算行基准地址,第i行的初始基准地址ai=iC,,其中i为0到R-1的整数;C2、所述行基准地址的行间置换,行间置换后的第i行的初始基准地址满足bi=aT(i),其中i为0到R-1的整数;C3、生成交织地址,如果bi+Ui(j)<K,交织后第k个比特的缓冲区地址yk=bi+Ui(j),其中k为0到K-1的整数。
采用了本发明的技术方案,简化了交织器的实现步骤,提出了空行预删除技术,进一步节省了所需存储资源,采用了新的行内置换模式,主要运算均采用迭代计算或查表的方式实现,硬件实现中避免了所有的取模及乘除法运算,达到交织/解交织地址的实时产生。


图1为本具体实施方式
中软件部分处理流程图;图2为本具体实施方式
中硬件部分处理流程图。
具体实施例方式
下面结合附图,并通过具体实施方式
对本发明的技术方案作进一步说明。
本发明采用软硬件相结合的实现方法,在使用较少资源的情况下,实时地生成交织或解交织地址,其核心思想是将长度介于40-5114比特的码内交织器,首先划分为若干个不同长度的母交织器,然后通过空行预删除技术构造相应的子交织器,并在此基础上通过删除多余的半行空位,实现给定长度的Turbo码内交织器。本发明的Turbo码内交织及解交织方法,其实现装置分为软件和硬件两部分构成,软件主要实现一次性初始化参数的计算,而硬件则用以完成重复性的运算操作,两者共同实现交织地址或解交织地址的生成。
具体实施方式
以信息码元长度K=645为例,对3GPP Turbo码内交织器技术方案进行描述。
图1为本具体实施方式
中软件部分处理流程图。如图1所示,包括以下步骤步骤101、计算交织矩阵参数,交织矩阵参数包括交织矩阵的行数R、最小的质数p、交织矩阵的列数C和所述最小的质数对应的原根v,根据信息块长度K,计算所述交织矩阵的行数R,如果40≤K≤159,则R=5,如果160≤K≤200或者481≤K≤530,R=10,否则R=20,本具体实施方式
中由于K=645,所以R=20;查找最小的质数p,其中p满足公式K≤R×(p+1),根据公式可以得到p=37;根据信息块长度K,计算所述交织矩阵的列数C,如果481≤K≤530,则C=p,否则当K≤R×(p-1),则C=p-1,当R×(p-1)<K≤R×p,则C=p,当R×p<K,则C=p+1,本具体实施方式
中由于K=645,所以C=36;通过查找质数原根表(见表1),获取所述最小的质数p对应的原根v,当p=37时,v=2。
表1

步骤102、构造质数序列qi,其中i为0到R-1的整数,在本具体实施方式
中i为0到19的整数,构造质数序列qi是从质数原根表,依次选择R-1个质数,每个质数qi满足(p-1)modqi≠0,其中i为1到19的整数,并且q0=1,因此qi序列可以见表2。
表2

步骤103、计算行基准地址,第i行的初始基准地址ai=iC,,其中i为0到19的整数;行基准地址的行间置换,行间置换后的第i行的初始基准地址满足bi=aT(i),其中i为0到19的整数,本具体实施方式
中的行基准地址bi见表3所列。
表3

步骤104、进行空行删除,执行下列操作如果RC-K≥2C,查找T(i)=R-1orR-2,并删除与之对应的qi和bi,否则当RC-K≥C时,查找T(i)=R-1并删除与之对应的qi和bi,否则保留原有的qi序列由质数序列qi可得,删除空行后,新序列q′i见表4
表4

由行基准地址bi,删除空行后,可得新序列b′i见表5表5

步骤105、计算序列wi,wi=qimod(p-1),则本具体实施方式
中的wi见表6表6

步骤106、计算行内置换的基序列,基序列s(j)可以通过实时迭代计算完成,s(j)=M(s(j-1)),其中j为0到35的整数,如果M(n-1)+v<p,则M(n)=M(n-1)+v,如果M(n-1)+v≥p,则M(n)=M(n-1)+v-p,其中n为1到p-1的整数,s(0)=1,M(0)=0,或者根据3GPP规范中查找表获得,本具体实施方式
中基序列s(j)见表7表7

步骤107、对硬件进行配置。软件将预处理过程中计算所得的交织矩阵列数C,空行删除后的新行数、行基准地址及序列wi等参数,配置到硬件相应的寄存器,并启动交织器硬件运行。
硬件部分主要用来实现重复性的运算操作,将根据软件模块计算输出的参数,实时地产生交织地址。其处理流程如图2所示,具体实施以下操作硬件按列依次计算列中各行的行内置换模式Vi(j)和Ui(j),事实上Ui(j)为行内地址偏移,与删除空行后的行基准地址b′i相加后,若不处于半行空位之上,则b′i+Ui(j)为当前有效的交织地址输出,并转入计算下一个有效交织地址。由于采用了空行预删除技术,任何相邻两行的不同位置上,最多只有一个空位,因此,硬件实现中可很方便地避免生成地址处于半行空位之上。
由于交织和解交织可以采用相同方法实现,故而本发明重点描述交织器的实现方法,但其原理和算法同样适用于解交织器。本发明将交织器或解交织器的实现划分为软件和硬件实现两部分,软件进行简单而必要的预处理,硬件实时地快速生成交织或解交织地址,硬件实现中完全避免取模或乘除法运算,取而代之的则是加法、查表以及必要的逻辑,主要序列采用迭代或查表的方式获得,无需计算规范中的置换质数序列,采用新的行内置换方式,支持行内行间置换同时进行,行内置换模式迭代计算,提出交织器空行预删除技术。综合以上特点,本发明在使用较少资源的情况下,实时地生成交织或解交织地址,大大地加快了系统的数据处理速度,进而满足高速数据通信对系统实时性的要求。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种Turbo码内交织器的实现方法,其特征在于,包括以下步骤A、计算交织矩阵参数,所述交织矩阵参数包括交织矩阵的行数、最小的质数、交织矩阵的列数和所述最小的质数对应的原根;B、进行所述交织矩阵的行内行间置换;C、产生交织地址。
2.根据权利要求1所述的一种Turbo码内交织器的实现方法,其特征在于,步骤A进一步包括以下步骤A1、根据信息块长度K,计算所述交织矩阵的行数R,如果40≤K≤159,则R=5,如果160≤K≤200或者481≤K≤530,R=10,否则R=20;A2、查找最小的质数p,其中p满足公式K≤R×(p+1);A3、根据信息块长度K,计算所述交织矩阵的列数C,如果481≤K≤530,则C=p,否则当K≤R×(p-1),则C=p-1,当R×(p-1)<K≤R×p,则C=p,当R×p<K,则C=p+1;A4、通过查表,获取所述最小的质数p对应的原根v。
3.根据权利要求1所述的一种Turbo码内交织器的实现方法,其特征在于,步骤B进一步包括以下步骤B1、构造行内置换的基序列s(j);B2、构造质数序列qi,其中i为0到R-1的整数;B3、生成行内置换模式Vi(j),如果Vi(j-1)+wi<p-1,Vi(j)=Vi(j-1)+wi,如果Vi(j-1)+wi≥p-1,Vi(j)=Vi(j-1)+wi-p-1,其中,wi=qimod(p-1),Vi(0)=0,Vi(1)=wi,i为0到R-1的整数,j为1到p-1的整数;B4、计算行内置换模式Ui(j),如果C=p,则Ui(j)=s(Vi(j)),其中j为0到p-2的整数,Ui(p-1)=0,如果C=p+1,则Ui(j)=s(Vi(j)),其中j为0到p-2的整数,Ui(p-1)=0,Ui(p)=p,而且当K=RC,将U0(p)和U0(0)进行置换;如果C=p-1,则Ui(j)=s(Vi(j))-1,其中j为0到p-2的整数。
4.根据权利要求3所述的一种Turbo码内交织器的实现方法,其特征在于,步骤B1中,所述构造行内置换的基序列s(j)可以通过实时迭代计算完成,s(j)=M(s(j-1)),其中j为0到p-2的整数,如果M(n-1)+v<p,则M(n)=M(n-1)+v,如果M(n-1)+v≥p,则M(n)=M(n-1)+v-p,其中n为1到p-1的整数,s(0)=1,M(0)=0。
5.根据权利要求3所述的一种Turbo码内交织器的实现方法,其特征在于,步骤B1中,所述构造行内置换的基序列s(j)可以通过构造查找表完成。
6.根据权利要求3所述的一种Turbo码内交织器的实现方法,其特征在于,步骤B2中,所述构造质数序列qi是从质数原根表,依次选择R-1个质数,每个质数qi满足(p-1)mod qi≠0,其中i为1到R-1的整数,并且q0=1。
7.根据权利要求3所述的一种Turbo码内交织器的实现方法,其特征在于,步骤B2中,所述构造质数序列qi是将满足(p-1)mod qi=0的(p,qi)对做成表格,结合质数原根表,通过查表的方法来完成。
8.根据权利要求1所述的一种Turbo码内交织器的实现方法,其特征在于,步骤C进一步包括以下步骤C1、计算行基准地址,第i行的初始基准地址ai=iC,,其中i为0到R-1的整数;C2、所述行基准地址的行间置换,行间置换后的第i行的初始基准地址满足bi=aT(i),其中i为0到R-1的整数;C3、生成交织地址,如果bi+Ui(j)<K,交织后第k个比特的缓冲区地址yk=bi+Ui(j),其中k为0到K-1的整数。
全文摘要
本发明公开了一种Turbo码内交织器的实现方法,首先计算交织矩阵参数,所述交织矩阵参数包括交织矩阵的行数、最小的质数、交织矩阵的列数和所述最小的质数对应的原根;再进行所述交织矩阵行内置换;最后产生交织地址。采用了本发明的技术方案,简化了交织器的实现步骤,提出了空行预删除技术,进一步节省了所需存储资源,采用了新的行内置换模式,主要运算均采用迭代计算或查表的方式实现,硬件实现中避免了所有的取模及乘除法运算,达到交织/解交织地址的实时产生。
文档编号H04L1/00GK101034951SQ20071009115
公开日2007年9月12日 申请日期2007年4月10日 优先权日2007年4月10日
发明者李强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1