1. 引言
空间耦合LDPC码源自于LDPC卷积码 [1],由于其优良的阈值而受到人们的广泛关注。对于二元无记忆对称(Binary memoryless symmetric, BMS)信道,已经证明了规则LDPC码集 [2] 的最大后验概率(Maximum aposteriori probability, MAP)阈值可以通过空间耦合原始LDPC码集的生成码集的置信传播(Belief propagation, BP)阈值来逼近 [3] [4] [5] [6],这就是所谓的阈值饱和现象。除了渐近性能分析外,SCLDPC码的有限长性能特别是利用窗口译码方法进行译码,也成为研究的重点 [7] [8]。最近,多进制SCLDPC码也开始受到研究人员的关注。多进制SCLDPC码的阈值饱和现象在二元删除信道(Binary erasure channel, BEC)被研究 [9]。经典的SCLDPC码构造,被分类为图覆盖结构,是基于展开LDPC码的校验矩阵来形成SCLDPC码的校验矩阵 [1] [10]。
准循环LDPC码 [11] 由于其低复杂度和高度并行的编码 [12] 和译码 [13],已被各种通信系统标准化,最近又应用于数据存储产品中。QCLDPC码通常是由在有限域上相同大小的稀疏循环矩阵的阵列的零空间给出的 [15]。QCLDPC码具有优良有限长性能和高效硬件实现的优点 [12] [13] [14]。广泛的仿真结果 [15] [16] [17] 已经表明设计良好的QCLDPC码优于非结构化随机LDPC码。仿真结果还表明,非二进制原模图LDPC码的性能优于与其对应的二进制码 [18]。
由于QCLDPC码和SCLDPC码的优点,本文从理论上研究了在任意有限域上具有准循环结构的SCLDPC码的构造,此类码称之为SCQCLDPC码。最近,二进制SCQCLDPC码的构造 [19] 使用了一种改进的渐进边缘增长(Progressive edge growth, PEG)算法 [20]。相反,本文构造SCQCLDPC码是基于有限域的确定性构造。这避免了耗时的计算机搜索,同时确保了校验矩阵的Tanner图的围长至少为6,这也通常保证了码的优良性能。
2. 预备知识
2.1. 有限域中元素的位置向量
考虑有限域
,q为一个素数的幂。令
为
的本原元,则
的q个幂次
,
,
表示出了
的所有元素,且
。
包含两个群:加法群和乘法群。
的q个元素在加法运算下构成加法群,
的
个非零元素在乘法运算下构成乘法群。
对于任意一个非零元素
,
,我们定义一个
上的
维向量:
,其中第i个分量
,而其他
个分量等于零。将这样只有一个1分量的
上的
维向量称为元素
的二进制位置向量(binary locationvector)。显然,域
中两个不同非零元素的二进制位置向量的1分量在不同位置上。元素0的二进制位置向量定义为
维全零向量
。类似地,对于任意一个非零元素
,
,我们定义一个
上的
维向量
,其中第i个分量
,而其他
个分量等于零。将这样只有一个
分量的
上的
维向量称为元素
的q进制位置向量(qary locationvector)。元素0的q进制位置向量定义为
维全零向量
。
2.2. 有限域中元素的矩阵散列
令
为
的一个非零元素。当
时,
的二进制位置向量
是
的二进制位置向量
的循环移位(右移一位)。因为
,则
。因而,
就是
的循环移位。以元素
的二进制位置向量作为行,可以得到一个
上的
矩阵
。该矩阵是一个循环置换矩阵(Circulant permutation matrix, CPM),其每一行都是上一行的循环移位,而第一行是最后一行的循环移位。将矩阵
称为元素
在
上的
重二进制矩阵散列((q-1)fold binary matrix dispersion)。类似地,我们以元素
的q进制位置向量作为行,可以得到一个
上的
矩阵
。该矩阵是一个q进制
倍循环置换矩阵(qary αmultiplied circulant permutation matrix),其每一行都是上一行乘以
的循环移位,而第一行是最后一行乘以
的循环移位。将矩阵
称为元素
在
上的
重q进制矩阵散列((q-1)fold qary matrix dispersion)。
3. 基于有限域构造QCLDPC码的一般方法
令
为
的本原元。构造过程始于一个
上的
矩阵
其行满足如下两个约束条件:1) 若
,
,且
,则
与
至多有一个对应位置上的值相同(即它们至少有
个对应位置上的值不同);2) 若
,
,且
,则
与
至少有
个对应位置上的值不同。矩阵B的两个约束条件分别称为
乘行约束1和2 (αmultiplied row constraint 1 and 2)。
定理1:如果矩阵B的每一行至多有一个0元素且矩阵B的任意一个
子矩阵是非奇异的,则矩阵B满足
乘行约束1和2。
证明:因为当且仅当
时,
,其中
,
,且
,所以当且仅当矩阵B的每一行至多有一个0元素,矩阵B满足
乘行约束1。假设矩阵B不满足
乘行约束2,则
,
,其中
且
,
,
且
。因此
,由此推得
即矩阵B存在
奇异子矩阵,矛盾。
定理2:如果矩阵B满足
乘行约束1和2,则矩阵B满足
子矩阵约束,即矩阵B中任意
子矩阵至少有一个0元素或是非奇异的。
证明:如果B满足
乘行约束1和2,则
或
且
或
,其中
且
,
,
且
。
情况1:当
且
时,因为
,所以
;又因为
,所以
。因此
,故B满足
子矩阵约束。
情况2:当
且
时,因为
,所以
;又因为
,所以
。因此
,
,故B满足
子矩阵约束。
情况3:当
且
时,因为
且
,所以
,即
。因此
,
,故B满足
子矩阵约束。
情况4:当
且
时,因为
且
,所以
,即
。因此
,
,故B满足
子矩阵约束。
因此如果矩阵B满足
乘行约束1和2,则矩阵B满足
子矩阵约束。
将矩阵B的每一项
用其相应的
重二进制矩阵散列
替换后,可以得到一个
阵列
:
其中,若
,则
是
上的一个
CPM;若
,则
是一个全零矩阵。
是
上的一个
矩阵。
类似地,将矩阵B的每一项
用其相应的
重q进制矩阵散列
替换后,可以得到一个
阵列
:
其中,若
,则
是
上的一个
倍循环置换矩阵;若
,则
是一个全零矩阵。
和
分别是
、
上的一个
矩阵,将其分别称矩阵B的
重二进制和q进制阵列散列((q-1)fold binary and qary array dispersions)。
对于任意整数对
和
,
且
,令
和
分别表示
和
的一个
子阵列,则
和
分别是
、
上的一个
矩阵。
在
上的零空间给出了一个二进制QCLDPC码
,类似地,
在
上的零空间给出了一个q进制QCLDPC码
,其码长均为
。若
和
均不包含全零矩阵,则其具有固定的行重
和列重
,码
和
均是规则的,反之,它们均为非规则的。
定理3:如果矩阵B满足
子矩阵约束,则
、
满足RC约束(Rowcolumn constraint),即
、
中任意两行(或两列)至多有一个对应位置都为非零项。
证明:假设
不满足RC约束。因为
是一个循环置换矩阵的阵列,所以存在
,其中
且
,
且
,
,使得
的第k行与
的第l行相等,即
;且
的第k行与
的第l行相等,即
。因为在
上不同的元素有不同的位置向量,所以
且
。因此
,即
,与矩阵B满足
子矩阵约束矛盾,故
满足RC约束。同理,可证
也满足RC约束。
4. 基于有限域构造SCQCLDPC码的一般方法
考虑
上一个满足
子矩阵约束
矩阵
,复制矩阵B形成B的一个二维半无限阵列
:
其中对于任意
;
。其次,构造一个具有带对角线结构的
修饰矩阵
,使用
修饰
形成一个SC基矩阵
。最后,利用
的二进制阵列散列形成一个
上的
矩阵
,其零空间给出一个二进制SCQCLDPC码
;类似地,利用
的q进制阵列散列形成一个
上的
矩阵
,其零空间给出一个q进制SCQCLDPC码
。
在原模图构造中,我们可以把修饰矩阵
看作是与SC原模图相对应的原模矩阵(每对变量节点(Variable node, VN)和校验节点(Check node, CN)之间的边数不超过1)。此外,上述结构等价于提升
相对应的SC原模图,其提升因子为
。然而,提升(边的置换)是使用代数方法进行的。更一般地,这种构造也可以看作是SCLDPC码的叠加构造 [21],叠加基矩阵与修饰矩阵
完全相同。
对于给定的修饰矩阵
,我们可以得出最终的SCQCLDPC码的校验矩阵
完全取决于B的选择。下面的定理是关于B的选择如何影响最终的SCQCLDPC码的围长性质。
定理4:假设B是
上一个满足
子矩阵约束的
矩阵,且
。对于任意的
使得
,若
、
分别不能被m、n整除,则
满足
子矩阵约束。
证明:假设
不满足
子矩阵约束,则存在
,使得
,且
。再根据B和
的关系,可得出
、
分别能被m、n整除,矛盾。因此,
满足
子矩阵约束。
上述二进制和多进制SCQCLDPC码的结构是基于
上基矩阵B的
重二进制矩阵散列或q进制矩阵散列和修饰矩阵
构造,其中基矩阵B满足
子矩阵约束。现在的问题是如何构造基矩阵B和修饰矩阵
。接下来的三节将研究上述问题。
5. 基于有限域本原元的SCQCLDPC码构造
基矩阵B的构造:
对于
,当且仅当u和
互素,
上的非零元素
是一个本原元。
中本原元的个数K可由下式给出的欧拉函数确定,其中
是
的不同素因子。
设
是
中K个本原元组成的集合,令
。构造
上的
矩阵:
(5.1)
由上式,可以看出,矩阵
具有以下结构性质:1) 每一行(列)的所有元素在
上是不同的元素;2) 每一行(列)包含一个有且仅有一个零元素;3) 任何两行(列)对应位置上的元素均不同;4)
个0元素均位于矩阵的主对角线上。
推论1:矩阵
满足
子矩阵约束。
证明:基于定理1和定理2,对于矩阵
的任意
子矩阵
,其元素属于第
行、第
行和第
列、第
列,其中
且
、
,其行列式
,因此,矩阵
满足
子矩阵约束。
因此,
可作为进行
重阵列散列的基矩阵来构造二进制和多进制SCQCLDPC码。
修饰矩阵
的构造:
基于定理4,选取一个具有SC结构原模图的原模矩阵 [22] 作为修饰矩阵来修饰基矩阵B。
下面以几个例子来说明基于有限域本原元的SCQCLDPC码的构造。
5.1. 一类二进制SCQCLDPC码
例5.1.
基矩阵B的选取:将
作为构造码的域。注意到
可分解为
。根据欧拉方程可知
有
个本原元。利用式(5.1),我们可以构造一个128 × 128基矩阵B。
修饰矩阵
的选取:选择
,
,
,
,且选择40个分量规则矩阵
为全一矩阵。
二进制SCQCLDPC码的构造:利用算法1给出的构造方法,可形成一个
上的5334 × 10,160矩阵
,其零空间给出一个二进制SCQCLDPC码
。
5.2. 一类多进制SCQCLDPC码
例5.2.
基矩阵B的选取:将
作为构造码的域。注意到
可分解为
。根据欧拉方程可知
有
个本原元。利用式(5.1),我们可以构造一个36 × 36基矩阵B。
修饰矩阵
的选取:选择
,
,
,
,且选择40个分量规则矩阵
为全一矩阵。
多进制SCQCLDPC码的构造:利用算法2给出的构造方法,可形成一个
上2646 × 5040矩阵
,其零空间给出一个q进制SCQCLDPC码
。
6. 基于有限域的加法子群构造SCQCLDPC码
基矩阵B的构造:令
,其中p为素数且m为正整数。设
是素域
扩域,
是
的本原元,则
在
上线性无关,它们构成了
的一组基。
的任意元素
都可以表示为
的线性组合,即
,其中,
。当
时,设
是由
的线性组合生成的
上的加法子群,即
,其中,
。设
是由
的线性组合生成的
上的加法子群,即
,其中,
。显然,
。当
时,定义如下元素集合:
该集合其实就是以
为陪集首的
的陪集,包括其自身。这
个陪集构成了有限域
中q个元素的一个划分。
的两个陪集是不相交的。
构造
上大小为
的矩阵:
(6.1)
这里对于
,第i行由
的第i个陪集的元素组成。
的每一个元素在
中出现且仅出现一次。除第一行,
中的每一行
都由
的非零元素组成。
的第一行第一个位置为
上的0元素。除第一列,
中的每一行都由
的非零元素组成。
的第一列第一个位置为
上的0元素。由于
的任意两个陪集互不相交,故
任意不同两行对应位置的元素也互不相同。
推论2:矩阵
满足
子矩阵约束。
证明:基于定理1和定理2,对于矩阵
的任意
子矩阵
,其元素属于第
行、第
行和第
列、第
列,其中
、
且
、
,其行列式
,因此,矩阵
满足
子矩阵约束。
修饰矩阵
的构造:
基于定理 ,选取一个码率为1⁄3的结构化不规则LDPC码的原模图,其相对应的原模矩阵为:
为了保持原结构化不规则分组码的度分布,使用展开技术(unwrapping technique)来构造修饰矩阵
。将V分解为两个矩阵
和
,使得
,其中
则
(6.2)
下面以几个例子来说明基于有限域的加法子群SCQCLDPC码的构造。
6.1. 一类二进制SCQCLDPC码
例6.1.
基矩阵B的选取:将
作为构造码的域。令
为
的本原元(
的一个扩域)。设
,则
。设
和
是
上加法群的两个子群,分别由
和
张成。因此
,
。利用式(6.1),我们可以构造一个8 × 32基矩阵B。
修饰矩阵
的选取:选择
,利用式(6.2),我们可以构造一个162 × 208修饰矩阵
。
二进制SCQCLDPC码的构造:利用算法1给出的构造方法,可形成一个
上20,574 × 26,416矩阵
,其零空间给出一个二进制SCQCLDPC码
。
6.2. 一类多进制SCQCLDPC码
例6.2.
基矩阵B的选取:将
作为构造码的域。令
为
的本原元(
的一个扩域)。设
,则
。设
和
是
上加法群的两个子群,分别由
和
张成。因此
,
。利用式(6.1),我们可以构造一个4 × 16基矩阵B。
修饰矩阵
的选取:选择
,利用式(6.2),我们可以构造一个162 × 208修饰矩阵
。
多进制SCQCLDPC码的构造:利用算法2给出的构造方法,可形成一个
上10,206 × 13,104矩阵
,其零空间给出一个q进制SCQCLDPC码
。
7. 基于有限域的乘法子群构造SCQCLDPC码
基矩阵B的构造:令
是
的本原元。假设
不是素数。令
,
,其中k、m互素且
,则
和
构成了
上的两个循环乘法子群,且
。当
,集合
是
的一个乘法陪集。循环子群
共有k个乘法陪集,包括其自身。当
,集合
是
的一个乘法陪集。循环子群
共有m个乘法陪集,包括其自身。构造
上大小为
的矩阵:
(7.1)
其中,第i行的分量可通过将
的第i个乘法陪集中每一个元素减去
中的元素1得到的;第j行的分量可通过将
的第j个乘法陪集中每一个元素减去
中的元素1得到的。
由上式,可以看出,矩阵
具有以下结构性质:1) 有且仅有一个0元素,其位于左上角,其余
个元素均是
上的非零元素;2) 任意两行的m个对应位置上的元素均不相同;3) 任意两列的k个对应位置上的元素均不相同;4) 所有元素均是
上的不同元素。
推论3:矩阵
满足
子矩阵约束。
证明:基于定理1和定理2,对于矩阵
的任意
子矩阵
,其元素属于第
行、第
行和第
列、第
列,其中
、
且
、
,其行列式
,因此,矩阵
满足
子矩阵约束。
修饰矩阵
的构造:
基于定理4,选取一个结构化不规则LDPC码的原模图,其相对应的原模矩阵为:
,
将多边原模图分解成二进制矩阵之和,将V分解为
和
,使得
,其中
利用使用展开技术(unwrapping technique)来构造修饰矩阵
:
(7.2)
下面以几个例子来说明基于有限域的乘法子群SCQCLDPC码的构造。
7.1. 一类二进制SCQCLDPC码
例7.1.
基矩阵B的选取:将
作为构造码的域。令
为
的本原元(
的一个扩域)。可以看到,
,其可以分解为5和51的乘积,且它们互素。令
,
。集合
和
构成了
上的两个循环乘法子群,且
。利用式(7.1),我们可以构造一个5 × 51基矩阵B。
修饰矩阵
的选取:选择
,利用式(7.2),我们可以构造一个162 × 208修饰矩阵
。
二进制SCQCLDPC码的构造:利用算法1给出的构造方法,可形成一个
上20,574 × 26,416矩阵
,其零空间给出一个二进制SCQCLDPC码
。
7.2. 一类多进制SCQCLDPC码
例7.2.
基矩阵B的选取:将
作为构造码的域。令
为
的本原元(
的一个扩域)。可以看到,
,其可以分解为7和9的乘积,且它们互素。令
,
。集合
和
构成了
上的两个循环乘法子群,且
。利用式 ,我们可以构造一个7 × 9基矩阵B。
修饰矩阵
的选取:选择
,利用式(7.2),我们可以构造一个162 × 208修饰矩阵
。
多进制SC-QC-LDPC码的构造:利用算法2给出的构造方法,可形成一个
上20,574 × 26,416矩阵
,其零空间给出一个q进制SC-QC-LDPC码
。
8. 结论
本文提出了一种构造二进制和多进制SC-QC-LDPC码的一般方法,所提出的方法是基于在有限域
上对满足
子矩阵约束的修饰基矩阵的阵列散列,由此导出的稀疏校验矩阵所对应的Tanner图的围长至少为6。基于一般方法,本文提出了3种构造二进制和多进制SC-QC-LDPC码的特定方法,由此构造出了6类二进制SC-QC-LDPC码和多进制SC-QC-LDPC码。