CN106603083B - 基于ldpc码节点剩余度置信传播译码的改进方法 - Google Patents

基于ldpc码节点剩余度置信传播译码的改进方法 Download PDF

Info

Publication number
CN106603083B
CN106603083B CN201611144397.7A CN201611144397A CN106603083B CN 106603083 B CN106603083 B CN 106603083B CN 201611144397 A CN201611144397 A CN 201611144397A CN 106603083 B CN106603083 B CN 106603083B
Authority
CN
China
Prior art keywords
node
variable
decoding
nodes
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611144397.7A
Other languages
English (en)
Other versions
CN106603083A (zh
Inventor
周华
翁少辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN201611144397.7A priority Critical patent/CN106603083B/zh
Publication of CN106603083A publication Critical patent/CN106603083A/zh
Application granted granted Critical
Publication of CN106603083B publication Critical patent/CN106603083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开一种基于低密度奇偶校验(LDPC,Low‑Density Parity‑Check)码节点剩余度置信传播译码的改进方法。LDPC码的剩余度置信传播(RBP,Residual Belief Propagation)和基于校验节点的剩余度置信传播(NWRBP,Node‑wise RBP)是根据剩余度值的有序度量,动态选择最大剩余度值所在的边或校验节点,对其依次进行更新。对比依次同步更新所有校验节点和变量节点的Flooding译码,NWRBP的收敛速度和译码性能有了很大的提高。基于NWRBP,本发明提出了一种改进型NWRBP(ENWRBP,Enhanced NWRBP),通过统计NWRBP译码过程中各变量节点的更新次数,如果NWRBP迭代译码失败,然后将更新次数最少的变量节点的初始化值设置为0,并重新译码。仿真结果表明,与NWRBP相比,ENWRBP译码方法有效降低了误码率(BER,Bit Error Rate)和误帧率(FER,Frame Error Rate)。

Description

基于LDPC码节点剩余度置信传播译码的改进方法
技术领域
本发明属于电子、通讯、与信息工程类领域,特别涉及无线通信和信息存储中LDPC纠错码的译码方法的设计。
背景技术
低密度奇偶校验(LDPC,Low-Density Parity-Check)码是一种线性码。LDPC码因其接近香浓极限的特性,目前已经被广泛应用到深空通信、光纤通信、卫星数字视频、音频广播、数据存储等领域。
传统LDPC码的迭代译码方法flooding,在每次迭代过程中,先同时更新所有的从变量节点到校验节点的边信息,然后再同时更新所有的从校验节点到变量节点的边信息。flooding译码的收敛速度较慢,为了提高译码收敛速度,Casado等人将剩余度概念运用到了置信传播,并提出了两种译码时序:基于剩余度置信(RBP,Residual BeliefPropagation)传播译码、基于校验节点的剩余度置信传播(NWRBP,Node-Wise RBP)译码。两者的区别是,RBP动态选择最大剩余度所在的边进行更新,而NWRBP动态选择最大剩余度所在的校验节点进行更新。这两个译码方法的收敛速度都优于flooding。尽管RBP和NWRBP的误码率低于flooding,然而这两种动态译码过程容易出现边或节点更新次数不均匀的现象,且性能受限于陷井集(trapping sets)的影响,导致一些错误的变量节点(即误码)在多次迭代译码后仍然不能被纠正。
发明内容
经研究发现,NWRBP在译码过程中,变量节点更新的次数并不均衡,存在某些节点更新次数极少的现象。而相对于更新次数较多的变量节点,更新次数较少的变量节点不能为相邻节点提供足够的有用信息,亦或该节点无法从相邻节点获得有用信息,导致相邻节点或其本身发生错误的概率更大。本发明正是利用这一现象,在NWRBP译码的基础上提出一种改进方法Enhanced NWRBP(ENWRBP),该方法能有效均衡各变量节点的更新次数,从而进一步降低了LDPC码的译码误码率。
技术方案如下:
为方便理解译码流程,定义符号如下:
N(cm)={vn:hmn=1}表示与校验节点cm相连的所有变量节点的集合;
N(cm)\vn表示除了变量节点vn,所有与校验节点cm相连的变量节点的集合;
N(vn)={cm:hnm=1}表示与变量节点vn相连的所有校验节点的集合;
N(vn)\cm表示除了校验节点cm,所有与变量节点vn相连的所有校验节点的集合;
Lvj→ci表示变量节点vj到校验节点ci所在边的置信度值;
mci→vj表示校验节点ci到变量节点vj所在边的置信度值。
本发明提出的ENWRBP译码器的译码流程描述如下:
1)参数设置:变量节点vj更新次数uvj=0,j=1,2,...,n;设置初始化值被强制置零的变量节点总数为T,变量t=0,变量
Figure GDA0002066340960000011
2)初始化:所有从校验节点到变量节点的边信息mc→v设置为0;所有从变量节点到校验节点的边信息Lv→c设置为相应的信道接收信息ri
3)计算所有边信息mci→vj的剩余度值R(mci→vj)=abs(m'ci→vj-mci→vj),其中abs表示求绝对值,mci→vj和m'ci→vj分别表示从校验节点ci到变量节点vj的边信息在更新前后的置信度值;
4)在所有剩余度值中,找出最大剩余度值R(mcmax→vmax),并用cmax和vmax分别表示最大剩余度值所在边的两个端节点,即校验节点和变量节点;
5)对每一个vj∈N(cmax),更新从校验节点cmax到所有临边变量节点的信息mcmax→vj,记录vj更新的次数,即uvj=uvj+1;并将剩余度R(mcmax→vj)的值设置为0;
6)对每一个ca∈N(vj)\cmax,更新边信息Lvj→ca;再对每一个vi∈N(ca)\vj,计算新的剩余度值R(mca→vi);
7)若未达到最大迭代次数或译码序列不符合奇偶校验检测,则返回步骤4);
8)当译码失败且t<T,在{uvj}中查找最小值所对应的变量节点,即查找译码过程中变量节点更新次数最小的变量节点,记为vmin;否则跳转至步骤10);
9)
Figure GDA0002066340960000021
t=t+1;重复步骤1)和2)的操作;再对每一个
Figure GDA0002066340960000022
设置Lvq→c=0,即在重新译码的初始化步骤,对所有始于节点vq的变量到校验节点边信息强制置零,并返回步骤3);
10)译码结束,输出译码序列。
有益效果
本发明是基于LDPC码节点剩余度置信传播译码的改进方法。经研究发现,NWRBP在译码过程中,节点更新的次数并不均衡,存在某些节点更新次数少的现象,而相对于更新次数较多的变量节点,更新次数较少的变量节点不能为相邻节点提供足够的有用信息,亦或该节点无法从相邻节点获得有用信息,导致相邻节点或其本身发生错误的概率更大。本发明正是利用此现象,对这部分节点的信道接收值强制置零,并重新译码,从而有效降低误码率,达到提高译码性能的效果。
附图说明
图1:本发明提出的NWRBP译码器技术方案。
图2:码A在加性高斯白噪声信道环境下,T=10时各译码方案误码率和误帧率与信噪比的关系。
图3:码B在高斯白噪声信道环境下,T=10时各译码方案误码率和误帧率与信噪比的关系。
图4:码A在高斯白噪声信道环境下,不同T值,ENWRBP译码方案误码率和误帧率与信噪比的关系。
图5:码B在高斯白噪声信道环境下,不同T值,ENWRBP译码方案误码率和误帧率与信噪比的关系。
用于仿真的码A:(155,3,5)LDPC码。
用于仿真的码B:(305,3,5)LDPC码。
具体实施方式
具体实施方案如图1所示。在NWRBP的一次译码过程中,如果达到最大的迭代次数仍然不满足译码成功条件,那么就寻找到在迭代过程中更新最少次数的变量节点vmin,并且将始于该节点的变量到校验节点的边信息初始化值设置为0。随后,重新用NWRBP进行译码,连续测试T个更新次数最少的变量节点。
步骤1:首先初始化,把所有从校验节点到变量节点的边信息mcj→vi设置为0;把所有从变量节点到校验节点的边信息Lvi→cj设置为它们相应的信道接收信息ri;变量节点vj的更新次数uvj=0,j=1,2,...,n;设置最大迭代次数,设置最大尝试置零的变量节点数为T,变量t=0,变量
Figure GDA0002066340960000031
步骤2:计算校验节点到变量节点边信息的剩余度值R(mci→vj)。寻找剩余度值的最大值R(mcmax→vmax)所在的边,即在二分图中从校验节点cmax到变量节点vmax的置信度在更新前后残差最大。然后跟新边信息mcmax→vj,并且记录变量节点vj更新的次数,即uvj=uvj+1。随后,将剩余度Rcmax→vj的值设置为0。接着,对于每一个ca∈N(vj)\cmax,更新变量节点到校验节点的信息Lvj→ca,再对每一个vi∈N(ca)\vj,计算新的R(mca→vi)。接着,尝试译码判决,如果满足条件,译码结束,不满足则重复步骤2,直到达到最大迭代次数。
步骤3:如果不能译码成功,重新执行步骤1,接着找到更新次数最少的变量节点vmin,将其中所有从变量节点到校验节点的信息Lvmin→cj设置为0,并返回步骤2重新译码。重复译码中断条件为:成功译码或者初始化置零的变量节点数达到T个。
下面结合实例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
本发明实验所用计算机的配置为内存4GB,CPU是Intel Core i5-24003.1GHz的台式计算机,所用代码是Matlab2012b语言开发。用于测试发明方案的LDPC编码有A和B两种:码A是(155,3,5)LDPC码;码B是(305,3,5)LDPC码。本发明中所有的仿真都是在二进制输入加性高斯白噪声(BI-AWGN)信道环境进行的。译码采用基于剩余度置信度传播(RBP)、基于校验节点的剩余度置信度传播(NWRBP),以及本发明提出的基于校验节点的改进剩余度置信度传播(ENERBP),最大迭代次数为100,调制方式为BPSK。经分析各译码方案的性能,得出以下结论:
第一,ENWRBP的译码性能要好于NWRBP和RBP。如图2和图3所示,在SNR值较低时,图2中SNR值为2.5~3dB以及图3中2.5~2.7dB,误码率BER和误帧率FER的曲线三者大致相同。随着SNR值的增加,ENWRBP和NWRBP的译码曲线逐渐优于RBP,图2中NWRBP和ENWRBP依然大致相同,直到SNR值为4.0dB时,ENWRBP开始优于NWRBP,图3中ENWRBP在所示SNR范围内始终优于RBP和NWRBP,并且这种优势随着SNR值增大而在逐渐扩大。例如:如图3所示,在FER=2×10-4时,相比RBP和NWRBP,ENWRBP的FER分别得到0.3dB和0.18dB的译码增益,类似的,在BER=2×10-5时,相比RBP和NWRBP,ENWRBP的BER分别得到0.28dB和0.16dB的译码增益。
第二,随着t值的增大,ENWRBP的译码效果更好。如图4和图5所示,t=10时的曲线要低于t=5时的曲线,这种趋势随着SNR值的增大而增大。由此可见,通过增大对特定变量节点初始LLR值置0尝试次数,可进一步提高ENWRBP译码性能。例如:如图5所示,在FER=1×10-4时,相比T=5,T=10得到0.8dB的译码增益,同样,在BER=1×10-5时,相比T=5,T=10得到1.2dB的译码增益。

Claims (4)

1.基于LDPC码节点剩余度置信传播译码的改进方法,其特征在于,包括以下流程:
1)参数设置:变量节点vj更新次数
Figure FDA00022046174200000116
设置初始化值被强制置零的变量节点总数为T,变量t=0,变量
2)初始化:所有从校验节点到变量节点的边信息mc→v设置为0;所有从变量节点到校验节点的边信息Lv→c设置为相应的信道接收信息ri,ri的取值与具体传输信道环境有关,而与译码流程无直接关联;
3)计算所有边信息
Figure FDA0002204617420000019
的剩余度值其中abs表示求绝对值,
Figure FDA00022046174200000118
Figure FDA00022046174200000117
分别表示从校验节点ci到变量节点vj的边信息在更新前后的置信度值;
4)在所有剩余度值中,找出最大剩余度值并用cmax和vmax分别表示最大剩余度值所在边的两个端节点,即校验节点和变量节点;
5)对每一个vj∈N(cmax),更新从校验节点cmax到所有临边变量节点的信息记录vj更新的次数,即
Figure FDA00022046174200000122
并将剩余度
Figure FDA00022046174200000111
的值设置为0;
6)对每一个ca∈N(vj)\cmax,更新边信息
Figure FDA00022046174200000112
再对每一个vi∈N(ca)\vj,计算新的剩余度值
Figure FDA00022046174200000123
7)若未达到最大迭代次数或译码序列不符合奇偶校验检测,则返回步骤4);
8)当译码失败且t<T,在
Figure FDA00022046174200000113
中查找最小值所对应的变量节点,即查找译码过程中变量节点更新次数最小的变量节点,记为vmin;否则跳转至步骤10);
9)
Figure FDA0002204617420000012
t=t+1;重复步骤1)和2)的操作;再对每一个设置
Figure FDA00022046174200000119
即在重新译码的初始化步骤,对所有始于节点vq的变量到校验节点边信息强制置零,并返回步骤3);
10)译码结束,输出译码序列;
其中:
N(cm)={vn:hmn=1}表示与校验节点cm相连的所有变量节点的集合;
N(cm)\vn表示除了变量节点vn,所有与校验节点cm相连的变量节点的集合;
N(vn)={cm:hnm=1}表示与变量节点vn相连的所有校验节点的集合;
N(vn)\cm表示除了校验节点cm,所有与变量节点vn相连的所有校验节点的集合;
表示变量节点vj到校验节点ci所在边的置信度值;
Figure FDA00022046174200000121
表示校验节点ci到变量节点vj所在边的置信度值。
2.根据权利要求1所述的基于LDPC码节点剩余度置信传播译码的改进方法,其特征在于,所述1)中对所有变量节点到校验节点的边信息初始化为信道信息,并设置允许初始化值强制置零的变量节点总数为T,亦即允许的最大重新译码次数,T值越大,译码成功率越高。
3.根据权利要求1所述的基于LDPC码节点剩余度置信传播译码的改进方法,其特征在于,所述5)中记录译码过程中每一个变量节点被更新的次数
Figure FDA00022046174200000114
在译码失败后,依据所述8)寻找到更新次数最少的变量节点,记为vmin,并依据所述9)将其归纳入集合
Figure FDA0002204617420000016
Figure FDA0002204617420000014
4.根据权利要求1所述的基于LDPC码节点剩余度置信传播译码的改进方法,其特征在于,所述9)中对译码过程重新初始化,并对
Figure FDA0002204617420000015
中的变量节点按照
Figure FDA00022046174200000115
的规则,对始于vq的变量到校验节点边信息的初始化值强制置零。
CN201611144397.7A 2016-12-13 2016-12-13 基于ldpc码节点剩余度置信传播译码的改进方法 Active CN106603083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611144397.7A CN106603083B (zh) 2016-12-13 2016-12-13 基于ldpc码节点剩余度置信传播译码的改进方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611144397.7A CN106603083B (zh) 2016-12-13 2016-12-13 基于ldpc码节点剩余度置信传播译码的改进方法

Publications (2)

Publication Number Publication Date
CN106603083A CN106603083A (zh) 2017-04-26
CN106603083B true CN106603083B (zh) 2020-01-24

Family

ID=58802107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611144397.7A Active CN106603083B (zh) 2016-12-13 2016-12-13 基于ldpc码节点剩余度置信传播译码的改进方法

Country Status (1)

Country Link
CN (1) CN106603083B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055046B (zh) * 2018-01-31 2021-05-18 南京信息工程大学 一种基于双修正因子的ldpc译码器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350695B (zh) * 2007-07-20 2012-11-21 电子科技大学 低密度奇偶校验码译码方法及系统
CN101534129B (zh) * 2009-04-21 2011-06-15 北京邮电大学 基于不对等消息更新的置信传播ldpc译码方法
US8918705B1 (en) * 2012-01-11 2014-12-23 Sk Hynix Memory Solutions Inc. Error recovery by modifying soft information
CN103618585B (zh) * 2013-10-28 2014-12-31 清华大学 一种基于置信传播算法的联合多用户检测和译码方法
EP2892157A1 (en) * 2014-01-02 2015-07-08 Alcatel Lucent Offset Min-Sum decoding of LDPC codes
US9473175B1 (en) * 2015-02-10 2016-10-18 Microsemi Storage Solutions (U.S.), Inc. Forward error correction decoder system

Also Published As

Publication number Publication date
CN106603083A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN109586730B (zh) 一种基于智能后处理的极化码bp译码算法
CN100486118C (zh) 一种基于分段偏移修正的最小和译码方法
CN110022159B (zh) 一种快速收敛的ldpc码译码算法
CN110278002A (zh) 基于比特翻转的极化码置信传播列表译码方法
CN101107782A (zh) 用于解码纠错码的方法
CN107612560B (zh) 基于部分信息比特似然比的极化码早期迭代停止方法
CN107968657B (zh) 一种适用于低密度奇偶校验码的混合译码方法
CN110830049B (zh) 一种基于密度进化改进偏移最小和的ldpc译码方法
CN107565978B (zh) 基于Tanner图边调度策略的BP译码方法
CN103259545A (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN112290954B (zh) 一种基于深度学习后处理的ldpc码的译码算法
CN110233628B (zh) 极化码的自适应置信传播列表译码方法
CN102811065A (zh) 基于线性最小均方误差估计的修正最小和解码方法
CN110690906B (zh) 一种动态自修正最小和译码方法及基于其的译码器
Winkelbauer et al. On quantization of log-likelihood ratios for maximum mutual information
US20140173375A1 (en) Ldpc encoding/decoding method and device using same
CN106603083B (zh) 基于ldpc码节点剩余度置信传播译码的改进方法
US11184025B2 (en) LDPC decoding method and LDPC decoding apparatus
CN113114269A (zh) 一种置信传播-信息修正译码方法
CN111130567B (zh) 添加噪声扰动和比特翻转的极化码置信传播列表译码方法
CN101707486A (zh) 单向纠正的多状态置信传播迭代的ldpc译码方法
CN113556133B (zh) 针对CRC-Polar级联码的混合译码方法及装置
CN106656423B (zh) 一种基于em算法的ldpc码译码噪声方差的估计方法
KR20090064268A (ko) 가변 보정값을 이용한 복호화 장치 및 그 방법
CN110212924B (zh) 一种lt码编解码方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant