CN102594367B - 一种ldpc码的低复杂度的动态异步bp译码方法 - Google Patents
一种ldpc码的低复杂度的动态异步bp译码方法 Download PDFInfo
- Publication number
- CN102594367B CN102594367B CN201210050958.2A CN201210050958A CN102594367B CN 102594367 B CN102594367 B CN 102594367B CN 201210050958 A CN201210050958 A CN 201210050958A CN 102594367 B CN102594367 B CN 102594367B
- Authority
- CN
- China
- Prior art keywords
- node
- check
- variable node
- message
- represent
- 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.)
- Expired - Fee Related
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
发明针对LDPC码的BP译码算法,提出了一种LDPC码的低复杂度的动态异步消息更新策略,包括了基于变量节点对数似然比(LLR)最大波动的简单直接定位方法和最大程度利用校验节点的两步校验节点到变量节点消息计算的消息传递形式,利用了不动点迭代算法误差估计中控制相邻两次计算结果的差值能控制收敛的原理,选取变量节点的似然比计算作为迭代函数,最大程度地利用了校验节点的校验功能。本发明简单直接地定位出需要优先更新的变量节点,并能更快地克服LDPC码字中的陷阱集,从而减少译码时所需的迭代次数,达到使算法快速收敛的目的,同时大大提升译码性能。
Description
技术领域
发明属于LDPC码译码技术领域,特别涉及一种能加速BP译码算法收敛的低复杂度动态异步消息更新策略,即LDPC码的低复杂度的动态异步BP译码方法。
背景技术
LDPC码自1996年再次被发现以来,其译码算法(BP算法)以其实现简单,译码复杂度线性增加等特点,成为了编译码领域焦点。
BP译码算法是一个消息迭代算法,节点间的消息沿着与LDPC码相对应的Tanner图中的边来回传递,其消息传递主要包括了横向计算和纵向计算两个步骤,其中横向计算就是校验节点ci到变量节点vj的消息传递
纵向计算就是变量节点vi到校验节点cj的消息传递
在BP译码算法中,我们最终是要依靠每个变量节点的最大似然比来做01判定。每一个变量节点都将接收来自信道的先验概率pv(1)分别表示传递的比特为0和1的概率),还要接收来自与之相连的每一个校验节点传递的消息。因此变量节点vi的似然比就是所有接收到的消息总和
BP算法迭代过程在满足以下条件之一时停止:
(1)所有的校验方程都满足。
(2)迭代次数达到设定的最大值。
BP译码算法描述如下:
1)初始化所有Rc,v=0;
2)初始化所有
3)对每一个校验节点ci和每一个变量节点vj∈N(ci),计算消息
4)对每一个变量节点vj校验节点ci和每一个ci∈N(vj),计算消息
5)如果算法停止迭代的条件不满足,那么转到步骤3),否则结束译码。
对于消息迭代算法而言,异步消息更新策略的译码收敛速度明显优于同步消息更新策略。而对异步消息更新策略,其消息更新的顺序又对译码算法收敛性重要影响。BP算法是一个同步消息更新算法,其收敛较慢远远不能满足于许多要求较少迭代次数的应用需要。而已有的动态异步BP算法虽然有不错的译码性能,但是因为复杂度较高给译码带来不小的负担。因此,设计复杂度较低的动态异步算法就必须提上日程。
发明内容
本发明就是设计了一个LDPC码的低复杂度的动态异步消息更新策略,加速BP译码算法的收敛,使BP算法在很少迭代次数的情况下,加快译码速度,从而提升译码性能。
为了达到上述目的,本发明采用的技术方案如下:
一种LDPC码的低复杂度的动态异步BP译码方法,采用动态异步消息更新策略以及两步校验节点到变量节点消息计算的消息传递形式,亦即,在信息更新时,根据变量节点似然比的最大波动,即最大似然比残差,定位需要首先更新的变量节点vi,对所有ca∈N(vi)产生并传递消息以更新变量节点vi的LLR值,这是第一步从校验节点到变量节点消息计算及消息传递,其次,更新使得消息因为接收来自不同校验节点的消息而具有更高的置信度,使这些消息的传递能把携带的高置信度传播开去,最后,更新因更新后的携带了更多的置信度,而能通过消息影响更多的变量节点,从而改变变量节点LLR值使相应比特翻转,达到校正目的,这是第二步从校验节点到变量节点消息计算及消息传递。
其中表示从变量节点vi到校验节点ca的消息,表示从校验节点ca到变量节点vb的消息;N(vi)表示与变量节点vi相连的所有校验节点的集合,ca∈N(vi)表示校验节点ca是与变量节点vi相连的校验节点之一;N(ca)表示与校验节点ca相连的所有变量节点的集合,N(ca)\vi表示与校验节点ca相连的除去变量节点vi的所有其他变量节点集合,vb∈N(ca)\vi表示变量节点vb是除去变量节点vi外与校验节点ca相连的其他变量节点之一;
所述的最大似然比残差为r(mk),r(mk)=||fk(m)-mk||∞,mk∈m,其中m表示计算fv(m)所需的相关消息,mk和fk(m)分别代表一个变量节点更新前和更新后的似然比。
前述的方法具体实现如下:
a、初始化所有mc,v=0;
b、初始化所有
c、初始化所有
d、如果有就找出最大的同时设置否则找出最大的 同时设置
e、对每一个ca∈N(vi),计算
f、计算变量节点单位vi的对数似然比;
g、对每一个cj∈N(vi),计算同时对每一个vb∈N(cj)\vi计算并计算变量节点vb的似然比残差;
h、如果所有校验方程满足或是达到设定的最大迭代次数,则结束译码,否则返回步骤d。
其中mc,v泛指所有校验节点到变量节点的消息;泛指变量节点vi到所有相连的校验节点的消息;表示变量节点vi的似然比值;表示变量节点vi的似然比值更新前和更新后的残差,但是其似然比值符号在更新前后发生了变化;表示变量节点vi的似然比值更新前和更新后的残差,但是其似然比值符号在更新前后未发生变化;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是除去变量节点vi外与校验节点cj相连的其他变量节点之一。
与现有技术相比,本发明的有益效果是:本发明利用变量节点似然比的最大波动简单直接地定位出需要优先更新的变量节点,然后充分利用相关的校验节点首先更新该变量节点,进而把更新后的消息再利用这些校验节点传递给尽可能多的其他变量节点,希望更多的变量节点在一个更新过程中得到校正,因此能使算法更快收敛,同时极大提升译码性能。
附图说明
图1是算法V-RBP的动态策略示意图;
图2是算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长576,码率至多5次迭代时的FER性能图;
图3是在给定Eb/N0=2.25dB和100000 blocks时,算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长576,码率至多5次迭代时,每次迭代内收敛的block数量占总block数量的百分比示意图;
图4是算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长576,码率至多5次迭代时的FER性能图;
图5是在给定Eb/N0=3.25dB和100000 blocks时,算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长576,码率至多5次迭代时,每次迭代内收敛的block数量占总block数量的百分比示意图;
图6是算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长2304,码率至多5次迭代时的FER性能图;
图7是在给定Eb/N0=1.75dB和100000 blocks时,算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长2304,码率至多5次迭代时,每次迭代内收敛的block数量占总block数量的百分比示意图;
图8是算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长2304,码率时,至多5次迭代时的FER性能图;
图9是在给定Eb/N0=2.75dB和100000 blocks时,算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长2304,码率至多5次迭代时,每次迭代内收敛的block数量占总block数量的百分比示意图;
图10是算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长1152,码率并给定信噪比为2.25dB时的FER性能图;
图11是算法BP,LBP,EDS-LBP,NW RBP,VC-RBP,IVC-RBP和V-RBP在码长1152,码率并给定信噪比为3.25dB时的FER性能图。
具体实施方式
本发明是针对LDPC码的低复杂度动态异步BP译码方法(V-RBP),该方法中的动态异步消息更新策略包含了利用变量节点似然比最大波动的定位方法,和最大程度利用校验节点到变量节点消息计算的消息传递形式。
设N(vi)代表与变量节点vi相连的所有校验节点,N(vi)\cj则表示除去校验节点cj之外与变量节点vi相连的所有校验节点;N(ci)代表与校验节点(校验方程)ci相连的所有变量节点,N(ci)\vj则表示除去变量节点vj之外与校验节点ci相连的所有变量节点。互相连接的变量节点和校验节点消息函数可定义为其中m表示计算或所需的相关消息。信道的先验概率(a priori)(pv(0),pv(1)分别表示传递的比特为0和1的概率)。似然比残差计算公式r(mk)=||fk(m)-mk||∞,其中m表示计算所需的相关消息,和分别代表变量节点vk更新前和更新后的似然比。一个变量节点不稳定是指该变量节点在更新前后的比值符号相反。
在LDPC码BP译码中,残差范数由r(mk)=||fk(m)-mk||给出,如果mk和fk(m)分别带别代表一个变量节点更新前后的LLR值,我们称r(mk)似然比残差。如果一个变量节点似然比值更新前后的符号相反,那么r(mk)称为异号残差(Reverse Sign Residual),记为RSR(mk)。如果一个变量节点似然比值更新前后的符号不变,那么r(mk)称为同号残差(Identical SignResidual),记为ISR(mk)。
我们假设变量节点vi具有最大RSR,该译码算法的动态策略包括如下三个步骤:
首先,对所有ca∈N(vi)产生并传递消息目的就是为了更新变量节点vi的LLR值。
其次,更新这样的更新使得消息因为接收来自不同校验节点的消息而具有了更高的置信度,因此这些消息的传递能把携带的高置信度传播开去。
最后,更新由于更新后的携带了更多的置信度,因而通过消息影响更多的变量节点,从而改变变量节点LLR值使相应比特翻转,达到校正的目的。
因此能使算法更快收敛,同时极大提升译码能力。
具体而言,本发明的算法迭代过程如下:
a、初始化所有mc,v=0;
b、初始化所有
c、初始化所有
d、如果有就找出最大的同时设置否则找出最大的 同时设置
e、对每一个ca∈N(vi),计算
f、计算变量节点vi的对数似然比;
g、对每一个cj∈N(vi),计算同时对每一个vb∈N(cj)\vi计算并计算变量节点vb的似然比残差;
h、如果所有校验方程满足或是达到设定的最大迭代次数,则结束译码,否则返回步骤d。
在动态的BP算法的一次迭代过程中,要么校验节点到变量节点的消息计算量与BP算法相同,要么变量节点到校验节点的消息计算量与BP算法相同,所有的仿真都将严格遵守这个规则。下表给出对此算法一次迭代过程的消息计算量,其中,dv和dc分别表示规则码中变量节点和校验节点的度,e表示Tanner图中边的数量,同时有e=dv·N=dc·M成立,其中N和M分别表示Tanner图中变量节点和校验节点的个数。我们的分析对于非规则码同样适用,只是dv和dc是节点度的平均值。
表1、一次迭代中的变量节点到校验节点消息计算量
表2、一次迭代中的校验节点到变量节点消息计算量
表1、2中,BP算法作为同步消息更新算法,而LBP作为非动态异步消息更新算法列出,仅作参考,不参与动态算法对比。
以下结合附图对本发明进一步说明。
如图1所示,灰色圆圈是被选取出来有限更新的变量节点。黑色圆圈表示已经被更新的变量节点,黑色方框表示已经被更新的校验节点。动态异步消息更新策略步骤如下,首先如图1-(a)所示,选出变量节点vi,然后对所有ca∈N(vi)产生消息然后,如图1-(b)所示对所有ca∈N(vi)更新消息最后,图1-(c)对所有vb∈N(cj)\vi产生消息达到。
图2、4、6、8分别给出了码长576,2304,码率和码率时,在至多5次的迭代次数下,四种动态算法EDS-LBP,NW RBP,VC-RBP和IVC RBP的FER性能图,从图中可以看出,V-RBP算法的译码性能要比其他三个动态算法好,尤其是长码的时候,优越性更加明显。所有仿真都采用802.16(e)中矩阵生成的LDPC码,算法都采用BPSK调制,AWGN信道(若无特殊说明,后面的实现仿真条件调制方式,信道类型均不变)。
图3、5分别给出了码长576,码率给定Eb/N0=2.25dB和码率给定Eb/N0=3.25dB时,给定100000 blocks,四种动态算法EDS-LBP,NW RBP,VC-RBP和IVC-RBP在至多5次的迭代次数下,每次迭代内收敛的block占总数的百分比。
图7、9分别给出了码长2304,码率给定Eb/N0=1.75dB和码率给定Eb/N0=2.75dB时,给定100000 blocks,四种动态算法EDS-LBP,NW RBP,VC-RBP和IVC-RBP在至多5次的迭代次数下,每次迭代内收敛的block占总数的百分比。
从图3、5、7、9这四个图可以看出,V-RBP算法在3次迭代内基本就可以达到95%的收敛率。
图10,图11分别给出了码长1152,在给定信噪比为2.25dB,码率和给定信噪比3.25dB,码率时,四种动态算法EDS-LBP,NW RBP,VC-RBP和IVC-RBP随着迭代次数的增加的FER性能图,可以看出,V-RBP算法在迭代次数较小时收敛速度明显快于其他三个动态算法。当迭代次数持续增加时,其译码性能曲线因其贪婪性不再明显降低。
综上所述,结合表1,2可以看出算法V-RBP算法计算量在五个动态算法只比EDS-LBP多,但是从性能图可以看出其性能远远优于其他动态算法,尤其是在长码仿真时其优势更为明显。
Claims (1)
1.一种LDPC码的低复杂度的动态异步BP译码方法,其特征在于:采用动态异步消息更新策略以及两步校验节点到变量节点消息计算的消息传递形式,亦即,在信息更新时,根据变量节点似然比的最大波动,即最大似然比残差,定位需要首先更新的变量节点vi,对所有ca∈N(vi)产生并传递消息以更新变量节点vi的LLR值,这是第一步从校验节点到变量节点消息计算及消息传递,其次,更新ca∈N(vi),使得消息ca∈N(vi)因为接收来自不同校验节点的消息而具有更高的置信度,使这些消息的传递能把携带的高置信度传播开去,最后,更新vb∈N(ca)\vi,因更新后的ca∈N(vi)携带了更多的置信度,而能通过消息vb∈N(ca)\vi影响更多的变量节点,从而改变变量节点LLR值使相应比特翻转,达到校正目的,这是第二步从校验节点到变量节点消息计算及消息传递;
其中表示从变量节点vi到校验节点ca的消息,表示从校验节点ca到变量节点vb的消息;N(vi)表示与变量节点vi相连的所有校验节点的集合,ca∈N(vi)表示校验节点ca是与变量节点vi相连的校验节点之一;N(ca)表示与校验节点ca相连的所有变量节点的集合,N(ca)\vi表示与校验节点ca相连的除去变量节点vi的所有其他变量节点集合,vb∈N(ca)\vi表示变量节点vb是除去变量节点vi外与校验节点ca相连的其他变量节点之一;
所述的最大似然比残差为r(mv),r(mv)=||fv(m)-mv||∞,其中m表示计算fv(m)所需的相关消息,mv和fv(m)分别代表一个变量节点更新前和更新后的似然比;
所述的低复杂度的动态异步BP译码方法具体实现如下:
a、初始化所有mc,v=0;
b、初始化所有
c、初始化所有
d、如果有就找出最大的同时设置否则找出最大的 同时设置
e、对每一个ca∈N(vi),计算
f、计算变量节点vi的对数似然比;
g、对每一个cj∈N(vi),计算同时对每一个vb∈N(cj)\vi计算并计算变量节点vb的似然比残差;
h、如果所有校验方程满足或是达到设定的最大迭代次数,则结束译码,否则返回步骤d;
其中mc,v泛指所有校验节点到变量节点的消息;泛指变量节点vi到所有相连的校验节点的消息;表示变量节点vi的似然比值;表示变量节点vi的似然比值更新前和更新后的残差,但是其似然比值符号在更新前后发生了变化;表示变量节点vi的似然比值更新前和更新后的残差,但是其似然比值符号在更新前后未发生变化;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是除去变量节点vi外与校验节点cj相连的其他变量节点之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210050958.2A CN102594367B (zh) | 2012-02-29 | 2012-02-29 | 一种ldpc码的低复杂度的动态异步bp译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210050958.2A CN102594367B (zh) | 2012-02-29 | 2012-02-29 | 一种ldpc码的低复杂度的动态异步bp译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594367A CN102594367A (zh) | 2012-07-18 |
CN102594367B true CN102594367B (zh) | 2015-03-25 |
Family
ID=46482622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210050958.2A Expired - Fee Related CN102594367B (zh) | 2012-02-29 | 2012-02-29 | 一种ldpc码的低复杂度的动态异步bp译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594367B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3258605A4 (en) * | 2015-02-10 | 2018-03-28 | Panasonic Intellectual Property Management Co., Ltd. | Transmitting method, transmitting device, receiving method and receiving device |
CN104639178B (zh) * | 2015-03-06 | 2018-04-27 | 中山大学 | 一种基于ldpc码的动态列更新译码方法 |
CN105680876B (zh) * | 2016-01-04 | 2019-06-07 | 中山大学 | 基于v2c动态选择策略的ldpc码动态异步更新方法 |
CN105656603B (zh) * | 2016-01-05 | 2019-02-19 | 电子科技大学 | 一种基于树修剪的scma译码方法及系统 |
CN107241103B (zh) * | 2017-04-20 | 2021-01-05 | 广东工业大学 | 一种针对ldpc码的局部动态bp译码方法 |
CN110098895B (zh) * | 2019-04-11 | 2020-10-23 | 中山大学 | 基于变量节点动态分块更新的ldpc码译码方法 |
CN111431542A (zh) * | 2020-05-08 | 2020-07-17 | 中国计量大学 | 基于crc辅助的极化码的置信度传播翻转算法设计 |
Citations (2)
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 |
CN102055484A (zh) * | 2010-12-21 | 2011-05-11 | 东南大学 | 基于最小均方差准则的ldpc分层bp译码算法及译码器结构 |
-
2012
- 2012-02-29 CN CN201210050958.2A patent/CN102594367B/zh not_active Expired - Fee Related
Patent Citations (2)
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 |
CN102055484A (zh) * | 2010-12-21 | 2011-05-11 | 东南大学 | 基于最小均方差准则的ldpc分层bp译码算法及译码器结构 |
Non-Patent Citations (2)
Title |
---|
"LDPC 码的信道自适应迭代译码算法";韩国军 等;《电路与系统学报》;20100228;第15卷(第1期);第102-107页 * |
"基于校验节点的LDPC码的消息加权均值串行译码算法";韩国军 等;《中山大学学报》;20100531;第49卷(第3期);第47-51 * |
Also Published As
Publication number | Publication date |
---|---|
CN102594367A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594367B (zh) | 一种ldpc码的低复杂度的动态异步bp译码方法 | |
CN104639178A (zh) | 一种基于ldpc码的动态列更新译码方法 | |
CN100486118C (zh) | 一种基于分段偏移修正的最小和译码方法 | |
CN102594365B (zh) | 一种ldpc码的动态异步bp译码方法 | |
CN105024704A (zh) | 一种低复杂度的列分层ldpc译码器实现方法 | |
CN102111241B (zh) | 低密度奇偶校验迭代译码提前终止的方法 | |
CN100425000C (zh) | 双涡轮结构低密度奇偶校验码解码器及解码方法 | |
CN110535475B (zh) | 一种分层自适应归一化最小和译码算法 | |
CN107968657B (zh) | 一种适用于低密度奇偶校验码的混合译码方法 | |
CN102594366B (zh) | 一种针对ldpc码的自适应可并行动态异步bp译码方法 | |
CN104702292A (zh) | 一种部分并行ldpc译码器的实现方法 | |
CN105680880A (zh) | 基于c2v动态选择策略的ldpc码动态异步更新方法 | |
CN105680876A (zh) | 基于v2c动态选择策略的ldpc码动态异步更新方法 | |
CN106254030A (zh) | 无速率Spinal码的双向编译码方法 | |
CN101257311A (zh) | 一种多进制调制下ldpc码的快速译码方法 | |
CN103607208A (zh) | 基于归一化修正因子序列的ldpc最小和译码方法 | |
CN100539441C (zh) | 一种低密度奇偶校验码的译码方法 | |
CN101350695B (zh) | 低密度奇偶校验码译码方法及系统 | |
CN107615666A (zh) | Ldpc截短码的译码方法和译码设备 | |
CN104579362A (zh) | 一种空间通信系统中部分并行结构ldpc码译码系统及其方法 | |
CN103973317A (zh) | 一种多元ldpc码的快速译码方法 | |
KR20090064268A (ko) | 가변 보정값을 이용한 복호화 장치 및 그 방법 | |
CN108055045A (zh) | 一种新型ldpc码译码器的结构 | |
CN103532571A (zh) | Log-MAP译码方法和译码器 | |
CN110212924B (zh) | 一种lt码编解码方法及系统 |
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: 20150325 Termination date: 20180229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |