CN105141321A - 基于二级流水线的高速qc-ldpc编码器 - Google Patents
基于二级流水线的高速qc-ldpc编码器 Download PDFInfo
- Publication number
- CN105141321A CN105141321A CN201510645307.1A CN201510645307A CN105141321A CN 105141321 A CN105141321 A CN 105141321A CN 201510645307 A CN201510645307 A CN 201510645307A CN 105141321 A CN105141321 A CN 105141321A
- Authority
- CN
- China
- Prior art keywords
- matrix
- section
- vectorial
- rank
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种基于二级流水线的高速QC-LDPC编码器,该编码器包括1个I型后向迭代电路和1个II型后向迭代电路。I型和II型后向迭代电路都实现后向迭代运算。整个编码过程划分为2级流水线。本发明提供的高速QC-LDPC编码器具有结构简单、成本低、吞吐量大等优点。
Description
技术领域
本发明涉及信道编码领域,特别涉及一种通信系统中基于二级流水线的高速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编码器主要由2部分组成:I型后向迭代电路和II型后向迭代电路。编码过程分2步完成:第1步,使用I型后向迭代电路计算向量q和x,从而求出部分校验向量px=x;第2步,使用II型后向迭代电路计算部分校验向量py,从而得到校验向量p=(px,py)。
本发明提供的高速QC-LDPC编码器结构简单,无需存储器,能显著提高编码速度,从而降低成本,提高吞吐量。
关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
附图说明
图1是行列交换后近似下三角校验矩阵的结构示意图;
图2是基于二级流水线的QC-LDPC编码过程;
图3是I型后向迭代电路;
图4是II型后向迭代电路;
图5总结了编码器各编码步骤以及整个编码过程所需的硬件资源和处理时间。
具体实施方式
下面结合附图对本发明的较佳实施例作详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
循环矩阵的行重和列重相同,记作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分别表示转置和逆。众所周知,循环矩阵的逆、乘积、和仍然是循环矩阵。因此,Φ也是由循环矩阵构成的阵列。
当Φ等于单位矩阵,即Φ=I时,式(3)可简化为px Τ=ET-1AaΤ+CaΤ。令qT=T–1AaT,xT=EqT+CaT以及px=x。
向量q和x可由下式计算得到:
其中,
一旦计算得出px,式(4)可改写为:
[ABT][apxpy]Τ=Y[apxpy]Τ=0(7)
其中,
Y=[ABT](8)
因为Q和Y与T一样都是下三角矩阵,所以式(5)中的[qx]和式(7)中的py都可采用后向迭代的计算方式。
Q和Y涉及后向迭代计算。根据以上讨论,可给出一种基于二级流水线的QC-LDPC编码过程,如图2所示。
式(5)隐含了后向迭代操作,必须逐段求解向量q和x。定义[qx]=(q1,q2,…,qc),并初始化为全零。首先,q1是矩阵Q的第1块行与向量[aqx]T之积。其次,q2是矩阵Q的第2块行与向量[aqx]T之积。重复上述过程,直到算完qc为止,如图3所示的I型后向迭代电路。I型后向迭代电路由t个b比特寄存器R1,1,R1,2,…,R1,t和c个多输入模2加法器A1,1,A1,2,…,A1,c组成。
以计算qj(1≤j≤c)为例。校验矩阵H中的非零循环矩阵通常是单位矩阵的循环右移版本。假设矩阵Q的第j块行的前e块列中有M个非零循环矩阵,它们的循环右移位数分别是sj,k1,sj,k2,…,sj,kM(1≤k1,k2,…,kM≤e),矩阵Q的第j块行的后c块列中有N个非零循环矩阵,它们的循环右移位数分别是sj,m1,sj,m2,…,sj,mN(e<m1,m2,…,mN<e+j)。则
其中,上标rs(n)和ls(n)分别表示循环右移n位和循环左移n位。因为M和N都很小,所以式(9)可由一个对输入循环左移的多输入模2加法器在1个时钟周期内计算完毕。因此,计算向量[qx]共需c个时钟周期。假设矩阵Q中共有β个非零循环矩阵,那么I型后向迭代电路需使用(β–2c)b个二输入异或门。
矩阵Q是由c×t个b×b阶循环矩阵Qj,k(1≤j≤c,1≤k≤t)构成的阵列。非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,0≤sj,k<b。为便于描述,全零循环矩阵相对于b×b阶循环矩阵的循环右移位数记作sj,k=‘-’。在图3中,当1≤k≤e时,Qj,k在垂直方向上对应向量段ak,当e<k<e+j时,Qj,k在垂直方向上对应向量段qk-e。全零循环矩阵Qj,k在垂直方向上对应的向量段不参与异或运算,非零循环矩阵Qj,k在垂直方向上对应的向量段ak或qk-e被循环左移sj,k位后送入多输入模2加法器A1,j中进行异或运算,A1,j的计算结果是qj,存入寄存器R1,j中。使用I型后向迭代电路计算向量q和x的步骤如下:
第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R1,c+1,R1,c+2,…,R1,t中;
第2步,非零循环矩阵Qj,k在垂直方向上对应的向量段ak或qk-e被循环左移sj,k位后送入多输入模2加法器A1,j中进行异或运算,异或结果qj被存入寄存器R1,j中,其中,1≤j≤c,1≤k<t,0≤sj,k<b,当1≤k≤e时,Qj,k在垂直方向上对应向量段ak,当e<k<e+j时,Qj,k在垂直方向上对应向量段qk-e;
第3步,以1为步长递增改变j的取值,重复第2步c-1次,最终,寄存器R1,1,R1,2,…,R1,c存储的分别是向量段q1,q2,…,qc,它们构成了向量q和x。
式(7)也隐含了后向迭代操作,必须逐段求解部分校验向量py。初始化py=(pu+1,pu+2,…,pc)为全零。首先,pu+1是矩阵Y的第1块行与向量[apxpy]T之积。其次,pu+2是矩阵Y的第2块行与向量[apxpy]T之积。重复上述过程,直到算完pc为止,如图4所示的II型后向迭代电路。II型后向迭代电路由t个b比特寄存器R2,1,R2,2,…,R2,t和c-u个多输入模2加法器A2,1,A2,2,…,A2,c-u组成。计算部分校验向量py共需(c–u)个时钟周期。假设矩阵Y中共有ξ个非零循环矩阵,那么II型后向迭代电路需使用(ξ–2c+2u)b个二输入异或门。矩阵Y是由(c-u)×t个b×b阶循环矩阵Yj,k(1≤j≤c-u,1≤k≤t)构成的阵列。非零循环矩阵Yj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,0≤sj,k<b。使用II型后向迭代电路计算部分校验向量py的步骤如下:
第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R2,c-u+1,R2,c-u+2,…,R2,t-u中,输入校验段p1,p2,…,pu,将它们分别存入寄存器R2,t-u+1,R2,t-u+2,…,R2,t中;
第2步,非零循环矩阵Yj,k在垂直方向上对应的向量段ak或pk-e被循环左移sj,k位后送入多输入模2加法器A2,j中进行异或运算,异或结果pj+u被存入寄存器R2,j中,其中,1≤j≤c-u,1≤k<t,0≤sj,k<b,当1≤k≤e时,Yj,k在垂直方向上对应向量段ak,当e<k<e+j时,Yj,k在垂直方向上对应向量段pk-e;
第3步,以1为步长递增改变j的取值,重复第2步c-u-1次,最终,寄存器R2,1,R2,2,…,R2,c-u存储的分别是向量段pu+1,pu+2,…,pc,它们构成了部分校验向量py。
本发明提供了一种基于二级流水线的高速QC-LDPC编码方法,适用于通信系统中的QC-LDPC码,其编码步骤描述如下:
第1步,使用I型后向迭代电路计算向量q和x,从而求出部分校验向量px=x;
第2步,使用II型后向迭代电路计算部分校验向量py,从而得到校验向量p=(px,py)。
图5总结了编码器各编码步骤以及整个编码过程所需的硬件资源消耗和处理时间。
从图5不难看出,流水线充满时,整个编码过程共需t个时钟周期,远小于基于c个SRAA-I电路的串行编码方法所需的e×b个时钟周期。
通信系统中QC-LDPC编码器的现有解决方案需要e×c×b比特ROM,而本发明无需ROM。
综上可见,与传统的串行SRAA法相比,本发明具有编码速度快、无需存储器等优点。
以上所述,仅为本发明的具体实施方式之一,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (4)
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是ub×ub阶单位矩阵,其中,上标Τ和-1分别表示转置和逆, 是由c×t个b×b阶循环矩阵Qj,k构成,其中,I是单位矩阵,0是全零矩阵,1≤j≤c,1≤k≤t,非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,Y=[ABT]是由(c-u)×t个b×b阶循环矩阵Yj,k构成,其中,1≤j≤c-u,1≤k≤t,非零循环矩阵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),向量q被等分为c-u段,即q=(q1,q2,…,qc–u),向量x被等分为u段,即x=(qc–u+1,qc–u+2,…,qc),[qx]=(q1,q2,…,qc),其特征在于,所述编码器包括以下部件:
I型后向迭代电路,由t个b比特寄存器R1,1,R1,2,…,R1,t和c个多输入模2加法器A1,1,A1,2,…,A1,c组成,用于计算向量q和x,从而求出部分校验向量px=x;
II型后向迭代电路,由t个b比特寄存器R2,1,R2,2,…,R2,t和c-u个多输入模2加法器A2,1,A2,2,…,A2,c-u组成,用于计算部分校验向量py,从而得到校验向量p=(px,py)。
2.根据权利要求1所述的一种基于二级流水线的高速QC-LDPC编码器,其特征在于,所述I型后向迭代电路计算向量q和x的步骤如下:
第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R1,c+1,R1,c+2,…,R1,t中;
第2步,非零循环矩阵Qj,k对应的向量段ak或qk-e被循环左移sj,k位后送入多输入模2加法器A1,j中进行异或运算,异或结果qj被存入寄存器R1,j中,其中,1≤j≤c,1≤k<t,0≤sj,k<b,当1≤k≤e时,Qj,k对应向量段ak,当e<k<e+j时,Qj,k对应向量段qk-e;
第3步,以1为步长递增改变j的取值,重复第2步c-1次,最终,寄存器R1,1,R1,2,…,R1,c存储的分别是向量段q1,q2,…,qc,它们构成了向量q和x。
3.根据权利要求1所述的一种基于二级流水线的高速QC-LDPC编码器,其特征在于,所述II型后向迭代电路计算部分校验向量py的步骤如下:
第1步,输入信息段a1,a2,…,ae,将它们分别存入寄存器R2,c-u+1,R2,c-u+2,…,R2,t-u中,输入校验段p1,p2,…,pu,将它们分别存入寄存器R2,t-u+1,R2,t-u+2,…,R2,t中;
第2步,非零循环矩阵Yj,k对应的向量段ak或pk-e被循环左移sj,k位后送入多输入模2加法器A2,j中进行异或运算,异或结果pj+u被存入寄存器R2,j中,其中,1≤j≤c-u,1≤k<t,0≤sj,k<b,当1≤k≤e时,Yj,k对应向量段ak,当e<k<e+j时,Yj,k对应向量段pk-e;
第3步,以1为步长递增改变j的取值,重复第2步c-u-1次,最终,寄存器R2,1,R2,2,…,R2,c-u存储的分别是向量段pu+1,pu+2,…,pc,它们构成了部分校验向量py。
4.一种基于二级流水线的高速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是ub×ub阶单位矩阵,其中,上标Τ和-1分别表示转置和逆, 是由c×t个b×b阶循环矩阵Qj,k构成,其中,I是单位矩阵,0是全零矩阵,1≤j≤c,1≤k≤t,非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,Y=[ABT]是由(c-u)×t个b×b阶循环矩阵Yj,k构成,其中,1≤j≤c-u,1≤k≤t,非零循环矩阵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),向量q被等分为c-u段,即q=(q1,q2,…,qc –u),向量x被等分为u段,即x=(qc–u+1,qc–u+2,…,qc),[qx]=(q1,q2,…,qc),其特征在于,所述编码方法包括以下步骤:
第1步,使用I型后向迭代电路计算向量q和x,从而求出部分校验向量px=x;
第2步,使用II型后向迭代电路计算部分校验向量py,从而得到校验向量p=(px,py)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510645307.1A CN105141321A (zh) | 2015-10-03 | 2015-10-03 | 基于二级流水线的高速qc-ldpc编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510645307.1A CN105141321A (zh) | 2015-10-03 | 2015-10-03 | 基于二级流水线的高速qc-ldpc编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105141321A true CN105141321A (zh) | 2015-12-09 |
Family
ID=54726556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510645307.1A Withdrawn CN105141321A (zh) | 2015-10-03 | 2015-10-03 | 基于二级流水线的高速qc-ldpc编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105141321A (zh) |
-
2015
- 2015-10-03 CN CN201510645307.1A patent/CN105141321A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102843152B (zh) | 基于并行滤波的cmmb中ldpc编码器和编码方法 | |
CN102882532B (zh) | 循环右移累加基的cmmb中ldpc编码器和编码方法 | |
CN102843147A (zh) | 循环右移累加基的dtmb中ldpc编码器和编码方法 | |
CN104579366B (zh) | Wpan中基于三级流水线的高速qc-ldpc编码器 | |
CN102868412B (zh) | 基于并行滤波的深空通信中ldpc编码器和编码方法 | |
CN102857240A (zh) | 循环右移累加基的深空通信中ldpc编码器和编码方法 | |
CN102891687B (zh) | 基于求和阵列的qc-ldpc并行编码器和编码方法 | |
CN105141319A (zh) | 深空通信中基于三级流水线的高速qc-ldpc编码器 | |
CN105141321A (zh) | 基于二级流水线的高速qc-ldpc编码器 | |
CN103269228B (zh) | 共享存储机制的cmmb中准循环ldpc串行编码器 | |
CN103236859B (zh) | 共享存储机制的准循环ldpc串行编码器 | |
CN105245236A (zh) | Wpan中基于二级流水线的高速qc-ldpc编码器 | |
CN105141320A (zh) | 基于三级流水线的高速qc-ldpc编码器 | |
CN102938652B (zh) | 基于查找表的qc-ldpc码的并行编码器和编码方法 | |
CN105356889A (zh) | Cdr中基于三级流水线的高速qc-ldpc编码器 | |
CN105245237A (zh) | Dtmb中基于三级流水线的高速qc-ldpc编码器 | |
CN105119608A (zh) | Cmmb中基于三级流水线的高速qc-ldpc编码器 | |
CN104518804A (zh) | 基于三级流水线的高速qc-ldpc编码器 | |
CN103269226B (zh) | 共享存储机制的近地通信中准循环ldpc串行编码器 | |
CN103236849B (zh) | 基于共享存储机制的dtmb中准循环矩阵串行乘法器 | |
CN104579365A (zh) | 基于四级流水线的高速qc-ldpc编码器 | |
CN105099468A (zh) | 深空通信中基于四级流水线的高速qc-ldpc编码器 | |
CN104539297A (zh) | Dtmb中基于四级流水线的高速qc-ldpc编码器 | |
CN104579364A (zh) | Cdr中基于四级流水线的高速qc-ldpc编码器 | |
CN103236852B (zh) | 无乘法运算的dtmb中准循环矩阵串行乘法器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20151209 |