CN109510629A - 一种ldpc码的硬判决比特翻转译码算法 - Google Patents
一种ldpc码的硬判决比特翻转译码算法 Download PDFInfo
- Publication number
- CN109510629A CN109510629A CN201811413220.1A CN201811413220A CN109510629A CN 109510629 A CN109510629 A CN 109510629A CN 201811413220 A CN201811413220 A CN 201811413220A CN 109510629 A CN109510629 A CN 109510629A
- Authority
- CN
- China
- Prior art keywords
- symbol
- value
- code word
- decoding algorithm
- hard decision
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种LDPC码的硬判决译码算法。该方法包括:在每一次迭代开始时先计算校验和,利用校验和与当前迭代次数判定译码是否完成;对于当前译码码字中的每一个码元,首先,判定其是否与接收码字中对应码元相等;其次,计算与该码元所连接的校验和值之和;第三,基于预设的概率值产生一个值为0或1的随机惩罚项。上述三部分之和为该码元的能量值。能量值反映每个码元的可靠性,对应能量值最大的码元将会被翻转。本发明的算法只需要利用硬消息进行译码,因此其译码复杂度很低。应用本发明的算法能够大大降低硬判决译码被困在捕获集中的概率。在软消息无法获得的情况下,如BEC信道,本发明所公开的译码算法大幅提高了对传输数据的纠错能力。
Description
所属技术领域
本发明涉及通信编码技术领域的译码算法,特别涉及到通信领域中一种针对于LDPC码的高性能低复杂度的硬判决比特翻转译码算法。
背景技术
在目前的通信系统中,信号由发生源产生,在经过有噪信道传输后到达接收端。因此接收到的信号是经过干扰的,噪声会使得接受信号中的一些消息与发射信号不符,导致接收到的信息并不是所希望得到的。为了保证接受信息与发射信息的一致性,在通信系统中引入了信道编码技术来克服有噪信道对传输消息的影响。该技术在发送信号中加入一些冗余校验位,接收端通过这些校验位来判定哪些消息是错误的并对其进行纠正。
低密度奇偶校验(LDPC)码是由Gallager在1963年提出的。由于其比较高的译码复杂度以及当时较低的科技水平,在很长一段时间内都没有受到人们的关注。在上世纪九十年代,D.MacKay重新将LDPC码带回公众的视线,很快引起了广泛的研究热潮。目前,LDPC码由于其具有接近香农限的译码性能,已经被广泛应用于光纤通信、以太网、微波通信、SSD、硬盘通信、5G通信等无线通信标准中。
LDPC码遵循迭代消息传递的译码过程,其译码算法主要分为软判决和硬判决两大类。软判决利用从信道中得到的软消息,在迭代中不断的对其进行修正,最终得到译码判决输出。软判决常用的算法为置信传播算法。由于其非常高的计算复杂度,最小和算法作为其一种简化版被更加广泛地使用在实际应用当中。偏差值和分层结构的引入保证了最小和译码算法的译码性能。虽然软判决译码算法可以以高复杂度为代价来获得很好的译码性能,但随之而来的问题是高复杂度对译码器吞吐率的限制,这使得软判决译码算法在需要很高吞吐率的应用场景下具有很大的缺陷。并且,在很多情况下,得到软消息所需要的延时和计算是无法接受的,因此译码器端只能得到二进制的硬消息,这也使得软判决译码无法正常执行。
与软判决译码算法相对的是硬判决译码算法。这一类算法在译码过程中只迭代传递硬消息,因此硬判决译码算法的译码复杂度很低,但译码性能也远逊于软判决译码算法。由于低复杂度带来的高吞吐率,在要求高速处理的环境下硬判决译码算法具有广阔的应用前景。目前常用的硬判决译码算法是比特翻转算法。为了提高比特翻转算法的译码性能,近些年提出了一种基于梯度下降的比特翻转算法。在该算法中首先定义了一个目标函数,之后将译码的过程看作是对这个目标函数的最大化过程,梯度下降算法被用于求解这个最大化问题。为了确定每次迭代中被翻转的比特,在该算法中定义了一个翻转方程,该方程的值表征了每个比特的能量值,每次迭代中能量值最大的比特将会被翻转。尽管如此,在无法获得软消息的环境下,如二进制对称信道(BSC),该算法的译码性能仍然较差,不能满足实际通信需求。
发明内容
本发明针对上述问题,提出了一种基于用于LDPC码的硬判决比特翻转译码算法,在保证低复杂度的前提下,提升了目前比特翻转译码算法的译码性能,使之具有更加广阔的应用前景。具体发明内容如下:
一种LDPC码的硬判决译码算法,其特征在于,当译码码字c不满足校验方程时,所述的译码方法包括:
对于译码码字中的每一个码元,根据接收到的消息计算其可靠性值,在每一次迭代时将最不可靠的码字进行翻转。
所述的方法还包括:
在计算每个码字对应的可靠性值之前,根据s=cHT计算出校验和向量s。若s=0则停止译码并宣告译码成功并输出当前译码码字c,否则继续译码过程。
所述的方法还包括:
在进行译码前预设最大迭代次数Tmax,并将当前迭代次数t初始化为0。在完成每次迭代后将当前迭代次数t加1。
所述的方法还包括:
在计算出校验和向量s之后,若s≠0,则判定当前迭代次数t是否等于Tmax。若t=Tmax,则判定译码失败并输出当前译码码字c,否则继续译码过程。
所述的方法还包括:
在进行译码前预设用于产生随机惩罚项的概率值p,其中0<p<1。p的最优数值通过仿真遍历搜索得到。
所述的方法还包括:
对于译码码字中的每一个码元,其可靠性值由对应该码元的能量值反映。能量值计算公式包含三部分信息,分别是:
a)该码元与接收向量中对应码元的相似程度;
b)与该码元相关联的校验方程的满足程度;
c)随机生成的惩罚项。
所述的方法还包括:
对于译码码字中的任一码元ck,其与接收向量中对应码元rk的相似程度由判定。若ck=rk则结果为1,反之结果为0。
所述的方法还包括:
对于译码码字中的任一码元ck,用与其连接的校验节点的校验和的累加和来反映与之相关联的校验方程的满足程度。
所述的方法还包括:
对于译码码字中的任一码元ck,分配给该码元的随机惩罚项λk的取值范围为0或1。其中λk=1的概率为p,λk=1的概率为1-p。
所述的方法还包括:
能量值计算公式为能量值越大则反映对应码元最不可靠。在每次译码迭代中,将译码码字中拥有最大能量值的所有码元进行翻转,即ck=1-ck。
本发明上述提出的译码算法,具有以下的有益效果:
首先,本发明的译码算法属于硬判决译码算法,只利用了接收到的硬判决消息进行计算,因此其译码复杂度非常之低;
其次,本发明的译码算法在翻转方程中首创性的加入了随机惩罚项,这一改变打破了原有译码过程的规则性,减少了译码被捕获集捕获的概率,降低了其对译码性能造成的影响;
第三,本发明的译码算法十分易于硬件实现;
第四,本发明的译码算法的译码性能远胜于目前的硬判决译码算法,这一可观的改进具有很大的意义,使得硬判决译码算法成为了一种更加可靠的译码算法。
附图说明
图1是本发明译码算法流程图示意图;
图2是二向图的示意图;
图3是捕获集示意图;
图4是译码状态示意图;
图5是本发明实施例的误帧率(FER)性能仿真示意图;
具体实施方式
下面将结合附图对本发明所提出的算法作更进一步的说明。特别说明的是参考附图描述的实施是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1是本发明译码算法流程图示意图。首先,将从信道接收到的码字向量r保存起来,向量r中只含有0或1两个数值,将其赋给当前译码码字c。预先设定最大的迭代次数Tmax和用于生成随机惩罚项序列的概率值p。注意p的最优值是通过仿真遍历搜索得到的。在大多数情况下,p的值可以被设置为0.9。将当前迭代数目t的值初始化为0。
第二,利用当前译码码字计算出每一个校验节点的校验和。校验和的计算方式为通过将在二向图中与该校验节点相连接的码元的值进行异或操作来得到。图2是二向图的示意图,如图所示,与校验节点c1连接的比特为v1,v2,v3,v4,因此该校验节点的校验和为这四个比特的值进行异或操作得到的结果。例如若这四个比特的值分别为0,0,0,1,则该校验位的校验和为1;若这四个比特的值分别为1,0,0,1,则该校验位的校验和为0。
第三,判断计算得到的校验和向量s是不是全零码字,若是,则退出译码并宣告译码成功,否则,继续执行下一步骤。
第四,判断当前迭代数目t是否等于预先设定的最大迭代数目Tmax,若是,则退出译码并宣告译码失败,否则,继续执行下一步骤。
第五,计算当前译码码字c中每一个码元的能量值,能量值通过下述翻转方程计算:
其中,Nv(k)表示在二向图中与第k个比特相连的校验节点,表示异或操作,λk代表随机惩罚项。可以看到,该方程主要包括三部分,从左到右依次是接收信息,校验信息以及随机惩罚项λ。本发明在翻转方程中引入随机惩罚项的目的是打破译码的规则性。由于规则性的存在,一些满足特殊结构的错误模式永远不会被译出,因此这些错误模式限制了译码的性能,导致了错误平台的出现。这些错误模式被称作捕获集。图3是捕获集示意图,假设发送全零码字,圆圈代表变量节点,矩形代表校验节点。可以看到,最初第1、3、5号码元是错误的,在不加入惩罚项时,前四个码元具有最大的能量值(2),因此他们应当被翻转。再翻转之后,前四个码元仍然具有最大的能量值(4),因此他们会被再次翻转。经过两次翻转,该捕获集的状态再次恢复到初始状态,因此这个错误模式不能够被常规比特翻转译码算法纠正。
加入的随机惩罚项λ的值为0或1,值为1的概率为p,值为0的概率为1-p。再加入随机惩罚项后,译码陷入捕获集的概率大大降低。当译码过程陷入捕获集时,随机惩罚项也可以帮助其以一定的概率从捕获集中逃脱,因此提升了译码性能。图3是译码状态示意图,当解出正确码字时,译码会达到最大值。可以看到,利用现有比特翻转译码算法进行译码时,在到达最大迭代次数时,译码仍未达到最大值,因此译码失败。而采用所提出的算法进行译码时,在很少的迭代周期内,译码就达到了最大值,因此宣告译码成功。这一结果体现了加入随机惩罚项的有效性。
第六,找出待翻转码元。将当前译码码字c中每一个码元的能量值进行比较,找出最大的能量值,记做Emax。之后,对于每一个码元,判断其能量值是否等于Emax。若是,则对其进行翻转,若不是,则不进行任何操作。翻转比特指的是将比特的值进行取反。例如若该比特的值为0,则翻转后其值为1;若该比特的值为1,则翻转后其值为0。
最后,将当前迭代数目t加1,返回步骤2继续进行译码。
实施例:以码长为1296,码率为1/2,行重为8,列重为4的码字为例说明。该码字通过BSC信道,信道的翻转概率为α,发送端采用BPSK调制,接收端分别采用基于梯度下降的比特翻转算法,本文所提出的改进版比特翻转算法算法和具有分层结构的修正最小和算法,利用蒙特卡洛方法进行仿真。上述硬判决译码算法,最大迭代次数为300,最后一种为软判决译码算法,最大迭代次数为20。图5为得到的FER性能仿真曲线。可以看出,当与硬判决译码算法相比时,本发明所公开的算法具有很大的性能改进,可以得到接近于OMS算法的译码性能。因此,本发明所公开的算法弥补了LDPC码软硬判决译码算法之间的性能差距。使得比特翻转译码算法成为了一种可靠的译码算法。
以上所述,仅为本发明较佳的具体实施方式,单本发明的保护范围并不局限榆次,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化和替换,都应该涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种LDPC码的硬判决译码算法,其特征在于,当译码码字c不满足校验方程时,所述的译码方法包括:
对于译码码字中的每一个码元,根据接收到的消息计算其可靠性值,在每一次迭代时将最不可靠的码字进行翻转。
2.根据权利要求1所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
在计算每个码字对应的可靠性值之前,根据s=cHT计算出校验和向量s。若s=0则停止译码并宣告译码成功并输出当前译码码字c,否则继续译码过程。
3.根据权利要求1所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
在进行译码前预设最大迭代次数Tmax,并将当前迭代次数t初始化为0。在完成每次迭代后将当前迭代次数t加1。
4.根据权利要求2或3所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
在计算出校验和向量s之后,若s≠0,则判定当前迭代次数t是否等于Tmax。若t=Tmax,则判定译码失败并输出当前译码码字c,否则继续译码过程。
5.根据权利要求1所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
在进行译码前预设用于产生随机惩罚项的概率值p,其中0<p<1。p的最优数值通过仿真遍历搜索得到。
6.根据权利要求1至5任一项所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
对于译码码字中的每一个码元,其可靠性值由对应该码元的能量值反映。能量值计算公式包含三部分信息,分别是:
a)该码元与接收向量中对应码元的相似程度;
b)与该码元相关联的校验方程的满足程度;
c)随机生成的惩罚项。
7.根据权利要求6所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
对于译码码字中的任一码元ck,其与接收向量中对应码元rk的相似程度由判定。若ck=rk则结果为1,反之结果为0。
8.根据权利要求6所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
对于译码码字中的任一码元ck,用与其连接的校验节点的校验和的累加和来反映与之相关联的校验方程的满足程度。
9.根据权利要求6所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
对于译码码字中的任一码元ck,分配给该码元的随机惩罚项λk的取值范围为0或1。其中λk=1的概率为p,λk=1的概率为1-p。当然,λk的取值范围也可拓展为n个,预先产生n个概率值,分别对应每一个取值的概率。
10.根据权利要求6至9任一项所述的LDPC码的硬判决译码算法,其特征在于,所述的方法还包括:
能量值计算公式为能量值越大则反映对应码元最不可靠。在每次译码迭代中,将译码码字中拥有最大能量值的所有码元进行翻转,即ck=1-ck。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811413220.1A CN109510629A (zh) | 2018-11-21 | 2018-11-21 | 一种ldpc码的硬判决比特翻转译码算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811413220.1A CN109510629A (zh) | 2018-11-21 | 2018-11-21 | 一种ldpc码的硬判决比特翻转译码算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109510629A true CN109510629A (zh) | 2019-03-22 |
Family
ID=65750451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811413220.1A Pending CN109510629A (zh) | 2018-11-21 | 2018-11-21 | 一种ldpc码的硬判决比特翻转译码算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109510629A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111313911A (zh) * | 2019-11-22 | 2020-06-19 | 南京大学 | 一种适用于5g ldpc码的度自适应定点化译码算法 |
-
2018
- 2018-11-21 CN CN201811413220.1A patent/CN109510629A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111313911A (zh) * | 2019-11-22 | 2020-06-19 | 南京大学 | 一种适用于5g ldpc码的度自适应定点化译码算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI663839B (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
Lian et al. | Learned belief-propagation decoding with simple scaling and SNR adaptation | |
US7519898B2 (en) | Iterative decoding of linear block codes by adapting the parity check matrix | |
CN107528597B (zh) | 一种基于crc校验码的ldpc码后处理译码方法 | |
CN105207682B (zh) | 基于动态校验矩阵的极化码置信传播译码方法 | |
CN102412847A (zh) | 用联合节点处理来解码低密度奇偶校验码的方法和设备 | |
CN101162965B (zh) | 一种ldpc码的纠删译码方法及系统 | |
JP2023547596A (ja) | 連結極性調整畳み込み符号を用いたデータの符号化および復号化のための方法および装置 | |
CN109586731A (zh) | 用于解码纠错码的系统和方法 | |
CN107565978A (zh) | 基于Tanner图边调度策略的BP译码方法 | |
CN105703781A (zh) | 用于估计同步错误位置的硬判决导向的前后向估计方法 | |
CN105812000B (zh) | 一种改进的bch软判决译码方法 | |
CN102064917B (zh) | 一种ldpc编码调制系统的解调译码方法 | |
CN101273531A (zh) | 低密度奇偶校验码的改进turbo-译码消息传递算法 | |
Shirvanimoghaddam | Primitive rateless codes | |
Grinchenko et al. | Improving performance of multithreshold decoder over binary erasure channel | |
CN109510629A (zh) | 一种ldpc码的硬判决比特翻转译码算法 | |
CN112491422A (zh) | 基于高斯优化的比特翻转串行消除列表译码方法和系统 | |
CN109560819A (zh) | 一种通用于ldpc码比特翻转译码算法的翻转准则 | |
Torshizi et al. | A new hybrid decoding algorithm for LDPC codes based on the improved variable multi weighted bit-flipping and BP algorithms | |
CN111464190B (zh) | Ldpc码与crc结合的交换校验译码方法及装置 | |
Ovchinnikov et al. | Evaluation of error probability of iterative schemes for channels with memory | |
Ivaniš et al. | Performance evaluation of faulty iterative decoders using absorbing Markov chains | |
Scholl et al. | Advanced hardware architecture for soft decoding Reed-Solomon codes | |
Grandhi et al. | CPE: Codeword prediction encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190322 |