LDPC码及其译码实现
- 格式:docx
- 大小:345.90 KB
- 文档页数:12
LDPC码及其译码实现
一、 LDPC码简介
LDPC码最早在 20 世纪 60 年代由Gallager在他的博士论文中提
出,但限于当时的技术条件,缺乏可行的译码算法,此后的 35 年间
基本上被人们忽略,其间由Tanner在 1981 年推广了LDPC码并给出了
LDPC码的图表示,即后来所称的Tanner图。1995 年前后MacKay和Neal
等人对LDPC码重新进行了研究,提出了可行的译码算法,从而进一步
发现了LDPC码所具有的良好性能,迅速引起强烈反响和极大关注。
LDPC码(低密度奇偶校验码)本质上是一种线形分组码,它通过
一个生成矩阵G将信息序列映射成发送序列,也就是码字序列。对于
生成矩阵G,完全等效地存在一个奇偶校验矩阵H,所有的码字序列C
构成了H的零空间 (null space),即HCT=0。LDPC码的奇偶校验矩
阵H是一个稀疏矩阵,相对于行与列的长度,校验矩阵每行、列中非
零元素的数目(我们习惯称作行重、列重)非常小,这也是LDPC码之所
以称为低密度码的原因。由于校验矩阵H的稀疏性以及构造时所使用
的不同规则,使得不同LDPC码的编码二分图(Taner图)具有不同的闭
合环路分布。而二分图中闭合环路是影响LDPC码性能的重要因素,它
使得LDPC码在类似可信度传播(Belief ProPagation)算法的一类迭
代译码算法下,表现出完全不同的译码性能。
当H 的行重和列重保持不变或尽可能的保持均匀时,我们称这样
的LDPC码为正则LDPC码,反之如果列、行重变化差异较大时,称为
非正则的LDPC码。根据校验矩阵H中的元素是属于GF(2)还是
GF(q)(q=2p),我们还可以将LDPC码分为二元域或多元域的LDPC码。
二、LDPC译码算法
2.1、Gallager概率译码算法
Gallager当初为了介绍LDPC码,同时还提出了一种迭代的概率译
码算法,Gallager概率译码算法,后来在此基础上又发展出了置信度
传播译码算法(BPA,也称SPA或者MPA)。
假设一个二进制序列是一个LDPC码字,那么这n个比特就要满足
由该码字的校验矩阵所确定的一系列的校验方程。并且,包含某一比
特 C 的校验方程可能不止一个,这些校验方程中的其他比特又可能包 i
含在其他更多的校验方程中。为了直观的表示这种关系,Gallager引
入了校验集合树的概念。图 2.1 所示为某一比特的校验集合树。
(1,1) (1,2) (1,3) (2,1) (2,2) (2,3) (3,1) (3,2) (3,3)
d
图 2.1 校验集合树
根节点表示比特d,和d相连的每一条边表示包含d的一个校验方
程,在图 2.1 中,d包含在 3 个校验方程中;第一层中的每一线段上
的节点表示这一校验方程中除d以外的其他比特,因此包含d的 3 个校
验方程分别是:
C
C
C
d
d
d C
C
C
1,1
2,1
3,1 C
C
C
1,2
2,2
3,2 C
C
C
1,3
2,3
3,3 0
0
0
校验方程中的加法是模 2 加。C 即为比特d的数值,C 即为比特 d 1,1
(1,1)的数值。
与第一层各节点相连接的每条边同样表示包含该比特的一个校
验方程,第二层中的每一线段上的节点同样表示该校验方程中除第一
层比特以外的其他比特。以比特(2,2)为例,和比特(2,2)相连接
的边有 3 条,其中一条与本层节点(2,1),(2,3),及根节点d相连,
另外两条与第二层中节点u,v,w和x,y,z相连。因此包含比特(2,2)的 3
个校验方程分别为:
C
2,2 C
2,1 C
2,3 C
d 0
C
C
2,2
2,2 C
C
u
x C
C
v
y C
C
w
z 0
0
第三层(图中未画出)及以后的各层依此类推,每个比特都有相
应的以该比特为根节点的校验集合树。
假设信道是无记忆信道, y
i 仅与 c
i 及信道噪声有关,考虑根
节点 d 和第一层节点组成的集合,这些比特组成了包含比特 d 的
j1(12P)P i 1 1 (1 2 P )
l 1
j 个校验方程,每个校验方程由 k 个比特组成(包含比特 d ),显
然发送的这些比特满足这 j 个校验方程。因此假设当发送的码字是
c ( c , c , L , c 0 1
n 1 ) 时,那么在以上情况下接收到的符号即
为 y ( y , y , L , y 0 1
n 1 ) 。
这样在传送码字 c 时,码字中的各比特满足包含比特 d 的 j
个校验方程。当接收到相应的符号序列 y 时,比特 d 为 1 的条件
概率可以表示为 P ( c
d 1 | y , c ) 。同理,比特d 为 0 的条件
概率表示为 P ( c
d 0 | y , c ) 。又令当不考虑发送比特间的相
关性时, d 为 1 的概率表示为 P ( c
有关。
d 1 | y ) ,它与信道模型
令 P
d P ( c
d 1 | y ) , P
il 表示 d 的校验集合树第一
层中包含 d 的第 i 个校验方程的第 l 个比特为 1 的概率,那么有:
P [ c
P [ c
d
d 0 | y , c ] 1 P il l 1 1 | y , c ] k 1 d k 1
il
(2.1 )
P
il 根据式 2.1,只要知道了图 2.1 的第一层中各比特为 1 的概率
,就可以算出比特 d 的条件概率。在其他根节点的校验树里比
特 d 又作为一个节点参与到根节点的概率计算中去,即比特 d 从
与其有关的节点中获取信息计算出概率,再将其计算出的概率信息传
出用于计算其他的节点 c ,由于在计算其他节点 c 时同样会用到 i i
计算比特 d 时所用过的运算,所以可以通过共享计算的中间结果而
使计算量大为降低,进而发展出了BPA(也称SPA或MPA)。