LDPC码简介
-
LDPC码是一种线性分组码,具有硬件可实现的译码器,并在很多数据传输和数据存储上都表现出逼近信道容量的性能。
-
LDPC码用校验矩阵或Tanner图表示。
LDPC码的Tanner 图类似于卷积码的网格图,它提供了LDPC码的另外一种完全表示方法,这种表示方法有助于译码算法的描述。Tanner 图是一种二部图(bipartite graph),也就是说,这种图中的节点被划分为两类,图上的边只连接不同类型的节点。Tanner 图上的这两种节点称为变量节点(variable nodes) 和校验节点(check nodes),分别用VN和CN来表示。一个码的Tanner图可以这样得到:当H中的元素hij为1时,第i个校验节点(CN i)和第j个变量节点(VN j)相连接。根据这种规则,Tanner 图上共有m个校验节点和n个变量节点;每个校验节点和一个校验方程相对应,每个变量节点和一个编码比特相对应。此外,H中的m行指定了m个校验节点的连接,而H中的n列定义了n个变量节点的连接。相应地,由n个变量节点所表示的许用n比特序列正好对应该码的码字。
- LDPC码的Tanner图对迭代译码器来说起到了蓝图的作用:图上的每个节点相当于一个局部操作处理器:每条边相当于一条总线,其作用是把信息从一个给定的节点传递到每一个与它相连的节点。
- Tanner图上传递的信息通常是概率信息,比如对数似然比(LLR),它跟分配到变量节点的比特值有关。LDPC译码器由来自信道的n个对数似然比值初始化,这些似然比值由n个VN处理器接收。基础迭代译码算法中,在每一次迭代前半部分的开始阶段,将信道以及与它相邻的校验节点的信息输入每个VN处理器,并根据这些输入计算出结果,再将结果当作输入传递给所有相邻CN处理器:在每一次迭代的下半阶段,将与它相邻的VN的信息输入到每个CN处理器,并根据这些输入计算出结果,再将结果当做输入传递给所有相邻VN处理器。
- 变量节点与校验节点之间的迭代一直持续到成功译出码字或者达到一个预先设定的最大迭代次数为止。