CN114785357A - 一种基于CRC-LDPC-Polar级联系统的BPL译码算法 - Google Patents
一种基于CRC-LDPC-Polar级联系统的BPL译码算法 Download PDFInfo
- Publication number
- CN114785357A CN114785357A CN202210352308.7A CN202210352308A CN114785357A CN 114785357 A CN114785357 A CN 114785357A CN 202210352308 A CN202210352308 A CN 202210352308A CN 114785357 A CN114785357 A CN 114785357A
- Authority
- CN
- China
- Prior art keywords
- decoding
- code
- bpl
- decoding algorithm
- polarization
- 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
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2948—Iterative decoding
- H03M13/2951—Iterative decoding using iteration stopping criteria
-
- 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/13—Linear codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种CRC‑LDPC‑Polar级联系统的BPL译码算法。在级联系统中采用循环冗余校验和极化码生成矩阵的反编码码字校验作为早期停止准则,先采用BP译码算法,如果校验不通过再采用BPL译码算法,通过减少级联码译码算法的迭代次数来降低级联码中BPL译码算法的译码复杂度。并且针对极化码的BPL译码算法提出一种新的因子图选取方法,该因子图选取方法利用极化码高斯近似构造法中极化信道对数似然比值的均值,来选择BPL译码算法的L个译码因子图,使得级联系统的BPL译码算法在列表大小L较小时也能有较好的误码性能。
Description
技术领域
本发明涉及信道编码技术,尤其涉及极化码的BPL译码算法,具体涉及一种CRC-LDPC-Polar级联系统的BPL译码算法。
背景技术
极化码由Arikan提出,是第一个理论上在二进制输入离散无记忆对称信道(Binary Input Discrete Memoryless Symmetric Channel,BI-DMSC)下达到香农限的信道编码方案。两种熟知的译码算法有串行抵消(Successive Cancellation,SC)和置信传播(BeliefPropagation,BP)译码算法。BP译码算法是一个迭代的并行译码算法,并行的特性使它适用于低延迟和高吞吐的系统,但是其误码性能和SCL译码算法相比有很大的差距。
目前对于极化码BP译码算法的改进,在文献[1]首次提出了BPL(BeliefPropagation List)译码算法(Elkelesh A,Ebada M,Cammerer S,et al.Beliefpropagation list decoding of polar codes[J].IEEE Communications Letters,2018,22(8):1536-1539.),有效的提升了BP译码算法的误码性能,其因子图的选取方法是随机选择的,极化码的不同因子图表示形式如图1所示,例如码长N=8的极化码有log2 8!=6个不同的因子图,图1为其中的三个因子图。文献[2](DoanN,Hashemi S A,Mondelli M,et al.Onthe decoding ofpolar codes on permuted factor graphs[C]//2018IEEE GlobalCommunications Conference(GLOBECOM).IEEE,2018:1-6.)则是提出了一种码字映射方法可以使得BPL译码器只用改变码字序列,而不需要设计不同的BP译码器,使得BPL译码算法的软硬件实现更加简单,码字序列和极化码因子图的对应关系如图2所示,图2左侧的因子图可以用右侧的因子图来表示,右侧因子图的结构与最原始的因子图相同,只是输入码字序列的顺序不同,这使得不同因子图的软硬件实现更简单。另外,在文献[3](周沈洋,白宝明,任兆丰,朱敏,李秉豪,唐瑞波.面向高吞吐传输的级联极化码BP List译码算法[J].西安电子科技大学学报,2020,47(06):58-65.)中提出一种将BPL译码算法运用到LDPC-Polar级联系统中,在最佳路径选择上采用大数判决准则来输出译码码字,有效的提高了极化码BP译码算法的误码性能。
然而,在同等的列表大小下,BPL译码算法和CA-SCL译码的误码性能相比仍有一些差距。为了取得更好的误码性能,BPL的列表大小需要取得较大,这就意味着复杂度的增加。因此本发明的目的在于提出一种基于CRC-LDPC-Polar级联系统的BPL译码算法,在列表大小较小的情况下能拥有较低的译码复杂度,并且具有较好的误码性能。
发明内容
本发明的主要目的在于提升CRC-LDPC-Polar级联系统的误码率性能和降低该系统的译码复杂度,在级联系统中利用CRC校验和极化码生成矩阵的反编码码字校验作为早期停止准则,先在最原始的因子图上进行BP译码,这是因为在级联码中原始因子图译码成功的概率已经很高,如果译码成功则可以不继续进行BPL译码,直接终止译码。如果译码失败,再进行BPL译码,以此来降低级联系统中BPL译码算法的译码复杂度。并且提出一种新的因子图选取方法,使得级联系统中极化码的BPL译码算法在L较小时也能有较好的误码性能。
本发明的技术方案如下:
步骤一:首先极化码通过高斯近似构造得到信息位和冻结位,使用本发明提出的因子图选择方法得到L个译码因子图。
步骤二:本发明提出的CRC-LDPC-Polar级联系统译码流程如图3所示。在编码时,首先将LDPC的编码结果作为极化码中间信道的编码输入,LDPC和极化码的级联结构如图4所示,左侧LDPC码的变量节点和极化码的中间信道相连。然后从其余的信息位中选择CRC校验位并将剩余的信息位进行编码,冻结位则是固定的码字。
步骤三:采用BP译码方法对极化码和LDPC进行联合迭代译码。首先对最原始的因子图进行内码极化码的BP译码。级联系统的BP译码过程为,在完成半轮迭代译码时,将软信息通过中间信道传给LDPC码的变量节点。随后LDPC码进行BP译码并将信息回传给极化码的中间信道,随后极化码完成剩下的半轮译码,这个过程为级联系统的一轮迭代译码,在完成一轮译码时,通过CRC和极化码生成矩阵的反编码字校验对每轮极化码信源端的左向和右向传递信息之和的硬判决值进行校验,如果同时通过两种校验条件,则转至步骤四,如果校验不通过且未达到最大迭代次数,则继续迭代译码,如果达到最大迭代次数,则转至步骤五。
步骤四:将极化码信源端的左向和右向传递信息之和的硬判决值作为最终译码的输出结果,并结束译码。
步骤五:此时最原始的译码因子图译码失败,将其余的L-1个因子图使用BPL译码算法进行译码。当其中任意一个因子图迭代过程中产生的极化码信源端的左向和右向传递信息之和的硬判决值通过校验时,则将极化码信源端的左向和右向传递信息之和的硬判决值作为最终译码结果,并结束译码,如果都不满足且达到最大迭代次数,则译码失败。
其中选择L个因子图的步骤如下:
步骤一:通过高斯近似构造方法得到极化码的信息位和冻结位,并且得到每个信道LLR均值E[L(ui)],极化码的信息位所在的信道的索引集合A={i1,i2,...,iK}。
步骤二:通过置换方法得到该极化码码长下每个因子图的排列组合,得到每个置换后的信息位所在信道的索引集合π(A)={j1,j2,...,jK}。
该因子图选择方法不需要通过大量的仿真,采用该因子图选择方法的BPL译码算法在列表大小较小时就能拥有较好的误码性能,所以该因子图选择方法也更适合运用到级联码中。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为极化码码长N=8时,BPL译码算法的一部分置换因子图。
图2为极化码码长N=8时,文献[2]提出的置换因子图和码字序列之间的对应关系图。
图3为本发明提出的CRC-LDPC-Polar级联系统的顺序式BPL译码流程示意图。
图4为LDPC-Polar级联系统的因子图结构图。
图5为当极化码码长为256,外码LDPC码码长为64的级联系统采用本发明所述算法与CA-SCL译码算法以及文献[3]的误码性能对比仿真图。
图6为当极化码码长为256,外码LDPC码码长为64的级联系统采用本发明所述算法与BP译码算法以及文献[3]的迭代次数对比图。
具体实施方案
下面将结合本发明实施例中的附图,对本发明的实施例中的技术方案进行清楚地、完整地描述。
以下给出一种基于CRC-LDPC-Polar级联系统的BPL译码算法的具体实现步骤。以极化码码长N=256,LDPC码长N=64,CRC长度为8,级联码码率为0.5的CRC-LDPC-Polar级联码及其采用BPL译码算法为例,来阐述本发明的具体实施方案。
步骤一:首先进行LDPC码的构造,采用PEG构造法构造出码长为64,信息位为32的(3,6)规则LDPC码。然后进行极化码的构造,极化码码长N=256,将信道进行信道极化,当合并信道的数目趋于无穷大时,一部分信道趋于无噪信道,另外一部分信道趋于全噪信道。无噪信道的传输速率会达到信道容量I(W),全噪信道的传输速率趋于0。利用这一特性,根据可靠度将信道从小到大进行排序后得到集合v={v0,...,v255},将该集合划分为三部分:K=168个用于传输信息比特,以及N-K=88个用于传输固定比特的冻结比特集合。信息位集合中vi={v0,...,v63}作为和外码LDPC码相连的信息位,即中间信道,将信息位中的vC={v248,...,v255}作为CRC校验位,即CRC校验位的长度为8。
步骤二:进行外码LDPC码的编码,信息位长度为32位,生成码字长度为64位,将这64位码字作为极化码的中间信道部分的编码码字,并将极化码的编码码字通过CRC生成式生成CRC校验位,将需要编码码字进行极化码的编码。
步骤三:将编码完成后的256个码字进行BPSK调制,将0和1码字转化成1和-1,并且通过AWGN信道进行传输。
步骤四:生成极化码的n!个置换因子图,其中N=2n为极化码码长,码长为256的极化码拥有40320个不同的置换因子图。
步骤六:选择前L个最大具有LLR均值之和的因子图作为BPL译码算法的L个译码因子图,这里L=4,这里选择出来的因子图的索引集合为{1,39601,30241,35281}。
步骤七:在译码端,首先在最原始的因子图上对信道接收值进行译码。在第一轮迭代时,当内码极化码接收到256个信道信息时,首先从因子图最右侧向左按照运算单元的计算规则进行信息传递。在到达因子图最左侧时,和中间信道相连的LDPC外码的变量节点接收从内码极化码传入的软信息,LDPC码进行一次迭代译码。随后将软信息传入内码极化码因子图的最左侧,从左向右进行译码。到达因子图的最右侧时完成级联系统的一轮迭代译码。在每轮的迭代过程中,对本次迭代译码的极化码信源端的左向和右向传递信息之和的硬判决值判断是否通过CRC校验和极化码生成矩阵的反编码字校验,如果通过了校验,则直接将该结果作为最终的译码输出。如果没有通过,则继续进行迭代译码。在达到最大迭代次数50次后,如果还没有还没有通过校验,则进入下一步骤。
步骤八:将剩下的3个译码因子图同时进行BP译码,在译码的迭代过程中,只要任意一个因子图的硬判决输出满足校验条件,则将该输出作为译码结果,并终止译码,否则,则继续迭代译码,直到达到最大迭代次数。
图5展示了本发明提出的方法,文献[3]的级联系统和CA-SCL译码算法的误码性能比较。图5的极化码码长N=256,K=128+32+8,外码采用码长为64,信息位为32的(3,6)规则LDPC码,CRC长度为8。仿真结果表明,当极化码码长为256时,本发明提出的级联系统和文献[3]的方法有很相近的误码率性能,并且该系统在BPL(L=4)时相比于CA-SCL(L=8)都有一些性能增益。
图6展示了本发明提出的方法,文献[3]的级联系统和BP译码算法的迭代次数比较。图6的极化码码长N=256,K=128+32+8。外码采用码长为64,信息位为32的(3,6)规则LDPC码,CRC长度为8。从图中可以看出,因为传统的BPL译码算法需要L个因子图同时译码,所以文献[3]的平均迭代次数较大,这就会导致级联系统的译码复杂度高。本发明提出的级联系统在采用了早期停止准则的基础上还提出了一种基于CRC-LDPC-Polar级联码的BPL译码算法,所以在级联系统下原始因子图译码成功率很高的情况下可以有效的减小迭代次数。
Claims (2)
1.基于CRC-LDPC-Polar码的BPL译码算法,其特征在于:在级联系统中利用CRC校验和极化码生成矩阵的反编码码字校验作为早期停止准则,先进行BP译码,如果译码失败,再进行BPL译码,具体实现如下:
步骤一:根据本发明提出的因子图选择方法,选择极化码的BPL译码算法的因子图集合。
步骤二:对最原始的因子图进行BP译码,原始的因子图也是L个因子图之一,该级联系统采用LDPC-Polar联合迭代译码。在极化码完成半轮迭代译码时,将软信息通过中间信道传给LDPC码的变量节点。LDPC码进行BP译码并将信息回传给极化码的中间信道,随后极化码完成剩下的半轮译码,这个过程为级联系统的一轮迭代译码。在每轮迭代时对极化码信源端的左向和右向传递信息之和的硬判决值进行CRC校验和极化码生成矩阵的反编码字校验,如果通过校验条件,则直接终止迭代,输出译码结果,如果不通过,则继续迭代译码。
步骤三:当迭代次数达到设置的最大迭代次数时,如果还是不能通过校验条件,则将剩余的L-1个因子图集合同时进行联合迭代译码。当其中任意一个译码器的极化码信源端的左向和右向传递信息之和的硬判决值通过校验条件时则终止迭代,并将该因子图的译码输出作为最终译码结果,反之则继续迭代译码。
2.根据权利要求1所述的极化码的BPL译码算法的因子图选取方法,其特征在于,利用极化码高斯近似构造法中极化信道对数似然比值的均值来选择BPL译码算法的L个译码因子图,使得级联系统的BPL译码算法在L较小时也能有较好的误码率性能。包括以下步骤:
步骤一:通过极化码的高斯近似构造法计算得到每个信道LLR的均值,即E[L(ui)],通过编码端的极化码构造方法得到信息位所在信道的索引集合A={i1,i2,...,iK}。
步骤二:通过置换方法得到该极化码码长下每个不同因子图的排列组合,得到每个置换后的信息位所在信道的索引集合π(A)={j1,j2,...,jK}。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210352308.7A CN114785357A (zh) | 2022-04-05 | 2022-04-05 | 一种基于CRC-LDPC-Polar级联系统的BPL译码算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210352308.7A CN114785357A (zh) | 2022-04-05 | 2022-04-05 | 一种基于CRC-LDPC-Polar级联系统的BPL译码算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114785357A true CN114785357A (zh) | 2022-07-22 |
Family
ID=82426504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210352308.7A Pending CN114785357A (zh) | 2022-04-05 | 2022-04-05 | 一种基于CRC-LDPC-Polar级联系统的BPL译码算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114785357A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115276912A (zh) * | 2022-09-28 | 2022-11-01 | 鹏城实验室 | 基于高斯近似改进极化码的译码级联迭代水声通信系统 |
CN115622574A (zh) * | 2022-12-16 | 2023-01-17 | 天地信息网络研究院(安徽)有限公司 | 一种基于遗传算法的极化码译码方法 |
CN115987298A (zh) * | 2023-03-20 | 2023-04-18 | 北京理工大学 | 基于BPL稀疏因子图选择的Polar码剪枝译码方法 |
CN116505958A (zh) * | 2023-05-08 | 2023-07-28 | 江西财经大学 | 一种噪声辅助bpl级联osd的极化码译码方法、系统、设备及介质 |
-
2022
- 2022-04-05 CN CN202210352308.7A patent/CN114785357A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115276912A (zh) * | 2022-09-28 | 2022-11-01 | 鹏城实验室 | 基于高斯近似改进极化码的译码级联迭代水声通信系统 |
CN115276912B (zh) * | 2022-09-28 | 2023-02-21 | 鹏城实验室 | 基于高斯近似改进极化码的译码级联迭代水声通信系统 |
CN115622574A (zh) * | 2022-12-16 | 2023-01-17 | 天地信息网络研究院(安徽)有限公司 | 一种基于遗传算法的极化码译码方法 |
CN115987298A (zh) * | 2023-03-20 | 2023-04-18 | 北京理工大学 | 基于BPL稀疏因子图选择的Polar码剪枝译码方法 |
CN116505958A (zh) * | 2023-05-08 | 2023-07-28 | 江西财经大学 | 一种噪声辅助bpl级联osd的极化码译码方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elkelesh et al. | Belief propagation list decoding of polar codes | |
Elkelesh et al. | Belief propagation decoding of polar codes on permuted factor graphs | |
JP3857320B2 (ja) | 並列連結のテイルバイティング・コンボルーション・コード及びその復号器 | |
CN114785357A (zh) | 一种基于CRC-LDPC-Polar级联系统的BPL译码算法 | |
US9628113B2 (en) | Encoding method and apparatus using CRC code and polar code | |
Ping et al. | Low-rate turbo-Hadamard codes | |
Chiu et al. | Reduced-complexity SCL decoding of multi-CRC-aided polar codes | |
JP2001237809A (ja) | エラー訂正符号化型デジタル送信方法 | |
US11316540B2 (en) | Method of decoding polar codes based on belief propagation | |
Tonnellier et al. | Towards practical near-maximum-likelihood decoding of error-correcting codes: An overview | |
Yang et al. | Error-correcting performance comparison for polar codes, LDPC codes and convolutional codes in high-performance wireless | |
JP2001257601A (ja) | 誤り訂正符号化タイプのデジタル送信方法 | |
Caire et al. | Almost-noiseless joint source-channel coding-decoding of sources with memory | |
Zeng et al. | Polar codes: Encoding/decoding and rate-compatible jointly design for HARQ system | |
KR20090091254A (ko) | 터보 디코더 장치 및 방법 | |
RU2301492C2 (ru) | Способ передачи голосовых данных в цифровой системе радиосвязи и устройство для его осуществления | |
Alebady et al. | Concatenated turbo polar codes: An overview | |
KR101562220B1 (ko) | 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치 | |
Zhang et al. | CRC-aided adaptive belief propagation decoding of NR LDPC codes | |
Xu et al. | CRC-aided iterative decoding of turbo-Hadamard codes | |
US8091012B2 (en) | System and method for decreasing decoder complexity | |
Dai et al. | CRC-aided belief propagation with permutated graphs decoding of polar codes | |
Wang et al. | Low-complexity decoding architecture for rate-compatible puncturing polar codes | |
Wu et al. | Joint source channel VL coding/decoding for deep space communication networks based on a space trellis | |
Wu et al. | Joint source-channel polar-coded modulation |
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 |