CN102594365A - 一种动态异步bp译码方法 - Google Patents

一种动态异步bp译码方法 Download PDF

Info

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
Application number
CN2012100506508A
Other languages
English (en)
Other versions
CN102594365B (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.)
Sun Yat Sen University
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201210050650.8A priority Critical patent/CN102594365B/zh
Publication of CN102594365A publication Critical patent/CN102594365A/zh
Application granted granted Critical
Publication of CN102594365B publication Critical patent/CN102594365B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明针对LDPC码的BP译码算法,提供了一种基于变量节点到校验节点更新前后的最大信息残差,辅以变量节点的不稳定行判定动态构造异步更新次序的算法。本发明利用了不动点迭代算法误差估计中控制相邻两次计算结果的差值能控制收敛的原理,选取变量节点到校验节点的消息计算作为迭代函数,有效利用了校验节点的校验功能。本发明更好地定位出需要优先更新的消息,并能更快地克服LDPC码字中的陷阱集,从而减少译码时所需的迭代次数,达到使算法加速收敛并提升译码性能的目的。

Description

一种动态异步BP译码方法
技术领域
本发明属于LDPC码译码算法设计和实现研究领域,是一个能够加速BP译码算法收敛的动态异步消息更新策略,为动态异步BP译码方法,即IVC RBP算法。
背景技术
LDPC码自1996年再次被发现以来,其译码算法(BP算法)以其实现简单,译码复杂度线性增加等特点,得到编译码领域的青睐,称为该领域的一个热点。
BP译码算法是一个消息迭代算法,节点间的消息沿着与LDPC码相对应的Tanner图的边来回传递,其消息传递主要包括了横向计算和纵向计算两个步骤,其中横向计算就是校验节点ci到变量节点vj的消息传递
R c i , v j = 2 tanh - 1 ( Π v j ′ ∈ N ( c i ) \ v j tanh ( Q c i , v j ′ / 2 ) ) ,
纵向计算就是变量节点vi到校验节点cj的消息传递
Q v i , c j = P v i + Σ c j ′ ∈ N ( v i ) \ c j R c j ′ , v i
在BP译码算法中,我们最终是要依靠每个变量节点的最大似然比来做01判定。每一个变量节点都将接收来自信道的先验概率(a priori)
Figure BDA0000139619370000013
分别表示传递的比特为0和1的概率),还要接收来自与之相连的每一个校验节点传递的消息。因此变量节点vi的似然比就是所有接收到的消息总和
Q v i = P v i + Σ c j ∈ N ( v i ) R c j , v i
BP算法迭代过程在满足以下条件之一时停止:
(1)所有的校验方程都满足。
(2)迭代次数达到设定的最大值。
BP译码算法描述如下:
1)初始化所有Rc,v=0;
2)初始化所有
Figure BDA0000139619370000015
3)对每一个校验节点ci和每一个变量节点vj∈N(ci),计算消息
Figure BDA0000139619370000021
4)对每一个变量节点vj校验节点ci和每一个ci∈N(vj),计算消息
Figure BDA0000139619370000022
5)如果算法停止迭代的条件不满足,那么转到步骤3),否则结束译码。
对于消息迭代算法而言,异步消息更新策略的译码收敛速度明显优于同步消息更新策略,而对异步消息更新策略,其消息更新的顺序又对译码算法收敛性有重要影响。BP算法是一个同步消息更新算法,其收敛较慢,远远不能满足于许多要求较少迭代次数的应用需要。因此,加快BP算法的收敛性成了一个紧迫的任务。
发明内容
本发明的目的在于加速BP译码算法的收敛速度,使BP算法在较少迭代次数的情况下,加快译码速度,从而提升译码性能。
为了实现上述发明目的,本发明采用了如下技术方案:
一种动态异步BP译码方法,包含动态异步消息更新策略,利用变量节点到校验节点更新前后的最大消息残差,辅以变量节点的不稳定性判定的动态定位方法和两步校验节点到变量节点消息计算的消息传递形式,亦即,在消息更新时,确定不稳定且其信息m(vi,cj)具有最大残差的变量节点vi,首先对所有ca∈N(vi)\cj产生并传递消息
Figure BDA0000139619370000023
来更新具有最大残差的消息使消息因接收了来自不同校验节点的消息而具有了更高的置信度,从而修正偏离收敛的状态,这是第一步从校验节点到变量节点消息计算及消息传递,其次,更新后的消息
Figure BDA0000139619370000026
被传递用来更新消息
Figure BDA0000139619370000027
vb∈N(cj)\vi,由于更新后的
Figure BDA0000139619370000028
携带了更多的置信度,因而这些消息的传递能把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,这是第二步从校验节点到变量节点消息计算及消息传递,最后,对vb进行不稳定性判定,并且计算
Figure BDA0000139619370000029
cd∈N(vb)\cj
所述的最大消息残差为r(mk),r(mk)=||fk(m)-mk||,mk∈m,其中m表示所有消息,mk和fk(m)分别代表一个变量节点更新前和更新后的似然比。
前述方法的具体实现如下:
a、初始化所有mc,v=0;
b、初始化所有
Figure BDA00001396193700000210
c、初始化所有
d、如果存在不稳定的变量节点vi,那么找到最大残差
Figure BDA0000139619370000032
如果没有不稳定的变量节点,则只找具有最大残差
Figure BDA0000139619370000033
的变量节点vi
e、对每一个ca∈N(vi)\cj,计算
Figure BDA0000139619370000034
f、计算
Figure BDA0000139619370000035
同时把
Figure BDA0000139619370000036
j、对每一个vb∈N(cj)\vi,计算
Figure BDA0000139619370000037
并判定vb的稳定性,同时对每一个cd∈N(vb)\cj,计算残差
Figure BDA0000139619370000038
h、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤d。
与现有技术相比,本发明利用不稳定的变量节点及其具有的最大变量节点到校验节点消息残差共同定位出需要优先更新的消息,然后有效利用相关的校验节点首先更新该消息,进而把更新后的消息利用这些校验节点传递给更多的变量节点,希望更多的变量节点在一个更新过程中得到校正,因此能加快算法的收敛性,同时提高译码性能。
附图说明
图1是本方法中一个更新过程的消息传递示意图;
图2是算法BP,LBP,NW RBP,VC-RBP和IVC RBP在码长576,码率
Figure BDA0000139619370000039
时,至多8次迭代时的FER性能图;
图3是算法BP,LBP,NW RBP,VC-RBP和IVC RBP在码长2304,码率时,至多8次迭代时的FER性能图;
图4是算法BP,LBP,NW RBP,VC-RBP和IVC RBP在码长1152,码率
Figure BDA00001396193700000311
并给定信噪比为2.25dB时的FER性能图;
图5是算法BP,LBP,NW RBP,VC-RBP和IVC RBP在码长1152,码率
Figure BDA00001396193700000312
并给定信噪比为3.25dB时的FER性能图。
具体实施方式
本发明提供出了一种针对BP译码算法的动态异步消息更新策略,就是根据变量节点到校验节点的最大消息残差辅以变量节点不稳定性判定,有有效定位需要优先更新的变量节点到校验节点消息,并有效利用相关校验节点的校验功能。
设N(vi)代表与变量节点vi相连的所有校验节点(校验方程),N(vi)\cj则表示除去校验节点cj之外与变量节点vi相连的所有校验节点(校验方程);N(ci)代表与校验节点(校验方程)ci相连的所有变量节点,N(ci)\vj则表示除去变量节点vj与校验节点(校验方程)ci相连的所有变量节点。互相连接的变量节点和校验节点消息函数可定义为
Figure BDA0000139619370000041
Figure BDA0000139619370000042
其中m表示所有消息。消息残差计算公式为r(mk)=||fk(m)-mk||,mk∈m,其中fk(m)和mk分别表示更新后和更新前的变量节点到校验节点的消息。一个变量节点不稳定是指该变量节点在更新前后的似然比值符号相反。
我们假设变量节点vi不稳定且消息m(vi,cj)具有最大残差,该译码算法的动态策略包括如下三个步骤:
首先对所有ca∈N(vi)\cj产生并传递消息
Figure BDA0000139619370000043
来更新具有最大残差的消息
Figure BDA0000139619370000044
使消息
Figure BDA0000139619370000045
因接收了来自不同校验节点的消息而具有了更高的置信度,从而修正偏离收敛的状态;
其次,更新后的消息
Figure BDA0000139619370000046
被传递用来更新消息
Figure BDA0000139619370000047
vb∈N(cj)\vi,由于更新后的携带了更多的置信度,因而这些消息的传递能把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的;
最后对vb进行不稳定性判定,并且计算相关的最新残差
Figure BDA0000139619370000049
cd∈N(vb)\cj
具体而言,本发明的消息迭代过程如下:
a、初始化所有mc,v=0;
b、初始化所有
c、初始化所有
Figure BDA00001396193700000411
d、如果存在不稳定的变量节点vi,那么找到最大残差
Figure BDA00001396193700000412
如果没有不稳定的变量节点,则只找具有最大残差
Figure BDA00001396193700000413
的变量节点vi
e、对每一个ca∈N(vi)\cj,计算
f、计算同时把
Figure BDA0000139619370000052
j、对每一个vb∈N(cj)\vi,计算
Figure BDA0000139619370000053
并判定vb的稳定性,同时对每一个cd∈N(vb)\cj,计算残差
Figure BDA0000139619370000054
h、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤d。
在动态BP算法的一次迭代过程中,要么校验节点到变量节点的消息计算量与BP算法的计算量相同,要么变量节点到校验节点的消息计算量与BP算法的计算量相同,所有的仿真都将严格遵守这个规则。dv和dc分别表示规则码中变量节点和校验节点的度,e表示Tanner图中边的数量,同时有e=dv·N=dc·M成立,其中N和M分别表示Tanner图中变量节点和校验节点的个数。该分析对于非规则码同样适用,只是dv和dc是节点度的平均值。下表给出对比算法一次迭代过程的消息计算量。
表一、一次迭代中的变量节点到校验节点消息计算量
表二、一次迭代中的校验节点到变量节点消息计算量
Figure BDA0000139619370000061
图表中,BP算法作为同步消息更新算法,而LBP算法作为非动态异步消息更新算法列出,仅作参考,不参与动态算法对比。
以下结合附图对本发明进一步说明。
如图1所示,图中用虚线和实线表示操作的先后顺序,虚线对应的操作优先于实线对应的操作。褐色圆圈表示已经被更新的变量节点,黑色方框表示已经被更新的校验节点。本发明的消息更新步骤如下,首先如图1-(a)所示,挑选出最大的残差
Figure BDA0000139619370000062
然后对所有ca∈N(vi)\cj更新消息
Figure BDA0000139619370000063
其次如图1-(b)所示,更新消息
Figure BDA0000139619370000064
进而对所有vb∈N(cj)\vi计算消息
Figure BDA0000139619370000065
最后如图1-(c)所示,计算相应的残差cd∈N(vb)\cj
如图2、3所示,分别给出了码长576,码率和码长2304,码率
Figure BDA0000139619370000068
时,在至多8次的迭代次数下,三种动态算法NW RBP,VC-RBP和IVC RBP的FER性能动态图。从图中可以看出IVC RBP算法的译码性能要比其他两个动态算法好,所有仿真都才用02.16(e)中基矩阵生成的LDPC码,算法都采用BPSK调制,AWGN信道(若无特殊说明,后面的实验说面仿真条件调制方式,信道类型均不变)。
如图4、5所示,分别给出了码长1152时随着迭代次数的增加,在给定信噪比为2.25dB,码率
Figure BDA0000139619370000069
码率
Figure BDA00001396193700000610
时,三种动态算法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产生并传递消息
Figure FDA0000139619360000011
来更新具有最大残差的消息
Figure FDA0000139619360000012
使消息
Figure FDA0000139619360000013
因接收了来自不同校验节点的消息而具有了更高的置信度,从而修正偏离收敛的状态,这是第一步从校验节点到变量节点消息计算及消息传递,其次,更新后的消息
Figure FDA0000139619360000014
被传递用来更新消息
Figure FDA0000139619360000015
vb∈N(cj)\vi,由于更新后的
Figure FDA0000139619360000016
携带了更多的置信度,因而这些消息的传递能把携带的高置信度传播到更多的消息中去,从而改变可能错误的变量节点,达到相应比特翻转的目的,这是第二步从校验节点到变量节点消息计算及消息传递,最后,对vb进行不稳定性判定,并且计算cd∈N(vb)\cj
2.根据权利要求1所述的动态异步BP译码方法,其特征在于:所述的最大消息残差为r(mk),r(mk)=||fk(m)-mk||∞,mk∈m,其中m表示所有消息,mk和fk(m)分别代表一个变量节点更新前和更新后的似然比。
3.根据权利要求1所述的动态异步BP译码方法,其特征在于具体实现如下:
a、初始化所有mc,v=0;
b、初始化所有
Figure FDA0000139619360000018
c、初始化所有
Figure FDA0000139619360000019
d、如果存在不稳定的变量节点vi,那么找到最大残差
Figure FDA00001396193600000110
如果没有不稳定的变量节点,则只找具有最大残差
Figure FDA00001396193600000111
的变量节点vi
e、对每一个ca∈N(vi)\cj,计算
Figure FDA00001396193600000112
f、计算同时把
Figure FDA00001396193600000114
j、对每一个vb∈N(cj)\vi,计算
Figure FDA00001396193600000115
并判定vb的稳定性,同时对每一个cd∈N(vb)\cj,计算残差
h、如果所有校验方程满足或是达到设定的最大迭代次数,那么结束译码,否则返回步骤d。
CN201210050650.8A 2012-02-29 2012-02-29 一种ldpc码的动态异步bp译码方法 Expired - Fee Related CN102594365B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 高通股份有限公司 用于无线通信传输的编码方案

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
刘星成等: "系统RA码的基于WBF策略的改进BP译码算法", 《电子学报》 *
张小花,李艳萍: "改进的LDPC码Normalized BP-Based译码算法", 《计算机应用》 *

Cited By (10)

* Cited by examiner, † Cited by third party
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