CN109560819A - 一种通用于ldpc码比特翻转译码算法的翻转准则 - Google Patents
一种通用于ldpc码比特翻转译码算法的翻转准则 Download PDFInfo
- Publication number
- CN109560819A CN109560819A CN201811405807.8A CN201811405807A CN109560819A CN 109560819 A CN109560819 A CN 109560819A CN 201811405807 A CN201811405807 A CN 201811405807A CN 109560819 A CN109560819 A CN 109560819A
- Authority
- CN
- China
- Prior art keywords
- overturning
- symbol
- criterion
- taboo list
- introduce taboo
- 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 60
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007306 turnover Effects 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
-
- 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/1148—Structural properties of the code parity-check or generator matrix
Abstract
本发明涉及LDPC码的比特翻转译码算法,提供了一种通用的翻转准则。该翻转准则包括:首先定义一个禁忌列表,采用分组判决的方式,在计算出每一个码元的可靠性值之后,根据每个码元的指示值确认其是否在禁忌列表内;禁忌列表内的码元不参与最小可靠性值的查找过程,对应最小可靠值并且不在禁忌列表中的码元将会被翻转;翻转完成后将禁忌列表清空,并将最新被翻转的码元加入禁忌列表。本发明提供的翻转准则具有很强的可扩展性,可以通过简单的修改后移植到任何一种比特翻转算法中,使得这一类算法的译码性能得到了很大的改善。由于本翻转准则复杂度低且易于硬件实现,因而保持了比特翻转算法低复杂度、高吞吐率的良好特性。
Description
所属技术领域
本发明涉及通信编码技术领域的译码算法,特别涉及到通信领域中一种通用于LDPC码比特翻转译码算法的翻转准则。
背景技术
信道编码理论在通信系统中的数据传输中扮演着非常重要的角色。在目前所有的编码方案中,低密度奇偶校验(LDPC)码由于其杰出的译码性能获得了广泛的关注和研究。借助于迭代消息传递的软判决译码方式,LDPC码在与SP(sum-product)译码算法相结合时,可以达到接近于香农极限的译码性能。然而,SP算法的译码复杂度非常之高,这一缺点限制了LDPC码在很多应用场景下的应用。为了降低译码复杂度,最小和算法简化了在校验节点中的计算过程。尽管如此,在每次迭代中,这一算法的计算复杂度仍然十分可观。此外,LDPC码在存储系统中也得到了广泛的应用,然而,与通信系统不同,由于生成译码所需的软消息需要多次读取存储,这造成了很长的延时,因此,迭代消息传递的软判决译码算法并不适用于存储应用中。
与上述迭代消息传递算法不同,比特翻转算法所需要的计算复杂度十分之低,这一特点为简化硬件设计提供了便利。比特翻转算法的译码过程只借助了从信道得到的硬消息,译码过程大致如下:在每一次迭代中,根据翻转方程计算出每一个比特的可靠性值,之后利用这些数值来选择翻转一个或多个比特。尽管比特翻转算法的复杂度远低于消息传递算法,其译码性能也远远不如后者。为了在译码性能和译码复杂度中找到一个折中点,近些年来提出了许多基于比特翻转算法所提出的一些改进算法,主要是针对翻转方程或者翻转准则做出修改。
在针对翻转方程的修改中,主要是在翻转方程中加入一些新的衡量标准。如:将当前译码码字与从信道中得到的接收码字进行对比,或在翻转方程中加入一项随机产生的惩罚项。在二进制对称信道(BSC)中,通用的翻转方程可表示:
目前常用的算法会包含上述方程所含三项中的某一项或某两项。经由翻转方程计算得到的数值也被称为能量值。在针对翻转准则的修改中,通用的翻转准则主要有两种:翻转能量值最大的码元或者翻转能量值大于某个特定阈值的码元。。为了进一步的提升算法的性能,最近有研究者提出,在每次迭代中只翻转能量值最大的比特中任意挑选的一部分子集,仿真结果表明这一改变可以获得比较大的性能提升。然而,尽管上述算法在硬判决算法中拥有最好的译码性能,其性能依然差于软判决译码算法的性能。因此,如何缩短软硬译码算法的性能差仍然有很大的研究空间。
发明内容
本发明针对上述问题,提出了一种基于禁忌列表的通用与目前已知比特翻转译码算法的翻转规则,可有效帮助译码器选择出最不可靠的码字,之后对其进行翻转。这一翻转规则可以帮助比特翻转算法获得更好的译码性能。具体发明内容如下:
一种用于LDPC码比特翻转译码算法的翻转准则,其特征在于,当计算出译码码字c中每一个码元的可靠性值后,所述的译码方法包括:
在译码中定义了一个禁忌列表,对于译码码字中最不可靠的一部分码元,只有这些码元中不在禁忌列表中的一部分码元会被翻转。
所述的方法还包括:
禁忌列表的有效周期为一个周期,即,在每次迭代中,完成对当前译码码字的翻转之后将会清空禁忌列表,所有在表内的码元将会被释放。
所述的方法还包括:
在每次迭代中,最新被翻转的码元被认为是可靠的。在完成对当前译码码字的翻转并且清空禁忌列表之后,在当前迭代中最新被翻转的码元会被加入禁忌列表。
所述的方法还包括:
在进行译码前禁忌列表中不包含任何码元,即,在第一次迭代中每一个码元都有被翻转的可能,其是否被翻转完全由其可靠性值决定。
所述的方法还包括:
在计算出所有码元的可靠性值后,在找出最不可靠的部分码元的过程中,包含在禁忌列表中的码元不参与查找过程,即,只有在禁忌列表之外的码元会被判定为不可靠码元。
所述的方法还包括:
该翻转准则适用于任何计算码元可靠性值的方法。
所述的方法还包括:
该翻转准则适用于任何判定译码码字中不可靠部分的判决方法。如将可靠性值最低的码元认为是不可靠的,或将可靠性值低于某个特定阈值的码元认为是不可靠的。在查找最低可靠性值的过程中,包含在禁忌列表内的码元对应的可靠性值不参与查找过程。
本发明上述提出的翻转规则,具有以下的有益效果:
首先,本发明的翻转规则通过观察比特翻转译码器的译码过程了解到了振荡现象,并找出了造成这一问题的主要原因,之后针对这一问题设计了禁忌列表来避免译码过程在局部最大附近振荡。这一首创性的改变解决了振荡问题从而提升了译码性能;
其次,本发明的翻转规则适用于任何比特翻转算法;
第三,本发明的翻转规则可以与当前所有的翻转方程相结合;
第四,本发明的翻转规则几乎可以帮助现有的所有比特翻转译码算法进一步提升其译码性能;
第五,本发明的翻转规则几乎不需要增加硬件开销和译码所需的计算量;
最后,本发明的翻转规则可帮助目前的硬判决译码算法达到了最小和译码算法的译码性能。这一可观的改进具有很大的意义,使得硬判决译码算法成为了一种如软判决译码算法般可靠的译码算法。
附图说明
图1是本发明译码算法流程图示意图;
图2是译码过程示意图;
图3是提出的翻转判决准则示意图;
图4是译码状态示意图;
图5是译码性能仿真图;
具体实施方式
下面将结合附图对本发明所提出的算法作更进一步的说明。特别说明的是参考附图描述的实施是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1是本发明译码算法流程图示意图。首先,将从信道接收到的码字向量r保存起来,向量r中只含有0或1两个数值,将其赋给当前译码码字c。预先设定最大的迭代次数Tmax。将当前迭代数目t的值初始化为0。此外,预设一个指示向量,用于指示当前码元的翻转情况,将其初始化为全零向量。
第二,利用当前译码码字计算出每一个校验节点的校验和s。校验和的计算方式为通过将在二向图中与该校验节点相连接的码元的值进行异或操作来得到。
第三,判断计算得到的校验和向量s是不是全零码字,若是,则退出译码并宣告译码成功,否则,继续执行下一步骤。
第四,判断当前迭代数目t是否等于预先设定的最大迭代数目Tmax,若是,则退出译码并宣告译码失败,否则,继续执行下一步骤。
第五,计算当前译码码字c中每一个码元的能量值。注意,在本发明所提出的判决准则中,并不会对计算码元能量值的方式作出任何限制,即,可以利用任何已知的翻转方程来计算码元的能量值。下述方程展示的仅为通用的翻转方程,在该方程中,a、 b、c三项不同时为零。
其中,Nv(k)表示在二向图中与第k个比特相连的校验节点,表示异或操作,λk代表随机惩罚项。可以看到,该方程主要包括三部分,从左到右依次是接收信息,校验信息以及随机惩罚项λ。
第六,找出待翻转码元。图2是译码过程示意图,通过观察目前比特翻转算法的译码进程,我们可以看到有很多码元在连续的多次迭代中被不停的重复翻转,这一过程极大的损害了译码效率,导致译码性能低下。基于此,我们提出了一种新的翻转准则。图3是提出的翻转判决准则示意图。这个过程主要分为两部分,首先,找出不在禁忌列表中的所有码元所对应的最大能量值;其次,对于之前在禁忌列表中的码元,不对其进行翻转且将其从禁忌列表中释放,对于禁忌列表外拥有最大能量值的码元,将其翻转且将其加入禁忌列表。
图4是译码状态示意图,当解出正确码字时,译码会达到最大值。可以看到,尽管加入了随机干扰可以帮助提升译码性能的随机惩罚项,采用常规翻转准则的译码算法仍然不能够解出某些码字。而当采用本发明所提出的翻转准则时,译码很快就可以达到最大值,因此,在很少的迭代数目内即可译码成功。这说明了所提出翻转准则的有效性。
最后,将当前迭代数目t加1,返回步骤2继续进行译码。
实施例:以码长为1296,码率为1/2,行重为8,列重为4的码字为例说明。该码字通过BSC信道,信道的翻转概率为α,发送端采用BPSK调制,接收端分别采用基于梯度下降的比特翻转(GDBF)算法,加入随机干扰的改进版GDBF(PGDBF)算法,本文所提出的(TRGDBF)算法和具有分层结构的修正最小和算法(OMS)。利用蒙特卡洛方法进行仿真。上述四种算法前三种为硬判决译码算法,最大迭代次数为300,最后一种为软判决译码算法,最大迭代次数为20。图5为得到的FER性能仿真曲线。
可以看出,在上述所有译码算法中,采用本发明所提出的翻转准则所获得的译码性能最好,甚至要优于最小和算法。此外,采用本发明提出的翻转准则得到的译码性能远优于现有比特翻转算法能够达到的性能。在低误码率区域,现有的比特翻转算法性能改进速度明显放缓,出现了错误平层,而采用本发明提出的翻转准则得到的译码性能并未出现这一问题。从上述结果可以得到,本发明所公开的翻转准则使得比特翻转算法可以达到软判决译码算法的性能。这一结果是具有突破性意义的。
以上所述,仅为本发明较佳的具体实施方式,单本发明的保护范围并不局限榆次,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化和替换,都应该涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (7)
1.一种用于LDPC码比特翻转译码算法的翻转准则,其特征在于,当计算出译码码字c中每一个码元的可靠性值后,所述的译码方法包括:
在译码中定义了一个禁忌列表,对于译码码字中最不可靠的一部分码元,只有这些码元中不在禁忌列表中的一部分码元会被翻转。
2.根据权利要求1所述的用于LDPC码比特翻转译码算法的翻转准则,其特征在于,所述的方法还包括:
禁忌列表的有效周期为一个周期,即,在每次迭代中,完成对当前译码码字的翻转之后将会清空禁忌列表,所有在表内的码元将会被释放。当然,也可在多个周期(如n个)之后对禁忌列表进行清空。
3.根据权利要求1所述的用于LDPC码比特翻转译码算法的翻转准则,其特征在于,所述的方法还包括:
在每次迭代中,最新被翻转的码元被认为是可靠的。在完成对当前译码码字的翻转并且清空禁忌列表之后,在当前迭代中最新被翻转的码元会被加入禁忌列表。
4.根据权利要求1所述的用于LDPC码比特翻转译码算法的翻转准则,其特征在于,所述的方法还包括:
在进行译码前禁忌列表中不包含任何码元,即,在第一次迭代中每一个码元都有被翻转的可能,其是否被翻转完全由其可靠性值决定。
5.根据权利要求1所述的用于LDPC码比特翻转译码算法的翻转准则,其特征在于,所述的方法还包括:
在计算出所有码元的可靠性值后,在找出最不可靠的部分码元的过程中,包含在禁忌列表中的码元不参与查找过程,即,只有在禁忌列表之外的码元会被判定为不可靠码元。
6.根据权利要求1至5所述的用于LDPC码比特翻转译码算法的翻转准则,其特征在于,所述的方法还包括:
该翻转准则适用于任何计算码元可靠性值的方法。
7.根据权利要求1至6所述的用于LDPC码比特翻转译码算法的翻转准则,其特征在于,所述的方法还包括:
该翻转准则适用于任何判定译码码字中不可靠部分的判决方法。如将可靠性值最低的码元认为是不可靠的,或将可靠性值低于某个特定阈值的码元认为是不可靠的。在查找最低可靠性值的过程中,包含在禁忌列表内的码元对应的可靠性值不参与查找过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405807.8A CN109560819A (zh) | 2018-11-21 | 2018-11-21 | 一种通用于ldpc码比特翻转译码算法的翻转准则 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405807.8A CN109560819A (zh) | 2018-11-21 | 2018-11-21 | 一种通用于ldpc码比特翻转译码算法的翻转准则 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109560819A true CN109560819A (zh) | 2019-04-02 |
Family
ID=65867061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811405807.8A Pending CN109560819A (zh) | 2018-11-21 | 2018-11-21 | 一种通用于ldpc码比特翻转译码算法的翻转准则 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109560819A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224675A (zh) * | 2019-11-22 | 2020-06-02 | 南京大学 | 基于自适应阈值的高效比特翻转译码器 |
WO2023246473A1 (zh) * | 2022-06-24 | 2023-12-28 | 华为技术有限公司 | 一种译码方法、芯片及相关装置 |
-
2018
- 2018-11-21 CN CN201811405807.8A patent/CN109560819A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224675A (zh) * | 2019-11-22 | 2020-06-02 | 南京大学 | 基于自适应阈值的高效比特翻转译码器 |
WO2023246473A1 (zh) * | 2022-06-24 | 2023-12-28 | 华为技术有限公司 | 一种译码方法、芯片及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI663839B (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
CN110380819B (zh) | 一种基于llr的分段翻转极化码译码方法和智能终端 | |
CN113032178B (zh) | 存储器控制器及快闪存储器的存取方法 | |
CN102412847B (zh) | 用联合节点处理来解码低密度奇偶校验码的方法和设备 | |
CN107528597B (zh) | 一种基于crc校验码的ldpc码后处理译码方法 | |
TWI411912B (zh) | 使用寫入驗證之代碼之錯誤底限減緩 | |
CN106330203B (zh) | 一种ldpc的解码方法 | |
US20090319860A1 (en) | Overcoming ldpc trapping sets by decoder reset | |
Kang et al. | An iterative decoding algorithm with backtracking to lower the error-floors of LDPC codes | |
CN110545110A (zh) | 级联极化编码和滑动窗口极化编码 | |
US10574274B2 (en) | Systems and methods for decoding error correcting codes | |
CN109981112A (zh) | 一种部分循环冗余校验辅助的排序统计译码方法 | |
CN106936446A (zh) | 一种基于多进制ldpc码的高速译码器及其译码方法 | |
WO2013018080A1 (en) | Error-correction decoding with reduced memory and power requirements | |
US11177834B2 (en) | Communication method and apparatus using polar codes | |
CN109560819A (zh) | 一种通用于ldpc码比特翻转译码算法的翻转准则 | |
CN110995279A (zh) | 一种极化码联合scf球形列表翻转译码方法 | |
KR101657912B1 (ko) | 비이진 저밀도 패리티 검사 코드의 복호화 방법 | |
CN106708654A (zh) | 一种用于NANDflash的BCH纠错码的电路结构 | |
CN111654291B (zh) | 一种基于比特翻转的极化码快速串行抵消列表译码算法 | |
CN114421976B (zh) | 基于概率计算的tpc迭代译码方法及译码器 | |
Hamoum et al. | Synchronization algorithms from high-rate ldpc codes for dna data storage | |
CN109510629A (zh) | 一种ldpc码的硬判决比特翻转译码算法 | |
KR101268061B1 (ko) | 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 | |
KR102607761B1 (ko) | 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |