基于三级流水线的高速qc-ldpc编码器的制造方法

文档序号:9420049阅读:272来源:国知局
基于三级流水线的高速qc-ldpc编码器的制造方法
【技术领域】
[0001] 本发明设及信道编码领域,特别设及一种通信系统中基于=级流水线的高速 QC-LDPC编码器。
【背景技术】
[0002] 低密度奇偶校验化OW-DensityParit厂化eck,LDPC)码是高效的信道编码技术 之一,而准循环LDPC(如asi-切ClicLDPC,QC-LDPC)码是一种特殊的LDPC码。QC-LDPC码 的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环的特点,故被称为 QC-LDPC码。循环矩阵的首行是末行循环右移1位的结果,其余各行都是其上一行循环右 移1位的结果,因此,循环矩阵完全由其首行来表征。通常,循环矩阵的首行被称为它的生 成多项式。
[0003] 通信系统通常采用系统形式的QC-LDPC码,其生成矩阵G的左半部分是一个单位 矩阵,右半部分是由eXc个bXb阶循环矩阵Gi,^0《Ke,e《j<t,t=e+c)构成的阵列, 如下所示:
[0004] (1) 阳0化]其中,!是bXb阶单位矩阵,0是bXb阶全零矩阵。G的连续b行和b列分别被 称为块行和块列。由式(1)可知,G有e块行和t块列。
[0006] 目前,QC-LDPC码广泛采用的是基于C个I型移位寄存器加累加器灯ype-I化if t-Register-Adder-Ac州mulator,SRAA-I)电路的串行编码器。由C个SRAA-I电路构成的 串行编码器,在eXb个时钟周期内完成编码。该方案需要2XcXb个寄存器、CXb个二输 入与口和CXb个二输入异或n,还需要eXCXb比特ROM存储循环矩阵的生成多项式。该 方案有两个缺点:一是需要大量存储器,导致电路成本高;二是串行输入信息比特,编码速 度慢。

【发明内容】

[0007] 通信系统中QC-LDPC编码器的现有实现方案存在成本高、编码速度慢的缺点,针 对运些技术问题,本发明提供了一种基于S级流水线的高速QC-LDPC编码器。
[0008] 如图2所示,通信系统中基于S级流水线的高速QC-LDPC编码器主要由3部分组 成:1型后向迭代电路、高密度矩阵与向量的乘法器和II型后向迭代电路。编码过程分3步 完成:第1步,使用I型后向迭代电路计算向量q和X;第2步,使用高密度矩阵与向量的乘 法器计算部分校验向量9^第3步,使用II型后向迭代电路计算部分校验向量Py,从而得到 校验向量P= (Px,Py)。
[0009] 本发明提供的高速QC-LDPC编码器结构简单,能在显著提高编码速度的条件下, 减少存储器,从而降低成本,提高吞吐量。
[0010] 关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
【附图说明】
[0011] 图1是行列交换后近似下S角校验矩阵的结构示意图;
[0012] 图2是基于S级流水线的QC-LDPC编码过程;
[0013] 图3是循环左移累加器RLA电路的功能框图;
[0014] 图4是由U个RLA电路构成的一种高密度矩阵与向量的乘法器;
[0015] 图5是I型后向迭代电路;
[0016] 图6是II型后向迭代电路;
[0017] 图7总结了编码器各编码步骤W及整个编码过程所需的硬件资源和处理时间。
【具体实施方式】
[0018] 下面结合附图对本发明的较佳实施例作详细阐述,W使本发明的优点和特征能更 易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
[0019] 循环矩阵的行重和列重相同,记作W。如果W = 0,那么该循环矩阵是全零矩阵。如 果W = 1,那么该循环矩阵是可置换的,称为置换矩阵,它可通过对单位矩阵I循环右移若干 位得到。QC-LDPC码的校验矩阵H是由C X t个b X b阶循环矩阵Hj,k (1《j《C,1《k《11 =e+c)构成的如下阵列:
[0020] 化
[0021] 通常情况下,校验矩阵H中的任一循环矩阵要么是全零矩阵(W = 0)要么是置换 矩阵(W= 1)。令循环矩阵Hjik的首行g j,k= (g .j,k,l,gj,k,2,…,gj,k,b)是其生成多项式,其中 邑i,k,m=〇或1(1《m《b)。因为H是稀疏的,所Wgj,k只有1个'1',甚至没有'1'。
[0022] H的前e块列对应的是信息向量曰,后C块列对应的是校验向量P。Wb比特为 一段,信息向量a被等分为e段,即a=(曰1,曰2,…,aj;校验向量P被等分为C段,即P= (Pl, 口2,…,Pc)。
[0023] 对校验矩阵H进行行交换和列交换操作,将其变换成近似下=角形状Hau,如图1 所示。在图1中,所有矩阵的单位都是b比特而不是1比特。A是由(C-U) Xe个bXb阶循 环矩阵构成,B是由(C-U) Xu个bXb阶循环矩阵构成,T是由(C-U)X(C-U)个bXb阶循 环矩阵构成,C是由UXe个bXb阶循环矩阵构成,D是由uXu个bXb阶循环矩阵构成,E 是由UX (C-U)个bXb阶循环矩阵构成。T是下S角矩阵,U反映了校验矩阵Hau与下S角 矩阵的接近程度。在图1中,矩阵A和C对应信息向量曰,矩阵B和D对应一部分校验向量P, =(Pl,P2,…,Pu),矩阵T和E则对应余下的校验向量Py= (P。4, Pw2,…,Pc)。P =也,Py)。 上述矩阵和向量满足如下关系:
[0024]p/二巫巧TlAaT+CaT) (3) 阳02引 PyT=T !(AaT+Bp/) (4)
[0026]其中,O=巧T iB+D) 1,上标T和1分别表示转置和逆。众所周知,循环矩阵的逆、 乘积、和仍然是循环矩阵。因此,O也是由循环矩阵构成的阵列。虽然矩阵E、T、B和D都 是稀疏矩阵,但通常情况下O不再稀疏而是高密度的。 阳0八]令 qT= T -IAaT, yT= Eq T+CaT^及 P yT= Ox T。 阳02引向量q和X可由下式计算得到: "AT:0].. 甘r 巧-
[0029] qXj =別aqXj =O傑 L*. XJ '
[0030]其中,
[0031]

[0032]一旦计算得出Px,式(4)可改写为: 阳03;3] [AB口[aPx Py] T=Y[aPXPy]T= 0 (7)
[0034]其中,
[0035] Y= [ABT]做
[0036] 因为Q和Y与T 一样都是下S角矩阵,所W式巧)中的[qX]和式(7)中的Py都 可采用后向迭代的计算方式。
[0037] O设及高密度矩阵与向量的乘法,而Q和Y设及后向迭代计算。根据W上讨论,可 给出一种基于S级流水线的QC-LDPC编码过程,如图2所示。 阳03引 PxT=巫X T等价于P X= X巫T。令X = (Xi,而,…,XuXb)。定义U比特向量Sn = (X。,Xwb,…,Xn+(u i)xb),其中1《n《b。令〇.j(l《j《U)是由〇T的第j块列中所有循 环矩阵生成多项式构成的UXb阶矩阵。则有 阳的9] Pj=(…((0+Si 巫 j)is山+S2 巫 j)Wi)+...+Sb 巫 (9) W40] 其中,上标IsW表示循环左移1位。
[0041 ] 由式(9)可得到一种循环左移累加器(Rotate-Left-Accumulator,RLA)电路,如 图3所示。查找表的索引是U比特向量S。,查找表L,事先存储可变的U比特向量与固定的 巫J的所有可能乘积,故需2化比特的只读存储器巧eacH3nly Memcxry, ROM)。b比特寄存器 Ri,尺2,…,Ru分别用于缓冲向量X的向量段X 1,而,…,Xu,b比特寄存器Ruy用于存储PX的校 验段Pi。1个RLA电路计算向量Pi需要b个时钟周期。
[00创既然U非常小,那么使用U个RLA电路同时计算Px= (Pi,P2,…,Pu)是一种合理方 案,如图4所示的高密度矩阵与向量的乘法器。高密度矩阵与向量的乘法器由U个查找表 Li, 12,…,L。、2U个b比特寄存器Rz, 1,Rz, 2,…,尺2, 2U和U个b位二输入异或口 X 2, 1,乂2,2,…,X2,u 组成。查找表Li, L2,…,L。分别存储可变的U比特向量与固定的矩阵O 1,02,…,巫。的 所有可能乘积,寄存器R2,1,R2,2,…,R2,u分别用于缓冲向量X的向量段X 1,而,…,X。,寄存器 尺2,仙Rz,U巧,…,Rz,2U分别用于存储PX的校验段Pl, P2,…,Pu。U个RLA电路需使用Ub个二输 入异或口,2"油比特的ROM和2ub个寄存器。U个RLA电路计算向量Px需要b个时钟周期。 使用高密度矩阵与向量的乘法器计算向量Py的步骤如下: 阳0创第I步,清零寄存器R2,w,Rz,…,…,R2,2u,输入向量段Xi,而,…,Xu,将它们分别存入 寄存器Rz, 1,Rz, 2,…,Rz,U中; 柳44]第2步,寄存器R2,i,R2,2,…,R2,u同时循环左移1次,异或口X2,1,X2,2,…,X2,。分别 对查找表Li, Lz,…,L。的输出和寄存器R 2,。4, Rz, W2,…,Rz, 2U的内容进行异或,异或结果被循 环左移1次后分别存回寄存器Rz,W,Rz,U化…,Rz,如; 柳45]第3步,重复第2步b-1次,完成后,寄存器R2,w,Rz,。。,…,Rz,2U存储的内容分别是 校验段Pl, P2,…,Pu,它们构成了部分校验向量Px。
[0046] 式妨隐含了后向迭代操作,必须逐段求解向量q和X。定义[q X] = (?,屯,… ,q。),并初始化为全零。首先,Qi是矩阵Q的第1块行与向量[a q X] T之积。其次,92是矩 阵Q的第2块行与向量[a q x]T之积。重复上述过程,直到算完q。为止,如图5所示的I 型后向迭代电路。I型后向迭代电路由t个b比特寄存器Ri, 1,Ri,2,…,Ri,t和C个多输入模 2加法器Al, 1,Al心…,Al,。组成。
[0047] m十算q,(1《j《C)为例。校验矩阵H中的非零循环矩阵通常是单位矩阵的循 环右移版本。假设矩阵Q的第j块行的前e块列中有M个非零循环矩阵,它们的循环右移 位数分别是s,,ki,s,,k2,…,s,,kM(l《kl,k2,…,kM《e),矩阵Q的第j块行的后C块列中有 N个非零循环矩阵,它们的循环右移位数分别是…,s.j,mN(e<ml,m2, 。 则
[0048]
(IO) W例其中,上标"W和IsW分别表示循环右移n位和循环左移n位。因为M和N都很 小,所W式(10)可由一个对输入循环左移的多输入模2加法器在1个时钟周期内计算完 毕。因此,计算向量[q X]共需C个时钟周期。假设矩阵Q中共有0个非零循环矩阵,那 么I型后向迭代电路需使用(0 -2c)b个二输入异或口。
[0050]矩阵Q是由CXt个bXb阶循环矩阵Qi,k(l《j《C,1《k《t)构成的阵列。 非零循环矩阵Qik相对于bXb阶单位矩阵的循环右移位数是S ik,〇《Sik<b。为便于描 述,全零循环矩阵相对于bXb阶循环矩阵的循环右移位数记作Stk=在图5中,当 1《k《e时,Qj,k在垂直方向上对应向量段a k,当e<k<e+j时,Qj,k在垂直方向上对应向量 段Qk。。全零循环矩阵Qtk在垂直方向上对应的向量段不参与异或运算,非零循环矩阵QIk 在垂直方向上对应的向量段Sk或qk。被循环左移SIk位后送入多输入模2加法器AU中进 行异或运算,\,的计算结果是q,,存入寄存器Ru中。使用I型后向迭代电路计算向量q 和X的步骤如下: 阳0川第1步,输入信息段日1,日2,…,日6,将它们分别存入寄存器Ri,。4, Ri,。曲…,Ri,冲;
[0052] 第2步,非零循环矩阵Q,,k在垂直方向上对应的向量段a k或q k。被循环左移S,,k 位后送入多输入模2加法器\ ,中进行异或运算,异或结果q ,被存入寄存器RU中,其中, 1《j《C, 1《k<t,0《s.j,k<b,当1《k《e时,Qj,泣垂直方向上对应向量段3k,当e<k<e+j时,Q.i,证垂直方向上对应向量段q k e;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1