CN101707486A - 单向纠正的多状态置信传播迭代的ldpc译码方法 - Google Patents
单向纠正的多状态置信传播迭代的ldpc译码方法 Download PDFInfo
- Publication number
- CN101707486A CN101707486A CN200910067810A CN200910067810A CN101707486A CN 101707486 A CN101707486 A CN 101707486A CN 200910067810 A CN200910067810 A CN 200910067810A CN 200910067810 A CN200910067810 A CN 200910067810A CN 101707486 A CN101707486 A CN 101707486A
- Authority
- CN
- China
- Prior art keywords
- iteration
- variable node
- node
- belief propagation
- decoding
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
技术领域
本发明属于数字信息传输技术领域,尤其是一种单向纠正的多状态置信传播迭代的LDPC译码方法。
背景技术
低密度奇偶校验(LDPC,Low Density Parity Check)码是目前数字信息传输领域中大量使用的信道编码。LDPC码作为一种普通的线性分组码,通常用生成矩阵G和校验矩阵H来表示,其特点是:奇偶校验矩阵H中非零元素的个数远远小于零元素的个数。在信息传输过程中,接收端需要对LDPC码进行译码,LDPC译码方法主要有树形译码、概率译码、和积译码、最小和译码、比特翻转译码和大数逻辑译码等,上述各种译码方法均存在一定的局限性。置信传播译码方法是一种比较常用的译码方法。
置信传播(BP,Belief Propagation)译码方法,实质上是概率译码方法的对数域运算。译码器的输入为接收序列的对数似然比,在对数空间下,通过利用变量节点和校验节点的约束关系进行迭代译码。此时,变量节点的约束关系表现为“和”的形式,即各变量节点的输出是各个输入对数似然比的和;而校验节点的约束关系表现为“积”的形式,即各校验节点的输出是各个输入对数似然值某种函数的乘积,由于这两个节点的计算特性,因此该译码方法也被称之为和积译码方法。以下对置信传播译码方法进行说明:
为便于描述,定义几个符号集,集合M(n)表示与变量节点n相连的校验节点的集合。M(n)|m表示集合M(n)中不包含校验节点m的集合;N(m)表示与校验节点m相连的变量节点的集合。N(m)|n表示N(m)集合不包含变量节点n的集合。由于LDPC码是一类线性分组码,因此码集C中的码字c=(c1,c2,L,cN),满足伴随式S=H·cT=0,其中H为LDPC码的校验矩阵,cT表示判决得到的码字c的矩阵转置。译码器就是根据接收序列y和约束条件S=H·cT=0判断发送码字c的取值。通过计算后验概率P(cn|y,S=0),得码字其中argmax表示寻找使得f(x)达到最大值时的x值。
BP译码方法的具体实现步骤为:
步骤1初始化
对每个校验节点m和变量节点n,计算变量节点n传递给相邻校验节点的信息:
步骤2迭代过程
(1)更新校验节点传递给变量节点的信息:
(2)更新变量节点:
对每个变量节点n=1,L,N和m∈M(n),计算
对每个变量节点n=1,L,N,计算
步骤3:尝试判决
(2)若以上条件不满足则继续步骤2进行下一次循环。
可以看出BP译码方法含大量双曲正切和反正切运算,运算复杂度较高。
因此,实现困难,并且对于中短码长的LDPC码,BP译码方法的译码性能只能近似最大后验概率(MAP,Maximum A Posteriori)译码,两者之间存在性能差异。为了提高中短码长的LDPC的BP译码方法的译码性能,有两种改进的译码方法:一种是将置信度排序译码(OSD,Ordered Statistic Decoding)结合到BP译码方法中,但OSD译码方法复杂度过高,很难应用码长大于500的LDPC码上;另一种是增加型BP(Augmented BP)译码方法,通过列表尝试译码,能够有效地提高译码性能,尤其是瀑布区域(Waterfall Region),但结构过于复杂。
综上所述,BP译码方法及其改进译码方法均存在实现方法复杂的问题,而且译码性能和最大后验概率译码之间存在性能差距,使得信道信息纠正的准确性及译码性能较差。
发明内容
本发明的目的在于克服现有技术的不足,提出一种单向纠正的多状态置信传播迭代的LDPC译码方法,该方法基于信道信息的纠正的多状态BP迭代的结果,从反方向纠正信道信息,增加了信道信息纠正的准确性,提高译码性能。
本发明解决其技术问题是采取以下技术方案实现的:
一种单向纠正的多状态置信传播迭代的LDPC译码方法,包括以下步骤:
(1)执行标准置信传播译码步骤,如果伴随式S=HcT=0,则译码结束;否则执行步骤(2);
(2)执行基于信道信息修改的二次BP迭代步骤:
①外循环迭代:
寻找最不可靠的变量节点vn;从反方向修改找到的变量节点vn,并将变量节点的初始软信息修改为其中:β是修正因子;
②内循环迭代:
③如果没有达到预定的外循环次数,返回步骤①执行下一次外循环迭代,否则译码结束。
而且,所述的标准置信传播译码方法包括以下步骤:
(1)初始化步骤
对每个m和n,计算变量节点n传递给相邻校验节点的信息
(2)迭代步骤
首先,更新校验节点传递给变量节点的信息
然后,更新变量节点:
(3)尝试判决步骤
而且,所述的寻找最不可靠的变量节点按下式判断:
而且,所述的更新变量节点是通过下述公式计算的:
所述的更新校验节点是通过下述公式计算的:
而且,所述的预定的内循环迭代次数为20,所述的预定的外循环迭代次数为10。
而且,所述的修正因子β=2。
而且,所述的预定迭代次数为100。
本发明的优点和积极效果是:
本译码方法针对中短码长的LDPC码提出了一种基于信道信息纠正的多状态置信传播迭代的LDPC译码方法,该方法是一种启发式结构,其根据每个状态尝试迭代译码的结果,从反方向修改其对应的原有初始信道似然值信息,纠正信道信息,该方法实现简单同时解决了译码性能和MAP之间存在性能差距的问题,增加了信道信息纠正的准确性,提高了译码性能。
附图说明
图1是本发明的处理流程图;
图2是本发明实施例的不同迭代次数下∑|Λ|下降情况分布图;
图3是本发明实施例的不同译码方法对应的译码性能图。
具体实施方式
下面结合附图对本发明的具体实施例进行详细描述。
置信传播译码方法(BP译码方法)对于中短码长LDPC码进行译码时出现的错误主要分为三种类型:1.收敛到一个不能满足校验矩阵的码字上;2.最后结果由于振荡并不收敛于某个具体码字;3.结果收敛于一个能满足校验矩阵但不是发送码字的码字上。在低信噪比情况下,主要是第一种错误类型;随着Eb/N0的增加和误码率(BER,Bit Error Ratio)的降低,由于振荡引起的错误成为了主要类型,主要是第二种类型错误,体现在瀑布区;第三种错误主要体现在误码平台区(error floor),它主要是由低重码字引起的。
为了克服BP迭代过程中受到的振荡影响,提高瀑布区的译码性能,可以根据初始BP迭代译码后的结果,进行信道信息纠正,采用纠正后的信息来进行二次BP迭代译码,从而达到提高译码性能的目的。这是一种多状态BP迭代译码方法,这里的多状态指的是进行BP译码前不同的初始信道信息。因此,需要选择出最不可靠的变量节点,并将其作为待纠正的变量节点,以便更准确地进行信道信息纠正。
选择最不可靠的变量节点通常有三种方法,这三种方法分别基于变量节点不满足校验方程个数,经过BP译码方法后变量节点输出的软信息,以及译码过程中变量节点输出软信息的符号翻转次数。其判断依据是(1)不满足校验方程比较多的变量节点容易出错;(2)经过BP译码方法后输出软信息比较小的变量节点容易出错;(3)输出软信息的符号翻转次数多的变量节点容易出错。选择最不可靠的变量节点的三种基于平均值的选择公式如下所示:
其中,c(i)(v)表示节点v在迭代1次后,不满足的校验数目,对应的C(l)(v)为平均不满足的校验数目。z(i)(v)表示节点v在迭代1次后,输出的信道信息似然值,对应的Z(l)(v)为平均输出的信道信息似然值。S(l)(v)表示节点v在迭代1次后,对应的平均翻转次数。
在判断式(3)中,是将每次迭代译码中的翻转现象视为等同,而实际上对于那些翻转次数相同的变量节点,最后一次迭代译码时,发生符号反转的变量节点更不可靠。因此,我们对判断式(3)作了修改,对最后一次迭代出现的似然值符号翻转现象赋予了更大的权值。定义为第i次迭代译码后尝试判决得到的码字,则修正的判决值为:
其中,i为正整数,满足l-Δl<i<l,表示模二加。进一步,在Δl迭代次数内,平均判决值定义为:
因此,对应上述判断式1、2、3及5这四种选择不可靠变量节点的方法,其对应的待纠正的变量节点判断式分别为:
根据上述四种方法统计分析,该统计分析是对所用的码字为随机构造的规则(3,6)(504,252)LDPC码,基于不同信噪比,在BP译码方法迭代100次后译码仍不成功的情况下,四种判断方法选择出的最不可靠变量节点译码结果最终错误的概率,该概率越接近1,说明所选择的变量节点越不可靠。通过表1可以看出依据判断式(5)来判断变量节点的不可靠性,具有较高的准确度,实现复杂度也较小。因此,我们取(5)式对应的D(l)(v)来作为判断不可靠节点的依据。
表1基于不同指标判断不可靠变量节点的仿真结果统计
信噪比 | 基于判断式1的错误概率 | 基于判断式2的错误概率 | 基于判断式3的错误概率 | 基于判断式5的错误概率 |
1.8dB | 0.4815 | 0.5061 | 0.4835 | 0.4912 |
2dB | 0.4913 | 0.5010 | 0.4913 | 0.5074 |
2.2dB | 0.5593 | 0.4850 | 0.4703 | 0.5596 |
2.4dB | 0.5549 | 0.4987 | 0.4667 | 0.5557 |
在二进制LDPC译码过程中,可以将变量节点和校验节点视作两个软入软出(SISO)的译码器,两者之间进行信息传递。为了便于硬件实现,一般只检测变量节点的信息更新。对于无限长的LDPC码,其变量节点处的输出信息LLR,可用均值u和方差σ2的高斯分布来建模,这里有2u=σ2成立,输出信息LLR分布可用均值u完全表示。因此,根据每个变量节点处的对数似然比绝对值|Λ|=|log(P(v=1)/P(v=0))|的和∑|Λ|来度量迭代译码是否能最终收敛(即码字是否为可译码字)。虽然对于有限长LDPC码,由于不能保证迭代过程每个变量节点输出信息为不相关的,最终收敛的码字在迭代过程中存在∑|Λ|下降的现象,但是仿真表明,通过合理的选择相关门限,∑|Λ|仍可有效的帮助分析译码收敛情况。如图2所示的为不同迭代次数下∑|Λ|下降情况分布图,横坐标表示迭代次数,纵坐标为本次迭代得到的∑|Λ|比迭代前∑|Λ|小的数目占可译码字的百分比,该分布图是基于(3,6)(504,252)LDPC码,Eb/NO为2.6dB,仿真码字个数为100000。从图2中可以看出迭代20次后,可译码字中本次迭代∑|Λ|比上次迭代∑|Λ|下降的次数很少,集中于千分之一以下,在迭代次数为十次时,下降的概率最大,为0.0098。因此,可以用∑|Λ|来协助判断如何纠正选择的变量节点初始信道信息。
基于上述分析,本发明提出了一种单向纠正的多状态BP迭代的LDPC译码方法,进行二次迭代BP计算,每次对判断出的最不可靠的变量节点初始软信息进行反方向的修正,以变量节点对数域输出信息为例,可将该LLR值翻转符号,并将绝对值放大,再进行二次BP译码方法的译码,则可以避免译码时由于振荡译码结果无法收敛,从而提高译码的性能。
本发明提出的单向纠正的多状态置信传播迭代的LDPC译码方法的具体步骤如下:
1.执行标准置信传播译码步骤,包括以下步骤:
(1)初始化步骤
对每个m和n,计算变量节点n传递给相邻校验节点的信息
(2)迭代步骤
然后,更新变量节点:
对每个变量节点n=1,L,N和m∈M(n),
(3)尝试判决步骤
计算伴随式如果S=0或循环迭代次数达到预定迭代次数(本实施例中,预定迭代次数为100)则译码结束,完成标准置信传播译码步骤;否则,继续步骤(2)进行下一次循环。
当执行完上述标准BP译码步骤后,如果伴随式S=0,则译码结束,否则执行步骤2。
2.执行基于信道信息修改的二次BP迭代步骤:
①外循环迭代:每个新的外循环迭代均对应一个新的译码器状态。
寻找最不可靠的变量节点vn;从反方向修改找到的变量节点vn,并将初始变量节点的软信息修改为其中:β是修正因子,在本实施例中修正因子β=2,目的是充分加大该点对应的信道信息似然值幅度,加快译码收敛;本外循环迭代以新的信道信息为基础,外循环开始,循环最多到预定的外循环迭代次数,在本实施例中,外循环迭代次数为10次;
在这里,寻找最不可靠的变量节点按下式判断:
②内循环迭代:
更新变量节点和校验节点,并且尝试判决:当时,当时,得到码字如果 作为有效输出值输出,完成译码处理;如果没有达到预定的内循环迭代次数(本实施例预定的内循环迭代次数为20),则循环执行内循环迭代;否则转入步骤③;
本内循环迭代过程中,更新变量节点和校验节点是采用标准BP译码方式进行计算更新,其更新变量节点的计算公式如下:
更新校验节点是通过下述公式计算的:
③如果没有达到预定的外循环次数,返回步骤①执行下一次外循环迭代,否则译码结束。
通过上述步骤实现了针对中短码长的LDPC码提出了一种基于信道信息纠正的多状态置信传播迭代的LDPC译码方法。其译码性能与传统BP译码方法的性能比较如图3所示,其中传统BP译码方法最大迭代次数设为200次,本发明改进的BP译码方法L0=100,L1=10,L2=20,β=2,信道为AWGN信道,调制方式为BPSK,码字为随机构造的规则(3,6)(504,252)LDPC码。本发明提出的改进BP方法对选择出来的待纠正变量节点,直接将该节点处的原有初始信道似然值信息取反,并增加对应信道似然值信息的绝对值幅度,来提高初始信道信息的准确度,译码性能比原有的BP译码方法有提高。
在本发明提出的改进BP方法中进行了多次迭代,因此迭代次数将有所增加。表2给出了不同的译码方法对应的迭代次数。另外在变量节点选择过程中,还需要N个寄存器来存储变量节点似然值符号翻转次数。从表2可以看出,改进的BP译码方法比标准的BP译码方法迭代次数有所增加。但随着信噪比的增大,误块率越来越少,需要迭代的次数也少很多。
表2不同译码方法的平均迭代次数
信噪比 | 标准BP译码方法 | 本发明译码方法 |
1.5dB | 66.3008 | 91.7626 |
2dB | 21.8465 | 25.6546 |
2.5dB | 8.1869 | 8.5731 |
2.8dB | 5.8909 | 5.8311 |
3dB | 4.9738 | 4.9965 |
本发明提出了基于信道信息的纠正的多状态BP迭代LDPC译码方法,本译码方法的两个关键之处在于待纠正节点的选择和如何进行信道信息纠正。这里根据译码过程中变量节点输出软信息的符号翻转次数来选择待纠正节点,针对已选出的变量节点,从反方向修改其对应的原有初始信道似然值信息,进行下一轮的尝试迭代译码,从而增加了信道信息纠正的准确性,提高译码性能。
Claims (7)
1.一种单向纠正的多状态置信传播迭代的LDPC译码方法,其特征在于:包括以下步骤:
(1).执行标准置信传播译码步骤,如果伴随式s=HcT=0,则译码结束;否则执行步骤(2);
(2).执行基于信道信息修改的二次BP迭代步骤:
①.外循环迭代:
②.内循环迭代:
③.如果没有达到预定的外循环次数,返回步骤①执行下一次外循环迭代,否则译码结束。
5.根据权利要求1所述的单向纠正的多状态置信传播迭代的LDPC译码方法,其特征在于:所述的预定的内循环迭代次数为20,所述的预定的外循环迭代次数为10。
6.根据权利要求1所述的单向纠正的多状态置信传播迭代的LDPC译码方法,其特征在于:所述的修正因子β=2。
7.根据权利要求2所述的单向纠正的多状态置信传播迭代的LDPC译码方法,其特征在于:所述的预定迭代次数为100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910067810A CN101707486A (zh) | 2009-02-03 | 2009-02-03 | 单向纠正的多状态置信传播迭代的ldpc译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910067810A CN101707486A (zh) | 2009-02-03 | 2009-02-03 | 单向纠正的多状态置信传播迭代的ldpc译码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101707486A true CN101707486A (zh) | 2010-05-12 |
Family
ID=42377684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910067810A Pending CN101707486A (zh) | 2009-02-03 | 2009-02-03 | 单向纠正的多状态置信传播迭代的ldpc译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101707486A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106788460A (zh) * | 2016-12-13 | 2017-05-31 | 南京信息工程大学 | Ldpc码的时序串联置信译码方法 |
CN107623525A (zh) * | 2017-07-28 | 2018-01-23 | 华南理工大学 | 一种高效的变量节点选择顺序方法 |
CN108429605A (zh) * | 2018-03-09 | 2018-08-21 | 西安电子科技大学 | 基于可靠度分级的置信传播译码方法 |
CN110572164A (zh) * | 2019-09-29 | 2019-12-13 | 深圳忆联信息系统有限公司 | Ldpc译码方法、装置、计算机设备及存储介质 |
CN110784232A (zh) * | 2019-10-31 | 2020-02-11 | 华侨大学 | 一种空间耦合ldpc码滑窗译码方法 |
-
2009
- 2009-02-03 CN CN200910067810A patent/CN101707486A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106788460A (zh) * | 2016-12-13 | 2017-05-31 | 南京信息工程大学 | Ldpc码的时序串联置信译码方法 |
CN107623525A (zh) * | 2017-07-28 | 2018-01-23 | 华南理工大学 | 一种高效的变量节点选择顺序方法 |
CN107623525B (zh) * | 2017-07-28 | 2020-09-22 | 华南理工大学 | 一种高效的变量节点选择顺序方法 |
CN108429605A (zh) * | 2018-03-09 | 2018-08-21 | 西安电子科技大学 | 基于可靠度分级的置信传播译码方法 |
CN108429605B (zh) * | 2018-03-09 | 2020-04-07 | 西安电子科技大学 | 基于可靠度分级的置信传播译码方法 |
CN110572164A (zh) * | 2019-09-29 | 2019-12-13 | 深圳忆联信息系统有限公司 | Ldpc译码方法、装置、计算机设备及存储介质 |
CN110784232A (zh) * | 2019-10-31 | 2020-02-11 | 华侨大学 | 一种空间耦合ldpc码滑窗译码方法 |
CN110784232B (zh) * | 2019-10-31 | 2023-03-03 | 华侨大学 | 一种空间耦合ldpc码滑窗译码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI663839B (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
CN102545913B (zh) | 一种迭代译码方法及系统 | |
CN100486118C (zh) | 一种基于分段偏移修正的最小和译码方法 | |
CN101707485A (zh) | 混合比特翻转和大数逻辑的ldpc译码方法 | |
CN103259545B (zh) | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 | |
CN107612560B (zh) | 基于部分信息比特似然比的极化码早期迭代停止方法 | |
CN101656541A (zh) | Rs码的译码方法和装置 | |
CN107565978B (zh) | 基于Tanner图边调度策略的BP译码方法 | |
Sun et al. | Post-processing methods for improving coding gain in belief propagation decoding of polar codes | |
CN110730008B (zh) | 一种基于深度学习的rs码置信传播译码方法 | |
CN110022159B (zh) | 一种快速收敛的ldpc码译码算法 | |
CN102111241B (zh) | 低密度奇偶校验迭代译码提前终止的方法 | |
CN101707486A (zh) | 单向纠正的多状态置信传播迭代的ldpc译码方法 | |
CN103199874A (zh) | 一种低密度奇偶校验码译码方法 | |
US7757149B2 (en) | Broadcast message passing decoding of low density parity check codes | |
CN104242957A (zh) | 译码处理方法及译码器 | |
CN102811065A (zh) | 基于线性最小均方误差估计的修正最小和解码方法 | |
US10972129B2 (en) | Low density parity check code decoder and method for decoding LDPC code | |
CN104184480B (zh) | 一种降低复杂度的ldpc改进译码方法 | |
CN101577607A (zh) | 可提前结束迭代的归一化最小和译码方法 | |
CN113437979B (zh) | 一种基于非均匀信源的原模图ldpc码的结构优化方法及装置 | |
CN100539441C (zh) | 一种低密度奇偶校验码的译码方法 | |
CN107181567B (zh) | 一种基于门限的低复杂度mpa算法 | |
CN101707487A (zh) | 双向纠正的多状态置信传播迭代的ldpc译码方法 | |
KR20090064268A (ko) | 가변 보정값을 이용한 복호화 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100512 |