LDPC码及其译码实现Word格式.docx
《LDPC码及其译码实现Word格式.docx》由会员分享,可在线阅读,更多相关《LDPC码及其译码实现Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
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的一个校验方
程,在图
中,d包含在
3
个校验方程中;
第一层中的每一线段上
的节点表示这一校验方程中除d以外的其他比特,因此包含d的
个校
验方程分别是:
C
+
1,1
2,1
3,1
1,2
2,2
3,2
1,3
2,3
3,3
=
校验方程中的加法是模
2
加。
即为比特d的数值,C
即为比特
d1,1
(1,1)的数值。
与第一层各节点相连接的每条边同样表示包含该比特的一个校
验方程,第二层中的每一线段上的节点同样表示该校验方程中除第一
层比特以外的其他比特。
以比特(2,2)为例,和比特(2,2)相连接
的边有
条,其中一条与本层节点(2,1),(2,3),及根节点d相连,
另外两条与第二层中节点u,v,w和x,y,z相连。
因此包含比特(2,2)的
3
个校验方程分别为:
u
x
v
y
w
z
第三层(图中未画出)及以后的各层依此类推,每个比特都有相
应的以该比特为根节点的校验集合树。
假设信道是无记忆信道,
仅与
c
及信道噪声有关,考虑根
节点
d
和第一层节点组成的集合,这些比特组成了包含比特
的
j
个校验方程,每个校验方程由
k
个比特组成(包含比特
),显
然发送的这些比特满足这
个校验方程。
因此假设当发送的码字是
c
(
c,
L,
01
n
-
1
)
时,那么在以上情况下接收到的符号即
为
y
y,
。
这样在传送码字
时,码字中的各比特满足包含比特
的
j
当接收到相应的符号序列
y时,比特
1
的条件
概率可以表示为
P
|
同理,比特d
0
概率表示为
又令当不考虑发送比特间的相
关性时,
的概率表示为
有关。
,它与信道模型
令
P
,
il
表示
的校验集合树第一
层中包含
的第
i
个校验方程的第
l
个比特为
的概率,那么有:
[
]
(2.1
)
根据式
2.1,只要知道了图
的第一层中各比特为
的概率
,就可以算出比特
的条件概率。
在其他根节点的校验树里比
又作为一个节点参与到根节点的概率计算中去,即比特
从
与其有关的节点中获取信息计算出概率,再将其计算出的概率信息传
出用于计算其他的节点
c,由于在计算其他节点
c时同样会用到
ii
计算比特
时所用过的运算,所以可以通过共享计算的中间结果而
使计算量大为降低,进而发展出了BPA(也称SPA或MPA)。
2.2BP算法(也称SP或MP算法)
校验集合树虽然比较直观,但对于每一个节点都有不同的校验集
合树,因此在描述并行计算整个码字各比特的后验概率时,使用校验
集合树并不方便,因此介绍一种新的图形表示法,Tanner图。
对应于
的Tanner图如图
2.2
所示。
该图仅画出部分变量节点和校验节
点。
Tanner图中变量节点对应于校验集合树中的节点,校验节点对应
于校验集合树中的边。
(1,1)(1,2)(1,3)(2,1)(2,2)(2,3)(3,1)(3,2)(3,3)d
S
4
2.2对应于图
校验集合树的部分Tanner图
由Tanner图可看出,信息是在变量节点和校验节点之间来回传递
的,变量节点d将自身的固有信息再加上与它有关的
S
校验
123
节点传给它的额外信息一起传递给校验节点
同理,校验节点
也
4j
是将自身的固有信息再加上与它有关的除某一变量节点v
以外的其
余变量节点所传给
的额外信息一起传递给变量节点
v
,如此信息便
ji
在变量节点和校验节点之间来回传递,不断更新变量节点和校验节点
的值,所有变量节点和校验节点更新完一次称之为一次迭代结束,直
到变量节点译码成功或者达到最大的迭代次数译码输出。
因此,完整的BPA(也称SPA或MPA)表述如下:
1)
初始化:
q1
p1
f
q0
,其中
表示的是信道的先验
mlllmlmll
概率。
2)
校验节点更新:
δ
q≡
q
r
≡
r1
,则有
mlmlmlmlmlml
(-1)z
ml
m
∏
q
ml'
(2.2)
l'
∈L(m)/
l
(1+
/
2
mlml
3)
变量节点更新:
(2.3)
(2.4)
αp0
mlmll
αp1
∏
m'
∈M
(l
)/
r1
(2.5)
(2.6)
其中
α
是一个使得
1的值
mlmlml
4)
似后验概率更新
p0
lll
(2.7)
p1
m∈M
(2.8)
同样
的值
∧∧(
5)
比特判决:
如果
>
0.5
,判决
x
;
否则判
1,2,L
N
iii
若
H
Tx
,或者迭代次数达到最大迭代次数,则结束迭代,将∧
作为译码输出;
否则返回到步骤
2)继续迭代。
2.3Log-BP算法
由
介绍的BP算法可以看出BP算法比较复杂,且该算法需要很
多连乘运算,需要大量的运算时间和消耗大量的硬件资源,不便于硬
件实现,因此,又发展出了一种更加简便的对数域的BP算法,简称
Log-BP算法。
考虑一个二值随机变量
,它的对数似然比
L(
x)
定义为
ln
P(
0)
1)
根据对数似然比的定义,令
v0
lnl
v=
ln
q0
q1
u=
rml
再对以上的BP算法在对数域内进行一系列的化简,最终可获得
Log-BP算法的完整表述:
v0
mll
(2.9)
(2.10)
+
∑
(2.11)
似后验概率更新:
ll
(2.12)
,或者迭代次数达到最大迭代次数,则结束迭代,将x
∧∧
如果v
,则判
,(
∧
2.4Min_Su