CN107241103A - 一种针对ldpc码的局部动态bp译码方法 - Google Patents
一种针对ldpc码的局部动态bp译码方法 Download PDFInfo
- Publication number
- CN107241103A CN107241103A CN201710260653.7A CN201710260653A CN107241103A CN 107241103 A CN107241103 A CN 107241103A CN 201710260653 A CN201710260653 A CN 201710260653A CN 107241103 A CN107241103 A CN 107241103A
- Authority
- CN
- China
- Prior art keywords
- node
- check
- message
- residual error
- variable node
- 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.)
- Granted
Links
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
- H03M13/1125—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明针对LDPC码的动态BP译码算法,提出了一种基于LDPC码的局部动态更新译码方法(LRBP),该方法采用基于局部残差的消息更新,有效地提升了包括少量迭代次数内的BP译码性能,超越了其他动态BP译码算法。与以往动态BP译码方法不同的是,LRBP方法认为残差具有时效性,因此只关注时间上最近的这部分残差,并由此确定下一个要更新的消息。这样做的好处是总能使用最新的消息进行消息更新,能影响算法的收敛性,有效地改善了BP译码算法的收敛速度。
Description
技术领域
本发明涉及LDPC码译码技术领域,特别涉及一种基于LDPC码的局部动态译码方法。
背景技术
LDPC码自1996年再次被发现以来,其译码算法(flooding BP算法)以其实现简单,译码复杂度线性增加等特点,成为了编译码领域焦点。而SVNF-RBP算法为代表的动态BP译码算法虽然增加了残差计算和搜索复杂度,同时也极大地提升了BP算法的译码性能。
SVNF-RBP译码算法是一个异步动态消息迭代算法,每一次根据一个最大的校验节点到变量节点消息残差,定位下一个要更新的校验节点到变量节点消息。消息更新就是根据每次找到的最大残差为序,沿着与LDPC码相对应的Tanner图中的边来回传递,其消息传递主要包括了针对每一个变量节点的横向计算和纵向计算两个步骤,其中横向计算就是校验节点ci到变量节点vj的消息传递:
纵向计算就是变量节点vi到校验节点cj的消息传递:
在BP译码算法中,最终是要依靠每个变量节点的最大似然比来做0、1判定。每一个变量节点都将接收来自信道的先验概率(a priori)(pv(0),pv(1)分别表示传递的比特为0和1的概率),还要接收来自与之相连的每一个校验节点传递的消息。因此变量节点vi的似然比就是所有接收到的消息总和:
似然比消息残差计算公式:r(mk)=||fk(m)-mk||∞,mk∈m;其中m表示计算fk(m)所需的相关消息,mk和fk(m)分别代表校验节点到变量节点更新前和更新后的似然比。
SVNF-RBP算法迭代过程在满足以下条件之一时停止:
(1)所有的校验方程都满足。
(2)迭代次数达到设定的最大值。
SVNF-RBP算法的具体过程为:
1)初始化所有mc,v=0;
2)初始化所有
3)计算所有r(mc,v);
4)对每一个vj,找出
5)计算和ca∈N(vmax)\cmax
6)计算ca∈N(vmax)\cmax,vb∈N(ca)\vmax
7)如果所有校验方程满足或是达到设定的最大迭代次数,则结束译码,否则返回步骤4)
对于BP迭代算法,异步策略一般都是通过加速译码收敛来提升译码性能。SVNF-RBP算法能大幅提升BP译码性能,但是增加了大量的计算、搜索复杂度。因此,在提升译码性能的同时降低复杂度显得尤为重要。
发明内容
本发明的目的在于克服上述现有技术的至少一种缺点与不足,提供一种基于LDPC码的局部动态译码方法,该局部动态译码方法降低了残差搜索和存储复杂度,同时提升了译码性能。
本发明的目的通过下述技术方案实现:
一种基于LDPC码的动态BP译码方法,提出残差具有时效性,采用最新产生的局部最大残差确定消息的更新顺序:
选定要更新的校验节点到变量节点消息首先更新消息对所有校验节点ca∈N(vj)\ci产生并传递消息对所有变量节点vb∈N(ca)\vj计算消息的残差,并在这些残差中找出最大者确定下一个要更新的校验节点到变量节点消息;
具体的局部动态译码算法(LRBP):
1)初始化所有
2)初始化所有
3)计算所有r(mc,v);
4)找出
5)计算和
6)计算ca∈N(vmax)\cmax,vb∈N(ca)\vmax
7)如果所有校验方程满足或是达到设定的最大迭代次数,则结束译码,否则返回步骤4)
其中:mc,v泛指所有校验节点到变量节点的消息;泛指变量节点vn到所有相连的校验节点的消息;表示变量节点vi的信道先验概率;r(mc,v)泛指所有校验节点到变量节点的消息更新前和更新后的残差;表示校验节点ci到变量节点vj的似然比值更新前和更新后的残差;N(vi)表示与变量节点vi相连的所有校验节点集合,校验节点ca∈N(vi)表示校验节点ca将取遍与变量节点vi相连所有校验节点;表示从校验节点ca到变量节点vi的消息,表示从变量节点vi到校验节点cj的消息;N(cj)表示与校验节点cj相连的所有变量节点,N(cj)\vi表示与校验节点cj相连的所有不包括变量节点vi的其他变量节点,vb∈N(cj)\vi表示变量节点vb将取遍与校验节点cj相连的所有不包括变量节点vi的其他变量节点。
似然比消息残差计算公式:r(mk)=||fk(m)-mk||∞,mk∈m;其中m表示计算fk(m)所需的相关消息,mk和fk(m)分别代表校验节点到变量节点更新前和更新后的似然比。
本方法提出残差的产生具有时效性,通过寻找局部最大残差来建立一个校验节点到变量节点消息的更新序列。
因此,本发明相对于现有技术具有如下的优点及效果:
只从最新产生的残差中找出最大的残差,可在计算的同时进行搜索,因此残差不需要存储,减少了存储复杂度;最新产生的残差也就是局部残差,减少了搜索最大残差的复杂度。
相对于SVNF-RBP算法,本发明不但能提升了较少迭代次数的译码性能,还有效提升了高信噪比的译码性能。
附图说明
图1是算法LRBP的动态策略示意图。
图2是算法flooding,LBP,NW RBP,SVNF-RBP和LRBP在码长1944,码率给定信噪比为1.75dB时的FER性能图。
图3是算法SVNF-RBP和LRBP在码长1944,码率5、50次迭代时的FER性能图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明是一种基于LDPC码的局部动态译码方法,是针对LDPC码的动态BP译码方法(LRBP),该方法提出残差的产生具有时效性,通过寻找局部最大残差来建立一个校验节点到变量节点消息的更新序列。
设N(vi)代表与变量节点vi相连的所有校验节点,N(vi)\cj则表示与变量节点vi相连的不包括校验节点cj的所有其他校验节点;N(ci)代表与校验节点(校验方程)ci相连的所有变量节点,N(ci)\vj则表示与校验节点ci相连的不包括变量节点vj的所有其他变量节点。互相连接的变量节点和校验节点消息函数可定义为 其中m表示计算或所需的相关消息。信道的先验概率(a priori)(pv(0),pv(1)分别表示传递的比特信息为0和1的概率)。校验节点到变量节点似然比消息残差计算公式r(mk)=||fk(m)-mk||∞,其中m表示计算fk(m)所需的相关消息,mk和fk(m)分别代表校验节点到变量节点消息更新前和更新后的似然比。
假设校验节点到变量节点消息具有局部最大残差,该译码算法的动态策略包括如下三个步骤:
首先,更新消息并传递。
其次,更新消息ca∈N(vj)\ci并传递。
最后,计算残差vb∈N(ca)\vj,ca∈N(vj)\ci,同时找出最大残差。
具体而言,本发明的算法迭代过程如下:
1)初始化所有mc,v=0;
2)初始化所有
3)计算所有r(mc,v);
4)找出
5)计算和ca∈N(vmax)\cmax
6)计算ca∈N(vmax)\cmax,vb∈N(ca)\vmax
7)如果所有校验方程满足或是达到设定的最大迭代次数,则结束译码,否则返回步骤4)
在动态BP译码算法的一次迭代过程中,要么校验节点到变量节点的消息计算量与BP算法相同,要么变量节点到校验节点的消息计算量与BP算法相同,所有的仿真都将严格遵守这个规则。下表给出对此算法一次迭代过程的消息计算量,其中,和分别表示变量节点和校验节点的平均度,e表示Tanner图中边的数量,同时有成立,其中N和M分别表示Tanner图中变量节点和校验节点的个数。
表1一次迭代中的校验节点到变量节点消息计算量
表2一次迭代中的变量节点到校验节点消息计算量
表1、2中,Flooding BP算法作为同步消息更新算法,LBP算法作为异步非动态消息更新算法,仅作参考。
动态算法NW RBP算法与SVNF-RBP算法都是采用校验节点到变量节点消息最大残差,最大残差计算公式:r(mk)=||fk(m)-mk||∞,其中r(mk)表示最大消息残差,m表示计算fk(m)所需的相关消息,mk和fk(m)分别代表校验节点到变量节点更新前和更新后的似然比,来找出下一个要更新的校验节点到变量节点消息,然后展开一个实质的消息更新过程,两个算法都需要对残差进行存储,所不同的是NW RBP算法是在全部非零校验节点到变量节点消息残差中选取下一个要优先更新的消息,而SVNF-RBP算法则是在每个变量节点覆盖范围中的非零校验节点到变量节点消息残差中选取下一个要优先更新的消息。
下面给出相关算法主要特征:
NW RBP算法:
1)、初始化所有mc,v=0;
2)、初始化所有
3)、计算所有r(mc,v);
4)、在所有非零残差中挑选最大残差
5)、对每一个vk∈N(ci),计算同时把设置为0。
6)、对每一个ca∈N(vk),计算
7)、对每一个vb∈N(ca)\vk,计算
8)、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤4。
SVNF-RBP算法:
1)、初始化所有mc,v=0;
2)、初始化所有
3)、计算所有r(mc,v);
4)、对每一个vi,对所有vb∈N(ca)\vi(ca∈N(vi)),在所有非零残差中挑选最大残差
5)、计算并设置
6)、对每一个ca∈N(vmax)\cmax,计算
7)、对每一个vb∈N(ca)\vmax,计算
8)、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤4。
从上述算法描述可看出,该LRBP算法与NW RBP和SVNF-RBP算法都采用校验节点到变量节点似然比值绝对残差定位方法,不同的是LRBP算法区别残差产生的时间,只使用最新产生的残差;而NW RBP和SVNF-RBP算法对不同时间产生的残差给予的是无差别对待,对所有残差一视同仁。考虑到SVNF-RBP是目前动态算法中最具代表性的,因此LRBP算法将主要与SVNF-RBP算法进行对比。
如图1所示,黑色圆圈表示已经被更新的变量节点,黑色方框表示已经被更新的校验节点。动态异步消息更新策略步骤如下,首先如图1(a)所示,选出校验节点到变量节点消息优先更新,然后如图1(b)所示,对所有校验节点ca∈N(vj)\ci产生消息并进行传递,最后,图1(c),对所有校验节点ca∈N(vj)\ci,vb∈N(ci)\vj计算残差
图2列出了包括Flooding BP、LBP在内的NW RBP,SVNF-RBP和LRBP在码长1944,码率给定信噪比为1.75dB时的FER性能图。从图中可以看出,LRBP即使在5次迭代内性能曲线明显在SVNF-RBP算法曲线之下,而SVNF-RBP是目前最有代表性的动态译码算法,因此在后面的仿真图中主要和SVNF-RBP算法进行对比。所有仿真都是在AWGN信道下进行。
图3给出了码长1944,码率时,分别在5、50次迭代次数下,SVNF-RBP和LRBP算法的FER性能图。从图中可以看出,LRBP算法在较少迭代次数5次迭代时,译码性能已经略胜于SVNF-RBP算法,在50次迭代中低信噪比的情形下,性能与SVNF-RBP算法基本一致,在高信噪比时超越了SVNF-RBP算法。
本发明公开一种基于LDPC码的动态译码方法——LRBP(Local Residual BP),该方法不但能减少残差的搜索和存储复杂度,同时还能提升较小迭代次数内的译码性能(SVNF-RBP算法在较小迭代次数内几乎没有性能提升),高信噪比时译码性能也明显优于SVNF-RBP算法。
LRBP算法首先提出残差具有时效性,也就是不同时间产生的残差,其作用也不尽相同。LRBP算法只关注最新产生的残差,在最新产生的残差中找出最大残差来建立校验节点到变量节点消息的更新序列。由于最新产生的残差是由最新的消息更新产生,因此总是能用最新的消息去更新下一个消息,这一行为起到加速收敛的效果,提升了译码性能。同时,最新残差中搜索最大残差,可在计算的同时进行,因此不需要存储残差,搜索的范围减小,有效降低了动态译码算法的存储搜索复杂度。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (1)
1.一种基于LDPC码的局部动态BP译码方法,该方法认只关注局部残差,其特征在于,只在局部残差中根据最大残差确定下一个要更新的消息,算法过程描述如下:
选定要更新的校验节点到变量节点消息首先更新消息对所有校验节点ca∈N(vj)\ci产生并传递消息对所有变量节点vb∈N(ca)\vj计算消息的残差,并在这些残差中找出最大者确定下一个要更新的校验节点到变量节点消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710260653.7A CN107241103B (zh) | 2017-04-20 | 2017-04-20 | 一种针对ldpc码的局部动态bp译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710260653.7A CN107241103B (zh) | 2017-04-20 | 2017-04-20 | 一种针对ldpc码的局部动态bp译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241103A true CN107241103A (zh) | 2017-10-10 |
CN107241103B CN107241103B (zh) | 2021-01-05 |
Family
ID=59983720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710260653.7A Active CN107241103B (zh) | 2017-04-20 | 2017-04-20 | 一种针对ldpc码的局部动态bp译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107241103B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594365A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种动态异步bp译码方法 |
CN102594367A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种低复杂度的动态异步bp译码方法 |
WO2014058674A1 (en) * | 2012-10-09 | 2014-04-17 | Nec Laboratories America, Inc. | Ldpc-coded modulation for ultra-high-speed optical transport in the presence of phase noise |
CN104639178A (zh) * | 2015-03-06 | 2015-05-20 | 中山大学 | 一种基于ldpc码的动态列更新译码方法 |
US20150155889A1 (en) * | 2008-10-31 | 2015-06-04 | Broadcom Corporation | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding |
KR20150062445A (ko) * | 2013-11-29 | 2015-06-08 | 한국과학기술원 | 저밀도 패리티 체크 코드의 디코딩 방법 및 장치 |
CN106452455A (zh) * | 2016-09-23 | 2017-02-22 | 华南理工大学 | 基于OpenCL 移动设备QC‑LDPC 的动态译码方法 |
-
2017
- 2017-04-20 CN CN201710260653.7A patent/CN107241103B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150155889A1 (en) * | 2008-10-31 | 2015-06-04 | Broadcom Corporation | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding |
CN102594365A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种动态异步bp译码方法 |
CN102594367A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种低复杂度的动态异步bp译码方法 |
WO2014058674A1 (en) * | 2012-10-09 | 2014-04-17 | Nec Laboratories America, Inc. | Ldpc-coded modulation for ultra-high-speed optical transport in the presence of phase noise |
KR20150062445A (ko) * | 2013-11-29 | 2015-06-08 | 한국과학기술원 | 저밀도 패리티 체크 코드의 디코딩 방법 및 장치 |
CN104639178A (zh) * | 2015-03-06 | 2015-05-20 | 中山大学 | 一种基于ldpc码的动态列更新译码方法 |
CN106452455A (zh) * | 2016-09-23 | 2017-02-22 | 华南理工大学 | 基于OpenCL 移动设备QC‑LDPC 的动态译码方法 |
Non-Patent Citations (2)
Title |
---|
CHAUDHRY ADNAN ASLAM: "Low-Complexity Belief-Propagation Decoding via Dynamic Silent-Variable-Node-Free Scheduling", 《IEEE COMMUNICATION LETTERS》 * |
郑伟: "一种改进的LDPC码BP译码算法", 《河北大学学报(自然科学版》 * |
Also Published As
Publication number | Publication date |
---|---|
CN107241103B (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104639178B (zh) | 一种基于ldpc码的动态列更新译码方法 | |
CN111565051B (zh) | 一种用于ldpc码的自学习归一化偏置最小和译码方法 | |
CN106803759A (zh) | 基于高斯构造的Polar码有效自适应译码方法 | |
CN109309502B (zh) | 5g nr标准的分层ldpc基矩阵处理译码方法 | |
CN103259545B (zh) | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 | |
CN106506009A (zh) | 一种极化码的译码方法 | |
CN110535475B (zh) | 一种分层自适应归一化最小和译码算法 | |
CN113098530B (zh) | 基于平均簇残差动态调度选择策略的ldpc码译码方法 | |
CN104467874B (zh) | 一种基于振荡变量节点的ldpc码动态调度译码方法 | |
CN105680880B (zh) | 基于c2v动态选择策略的ldpc码动态异步更新方法 | |
CN111277277B (zh) | 一种减少极化码连续对消表译码算法译码延迟的方法及装置 | |
CN112332864B (zh) | 一种自适应有序移动剪枝列表的极化码译码方法及系统 | |
JP2011514775A (ja) | 低密度パリティ検査符号を使用する通信システムにおけるチャネル符号化及び復号化装置並びにその方法 | |
CN106330201B (zh) | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 | |
Yuan et al. | Construction and decoding algorithms for polar codes based on 2× 2 non-binary kernels | |
CN110233628A (zh) | 极化码的自适应置信传播列表译码方法 | |
CN105680876B (zh) | 基于v2c动态选择策略的ldpc码动态异步更新方法 | |
CN107196737A (zh) | 基于消息传递算法的scma译码方法 | |
Lu et al. | Deep learning aided SCL decoding of polar codes with shifted-pruning | |
CN107707334A (zh) | 一种基于额外列的网格ec‑t‑mm译码方法 | |
CN107017967B (zh) | 一种改良串行策略的scma通信系统多用户检测方法 | |
CN106452675A (zh) | 一种极化码的球形译码方法 | |
CN107241104A (zh) | 一个针对ldpc码的局部异号动态bp译码方法 | |
CN108566211A (zh) | 基于H矩阵层处理顺序动态变化的layered LDPC译码方法 | |
CN107241103A (zh) | 一种针对ldpc码的局部动态bp译码方法 |
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 |