基于查找表的深空通信中ldpc串行编码器和编码方法

文档序号:7862016阅读:295来源:国知局
专利名称:基于查找表的深空通信中ldpc串行编码器和编码方法
技术领域
本发明涉及深空数据通信领域,特别涉及一种CCSDS深空通信系统中QC-LDPC码编码器的串行实现方法。
背景技术
由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避免地会出现数字信号产生误码的情况。为了降低误码率,需要采用信道编码技术。低密度奇偶校验(Low-Density Parity-Check, LDPC)码以其逼近Shannon限的优异性能成为信道编码领域的研究热点。准循环LDPC码(Quasic-LDPC,QC-LDPC)码是一种特殊的LDPC码,其编码可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator ,SRAA)加以实现。SRAA法是利用生成矩阵G进行编码。QC-LDPC码的生成矩阵G是由aXt个bXb阶循环矩阵Gi,」(I彡i彡a, I彡j彡t)构成的阵列,t=a+c。与信息向量对应的一部分生成矩阵是单位矩阵,与校验向量对应的其余部分生成矩阵是高密度矩阵。串行SRAA法完成一次编码需要ab+t个时钟周期,需要(t+c)b个寄存器、cb个二输入与门和cb个二输入异或门。此外,还需要acb比特ROM存储循环矩阵的首行。CCSDS深空通信系统推荐了 9种QC-LDPC码,其中码率η分为1/2、2/3和4/5三种,方阵阶数13分为32、64、128、256、512、1024和2048七种。如图I所示,η和b共有9种有效组合(n,b) (4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),对应 9 种 QC-LDPC 码。对于所有 QC-LDPC 码,均有c=12o图2给出了不同码率η下的参数a和t。CCSDS深空通信系统中QC-LDPC低速编码的现有解决方案是采用串行SRAA法,9种 QC-LDPC 码所需的编码时间分别是 1068、1052、1044、4140、4124、4116、16428、16412 和16404个时钟周期。逻辑资源需要65536个寄存器、24576个二输入与门和24576个二输入异或门,这是由(n,b) = (l/2, 2048)对应的参数决定的。此外,9种QC-LDPC码共需774,144比特ROM存储循环矩阵的首行。当采用硬件实现时,需要较多的存储器和寄存器,势必会造成设备成本高,功耗大。

发明内容
针对CCSDS深空通信系统多种QC-LDPC码低速编码的现有实现方案中存在的资源需求量大缺点,本发明提供了一种基于查找表的串行编码方法,能在保持编码速度不变的前提下,减少资源需求。如图3所示,CCSDS深空通信系统中多种QC-LDPC码的串行编码器主要由4部分组成寄存器、索引编码器、查找表和b位二输入异或门。整个编码过程分4步完成 第I步,清零寄存器Ra+1 Rt ;第2步,输入信息比特ek(0 ( k〈ab),寄存器R1 Ra串行左移I次,缓冲信息向量S,为索引编码器配置恰当的码率η和方阵阶数b,块行号控制端输入P =[k/b]+l (符号[k/b]表不不大于k/b的最大整数),查找表根据索引τ选择输出,b位二输入异或门A1 (I彡I彡c)将查找表的第I个b位输出端与寄存器Ra+1串行循环左移I次的结果相加,和存回寄存器Ra+1 ;第3步,以I为步长递增改变k的取值,重复第2步ab次,直到整个信息向量s输入完毕;第4步,并行输出码字V= (S,P)。本发明提供的QC-LDPC串行编码器兼容多码率,能在保持编码速度不变的前提下有效减少资源需求,从而达到降低硬件成本和功耗的目的。关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。


图I给出了码率η和方阵阶数b的有效组合(n,b); 图2给出了不同码率η下的参数a和t ;图3是CCSDS深空通信系统中兼容9种QC-LDPC码的串行编码器整体结构;图4给出了索引编码器的输出τ与信息比特、码率η、方阵阶数b和生成矩阵G的块行号P之间的关系;图5比较了传统的串行SRAA法与本发明的资源消耗。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。QC-LDPC码是一类特殊的LDPC码,它的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环特点,故被称为准循环LDPC码。从行的角度看,循环矩阵的每一行都是上一行(首行是末行)循环右移一位的结果;从列的角度看,循环矩阵的每一列都是前一列(首列是末列)循环下移一位的结果。循环矩阵的行向量构成的集合与列向量构成的集合完全相同,因此,循环矩阵完全可由它的首行或首列来表征。QC-LDPC码的生成矩阵G是由aXt个bXb阶循环矩阵Gi,」(I彡i彡a, I彡j彡t)构成的阵列
I O …O Gla+1 GLa+2 …Gu
O I …O G2 a+X G2 a+2 …G2 j
O =..... .⑴
·
· * · * * *
O O …I Goa+l Goa+2 …GaJ_G (或H)的连续b行和b列分别被称为块行和块列。对于CCSDS深空通信系统,生成矩阵G对应码字V= (s,p),G的前a块列对应的是信息向量S=Gtl, e1;…,en),后c块列对应的是校验向量P。以b比特为一段,信息向量s被等分为a段,即S=G1, S2,…,sa);校验向量P被等分为c段,即P=^1, P2,…,P。)。如图I所示,CCSDS深空通信系统采用了 9种QC-LDPC码,其中码率η分为1/2、2/3和4/5三种,方阵阶数b分为32、64、128、256、512、1024和2048七种。n和b共有9种有效组合(n,b) (4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048)。对于所有QC-LDPC码,均有c=12,图2给出了不同码率η下的参数a和t。由式⑴和循环矩阵的特点,图3给出了适用于CCSDS深空通信系统中9种QC-LDPC码的串行编码器,它主要由寄存器、索引编码器、查找表和b位二输入异或门四种功能模块组成。寄存器R1 Ra用于缓存信息向量S=Cs1, S2, ...,Sa),寄存器Ra+1 Rt用于计算和存储校验向量P= (P1, P2,…,P。)。索引编码器形成查找表的索引τ,以简化查找表的使用。b位二输入异或门A1 Α。将查找表的第fc个b位输出值分别累加到寄存器Ra+1 Rt中。索引编码器的输出τ取决于四个输入信息比特、码率η、方阵阶数b和生成矩阵G的块行号P(l< P <a)。如果当前输入的信息比特是0,那么τ=0;否则,根据码率η、方阵阶数 b 和块行号 P 计算 τ。当(n,b) = (l/2, 2048)时,τ=ρ ;当(n,b) = (2/3, 1024)时,τ=8+ρ ;当(n,b) = (4/5, 512)时,τ =24+ P ;当(η,b) = (1/2,512)时,τ=56+Ρ ;当(n,b) = (2/3, 256)时,τ =64+ P ;当(n,b) = (4/5, 128)时,τ =80+ P ;当(n,b) = (l/2, 128)时,τ =112+P ;当(n,b) = (2/3,64)时,τ =120+P ;当(η,b) = (4/5,32)时,τ =136+P 码率H有3种,故可用2比特来表示;方阵阶数b有7种,故可 用3比特来表示;块行号P的最大值是32,故可用6比特来表示;τ的最大值是168,故可用8比特来表示。图4给出了索引编码器的输出τ与四个控制量之间的关系。查找表根据索引τ进行输出。如果τ =0,那么查找表输出全零;如果I彡τ彡8,那么查找表输出(n,b) = (1/2,2048)的生成矩阵第τ块行、第a+1、块列中所有循环矩阵的首行;如果9彡τ彡24,那么查找表输出(n,b) = (2/3,1024)的生成矩阵第τ-8块行、第a+1、块列中所有循环矩阵的首行;如果25 < τ <56,那么查找表输出(n,b) = (4/5,512)的生成矩阵第τ-24块行、第a+1、块列中所有循环矩阵的首行;如果57彡τ彡64,那么查找表输出(n,b) = (l/2,512)的生成矩阵第τ-56块行、第a+f t块列中所有循环矩阵的首行;如果65 < τ <80,那么查找表输出(n,b) = (2/3,256)的生成矩阵第τ-64块行、第a+1、块列中所有循环矩阵的首行;如果81彡τ <112,那么查找表输出(n,b) = (4/5,128)的生成矩阵第τ-80块行、第a+1、块列中所有循环矩阵的首行;如果113彡τ彡120,那么查找表输出(n,b) = (l/2,128)的生成矩阵第τ-112块行、第a+1、块列中所有循环矩阵的首行;如果121彡τ彡136,那么查找表输出(n,b) = (2/3,64)的生成矩阵第τ-120块行、第a+1、块列中所有循环矩阵的首行;否则,查找表输出(n,b) = (4/5,32)的生成矩阵第τ-136块行、第a+1、块列中所有循环矩阵的首行。本发明提供了一种可变码率QC-LDPC码的串行编码方法,结合CCSDS深空通信系统中多种QC-LDPC码的串行编码器(如图3所示),其编码步骤描述如下第I步,清零寄存器Ra+1 Rt ;第2步,输入信息比特ek (O ( k〈ab),寄存器R1 Ra串行左移I次,缓冲信息向量S,为索引编码器配置恰当的码率η和方阵阶数b,块行号控制端输入P=[k/b]+l (符号[k/b]表示不大于k/b的最大整数),查找表根据索引τ选择输出,b位二输入异或门A1(I ^ I ^ c)将查找表的第I个b位输出端与寄存器Ra+1串行循环左移I次的结果相加,和存回寄存器Ra+1 ;第3步,以I为步长递增改变k的取值,重复第2步ab次,直到整个信息向量s输入完毕,此时,寄存器R1 Ra存储的是信息向量S= (Sl, S2,…,sa),寄存器Ra+1 Rt存储的是校验向量P= (P1, P2,…,Pc);
第4步,并行输出码字V= (S,P)。从以上步骤不难看出,整个编码过程共需ab+t个时钟周期,这与传统的串行SRAA法完全相同。图5比较了传 统的串行SRAA法与本发明的资源消耗。注意,这里将查找表的基本查找单元视为一个二输入与门。从图5可清楚看到,本发明使用的异或门和与门数量与串行SRAA法完全相同,本发明的优势是无需存储器,使用了较少的寄存器,耗费量是串行SRAA法的63%。综上可见,与传统的串行SRAA法相比,本发明保持了编码速度,具有控制简单、资源消耗少、功耗小、成本低等优点。以上所述的实施例,只是本发明较优选的具体实施方式
,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种适合于CCSDS深空通信系统采用的9种QC-LDPC码的串行编码器,QC-LDPC码的生成矩阵G是由aXt个bXb阶循环矩阵Gy构成的阵列,其中,a、t和b皆为正整数,t=a+c,l≤i≤≤a,l≤j≤t,3种不同码率n分别是1/2、2/3、4/5,7种方阵阶数b分别是 32、64、128、256、512、1024、2048,9 种有效组合(n,b)分别是(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),对于这9种QC-LDPC码,均有c=12,3种不同码率对应的参数a分别是8、16、32,3种不同码率对应的参数t分别是20、28、44,生成矩阵G对应码字V= (s,p),G的前a块列对应的是信息向量S=Gtl, e1;…,en),后c块列对应的是校验向量p,以b比特为一段,信息向量s被等分为a段,即S=G1, S2,…,sa),校验向量p被等分为c段,即P= (P1, P2,…,P。),其特征在于,所述编码器包括以下部件 寄存器R1 Rt,寄存器R1 Ra用于缓存信息向量S= (Sl, S2,-, sa),寄存器Ra+1 Rt用于计算和存储校验向量P= (P1, Pu…,Pc); 索引编码器,形成查找表的索引T,以简化查找表的使用,其中,0≤T≤168; 查找表,根据索引T输出某一组合(n,b)对应的QC-LDPC码生成矩阵的第P块行、第a+1、块列中所有循环矩阵的首行,其中,I < P^a; b位二输入异或门A1 A。,将查找表的第f c个b位输出值分别累加到寄存器Ra+1 Rt中。
2.如权利要求I所述的串行编码器,其特征在于,所述索引编码器的输出T取决于信息比特、码率H、方阵阶数b和生成矩阵G的块行号P四个输入如果当前输入的信息比特是0,那么t=0;否则,根据码率n、方阵阶数b和块行号P计算t,当(n,b) = (l/2, 2048)、(2/3,1024)、(4/5,512)、(1/2,512)、(2/3,256)、(4/5,128)、(1/2,128)、(2/3, 64)和(4/5, 32)时,x 分别等于 p、8+P、24+P、56+P、64+P、80+P、112+P ,120+P 和 136+P。
3.如权利要求I所述的串行编码器,其特征在于,所述查找表根据索引T进行输出如果T =0,那么查找表输出全零;如果I < T <8,那么查找表输出(n,b) = (1/2,2048)的生成矩阵第T块行、第a+1、块列中所有循环矩阵的首行;如果9彡T <24,那么查找表输出(n,b) = (2/3,1024)的生成矩阵第T-8块行、第a+1、块列中所有循环矩阵的首行;如果25 < T <56,那么查找表输出(n,b) = (4/5,512)的生成矩阵第t-24块行、第a+1、块列中所有循环矩阵的首行;如果57 < T <64,那么查找表输出(n,b) = (l/2,512)的生成矩阵第T-56块行、第a+1、块列中所有循环矩阵的首行;如果65 < T <80,那么查找表输出(n,b) = (2/3,256)的生成矩阵第T-64块行、第a+1、块列中所有循环矩阵的首行;如果81 < T <112,那么查找表输出(n,b) = (4/5,128)的生成矩阵第T-80块行、第a+1、块列中所有循环矩阵的首行;如果113≤T≤120,那么查找表输出(n,b) = (l/2, 128)的生成矩阵第T-112块行、第a+1、块列中所有循环矩阵的首行;如果121≤T≤136,那么查找表输出(n,b) = (2/3,64)的生成矩阵第t-120块行、第a+1 t块列中所有循环矩阵的首行;否则,查找表输出(n,b) = (4/5,32)的生成矩阵第t-136块行、第a+1、块列中所有循环矩阵的首行。
4.一种适合于CCSDS深空通信系统采用的9种QC-LDPC码的串行编码方法,QC-LDPC码的生成矩阵G是由aX t个bXb阶循环矩阵Gi, j构成的阵列,其中,a、t和b皆为正整数,t=a+c,l≤i≤a,l≤j≤t,3种不同码率η分别是1/2、2/3、4/5,7种方阵阶数b分别是 32、64、128、256、512、1024、2048,9 种有效组合(η,b)分别是(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),对于这9种QC-LDPC码,均有c=12,3种不同码率对应的参数a分别是8、16、32,3种不同码率对应的参数t分别是20、28、44,生成矩阵G对应码字V= (s,p),G的前a块列对应的是信息向量S=Gtl, e1;…,en),后c块列对应的是校验向量P,以b比特为一段,信息向量s被等分为a段,即S=G1, S2,…,sa),校验向量P被等分为c段,即P= (P1, P2,…,P。),其特征在于,所述编码方法包括以下步骤 第I步,清零寄存器Ra+1 Rt; 第2步,输入信息比特ek,寄存器R1 Ra串行左移I次,缓冲信息向量S,为索引编码器配置恰当的码率H和方阵阶数b,块行号控制端输入P=[k/b]+l,查找表根据索引τ选择输出,b位二输入异或门A1将查找表的第Ifb位输出端与寄存器Ra+1串行循环左移I次的结果相加,和存回寄存器Ra+1,其中,0 ≤ k<ab, 1≤ 1≤ c,符号[k/b]表不不大于k/b的最大整数; 第3步,以I为步长递增改变k的取值,重复第2步ab次,直到整个信息向量s输入完毕,此时,寄存器R1 Ra存储的是信息向量S= (Sl, S2, -,Sa),寄存器Ra+1 Rt存储的是校验向量P=CP1, P2,…,Pc); 第4步,并行输出码字V= (S,P)。
全文摘要
本发明涉及一种解决CCSDS深空通信系统中9种QC-LDPC码串行编码的方案,其特征在于,所述系统的QC-LDPC码的串行编码器主要由寄存器、索引编码器、查找表和b位二输入异或门四部分组成。本发明提供的QC-LDPC串行编码器兼容多码率,能在保持编码速度不变的条件下有效减少资源需求,具有控制简单、资源消耗少、功耗小、成本低等优点。
文档编号H04L1/00GK102857324SQ201210374709
公开日2013年1月2日 申请日期2012年9月27日 优先权日2012年9月27日
发明者张鹏, 蔡超时, 杨霏 申请人:苏州威士达信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1