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

文档序号:9491571阅读:504来源:国知局
Wpan中基于二级流水线的高速qc-ldpc编码器的制造方法
【技术领域】
[0001] 本发明涉及信道编码领域,特别涉及一种WPAN系统中基于二级流水线的高速 QC-LDPC编码器。
【背景技术】
[0002] 低密度奇偶校验(Low-Density Parity-Check, LDPC)码是高效的信道编码技术 之一,而准循环 LDPC(Quasi-Cyclic LDPC,QC-LDPC)码是一种特殊的 LDPC 码。QC-LDPC 码 的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环的特点,故被称为 QC-LDPC码。循环矩阵的首行是末行循环右移1位的结果,其余各行都是其上一行循环右 移1位的结果,因此,循环矩阵完全由其首行来表征。通常,循环矩阵的首行被称为它的生 成多项式。
[0003] 通信系统通常采用系统形式的QC-LDPC码,其生成矩阵G的左半部分是一个单位 矩阵,右半部分是由eXc个bXb阶循环矩阵彡i〈e, e彡j〈t, t = e+c)构成的阵列, 如下所示:
[0005] 其中,I是bXb阶单位矩阵,0是bXb阶全零矩阵。G的连续b行和b列分别被称 为块行和块列。由式(1)可知,G有e块行和t块列。WPAN标准采用了一种码率η = 1/2 的 QC-LDPC 码,对于该码,t = 32, e = 16, c = 16, b = 21。
[0006] WPAN标准中1/2码率QC-LDPC编码器的现有解决方案是基于16个I型移位寄存 器加累加器(Type-I Shift-Register-Adder-Accumulator,SRAA-I)电路的串行编码器。由 16个SRAA-I电路构成的串行编码器,在336个时钟周期内完成编码。该方案需要672个寄 存器、336个二输入与门和336个二输入异或门,还需要5376比特ROM存储循环矩阵的生成 多项式。该方案有两个缺点:一是需要大量存储器,导致电路成本高;二是串行输入信息比 特,编码速度慢。

【发明内容】

[0007] WPAN系统中1/2码率QC-LDPC编码器的现有实现方案存在成本高、编码速度慢的 缺点,针对这些技术问题,本发明提供了一种基于二级流水线的高速QC-LDPC编码器。
[0008] 如图2所示,WPAN系统中基于二级流水线的高速QC-LDPC编码器主要由2部分组 成型后向迭代电路和II型后向迭代电路。编码过程分2步完成:第1步,使用I型后向 迭代电路计算向量q和X,从而求出部分校验向量P x= X ;第2步,使用II型后向迭代电路 计算部分校验向量Py,从而得到校验向量P = (Px,Py)。
[0009] 本发明提供的WPAN系统中1/2码率高速QC-LDPC编码器结构简单,无需存储器, 能显著提高编码速度,从而降低成本,提高吞吐量。
[0010] 关于本发明的优势与方法可通过下面的发明详述及附图得到进一步的了解。
【附图说明】
[0011] 图1是行列交换后近似下三角校验矩阵的结构示意图;
[0012] 图2是基于二级流水线的QC-LDPC编码过程;
[0013] 图3是I型后向迭代电路;
[0014] 图4给出了矩阵Q中非零循环矩阵所在的块位置及其循环右移位数;
[0015] 图5是II型后向迭代电路;
[0016] 图6给出了矩阵Y中非零循环矩阵所在的块位置及其循环右移位数;
[0017] 图7总结了编码器各编码步骤以及整个编码过程所需的硬件资源和处理时间。
【具体实施方式】
[0018] 下面结合附图对本发明的较佳实施例作详细阐述,以使本发明的优点和特征能更 易于被本领域技术人员理解,从而对本发明的保护范围作出更为清楚明确的界定。
[0019] 循环矩阵的行重和列重相同,记作w。如果w = 0,那么该循环矩阵是全零矩阵。如 果w = 1,那么该循环矩阵是可置换的,称为置换矩阵,它可通过对单位矩阵I循环右移若干 位得到。QC-LDPC码的校验矩阵H是由cXt个bXb阶循环矩阵H j, k (1彡j彡c,1彡k彡t,t =e+c)构成的如下阵列:
[0021] 通常情况下,校验矩阵H中的任一循环矩阵要么是全零矩阵(w = 0)要么是置换 矩阵O = 1)。令循环矩阵Hjik的首行g_jik= (g_jikil, g_jiki2,…,g_jikib)是其生成多项式,其中 0或I (1彡m彡b)。因为H是稀疏的,所以g ]ik只有1个'1',甚至没有'1'。
[0022] 对于WPAN系统中1/2码率的QC-LDPC码,H的前16块列对应的是信息向量a,后 16块列对应的是校验向量p。以b比特为一段,信息向量a被等分为16段,即a = (a^a;;,··· ,a16);校验向量p被等分为16段,即p = (P1, p2,…,p16)。
[0023] 对校验矩阵H进行行交换和列交换操作,将其变换成近似下三角形状HAW,如图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 位。
[0024] 在图1中,所有矩阵的单位都是b = 21比特而不是1比特。A是由14X16个bXb 阶循环矩阵构成,B是由14X2个bXb阶循环矩阵构成,T是由14X14个bXb阶循环矩 阵构成,C是由2X16个bXb阶循环矩阵构成,D是由2X2个bXb阶循环矩阵构成,E是 由2X 14个bXb阶循环矩阵构成。T是下三角矩阵,u = 2反映了校验矩阵ΗΑ?Τ与下三角 矩阵的接近程度。在图1中,矩阵A和C对应信息向量a,矩阵B和D对应一部分校验向量 Px= (Pi,P2),矩阵T和E则对应余下的校验向量py= (p3,p4,…,p16)。P= (px,py)。上述 矩阵和向量满足如下关系:
[0025] ρχτ= Φ (ET 1AaVCax) (3)
[0026] p/= T 1 (AaT+BpxT) (4)
[0027] 其中,Φ = (ET 4+D) \上标1卩1分别表示转置和逆。众所周知,循环矩阵的逆、 乘积、和仍然是循环矩阵。因此,Φ也是由循环矩阵构成的阵列。
[0028] 当Φ等于单位矩阵,即Φ = I时,式⑶可简化为pxT= ET 1AaVcaT。令qT= T-1Aa' xT= Eq T+CaT以及 p x= X。
[0029] 向量q和x可由下式计算得到:
[0033] -旦计算得出px,式(4)可改写为:
[0034] [A B T] [a px py] T = Y [a p x py] T = 0 (7)
[0035] 其中,
[0036] Y = [A B Τ] (8)
[0037] 因为Q和Y与T 一样都是下三角矩阵,所以式(5)中的[q χ]和式(7)中的?,都 可采用后向迭代的计算方式。
[0038] Q和Y涉及后向迭代计算。根据以上讨论,可给出一种基于二级流水线的QC-LDPC 编码过程,如图2所示。
[0039] 式(5)隐含了后向迭代操作,必须逐段求解向量q和X。定义[q X] = Q1, q2,… ,q16),并初始化为全零。首先,?是矩阵Q的第1块行与向量[a q x]T之积。其次,92是 矩阵Q的第2块行与向量[a q χ]τ之积。重复上述过程,直到算完q16为止,如图3所示的 I型后向迭代电路。I型后向迭代电路由32个b比特寄存器Rlil, Rli2,…,&32和16个多输 入模2加法器A1, D A1,2,…,A1,16组成。
[0040] 以计算q](l彡j彡16)为例。校验矩阵H中的非零循环矩阵通常是单位矩阵的循 环右移版本。假设矩阵Q的第j块行的前16块列中有M个非零循环矩阵,它们的循环右移位 数分别是s,kl,Sj,k2,…,Sj, kM(l彡kl,k2,…,kM彡16),矩阵Q的第j块行的后16块列中有N 个非零循环矩阵,它们的循环右移位数分别是Sjiml, s_j,m2,…,s_j,mN (16〈ml, m2, 。 则
[0041 ]
[0042] 其中,上标re(n)和1s(n)分别表示循环右移η位和循环左移η位。因为M和N都很 小,所以式(9)可由一个对输入循环左移的多输入模2加法器在1个时钟周期内计算完毕。 因此,计算向量[q X]共需16个时钟周期。既然矩阵Q中共有β = 102个非零循环矩阵, 那么I型后向迭代电路需使用(β -2c)b = 1470个二输入异或门。
[0043] 矩阵Q是由16X32个bXb阶循环矩阵UK 16, 1彡k彡32)构成的阵 列。非零循环矩阵QKk相对于bXb阶单位矩阵的循环右移位数是8 为便于 描述,全零循环矩阵相对于bXb阶循环矩阵的循环右移位数记作S]ik= 在图3中, 当1彡k彡16时,Q,k在垂直方向上对应向量段a k,当16〈k〈16+j时,Qjik在垂直方向上对 应向量段qk 16。全零循环矩阵〇0在垂直方向上对应的向量段不参与异或运算,非零循环 矩阵Qj1Ii在垂直方向上对应的向量段 a &或q k ie被循环左移S Ik位后送入多输入模2加法 器A1^中进行异或运算,A u的计算结果是q ,,存入寄存器R1^中。图4给出了矩阵Q中非 零循环矩阵所在的块位置及其循环右移位数。使用I型后向迭代电路计算向量q和X的步 骤如下:
[0044] 第1步,输入信息段ai,a2,…,a16,将它们分别存入寄存器R lil7, Rliis,…,Rli32中;
[0045] 第2步,非零循环矩阵Qjik在垂直方向上对应的向量段a肩q k 16被循环左移s jik 位后送入多输入模2加法器Ali,中进行异或运算,异或结果q ,被存入寄存器R u中,其中, 1彡j彡16, 1彡k〈32,0彡Sj,k〈b,当1彡k彡16时,Qjik在垂直方向上对应向量段a k,当 16〈k〈16+j时,Qjik在垂直方向上对应向量段qk 16;
[0046] 第3步,以1为步长递增改变j的取值,重复第2步15次,最终
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1