一种低密度奇偶校验码并行编码方法及编码装置的制作方法

文档序号:7508515阅读:175来源:国知局
专利名称:一种低密度奇偶校验码并行编码方法及编码装置的制作方法
技术领域
本发明涉及数据传输技术领域,特别是指一种低密度奇偶校验码并行编码方法及编码装置。
背景技术
现代通信系统为了提高数据在无线传播环境中的传输可靠性,对抗数据传输过程中出现的可能错误,通常都使用一定的前向纠错码(FEC)对传输的数据进行编码处理。早期的语音通信系统中,由于对传输的错误容忍能力相对较强,且实时性要求较高,因此一般都采用编译码简单的卷积编码。然而,在数据传输系统中,对错误的纠错能力提出了更高的要求,简单的卷积编码已经很难满足数据传输的要求,必须采用检错、纠错能力更强的前向纠错码。经过数十年众多理论研究者和通信实践工作者的不懈努力,人们发现由加拉哥(Gallager)多年之前提出的低密度奇偶校验码(LDPC)在码长足够长时具有非常优越的纠错能力,并且具有较低的译码复杂度。鉴于数据传输一般都比较长,且对处理时延不是过分苛刻,因此低密度奇偶校验码比较适合数据传输应用。
低密度奇偶校验码是一种线性分组码,因而该校验码可以用一个相应的奇偶校验矩阵H表征。低密度奇偶校验码的最大特点就是其校验矩阵H中非零元非常稀疏(即低密度的含义),一方面使得低密度奇偶校验码检错纠错能力强,同时使得基于信度传播的和-积译码算法的译码复杂度相对较低。尽管理论上高进制的低密度奇偶校验码比二进制的低密度奇偶校验码性能优,但编码、译码的复杂度增加过大,且不利于系统实现,因此,实际通信系统中一般采用二进制的低密度奇偶校验码。
下面先介绍一下需要传输的比特序列s、s经过低密度奇偶校验码编码后得到的码字c、校验矩阵H之间的关系。假设s=[s1,s2,…,sK]T,c=[c1,c2,…,cN]T,其中R=K/N为编码速率,通常N>>K。由线性分组码的定义可知,校验矩阵H与码字c满足Hc=0mod2 (1)其中校验矩阵H的维数为M×N,M=N-K。
低密度奇偶校验码的构造方法一般分为随机构造和基于图论的代数构造方法。需要指出的是,从系统的实现角度出发,影响低密度奇偶校验码的应用除了保证码的性能外,还需要充分考虑应用的灵活性、实现的简单性、编/译码的复杂度等多方面的因素。随机构造的低密度奇偶校验码灵活性差,对于不同码长和不同的编码速率都需要重新搜索,不适合系统应用。通过代数方法构造的低密度奇偶校验码一般都具有适当的结构特征,不仅在支持不同码长和编码速率方面具有很好的灵活性,同时也有利于编码的实现、简单。IEEE 802.16e提案提议采用适合系统应用的、如下示出的一类拟循环低密度奇偶校验码,其校验矩阵具有如下形式 其中Pi,j是z×z的某个循环排列矩阵或z×z的0矩阵。其中,上述(2)式中的校验矩H阵可通过下面(3)式中的mb×nb基矩阵Hb扩展得到。如下示出了Hb 其中,基矩阵Hb中,非零元1用合适的z×z循环排列阵替换,零元0用z×z的0矩阵替换便可扩展为校验矩阵H。由此可知,N=znb,M=zmb,K=zkb,z称为扩张因子。可见,选择不同的扩张因子可以得到不同码长的低密度奇偶校验码。
根据线性分组码的特点,码字c可以分为信息位和校验位两部分,故c可以记为c=[sT,cK+1,…,cN]T。所述基矩阵Hb中Hb1部分对应码字c的信息位,Hb2部分对应码字中的校验位。对应校验位的部分Hb2具有如下特殊形式Hb2=[hb|(Hb2′)mb×(mb-1)]]]>=hb(0)10hb(1)11··11···11·hb(mb-)101----(4)]]>其中向量hb中hb(0)=hb(mb-1)=1,并且hb(1)~hb(mb-2)中有一个为1,其余为0。不难看出,Hb2′是一个双对角形稀疏矩阵。
基矩阵Hb的构造灵活多变,由基矩阵Hb扩展为所需码长的校验矩阵H也是非常灵活的,即循环排列矩阵z×z的选取多种多样。较简单的,在扩展过程中Hb2中的1可以全部用单位矩阵扩张,本发明以下的例子中,若没有特别说明,在扩展过程中Hb2中的1全部用单位矩阵扩张。
上面简述了LDPC的校验矩阵H。H矩阵用于译码的过程,并且LDPC的译码算法一般都是固定的,相对来讲复杂度较低。但是,LDPC的编码复杂度通常比较大,因此,考虑低密度奇偶校验码的有效编码方法非常有实际应用价值。下面对现有的编码方法进行介绍。
首先介绍一下使用生成矩阵G进行编码的方法。生成矩阵G与需要传输的比特序列s、编码后得到的码字c之间的关系为c=GTs。和所有线性分组码一样,可以通过如下过程计算出编码过程所使用的生成矩阵G。
首先计算出低密度奇偶校验码的校验矩阵H对应的码字生成矩阵G,生成矩阵维数为K×N。其中,生成矩阵和校验矩阵满足下面公式HGT=0mod2(5)生成矩阵G可以通过经典的高斯消去法计算出来。需要注意的是,给定校验矩阵H后,满足(5)式的矩阵G并不唯一,其中对应信息位形式的生成矩阵更具实际应用意义,所述对应信息位的生成矩阵G形式如下G=[IK|(G′)K×M](6)其中IK为单位恒等矩阵。在得到低密度奇偶校验码的生成矩阵G后,便可以使用该G进行编码,编码过程为c=GTs mod2(7)之前已经提到,低密度奇偶校验码的码长都是较大的,尽管低密度奇偶校验码的校验矩阵H非常稀疏,但对应的生成矩阵G却是稠密的,因此若使用生成矩阵G根据(7)式进行编码,其运算量是非常大的,会导致编码延时较大。另外,还会使存储生成矩阵G的存储量较大。
下面再介绍IEEE C802.16e-04/373r1中给出的编码方法。如前所述,码字c可以分为信息位和校验位两部分c=[sT,cK+1,…,cN]T,信息位即对应于s,因此,编码生成c的过程可以看作是计算出后面的校验位cK+1,…,cN的过程,故编码操作的主要内容即确定后面附加的校验比特[cK+1,…,cN]T。
利用校验矩阵的分块形式,将码字c中的信息位和校验位按z比特分组,得到s=[v(0)T,v(1)T,…,v(kb-1)T]T[cK+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T(8)在进行编码时,首先初始化,如下所示来确定校验位的校验比特u(0)u(0)=Σj=0kb-1(Σi=0mb-1Pi,j)v(j)mod2----(9)]]>其中Pi,j是(2)式中的H矩阵的中的子矩阵,故(9)式中的 表示校验矩阵H中对应信息位矩阵Hb1的列求和,可以预先计算出来,且Hb1的稀疏性保证了这个预先计算的运算量很小。
然后,按照如下所示递归计算u(1)~u(mb-1)
u(1)=Σj=0kb-1P0,jv(j)+P0,kbu(0)mod2----(10)]]>u(i+1)=u(i)+Σj=0kb-1Pi,jv(j)+Pi,kbu(0)mod2i=1i=1,···,mb-2----(11)]]>同样,在(10)和(11)中绝大部分的Pi,j都是0矩阵,其余的也是循环排列阵,在实现矩阵向量乘积Pi,jv(j)时可以采用移位寄存器实现。可以看出,使用这种编码方法来生成c,充分利用了校验矩阵的稀疏性和特殊结构,编码运算量较小。在IEEE C802.16e-04/101r2中还给出了使用该编码方法的一等价形式。
但是,从上述公式(10)(11)可看出,这种编码方法的不足之处在于编码过程中校验位比特的确定是逐位(块)串行计算的,后一位校验比特必须在前一位确定后才能计算。上述串行编码结构,在较长的低密度奇偶校验码的编码过程中势必引入过多的编码时延。

发明内容
有鉴于此,本发明的主要目的在于提供一种低密度奇偶校验码并行编码方法及编码装置,使降低低密度奇偶校验码编码操作过程中的时延。
本发明提供的一种低密度奇偶校验码并行编码的方法,用于将要传输的比特序列s编码得到码字c,码字c分为信息位和校验位两部分c=[sT,cK+1,…,cN]T,码字c中的信息位和校验位按z比特分组时记为s=[v(0)T,v(1)T,…,v(kb-1)T]T[cK+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T’所使用的校验矩阵H为 该编码方法包括以下步骤第一步计算出H矩阵相应的行hm(j),其中
hm(j)=(Σi=mmb-1Pi,j)mod2m=0,···,x(Σi=0m-1Pi,j)mod2m=x+1,···,mb-1;]]>其中x是预先确定的值;第二步(mb-1)路并行接收要传输的比特序列s,各路并使用其对应的hm(j)、按照u(m)=Σj=0kb-1hm(j)v(j)]]>计算出相应的校验位。
相应的,该编码方法还可以是根据u(m)=Σj=0kb-1(Σi=mmb-1Pi,j)v(j)]]>mod2 m=0,…,x计算校验位u(0)~u(x);根据u(m)=Σj=0kb-1(Σi=0m-1Pi,j)v(j)]]>mod2 m=x+1,…,mb-1计算校验位u(x+1)~u(mb-1)。
其中,所述预先确定的x值为在H矩阵对应的基矩阵 中、所述Hb2=[hb|(Hb2′)mb×(mb-1)]]]>=hb(0)1hb(1)11··11···11·hb(mb-1)1]]>中,hb(1)~hb(mb-2)中值为1的hb所在的当前行数。
还提供了一种低密度奇偶校验码并行编码的编码装置,用于将要传输的比特序列s编码得到码字c,码字c分为信息位和校验位两部分c=[sT,cK+1,…,cN]T,码字c中的信息位和校验位按z比特分组时记为s=[v(O)T,v(1)T,…,v(kb-1)T]T[ck+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T’其中,该装置包含H存储器,存储有校验矩阵H,其中
H矩阵行计算模块,与H存储器相连,用于计算出H矩阵相应的行hm(j),其中hm(j)=(Σi=mmb-1Pi,j)mod2m=0,···,x(Σi=0m-1Pi,j)mod2m=x+1,···,mb-1;]]>x为一确定的值;(mb-1)路并行的校验位计算模块,与H矩阵行计算模块相连;(mb-1)路并行的校验位计算模块用于分别接收要传输的比特序列s,并分别接收H矩阵行计算模块传送过来对应的数据hm(j),分别按照u(m)=Σj=0kb-1hm(j)v(j)]]>计算出相应的校验位。
由上述方法可以看出,本发明提出的低密度奇偶校验码并行编码方法,使得码字中的所有校验位比特可同时独立进行编码操作,对于长LDPC码的编码,并行操作可以大大降低编码操作引起的时延(coding latency),并且保持较低的编码计算量,保持较低的编码复杂度,具有实际应用价值。


图1为LDPC并行编码的编码器结构图。
图2为使用LDPC并行编码流程图。
具体实施例方式
本发明提出了一种低密度奇偶校验码并行编码方法,使得码字中的所有校验位比特可同时独立进行编码操作,对于长LDPC码的编码,并行操作可以大大降低编码操作引起的时延。下面对本发明进行详细说明。
如上述公式8一样,利用校验矩阵的分块形式,将码字中的信息位和校验位按z比特分组,得到s=[v(0)T,v(1)T,…,v(kb-1)T]T[cK+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T(8)进行编码的过程,就是生成码字c中校验位的各个u的过程。本发明按照下述的公式(12)、(13)进行编码生成校验位的各个u。
分析(4)式的特点,不妨设校验矩阵Hb2中向量hb的第三个非零元1位于第x行,2≤x≤mb-3。给定信息位s,由(4)式的特点,码字c中的校验位如下式获得。其中下式中的Pi,j是(2)式中的H矩阵的中的z×z子矩阵,v(j)是码字c中的信息位即传输的比特序列s按z比特分组的第j组。
1对校验比特u(0)~u(x),如下计算u(m)=Σj=0kb-1(Σi=mmb-1Pi,j)v(j)]]>mod2 m=0,…,x(12)2对校验比特u(x+1)~u(mb-1),如下计算u(m)=Σj=0kb-1(Σi=0m-1Pi,j)v(j)]]>mod2 m=x+1,…,mb-1(13)从而根据(12)(13)计算出了各个校验比特,也就相应的得到编码后的要传输的码字c。实际上由于H是预先确定的,故,公式中的x也是可以预先计算出来的一个确定值。
可以分析出,由(12)和(13)式计算码字中的校验位比特是完全独立的,因此可以采用多个相似结构的器件并行编码,可以大大缩短编码的延迟。其中Pi,j是(2)式中的H矩阵的中的子矩阵,因此(12)式中的 和(13)式中的 对任意的j=0,…,kb-1都表示校验矩阵H中对应信息位部分的矩阵Hb1的部分行的和,完全可以预先计算出来存储在存储单元中,在编码时直接读出即可,以进一步降低编码的复杂度和编码延时。
若设h(m)=[hm(0),…,hm(kb-1)],其中,hm(j)=(Σi=mmb-1Pi,j)mod2m=0,···,x(Σi=0m-1Pi,j)mod2m=x+1,···,mb-1----(14)]]>则,(12)和(13)式合并为
u(m)=Σj=0kb-1hm(j)v(j)]]>m=0,…,mb-1(15)此外,由基矩阵Hb扩展为校验矩阵H的过程中,对应校验位的矩阵Hb2中的非零元1并不需要都用单位阵来扩张,实际上只要保证同一列中的1用相同的(循环)排列阵替换即可,此时在低密度奇偶码的构造时灵活性更大,性能也可能好些。相应的,本发明中的并行编码算法同样适合改动情形,只是在(12)和(13)式的左端乘上各校验比特对应的(循环)排列阵z×z,并且循环排列阵的逆矩阵也是个循环排列阵,因此不会增加编码的计算量。
相应的,本发明还提供了LDPC并行编码的编码器的结构,如图1示出了该结构图。包含一H存储器,存储有预先确定的H校验矩阵;还包括一H矩阵行计算模块,与H存储器相连,用于按照公式(14)对H矩阵计算出相应的行;还包括(mb-1)路并行的校验位计算模块,都与H矩阵行计算模块相连。在编码时,如图2所示,包括以下步骤第一步(mb-1)路并行的校验位计算模块接收要传输的比特序列s;第二步各路校验位计算模块分别从相连的H矩阵行计算模块接收传送过来的数据h(j),并按照上述公式(15)计算出相应的校验位u(j),从而计算出公式(8)示出的c来,完成编码操作。当然,也可以根据实际需要,采用并串转换电路,将各路信息转换为一路信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种低密度奇偶校验码并行编码方法,用于把要传输的比特序列s编码得到码字c,码字c分为信息位和校验位两部分c=[sT,cK+1,…,cN]T,码字c中的信息位和校验位按z比特分组时记为s=[v(0)T,v(1)T,…,v(kb-1)T]T[cK+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T,所使用的校验矩阵H为 其特征在于,该编码方法包括以下步骤第一步计算出H矩阵相应的行hm(j),其中hm(j)=(Σi=mmb-1Pi,j)mod2m=0,...,x(Σi=0m-1Pi,j)mod2m=x+1,...,mb-1;]]>其中x是预先确定的值;第二步(mb-1)路并行接收要传输的比特序列s,各路并使用其对应的hm(j)、按照u(m)=Σj=0kb-1hm(j)v(j)]]>计算出相应的校验位。
2.根据权利要求1所述的方法,其特征在于,所述预先确定的x值为在H矩阵对应的基矩阵 中的、所述Hb2=[hb|(Hb2′)mb×(mb-1)]]]>=hb(0)1hb(1)11..11...11.hb(mb-1)1]]>中的,hb(1)~hb(mb-2)中值为1的hb所在的行数。
3.一种低密度奇偶校验码并行编码方法,用于把要传输的比特序列s编码得到码字c,码字c分为信息位和校验位两部分c=[sT,cK+1,…,cN]T,码字c中的信息位和校验位按z比特分组时记为s=[v(0)T,v(1)T,…,v(kb-1)T]T[cK+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T,所使用的校验矩阵H为 其特征在于,该编码方法包括根据u(m)=Σj=0kb-1(Σi=mmb-1Pi,j)v(j)mod2,m=0,···,x]]>计算校验位u(0)~u(x);根据u(m)=Σj=0kb-1(Σi=0m-1Pi,j)v(j)mod2,m=x+1,···,mb-1]]>计算校验位u(x+1)~u(mb-1),其中,x是预先确定的值。
4.根据权利要求3所述的方法,其特征在于,所述预先确定的x值为在H矩阵对应的基矩阵 中的、所述Hb2=[hb|(Hb2′)mb×(mb-1)]]]>=hb(0)1hb(1)11..11...11.hb(mb-1)1]]>中的,hb(1)~hb(mb-2)中值为1的hb所在的行数。
5.一种低密度奇偶校验码并行编码的编码装置,用于把要传输的比特序列s编码得到码字c,码字c分为信息位和校验位两部分c=[sT,cK+1,…,cN]T,码字c中的信息位和校验位按z比特分组时记为s=[v(0)T,v(1)T,…,v(kb-1)T]T[cK+1,…,cN]T=[u(0)T,u(1)T,…,u(mb-1)T]T,其特征在于,该装置包含H存储器,存储有校验矩阵H,其中 H矩阵行计算模块,与H存储器相连,用于计算出H矩阵的各个行hm(j),其中hm(j)=(Σi=mmb-1Pi,j)mod2m=0,...,x(Σi=0m-1Pi,j)mod2m=x+1,...,mb-1;]]>x为一确定的值;(mb-1)路并行的校验位计算模块,与H矩阵行计算模块相连;各路并行的校验位计算模块用于分别接收要传输的比特序列s,并分别接收H矩阵行计算模块传送过来对应的数据hm(j),分别按照u(m)=Σj=0kb-1hm(j)v(j)]]>计算出相应的校验位。
全文摘要
本发明提供了一种低密度奇偶校验码并行编码的方法,用于将要传输的比特序列s编码得到码字c,码字c分为信息位和校验位两部分c=[s
文档编号H03M13/05GK1805291SQ200510006060
公开日2006年7月19日 申请日期2005年1月10日 优先权日2005年1月10日
发明者吴和兵, 王吉滨 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1