基于块列循环的cmmb中ldpc编码器和编码方法

文档序号:7530251阅读:219来源:国知局
专利名称:基于块列循环的cmmb中ldpc编码器和编码方法
技术领域
本发明涉及移动多媒体广播领域,特别涉及ー种CMMB系统中LDPC编码器的高效实现方法。
背景技术
由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避免地会出现数字信号产生误码的情況。为了降低误码率,需要采用信道编码技木。低密度奇偶校验(Low-Density Parity-Check, LDPC)码以其逼近Shannon限的优异性能和可高速并行译码成为信道编码领域的研究热点。CMMB标准采用了 1/2和3/4两种码率的ニ进制LDPC规则码。它们都是系统码,但 信息向量不是原封不动地集中放置在码字的前半部分或后半部分,而是被打乱散布在码字中。两种码率的校验矩阵H的列重均为3,且都存在一定的循环特性对于1/2码率,H是由前36列每隔36列循环下移18位得到;对于3/4码率,H是由前36列每隔36列循环下移9位得到。对于两种码率,定义连续36列为I块列,则H有256块列。两种码率的校验矩阵H都具有一定的块列循环特性对于1/2 (或3/4)码率,H的右一块列是左一块列循环下移18 (或9)位的結果,而首块列是末块列循环下移18 (或9)位的結果。现有的CMMB LDPC编码器普遍采用的是适用于一般LDPC码的LU分解编码算法或RU编码算法(也称作近似下三角编码算法),将H分割成多个孤立的子矩阵,未能合理利用H的块列循环特性和列重相同特点,导致存储量大、成本高、功耗大。可见,如何充分利用H的块列循环特性和列重相同特点实现高效的LDPC编码器对CMMB激励器的产品化具有很高的实用价值。

发明内容
本发明的主要目的在于,提供ー种适合于CMMB标准采用的两种码率LDPC码的高效编码器。本发明通过初等行列交換,将校验矩阵H变换成近似下三角形式Hau,将码字c变换成Cau= [SPAU] = [SPtlP1P2],使信息比特和校验比特分别集中位于码字的前半部分S和后半部分PmKPoP^]。此外,令H的行对应向量qT,Halt的行对应向量gし。鉴于H与Hau之间、c与cAU之间以及q与qAU之间的等价关系,本发明在纵向分割Hau的基础上给出LDPC码的纵向编码算法,具体实现主要是利用H的块列循环特性和列重相同特点来完成。本发明给出的编码器实现简单,主要由控制器、向量存储器、重新排序表、高密度矩阵表、矩阵列映射表、首块列扩张表、地址发生器、重新排序单元、纵向累加単元和并行累加単元十部分組成。整个编码过程分七步完成第一歩,利用重新排序表中的目的地址信息,使用重新排序单元将信息向量s的各信息比特散布于码字c中,井清零校验向量Pau在码字c中的相应比特;第二步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加単元计算向量qAU的各比持,并将它们散布于向量q中;第三步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量Ptl的各校验比特,更新向量qAU的各比持,并将它们分别散布于码字c和向量q中;第四步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量P2的各校验比持,更新向量qAU的各比持,并将它们分别散布于码字c和向量q中;第五歩,使用并行累加单元并行计算高密度矩阵の与向量q2的乘积,并将得到的部分校验向量P1的各校验比特散布于码字c中;第六步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qAU的各比特,并将它们散布于向量q中;第七步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量P2的各校验比特,更新向量qAU的各比持,并将它们分别散布于码字c和向量q中。综上可见,该编码器的编码步骤一致性强,易于实现。与现有的编码方案相比,本发明充分利用了校验矩阵H的块列循环特性和列重相同特点,能在不降低编码速度的前提下有效减少存储器和逻辑资源的需求,从而达到降低硬件成本和功耗的目的。关于本发明的优点与精神可通过接下来的发明详述及附图得到进ー步的了解。


图1是校验矩阵H经初等行列交換后的近似下三角结构示意图;图2给出了 LDPC码纵向编码算法的简化流程图;图3给出了 CMMB标准中1/2码率LDPC码的校验矩阵H首块列每列中“I”所在的行;图4给出了 CMMB标准中3/4码率LDPC码的校验矩阵H首块列每列中“I”所在的行;图5给出了 CMMB标准中兼容两种码率的LDPC编码器的功能框图; 图6是并行累加单元的功能框图;图7是首块列扩张表的构造示意图;图8描述了地址发生器通过查询两个映射表计算操作数地址的流程;图9是纵向累加单元进行后向递推运算时的功能框图;图10是纵向累加单元计算向量q时的功能框图。
具体实施例方式下面结合附图和具体实施例对本发明作进ー步说明,但不作为对本发明的限定。规则LDPC码可用參数集(n,P,入)来定义,其中,n是码长,P和入分别是校验矩阵H的行重和列重。LDPC码满足如下关系Hct = 0(I)其中,上标T表示转置,0是全零向量(或矩阵),c是如下IXn阶码字C= [Ci](2)其中,0彡 i〈n。对于系统形式的LDPC码,通过初等行列交換,H能被变换成图1所示的近似下三角形状Hau。图中,k是信息比特数,r是校验比特数,它们满足k+r=n。从图中能看出,Hau被纵向分割成4部分
Halt= [HsH0H1H2]⑶其中,L和T均为下三角矩阵,它们的对角线右上方全是“0”,对角线上全是“I”。图1标识出了 Hau各个子矩阵的尺寸大小以及它们与初等列交換后的码字cALT= [spALT] = [SP0P1P2](4)和IXr阶向量(5)各段向量的对应关系。Haij与Caw满足如下关系HaltC14lt = 0(6)令IXr阶向量q=[qi](7)其中,0≤i〈r,qALT与q的比特映射关系等同于Hau与H的初等行交换关系。根据式(3广(6)和图1中Hau被纵向分割的结构特点,本发明设计ー种LDPC码的纵向编码算法,具体如下第一歩,输入信息向量s,清零校验向量pAU=0,初始化Caij= [sOOO]。第二步,计算向量=。第三步,利用H。后向递推计算部分校验向量パ=ZTV/〖(上标一1表示取逆),更新
cALT- [sPqOO]和 QaU。第四步,利用H2后向递推计算部分校验向量W = ,更新cAW= [SpciOp2]和qAIiT。注意,此时得到的P2是中间计算结果而不是最终计算結果。第五步,计算部分校验向量i ,T =#‘,更新(^^[sPdPiPd。其中,高密度矩阵①=(Er'B+D) ―1。第六步,计算向量《し=がI。第七步,利用H2后向递推计算部分校验向量=T lqJx,更新Calt= [SPqP1P2]和qALT。对Caui重新排序便可得到码字C。图2是LDPC码纵向编码算法的简化流程图。CMMB标准采用了 n =1/2和n =3/4两种码率的规则LDPC码,它们的參数集分别是(9216,6, 3)和(9216,12,3),即码长11=9216,行重P各自相同,分别是6和12,列重相同,均为入=3。对于两种码率,定义连续N=36列为I块列,则H有b=n/N=256块列。定义M=r/b。对于1/2码率,M=18 ;对于3/4码率,M=9。两种码率的校验矩阵H具有相同的块列循环特性=H的右一块列是左一块列循环下移M位的結果,而首块列是末块列循环下移M位的結果。图3和图4分别给出了 1/2和3/4两种码率H的首块列信息表,它由NA个单元组成,表中存储的是首块列每列中“I”所在的行,记作Row (0 ^ Row〈r)。CMMB标准采用的两种LDPC码都是系统码,但信息比特不是集中放置在码字的前半部分或后半部分,信息向量s是被打乱散布在码字c中。如图1所示,通过初等行列交換,校验矩阵H能被变换成近似下三角形式Hau,码字c能被变换成式(4)所示的cAU,信息比特和校验比特分别集中位于码字的前半部分s和后半部分Paw= [PciP1P2]。通过初等行列交換,H和c能被分别变换成Hau和cAU,说明式(I)与式(6)相互等价。前述纵向编码算法主要是利用式(6),本发明根据CMMB标准中两种码率LDPC码校验矩阵H的块列循环特性和列重相同特点,主要利用式(I)实现兼容CMMB标准两种码率的LDPC编码器,如图5所示。该编码器实现简单,主要由控制器、向量存储器、重新排序表、高密度矩阵表、矩阵列映射表、首块列扩张表、地址发生器、重新排序单元、纵向累加単元和并行累加単元十部分组成。控制器控制向量存储器的读写、各个查找表的读取、读写地址的产生、重新排序操作、纵向累加运算和并行累加运算。向量存储器存储向量q和码字C。重新排序表存储向量q2中各比特在向量q中的源地址以及信息向量s和部分校验向量P1中各比特在码字c中的目的地址。高密度矩阵表存储矩阵①的所有列向量。地址发生器利用矩阵列映射表和首块列扩张表产生纵向累加単元所需的读写地址。重新排序单元利用重新排序表从向量q中选择恰当比特组成向量q2,并对信息向量s和部分校验向量P1重新排序后放置于码字c中。纵向累加単元完成后向递推运算和向量q的计算。并行累加単元实现高密度矩阵の与向量q2的乘积。本发明设计了如下兼容CMMB标准两种码率LDPC编码器的实现方法第一歩,利用重新排序表中的目的地址信息,使用重新排序单元将信息向量s的 各信息比特散布于码字c中,井清零校验向量pAU在码字c中的相应比持。第二步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qAU的各比持,并将它们散布于向量q中。地址发生器查询矩阵列映射表的前k个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数(既是源操作数又是目的操作数)的双向地址(既是读地址又是写地址)。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加単元运算后,按照目的地址将累加结果写入向量q中。第三步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量Po的各校验比持,更新向量qAU的各比持,并将它们分别散布于码字c和向量q中。地址发生器查询矩阵列映射表的第k k+1-l个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加単元运算后,按照目的地址将累加结果写入码字c和向量q中。第四步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量P2的各校验比持,更新向量qAU的各比持,并将它们分别散布于码字c和向量q中。地址发生器查询矩阵列映射表的第n-t n-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加単元运算后,按照目的地址将累加结果写入码字c和向量q中。第五步,使用并行累加単元实现高密度矩阵の与向量q2的乘法,并行计算部分校验向量Pl。重新排序单元利用重新排序表中的源地址信息从向量q中选择恰当比特组成向量q2,并利用重新排序表中的目的地址信息使向量P1的各校验比特散布于码字c中。第六步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qAU的各比持,并将它们散布于向量q中。地址发生器查询矩阵列映射表的第k+1 k+1+d-l个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加単元运算后,按照目的地址将累加结果写入向量q中。第七步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量P2的各校验比持,更新向量qAU的各比持,并将它们分别散布于码字c和向量q中。该步骤与第四步完全相同。注意,第四步得到的&是中间计算结果,而这一步得到的P2是最终计算結果。需要指出的是,因为cAU的LPt^P1和P2四部分已经分别在第一歩、第三步、第五步和第七步中散布于码字c中,所以无需再对cAU重新排序即可得到码字C。在编码过程的第五步中,高密度矩阵の与向量q2的乘积由并行累加单元实现,图6是它的功能框图。并行累加器初始化为全零。向量q2的比特^i(OgKd)乘以矩阵の的列向量のi各信息比特,所得乘积与并行累加器进行模2加,结果存回并行累加器。上述操作重复d次,并行累加器的内容即为部分校验向量Pl。在编码过程的第二步、第三步、第四步、第六步和第七步中,两个映射表、地址发生器和纵向累加単元共同完成后向递推运算和向量q的计算。下面,详细说明它们的构造和使用方法。首块列扩张表是将重复扩展的ニ维首块列信息表串联成ー维得到的。具体方法 是,先把首块列信息表的内容复制ー份追加到最后一行之后,然后逐列首尾相连拼接成一维表Row[i](0 く i<2NA )。后面将看到,这样做能很好地区分后向递推运算涉及的读地址和双向地址。图7给出了首块列扩张表的构造示意图。矩阵列映射表反映了 Hau与H的列号映射关系,并能辅助区分后向递推运算涉及的读地址和双向地址。矩阵列映射表的索引是Hau的列号i(0 ^ i〈n),每个存储单元保存的内容有两项H的块列号Column[i](0 ^ Column[i]<b)和首块列扩张表的索引Index[i](0 く Index[i]〈2N入)。假设Halt的第i列对应H第u (0 く u〈b)块列中的第v (0 ^ v<N)列,那么Column[i]=u。HALT的第i列向量运算涉及I个源操作数和\个累加操作数,其中ー个位于码字c中,其余位于向量q中。由图1和纵向编码算法可知,对于Index[i],分两种情况ー种是Haij的第k k+1-l列和第n-t n-1列涉及后向递推运算,姆列对应向量q中的I个源操作数和入-1个累加操作数,需要区分这\个操作数是源还是累加,另外ー个累加操作数位于码字c中;另ー种是HALT的前k列和第k+1 k+1+d-l列涉及向量q的计算,每列对应向量q中的\个累加操作数和码字c中的I个源操作数。对于第一种情况(k < i〈k+l或n-t ^ i〈n),若源操作数在向量q中的地址下标x (0 く x〈r)对应首块列信息表中的第V列、第w (0彡w〈X )行的内容y,即X= (Mu+y) %r(8)其中,%表示取余。贝IJIndex [i] = 2 A v+w(9)对于第二种情况(0彡i〈k或k+1彡i〈k+l+d),有Index [i] = 2 A v(10)地址发生器产生与Hau列向量运算相关的操作数地址,它通过查询两个映射表中的数据进而计算得到,如图8所示。与每个列向量运算相关的有I个源操作数和\个累加操作数,其中ー个位于码字c中,其余位于向量q中。操作数地址的计算方法如下首先,以Hau的列号i (0彡i〈n)为索引查询矩阵列映射表,得到Column[i]和Index [i],计算码字c中I个操作数的地址Address [i] [ A ] = N*Column [i] +Index [i] / (2 A )(11)
其中,/表示取商。对于第一种情况,Address[i] [ A ]是累加操作数的双向地址;对于第二种情況,它是源操作数的读地址。然后,以Index[i]为起始索引查询首块列扩张表中的连续入项内容Row [Index [i]+j] (0<j〈入)。最后,使用查到的这些数据计算向量q中入个操作数的地址Address [i] [j] = (M*Column [i] +Row[Index [i] +j]) %r(12)其中,0 < j〈X。对于第一种情况,第一个地址Address[i]
是源操作数的读地址,其余地址都是累加操作数的双向地址;对于第二种情况,这、个地址都是累加操作数的双向地址。对于第一种情況,Hau的第i (k ( i〈k+l或n-t ( i〈n)列向量用于实现部分校验 向量Po和P2的后向递推运算,并更新向量q,方法如下^Address [i] [ A ] ^Address [i] [A ] "^"QAddress [i]
(13)QAddress [i] [j] QAddress [i] [j]+QAddress [i]
(14)其中,0〈j〈入。式(13)的运算结果可组成pQ和p2,具体是P0 = [cAddress[k][
入]CAddress [k+1] [ A ] ^Address[k+l-l][入] ](15)P2 [CAddress[n-t][入]CAddress [n-t+l][入]CAddress[n-1][入]](丄6ノ将上面两式中的地址下标与式⑵中的地址下标进行对比可知,Ptl和P2中的各校验比特已经散布于码字c中。对于第二种情况,Halt的第i (k彡i〈k+l或n_t彡i〈n)列向量用于计算向量q。q初始化为0,其各比特进行如下累加运算 [j] QAddress [i] [j]+CAddress [i][人]其中,0<j〈入。从式(13) (17)可以看出,作为编码过程中的主要五步,第二步、第三步、第四歩、第六步和第七步都是利用H的块列循环特性和列重相同特点来完成的。纵向累加単元完成式(13)、(14)和(17)的运算,图9和图10分别是它进行后向递推运算和计算向量q时的功能框图。对于CMMB标准中的两种码率LDPC码,均有入=3。在图9中,并行累加器初始化为累加操作数和qAdtess[i][2],它与输入的源操作数qAddreSS[i]
进行模2カロ,结果存回并行累加器,用于计算或更新码字c和向量q。在图10中,并行累加器初始化为累加操作数qAdd
ress[i]
、^Address[i] [I]矛ロ ^Address[i] [2] 匕
与输入的源操作数 ^Address[i] [3]
进行模2加,结果存回并行累加器,用于计算或更新向量q。综上可见,该编码器充分利用了校验矩阵的块列循环特性和列重相同特点,使用双重映射表计算操作数的地址,节约了大量的存储器资源。编码过程的第二步、第三歩、第四步、第六步和第七步一致性强,极大地降低了编程工作量,且易于实现。与现有的编码方案相比,本发明能在不降低编码速度的条件下有效减少存储器和逻辑资源的需求,具有成本低、功耗小等特点。
权利要求
1.一种适合于CMMB标准采用的两种不同码率LDPC码的编码器,规则LDPC码用参数集(η, P,λ )来定义,校验矩阵H是rXn阶,连续N列为I块列,b=n/N, M=r/b, H的右一块列是左一块列循环下移M位的结果,通过行列交换H变换成近似下三角形状Hau,1、t和d反映了 Hau与下三角矩阵的接近程度,其中,η、P、λ、r、N、b、M、1、t和d皆为正整数,n=k+r,两种不同码率η分别是1/2、3/4,对于这两种不同码率QC-LDPC码,均有n=9216、λ=3、N=36和b=256,两种不同码率对应的参数P分别是6、12,两种不同码率对应的参数r分别是4608、2304,两种不同码率对应的参数k分别是4608、6912,两种不同码率对应的参数M分别是18、9,两种不同码率对应的参数I分别是2544、1776,两种不同码率对应的参数t分别是182、43,两种不同码率对应的参数d分别是1882、485,H对应码字c=[sp],Halt对应码字Caij= [spALT] = IisPciP1P2], ΡΜ^ ΡαΡ^],其特征在于,所述编码器包括以下部件 控制器,用于控制向量存储器的读写、各个查找表的读取、读写地址的产生、重新排序操作、横向累加运算和并行累加运算; 向量存储器,用于存储向量q和码字C ; 重新排序表,用于存储向量q2中各比特在向量q中的源地址以及信息向量s和部分校验向量P1中各比特在码字c中的目的地址; 高密度矩阵表,用于存储矩阵Φ的所有列向量; 首块列扩张表,是将重复扩展的二维首块列信息表串联成一维得到的,先把首块列信息表的内容复制一份追加到最后一行之后,然后逐列首尾相连拼接成一维表Row[i],其中,O ( i<2NA,0 ( Row[i]<r ; 矩阵列映射表,反映了 Hau与H的列号映射关系,并能辅助区分后向递推运算涉及的读地址和双向地址; 地址发生器,利用矩阵列映射表和首块列扩张表产生纵向累加单元所需的读写地址;重新排序单元,利用重新排序表从向量q中选择恰当比特组成向量q2,并对信息向量s和部分校验向量P1重新排序后放置于码字c中; 纵向累加单元,用于完成后向递推运算,计算部分校验向量Ρο、Ρ2和向量q; 并行累加单元,用于实现高密度矩阵Φ与向量q2的乘积,计算部分校验向量Pl。
2.如权利要求1所述的编码器,其特征在于,所述矩阵列映射表的索引是氏^的列号i,其中,O ( i〈n,每个存储单元保存的内容包括如下两项 H的块列号Column [i],假设Haw的第i列对应H第u块列中的第v列,那么Column[i] =U,其中,O ^ u<b,O ^ v<N,O ^ Column[i]<b ; 首块列扩张表的索引Index [i],当0 < i〈k或k+1 ^ i〈k+l+d时,Index [i] = 2 λ v,当i〈k+l或n-t;^ i〈n时,若源操作数在向量q中的地址下标X对应首块列信息表中的第V 列、第 w 行的内容 y,即 X= (Mu+y)%r,贝丨J Index[i] = 2 λ v+w,其中,O ^ x<r, O ^ w< λ,%表不取余,O ^ Index[i]〈2NA。
3.如权利要求1、2所述的编码器,其特征在于,所述地址发生器产生与Hau列向量运算相关的I个源操作数地址和λ个累加操作数地址,它通过查询两个映射表中的数据进而计算得到 首先,以Hau的列号i为索引查询矩阵列映射表,得到Column[i]和Index[i],计算码字 c 中 I 个操作数的地址 Address [i] [ λ ] = N*Column [i] +Index [i] / (2 λ ),当 k < i〈k+l或n_t < i〈n时,Address [i] [ λ ]是累加操作数的双向地址,当O < i〈k或k+1 ^ i〈k+l+d时,它是源操作数的读地址,其中,O ( i〈n,/表示取商; 然后,以Index[i]为起始索引查询首块列扩张表中的连续λ项内容Row[Index[i]+j],其中,O < j〈 λ ; 最后,计算 λ 个操作数的地址Address[i] [j] = (M*Column[i]+Row[Index[i]+j])%r,当k < i〈k+l或n-t ( i〈n时,第一个地址Address [i]
是源操作数的读地址,其余地址都是累加操作数的双向地址,当O彡i〈k或k+1 ( i〈k+l+d时,这λ个地址都是累加操作数的双向地址。
4.如权利要求1所述的编码器,其特征在于,所述并行累加单元用于计算部分校验向量卩! 并行累加器初始化为全零; 向量q2的比特&乘以矩阵Φ的列向量Oi各信息比特,所得乘积与并行累加器进行模2力口,结果存回并行累加器,其中,O ( i〈d ; 上述操作重复d次,并行累加器的内容即为部分校验向量Pl。
5.如权利要求1所述的编码器,其特征在于,所述纵向累加单元用于完成后向递推运算的过程如下并行累加器初始化为累加操作数 CAddress [i] [3]、^Address [i] [I]矛口 ^Address [i] [2] 匕输入的源操作数qAddressmM进行模2加,结果存回并行累加器,用于计算或更新码字c和向量Qo
6.如权利要求1所述的编码器,其特征在于,所述纵向累加单元用于计算向量q的过程如下并行累加器初始化为累加操作数qAdd ress[i]
、QAddress[i] [I]和 t^Address[i] [2],匕与fel入的源操作数 ^Address[i] [3]进行模2加,结果存回并行累加器,用于计算或更新向量q。
7.一种适合于CMMB标准采用的两种不同码率QC-LDPC码的编码方法,规则LDPC码用参数集(η, P , λ )来定义,校验矩阵H是rXn阶,连续N列为I块列,b=n/N,M=r/b,H的右一块列是左一块列循环下移M位的结果,通过行列交换H变换成近似下三角形状Hau,1、t和d反映了 Hau与下三角矩阵的接近程度,其中,η、P、λ、r、N、b、M、l、t和d皆为正整数,n=k+r,两种不同码率η分别是1/2、3/4,对于这两种不同码率QC-LDPC码,均有n=9216、λ=3、N=36和b=256,两种不同码率对应的参数P分别是6、12,两种不同码率对应的参数r分别是4608、2304,两种不同码率对应的参数k分别是4608、6912,两种不同码率对应的参数M分别是18、9,两种不同码率对应的参数I分别是2544、1776,两种不同码率对应的参数t分别是182、43,两种不同码率对应的参数d分别是1882、485,H对应码字c=[sp],Halt对应码字Caij= [SPAIJ] = IiSPciP1P2] ,,其特征在于,所述编码方法包括以下步骤 第一步,利用重新排序表中的目的地址信息,使用重新排序单元将信息向量S的各信息比特散布于码字C中,并清零校验向量Pau在码字C中的相应比特; 第二步,根据Jau的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量Qalt的各比特,并将它们散布于向量q中,地址发生器查询矩阵列映射表的前k个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入向量q中; 第三步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量Po的各校验比特,更新向量qAU的各比特,并将它们分别散布于码字c和向量q中,地址发生器查询矩阵列映射表的第k k+1-l个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入码字c和向量q中;第四步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量P2的各校验比特,更新向量qAU的各比特,并将它们分别散布于码字c和向量q中,地址发生器查询矩阵列映射表的第n-t η-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入码字c和向量q中;第五步,使用并行累加单元实现高密度矩阵Φ与向量q2的乘法,并行计算部分校验向量口工,重新排序单元利用重新排序表中的源地址信息从向量q中选择恰当比特组成向量q2,并利用重新排序表中的目的地址信息使向量P1的各校验比特散布于码字c中; 第六步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量Qalt的各比特,并将它们散布于向量q中,地址发生器查询矩阵列映射表的第k+Ι k+l+d_l个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入向量q中; 第七步,根据Hau的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量P2的各校验比特,更新向量qAU的各比特,并将它们分别散布于码字c和向量q中,该步骤与第四步完全相同,注意,第四步得到的P2是中间计算结果,而这一步得到的P2是最终计算结果,需要指出的是,因为cAU的S、P。、P1和P2四部分已经分别在第一步、第三步、第五步和第七步中散布于码字c中,所以无需再对cAU重新排序即可得到码字Co
全文摘要
本发明提供了一种CMMB系统中两种码率LDPC码的编码方案,其特征在于,所述系统的LDPC编码器主要由控制器、向量存储器、重新排序表、高密度矩阵表、矩阵列映射表、首块列扩张表、地址发生器、重新排序单元、纵向累加单元和并行累加单元十部分组成。该编码器的编码步骤一致性强,易于实现。本发明充分利用校验矩阵的块列循环特性和列重相同特点,能在不降低编码速度的前提下有效减少存储器和逻辑资源的需求,具有成本低、功耗小等特点。
文档编号H03M13/11GK103023515SQ20131000032
公开日2013年4月3日 申请日期2013年1月1日 优先权日2013年1月1日
发明者张鹏, 蔡超时, 杨刚, 刘蕾, 林子良 申请人:苏州威士达信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1