CN106603083B - 基于ldpc码节点剩余度置信传播译码的改进方法 - Google Patents
基于ldpc码节点剩余度置信传播译码的改进方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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,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译码器的译码流程描述如下:
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);
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,变量
步骤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码节点剩余度置信传播译码的改进方法,其特征在于,包括以下流程:
2)初始化:所有从校验节点到变量节点的边信息mc→v设置为0;所有从变量节点到校验节点的边信息Lv→c设置为相应的信道接收信息ri,ri的取值与具体传输信道环境有关,而与译码流程无直接关联;
4)在所有剩余度值中,找出最大剩余度值并用cmax和vmax分别表示最大剩余度值所在边的两个端节点,即校验节点和变量节点;
7)若未达到最大迭代次数或译码序列不符合奇偶校验检测,则返回步骤4);
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所在边的置信度值;
2.根据权利要求1所述的基于LDPC码节点剩余度置信传播译码的改进方法,其特征在于,所述1)中对所有变量节点到校验节点的边信息初始化为信道信息,并设置允许初始化值强制置零的变量节点总数为T,亦即允许的最大重新译码次数,T值越大,译码成功率越高。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055046B (zh) * | 2018-01-31 | 2021-05-18 | 南京信息工程大学 | 一种基于双修正因子的ldpc译码器 |
Family Cites Families (6)
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 |
-
2016
- 2016-12-13 CN CN201611144397.7A patent/CN106603083B/zh active Active
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 |