CN105245236A - Wpan中基于二级流水线的高速qc-ldpc编码器 - Google Patents
Wpan中基于二级流水线的高速qc-ldpc编码器 Download PDFInfo
- Publication number
- CN105245236A CN105245236A CN201510644088.5A CN201510644088A CN105245236A CN 105245236 A CN105245236 A CN 105245236A CN 201510644088 A CN201510644088 A CN 201510644088A CN 105245236 A CN105245236 A CN 105245236A
- Authority
- CN
- China
- Prior art keywords
- matrix
- vectorial
- rank
- vector
- rank circular
- 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
本发明提供了一种WPAN中基于二级流水线的高速QC-LDPC编码器,该编码器包括1个I型后向迭代电路和1个II型后向迭代电路。I型和II型后向迭代电路都实现后向迭代运算。整个编码过程划分为2级流水线。本发明提供的WPAN系统中1/2码率高速QC-LDPC编码器具有结构简单、成本低、吞吐量大等优点。
Description
技术领域
本发明涉及信道编码领域,特别涉及一种WPAN系统中基于二级流水线的高速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块列。WPAN标准采用了一种码率η=1/2的QC-LDPC码,对于该码,t=32,e=16,c=16,b=21。
WPAN标准中1/2码率QC-LDPC编码器的现有解决方案是基于16个I型移位寄存器加累加器(Type-IShift-Register-Adder-Accumulator,SRAA-I)电路的串行编码器。由16个SRAA-I电路构成的串行编码器,在336个时钟周期内完成编码。该方案需要672个寄存器、336个二输入与门和336个二输入异或门,还需要5376比特ROM存储循环矩阵的生成多项式。该方案有两个缺点:一是需要大量存储器,导致电路成本高;二是串行输入信息比特,编码速度慢。
发明内容
WPAN系统中1/2码率QC-LDPC编码器的现有实现方案存在成本高、编码速度慢的缺点,针对这些技术问题,本发明提供了一种基于二级流水线的高速QC-LDPC编码器。
如图2所示,WPAN系统中基于二级流水线的高速QC-LDPC编码器主要由2部分组成:I型后向迭代电路和II型后向迭代电路。编码过程分2步完成:第1步,使用I型后向迭代电路计算向量q和x,从而求出部分校验向量px=x;第2步,使用II型后向迭代电路计算部分校验向量py,从而得到校验向量p=(px,py)。
本发明提供的WPAN系统中1/2码率高速QC-LDPC编码器结构简单,无需存储器,能显著提高编码速度,从而降低成本,提高吞吐量。
关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
附图说明
图1是行列交换后近似下三角校验矩阵的结构示意图;
图2是基于二级流水线的QC-LDPC编码过程;
图3是I型后向迭代电路;
图4给出了矩阵Q中非零循环矩阵所在的块位置及其循环右移位数;
图5是II型后向迭代电路;
图6给出了矩阵Y中非零循环矩阵所在的块位置及其循环右移位数;
图7总结了编码器各编码步骤以及整个编码过程所需的硬件资源和处理时间。
具体实施方式
下面结合附图对本发明的较佳实施例作详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
循环矩阵的行重和列重相同,记作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’。
对于WPAN系统中1/2码率的QC-LDPC码,H的前16块列对应的是信息向量a,后16块列对应的是校验向量p。以b比特为一段,信息向量a被等分为16段,即a=(a1,a2,…,a16);校验向量p被等分为16段,即p=(p1,p2,…,p16)。
对校验矩阵H进行行交换和列交换操作,将其变换成近似下三角形状HALT,如图1所示。行列交换的过程如下:第1步,进行块列交换,前18块列保持不动,后14块列重新排序,它们分别对应原来的第31、30、25、28、19、20、29、32、23、22、27、26、24、21块列;第2步,对所有块行进行块行交换,它们分别对应原来的第5、7、14、16、4、1、6、8、11、10、13、15、12、9、3、2块行;第3步,将16块行中的置换矩阵分别循环右移7、10、10、4、9、5、19、17、4、4、5、19、12、4、20、7位。
在图1中,所有矩阵的单位都是b=21比特而不是1比特。A是由14×16个b×b阶循环矩阵构成,B是由14×2个b×b阶循环矩阵构成,T是由14×14个b×b阶循环矩阵构成,C是由2×16个b×b阶循环矩阵构成,D是由2×2个b×b阶循环矩阵构成,E是由2×14个b×b阶循环矩阵构成。T是下三角矩阵,u=2反映了校验矩阵HALT与下三角矩阵的接近程度。在图1中,矩阵A和C对应信息向量a,矩阵B和D对应一部分校验向量px=(p1,p2),矩阵T和E则对应余下的校验向量py=(p3,p4,…,p16)。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,…,q16),并初始化为全零。首先,q1是矩阵Q的第1块行与向量[aqx]T之积。其次,q2是矩阵Q的第2块行与向量[aqx]T之积。重复上述过程,直到算完q16为止,如图3所示的I型后向迭代电路。I型后向迭代电路由32个b比特寄存器R1,1,R1,2,…,R1,32和16个多输入模2加法器A1,1,A1,2,…,A1,16组成。
以计算qj(1≤j≤16)为例。校验矩阵H中的非零循环矩阵通常是单位矩阵的循环右移版本。假设矩阵Q的第j块行的前16块列中有M个非零循环矩阵,它们的循环右移位数分别是sj,k1,sj,k2,…,sj,kM(1≤k1,k2,…,kM≤16),矩阵Q的第j块行的后16块列中有N个非零循环矩阵,它们的循环右移位数分别是sj,m1,sj,m2,…,sj,mN(16<m1,m2,…,mN<16+j)。则
其中,上标rs(n)和ls(n)分别表示循环右移n位和循环左移n位。因为M和N都很小,所以式(9)可由一个对输入循环左移的多输入模2加法器在1个时钟周期内计算完毕。因此,计算向量[qx]共需16个时钟周期。既然矩阵Q中共有β=102个非零循环矩阵,那么I型后向迭代电路需使用(β–2c)b=1470个二输入异或门。
矩阵Q是由16×32个b×b阶循环矩阵Qj,k(1≤j≤16,1≤k≤32)构成的阵列。非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,0≤sj,k<b。为便于描述,全零循环矩阵相对于b×b阶循环矩阵的循环右移位数记作sj,k=‘-’。在图3中,当1≤k≤16时,Qj,k在垂直方向上对应向量段ak,当16<k<16+j时,Qj,k在垂直方向上对应向量段qk-16。全零循环矩阵Qj,k在垂直方向上对应的向量段不参与异或运算,非零循环矩阵Qj,k在垂直方向上对应的向量段ak或qk-16被循环左移sj,k位后送入多输入模2加法器A1,j中进行异或运算,A1,j的计算结果是qj,存入寄存器R1,j中。图4给出了矩阵Q中非零循环矩阵所在的块位置及其循环右移位数。使用I型后向迭代电路计算向量q和x的步骤如下:
第1步,输入信息段a1,a2,…,a16,将它们分别存入寄存器R1,17,R1,18,…,R1,32中;
第2步,非零循环矩阵Qj,k在垂直方向上对应的向量段ak或qk-16被循环左移sj,k位后送入多输入模2加法器A1,j中进行异或运算,异或结果qj被存入寄存器R1,j中,其中,1≤j≤16,1≤k<32,0≤sj,k<b,当1≤k≤16时,Qj,k在垂直方向上对应向量段ak,当16<k<16+j时,Qj,k在垂直方向上对应向量段qk-16;
第3步,以1为步长递增改变j的取值,重复第2步15次,最终,寄存器R1,1,R1,2,…,R1,16存储的分别是向量段q1,q2,…,q16,它们构成了向量q和x。
式(7)也隐含了后向迭代操作,必须逐段求解部分校验向量py。初始化py=(p3,p4,…,p16)为全零。首先,p3是矩阵Y的第1块行与向量[apxpy]T之积。其次,p4是矩阵Y的第2块行与向量[apxpy]T之积。重复上述过程,直到算完p16为止,如图5所示的II型后向迭代电路。II型后向迭代电路由32个b比特寄存器R2,1,R2,2,…,R2,32和14个多输入模2加法器A2,1,A2,2,…,A2,14组成。计算部分校验向量py共需14个时钟周期。既然矩阵Y中共有ξ=94个非零循环矩阵,那么II型后向迭代电路需使用(ξ–2c+2u)b=1386个二输入异或门。矩阵Y是由14×32个b×b阶循环矩阵Yj,k(1≤j≤14,1≤k≤32)构成的阵列。非零循环矩阵Yj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,0≤sj,k<b。图6给出了矩阵Y中非零循环矩阵所在的块位置及其循环右移位数。使用II型后向迭代电路计算部分校验向量py的步骤如下:
第1步,输入信息段a1,a2,…,a16,将它们分别存入寄存器R2,15,R2,16,…,R2,30中,输入校验段p1,p2,将它们分别存入寄存器R2,31,R2,32中;
第2步,非零循环矩阵Yj,k在垂直方向上对应的向量段ak或pk-16被循环左移sj,k位后送入多输入模2加法器A2,j中进行异或运算,异或结果pj+2被存入寄存器R2,j中,其中,1≤j≤14,1≤k<32,0≤sj,k<b,当1≤k≤16时,Yj,k在垂直方向上对应向量段ak,当16<k<16+j时,Yj,k在垂直方向上对应向量段pk-16;
第3步,以1为步长递增改变j的取值,重复第2步13次,最终,寄存器R2,1,R2,2,…,R2,14存储的分别是向量段p3,p4,…,p16,它们构成了部分校验向量py。
本发明提供了一种基于二级流水线的高速QC-LDPC编码方法,适用于WPAN系统中的1/2码率QC-LDPC码,其编码步骤描述如下:
第1步,使用I型后向迭代电路计算向量q和x,从而求出部分校验向量px=x;
第2步,使用II型后向迭代电路计算部分校验向量py,从而得到校验向量p=(px,py)。
图7总结了编码器各编码步骤以及整个编码过程所需的硬件资源消耗和处理时间。
从图7不难看出,流水线充满时,整个编码过程共需32个时钟周期,少于基于16个SRAA-I电路的串行编码方法所需的336个时钟周期。前者的编码速度是后者的10.5倍。
WPAN标准中1/2码率QC-LDPC编码器的现有解决方案需要672个寄存器、336个二输入与门和336个二输入异或门,还需要5376比特ROM存储循环矩阵的生成多项式。而本发明需要1344个寄存器、0个二输入与门和4242个二输入异或门,无需ROM。
综上可见,与传统的串行SRAA法相比,本发明具有编码速度快、无需存储器等优点。
以上所述,仅为本发明的具体实施方式之一,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (4)
1.一种WPAN中基于二级流水线的高速QC-LDPC编码器,1/2码率QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵构成的阵列,其中,c=16,t=32,b=21,e=t-c=16,校验矩阵H通过行列交换变换成近似下三角形状,可划分为6个子矩阵, A是由14×16个b×b阶循环矩阵构成,B是由14×2个b×b阶循环矩阵构成,T是由14×14个b×b阶循环矩阵构成,C是由2×16个b×b阶循环矩阵构成,D是由2×2个b×b阶循环矩阵构成,E是由2×14个b×b阶循环矩阵构成,Φ=(ET-1B+D)-1是42×42阶单位矩阵,其中,上标Τ和-1分别表示转置和逆, 是由16×32个b×b阶循环矩阵Qj,k构成,其中,I是单位矩阵,0是全零矩阵,1≤j≤16,1≤k≤32,非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,Y=[ABT]是由14×32个b×b阶循环矩阵Yj,k构成,其中,1≤j≤14,1≤k≤32,非零循环矩阵Yj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,A和C对应信息向量a,矩阵B和D对应一部分校验向量px,矩阵T和E则对应余下的校验向量py,校验向量p=(px,py),以b比特为一段,信息向量a被等分为16段,即a=(a1,a2,…,a16),校验向量p被等分为16段,即p=(p1,p2,…,p16),px=(p1,p2),py=(p3,p4,…,p16),向量q被等分为14段,即q=(q1,q2,…,q14),向量x被等分为2段,即x=(q15,q16),[qx]=(q1,q2,…,q16),其特征在于,所述编码器包括以下部件:
I型后向迭代电路,由32个b比特寄存器R1,1,R1,2,…,R1,32和16个多输入模2加法器A1,1,A1,2,…,A1,16组成,用于计算向量q和x,从而求出部分校验向量px=x;
II型后向迭代电路,由32个b比特寄存器R2,1,R2,2,…,R2,32和14个多输入模2加法器A2,1,A2,2,…,A2,14组成,用于计算部分校验向量py,从而得到校验向量p=(px,py)。
2.根据权利要求1所述的一种WPAN中基于二级流水线的高速QC-LDPC编码器,其特征在于,所述I型后向迭代电路计算向量q和x的步骤如下:
第1步,输入信息段a1,a2,…,a16,将它们分别存入寄存器R1,17,R1,18,…,R1,32中;
第2步,非零循环矩阵Qj,k在垂直方向上对应的向量段ak或qk-16被循环左移sj,k位后送入多输入模2加法器A1,j中进行异或运算,异或结果qj被存入寄存器R1,j中,其中,1≤j≤16,1≤k<32,0≤sj,k<b,当1≤k≤16时,Qj,k在垂直方向上对应向量段ak,当16<k<16+j时,Qj,k在垂直方向上对应向量段qk-16;
第3步,以1为步长递增改变j的取值,重复第2步15次,最终,寄存器R1,1,R1,2,…,R1,16存储的分别是向量段q1,q2,…,q16,它们构成了向量q和x。
3.根据权利要求1所述的一种WPAN中基于二级流水线的高速QC-LDPC编码器,其特征在于,所述II型后向迭代电路计算部分校验向量py的步骤如下:
第1步,输入信息段a1,a2,…,a16,将它们分别存入寄存器R2,15,R2,16,…,R2,30中,输入校验段p1,p2,将它们分别存入寄存器R2,31,R2,32中;
第2步,非零循环矩阵Yj,k在垂直方向上对应的向量段ak或pk-16被循环左移sj,k位后送入多输入模2加法器A2,j中进行异或运算,异或结果pj+2被存入寄存器R2,j中,其中,1≤j≤14,1≤k<32,0≤sj,k<b,当1≤k≤16时,Yj,k在垂直方向上对应向量段ak,当16<k<16+j时,Yj,k在垂直方向上对应向量段pk-16;
第3步,以1为步长递增改变j的取值,重复第2步13次,最终,寄存器R2,1,R2,2,…,R2,14存储的分别是向量段p3,p4,…,p16,它们构成了部分校验向量py。
4.一种WPAN中基于二级流水线的高速QC-LDPC编码方法,1/2码率QC-LDPC码的校验矩阵H是由c×t个b×b阶循环矩阵构成的阵列,其中,c=16,t=32,b=21,e=t-c=16,校验矩阵H通过行列交换变换成近似下三角形状,可划分为6个子矩阵, A是由14×16个b×b阶循环矩阵构成,B是由14×2个b×b阶循环矩阵构成,T是由14×14个b×b阶循环矩阵构成,C是由2×16个b×b阶循环矩阵构成,D是由2×2个b×b阶循环矩阵构成,E是由2×14个b×b阶循环矩阵构成,Φ=(ET-1B+D)-1是42×42阶单位矩阵,其中,上标Τ和-1分别表示转置和逆, 是由16×32个b×b阶循环矩阵Qj,k构成,其中,I是单位矩阵,0是全零矩阵,1≤j≤16,1≤k≤32,非零循环矩阵Qj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,Y=[ABT]是由14×32个b×b阶循环矩阵Yj,k构成,其中,1≤j≤14,1≤k≤32,非零循环矩阵Yj,k相对于b×b阶单位矩阵的循环右移位数是sj,k,其中,0≤sj,k<b,A和C对应信息向量a,矩阵B和D对应一部分校验向量px,矩阵T和E则对应余下的校验向量py,校验向量p=(px,py),以b比特为一段,信息向量a被等分为16段,即a=(a1,a2,…,a16),校验向量p被等分为16段,即p=(p1,p2,…,p16),px=(p1,p2),py=(p3,p4,…,p16),向量q被等分为14段,即q=(q1,q2,…,q14),向量x被等分为2段,即x=(q15,q16),[qx]=(q1,q2,…,q16),其特征在于,所述编码方法包括以下步骤:
第1步,使用I型后向迭代电路计算向量q和x,从而求出部分校验向量px=x;
第2步,使用II型后向迭代电路计算部分校验向量py,从而得到校验向量p=(px,py)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510644088.5A CN105245236A (zh) | 2015-10-03 | 2015-10-03 | Wpan中基于二级流水线的高速qc-ldpc编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510644088.5A CN105245236A (zh) | 2015-10-03 | 2015-10-03 | Wpan中基于二级流水线的高速qc-ldpc编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105245236A true CN105245236A (zh) | 2016-01-13 |
Family
ID=55042759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510644088.5A Withdrawn CN105245236A (zh) | 2015-10-03 | 2015-10-03 | Wpan中基于二级流水线的高速qc-ldpc编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105245236A (zh) |
-
2015
- 2015-10-03 CN CN201510644088.5A patent/CN105245236A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102882532B (zh) | 循环右移累加基的cmmb中ldpc编码器和编码方法 | |
CN104579366B (zh) | Wpan中基于三级流水线的高速qc-ldpc编码器 | |
CN105141319A (zh) | 深空通信中基于三级流水线的高速qc-ldpc编码器 | |
CN103236859B (zh) | 共享存储机制的准循环ldpc串行编码器 | |
CN105245236A (zh) | Wpan中基于二级流水线的高速qc-ldpc编码器 | |
CN103269228B (zh) | 共享存储机制的cmmb中准循环ldpc串行编码器 | |
CN105141321A (zh) | 基于二级流水线的高速qc-ldpc编码器 | |
CN105245237A (zh) | Dtmb中基于三级流水线的高速qc-ldpc编码器 | |
CN105356889A (zh) | Cdr中基于三级流水线的高速qc-ldpc编码器 | |
CN105141320A (zh) | 基于三级流水线的高速qc-ldpc编码器 | |
CN105119608A (zh) | Cmmb中基于三级流水线的高速qc-ldpc编码器 | |
CN103236849B (zh) | 基于共享存储机制的dtmb中准循环矩阵串行乘法器 | |
CN104518804A (zh) | 基于三级流水线的高速qc-ldpc编码器 | |
CN105099468A (zh) | 深空通信中基于四级流水线的高速qc-ldpc编码器 | |
CN103269226B (zh) | 共享存储机制的近地通信中准循环ldpc串行编码器 | |
CN104579364A (zh) | Cdr中基于四级流水线的高速qc-ldpc编码器 | |
CN103236852B (zh) | 无乘法运算的dtmb中准循环矩阵串行乘法器 | |
CN104579365A (zh) | 基于四级流水线的高速qc-ldpc编码器 | |
CN104539297A (zh) | Dtmb中基于四级流水线的高速qc-ldpc编码器 | |
CN104518803A (zh) | Cmmb中基于四级流水线的高速qc-ldpc编码器 | |
CN106385264A (zh) | 二级部分并行输入累加左移的ldpc编码器 | |
CN106656206A (zh) | Cdr中二级全并行输入循环左移的ldpc编码器 | |
CN103269225B (zh) | 共享存储机制的深空通信中准循环ldpc串行编码器 | |
CN103905055A (zh) | 部分并行输入的右移累加qc-ldpc编码器 | |
CN103929189A (zh) | 近地通信中部分并行输入的累加左移qc-ldpc编码器 |
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 |
Application publication date: 20160113 |
|
WW01 | Invention patent application withdrawn after publication |