更新时间:2022-08-25 18:40
低密度奇偶检查码(Low-density parity-check code,LDPC code),是线性分组码(linear block code)的一种,用于更正传输过程中发生错误的编码方式。
在1962年,低密度奇偶检查码(LDPC code)即被Gallager提出,并被证明其错误校正能力非常接近理论最大值,香农极限(Shannon Limit);不过受限于当时技术,低密度奇偶检查码并无法实现。低密度奇偶检查码被重新发现,并随着集成电路的技术演进,低密度奇偶检查码的实现逐渐可行,而成为各种先进通信系统的频道编码标准。
低密度奇偶检查码的解码,可对应成二分图(bipartite graph)作表示。下方的二分图是依照上述奇偶检验矩阵H建置,其中H的行(column)对应至check node,而H的列(row)对应至bit node。check node和bit node之间的连接,由H内的元素1决定;好比H中第一行(column)和第一列(row)的元素1,使check node和bit node两者各自最左手边的第一个彼此连接。
低密度奇偶检查码的解码算法,主要基于有迭代性(iterative)的置信传播(belief propagation);整个解码流程如下方所示:
详细的解码算法,常见有两种:总和-乘积算法(Sum-Product Algorithm)和最小值-总和算法(Min-Sum Algorithm)。总和-乘积算法具有较佳的错误更正能力,却具较高的计算复杂度;反之,最小值-总和算法在稍微减低的错误更正能力下,换取较低的计算复杂度。
假设在一通信系统的频道有AWGN属性,而发送信号为,接收信号是,bit node有n个,check node有m个。而总和-乘积算法在解码流程如下:
bit noden会被初始化成:
。
check nodem会被初始化成:
。
check node更新:
check nodem更新为:
;其中是连接到check nodem的bit node组合,但不包含第n个bit node。
bit node更新:
bit noden更新为:
;其中是连接到bit noden的check node组合,但不包含第m个check node。
终止:
解码比特计算:假设解码后信号为。Hard-decision解码比特可由下列两式求出:
只要解码后的码字在恒等式成立,即终止迭代计算。
最小值-总和算法[编辑]
最小值-总和演算,大抵上和总和-乘积算法类似,除了于“check node更新”做不一样的计算方式。而改变的计算式如下:
。