《电子技术应用》

CCSDS标准低并行度高速LDPC编码方案

2017年电子技术应用第7期 作者:燕 威1,2,朱 岩1
2017/8/11 13:54:00

燕  威1,2,朱  岩1

(1.中国科学院国家空间科学中心,北京100190;2.中国科学院大学,北京100190)


    摘  要: 提出了一种基于CCSDS标准低并行度高速LDPC编码结构设计方案。该编码结构通过对输入的待编码信息插“0”和改变校验矩阵的循环子矩阵结构实现了CCSDS标准中的7/8码率编码方案的奇偶并行编码,且编码结果奇偶并行输出。在编码器的编码速率需求和编码器实现的硬件资源开销上达到平衡。仿真和实现的结果表明,该低并行度编码结构的设计相对于其他7/8码率串行编码结构设计,在增加少量的硬件开销的条件下,获得双倍的编码速率。

    关键词: CCSDS标准;低并行度;7/8码率LDPC编码

    中图分类号: TN911.22

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.2017.07.025


    中文引用格式: 燕威,朱岩. CCSDS标准低并行度高速LDPC编码方案[J].电子技术应用,2017,43(7):96-99,109.

    英文引用格式: Yan Wei,Zhu Yan. An encoder architecture scheme with low parallel and high speed for LDPC codes based CCSDS standard[J].Application of Electronic Technique,2017,43(7):96-99,109.

0 引言

    空间咨询数据委员会(CCSDS)推荐7/8码率LDPC码[1]作为近地空间通信信道编码方案[2-5]。这种LDPC码可以提供非常低的误码平台和较快的译码收敛速度[6-8],非常适合空间通信应用场景。7/8码率LDPC码串行编码的结构[9-12]符合LDPC码线性分组码的特点,具有编码结构简单、编码速率快和编码器占用逻辑资源较少等优点。但是,随着空间通信要求的提高,串行编码的编码速率提升受到限制。

    本文提出一种低并行度高速编码结构设计。该编码结构通过合理的插“0”和改变生成矩阵结构,实现高速低并行度编码。

1 CCSDS标准LDPC编码原理

1.1 编码的数学原理

    LDPC的编码本质为矩阵的乘法运算。以(8 176,7 154)码[2]为例,输入7 154位待编码信息位,编码产生1 022位奇偶校验位,编码输出为8 176位系统码。

    待编码的信息位数据为长度为7 154的信息向量n:

tx1-gs1-2.gif

    矩阵G分为两部分,左边是7 154×7 154的单位矩阵,其中I为511×511的单位子矩阵,0是511×511的零矩阵;右边是矩阵Bi,j(i=1,2…14;i=1,2),Bi,j是511×511的循环矩阵。矩阵的左边部分用于生成7 154位信息码,右边部分用于生成1 022位校验码。

    编码生成的系统码向量N:

tx1-gs3-5.gif

其中bi,j为循环矩阵Bi,j的第一行。这样,在采用可编程逻辑器件实现编码器时,只需要保存28个循环子矩阵Bi,j各自的第一行数据bi,j(i=1,2…14;j=1,2)即可,减少硬件资源使用。

1.2 编码器的结构设计原理

    图1为串行编码器结构设计原理图。为了适应循环编码,将待编码的信息向量n分割为14个向量n=(p1  p2  …  p14),且:

     tx1-gs6.gif

tx1-t1.gif

    编码过程如下:

    (1)初始时刻,循环移位寄存器1中存储的数据为b1,1,循环移位寄存器2中存储的数据是b1,2。累加器1中为511位0,累加器2中为511位0。

tx1-t1-s1.gif

tx1-t1-s2.gif

    同理,第2~511个时钟周期内,每个时钟周期循环移位寄存器1和2循环右移1位,对输入信息位重复第1个时钟周期相似的过程。511个时钟周期后,第一组循环校验矩阵结束。然后将循环移位寄存器1中数据b1,1更换为b2,1,循环移位寄存器2中数据b1,2更换为b2,2

    (3)对输入的p2,p3,…,p14向量,重复与p1输入的处理相同的过程。当所有的7 154位待编码数据全部处理完毕,将输入的7 154位待编码数据和编码得到的累加器1、累加器2的数据组合为8 176位系统码,即最后得到的编码数据帧。

2 串行编码实现及存在的问题

    CCSDS给出的7/8LDPC码的编码帧格式[3]为32+7 136+1 022+2 bit,为了保证编码的输入和输出同步,在待编码数据输入编码器之前,待编码数据转变为7 136位待编码数据+1 056位“0”,在编码器的校验矩阵Bi,j中添加第16、17组全“0”的校验循环矩阵。这样使得编码输入和输出数据位数完全一致,有利于编码器设计结构的简化。编码结构中插“0”结构如图2。

tx1-t2.gif

    串行编码器结构简单,占用资源少,但是存在不足之处:采用串行输入的方式,编码能够达到的最大速率有限,对于有图像数据传输的应用场合,显示出局限性。

3 低并行度编码结构设计

3.1 低并行度编码的数学原理

    本文根据7/8 LDPC码编码矩阵的特点提出了低并行度编码的数学原理。假设输入的待编码数据为7 154位的向量n,且有n=(n1  n2  …  n7154),将向量n分割为14个长度511向量pi(i=1,2,…,14)。为了使输入的待编码信息位符合奇偶位并行输入的特点,对14个信息位向量pi(i=1,2,…,14)进行“0”位填充,使待编码信息变为7 168位的向量m,且有m=(k1  k2  …  k14),其中ki(i=1,2,…,14)为长度512的向量。如下:

     tx1-gs7.gif

    设待编码信息位向量k拆分为奇位向量和偶位向量:奇位向量odd_k=(n1  n3  …  n509  n511),偶位向量even_k=(n2  n4  …  n510  0)。

    将生成矩阵G的右边部分的两列Bi,j(i=1,2,…,14;j=1,2)循环子矩阵拆分成与奇编码矩阵odd_Bi,j和偶编码矩阵even_Bi,j,如下:

tx1-gs8-10.gif

    所以可得编码校验位向量:

    tx1-gs11.gif

3.2 编码结构设计

    图3为低并行度编码器结构框图。根据低并行度编码数学原理,在编码之前先对数据每隔511位插入1个“0”,在插满14个“0”之后,在编码数据后补齐1 042个“0”,使待编码数据帧长度为8 192 bit。低并行度并行编码采用4个循环移位寄存器。编码过程如下:

tx1-t3.gif

tx1-t3-x1.gif

tx1-t3-x2.gif

    (3)对于输入向量k2,k3,…k14,重复与k1输入的处理相同的过程。当所有7 154位待编码数据全部处理完毕,将输入的7 154位待编码数据和编码得到的累加器1,累加器2的数据组合为8 176位系统码就是编码数据帧。

4 编码性能和编码效率分析

    定义衡量编码性能的公式如下:

tx1-gs12-16.gif

tx1-b1.gif

5 结论

    本文提出的低并行度7/8码率LDPC编码是在CCSDS标准提出的串行编码结构上采用插“0”设计和改变生成矩阵的形式,设计新的编码结构,大幅度提升了编码速率和编码效率,扩展了LDPC编码的应用范围,具有创新性。另外,该低并行编码的并行度可以根据设计需求改变,对于工程应用有较好的适应性。

参考文献

[1] GALLAGER R G.Low-density parity-check codes[J].IRE Transactions on Information Theory,1962,8(1):21-28.

[2] CCSDS.CCSDS 131.1-O-2-low density parity check codes for use in near-earth and deep space applications[R].Washington,DC,USA,2007.

[3] CCSDS.CCSDS 131.0-B-2-TM synchronization and channel coding[S].Washington,DC,USA,2011.

[4] CCSDS.CCSDS 230.2-G-1-next generation uplink[R].Washington,DC,USA,2014.

[5] CCSDS.CCSDS 231.1-O-1-short block length LDPC codes for TC synchronization and channel coding[R].Washington,DC,USA,2015.

[6] MACKAY D C.Good error-correcting codes based on very sparse matrices[J].IEEE Transactions on Information Theory,1999,45(2):399-431.

[7] Lin Shu,Chen Lei,Xu Jun.Near shannon limit quasicyclic low-density parity-check codes[J].IEEE Transaction on Communication,2004,52(7):1038-1042.

[8] 袁东风,张海刚.LDPC码理论与应用[M].北京:人民邮电出版社,2008:20-25.

[9] 燕威,薛长斌.高效低功耗低并行度LDPC编码方法[J].电子与信息学报,2016,38(9):2268-2273.

[10] Sun Yang,KARKOOTI M,CAVALLARO J R.Vlsi decoder architecture for high throughput and variable block-size and multi-rate ldpc codes[C].IEEE International Symposium on Circuits and Systems,2007:2104-2107.

[11] CHENG L,LI G X,ZHU H P,et al.LDPC encoder design and FPGA implementation in deep space communication[C].Proceedings of the International Conference on Logistics,Engineering,Management and Computer Science,Paris,2014,101:343-346.

[12] 刘冬培,刘衡竹,张波涛.基于准循环双对角阵的LDPC编码算法研究[J].国防科技大学学报,2014(2):156-160.

继续阅读>>