LDPC软译码过程:
输入(Input):
检验矩阵H,信道后验概率pn(x)=p(cn=x|rn),最大迭代次数L(x为0或1).
初始化(Initialization):
set qnm(x)=pn(x) for all (m,n) with H(m,n)=1
校验节点更新(Horizontal Step):
for each (m,n) with H(m,n)=1,
compute dqnm=qnm(0)-qnm(1),
drmn=#dqmn'(where n' belong to Nm,n , 在这里#表示连乘符号)
rmn(1)=(1-drmn)/2, rmn(0)=(1+drmn)/2.
变量节点更新(Vertical Step):
for each (m,n) with H(m,n)=1,
compute qnm(0)=a1pn(0)#rm'n(0)
qnm(1)=a1pn(1)#rm'n(1) (where m' belong to Mn,m ; and a1 is chosen so qnm(0)+qnm(1)=1 )
计算伪后验概率(Pseudoposterior probabilities):
qn(0)=a2pn(0)#rm'n(0)
qn(1)=a2pn(1)#rm'n(1) (where m' belong to Mn ; and a2 is chosen so qn(0)+qn(1)=1 )
译码尝试(Make a tentative decision):
set cn=1 if qn(1)>0.5, else set cn=0
if cnH'=0, then stop. otherwise, if iterations<L, loop to Horizontal Step. Otherwise, declare a decoding failure and stop.
LDPC和积译码示例:
1
2
3
4
5
6
7