低密度奇偶校验码 (LDPC)
低密度奇偶校验码 (LDPC) 是一种线性纠错分组码,适用于通过噪声很大的信道传输的大块数据中的纠错。
LDPC 码由 Robert G. Gallager 在 1960 年在麻省理工学院的博士论文中开发。因此,这些码也称为 Gallager 码。
低密度奇偶校验码的编码
低密度奇偶校验 (LDPC) 码由一个奇偶校验矩阵指定,该矩阵主要包含 0,并且 1 的密度较低。矩阵的行表示方程,列表示码字中的位,即码符号。
LDPC 码由 (n, j, k) 表示,其中 n 是块长度,j 是每一列中 1 的数量,k 是每一行中 1 的数量,并具有以下属性:
j 是每一列中 1 的数量的小固定数,其中 j > 3
k 是每一行中 1 的数量的小固定数,其中 k > j。
示例 1 - 汉明码的奇偶校验矩阵
以下奇偶校验矩阵是具有 n = 7 的汉明码,其中包含 4 个信息位,后跟 3 个偶校验位。校验位位于对角线上。奇偶校验方程如下所示:
示例 2 - 低密度奇偶校验矩阵
此示例说明了一个 (12, 3, 4) LDPC 矩阵,即 n = 12,j = 3,k = 4。这意味着每个方程作用于 4 个码符号,每个码符号出现在 3 个方程中。与汉明码的奇偶校验矩阵不同,此码在校验位中没有任何对角线上的 1。
LDPC 码的解码
LDPC 码有两种可能的解码技术:
在第一种技术中,解码器根据奇偶校验方程进行所有奇偶校验。如果任何一位包含超过固定数量的不满足的奇偶校验方程,则该位的数值将被反转。一旦获得新值,就使用新值重新计算奇偶校验方程。重复此过程,直到所有奇偶校验方程都满足为止。
这种解码过程很简单,但仅适用于奇偶校验集较小的情况。
第二种方法对 LDPC 图进行概率算法。该图是一个稀疏二部图,包含两组节点,一组表示奇偶校验方程,另一组表示码符号。如果方程中存在码符号,则一条线连接第一组中的节点到第二组。
这两种方法的两个子类是置信传播和最大似然解码。虽然这些解码算法很复杂,但它们比前者产生更好的结果。