QC-LDPC简介
QC-LDPC(Quasi-Cyslic Low-Density Parity-Check Codes)即准循环LDPC码。之前介绍的LDPC码基本属于随机构造法,构造出的码性能很好,但校验矩阵具有不规律性,存在校验矩阵存储于读取困难、编码复杂度高等问题,相对难以实现。准循环LDPC码是结构化LDPC码的重要子集,其奇偶校验矩阵可以分成多个大小相等的方阵,每个方阵都是单位矩阵的循环移位矩阵或全0矩阵,非常便于存储器的存储和寻址,从而大大降低了LDPC码的编译码复杂度,并且具有重复累计结构的准循环LDPC码能够实现线性复杂度的快速编码。因此,目前实际中所使用的LDPC码大都使用这种校验矩阵构造方式。
QC-LDPC码校验矩阵的子矩阵具有如下特点:
(1) 每个子矩阵是一个方阵;
(2) 循环子矩阵的任一行(列)都是上一行(列)向右移动一位得到的,特别的,矩阵的第一行(列)由最后一行(列)循环右移一位得到;
(3) 循环矩阵完全可以由其第一行或者第一列决定。
即准循环LDPC码的H是由许多维数相同的循环子矩阵构成。下面的矩阵便是由单位矩阵循环右移一位得到的循环子矩阵:
定义基矩阵
其中。接下来讲基矩阵的每一个元素扩展为一个大小为的方阵,0元素用全零方阵表示,1元素用大小为的单位阵的循环移位方阵表示,具体的移位次数用矩阵表示为如下
特别的,来表示对应循环移位矩阵为的全零矩阵,于是我们由此得到校验矩阵H如下
其中H中任意一个元素表示一个的全零矩阵或者单位矩阵循环右移次后得到的循环子矩阵。
因此,想要构造一个准循环校验矩阵,首先根据需求确定基矩阵的维数和循环移位子矩阵的大小,然后根据度分布采用PEG(或者其他相应算法)算法生成优化后的基矩阵,使得基矩阵具有尽可能大的环长,排除小环的不利影响。构造出基矩阵后,还需要进一步确定移位次数矩阵的元素,常见的方法包括环消除算法或避免环算法等,目的是为了保证扩展出的校验矩阵中没有短环。
总结:要构造QC-LDPC的校验矩阵,需要掌握生成基矩阵的方法、确定移位次数矩阵的方法,这些方法都有很多,需要我们根据需求和实际情况合理选择,其中难点是如何消除小环。这里没有对这两种算法做介绍,具体如何构造好的H,后面继续学习分析。