CN102594366A - 一种自适应可并行动态异步bp译码方法 - Google Patents
一种自适应可并行动态异步bp译码方法 Download PDFInfo
- Publication number
- CN102594366A CN102594366A CN2012100509578A CN201210050957A CN102594366A CN 102594366 A CN102594366 A CN 102594366A CN 2012100509578 A CN2012100509578 A CN 2012100509578A CN 201210050957 A CN201210050957 A CN 201210050957A CN 102594366 A CN102594366 A CN 102594366A
- Authority
- CN
- China
- Prior art keywords
- message
- algorithm
- formation
- node
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 81
- 230000015572 biosynthetic process Effects 0.000 claims description 33
- 230000006978 adaptation Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 230000001934 delay Effects 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 26
- 238000012804 iterative process Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 2
- 102100038503 Cellular retinoic acid-binding protein 1 Human genes 0.000 description 1
- 101001099865 Homo sapiens Cellular retinoic acid-binding protein 1 Proteins 0.000 description 1
- 101000665873 Homo sapiens Retinol-binding protein 3 Proteins 0.000 description 1
- 101001096332 Homo sapiens Retinol-binding protein 5 Proteins 0.000 description 1
- 101000904152 Homo sapiens Transcription factor E2F1 Proteins 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 102100038247 Retinol-binding protein 3 Human genes 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明针对LDPC码的BP译码算法,涉及了一个自适应可并行的动态异步消息更新算法,该算法基于变量节点到校验节点更新前后的消息残差,辅以变量节点的不稳定性判定动态构造异步消息更新次序。算法每次更新过程中的多个消息相互间完全独立,这些消息的并行传递起到了延缓Tanner图中环对译码性能的影响,同时提高了计算效率。由于该算法等效地增加了环长,在同等消息计算量的前提下显示了非常优秀的译码性能。
Description
技术领域
本发明属于LDPC码译码算法设计和实现研究领域,是一个能够提升BP算法译码性能的自适应可并行动态异步消息更新策略,亦即AVIC RBP算法。
背景技术
LDPC码自1996年再次被发现以来,其编译算法(BP算法)其其实现简单,译码复杂度线性增加等特点,得到编译码领域的青睐,成为该领域的一个热点。
BP译码算法是一个消息迭代算法,节点间的消息沿着与LDPC码相对应的Tanner图的边来回传递,其消息传递主要包括了横向计算和纵向计算两个步骤,其中横向计算就是校验节点ci到变量节点vj的消息传递
纵向计算就是变量节点vi到校验节点cj的消息传递
在BP译码算法中,我们最终是要依靠每个变量节点的最大似然比来做01判定。每一个变量节点都将接收来自信道的先验概率(pv(0),pv(1)分别表示传递的比特为0和1的概率),还要接收来自与之相连的每一个校验节点传递的消息。因此变量节点vi的似然比就是所有接收到的消息总和
BP算法迭代过程在满足以下条件之一时停止:
(1)所有的校验方程都满足。
(2)迭代次数达到设定的最大值。
BP译码算法描述如下:
1)初始化所有Rc,v=0;
2)初始化所有
4)对每一个变量节点vj校验节点ci和每一个ci∈N(vj),计算消息
5)如果算法停止迭代的条件不满足,那么转到步骤3),否则结束译码。
LDPC码字中的环无法避免,且环会破坏消息概率统计独立的前提,因而大大影响了译码算法的准确性,进而影响译码性能。而最小环越大,译码性能会越好。对环给译码带来的影响,在译码方面没有特别有效的应对策略。
对于消息迭代算法而言,异步消息更新策略的译码收敛速度明显优于同步消息更新策略,而对异步消息更新策略,其消息更新的顺序又对译码算法收敛性有重要影响。BP算法是一个同步消息更新算法,其译码性能还有很大的提升空间。因此,加快BP算法的收敛性成了一个紧迫的任务。
发明内容
本发明就是为了提升BP算法的译码性能,在算法的复杂度和译码性能之间找到一种平衡,提升译码性能。
为了实现上述的发明目的,本发明的技术方案如下:
一种自适应可并行动态异步BP译码方法,采用动态异步消息更新策略一次同时定位出多个需优先更新的变量节点到校验节点消息差并存放在队列Q中,使队列Q消息残差引发的更新过程相互间完全独立,亦即,在消息更新时,首先,有p个残差被自适应选入队列Q中,队列一旦生成,即引发消息更新计算,另有k∈{1,...,p},对所有cka∈N(vki)\ckj产生并传递消息以更新具有最大残差的消息使消息因接收了来自不同校验节点的消息而具有更高的置信度,从而修正了偏离收敛状态,其次,更新后的被传递用来更新更新后的携带了更多的置信度,因此这些消息能够把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,最后,对vkb进行不稳定性判定,并且计算相关的新的残差
1)、初始化vi=0,vi∈N,cj=0,cj∈M;
2)、如存在不稳定的变量节点,分别生成降序队列O1和Q2,把Q2中的残差添加到O1,如果没有不稳定的变量节点,生成降序队列Q2,把Q2中的残差拷贝到Q1;
进一步地,该方法具体实现如下:
1)、初始化所有mc,v=0;
2)、初始化所有
3)、初始化所有
4)、用Q-generating算法生成队列Q;
对每一个ca∈N(vi)\cj
对每一个vb∈N(cj)\vi
计算并对vb做不稳定判定,
对每一个cd∈N(vb)\cj
6)、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤4)。
与现有技术相比,本发明利用不稳定的变量节点及其变量节点到校验节点消息残差自适应定位出多个需要优先更新的消息,这些残差所引发的更新过程相互间完全独立,保证了消息计算时的可并行性,能够大大提高计算效率。更新过程中,有效利用相关的校验节点首先更新这些消息,进而把更新后的消息利用这些校验节点传递给更多的变量节点,希望更多的变量节点在一个更新过程中得到校正。因为在一次更新过程中有p组消息同时独立更新,因此在某种意义上增加了码字的环长。
LDPC码字中的环无法避免,因为环会破坏消息概率统计独立的前提,因而大大影响了译码算法的准确性,进而影响译码性能。AIVC RBP算法能有效延缓环对译码算法的影响,因而可大大提升译码性能,而算法中的动态异步消息更新策略能加速算法收敛,因此AIVC RBP算法具有很好的译码性能。
附图说明
图1是本发明的并行动态策略示意图;
具体实施方式
本发明针对LDPC码的自适应可并行动态异步BP译码算法(AIVC RBP),该算法中的动态异步消息更新策略一次同时定位出多个需优先更新的变量节点到校验节点消息残差存放在队列Q中,队列Q消息残差引发的更新过程相互间完全独立,因此能并行计算提高计算效率。该动态策略通过采用两步校验节点到变量节点消息计算的消息传递形式进行消息更新,有效利用了校验节点的校验功能。
设与LDPC码对应的Tanner图中有校验节点集合M和变量节点集合N。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分别表示更新后和更新前的变量节点到校验节点的消息。一个变量节点不稳定是指该变量节点在更新前后的似然比值符号相反。
遍历变量节点到校验节点消息残差降序队列,采用自适应的方法,由大至小保证每一个将被选出的残差所引发的消息更新过程,与队列Q中已选出的残差所引发的消息更新过程之间完全相互独立。由此来建立队列Q。
假设有p个残差在队列Q中,且有k∈{1,...,p},AIVC RBP算法的动态策略包括如下三个步骤:
首先,有p个残差被自适应选入队列Q中,队列一旦生成,就引发消息更新计算,对所有cka∈N(vki)\ckj产生并传递消息目的就是为了去更新具有最大残差的消息这样的更新使得消息因接收了来自不同校验节点的消息而具有更高的置信度,从而修正了偏离收敛状态,其次,更新后的被传递用来更新由于更新后的携带了更多的置信度,因此这些消息的传递能够把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,最后,对vkb进行不稳定性判定,并且计算相关的新的残差
所述的译码算法中队列Q生成过程细化如下:
需要两个辅助队列Q1和Q2,其中Q1用来存储所有不稳定变量节点vi的非零残差而Q2用来存储所有稳定变量节点vi的非零残差并使用Q-generating算法生队列Q,其中Q-generating算法中的残差挑选过程如下:
1)、初始化vi=0,vi∈N,cj=0,cj∈M,其中N和M分别表示Tanner图中变量节点集合和校验节点集合;
2)、如存在不稳定的变量节点,分别生成降序队列Q1和Q2,把Q2中的残差添加到Q1,如果没有不稳定的变量节点,生成降序队列Q2,把Q2中的残差拷贝到Q1;
再者,所述的译码AVIC RBP算法的迭代过程细化如下:
1)、初始化所有mc,v=0;
2)、初始化所有
3)、初始化所有
4)、用Q-generating算法生成队列Q;
对每一个ca∈N(vi)\cj
对每一个vb∈N(cj)\vi
计算并对vb做不稳定判定,
对每一个cd∈N(vb)\cj
6)、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤4)。
在动态BP算法的一次迭代过程中,要么校验节点到变量节点的消息计算量与BP算法的计算量相同,要么变量节点到校验节点的消息计算量与BP算法的计算量相同,所有的仿真都严格遵守这个队则。用dv和dc分别表示规则码中变量节点和校验节点的度,e表示Tanner图中边的数量相同,同时有e=dv·N=dc·M成立。上述的分析对于非规则码同样适用,只是dv和dc是节点度的平均值。下表给出IVC RBP算法和AIVC RBP算法一次迭代过程的消息计算量:
表一、一次迭代中的变量节点到校验节点的消息计算量
表2、一次迭代中的校验节点到变量节点消息计算量
从表1和表2可以观察到,算法AIVC RBP一次迭代中各种消息的计算量正好与算法IVCRBPp次迭代中相应的消息计算量相等。区别在于,在算法AIVC RBP一个更新过程中有p个变量节点到变量节点消息被选定来更新,而在算法IVC RBP一个更新过程只选取一个变量节点到校验节点消息来更新。因此算法AIVC RBP的所有仿真都必须是在与算法IVC RBP消息计算等量的前提下进行。在算法AIVC RBP的仿真中将考虑了不同p值来寻找译码复杂度与译码性能之间的平衡点。
假设t1是计算一个变量节点到校验节点消息所需的时间,t2是计算一个校验节点到变量节点消息所需的时间。表3和表4将给出算法AIVC RBP分别在并行译码和窜行译码时的消息计算时间。
表3、一次迭代中的变量节点到校验节点消息计算量
表4、一次迭代中的校验节点到变量节点消息计算量
正如表3和表4所示,当算法AIVC RBP并行译码的时候,与算法IVC RBP相比并没有增加额外的消息计算时间复杂度。
以下结合附图对本发明进一步说明。
如图1所示,图中用虚线和实线表示操作的先后顺序,虚线对应的操作优先于实线对应的操作。黑色圆圈表示已经被更新了的变量节点,黑色方框表示已经被更新了的校验节点。其中,k∈{1,...,p},则本发明的消息更新策略为,如图1-(a)所示,所有被选入队列,然后对所有cka∈N(vki)\ckj同步更新消息如图1-(b)所示,同时更新所有然后对所有vkb∈N(ckj)\vki同时更新消息如图1-(c)所示计算相关消息的残差
如图2所示,当码长为576,码率时时,算法IVC RBP和AIVC RBP的译码性能。因为我们认为算法AIVC RBP一次迭代的消息计算量与算法IVC RBP 25次迭代的消息计算量近似相等,当p取值为5和15时,算法AIVC RBP一次迭代的消息计算量分别于算法IVCRBP 5次和15次迭代的消息计算量相等。所有仿真都采用802.16(e)中基矩阵生成的LDPC码,算法都采用BPSK调制,AWGN信道(若无特殊说明,后面的实验仿真条件调制方式,信道类型均不变)。
如图3所示,当码长为576,码率是时,算法IVC RBP和AIVC RBP的译码性能。因为我们认为算法AIVC RBP一次迭代的消息计算量与算法IVC RBP 6次迭代的消息计算量近似等,当p取值为3和4时,算法AIVC RBP一次迭代的消息计算量分别与算法IVC RBP3次迭代和4次迭代的消息计算量相等。
如图4所示,当码长为1152,码率是时,算法IVC RBP和AIVC RBP的译码性能。因为我们认为算法AIVC RBP一次迭代的消息计算量和算法IVC RBP 50次的消息计算量近似相等,当p取值为5和25时,算法AIVC RBP一次迭代的消息计算量分别与算法IVC RBP5次和25次迭代的消息计算量相等。
在仿真结果中,我们将看到,在同等消息计算量的条件下,算法AIVC RBP的FER译码性能远远优于算法IVC RBP。这就达到了本发明的目的,大大提升BP算法的译码性能。
Claims (3)
1.一种自适应可并行动态异步BP译码方法,其特征在于:采用动态异步消息更新策略一次同时定位出多个需优先更新的变量节点到校验节点消息差并存放在队列Q中,使队列Q消息残差引发的更新过程相互间完全独立,亦即,在消息更新时,首先,有p个残差被自适应选入队列Q中,队列一旦生成,即引发消息更新计算,另有k∈{1,...,p},对所有cka∈N(vki)\ckj产生并传递消息以更新具有最大残差的消息使消息因接收了来自不同校验节点的消息而具有更高的置信度,从而修正了偏离收敛状态,其次,更新后的被传递用来更新更新后的携带了更多的置信度,因此这些消息能够把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,最后,对vkb进行不稳定性判定,并且计算相关的新的残差
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210050957.8A CN102594366B (zh) | 2012-02-29 | 2012-02-29 | 一种针对ldpc码的自适应可并行动态异步bp译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210050957.8A CN102594366B (zh) | 2012-02-29 | 2012-02-29 | 一种针对ldpc码的自适应可并行动态异步bp译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594366A true CN102594366A (zh) | 2012-07-18 |
CN102594366B CN102594366B (zh) | 2015-11-18 |
Family
ID=46482621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210050957.8A Expired - Fee Related CN102594366B (zh) | 2012-02-29 | 2012-02-29 | 一种针对ldpc码的自适应可并行动态异步bp译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594366B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801432A (zh) * | 2012-07-20 | 2012-11-28 | 航天恒星科技有限公司 | 一种多进制ldpc的串行fht-bp译码方法及装置 |
CN105680876A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于v2c动态选择策略的ldpc码动态异步更新方法 |
CN108092673A (zh) * | 2018-02-10 | 2018-05-29 | 中国传媒大学 | 一种基于动态调度的bp迭代译码方法及系统 |
CN108809330A (zh) * | 2018-05-07 | 2018-11-13 | 中山大学 | 一种针对NAND-Flash存储介质的LDPC码译码方法 |
CN111490796A (zh) * | 2020-04-24 | 2020-08-04 | 北京交通大学 | 基于动态翻转比特的置信传播译码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060227902A1 (en) * | 2005-04-08 | 2006-10-12 | Seagate Technology Llc | Method and apparatus for interative noise whitening with causal and anti-causal prediction filters |
CN101465653A (zh) * | 2009-01-06 | 2009-06-24 | 中山大学 | 一种低密度奇偶校验码的串行译码方法 |
-
2012
- 2012-02-29 CN CN201210050957.8A patent/CN102594366B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060227902A1 (en) * | 2005-04-08 | 2006-10-12 | Seagate Technology Llc | Method and apparatus for interative noise whitening with causal and anti-causal prediction filters |
CN101465653A (zh) * | 2009-01-06 | 2009-06-24 | 中山大学 | 一种低密度奇偶校验码的串行译码方法 |
Non-Patent Citations (2)
Title |
---|
JUNTAN ZHANG等: "Shuffled Iterative Decoding", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 * |
韩国军: "LDPC码的信道自适应迭代译码算法", 《电路与系统学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801432A (zh) * | 2012-07-20 | 2012-11-28 | 航天恒星科技有限公司 | 一种多进制ldpc的串行fht-bp译码方法及装置 |
CN102801432B (zh) * | 2012-07-20 | 2016-05-04 | 航天恒星科技有限公司 | 一种多进制ldpc的串行fht-bp译码方法及装置 |
CN105680876A (zh) * | 2016-01-04 | 2016-06-15 | 中山大学 | 基于v2c动态选择策略的ldpc码动态异步更新方法 |
CN105680876B (zh) * | 2016-01-04 | 2019-06-07 | 中山大学 | 基于v2c动态选择策略的ldpc码动态异步更新方法 |
CN108092673A (zh) * | 2018-02-10 | 2018-05-29 | 中国传媒大学 | 一种基于动态调度的bp迭代译码方法及系统 |
CN108809330A (zh) * | 2018-05-07 | 2018-11-13 | 中山大学 | 一种针对NAND-Flash存储介质的LDPC码译码方法 |
CN108809330B (zh) * | 2018-05-07 | 2020-09-22 | 中山大学 | 一种针对NAND-Flash存储介质的LDPC码译码方法 |
CN111490796A (zh) * | 2020-04-24 | 2020-08-04 | 北京交通大学 | 基于动态翻转比特的置信传播译码方法 |
CN111490796B (zh) * | 2020-04-24 | 2022-05-20 | 北京交通大学 | 基于动态翻转比特的置信传播译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102594366B (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594366A (zh) | 一种自适应可并行动态异步bp译码方法 | |
CN102594367A (zh) | 一种低复杂度的动态异步bp译码方法 | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
CN105024704B (zh) | 一种低复杂度的列分层ldpc译码器实现方法 | |
CN102594365B (zh) | 一种ldpc码的动态异步bp译码方法 | |
CN104639178A (zh) | 一种基于ldpc码的动态列更新译码方法 | |
CN103208995B (zh) | 一种低密度奇偶校验码译码的提前终止方法 | |
CN103259545A (zh) | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 | |
CN102111241B (zh) | 低密度奇偶校验迭代译码提前终止的方法 | |
CN105680880A (zh) | 基于c2v动态选择策略的ldpc码动态异步更新方法 | |
CN107204780A (zh) | polar‑LDPC级联码的合并BP解码算法及装置 | |
CN104092468A (zh) | 基于加速交替方向乘子法的ldpc码线性规划译码方法 | |
CN113612486A (zh) | 一种构建pbrl ldpc码的基矩阵方法、系统、装置及存储介质 | |
CN112865812A (zh) | 一种多元ldpc译码方法、计算机存储介质及计算机 | |
CN105227191A (zh) | 基于修正最小和算法的准循环ldpc码译码方法 | |
CN105680876A (zh) | 基于v2c动态选择策略的ldpc码动态异步更新方法 | |
CN103199877A (zh) | 一种结构化ldpc卷积码构造编码方法 | |
CN108809330B (zh) | 一种针对NAND-Flash存储介质的LDPC码译码方法 | |
CN102832950A (zh) | 一种低密度奇偶校验码的误帧率估计方法 | |
CN106169935B (zh) | 以可靠度为导向的低密度奇偶校验码信度传播译码方法 | |
CN103973317A (zh) | 一种多元ldpc码的快速译码方法 | |
CN106789588A (zh) | 标签传播方法和装置 | |
US20110200149A1 (en) | Preprocessing apparatus and method for group-based decoding | |
KR101459534B1 (ko) | 저밀도 패리티 검사 부호의 차수 분포 설계 방법 및 장치 | |
CN101465652A (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 |
Granted publication date: 20151118 Termination date: 20180229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |