基于共享寄存器的dtmb中ldpc编码器和编码方法

文档序号:7520128阅读:354来源:国知局
专利名称:基于共享寄存器的dtmb中ldpc编码器和编码方法
技术领域
本发明涉及一种数字地面电视广播技术,特别涉及一种DTMB系统中QC-LDPC码编码器的高效实现方法。
背景技术
由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避免地会出现数字信号产生误码的情况。为了降低误码率,需要采用信道编码技术。低密度奇偶校验(Low-Density Parity-Check, LDPC)码以其逼近Shannon限的优异性能成为信道编码领域的研究热点。准循环LDPC码(Quasic-LDPC,QC-LDPC)码是一种特殊的LDPC码,其编码可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator,SRAA)加以实现。目前,QC-LDPC码已广泛应用于IEEE 802. lln,802. 16e和中国的数字地 面电视广播DTMB等标准。SRAA法是利用生成矩阵G进行编码。QC-LDPC码的生成矩阵G是由aXt个bXb阶循环矩阵Gi,」(I彡i彡a, I彡j彡t)构成的阵列,t=a+c。与信息向量对应的一部分生成矩阵是单位矩阵,与校验向量对应的其余部分生成矩阵是高密度矩阵。串行SRAA法完成一次编码需要ab+t个时钟周期,需要(c+t)b个寄存器、cb个二输入与门和cb个二输入异或门。此外,还需要acb比特ROM存储循环矩阵的首行。DTMB标准采用了 3种不同码率的QC-LDPC码。对于这3种QC-LDPC码,均有t=59和b=127。图I给出了不同码率η下的参数a和C。DTMB标准中QC-LDPC编码的现有解决方案是采用串行SRAA法,3种码率所需的编码时间分别是3107、4631和6155个时钟周期。逻辑资源需要11938个寄存器、4445个二输入与门和4445个二输入异或门,这是由码率η =0.4对应的参数c=35决定的。此外,3种码率共需278,892比特ROM存储循环矩阵的首行。当采用硬件实现时,如此大的存储需求会增加设备成本,且编码时间较长。

发明内容
针对DTMB系统多码率QC-LDPC编码的现有实现方案中存在的需要大容量存储器和编码速度慢缺点,本发明提供了一种基于共享寄存器的高效编码方法,无需存储器,能有效提高编码速度。如图3所示,基于共享寄存器的DTMB标准中多码率QC-LDPC码的编码器主要由5部分组成共享寄存器、多功能移位器、并行滤波器、线性反馈移位寄存器(LFSR)和并行循环左移累加器(并行CLSA)。共享寄存器由62个b位寄存器R1, R2,…,R62构成,其它四个功能模块共用这些寄存器。整个编码过程分9步完成 第I步,清零寄存器R61和R62 ;第2步,使用多功能移位器输入信息向量s ;第3步,使用并行滤波器计算向量f和m ;第4步,使用LFSR计算向量q ;第5步,使用并行CLSA计算部分校验向量Px ;第6步,使用多功能移位器调整重复运算之前的寄存器内容;第7步,重复第3步,计算向量f ;第8步,重复第4步,计算部分校验向量Py ;第9步,使用多功能移位器输出码字V。本发明提供的QC-LDPC编码器无需存储器,兼容多码率,编码时间与码率无关,能在明显提高编码速度的同时有效减少逻辑资源需求,从而达到降低硬件成本和功耗的目的。关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。


图I给出了不同码率η下的参数a、c和U ;图2是行列交换后近似下三角校验矩阵Hau的结构示意图; 图3是DTMB标准中兼容3种码率的QC-LDPC码编码器整体结构;图4是多功能移位器的结构示意图;图5是并行滤波器的结构示意图;图6给出了码率η=0. 4时各个多输入异或门与寄存器及其抽头的连接关系;图7给出了码率η=0. 6时各个多输入异或门与寄存器及其抽头的连接关系;图8给出了码率η=0. 8时各个多输入异或门与寄存器及其抽头的连接关系;图9是LFSR的结构示意图;图10是并行CLSA的结构示意图;图11是编码器各组成部分以及整个电路的硬件资源消耗;图12是各编码步骤以及整个编码过程所需的处理时间;图13比较了传统的串行SRAA法与本发明的编码速度和资源消耗。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。QC-LDPC码是一类特殊的LDPC码,它的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环特点,故被称为准循环LDPC码。从行的角度看,循环矩阵的每一行都是上一行(首行是末行)循环右移一位的结果;从列的角度看,循环矩阵的每一列都是前一列(首列是末列)循环下移一位的结果。循环矩阵的行向量构成的集合与列向量构成的集合完全相同,因此,循环矩阵完全可由它的首行或首列来表征。循环矩阵的行重和列重相同,记作W。如果《=0,那么该循环矩阵是全零矩阵。如果《=1,那么该循环矩阵是可置换的,称为置换矩阵,它可通过对单位矩阵I循环右移若干位得到。QC-LDPC码的校验矩阵H是由cXt个bXb阶循环矩阵Hiij (I彡i彡C,I彡j彡t)构成的如下阵列
Hh2 …Hht
H、, ,…H、,'1 :2'2 ·.(I)
Hcl H Hct校验矩阵H的连续b行和b列分别被称为块行和块列。对于DTMB标准,校验矩阵H对应的码字v= (p,s),H的前c块列对应的是校验向量P,后a块列对应的是信息向量S。以b比特为一段,校验向量P被等分为c段,SPP= (P1, P2,…,P。);信息向量S被等分为a段,即S=G1, S2,…,Sa)。DTMB标准采用了 3种不同码率的QC-LDPC码,图I给出了不同码率η下的参数a和C。对于这3种QC-LDPC码,校验矩阵H中的所有循环矩阵要么是全零矩阵(W=O)要么是置换矩阵(w=l),且t=59和b=127。对校验矩阵H进行预处理,通过行列交换操作将其变换成近似下三角形状Hau,如图2所示。在图2中,所有子矩阵的单位都是b比特而不是I比特。T是下三角矩阵,u反映了校验矩阵Hau与下三角矩阵的接近程度,图I给出了 3种码率下的参数U。行列交换的过程如下首先,对于任一码率,将H第块行中的所有置换矩阵循环右移126位;然后,对于η=0. 4,0. 6和O. 8,将H首块行中的所有置换矩阵分别循环右移60、79和20位,并将该行移至H的最下方作为末块行;最后,对于η =0. 4,将H首块列移至第35块列之后作为 新的第35块列。在图2所示的校验矩阵Hau对应的码字Vau= (pALT, s) = (py, px, s)中,矩阵A和C对应信息向量S,矩阵B和D对应一部分校验向量px,矩阵T和E则对应余下的校验向量PyO 对于 rI =0. 4,Px= (Pd, Pc, P1),Py= (P2, P3, ...,Pc-2);对于 η =0. 6 和 O. 8,px= (p。—” pc),Py= (Pi, P2.…,Pm)。上述矩阵和向量满足如下关系ρχτ= Φ (EjT1As^Cst)(2)ρ/ζΓ1 (AsT+BpxT)⑶其中,ΦΜΕΤ + Γ1,上标If1分别表示转置和逆。众所周知,循环矩阵的逆、乘积、和仍然是循环矩阵。因此,Φ也是由循环矩阵构成的阵列。然而,虽然矩阵E、T、B和D都是稀疏矩阵,但Φ不再稀疏而是高密度的。根据式⑵和(3),可得到QC-LDPC码的一般编码流程,包括以下步骤(I)清零部分校验向量px。(2)计算向量 fT=AsT+BpxT 和 mT=CsT。(3)计算向量 qLErk1+!^。(4)计算部分校验向量pxT=C>qT。(5)计算向量 fT=AsT+BpxT。(6)计算部分校验向量ρ/=!"1;^。(7)对Pau进行重新排序并与s拼接,得到码字v=(P,s)。根据上述编码流程,图3给出了适用于DTMB标准中3种码率QC-LDPC码的编码器,它是基于寄存器共享机制,主要由共享寄存器、多功能移位器、并行滤波器、线性反馈移位寄存器(LFSR)和并行循环左移累加器(并行CLSA)五个功能模块组成。共享寄存器由62个b位寄存器R1, R2,…,R62构成,其它四个功能模块共用这些寄存器。多功能移位器用于信息向量s的输入、重复运算的调整、码字V的输出。并行滤波器用于计算向量f和m。LFSR用于计算向量q和部分校验向量Py。并行CLSA用于计算部分校验向量px。图4是多功能移位器的结构示意图,它主要由寄存器R4 R62和复用器组成,进行b位并行移位,用于信息向量s的输入、重复运算之前的调整、码字V的输出。当多功能移位器用于输入信息向量s时,开关Z1闭合,开关Z2和Z3断开,寄存器R61和R62初始化为全零,信息向量s=(Sl,S2,…,sa)逐段并行送入多功能移位器,经a个时钟周期,所有信息段送入完毕。对于H =0.4,之后还要并行送入一段全零数据。此时,最后a+u个寄存器R63_a_u R62存储的是信息向量s和部分校验向量Px=O。
当多功能移位器用于调整重复运算之前的寄存器内容时,寄存器R4 当前存储的是信息向量S和部分校验向量px,开关Z2闭合,开关Z1和Z3断开,所有寄存器并行循环左移a+u次。此时,最后a+u个寄存器R63_a_u R62存储的是信息向量s和部分校验向
量px。当多功能移位器用于输出码字V时,开关Z2和Z3闭合,开关Z1断开,复用器根据码率η =0. 4,0. 6和O. 8分别选择寄存器R3(I、R42和R54作为输出,所有寄存器并行循环左移t次即可完成码字输出。图5是并行滤波器的结构示意图,它主要由寄存器R1 R62和多输入异或门An,1 八,,。组成,用于计算向量€和111。每个多输入异或门对应子矩阵[A B]或C中的一个块行,每个输入端对应一个置换矩阵,该置换矩阵所在块列号加3等于寄存器的下标,其循环右移位数加I等于寄存器的抽头位。图61给出 了不同码率下各个多输入异或门与寄存器及其抽头的连接关系。初始时,信息向量s和部分校验向量Px位于寄存器R63_a_u R62中,R63-a-u R62中的每个寄存器都有多个抽头。每个时钟到来时,寄存器R63-a-u R62各自串行循环左移I次,多输入异或门Au An,。分别将计算结果串行左移入寄存器R1 R。。重复上述过程,经过b个时钟周期完成运算。此时,寄存器R1 IU和R。# R。存储的分别是向量f和m,而寄存器R63_a_u R62存储的依然是信息向量s和部分校验向量px。并行滤波器要知道各个多输入异或门与寄存器及其抽头的连接关系,需要对校验矩阵H进行行列交换。行列交换的过程如下首先,对于任一码率,将H第块行中的所有置换矩阵循环右移126位;然后,对于η=0. 4,0. 6和O. 8,将H首块行中的所有置换矩阵分别循环右移60、79和20位,并将该行移至H的最下方作为末块行;最后,对于η =0.4,将H首块列移至末块列。图9是LFSR的结构示意图,它主要由寄存器R1 R62和b位二输入异或门A1 A3组成,用于计算向量q和部分校验向量Py。初始时,开关Z4断开,寄存器R1 R。存储的是向量f和m,寄存器R63_a_u R62存储的是信息向量s和部分校验向量Px。每个时钟到来时,寄存器R1 R62并行循环左移I次,寄存器R1的输出同时循环右移31和103位后分别与寄存器R2和R3的输出进行模2加,计算结果分别保存于寄存器R1和R2中。重复上述过程,直到第c-u个时钟周期到来时,闭合开关Z4,重复一次上述过程。除此之外,寄存器R1的输出还同时与R4的输出进行一次模2力口,计算结果保存于寄存器R3中。此时,寄存器R1 Ru和R63-C^u R62存储的分别是向量q和部分校验向量Py,而寄存器R4 R62-M存储的是信息向量S和部分校验向量px。图10是并行CLSA的结构示意图,它主要由寄存器R1-RyR3t^b位二输入与门Mm(I < i, j < 3)和b位二输入异或门Ai,」(I ^ i, j ^ 3)组成,用于计算部分校验向量px。对于Π =0.4,开关Z5闭合;对于η =0.6或O. 8,开关Z5断开。初始时,寄存器R1 Ru存储的是向量q。每个时钟到来时,寄存器R1 R3各自串行左移I次,b位二输入与门Mm进行标量与向量的乘法运算,Mi;1、Mi,2、的乘积与寄存器Ri+3 (I彡i彡2)或R3tl (i = 3)串行循环左移I次的结果相加,和存回寄存器Ri+3 (I彡i彡2)或R3tl (i = 3)。重复上述过程,经过b个时钟周期完成运算。此时,寄存器R4 1 62_。+11存储的是信息向量s和部分校验向量Px。并行CLSA要用到高密度矩阵Φ所有循环矩阵的首列,需要对校验矩阵H进行预处理,通过行列交换操作将其变换成近似下三角形状hau。行列交换的过程如下首先,对于任一码率,将H第2 C块行中的所有置换矩阵循环右移126位;然后,对于η =0. 4,0. 6和O. 8,将H首块行中的所有置换矩阵分别循环右移60、79和20位,并将该行移至H的最下方作为末块行;最后,对于η =0. 4,将H首块列移至第35块列之后作为新的第35块列。本发明提供了一种可变码率QC-LDPC码的高效编码方法,结合DTMB标准中多码率QC-LDPC码的编码器(如图3所示),其编码步骤描述如下第I步,清零寄存器R61和R62 ;第2步,使用多功能移位器输入信息向量s ;
第3步,使用并行滤波器计算向量f和m ;第4步,使用LFSR计算向量q ;第5步,使用并行CLSA计算部分校验向量Px ;第6步,使用多功能移位器调整重复运算之前的寄存器内容;第7步,重复第3步,计算向量f ;第8步,重复第4步,计算部分校验向量py ;第9步,使用多功能移位器输出码字V。图11总结了编码器各组成部分以及整个电路的硬件资源消耗。图12总结了各编码步骤以及整个编码过程所需的处理时间。图13比较了传统的串行SRAA法与本发明的编码速度和资源消耗。从图中可以清楚看到,无论是编码速度,还是逻辑资源,尤其是存储器,本发明的性能都优于串行SRAA法。本发明无需存储器,使用了较少的寄存器、异或门和与门,耗费量分别是串行SRAA法的66%,37%和26%。本发明的编码时间与码率无关,便于优化系统实现,对于Π=0. 4,0. 6和O. 8,本发明的编码速度分别是串行SRAA法的5. 6,8. 3和11倍。综上可见,与传统的串行SRAA法相比,本发明具有编码速度快、资源消耗少、功耗小、成本低等优点。以上所述的实施例,只是本发明较优选的具体实施方式
,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.ー种适合于DTMB标准采用的3种不同码率QC-LDPC码的编码器,QC-LDPC码的校验矩阵H是由cXt个bXb阶循环矩阵构成的阵列,通过行列交换变换成近似下三角形状Halt, u反映了 Hau与下三角矩阵的接近程度,其中,c、t、b和u皆为正整数,t=a+c,3种不同码率η分别是O. 4,0. 6,0. 8,对于这3种不同码率QC-LDPC码,均有t=59和b=127,3种不同码率对应的參数a分别是24、36、48,3种不同码率对应的參数c分别是35、23、11,3种不同码率对应的參数u分别是3、2、2,校验矩阵H对应码字ν= (p,s),H的前c块列对应的是校验向量P,后a块列对应的是信息向量s,以b比特为一段,校验向量P被等分为c段,即 P= (P1, P2, ···,P。),信息向量 s 被等分为 a 段,即 s=(s” s2, ···,sa) ,Halt 对应码字 vALT= (pALT,s),pALT= (py, px),对于 n=0. 4, px= (pc_!, pc, P1),Py= (p2, P3, ...,pc-2),对于 η =0. 6 和 0· 8,Px= (Pc-i, P。),Py= (Pi, P2, ···,Pc^),其特征在于,所述编码器包括以下部件 寄存器R1 R62,其余四个部件共享这62个b位寄存器; 多功能移位器,主要由寄存器R4 R62和复用器组成,进行b位并行移位,用于信息向量s的输入、重复运算之前的调整和码字V的输出; 并行滤波器,主要由寄存器R1-R62和多输入异或门Ana-An,。组成,用于计算向量f和m,每个多输入异或门对应Hau的子矩阵[A B]或D中的ー个块行,每个输入端对应ー个置換矩阵,该置换矩阵所在块列号加3等于寄存器的下标,其循环右移位数加I等于寄存器的抽头位; 线性反馈移位寄存器,主要由寄存器R1 R62和b位ニ输入异或门A1 A3组成,用于计算向量q和部分校验向量Py ; 并行循环左移累加器,主要由寄存器R1 R5、R3(l、b位ニ输入与门Mi, j和b位ニ输入异或门Ai, j组成,用于计算部分校验向量Px,其中,I彡i, j彡3。
2.如权利要求I所述的编码器,其特征在干,当所述多功能移位器用于输入信息向量s时,开关Z1闭合,开关Z2和Z3断开,寄存器R61和R62初始化为全零,信息向量S= (S1, S2,...,sa)逐段并行送入多功能移位器,经a个时钟周期,所有信息段送入完毕,对于η =0.4,之后还要并行送入一段全零数据,最后a+u个寄存器R63_a_u R62存储的是信息向量s和部分校验向量Px=O。
3.如权利要求I所述的编码器,其特征在干,当所述多功能移位器用于调整重复运算之前的寄存器内容吋,寄存器R4 R62-M当前存储的是信息向量s和部分校验向量px,开关Z2闭合,开关Z1和Z3断开,所有寄存器并行循环左移a+u次,最后a+u个寄存器R63_a_u R62存储的是信息向量s和部分校验向量Px。
4.如权利要求I所述的编码器,其特征在干,当所述多功能移位器用于输出码字ν吋,开关Z2和Z3闭合,开关も断开,复用器根据码率11=0.4、0.6和0.8分别选择寄存器1 3(|、R42和R54作为输出,所有寄存器并行循环左移t次即可完成码字输出。
5.如权利要求I所述的编码器,其特征在于,所述并行滤波器要知道各个多输入异或门与寄存器及其抽头的连接关系,需要对校验矩阵H进行行列交換,行列交换的过程如下 首先,对于任ー码率,将H第块行中的所有置换矩阵循环右移126位; 然后,对于H=O. 4,0. 6和O. 8,将H首块行中的所有置换矩阵分别循环右移60、79和20位,并将该行移至H的最下方作为末块行; 最后,对于η =0. 4,将H首块列移至末块列,对于η =0.6和O. 8,无此步骤。
6.如权利要求I所述的编码器,其特征在于,所述并行滤波器用于计算向量f和m: 初始时,信息向量s和部分校验向量Px位于寄存器R63_a_u R62中,R63-a_u R62中的每个寄存器都有多个抽头; 每个时钟到来吋,寄存器R63-a_u R62各自串行循环左移I次,多输入异或门ΑηΛ An,。分别将计算结果串行左移入寄存器R1 R。; 重复上述过程,经过b个时钟周期完成运算,寄存器R1 Rc^u和Rrlrt R。存储的分别是向量f和m,而寄存器R63_a_u R62存储的依然是信息向量s和部分校验向量px。
7.如权利要求I所述的编码器,其特征在于,所述线性反馈移位寄存器用于计算向量q和部分校验向量Py 初始时,开关Z4断开,寄存器R1 R。存储的是向量f和m,寄存器R63_a_u R62存储的是信息向量s和部分校验向量Px ; 每个时钟到来吋,寄存器R1 R62并行循环左移I次,寄存器R1的输出同时循环右移31和103位后分别与寄存器R2和R3的输出进行模2カロ,计算结果分别保存于寄存器R1和R2中; 重复上述过程,直到第c-u个时钟周期到来吋,闭合开关Z4,重复一次上述过程,除此之夕卜,寄存器R1的输出还同时与R4的输出进行一次模2加,计算结果保存于寄存器R3中,寄存器R1 Ru和R63__ R62存储的分别是向量q和部分校验向量Py,而寄存器R4 R62L11存储的是信息向量S和部分校验向量px。
8.如权利要求I所述的编码器,其特征在于,所述并行循环左移累加器用于计算部分校验向量Px 初始时,寄存器R1-Ru存储的是向量q,对于η =0.4,开关Z5闭合,对于η =0.6或O. 8,开关Z5断开; 每个时钟到来吋,寄存器R1 R3各自串行左移I次,b位ニ输入与门Mi, j进行标量与向量的乘法运算,当I彡i彡2吋,Mi;1, Mij2, Mij3的乘积与寄存器Ri+3串行循环左移I次的结果相加,和存回寄存器Ri+3,而当i = 3吋,Mi;1, Mij2, Mij3的乘积与寄存器R3tl串行循环左移I次的结果相加,和存回寄存器R3tl ; 重复上述过程,经过b个时钟周期完成运算,寄存器R4 1 62_。+11存储的是信息向量s和部分校验向量Px。
9.如权利要求I所述的编码器,其特征在于,所述矩阵Hau是对校验矩阵H进行行列交换的结果,行列交换的过程如下 首先,对于任ー码率,将H第块行中的所有置换矩阵循环右移126位; 然后,对于H=O. 4,0. 6和O. 8,将H首块行中的所有置换矩阵分别循环右移60、79和20位,并将该行移至H的最下方作为末块行; 最后,对于Η =0. 4,将H首块列移至第35块列之后作为新的第35块列,对于η =0.6和O. 8,无此步骤。
10.ー种适合于DTMB标准采用的3种不同码率QC-LDPC码的编码方法,QC-LDPC码的校验矩阵H是由cXt个bXb阶循环矩阵构成的阵列,通过行列交换变换成近似下三角形状Hau,u反映了 Hau与下三角矩阵的接近程度,其中,c、t、b和u皆为正整数,t=a+c,3种不同码率n分别是O. 4、0. 6、0. 8,对于这3种不同码率QC-LDPC码,均有t=59和b=127,.3种不同码率对应的參数a分别是24、36、48,3种不同码率对应的參数c分别是35、23、.11,3种不同码率对应的參数u分别是3、2、2,校验矩阵H对应码字V= (p,s),H的前c块列对应的是校验向量P,后a块列对应的是信息向量s,以b比特为一段,校验向量P被等分为c段,即P= (P1, P2, ···,P。),信息向量s被等分为a段,即S= (S1, S2, ...,sa),Halt对应码字Valt= (Palt,s),Palt= (Py, Px),对于 Π =0. 4, Px= (p。—” pc, P1),Py= (p2, P3, ...,Pc_2),对于 Π =0. 6 和O.8, ρχ= (pc_!, p。), py= (p1; p2,…,pe-2),其特征在于,所述编码方法包括以下步骤 第I步,清零寄存器R61和R62; 第2步,使用多功能移位器输入信息向量s ; 第3歩,使用并行滤波器计算向量f和m ; 第4歩,使用线性反馈移位寄存器计算向量q ; 第5歩,使用并行循环左移累加器计算部分校验向量Px ; 第6步,使用多功能移位器调整重复运算之前的寄存器内容; 第7步,重复第3步,计算向量f ; 第8步,重复第4步,计算部分校验向量Py ; 第9步,使用多功能移位器输出码字V。
全文摘要
本发明涉及一种解决DTMB系统中3种不同码率QC-LDPC码编码的方案,其特征在于,所述系统的QC-LDPC码的编码器是基于寄存器共享机制,主要由共享寄存器、多功能移位器、并行滤波器、线性反馈移位寄存器和并行循环左移累加器五部分组成。后四个功能模块共用62个b位寄存器。本发明提供的QC-LDPC编码器无需存储器,兼容多码率,编码时间与码率无关,能在明显提高编码速度的同时有效减少逻辑资源需求,具有编码速度快、资源消耗少、功耗小、成本低等优点。
文档编号H03M13/11GK102857235SQ20121036992
公开日2013年1月2日 申请日期2012年9月27日 优先权日2012年9月27日
发明者张鹏, 蔡超时, 万欣 申请人:苏州威士达信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1