CN112929035A - 一种非二进制极化码的编码与译码方法 - Google Patents

一种非二进制极化码的编码与译码方法 Download PDF

Info

Publication number
CN112929035A
CN112929035A CN202110059006.6A CN202110059006A CN112929035A CN 112929035 A CN112929035 A CN 112929035A CN 202110059006 A CN202110059006 A CN 202110059006A CN 112929035 A CN112929035 A CN 112929035A
Authority
CN
China
Prior art keywords
decoding
symbol
nbpc
channel
binary
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
Application number
CN202110059006.6A
Other languages
English (en)
Inventor
李树锋
蔡铭宇
金立标
胡峰
张乃谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Communication University of China
Original Assignee
Communication University of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Communication University of China filed Critical Communication University of China
Priority to CN202110059006.6A priority Critical patent/CN112929035A/zh
Publication of CN112929035A publication Critical patent/CN112929035A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes

Abstract

本发明公开了一种非二进制极化码的编码与译码方法,二进制极化码BPC是一种可以达到信道容量的高效码,然而在串行消除列表SCL译码下的延迟相对较高,大大限制了它的实际应用。有关非二进制极化码NBPC的研究表明它可以改善延迟的问题。因为NBPC的译码是一个平行处理过程,导致译码的效率得到提高。为降低SCL译码的复杂度,还提出一种基于完全极化的SCL算法。该算法在“完全极化”位置将不再进行路径分裂,能够大幅减少系统内不必要的运算量。仿真结果显示,构建的NBPC的性能要明显优于传统的BPC。而且只要选择合适的完全极化比例β,PPB‑SCL与传统的SCL译码相比,在不显著损失性能的同时可以在符号码长Ns=1024下将时间复杂度降低74.14%。

Description

一种非二进制极化码的编码与译码方法
技术领域
本发明涉及一种基于GF(2m)的非二进制极化码的编码与译码方法,属于无线通信技术领域。
背景技术
二进制极化码(Binary Polar Code,BPC)能够达到二进制离散无记忆(binarydiscrete memoryless channel,B-DMC)信道对称容量,且编译码复杂度较低。由于上述的优势,极化码被采用为第五代(fifth-generation,5G)无线通信NR控制信道的标准。随着沉浸式移动多媒体技术的快速发展,5G无线通信对于满足低延时高吞吐的要求也越来越高。然而极化码的串行消除(successive-cancellation,SC)译码算法由于其次优性和连续性,导致其在中短码块长度下的性能并不是很好,特别是译码时延相对较高。因此为了极化码在5G的各种应用场景上有更好的表现,相关的改良方案也频出不穷。
其中一种方案是直接在译码方面进行改进。串联消除列表(successive-cancellation list,SCL)译码器以有限的吞吐量为代价,从而在纠错性能和硬件实现复杂度之间进行了合理的折衷。并且它可以通过简单地增加列表大小L来获得更好的纠错性能。但是,随着列表大小L的增加,因为在更新和排序路径度量值(path metric,PM)时无法进行并行操作,这大大增加了译码延迟。于是,在实际中实现低延迟的SCL译码器也相继被提出。其中一个重要的改动举措为采用多位判决的并行输出译码方式,可以显著地减少SCL译码器的延迟。这种多个比特同时输出译码的并行处理方案在5G毫米波广播系统中已经展示了良好的性能。
在改善译码性能上的另外一个重要研究方向就是考虑非二进制极化码(Non-Binary Polar Code,NBPC)。NBPC的译码器实际上也是对多个比特同时译码的过程。因此它也属于并行处理,具有很高的研究价值。起初信道极化是针对二进制输入信道提出的,但是它仍可以被推广到任意离散无记忆信道。目前有研究表明对于多元输入信道来说,信道极化仍然存在。而且对于一切低于对称信道容量的速率,极化码在多元输入的离散无记忆信道上能够进行可靠传输。在NBPC的构造方面,有学者讨论了以Reed-Solomon(RS)核为研究对象的NBPC,但是并没有讨论一般形式的非二进制核。另有一部分研究讨论了由一般的非二进制核构造的极化码,然而其译码算法是基于后验概率向量的,而不是基于对数似然比(log-likelihoodratio,LLR)的。
发明内容
本发明的目的是讨论基于有限域(Galois field,GF)上的NBPC,我们考虑的是含有q个元素的有限域GF(q),q=2m,其中m为一正整数,即GF(2)的扩展域。编码部分的冻结位选择是利用蒙特卡洛模拟完成的。基于LLR的SCL译码算法在本发明中延伸至NBPC中,并且提出了普遍的对于NBPC的LLR迭代公式。此外,为了降低SCL的译码时间复杂度,给出了一种基于完全极化的SCL(perfect polarizationbased-SCL,PPB-SCL)算法。仿真结果显示,所构建的NBPC的性能要明显优于传统的BPC。而且只要选择合适的完全极化比例β,PPB-SCL与传统的SCL译码相比,在不显著影响性能的同时却有着更低的时间复杂度。因此,再加上NBPC自身的相对低时延的优势,提出的运用PPB-SCL译码的NBPC能够极大程度改善性能。该方案能够在5G的各种低时延、低复杂度的应用场景中有更好的表现。
本发明采用的技术方案为NBPC的编译码方法。本发明方法包括S1-S3三个步骤,S1对初始信息序列进行编码,S2将编码序列进行调制并送入信道传输,S3对信道输出的序列进行译码工作,提出了两种译码算法。
考虑采用的系统如图1所示。首先,将输入的非二进制数据序列中每个GF(2m)的有限域符号转化为m位二进制数,得到二进制序列。加入长度为lCRC的循环冗余校验(cyclicredundancy check,CRC)比特后,再将所得结果转换回GF(2m)符号。随后,根据蒙特卡洛模拟的结果将冻结位加入,并送入NBPC编码器。在传送部分,选择BPSK调制和二进制加性高斯白噪声(binary additive white Gaussian noise,B-AWGN)信道。在译码阶段,将首先计算出用于NBPC译码器中递归运算的初始LLR值。经过译码器后,得到未经编码器操作的估计序列。在进入CRC校验前,需将冻结符号移除并转换为二进制序列。最终最先通过CRC校验的估计序列通过比特至GF(2m)符号的转换得到输出估计序列。通过比较两个输入数据序列和输出估计序列进行误码性能分析。
S1.非二进制极化码的编码
设核矩阵GT,T(T≥2)为其阶数。εk表示GT第k行非零元素的个数。令
Figure BDA0002901787480000031
表示非零元素个数最多的行序号,则称GT内第t行第t列上的元素Gt,t为核的“标记元素”。显然标记元素一定位于矩阵的对角线上。那么由q进制信道极化理论可知,核GT的标记元素所在行至少存在一个本原元就可满足信道极化理论。为了区别于二进制的Arikan二阶核G2,使用H2代表构建的非二进制二阶核。那么H2可以表示为:
Figure BDA0002901787480000032
其中α为GF(q)上的本原元,γ和δ为GF(q)上的非零元。
图1中GF(q)极化码编码器上的过程可以由下式描述:
Figure BDA0002901787480000033
其中Ns指符号码长,
Figure BDA0002901787480000034
指长度为Ns的编码序列,
Figure BDA0002901787480000035
指长度为Ns的待编码序列,
Figure BDA0002901787480000036
为置换矩阵,即完成比特翻转功能。
Figure BDA0002901787480000037
指的是矩阵的克罗内克积。该过程中的所有加法和乘法运算均是定义在GF(q)上完成的。
在编码器结构中,核是最基本的运算单元,所有的操作都以核为单位执行。图2显示了所构造的NBPC的核H2对应的基本运算单元。则输入输出的关系式为:
Figure BDA0002901787480000038
其中u1,u2表示基本单元的输入;x1,x2表示基本单元的输出。
蒙特卡洛模拟系统模型如图3所示。数据序列中的符号值从GF(q)上的元素中均匀产生。在蒙特卡洛模拟中,我们将采用一种特殊的译码方式——Genie辅助的SC译码,即可以想象为译码器在译第i个符号ui时,有人将前面的i-1个符号信息
Figure BDA0002901787480000039
通过某种手段告知给译码器。这样就可以确保前序符号的译码结果正确。因此,符号ui的译码过程丝毫不会受到之前译码的估计结果
Figure BDA00029017874800000310
的影响。在最后的信道性能统计阶段,会记录每个位置的符号被译码错误的次数。假设一共进行了M次模拟(为了考虑结果的严谨性,一般取M≥103),某个位置的符号ui被译码错误的次数为Ei,则用误码率ei=Ei/M来评估对应序号的信道的可靠性。设信息符号码长为Ks,那么可以根据ei的排序结果选出ei较大的前(Ns-Ks)个信道的序号来放置事先规定的冻结符号(一般为0),其余位置依次放置输入的数据信息即可。通过蒙特卡洛模拟,可以清晰直观地估计出各个位置的信道性能,并挑出其中的“好信道”和“坏信道”。该过程对于构建的NBPC性能的影响是十分关键的。
S2.数据传送
在数据传送阶段,先将编码序列转化为二进制序列。经过经典的BPSK调制后,将得到的结果送入B-AWGN信道。用Nb表示比特码长,其与符号码长的关系为Nb=mNs。则该信道模型可以由输入随机变量Wj和输出随机变量Vj描述为Vj=Wj+σZj,j=1,...,Nb。其中Z1,...,ZNb是Nb个独立且同分布的服从均值为0、方差为1的高斯分布的随机变量。σ为高斯噪声标准差,可以由信噪比(signal-to-noiseratio,SNR)得到,即
Figure BDA0002901787480000041
其中,R为NBPC的码率。
S3.非二进制极化码的译码
首先,给出NBPC中LLR的概念。信道极化过程中,设第i个合成信道的转移概率定义为
Figure BDA0002901787480000042
其中
Figure BDA0002901787480000043
为信道输出序列。那么,符号ui取符号值为λ所对应的LLR定义为:
Figure BDA0002901787480000044
对于NBPC,式(5)中的λ可以取0,1,…,q-1共q种取值。当λ=0时,一定有
Figure BDA0002901787480000045
因此,在每个译码阶段需要计算其余的q-1个LLR,然后将所有λ取值下的LLR值进行比较得到该位置的译码结果。由式(5)的定义,可知为了得到转移概率
Figure BDA0002901787480000046
取最大值时的结果,对于
Figure BDA0002901787480000047
的硬判决函数可表示为
Figure BDA0002901787480000048
其中
Figure BDA0002901787480000051
指信息符号位置集合
Figure BDA0002901787480000052
的补集。
一般来说,并不用(5)中的定义式来计算LLR的值。对于NBPC,显然BPC的的递归式不再适用。因此,根据部分距离的定义以及基于RS-4极化码的LLR递归式,不失一般性地给出由任意阶次T的核GT构造的长度为Ns的基于GF(2m)的NBPC的LLR递归公式:
Figure BDA0002901787480000053
Figure BDA0002901787480000054
为GF(q)上的长度为(T-t)的任意向量。
Figure BDA0002901787480000055
是取符号值为λ的升级后的第t个LLR,且有
Figure BDA0002901787480000056
而Lr,x表示符号值为x的第r个输入LLR。他们分别由式(8)和(9)表示:
Figure BDA0002901787480000057
Figure BDA0002901787480000058
其中
Figure BDA0002901787480000059
表示对判决反馈部分
Figure BDA00029017874800000510
的升级函数。
输入LLR的符号值x1,r以及x2,r分别由式(10.a)或者(10.b)得到:
Figure BDA00029017874800000511
Figure BDA00029017874800000512
其中g(·)指的是核函数,其表达式为
Figure BDA00029017874800000513
表示从译码器反馈回来的(t-1)个符号值,其可以具体表示为
Figure BDA00029017874800000514
这说明
Figure BDA00029017874800000515
的计算不仅需要输入LLR还需要前面的(t-1)个判决反馈。
Figure BDA00029017874800000516
的实际意义是用来表示还未被译码的符号的所有可能取值。
此外式(9)中的
Figure BDA00029017874800000517
它可以由下面的式子表示:
Figure BDA00029017874800000518
Figure BDA00029017874800000519
其中GT(r)为矩阵GT的第r列列向量。需要说明的是,
Figure BDA00029017874800000520
指的是向量
Figure BDA00029017874800000521
中的索引经模T运算后等于z的所有元素组成的子向量。注意,
Figure BDA00029017874800000522
在这里只是一个向量表示符号,没有实际意义。为了参与
Figure BDA0002901787480000061
计算,
Figure BDA0002901787480000062
在向量
Figure BDA0002901787480000063
中都当作一个独立元素处理。简单地说,他们在
Figure BDA0002901787480000064
的运算过程中只具有符号意义,并不代表向量。
运用式(7)向下完成递归的终止条件为Ns=1,此时的LLR由下面的式子计算:
Figure BDA0002901787480000065
其中σ2为高斯噪声方差,vjm-m+1,...,vjm表示对应位置的信道输出。函数f由下面的等式定义:
f(vjm-m+1,...,vjm)=λ1vjm-m+12vjm-m+2+...+λmvjm (14)
λ12,...,λm表示将符号值λ根据映射关系转化为m位二进制数形式下的各位结果,即存在变换λ→{λ12,...,λm}。
在实际操作中,式(7)的指数和对数计算都很难在硬件上得以实现。因此,将给出一个改进的基于硬件友好版本的公式。通过定义的硬件友好方程(15),可以将式(7)改写为式(16),即硬件友好的LLR公式。
Figure BDA0002901787480000066
下面以构造的非二进制核H2为例,使用上述算法得到基于GF(2m)的NBPC的LLR递归结构。对于
Figure BDA00029017874800000612
及λ,ω∈GF(2m)有以下形式:
Figure BDA0002901787480000067
其中等式左侧的LLR分别代表
Figure BDA0002901787480000068
等式右侧
Figure BDA0002901787480000069
Figure BDA00029017874800000610
分别为
Figure BDA00029017874800000611
的奇数索引子向量和偶数索引子向量。符号间的加法和乘法均是定义在GF(2m)上完成的。
图4给出了基于GF(4)的码长为8的NBPC的SC译码的示例。整个译码的过程是从右至左进行的。图中阶段1-3中用灰色表示使用第一个升级函数计算的
Figure BDA0002901787480000071
白色表示使用第二个升级函数计算的
Figure BDA0002901787480000072
可以看到,所有白色节点的升级都需要额外输入来自前面译码的反馈。
SCL算法可以允许同时沿多条路径进行搜索。这里,允许的搜索路径的最大数目被称为列表大小L。SCL算法依然从码树根节点开始,逐层依次向叶子节点层进行路径搜索。完成一层的路径扩展后,选择路径度量值(path metric,PM)最小的L条,保存在一个列表中,等待进行下一层的扩展。对于由核H2生成的基于GF(q)的NBPC,任意一条路径j∈{1,2,...,L}和任意比特ui所对应的PM有如下定义:
Figure BDA0002901787480000073
且有
Figure BDA0002901787480000074
其中
Figure BDA0002901787480000075
表示NBPC的译码当前估计值λ与其他所有可能值之间的对数似然比,即
Figure BDA0002901787480000076
其中符号ω∈GF(2m),θ∈Λ。用
Figure BDA0002901787480000077
表示符号字母表,则
Figure BDA0002901787480000078
表示集合
Figure BDA0002901787480000079
与译码符号{λ}的差集。
Figure BDA00029017874800000710
表示给定信道输出
Figure BDA00029017874800000711
和路径
Figure BDA00029017874800000712
过去轨迹并取符号值为λ的对数似然比,
Figure BDA00029017874800000713
为第j条路径的第i个估计值,
式(18)显示出了PM值越小,译码路径越可靠的性质。因为只有当
Figure BDA00029017874800000714
不符合SC译码器的LLR判决结果时,才会给路径度量值加上惩罚值
Figure BDA00029017874800000715
算法1详细给出了SCL译码的步骤。
Figure BDA00029017874800000716
Figure BDA0002901787480000081
图5展示出了Ns=4,Ks=3,L=2的SCL译码树的示例。其中极化码是基于GF(4)和核H2构造的,信息符号位置集合
Figure BDA0002901787480000082
由于码数分支过于庞大,在图中只画出了前三级的部分。图中每个访问节点旁边的数字为该路径的度量值,红色线条表示截止此时的保留路径。一般来说,长度为Ns基于GF(q)的极化码的译码树是一个深度为Ns的q元树,其中
Figure BDA0002901787480000091
位于第i+1级处的节点上。完整的译码路径是从根节点到表示向量
Figure BDA0002901787480000092
的叶节点的路径。
SCL译码算法虽然大大提高了性能,但是由于其较高的复杂度和时延为系统添加了不小的成本。而且
Figure BDA0002901787480000093
的计算也较为复杂,因为他所计算的对数似然比不同于利用式(17)的方法,它需要多计算出至少q(q-2)种情况。这就使得整个计算过程过于繁冗。为此,提供一个简便的SCL算法,它在两个层面进行了优化,其实现起来也较为简单。首先,减少了列表扩展的次数。除了告诉译码器冻结符号的位置外,只需再将“完全极化”信道的位置也告诉译码器即可。其核心思想为,依据蒙特卡洛仿真中关于信道可靠度的结果,将信息子信道分为“完全极化”信道和“未完全极化”信道。通过只在“未完全极化”信道上进行路径扩展,来降低路径扩展的次数。因此,称此算法为基于完全极化的SCL(perfect polarizationbased-SCL,PPB-SCL)译码。它的实质是在完全可靠的位置使用SC译码,在不完全可靠的位置依旧使用SCL译码。其次,将PM的计算也相应进行了改进,希望仍然是只需要计算出式(17)中表示的LLR来决定是否需要惩罚路径,而不需要得到如此复杂的
Figure BDA0002901787480000094
首先,将蒙特卡洛模拟中记录的每个信道的误码率ei排序,取其中较小的τ(1≤τ≤Ks)个信道。这些信道的索引组成的集合
Figure BDA0002901787480000095
为“完全极化”信道位置集,则必有
Figure BDA0002901787480000096
表示集合
Figure BDA0002901787480000097
中元素的个数,
Figure BDA0002901787480000098
则完全极化比例定义为β=τ/Ks。若只选择ei=0的信道,记录其数量为τ0,此时用β0=τ0/Ks表示严格意义下的完全极化比例。其实可以发现,当β=0时,即不选择“完全极化信道”,所有信息符号的路径都将进行扩展,该方法就变为了传统的SCL译码;当β=1时,即把所有信息子信道看作“完全极化”信道,所有位置都会只进行唯一路径选择,该方法就变为了SC译码。一般情况下,取β0≤β<1,因此需要将β设在一个合适的范围之内,只有这样才可以在不明显影响译码性能的前提下大幅降低译码时延和复杂度。表1给出了以基于GF(4)的NBPC为例,不同码长Ns和码率R时的严格的“完全极化”信道情况,即参数τ0和β0的变化。其中蒙特卡洛模拟执行次数M=104,信噪比SNR=2dB。通过表1可以发现,一般来说码长越长,码率越高,τ0和β0也就越大,就越容易调整完全极化比例β至更高的值以获得更高的复杂度节省。
表1不同码长、码率下严格的“完全极化”信道情况
Figure BDA0002901787480000101
为统一每一次更新路径时所需要计算的方式。下面将给出基于PPB-SCL算法的路径度量值。路径度量值可以由后验概率的对数表示
Figure BDA0002901787480000102
将上式变换一下形式可得:
Figure BDA0002901787480000103
式(21)中的惩罚值的部分可以进一步写为
Figure BDA0002901787480000104
如果Ui均匀分布于GF(q)中,那么有
Figure BDA0002901787480000105
则运用式(23)可以将式(22)继续化简为
Figure BDA0002901787480000111
通过使用硬件友好方程(15),并将式(24)的结果代入式(21)中,则可以得到对于PPB-SCL译码的PM值计算方式
Figure BDA0002901787480000112
其中η∈GF(q)指的是当前路径下对于第i个符号的估计。
同样在该种PM下,评价路径可靠性的依据仍旧是选择较小PM值的路径。
算法2给出了基于GF(2m)的NBPC的PPB-SCL译码的完整流程。
Figure BDA0002901787480000113
Figure BDA0002901787480000121
图6展示出了Ns=4,Ks=3,L=2的PPB-SCL译码树前三级的示例。其中NBPC是基于GF(4)和核H2构造的,
Figure BDA0002901787480000122
在本例中,由于
Figure BDA0002901787480000123
因此在第一级中就将子树进行修剪,只留下了一条符合SC判决路径的子树。将图6与图5对比发现,仅仅是对于前三级,访问节点数量就已经从14减少至6(第0级的根节点除外),而且截止第三级的选择路径都包含同一条最佳路径。
附图说明
图1在B-AWGN信道传送的基于的极化码的系统模型;
图2基于GF(2m)的NBPC编码器的基本运算单元;
图3蒙特卡洛仿真系统模型;
图4基于GF(4)码长为8的NBPC的SC译码蝶形计算图;
图5基于GF(4)的SCL译码树(取前三级部分);
图6基于GF(4)的PPB-SCL译码树(取前三级部分);
图7a-7b不同列表大小的基于GF(4)的NBPC与BPC的误码率比较,码率R=1/2;
(a)比特长度Nb=512,循环校验位长度lCRC=8。
(b)比特长度Nb=1024,循环校验位长度lCRC=16。
图8a-8c m=2,3,4下的基于GF(2m)的NBPC的误码率比较,码率R=1/2
(a)标记元素δ=1。
(b)标记元素δ=α。
(c)标记元素δ=α2
图9不同码率下基于GF(4)的NBPC的误码率,Ns=256,L=4,lCRC=8
图10a-10d基于GF(4)的NBPC的PPB-SCL译码性能。
(a)Ns=256,R=1/2。
(b)Ns=256,R=2/3。
(c)Ns=1024,R=1/2。
(d)Ns=1024,R=2/3。
具体实施方式
以下结合附图和实施例对本发明进行详细说明。
使用图1描述的系统模型来评估提出的NBPC的性能。以下提到的所有基于GF(2m)的NBPC的冻结位置均是通过在SNR=2dB上的蒙特卡洛模拟设计出来的。此外,考虑到在不同码长下CRC长度对SCL译码性能的影响,因此在这里将选择两种长度的CRC分别应用于中短码长和较长的码长。循环校验长度为lCRC=8和lCRC=16的生成多项式分别为:
g(x)=x8+x7+x6+x4+x2+1 (26)
g(x)=x16+x15+x2+1 (27)
首先比较NBPC与BPC的BER。图7给出了两种比特长度和CRC长度下的不同列表大小的基于GF(4)的NBPC与BPC的数值模拟结果。NBPC所使用的核矩阵H2相关参数设置为γ=1,δ=1。该结果能够非常直观地看出,在比特码长、列表大小相同时,基于GF(4)的极化码的性能明显优于BPC。对于Nb=1024的码长,基于GF(4)的极化码在L=4的性能就已经达到了BPC在L=8时的性能。随着列表大小逐渐增大,译码的复杂度就会随之增大。而NBPC允许在更小的列表下完成BPC更高列表大小的性能。这说明所提出的NBPC相比较传统的BPC有着更高的效率和性能。
接下来讨论q的大小对基于GF(q)的NBPC的影响。选取最简单的三种NBPC进行讨论,也就是GF(2m)在m=2,3,4下的三种情况。显然,无法保证三者的比特码长完全相等。为了尽量降低比特码长不同对实验结果的影响,设置GF(4),GF(8)和GF(16)的符号码长分别为Ns1=128,Ns2=64以及Ns3=64。如此三者的比特码长分别为Nb1=256,Nb2=192以及Nb3=256。核矩阵H2中的元素统一设置γ=1。译码均采用8位CRC的SCL。此外,由于在核构造的介绍中将标记元素的取值进行了推广,为了验证其可行性在这里还将分别给出标记元素H2,2=δ在不同情况下的结果。如图8所示,(a),(b)和(c)分别为标记元素δ=1,δ=α和δ=α2时的不同GF(2m)下的对比结果。这个结果表明,不论标记元素的取值如何,使用H2核构造的基于GF(2m)的NBPC对于更大的m值有更低的误码率。且该结果在高SNR区域(≥2.5dB)会变得更明显。同时还能发现,δ≠1标记元素δ=α2时的误码率与δ=1十分接近。δ=α时的性能与δ=1相比在一定范围内有所降低,但是相差的并不多。总体来讲,可以说将标记元素取值推广后的H2核是可以完成极化的。
由于表1说明了随着码率的升高,β0会变大,就可以设置更高的完全极化比例β以获得更高的复杂度节省。因此,还需要得知码率对于NBPC的影响。以基于GF(4)的NBPC为例,采用L=4的8位CRC辅助的SCL译码。图9给出了Ns=256的NBPC在码率R分别为1/3,1/2和2/3时的结果。从图中可以得出和BPC相同的结论,也就是说码率的升高会导致性能的下降。且码率越高,性能下降的就越明显。这也不难理解,因为其实码率更高就代表需要使用更多的信息位,而通过信道极化以后真正的“无噪”信道的数量可能无法用来满足传输如此多的信息位。一部分信息位可能就被放置在噪声很大的信道甚至“纯噪声”信道,性能的下降就不可避免。因此,在考虑使用PPB-SCL来降低译码复杂度的同时,还要考虑码率R。不能为了追求极致的复杂度节省从而将码率R设置的过高。这就要求在复杂度和性能之间做一个合理的折中。
那么现在来通过数字模拟看一下PPB-SCL的实际表现如何。选取基于GF(4)的NBPC并在两种码率下分别查看列表大小为4和8的结果。τ0和β0的值取自表1中的结果。其他参数包括τ和β的具体选取都在表2中给出。并没有将完全极化比例β在β0的基础上设置的过大,因为β越趋近于1时,PPB-SCL就越趋于SC译码,这显然是没有意义的。不过需要注意的是,为了方便分析,在每一组的实验中给出了L=1(即β=1时的PPB-SCL)的结果作为对照。
表2参数设置
Figure BDA0002901787480000151
图10显示了PPB-SCL译码在完全极化比例取0,1,β0和表2中最后一列的设定值下的各种结果。从图中观察到无论码长与码率如何变化,PPB-SCL在β=β0时的性能与传统的SCL处于同一水平。在Ns=256时,两者的误码率完全相等;在Ns=1024时,两者的差距几乎也可以忽略。这就表明,若PPB-SCL在蒙特卡洛模拟中所有ei=0位置的译码不再进行路径分裂,最终的译码性能并不会受到影响。尽管随着码长增大,PPB-SCL在β=β0时的性能会有所浮动,但是总体上还是可以认为它等效于SCL译码的表现。当β>β0时,PPB-SCL相比SCL会出现一定的性能下降,尤其在L更大的时候这种现象更加明显。因为随着L增大,SCL译码每一层搜索路径的数量就越大,而PPB-SCL所减少的分裂路径就越多。整个算法就会变得更加贪婪,误码率就随之升高。从图10-(a)中可以发现,当Ns=256,R=1/2,L=4时,在完全极化比例β=0.742下的PPB-SCL还是相对接近SCL的性能的。因此,在应用PPB-SCL译码时,选择一个合适的β值是相当重要的。
在允许性能折损的最大限度下,设置一个更高的β值将有助于更好发挥PPB-SCL降低译码复杂度的作用。最后就来评估一下提出的PPB-SCL译码的复杂度。SCL译码的复杂度主要是由列表大小L决定。注意,在这里主要考虑的是时延问题,因此将主要讨论时间复杂度。在本项工作,使用译码树中访问节点的数量
Figure BDA0002901787480000152
来反映SCL译码的时间复杂度。其可以表示为
Figure BDA0002901787480000153
Li表示第i层的路径分裂条数(Li≤qL)。则复杂度的减少量可以由
Figure BDA0002901787480000154
表示,其中,
Figure BDA0002901787480000155
分别表示PPB-SCL和SCL的访问节点数量。
得知,使用β=β0的PPB-SCL的性能与传统的SCL的性能相比,几乎是没有损失的。所以,在本项工作中,为了获得无性能差异下的复杂度比较,就仅对β=β0的PPB-SCL进行评估。表3是在列表大小L=8,码率R=1/2下的不同码长和GF(q)对应的两种算法的访问节点数量对比。从表中可以看到,随着码长和q的增大,访问节点数量的下降程度就越来越显著,即复杂度降低的越多。在Ns=1024时,基于GF(16)的PPB-SCL译码可以把时间复杂度降低74.14%。因此,可以称PPB-SCL是一种低时延的算法。
表3访问节点数量对比,列表大小L=8,码率R=1/2
Figure BDA0002901787480000161
本发明在译码部分,首先给出了一种由任意大小核矩阵GT产生的基于GF(2m)的NBPC的LLR升级公式。随后,推导出了基于LLR的SCL算法中的路径度量值。最后,本文还提出一种PPB-SCL译码算法。该算法在“完全极化”位置将不再进行路径分裂,能够大幅减少系统内不必要的运算量。仿真结果显示,构建的NBPC的性能要明显优于传统的BPC。而且只要选择合适的完全极化比例,PPB-SCL与传统的SCL译码相比,在不显著损失性能的同时可以在符号码长下将时间复杂度降低74.14%。

Claims (3)

1.一种非二进制极化码的编码与译码方法,其特征在于:将输入的非二进制数据序列中每个GF(2m)的有限域符号转化为m位二进制数,得到二进制序列;加入长度为lCRC的循环冗余校验CRC比特后,再将所得结果转换回GF(2m)符号;随后,根据蒙特卡洛模拟的结果将冻结位加入,并送入NBPC编码器;在传送部分,选择BPSK调制和二进制加性高斯白噪声B-AWGN信道;在译码阶段,将计算出用于NBPC译码器中递归运算的初始LLR值;经过译码器后,得到未经编码器操作的估计序列;在进入CRC校验前,需将冻结符号移除并转换为二进制序列;最先通过CRC校验的估计序列通过比特至GF(2m)符号的转换得到输出估计序列;通过比较两个输入数据序列和输出估计序列进行误码性能分析;
S1.非二进制极化码的编码
设核矩阵GT,T(T≥2)为其阶数;εk表示GT第k行非零元素的个数;令
Figure FDA0002901787470000011
表示非零元素个数最多的行序号,则称GT内第t行第t列上的元素Gt,t为核的“标记元素”;显然标记元素一定位于矩阵的对角线上;那么由q进制信道极化理论可知,核GT的标记元素所在行至少存在一个本原元就可满足信道极化理论;为了区别于二进制的Arikan二阶核G2,使用H2代表构建的非二进制二阶核;那么H2表示为:
Figure FDA0002901787470000012
其中α为GF(q)上的本原元,γ和δ为GF(q)上的非零元;
GF(q)极化码编码器上的过程由下式描述:
Figure FDA0002901787470000013
其中Ns指符号码长,
Figure FDA0002901787470000014
指长度为Ns的编码序列,
Figure FDA0002901787470000015
指长度为Ns的待编码序列,
Figure FDA0002901787470000016
为置换矩阵,即完成比特翻转功能;
Figure FDA0002901787470000017
指的是矩阵的克罗内克积;该过程中的所有加法和乘法运算均是定义在GF(q)上完成的;
在编码器结构中,核是最基本的运算单元,所有的操作都以核为单位执行;所构造的NBPC的核H2对应的基本运算单元;则输入输出的关系式为:
Figure FDA0002901787470000021
其中u1,u2表示基本单元的输入;x1,x2表示基本单元的输出;
蒙特卡洛模拟系统模型中;数据序列中的符号值从GF(q)上的元素中均匀产生;在蒙特卡洛模拟中,采用的译码方式为Genie辅助的SC译码,即想象为译码器在译第i个符号ui时,将前面的i-1个符号信息
Figure FDA0002901787470000022
通过某种手段告知给译码器,确保前序符号的译码结果正确;符号ui的译码过程丝毫不会受到之前译码的估计结果
Figure FDA0002901787470000023
的影响;在最后的信道性能统计阶段,会记录每个位置的符号被译码错误的次数;假设一共进行了M次模拟,某个位置的符号ui被译码错误的次数为Ei,则用误码率ei=Ei/M来评估对应序号的信道的可靠性;设信息符号码长为Ks,那么根据ei的排序结果选出ei较大的前(Ns-Ks)个信道的序号来放置事先规定的冻结符号,其余位置依次放置输入的数据信息即可;通过蒙特卡洛模拟,清晰估计出各个位置的信道性能,并挑出“好信道”和“坏信道”;
S2.数据传送
在数据传送阶段,先将编码序列转化为二进制序列;经过经典的BPSK调制后,将得到的结果送入B-AWGN信道;用Nb表示比特码长,其与符号码长的关系为Nb=mNs;则该信道模型由输入随机变量Wj和输出随机变量Vj描述为Vj=Wj+σZj,j=1,...,Nb;其中
Figure FDA0002901787470000024
是Nb个独立且同分布的服从均值为0、方差为1的高斯分布的随机变量;σ为高斯噪声标准差,由信噪比SNR得到,即
Figure FDA0002901787470000025
其中,R为NBPC的码率;
S3.非二进制极化码的译码
首先,给出NBPC中LLR的概念;信道极化过程中,设第i个合成信道的转移概率定义为
Figure FDA0002901787470000026
其中
Figure FDA0002901787470000027
为信道输出序列;那么,符号ui取符号值为λ所对应的LLR定义为:
Figure FDA0002901787470000031
对于NBPC,式(5)中的λ取0,1,…,q-1共q种取值;当λ=0时,一定有
Figure FDA0002901787470000032
在每个译码阶段需要计算其余的q-1个LLR,然后将所有λ取值下的LLR值进行比较得到该位置的译码结果;由式(5)的定义,为了得到转移概率
Figure FDA0002901787470000033
取最大值时的结果,对于
Figure FDA0002901787470000034
的硬判决函数表示为
Figure FDA0002901787470000035
其中
Figure FDA0002901787470000036
指信息符号位置集合
Figure FDA0002901787470000037
的补集;
对于NBPC,显然BPC的的递归式不再适用;因此,根据部分距离的定义以及基于RS-4极化码的LLR递归式,给出由任意阶次T的核GT构造的长度为Ns的基于GF(2m)的NBPC的LLR递归公式:
Figure FDA0002901787470000038
Figure FDA0002901787470000039
为GF(q)上的长度为(T-t)的任意向量;
Figure FDA00029017874700000310
是取符号值为λ的升级后的第t个LLR,且有
Figure FDA00029017874700000311
而Lr,x表示符号值为x的第r个输入LLR;分别由式(8)和(9)表示:
Figure FDA00029017874700000312
Figure FDA00029017874700000313
其中
Figure FDA00029017874700000314
表示对判决反馈部分
Figure FDA00029017874700000315
的升级函数;
输入LLR的符号值x1,r以及x2,r分别由式(10.a)或者(10.b)得到:
Figure FDA00029017874700000316
Figure FDA00029017874700000317
其中g(·)指的是核函数,其表达式为
Figure FDA00029017874700000318
Figure FDA00029017874700000319
表示从译码器反馈回来的(t-1)个符号值,具体表示为
Figure FDA0002901787470000041
这说明
Figure FDA0002901787470000042
的计算不仅需要输入LLR还需要前面的(t-1)个判决反馈;
Figure FDA0002901787470000043
的实际意义是用来表示还未被译码的符号的所有可能取值;
此外式(9)中的
Figure FDA0002901787470000044
由下面的式子表示:
Figure FDA0002901787470000045
Figure FDA0002901787470000046
其中GT(r)为矩阵GT的第r列列向量;
Figure FDA0002901787470000047
指的是向量
Figure FDA0002901787470000048
中的索引经模T运算后等于z的所有元素组成的子向量;
Figure FDA0002901787470000049
只是一个向量表示符号,没有实际意义;为了参与
Figure FDA00029017874700000410
计算,
Figure FDA00029017874700000411
在向量
Figure FDA00029017874700000412
中都当作一个独立元素处理;在
Figure FDA00029017874700000413
的运算过程中只具有符号意义,并不代表向量;
运用式(7)向下完成递归的终止条件为Ns=1,此时的LLR由下面的式子计算:
Figure FDA00029017874700000414
其中σ2为高斯噪声方差,vjm-m+1,...,vjm表示对应位置的信道输出;函数f由下面的等式定义:
f(vjm-m+1,...,vjm)=λ1vjm-m+12vjm-m+2+...+λmvjm (14)
λ12,...,λm表示将符号值λ根据映射关系转化为m位二进制数形式下的各位结果,即存在变换λ→{λ12,...,λm};
通过定义的硬件友好方程(15),将式(7)改写为式(16),即硬件友好的LLR公式;
Figure FDA00029017874700000415
Figure FDA00029017874700000416
构造的非二进制核H2中,得到基于GF(2m)的NBPC的LLR递归结构;对于
Figure FDA00029017874700000417
及λ,ω∈GF(2m)有以下形式:
Figure FDA0002901787470000051
其中等式左侧的LLR分别代表
Figure FDA0002901787470000052
等式右侧
Figure FDA0002901787470000053
Figure FDA0002901787470000054
Figure FDA0002901787470000055
分别为
Figure FDA0002901787470000056
的奇数索引子向量和偶数索引子向量;符号间的加法和乘法均是定义在GF(2m)上完成的;
SCL算法允许同时沿多条路径进行搜索;这里,允许的搜索路径的最大数目被称为列表大小L;SCL算法依然从码树根节点开始,逐层依次向叶子节点层进行路径搜索;完成路径扩展后,选择路径度量值PM最小的L条,保存在一个列表中,等待进行下一层的扩展;对于由核H2生成的基于GF(q)的NBPC,任意一条路径j∈{1,2,...,L}和任意比特ui所对应的PM有如下定义:
Figure FDA0002901787470000057
且有
Figure FDA0002901787470000058
其中
Figure FDA0002901787470000059
表示NBPC的译码当前估计值λ与其他所有可能值之间的对数似然比,即
Figure FDA00029017874700000510
其中符号ω∈GF(2m),θ∈Λ;用
Figure FDA00029017874700000511
表示符号字母表,则
Figure FDA00029017874700000512
表示集合
Figure FDA00029017874700000513
与译码符号{λ}的差集;
Figure FDA00029017874700000514
表示给定信道输出
Figure FDA00029017874700000515
和路径
Figure FDA00029017874700000516
过去轨迹并取符号值为λ的对数似然比,
Figure FDA00029017874700000517
为第j条路径的第i个估计值,
式(18)显示出了PM值越小,译码路径越可靠的性质;当
Figure FDA00029017874700000518
不符合SC译码器的LLR判决结果时,给路径度量值加上惩罚值
Figure FDA00029017874700000519
2.根据权利要求1所述的一种非二进制极化码的编码与译码方法,其特征在于:SCL译码的步骤如下;
输入:允许最大搜索宽度L,I(I≤L)条来自前一层的译码路径及其路径度量值
Figure FDA0002901787470000061
i∈{1,2,...,Ns},j∈{1,2,...,I},
Figure FDA0002901787470000062
信息符号位置集合
Figure FDA0002901787470000063
LLR初始值
Figure FDA0002901787470000064
λ∈GF(2m)
输出:min(2mI,L)条译码路径及其升级后的
Figure FDA0002901787470000065
Figure FDA0002901787470000066
3.根据权利要求1所述的一种非二进制极化码的编码与译码方法,其特征在于:基于GF(2m)的NBPC的PPB-SCL译码的完整流程如下;
输入:允许最大搜索宽度L,I(I≤L)条来自前一层的译码路径及其路径度量值
Figure FDA0002901787470000071
i∈{1,2,...,Ns},j∈{1,2,...,I},
Figure FDA0002901787470000072
信息符号位置集合
Figure FDA0002901787470000073
“完全极化”信道位置集
Figure FDA0002901787470000074
LLR初始值
Figure FDA0002901787470000075
λ∈GF(2m)
输出:min(2mI,L)条译码路径及其升级后的
Figure FDA0002901787470000076
Figure FDA0002901787470000077
CN202110059006.6A 2021-01-17 2021-01-17 一种非二进制极化码的编码与译码方法 Pending CN112929035A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110059006.6A CN112929035A (zh) 2021-01-17 2021-01-17 一种非二进制极化码的编码与译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110059006.6A CN112929035A (zh) 2021-01-17 2021-01-17 一种非二进制极化码的编码与译码方法

Publications (1)

Publication Number Publication Date
CN112929035A true CN112929035A (zh) 2021-06-08

Family

ID=76163717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110059006.6A Pending CN112929035A (zh) 2021-01-17 2021-01-17 一种非二进制极化码的编码与译码方法

Country Status (1)

Country Link
CN (1) CN112929035A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257342A (zh) * 2021-12-22 2022-03-29 哈尔滨工业大学 基于非二进制极化码的两用户多址接入系统编码及译码方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257342A (zh) * 2021-12-22 2022-03-29 哈尔滨工业大学 基于非二进制极化码的两用户多址接入系统编码及译码方法
CN114257342B (zh) * 2021-12-22 2024-04-19 哈尔滨工业大学 基于非二进制极化码的两用户多址接入系统编码及译码方法

Similar Documents

Publication Publication Date Title
JP5177767B2 (ja) ガロア体gf(q)におけるldpc符号を復号する方法および機器
JP3923618B2 (ja) 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
CN108847848B (zh) 一种基于信息后处理的极化码的bp译码算法
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
US20090172493A1 (en) Method and device for decoding low density parity check code
CN107612560B (zh) 基于部分信息比特似然比的极化码早期迭代停止方法
US6999531B2 (en) Soft-decision decoding of convolutionally encoded codeword
CN110233628B (zh) 极化码的自适应置信传播列表译码方法
CN112332864B (zh) 一种自适应有序移动剪枝列表的极化码译码方法及系统
Kamenev et al. A new permutation decoding method for Reed-Muller codes
Shen et al. Low-latency software successive cancellation list polar decoder using stage-located copy
CN114157309A (zh) 极化码译码方法、装置及系统
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
CN101147327B (zh) 使用篱栅的蝴蝶结构来映射解码的度量计算的方法和装置
CN108092671A (zh) 一种高性能低复杂度的nb-ldpc码译码方法
CN112929035A (zh) 一种非二进制极化码的编码与译码方法
CN108063623B (zh) 一种降低复杂度的Polar码的串行消除译码方法
Adde et al. A low-complexity soft-decision decoding architecture for the binary extended Golay code
CN116614142A (zh) 一种基于bpl译码和osd译码的联合译码方法
Tang et al. A new chase-type soft-decision decoding algorithm for Reed-Solomon codes
WO2008134950A1 (fr) Procédé et dispositif permettant de décoder un code zigzag
CN100417031C (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
CN114598334A (zh) 一种分段crc辅助的卷积极化码编译码方案
KR20090064268A (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