CN102594365A - 一种动态异步bp译码方法 - Google Patents
一种动态异步bp译码方法 Download PDFInfo
- Publication number
- CN102594365A CN102594365A CN2012100506508A CN201210050650A CN102594365A CN 102594365 A CN102594365 A CN 102594365A CN 2012100506508 A CN2012100506508 A CN 2012100506508A CN 201210050650 A CN201210050650 A CN 201210050650A CN 102594365 A CN102594365 A CN 102594365A
- Authority
- CN
- China
- Prior art keywords
- message
- check
- variable node
- algorithm
- 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
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明针对LDPC码的BP译码算法,提供了一种基于变量节点到校验节点更新前后的最大信息残差,辅以变量节点的不稳定行判定动态构造异步更新次序的算法。本发明利用了不动点迭代算法误差估计中控制相邻两次计算结果的差值能控制收敛的原理,选取变量节点到校验节点的消息计算作为迭代函数,有效利用了校验节点的校验功能。本发明更好地定位出需要优先更新的消息,并能更快地克服LDPC码字中的陷阱集,从而减少译码时所需的迭代次数,达到使算法加速收敛并提升译码性能的目的。
Description
技术领域
本发明属于LDPC码译码算法设计和实现研究领域,是一个能够加速BP译码算法收敛的动态异步消息更新策略,为动态异步BP译码方法,即IVC RBP算法。
背景技术
LDPC码自1996年再次被发现以来,其译码算法(BP算法)以其实现简单,译码复杂度线性增加等特点,得到编译码领域的青睐,称为该领域的一个热点。
BP译码算法是一个消息迭代算法,节点间的消息沿着与LDPC码相对应的Tanner图的边来回传递,其消息传递主要包括了横向计算和纵向计算两个步骤,其中横向计算就是校验节点ci到变量节点vj的消息传递
纵向计算就是变量节点vi到校验节点cj的消息传递
在BP译码算法中,我们最终是要依靠每个变量节点的最大似然比来做01判定。每一个变量节点都将接收来自信道的先验概率(a priori)分别表示传递的比特为0和1的概率),还要接收来自与之相连的每一个校验节点传递的消息。因此变量节点vi的似然比就是所有接收到的消息总和
BP算法迭代过程在满足以下条件之一时停止:
(1)所有的校验方程都满足。
(2)迭代次数达到设定的最大值。
BP译码算法描述如下:
1)初始化所有Rc,v=0;
5)如果算法停止迭代的条件不满足,那么转到步骤3),否则结束译码。
对于消息迭代算法而言,异步消息更新策略的译码收敛速度明显优于同步消息更新策略,而对异步消息更新策略,其消息更新的顺序又对译码算法收敛性有重要影响。BP算法是一个同步消息更新算法,其收敛较慢,远远不能满足于许多要求较少迭代次数的应用需要。因此,加快BP算法的收敛性成了一个紧迫的任务。
发明内容
本发明的目的在于加速BP译码算法的收敛速度,使BP算法在较少迭代次数的情况下,加快译码速度,从而提升译码性能。
为了实现上述发明目的,本发明采用了如下技术方案:
一种动态异步BP译码方法,包含动态异步消息更新策略,利用变量节点到校验节点更新前后的最大消息残差,辅以变量节点的不稳定性判定的动态定位方法和两步校验节点到变量节点消息计算的消息传递形式,亦即,在消息更新时,确定不稳定且其信息m(vi,cj)具有最大残差的变量节点vi,首先对所有ca∈N(vi)\cj产生并传递消息来更新具有最大残差的消息使消息因接收了来自不同校验节点的消息而具有了更高的置信度,从而修正偏离收敛的状态,这是第一步从校验节点到变量节点消息计算及消息传递,其次,更新后的消息被传递用来更新消息vb∈N(cj)\vi,由于更新后的携带了更多的置信度,因而这些消息的传递能把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,这是第二步从校验节点到变量节点消息计算及消息传递,最后,对vb进行不稳定性判定,并且计算cd∈N(vb)\cj。
所述的最大消息残差为r(mk),r(mk)=||fk(m)-mk||∞,mk∈m,其中m表示所有消息,mk和fk(m)分别代表一个变量节点更新前和更新后的似然比。
前述方法的具体实现如下:
a、初始化所有mc,v=0;
c、初始化所有
h、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤d。
与现有技术相比,本发明利用不稳定的变量节点及其具有的最大变量节点到校验节点消息残差共同定位出需要优先更新的消息,然后有效利用相关的校验节点首先更新该消息,进而把更新后的消息利用这些校验节点传递给更多的变量节点,希望更多的变量节点在一个更新过程中得到校正,因此能加快算法的收敛性,同时提高译码性能。
附图说明
图1是本方法中一个更新过程的消息传递示意图;
图3是算法BP,LBP,NW RBP,VC-RBP和IVC RBP在码长2304,码率时,至多8次迭代时的FER性能图;
具体实施方式
本发明提供出了一种针对BP译码算法的动态异步消息更新策略,就是根据变量节点到校验节点的最大消息残差辅以变量节点不稳定性判定,有有效定位需要优先更新的变量节点到校验节点消息,并有效利用相关校验节点的校验功能。
设N(vi)代表与变量节点vi相连的所有校验节点(校验方程),N(vi)\cj则表示除去校验节点cj之外与变量节点vi相连的所有校验节点(校验方程);N(ci)代表与校验节点(校验方程)ci相连的所有变量节点,N(ci)\vj则表示除去变量节点vj与校验节点(校验方程)ci相连的所有变量节点。互相连接的变量节点和校验节点消息函数可定义为 其中m表示所有消息。消息残差计算公式为r(mk)=||fk(m)-mk||∞,mk∈m,其中fk(m)和mk分别表示更新后和更新前的变量节点到校验节点的消息。一个变量节点不稳定是指该变量节点在更新前后的似然比值符号相反。
我们假设变量节点vi不稳定且消息m(vi,cj)具有最大残差,该译码算法的动态策略包括如下三个步骤:
其次,更新后的消息被传递用来更新消息vb∈N(cj)\vi,由于更新后的携带了更多的置信度,因而这些消息的传递能把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的;
具体而言,本发明的消息迭代过程如下:
a、初始化所有mc,v=0;
b、初始化所有
e、对每一个ca∈N(vi)\cj,计算
h、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤d。
在动态BP算法的一次迭代过程中,要么校验节点到变量节点的消息计算量与BP算法的计算量相同,要么变量节点到校验节点的消息计算量与BP算法的计算量相同,所有的仿真都将严格遵守这个规则。dv和dc分别表示规则码中变量节点和校验节点的度,e表示Tanner图中边的数量,同时有e=dv·N=dc·M成立,其中N和M分别表示Tanner图中变量节点和校验节点的个数。该分析对于非规则码同样适用,只是dv和dc是节点度的平均值。下表给出对比算法一次迭代过程的消息计算量。
表一、一次迭代中的变量节点到校验节点消息计算量
表二、一次迭代中的校验节点到变量节点消息计算量
图表中,BP算法作为同步消息更新算法,而LBP算法作为非动态异步消息更新算法列出,仅作参考,不参与动态算法对比。
以下结合附图对本发明进一步说明。
如图1所示,图中用虚线和实线表示操作的先后顺序,虚线对应的操作优先于实线对应的操作。褐色圆圈表示已经被更新的变量节点,黑色方框表示已经被更新的校验节点。本发明的消息更新步骤如下,首先如图1-(a)所示,挑选出最大的残差然后对所有ca∈N(vi)\cj更新消息其次如图1-(b)所示,更新消息进而对所有vb∈N(cj)\vi计算消息最后如图1-(c)所示,计算相应的残差cd∈N(vb)\cj。
如图2、3所示,分别给出了码长576,码率和码长2304,码率时,在至多8次的迭代次数下,三种动态算法NW RBP,VC-RBP和IVC RBP的FER性能动态图。从图中可以看出IVC RBP算法的译码性能要比其他两个动态算法好,所有仿真都才用02.16(e)中基矩阵生成的LDPC码,算法都采用BPSK调制,AWGN信道(若无特殊说明,后面的实验说面仿真条件调制方式,信道类型均不变)。
如图4、5所示,分别给出了码长1152时随着迭代次数的增加,在给定信噪比为2.25dB,码率码率时,三种动态算法NWRBP,VC-RBP和IVC RBP的FER性能图。可以看出,IVC RBP算法在迭代次数大于25时,其译码性能与算法NW RBP基本重叠,仍然优于算法VC-RBP。
由性能对比图可以看出,无论是多达几十次的迭代,还是最大迭代次数小至8次,IVC RBP算法都显示出了气更快的收敛性,从而展现出更好的译码性能。这就达到了本发明的目的,加速BP算法的收敛速度。
Claims (3)
1.一种动态异步BP译码方法,其特征在于:包含动态异步消息更新策略,利用变量节点到校验节点更新前后的最大消息残差,辅以变量节点的不稳定性判定的动态定位方法和两步校验节点到变量节点消息计算的消息传递形式,亦即,在消息更新时,确定不稳定且其信息m(vi,cj)具有最大残差的变量节点vi,首先对所有ca∈N(vi)\cj产生并传递消息来更新具有最大残差的消息使消息因接收了来自不同校验节点的消息而具有了更高的置信度,从而修正偏离收敛的状态,这是第一步从校验节点到变量节点消息计算及消息传递,其次,更新后的消息被传递用来更新消息vb∈N(cj)\vi,由于更新后的携带了更多的置信度,因而这些消息的传递能把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,这是第二步从校验节点到变量节点消息计算及消息传递,最后,对vb进行不稳定性判定,并且计算cd∈N(vb)\cj。
2.根据权利要求1所述的动态异步BP译码方法,其特征在于:所述的最大消息残差为r(mk),r(mk)=||fk(m)-mk||∞,mk∈m,其中m表示所有消息,mk和fk(m)分别代表一个变量节点更新前和更新后的似然比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210050650.8A CN102594365B (zh) | 2012-02-29 | 2012-02-29 | 一种ldpc码的动态异步bp译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210050650.8A CN102594365B (zh) | 2012-02-29 | 2012-02-29 | 一种ldpc码的动态异步bp译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594365A true CN102594365A (zh) | 2012-07-18 |
CN102594365B CN102594365B (zh) | 2015-02-18 |
Family
ID=46482620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210050650.8A Expired - Fee Related CN102594365B (zh) | 2012-02-29 | 2012-02-29 | 一种ldpc码的动态异步bp译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594365B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105680880A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于c2v动态选择策略的ldpc码动态异步更新方法 |
CN106971759A (zh) * | 2016-12-14 | 2017-07-21 | 威盛电子股份有限公司 | 低密度奇偶校验装置与脱离矩阵陷阱集合方法 |
CN107241103A (zh) * | 2017-04-20 | 2017-10-10 | 广东工业大学 | 一种针对ldpc码的局部动态bp译码方法 |
CN107404323A (zh) * | 2017-08-09 | 2017-11-28 | 重庆邮电大学 | 一种基于交错行列消息传递的ldpc码改进译码算法 |
CN108055046A (zh) * | 2018-01-31 | 2018-05-18 | 南京信息工程大学 | 一种基于双修正因子的ldpc译码器 |
CN110086568A (zh) * | 2019-04-02 | 2019-08-02 | 中山大学 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101032084A (zh) * | 2004-10-01 | 2007-09-05 | 汤姆逊许可公司 | 低密度奇偶校验(ldpc)解码器 |
US7281192B2 (en) * | 2004-04-05 | 2007-10-09 | Broadcom Corporation | LDPC (Low Density Parity Check) coded signal decoding using parallel and simultaneous bit node and check node processing |
CN101529773A (zh) * | 2006-10-26 | 2009-09-09 | 高通股份有限公司 | 用于无线通信传输的编码方案 |
-
2012
- 2012-02-29 CN CN201210050650.8A patent/CN102594365B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7281192B2 (en) * | 2004-04-05 | 2007-10-09 | Broadcom Corporation | LDPC (Low Density Parity Check) coded signal decoding using parallel and simultaneous bit node and check node processing |
CN101032084A (zh) * | 2004-10-01 | 2007-09-05 | 汤姆逊许可公司 | 低密度奇偶校验(ldpc)解码器 |
CN101529773A (zh) * | 2006-10-26 | 2009-09-09 | 高通股份有限公司 | 用于无线通信传输的编码方案 |
Non-Patent Citations (2)
Title |
---|
刘星成等: "系统RA码的基于WBF策略的改进BP译码算法", 《电子学报》 * |
张小花,李艳萍: "改进的LDPC码Normalized BP-Based译码算法", 《计算机应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105680880A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于c2v动态选择策略的ldpc码动态异步更新方法 |
CN105680880B (zh) * | 2016-01-04 | 2019-06-07 | 中山大学 | 基于c2v动态选择策略的ldpc码动态异步更新方法 |
CN106971759A (zh) * | 2016-12-14 | 2017-07-21 | 威盛电子股份有限公司 | 低密度奇偶校验装置与脱离矩阵陷阱集合方法 |
CN106971759B (zh) * | 2016-12-14 | 2020-03-27 | 威盛电子股份有限公司 | 低密度奇偶校验装置与脱离矩阵陷阱集合方法 |
CN107241103A (zh) * | 2017-04-20 | 2017-10-10 | 广东工业大学 | 一种针对ldpc码的局部动态bp译码方法 |
CN107241103B (zh) * | 2017-04-20 | 2021-01-05 | 广东工业大学 | 一种针对ldpc码的局部动态bp译码方法 |
CN107404323A (zh) * | 2017-08-09 | 2017-11-28 | 重庆邮电大学 | 一种基于交错行列消息传递的ldpc码改进译码算法 |
CN108055046A (zh) * | 2018-01-31 | 2018-05-18 | 南京信息工程大学 | 一种基于双修正因子的ldpc译码器 |
CN108055046B (zh) * | 2018-01-31 | 2021-05-18 | 南京信息工程大学 | 一种基于双修正因子的ldpc译码器 |
CN110086568A (zh) * | 2019-04-02 | 2019-08-02 | 中山大学 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102594365B (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594365A (zh) | 一种动态异步bp译码方法 | |
CN102594367B (zh) | 一种ldpc码的低复杂度的动态异步bp译码方法 | |
CN100486118C (zh) | 一种基于分段偏移修正的最小和译码方法 | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
CN104639178A (zh) | 一种基于ldpc码的动态列更新译码方法 | |
CN102111241B (zh) | 低密度奇偶校验迭代译码提前终止的方法 | |
CN103259545A (zh) | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 | |
CN102594366B (zh) | 一种针对ldpc码的自适应可并行动态异步bp译码方法 | |
CN101567697A (zh) | 一种速率兼容的低密度奇偶校验码编码方法和编码器 | |
CN107968657A (zh) | 一种适用于低密度奇偶校验码的混合译码方法 | |
CN105024704A (zh) | 一种低复杂度的列分层ldpc译码器实现方法 | |
CN110166171A (zh) | 多元ldpc码基于ems的分段式补偿高性能译码方案 | |
CN101345601A (zh) | 一种译码方法和译码器 | |
CN101064591B (zh) | 低密度奇偶校验码的译码方法及其校验节点更新电路 | |
CN104467874A (zh) | 一种基于振荡变量节点的ldpc码动态调度译码方法 | |
CN105680880A (zh) | 基于c2v动态选择策略的ldpc码动态异步更新方法 | |
CN104092468A (zh) | 基于加速交替方向乘子法的ldpc码线性规划译码方法 | |
CN106254030A (zh) | 无速率Spinal码的双向编译码方法 | |
CN104579362A (zh) | 一种空间通信系统中部分并行结构ldpc码译码系统及其方法 | |
CN100539441C (zh) | 一种低密度奇偶校验码的译码方法 | |
CN101350695B (zh) | 低密度奇偶校验码译码方法及系统 | |
CN108809330A (zh) | 一种针对NAND-Flash存储介质的LDPC码译码方法 | |
CN102064837B (zh) | 基于fifo分段存储的qc-ldpc码部分并行译码方法 | |
US8381063B2 (en) | Decoding apparatus and method based on variable error correction value | |
CN107404320A (zh) | 用于进行重组解码的低密度奇偶校验解码装置及相关方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 Termination date: 20180229 |