螺旋码的行内置换的制作方法

文档序号:7508462阅读:285来源:国知局
专利名称:螺旋码的行内置换的制作方法
技术领域
本发明一般地涉及通信系统,尤其是涉及用于执行码调制的交错器。
背景技术
已经发现了用于对通信信道进行编码的技术,也就是码调制技术来改进电子通信系统如调制解调器和无线通信系统的比特差错率(BER),螺旋编码调制对于以附加的白高斯噪声(AWGN)或衰减为特征的“随机误差信道”已证明是一种实用、功率有效、带宽有效的调制方法,这种随机误差信道可以在例如码分多址(CDMA)环境中找到,由于CDMA环境的容量取决于运行的信噪比,经改善的性能可以变成更高的容量。
使螺旋编码器非常有效的一个方面是交错器,该交错器可以将原始接收或发送的数据帧在输入给第二编码器之前进行置换,该置换是基于一个或多个随机算法通过对信号部分进行随机化来完成的,将经过置换的数据帧与原始数据帧进行组合已证明在AWGN和衰减信道中可以达到低BER。该交错处理过程增加了数据的多样性以便如果调制的符号在传送中失真,也可以利用解码器中的纠错算法来恢复误差。
现有的交错器汇集或成帧要传送的信号点成为一个阵列,在此该阵列随后被一行一行地填充。当成帧了预定数量的信号点后,通过顺序地一列一列地读出要传送的阵列来清空该交错器(interleaver)。结果,在阵列的同一行中的信号点(在原始信号点流中是彼此靠近的)被多个等于该阵列中行数的信号点分开。理想地,选择行数与列数以便互相依赖的信号点在传送后会被多于该信道突发误差的期望长度来分隔。
非均匀交错取得了最大的数据散布和输出序列的最大混序,因此由两个卷积编码器引入的冗余是非常均等地分布在螺旋(turbo)编码器的输出序列中,比起均匀交错来说,最小距离增加到更高的值。对于非均匀编码始终存在的一个问题是如何在实际中在取得足够的“非均匀”的同时来实现交错,并且最小化限制了具有实时要求的应用的延迟补偿。
在第三代CDMA标准中找到一个有效的交错器是当前的主题,已确定并达成共识的是,由于帧的尺寸接近无限,最有效的交错器是随机交错器。但是对于有限的帧尺寸,对于最有效的交错的认可还在讨论中。降低用于存储进行交错方案所需的信息的存储空间(RAM或ROM)也是当前讨论的一个主题。
因此,需要一种改进有限帧尺寸的非均匀性的交错码的系统和方法。
而且,需要一种交错码的系统和方法,它可以相对简单地实施,并且具有相对低的存储空间要求。
因此本发明的一个目标是提供一种交错码的系统和方法,它可以改进有限帧尺寸的非均匀。
本发明的另一个目标是提供一种交错码的系统和方法,它可以相对简单地实施,并且具有相对低的存储空间要求。
通过下面对其的详细描述,本发明的这些及其它目标对本技术领域内的人将是非常明显的。

发明内容
前述目标及其它目标可以由本发明来实现,包括一个用于对这些数据帧进行交错的交错器。该交错器包括一个存储区域,该存储区域足够大以存储最大可能的数据帧。一个要被交错的、大小为L个元素的帧存储在阵列的Nr(1)行和NC(1)列,其中Nr(1)是一个预定的整数,并且NC(1)是一个满足下列不等式的素数Nr(1)×NC(1-1)<L<Nr(1)×NC(1)其中NC(1-1)是小于NC(1)的最高的素数,每行的元素是被按照一个预定的数学关系置换,并且这些行也按照预定的映射而置换。
附图的简要说明通过参照下面示例性实施例的详细说明以及附图,本发明将更清楚,容易理解,其中,

图1描述了本发明的快速按模计算的实施例;图2描述了本发明的交错器的结构。
具体实施例方式
本发明的实施例用于CDMA无线通信系统中作为螺旋编码器。一个要传送的比特流被分成一系列帧,每一个帧包括L个元素,每个元素最少是一个比特。
每个帧在传送前要进行交错,如果存在大量的可用帧尺寸L,为每一个帧尺寸声明一个交错器导致必须存储大量的参数。
本发明通过以下措施而减少了必须存储的参数的数量,即提供一个减少数量的原型交错器(母交错器),每个交错器用于帧尺寸的子集中的一个,选择母交错器中的一个,要至少足够大以对尺寸L的当前帧进行交错,并且收缩(puncture)所交错的帧成尺寸为L比特。
用于存储要交错的帧的阵列的最大尺寸是Nr行×Nc列,对于给定的帧尺寸L,选择一个具有阵列大小为Nr(1)行×NC(1)列的母交错器,以便Nr(1)×NC(1-1)<L<Nr(1)×NC(1)并且在对该阵列进行交错后将阵列收缩为大小为L。
尽管有可能设计一个具有精确维数为Nr(1)×NC(1)的优良的母交错器,但是对于从母交错器大小中收缩来的帧尺寸来说,在现有系统下该交错器的性能并不能得到保证。
本发明通过提供一个进行正确选择参数(优化)的方案来提供一个可适于任意帧尺寸的交错器Nr(1)l=1,2,……R(行的最大号)NC(1)l=1,2,……C(列的最大号)在本发明一个实施例中,对于行号Nr选择一个固定值,而列号Nc(1)从一个素数集合(非均匀格)中选择,即,NC(1)=p1。(在本发明一个替换实施例中使用一个均匀格,如p1=1×Δ)。
本发明的交错处理进程的核心包括
i)一行一行地将帧元素写成Nr(1)×NC(1)工作阵列;ii)按照cj(i)=[αj×cj(i-1)]mod p1j=1,2,…..R i=1,2,….C来对每一行j的列i置换;iii)按照预定的映射置换这些行;以及iv)一列一列地读出帧元素。
行内置换(第ii项)是基于模p1的完善的冗余系统。也就是说,从p1的所有可用的指数一致根(congruent root)中选择αjαj={α1,α2,……αφ}行内置换使用了称作素数p1的原根αp的特定根以构建根αj的集合,这是通过将一个简约(reduced)冗余系统用作为αj={αpp(1),αpp(2),……αφp(R)}实现的。
应注意到,αj是αj的一个子集,使用这种特定简约系统的优点是将在行内置换根上增加了附加的限制以简化用于参数优化的搜索计算。
对于本发明的一个实施例,一个素数集合是以gcd{p(i),p1-1}=1为条件从下列中选取{P(1),P(2),……P(R)}(gcd意味着最大通用分母)在这种情况下c1(i)=[αpp(1)×c1(i-1)]mod p1
相当于由原根产生的完整冗余系统的十取一(decimated)采样(利用采样率p(1))。因此行内置换可以如下完成a)使用p1的原根αp置换第一行c1(i)=[αpp(1)×c1(i-1)]mod p1;以及b)利用第一行置换的循环移位p(j)置换其余的行cj(i)=c1[i×p(j))]mod p1这要当于循环组cj(i)=[αjp(j)cj(i-1)]mod p1)其中,j=1,2,…..Ri=1,2,….C。
在这种情况下,行内的置换规则是一个确定的规则,通过为本原(primitive)完整冗余系统的循环移位搜索素数集合来执行交错器优化。例如,如果R=20(即一个具有20行和P1列的矩阵),一个素数集合可以选择为p(1)={7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83}[例1]为每一个素数(列号)选择一个这样的集合。为覆盖帧尺寸从320比特到8192比特的范围,至少要提供75个母交错器,用于每个交错器的列大小以及相关的原根列于表1中,在表1中列出了76个素数以便为最低的Nc(1-1)提供一个值。A B C AB C AB C A B C13 221 97521193521307 52117 32110122119722131117 419 221103521199321313102123 5211072 9211221317 21529 2211096212233 5331 32131 321113321227221337102137 2211273212296 1347 22141 6211312212333 3349 2 343 321137321239721353 32147 5 21392 2241721359 72153 2211492 5251621367 61159 2 3151621257321373 2 461 221157521263521379 22167 221163221269212383 52171 721167516271621389 21873 5211732 72775 2397 52179 321179217281321401 32183 2 61812212833 8409212189 321191 19 1293214419 2 1(A=素数Nc(1);B=原根αp;c=收缩)表1在本发明的实践中,对于原根集合的存储要求通过使用21个连续的素数的集合而得到减少(在本例中(例1),将素数89加到示例的20个素数p(1))。
那么,最多有一个数不满足下式gcd{p(i),pi-1}=1存在这样一个数时,就将其从p(1)集合中收缩。当p(1)中的所有素数都满足该条件时,最后的(第二十一个)素数89(在本例中)被收缩。因此对于表1中给出的每一个素数(列A),也给出了原根(列B)以及应被收缩的位置(列C)。对于表1中给定的数据的存储器要求是素数589比特原根159比特收缩帧面(pattern)322比特素数集合这p(1)120比特总共1190比特或149字节基于快速模计算的本发明的实践描述如下任意一个素数P都可以由下列条件描述P=2k-1假定任意一个数×<P,下列分解采用×=m×2k+c=m×(2k-1)+1m+c=m×p+1m+c因此[×]mod P=[1m+c]mod P [公式1]并且模数值可以以这样一种回归方式计算。(在特定的例子中1=1,并且仅要求单一的迭代)。
由于α<p,并且因此α×(k)<p2,可以使用一个2k比特宽的乘法器,同时log2[m]<k并且log2[c]<k。
模数p的值可以按照公式1通过将一个k比特LSB与1相乘然后再加一个k比特MSB来计算。如果总和大于k比特宽,必须重新调用公式,即 mod p=[m’+c’]mod p=m’+c’在极端的情况下m={111…1}k比特,以及c={111…1}k比特,并且因此m’={1}1比特以及c’={111…10}k比特因此,log2[c’=m’]<k。
在此提供的模数p计算的实施例示于图1中,在此提供的交错器的整个实施例示于图2中。
交错器的参数按照给定的行内一致原则来选择,已经知道,一旦回归的卷积码(RCC)组成码得到确定,误差参数的特征在于组成的解码器的误差事件的输入与输出权重。(输入权重是比特误差的数量)。也已经知道高SNR的螺旋码的性能是由具有输入权重2的输出误差事件来指示的。有效的自由距离是输入权重2的所有误差事件的最小输出权重,对于优化交错器参数的关键是标识最小化低权重误差事件的参数集合,其帧面作为条件示于表3中。
权重-2 权重-3权重-41+Di, 1+Di+Dj, 1+Di+Dj+Dk长度I 长度i,j 长度i,j,k8 7 4 2,3 7 1,3,615146 1,5 10 1,4,922217 4,6 5 1,2,429289 5,8 11 1,6,10103,9 9 1,7,8112,1012 1,2,11119,109 2,4,8126,117 2,5,6131,1210 2,7,9138,126 3,4,5144,1311 3,7,1014 11,1310 4,8,9165,1512 4,7,1116 12,1512 5,10,1112 8,9,11表2例如,如果输入帧面具有权重2(例如两个1比特,其间具有6个0),然后按照表3的权重2列,搜索一个交错器参数的集合,该集合可以在两个1比特之间产生在第0(最初)、第7、第14、21位具有1比特的输出或在两个1比特之间产生具有6、13、20或27个0比特的28个位置(按照长度〕)。这可以表达为在第0位与第i位验证1比特。
在该“最低权重过滤技术的类似应用”中,在权重3流的第0位、第i位和第j位检测1比特,在权重4流的第0位、第i位、第j位和k位检测1比特。
虽然上述的实施例是用于CDMA系统中的螺旋编码器,本技术领域内的人可以意识到本发明并不受限于此,本发明可以用于任意通信系统中的交错与去交错的任何类型。
可以看出本发明可以有效地达到上面提到的目标,特别是,本发明提出的改进的设备和方法,该设备和方法可以在交错有限长度的码的同时,最小化实施复杂性以及参数存储所需的存储空间。
应明白,在上述结构以及前述的操作序列中可以做出变化而不会脱离本发明的范围,因此包含在上述描述或在上述附图中表示的一切都是说明性的,而不是限定性的。
也应明白,下面所附的权利要求是要覆盖本发明的一般地及特定的特征,并且对本发明的所有范围的声明都落在其中。
权利要求
1.一种交错数据帧元素的方法,该方法包括提供一个R行和C列的存储阵列c,其中R和C是正整数;将包含有L多个元素的数据帧存储在该存储阵列c内的一个工作阵列中,该工作阵列具有Nr(1)行和Nc(1)列,其中Nr(1)是不大于R的正整数;Nc(1)是不大于C的素数;以及Nr(1)×NC(1-1)<L<Nr(1)×NC(1);其中NC(1-1)是小于NC(1)的最高素数,以及按照预定的数学关系置换存储阵列c的每一行的元素。
2.按照权利要求1的方法,其中用于置换存储阵列c的每一行的元素的预定数学关系是cj=[αj×cj(i-1)]mod P1其中j=1,2,…..R;i=1,2,….C;P是连续的素数的集合;P1等于Nc(1);以及αj是从指数一致根P1中选取的。
3.按照权利要求2的方法,进一步包括按照预定的映射置换存储阵列c的行。
4.按照权利要求3的方法,进一步包括按照一行一行的顺序存储所述的数据帧,并且在置换后按一列一列的顺序读出所述的数据帧。
5.按照权利要求2的方法,其中αj的值是按照下式从p1的指数一致根中选取的αj={αpp(1),αpp(2),……αφp(R)}其中αp是P1的原根;以及gcd{p(i),P1-1}=1。
6.按照权利要求2所述的方法,其中αj的值是从j+1个值中删除一个gcd{p(i),P1-1}不等于1的值选择的。
7.按照权利要求2的方法,其中αj的值是从以低权重输入数据可产生最小比特误差的值中选择的。
8.按照权利要求2的方法,其中与Nc(1)的每个值相关的αj的值被预先计算并存储。
9.一种用于交错数据帧的元素的交错器,该交错器包括包含至少一个R行和C列的存储阵列c的存储器,其中R和C是正整数;将包含有L多个元素的数据帧存储在该存储阵列c内的一个工作阵列中的存储器读写电路,该工作阵列具有Nr(1)行和Nc(1)列,其中Nr(1)是不大于R的正整数;Nc(1)是不大于C的素数;以及Nr(1)×NC(1-1)<L<Nr(1)×NC(1);其中NC(1-1)是小于NC(1)的最高素数,以及按照预定的数学关系置换存储阵列c的每一行的元素的ALU。
10.按照权利要求9的交错器,其中用于置换存储阵列c的每一行的元素的ALU是按照下式进行的cj=[αj×cj(i-1)]mod P1其中j=1,2,…..R;i=1,2,….C;P是连续的素数的集合;P1等于Nc(1);以及αj是从指数一致根P1中选取的。
11.按照权利要求10的交错器,其中该ALU按照预定的映射置换存储阵列c的行。
12.按照权利要求11的交错器,其中该存储器读写电路按照一行一行的顺序存储所述的数据帧,并且在置换后按一列一列的顺序读出所述的数据帧。
13.按照权利要求10的交错器,其中ALU是按照下式从p1的指数一致根中选取αj的值αj={αpp(1),αpp(2),……αφp(R)}其中αp是P1的原根;以及gcd{p(i),P1-1}=1。
14.按照权利要求10所述的交错器,其中ALU是从j+1个值中删除一个gcd{p(i),P1-1}不等于1的值来选择αj的值。
15.一种用于交错数据帧的元素的交错器,该交错器包括包含至少一个R行和C列的存储阵列c的存储器装置,其中R和C是正整数;将包含有L多个元素的数据帧存储在该存储阵列c内的一个工作阵列中的存储器读写装置,该工作阵列具有Nr(1)行和Nc(1)列,其中Nr(1)是不大于R的正整数;Nc(1)是不大于C的素数;以及Nr(1)×NC(1-1)<L<Nr(1)×NC(1);其中NC(1-1)是小于NC(1)的最高素数,以及按照预定的数学关系置换存储阵列c的每一行的元素的逻辑装置。
16.按照权利要求15的交错器,其中用于置换存储阵列c的每一行的元素的逻辑装置是按照下式进行的cj=[αj×cj(i-1)]mod P1其中j=1,2,…..R;i=1,2、….C;P是连续的素数的集合;P1等于Nc(1);以及αj是从指数一致根P1中选取的。
17.按照权利要求16的交错器,其中该逻辑装置按照预定的映射置换存储阵列c的行。
18.按照权利要求17的交错器,其中该存储器读写装置按照一行一行的顺序存储所述的数据帧,并且在置换后按一列一列的顺序读出所述的数据帧。
19.按照权利要求16的交错器,其中该逻辑装置是按照下式从p1的指数一致根中选取αj的值αj={αpp(1),αpp(2),……αφp(R)}其中αp是P1的原根;以及gcd{p(i),P1-1}=1。
20.按照权利要求16所述的交错器,其中该逻辑装置是从j+1个值中删除一个gcd{p(i),P1-1}不等于1的值来选择αj的值。
全文摘要
交错器,其中一个要交错的数据帧存储在具有R行和C列的阵列的至少一部分内,该部分具有N
文档编号H03M13/27GK1347593SQ00806181
公开日2002年5月1日 申请日期2000年3月29日 优先权日1999年4月14日
发明者李斌, 童文 申请人:北电网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1