CN112929035A - 一种非二进制极化码的编码与译码方法 - Google Patents
一种非二进制极化码的编码与译码方法 Download PDFInfo
- 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
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/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
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行非零元素的个数。令表示非零元素个数最多的行序号,则称GT内第t行第t列上的元素Gt,t为核的“标记元素”。显然标记元素一定位于矩阵的对角线上。那么由q进制信道极化理论可知,核GT的标记元素所在行至少存在一个本原元就可满足信道极化理论。为了区别于二进制的Arikan二阶核G2,使用H2代表构建的非二进制二阶核。那么H2可以表示为:
其中α为GF(q)上的本原元,γ和δ为GF(q)上的非零元。
图1中GF(q)极化码编码器上的过程可以由下式描述:
在编码器结构中,核是最基本的运算单元,所有的操作都以核为单位执行。图2显示了所构造的NBPC的核H2对应的基本运算单元。则输入输出的关系式为:
其中u1,u2表示基本单元的输入;x1,x2表示基本单元的输出。
蒙特卡洛模拟系统模型如图3所示。数据序列中的符号值从GF(q)上的元素中均匀产生。在蒙特卡洛模拟中,我们将采用一种特殊的译码方式——Genie辅助的SC译码,即可以想象为译码器在译第i个符号ui时,有人将前面的i-1个符号信息通过某种手段告知给译码器。这样就可以确保前序符号的译码结果正确。因此,符号ui的译码过程丝毫不会受到之前译码的估计结果的影响。在最后的信道性能统计阶段,会记录每个位置的符号被译码错误的次数。假设一共进行了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)得到,即
其中,R为NBPC的码率。
S3.非二进制极化码的译码
对于NBPC,式(5)中的λ可以取0,1,…,q-1共q种取值。当λ=0时,一定有因此,在每个译码阶段需要计算其余的q-1个LLR,然后将所有λ取值下的LLR值进行比较得到该位置的译码结果。由式(5)的定义,可知为了得到转移概率取最大值时的结果,对于的硬判决函数可表示为
一般来说,并不用(5)中的定义式来计算LLR的值。对于NBPC,显然BPC的的递归式不再适用。因此,根据部分距离的定义以及基于RS-4极化码的LLR递归式,不失一般性地给出由任意阶次T的核GT构造的长度为Ns的基于GF(2m)的NBPC的LLR递归公式:
输入LLR的符号值x1,r以及x2,r分别由式(10.a)或者(10.b)得到:
其中g(·)指的是核函数,其表达式为表示从译码器反馈回来的(t-1)个符号值,其可以具体表示为这说明的计算不仅需要输入LLR还需要前面的(t-1)个判决反馈。的实际意义是用来表示还未被译码的符号的所有可能取值。
其中GT(r)为矩阵GT的第r列列向量。需要说明的是,指的是向量中的索引经模T运算后等于z的所有元素组成的子向量。注意,在这里只是一个向量表示符号,没有实际意义。为了参与计算,在向量中都当作一个独立元素处理。简单地说,他们在的运算过程中只具有符号意义,并不代表向量。
运用式(7)向下完成递归的终止条件为Ns=1,此时的LLR由下面的式子计算:
其中σ2为高斯噪声方差,vjm-m+1,...,vjm表示对应位置的信道输出。函数f由下面的等式定义:
f(vjm-m+1,...,vjm)=λ1vjm-m+1+λ2vjm-m+2+...+λmvjm (14)
λ1,λ2,...,λm表示将符号值λ根据映射关系转化为m位二进制数形式下的各位结果,即存在变换λ→{λ1,λ2,...,λm}。
在实际操作中,式(7)的指数和对数计算都很难在硬件上得以实现。因此,将给出一个改进的基于硬件友好版本的公式。通过定义的硬件友好方程(15),可以将式(7)改写为式(16),即硬件友好的LLR公式。
图4给出了基于GF(4)的码长为8的NBPC的SC译码的示例。整个译码的过程是从右至左进行的。图中阶段1-3中用灰色表示使用第一个升级函数计算的白色表示使用第二个升级函数计算的可以看到,所有白色节点的升级都需要额外输入来自前面译码的反馈。
SCL算法可以允许同时沿多条路径进行搜索。这里,允许的搜索路径的最大数目被称为列表大小L。SCL算法依然从码树根节点开始,逐层依次向叶子节点层进行路径搜索。完成一层的路径扩展后,选择路径度量值(path metric,PM)最小的L条,保存在一个列表中,等待进行下一层的扩展。对于由核H2生成的基于GF(q)的NBPC,任意一条路径j∈{1,2,...,L}和任意比特ui所对应的PM有如下定义:
图5展示出了Ns=4,Ks=3,L=2的SCL译码树的示例。其中极化码是基于GF(4)和核H2构造的,信息符号位置集合由于码数分支过于庞大,在图中只画出了前三级的部分。图中每个访问节点旁边的数字为该路径的度量值,红色线条表示截止此时的保留路径。一般来说,长度为Ns基于GF(q)的极化码的译码树是一个深度为Ns的q元树,其中位于第i+1级处的节点上。完整的译码路径是从根节点到表示向量的叶节点的路径。
SCL译码算法虽然大大提高了性能,但是由于其较高的复杂度和时延为系统添加了不小的成本。而且的计算也较为复杂,因为他所计算的对数似然比不同于利用式(17)的方法,它需要多计算出至少q(q-2)种情况。这就使得整个计算过程过于繁冗。为此,提供一个简便的SCL算法,它在两个层面进行了优化,其实现起来也较为简单。首先,减少了列表扩展的次数。除了告诉译码器冻结符号的位置外,只需再将“完全极化”信道的位置也告诉译码器即可。其核心思想为,依据蒙特卡洛仿真中关于信道可靠度的结果,将信息子信道分为“完全极化”信道和“未完全极化”信道。通过只在“未完全极化”信道上进行路径扩展,来降低路径扩展的次数。因此,称此算法为基于完全极化的SCL(perfect polarizationbased-SCL,PPB-SCL)译码。它的实质是在完全可靠的位置使用SC译码,在不完全可靠的位置依旧使用SCL译码。其次,将PM的计算也相应进行了改进,希望仍然是只需要计算出式(17)中表示的LLR来决定是否需要惩罚路径,而不需要得到如此复杂的
首先,将蒙特卡洛模拟中记录的每个信道的误码率ei排序,取其中较小的τ(1≤τ≤Ks)个信道。这些信道的索引组成的集合为“完全极化”信道位置集,则必有表示集合中元素的个数,则完全极化比例定义为β=τ/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不同码长、码率下严格的“完全极化”信道情况
为统一每一次更新路径时所需要计算的方式。下面将给出基于PPB-SCL算法的路径度量值。路径度量值可以由后验概率的对数表示
将上式变换一下形式可得:
式(21)中的惩罚值的部分可以进一步写为
如果Ui均匀分布于GF(q)中,那么有
则运用式(23)可以将式(22)继续化简为
通过使用硬件友好方程(15),并将式(24)的结果代入式(21)中,则可以得到对于PPB-SCL译码的PM值计算方式
其中η∈GF(q)指的是当前路径下对于第i个符号的估计。
同样在该种PM下,评价路径可靠性的依据仍旧是选择较小PM值的路径。
算法2给出了基于GF(2m)的NBPC的PPB-SCL译码的完整流程。
附图说明
图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参数设置
图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决定。注意,在这里主要考虑的是时延问题,因此将主要讨论时间复杂度。在本项工作,使用译码树中访问节点的数量来反映SCL译码的时间复杂度。其可以表示为Li表示第i层的路径分裂条数(Li≤qL)。则复杂度的减少量可以由表示,其中,分别表示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
本发明在译码部分,首先给出了一种由任意大小核矩阵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行非零元素的个数;令表示非零元素个数最多的行序号,则称GT内第t行第t列上的元素Gt,t为核的“标记元素”;显然标记元素一定位于矩阵的对角线上;那么由q进制信道极化理论可知,核GT的标记元素所在行至少存在一个本原元就可满足信道极化理论;为了区别于二进制的Arikan二阶核G2,使用H2代表构建的非二进制二阶核;那么H2表示为:
其中α为GF(q)上的本原元,γ和δ为GF(q)上的非零元;
GF(q)极化码编码器上的过程由下式描述:
在编码器结构中,核是最基本的运算单元,所有的操作都以核为单位执行;所构造的NBPC的核H2对应的基本运算单元;则输入输出的关系式为:
其中u1,u2表示基本单元的输入;x1,x2表示基本单元的输出;
蒙特卡洛模拟系统模型中;数据序列中的符号值从GF(q)上的元素中均匀产生;在蒙特卡洛模拟中,采用的译码方式为Genie辅助的SC译码,即想象为译码器在译第i个符号ui时,将前面的i-1个符号信息通过某种手段告知给译码器,确保前序符号的译码结果正确;符号ui的译码过程丝毫不会受到之前译码的估计结果的影响;在最后的信道性能统计阶段,会记录每个位置的符号被译码错误的次数;假设一共进行了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;其中是Nb个独立且同分布的服从均值为0、方差为1的高斯分布的随机变量;σ为高斯噪声标准差,由信噪比SNR得到,即
其中,R为NBPC的码率;
S3.非二进制极化码的译码
对于NBPC,式(5)中的λ取0,1,…,q-1共q种取值;当λ=0时,一定有在每个译码阶段需要计算其余的q-1个LLR,然后将所有λ取值下的LLR值进行比较得到该位置的译码结果;由式(5)的定义,为了得到转移概率取最大值时的结果,对于的硬判决函数表示为
对于NBPC,显然BPC的的递归式不再适用;因此,根据部分距离的定义以及基于RS-4极化码的LLR递归式,给出由任意阶次T的核GT构造的长度为Ns的基于GF(2m)的NBPC的LLR递归公式:
输入LLR的符号值x1,r以及x2,r分别由式(10.a)或者(10.b)得到:
其中g(·)指的是核函数,其表达式为 表示从译码器反馈回来的(t-1)个符号值,具体表示为这说明的计算不仅需要输入LLR还需要前面的(t-1)个判决反馈;的实际意义是用来表示还未被译码的符号的所有可能取值;
其中GT(r)为矩阵GT的第r列列向量;指的是向量中的索引经模T运算后等于z的所有元素组成的子向量;只是一个向量表示符号,没有实际意义;为了参与计算,在向量中都当作一个独立元素处理;在的运算过程中只具有符号意义,并不代表向量;
运用式(7)向下完成递归的终止条件为Ns=1,此时的LLR由下面的式子计算:
其中σ2为高斯噪声方差,vjm-m+1,...,vjm表示对应位置的信道输出;函数f由下面的等式定义:
f(vjm-m+1,...,vjm)=λ1vjm-m+1+λ2vjm-m+2+...+λmvjm (14)
λ1,λ2,...,λm表示将符号值λ根据映射关系转化为m位二进制数形式下的各位结果,即存在变换λ→{λ1,λ2,...,λm};
通过定义的硬件友好方程(15),将式(7)改写为式(16),即硬件友好的LLR公式;
SCL算法允许同时沿多条路径进行搜索;这里,允许的搜索路径的最大数目被称为列表大小L;SCL算法依然从码树根节点开始,逐层依次向叶子节点层进行路径搜索;完成路径扩展后,选择路径度量值PM最小的L条,保存在一个列表中,等待进行下一层的扩展;对于由核H2生成的基于GF(q)的NBPC,任意一条路径j∈{1,2,...,L}和任意比特ui所对应的PM有如下定义:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257342A (zh) * | 2021-12-22 | 2022-03-29 | 哈尔滨工业大学 | 基于非二进制极化码的两用户多址接入系统编码及译码方法 |
-
2021
- 2021-01-17 CN CN202110059006.6A patent/CN112929035A/zh active Pending
Cited By (2)
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 |