基于四级流水线的高速QC-LDPC编码器制造技术

技术编号:11369689 阅读:96 留言:0更新日期:2015-04-30 00:34
本发明专利技术提供了一种基于四级流水线的高速QC-LDPC编码器,该编码器包括1个稀疏矩阵与向量的乘法器、1个I型后向迭代电路、1个高密度矩阵与向量的乘法器和1个II型后向迭代电路。稀疏矩阵与向量的乘法器实现稀疏矩阵与向量的乘法运算,高密度矩阵与向量的乘法器实现高密度矩阵与向量的乘法运算,I型和II型后向迭代电路都实现后向迭代运算。整个编码过程划分为4级流水线。本发明专利技术提供的高速QC-LDPC编码器具有结构简单、成本低、吞吐量大等优点。

【技术实现步骤摘要】
基于四级流水线的高速QC-LDPC编码器
本专利技术涉及信道编码领域,特别涉及一种通信系统中基于四级流水线的高速QC-LDPC编码器。
技术介绍
低密度奇偶校验(Low-DensityParity-Check,LDPC)码是高效的信道编码技术之一,而准循环LDPC(Quasi-CyclicLDPC,QC-LDPC)码是一种特殊的LDPC码。QC-LDPC码的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环的特点,故被称为QC-LDPC码。循环矩阵的首行是末行循环右移1位的结果,其余各行都是其上一行循环右移1位的结果,因此,循环矩阵完全由其首行来表征。通常,循环矩阵的首行被称为它的生成多项式。通信系统通常采用系统形式的QC-LDPC码,其生成矩阵G的左半部分是一个单位矩阵,右半部分是由e×c个b×b阶循环矩阵Gi,j(0≤i<e,e≤j<t,t=e+c)构成的阵列,如下所示:其中,I是b×b阶单位矩阵,0是b×b阶全零矩阵。G的连续b行和b列分别被称为块行和块列。由式(1)可知,G有e块行和t块列。目前,QC-LDPC码广泛采用的是基于c个I型移位寄存器加累加器(Type-IShift-Register-Adder-Accumulator,SRAA-I)电路的串行编码器。由c个SRAA-I电路构成的串行编码器,在e×b个时钟周期内完成编码。该方案需要2×c×b个寄存器、c×b个二输入与门和c×b个二输入异或门,还需要e×c×b比特ROM存储循环矩阵的生成多项式。该方案有两个缺点:一是需要大量存储器,导致电路成本高;二是串行输入信息比特,编码速度慢。
技术实现思路
通信系统中QC-LDPC编码器的现有实现方案存在成本高、编码速度慢的缺点,针对这些技术问题,本专利技术提供了一种基于四级流水线的高速QC-LDPC编码器。如图2所示,通信系统中基于四级流水线的高速QC-LDPC编码器主要由4部分组成:稀疏矩阵与向量的乘法器、I型后向迭代电路、高密度矩阵与向量的乘法器和II型后向迭代电路。编码过程分4步完成:第1步,使用稀疏矩阵与向量的乘法器计算向量f和w;第2步,使用I型后向迭代电路计算向量q和x;第3步,使用高密度矩阵与向量的乘法器计算部分校验向量px;第4步,使用II型后向迭代电路计算向量y,y与向量q异或得到部分校验向量py,从而得到校验向量p=(px,py)。本专利技术提供的高速QC-LDPC编码器结构简单,能在显著提高编码速度的条件下,减少存储器,从而降低成本,提高吞吐量。关于本专利技术的优势与方法可通过下面的专利技术详述及附图得到进一步的了解。附图说明图1是行列交换后近似下三角校验矩阵的结构示意图;图2是基于四级流水线的QC-LDPC编码过程;图3是循环左移累加器RLA电路的功能框图;图4是由u个RLA电路构成的一种高密度矩阵与向量的乘法器;图5是稀疏矩阵与向量的乘法器;图6是I型后向迭代电路;图7是II型后向迭代电路;图8总结了编码器各编码步骤以及整个编码过程所需的硬件资源和处理时间。具体实施方式下面结合附图对本专利技术的较佳实施例作详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围作出更为清楚明确的界定。循环矩阵的行重和列重相同,记作w。如果w=0,那么该循环矩阵是全零矩阵。如果w=1,那么该循环矩阵是可置换的,称为置换矩阵,它可通过对单位矩阵I循环右移若干位得到。QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵Hj,k(1≤j≤c,1≤k≤t,t=e+c)构成的如下阵列:通常情况下,校验矩阵H中的任一循环矩阵要么是全零矩阵(w=0)要么是置换矩阵(w=1)。令循环矩阵Hj,k的首行gj,k=(gj,k,1,gj,k,2,…,gj,k,b)是其生成多项式,其中gj,k,m=0或1(1≤m≤b)。因为H是稀疏的,所以gj,k只有1个‘1’,甚至没有‘1’。H的前e块列对应的是信息向量a,后c块列对应的是校验向量p。以b比特为一段,信息向量a被等分为e段,即a=(a1,a2,…,ae);校验向量p被等分为c段,即p=(p1,p2,…,pc)。对校验矩阵H进行行交换和列交换操作,将其变换成近似下三角形状HALT,如图1所示。在图1中,所有矩阵的单位都是b比特而不是1比特。A是由(c-u)×e个b×b阶循环矩阵构成,B是由(c-u)×u个b×b阶循环矩阵构成,T是由(c-u)×(c-u)个b×b阶循环矩阵构成,C是由u×e个b×b阶循环矩阵构成,D是由u×u个b×b阶循环矩阵构成,E是由u×(c-u)个b×b阶循环矩阵构成。T是下三角矩阵,u反映了校验矩阵HALT与下三角矩阵的接近程度。在图1中,矩阵A和C对应信息向量a,矩阵B和D对应一部分校验向量px=(p1,p2,…,pu),矩阵T和E则对应余下的校验向量py=(pu+1,pu+2,…,pc)。p=(px,py)。上述矩阵和向量满足如下关系:pxΤ=Φ(ET-1AaΤ+CaΤ)(3)pyΤ=T-1(AaΤ+BpxΤ)(4)其中,Φ=(ET-1B+D)-1,上标Τ和-1分别表示转置和逆。众所周知,循环矩阵的逆、乘积、和仍然是循环矩阵。因此,Φ也是由循环矩阵构成的阵列。虽然矩阵E、T、B和D都是稀疏矩阵,但通常情况下Φ不再稀疏而是高密度的。令fT=AaT,qT=T–1fT,wT=CaT,xT=EqT+wT,pxT=ΦxT,yT=T–1BpxT以及pyT=qT+yT。向量f和w可由下式计算得到:其中,qT=T–1fT和xT=EqT+wT可构成如下矩阵等式:其中,一旦计算得出px,yT=T–1BpxT可改写为:[BT][pxy]Τ=Y[pxy]Τ=0(9)其中,Y=[BT](10)因为Q和Y与T一样都是下三角矩阵,所以式(7)中的[qx]和式(9)中的y都可采用后向迭代的计算方式。Φ涉及高密度矩阵与向量的乘法,F涉及稀疏矩阵与向量的乘法,而Q和Y涉及后向迭代计算。根据以上讨论,可给出一种基于四级流水线的QC-LDPC编码过程,如图2所示。pxT=ΦxT等价于px=xΦT。令x=(x1,x2,…,xu×b)。定义u比特向量sn=(xn,xn+b,…,xn+(u-1)×b),其中1≤n≤b。令Φj(1≤j≤u)是由ΦT的第j块列中所有循环矩阵生成多项式构成的u×b阶矩阵。则有pj=(…((0+s1Φj)ls(1)+s2Φj)ls(1)+…+sbΦj)ls(1)(11)其中,上标ls(1)表示循环左移1位。由式(11)可得到一种循环左移累加器(Rotate-Left-Accumulator,RLA)电路,如图3所示。查找表的索引是u比特向量sn,查找表Lj事先存储可变的u比特向量与固定的Φj的所有可能乘积,故需2ub比特的只读存储器(Read-OnlyMemory,ROM)。b比特寄存器R1,R2,…,Ru分别用于缓冲向量x的向量段x1,x2,…,xu,b比特寄存器Ru+j用于存储px的校验段pj。1个RLA电路计算向量pj需要b个时钟周期。既然u非常小,那么使用u个RLA电路同时计算px=(p1,p2,…,pu)是一种合理方案,如图4所示的高密度矩阵与向量的乘法器。高密度矩阵与向量的乘法器由u本文档来自技高网
...
基于四级流水线的高速QC-LDPC编码器

【技术保护点】
一种基于四级流水线的高速QC‑LDPC编码器,QC‑LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵构成的阵列,其中,c、t和b皆为正整数,t=e+c,校验矩阵H通过行列交换变换成近似下三角形状,可划分为6个子矩阵,H=ABTCDE,]]>A是由(c‑u)×e个b×b阶循环矩阵构成,B是由(c‑u)×u个b×b阶循环矩阵构成,下三角矩阵T是由(c‑u)×(c‑u)个b×b阶循环矩阵构成,C是由u×e个b×b阶循环矩阵构成,D是由u×u个b×b阶循环矩阵构成,E是由u×(c‑u)个b×b阶循环矩阵构成,其中,u是正整数,Φ=(ET‑1B+D)‑1是由u×u个b×b阶循环矩阵构成,Φj是由ΦT的第j块列中所有循环矩阵生成多项式构成的u×b阶矩阵,其中,上标Τ和‑1分别表示转置和逆,1≤j≤u,Q=T0EI]]>是由c×c个b×b阶循环矩阵Qj,k构成,其中,I是单位矩阵,0是全零矩阵,1≤j≤c,1≤k≤c,非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,Y=[B T]是由(c‑u)×c个b×b阶循环矩阵Yj,k构成,其中,1≤j≤c‑u,1≤k≤c,非零循环矩阵Yj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,A和C对应信息向量a,矩阵B和D对应一部分校验向量px,矩阵T和E则对应余下的校验向量py,校验向量p=(px,py),以b比特为一段,信息向量a被等分为e段,即a=(a1,a2,…,ae),校验向量p被等分为c段,即p=(p1,p2,…,pc),px=(p1,p2,…,pu),py=(pu+1,pu+2,…,pc),向量f被等分为c‑u段,即f=(f1,f2,…,fc–u),向量w被等分为u段,即w=(fc–u+1,fc–u+2,…,fc),[f w]=(f1,f2,…,fc),向量q被等分为c‑u段,即q=(q1,q2,…,qc–u),向量x被等分为u段,即x=(qc–u+1,qc–u+2,…,qc),[q x]=(q1,q2,…,qc),向量y被等分为c‑u段,即y=(y1,y2,…,yc–u),其特征在于,所述编码器包括以下部件:稀疏矩阵与向量的乘法器,由t个b比特寄存器R1,1,R1,2,…,R1,t和c个多输入异或门X1,1,X1,2,…,X1,c组成,用于计算向量f和w;I型后向迭代电路,由c个b比特寄存器R2,1,R2,2,…,R2,c和c‑1个多输入模2加法器A2,2,A2,3,…,A2,c组成,用于计算向量q和x;高密度矩阵与向量的乘法器,由u个查找表L1,L2,…,Lu、2u个b比特寄存器R3,1,R3,2,…,R3,2u和u个b位二输入异或门X3,1,X3,2,…,X3,u组成,用于计算部分校验向量px,查找表L1,L2,…,Lu分别存储可变的u比特向量与固定的矩阵Φ1,Φ2,…,Φu的所有可能乘积;II型后向迭代电路,由c个b比特寄存器R4,1,R4,2,…,R4,c和c‑u个多输入模2加法器A4,1,A4,2,…,A4,c‑u组成,用于计算向量y,y与向量q异或得到部分校验向量py,从而得到校验向量p=(px,py)。...

【技术特征摘要】
1.一种基于四级流水线的高速QC-LDPC编码器,QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵构成的阵列,其中,c、t和b皆为正整数,t=e+c,校验矩阵H通过行列交换变换成近似下三角形状,可划分为6个子矩阵,A是由(c-u)×e个b×b阶循环矩阵构成,B是由(c-u)×u个b×b阶循环矩阵构成,下三角矩阵T是由(c-u)×(c-u)个b×b阶循环矩阵构成,C是由u×e个b×b阶循环矩阵构成,D是由u×u个b×b阶循环矩阵构成,E是由u×(c-u)个b×b阶循环矩阵构成,其中,u是正整数,Φ=(ET-1B+D)-1是由u×u个b×b阶循环矩阵构成,Φj是由ΦT的第j块列中所有循环矩阵生成多项式构成的u×b阶矩阵,其中,上标T和-1分别表示转置和逆,1≤j≤u,是由c×c个b×b阶循环矩阵Qj,k构成,其中,I是单位矩阵,0是全零矩阵,1≤j≤c,1≤k≤c,非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k&lt;b,Y=[BT]是由(c-u)×c个b×b阶循环矩阵Yj,k构成,其中,1≤j≤c-u,1≤k≤c,非零循环矩阵Yj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k&lt;b,A和C对应信息向量a,矩阵B和D对应一部分校验向量px,矩阵T和E则对应余下的校验向量py,校验向量p=(px,py),以b比特为一段,信息向量a被等分为e段,即a=(a1,a2,…,ae),校验向量p被等分为c段,即p=(p1,p2,…,pc),px=(p1,p2,…,pu),py=(pu+1,pu+2,…,pc),向量f被等分为c-u段,即f=(f1,f2,…,fc–u),向量w被等分为u段,即w=(fc–u+1,fc–u+2,…,fc),[fw]=(f1,f2,…,fc),向量q被等分为c-u段,即q=(q1,q2,…,qc–u),向量x被等分为u段,即x=(qc–u+1,qc–u+2,…,qc),[qx]=(q1,q2,…,qc),向量y被等分为c-u段,即y=(y1,y2,…,yc–u),其特征在于,所述编码器包括以下部件:稀疏矩阵与向量的乘法器,由t个b比特寄存器R1,1,R1,2,…,R1,t和c个多输入异或门X1,1,X1,2,…,X1,c组成,用于计算向量f和w;所述稀疏矩阵与向量的乘法器计算向量f和w的步骤如下:第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R1,1,R1,2,…,R1,e中;第2步,寄存器R1,1,R1,2,…,R1,e同时循环左移1次,异或门X1,1,X1,2,…,X1,c分别将异或结果左移入寄存器R1,e+1,R1,e+2,…,R1,t中;第3步,重复第2步b次,完成后,寄存器R1,e+1,R1,e+2,…,R1,t存储的内容分别是向量段f1,f2,…,fc,它们构成了向量f和w;I型后向迭代电路,由c个b比特寄存器R2,1,R2,2,…,R2,c和c-1个多输入模2加法器A2,2,A2,3,…,A2,c组成,用于计算向量q和x;所述I型后向迭代电路计算向量q和x的步骤如下:第1步,输入向量段f1,将向量段q1=f1存入寄存器R2,1中;第2步,输入向量段fj,非零循环矩阵Qj,k对应的向量段qk被循环左移sj,k位后送入多输入模2加法器A2,j中与向量段fj进行异或运算,异或结果qj被存入寄存器R2,j中,其中,2≤j≤c,1≤k&lt;j,0≤sj,k&lt;b;第3步,以1为步长递增改变j的取值,重复第2步c-1次,最终,寄存器R2,1,R2,2,…,R2,c存储的分别是向量段q1,q2,…,qc,它们构成了向量q和x;高密度矩阵与向量的乘法器,由u个查找表L1,L2,…,Lu、2u个b比特寄存器R3,1,R3,2,…,R3,2u和u个b位二输入异或门X3,1,X3,2,…,X3,u组成,用于计算部分校验向量px,查找表L1,L2,…,Lu分别存储可变的u比特向量与固定的矩阵Φ1,Φ2,…,Φu的所有可能乘积;所述高密度矩阵与向量的乘法器计算向量px的步骤如下:第1步,清零寄存器R3,u+1,R3,u+2,…,R3,2u,输入向量段x1,x2,…,xu,将它们分别存入寄存器R3,1,R3,2,…,R3,u中;第2步,寄存器R3,1,R3,2,…,R3,u同时循环左移1次,异或门X3,1,X3,2,…,X3,u分别对查找表L1,L2,…,Lu的输出和寄存器R3,u+1,R3,u+2,…,R3,2u的内容进行异或,异或结果被循环左移1次后分别存回寄存器R3,u+1,R3,u+2,…,R3,2u;第3步,重复第2步b次,完成后,寄存器R3,u+1,R3,u+2,…,R3,2u存储的内容分别是校验段p1,p2,…,pu,它们构成了部分校验向量px;II型后向迭代电路,由c个b比特寄存器R4,1,R4,2,…,R4,c和c-u个多输入模2加法器A4,1,A4,2,…,A4,c-u组成,用于计算向量y,y与向量q异或得到部分校验向量py,从而得到校验向量p=(px,py);所述II型后向迭代电路计算向量y的步骤如下:第1步,输入校验段p1,p2,…,pu,将它们分别存入寄存器R4,c-u+1,R4,c-u+2,…,R4,c中;第2步,非零循环矩阵Yj,k对应的向量段pk或yk被循环左移sj,k位后送入...

【专利技术属性】
技术研发人员:张鹏刘志文张燕
申请(专利权)人:荣成市鼎通电子信息科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1