APP下载

基于对数似然比与极化信道可靠度的SCF 译码算法

2022-01-14郑秀凤曹志雄

计算机工程 2022年1期
关键词:译码度量复杂度

黄 胜,郑秀凤,曹志雄

(重庆邮电大学通信与信息工程学院光通信与网络重点实验室,重庆 400065)

0 概述

极化码[1]是ARIKAN 于2008 年提出的一种在理论上可达信道极限容量的编码方式。目前,极化码被应用在5G 增强移动宽带场景中,作为5G 的信道控制编码方式。极化码的构造依赖于一个特定的递归编码过程,研究人员根据其编码构造的特点提出了复杂度低的串行抵消(Successive Cancellation,SC)译码算法[2],但是在中短码长的情况下该算法的性能不理想。为提高译码的性能,文献[3-4]提出串行抵消列表(Successive Cancellation List,SCL)译码算法[3-4],该算法提高了极化码在有限块长度的性能,使得其能与低密度奇偶校验(Low-Density Parity-Check,LDPC)码[5]和turbo 码[6]竞争。随后,奇偶校验码(Parity Check Codes,PCC)[7]和循环冗余检验(Cyclic Redundancy Check,CRC)极化码的自适应SCL 译码算法[8]与CRC 辅 助SCL(CRCAssistant SCL,CA-SCL)译码算法[9]被提出,其 中CA-SCL 译码算法在搜索宽度L=32 时,译码性能可以接近最大似然(Maximum-Likelihood,ML)译码界[10]。并且,为降低时延,文献[11]提出一种基于基本路径替代的低时延自适应列表连续删除转换算法,针对不同列表的连续删除转换间存在重复路径的现象。虽然SCL 译码算法显著降低了极化码码长为有限长时的BLER,但它具有较大的存储开销和较高的计算复杂度,且两者都与列表大小呈线性增长的关系。

2014 年,AFISIADIS 等[12]提出具有较小存储开销和较低计算复杂度的SCF 译码算法。与SCL 的并行SC 译码算法相比,该译码算法依赖更多后续的解码尝试,通过依次翻转不可靠的信息比特纠正SC 译码过程中发生的错误。虽然该算法最坏的译码情况为翻转最大尝试次数仍不能译出正确的译码结果,但是在中高SNR 下,它产生的平均计算复杂度与SC解码的平均计算复杂度近似,并且它的译码性能与L=2 时的SCL 译码算法相近。SCF 译码算法是用CRC 对译码结果进行校验,因此CRC 检错能力会影响SCF 译码的性能。2018 年,KIM 等[13]提出交织辅助的SCF 译码算法。无论是用CRC 校验的SCF 译码算法,还是用交织器辅助的ISCF 译码算法,SCF译码算法提升的性能都是有限的。为解决SCF 存在的问题,目前研究人员从2 个方面进行了改进:

通过求解SC 译码的首个判决错误(The First Decision Error,TFDE)的概率实现一位比特的翻转。但是在实际中,准确求解出TFDE的概率很难,文献[14]提出一种动态比特翻转译码算法,它通过求解近似TFDE 的概率来动态生成比特翻转列表,实现一位甚至是多位比特的翻转,同时文献[15]在此基础上提出了误码率估计的SCF 译码算法,该译码算法通过缩小翻转的集合,降低了计算度量值的复杂度。

通过提取不可靠的信息位组成一个较小的翻转集合使得在有限的翻转次数上优先翻转认为错误概率更高的比特。例如,文献[16]研究平均对数似然比(Log-Likelihood-Ratio,LLR)与错误比特信道的分布,提出阈值SCF 译码算法,并运用比较器代替LLR 的选择和排序,降低了计算的复杂度。文献[17]提出一种基于错误分布的SCF 译码算法,该算法包含两个译码算法,一种算法是根据错误分布选取最大错误率的T位信息位组成固定的翻转集合,另一种译码算法则是设置错误分布阈值实现一个动态翻转集合,并运用LLR 作为翻转的度量。同时为提升一位翻转SCF 译码算法的性能,文献[18]提出分段的SCF 译码算法。

为提升SCF 译码算法的性能,本文基于串行抵消译码算法,分析对数似然比、极化信道可靠度、信息位所在的位置与SC 译码算法发生TFDE 之间的关系,并给出一个度量公式衡量SC 译码结果的可靠度。

1 SCF 译码算法

本节首先对SC 译码算法[2]进行分析。在SC 译码算法中,解码器输入端的数据表示为,解码器的输出表示为,其 中表 示ui的译码硬判决估计。在SC 解码中,每个硬判决估计都取决于Y和前i-1 个硬判决估计,LLR 的表达式如式(1)所示:

根据Li估计SC 译码算法的译码结果如式(2)所示:

其中:I为信息位集合,当Li≥0 时,sign(Li)=1,否则sign(Li)=-1。

然后对SCF 译码算法原理进行阐述。传统的SCF 译码算法的步骤为:1)对接收信号执行SC 译码过程,得到极化码信息比特的译码估计值,其中K+r为原极化码的信息比特位数与CRC 位数之和;2)用CRC 去校验,如果校验结果为0,则说明译码正确,输出译码结果并结束译码,否则再次执行SC 译码过程,并设置最大的翻转次数T,对翻转次数初始化t=1;3)如果t>T,说明经过了T次比特翻转后仍不能得到正确的译码结果,结束译码;如果t

为改进SCF 译码算法,本文研究极化码在执行SC 译码过程中由于信道条件不理想造成比特错误译码的情况。图1 所示为由信道条件引起比特错误译码的个数造成块错误译码的分布。

图1 不同信噪比下由信道引起错误的频率Fig.1 Frequency of channel-induced errors in different SNR

图1 所示是仿真1 000 000 次SCO-1[12]译码算法去识别和记录SC 译码过程中块发生错误时,由信道条件引起比特错误译码个数的概率分布,即该仿真不考虑译码过程中错误传播情况。其中SCO-1 译码算法的工作原理是:该译码器预先知道原始输入序列,在执行SC译码的过程中发现译出的信息比特与原始的信息比特结果不一致时,将该信息比特的判决进行翻转并记录这个位置。因此,执行SCO-1 译码算法可以纠正SC 译码过程中由信道引起错误的第一个信息位。由图1 可知,在执行SC 译码算法过程中大于58%的块发生错误是由TFDE 造成的。图2 所示为正确翻转一位发生错误译码的信息比特获得的最佳性能,与SC 译码算法相比最大可获得约0.7 dB 的增益。

图2 SCO-1 译码算法与SC 译码算法性能比较Fig.2 Performance comparison between SCO-1 decoding algorithm and SC decoding algorithm

从图2 可以看出,准确地翻转TFDE 可以明显降低BLER,但是SCO-1 译码器是一个模拟仿真工具,在实际中还没有一个度量能百分之百地正确预测TFDE 的位置。因此,下文将分析与TFDE 相关的参数去确定执行SC 译码过程中不可靠的信息比特译码。

2 改进的SCF 译码算法

由于传统的SCF 译码算法过于依赖LLR 值,降低BLER 的力度会存在限制。为对传统的SCF 译码算法进行改进,本节将研究造成TFDE 可能的因素,下文将研究当发生TFDE 时,对数似然比、极化信道的可靠度等的分布情况。

由第1 节可知,SC 译码算法的译码估计公式如式(2)所示,使用这种硬判决机制去估计SC 译码结果,再加上噪声的影响,使得|LLR|值越接近0,那么被误判的概率就越高。为进一步验证|LLR|值与TFDE 之间的关系,图3 仿真了1 000 000 次SCO-1 译码算法来识别和记录TFDE 的位置,并统计了TFDE发生在各个信息位的平均|LLR|值和所有信息位的平均|LLR|值。其中圆代表TFDE 发生在各个信息位的平均|LLR|值,方形表示所有信息位的平均|LLR|值。

图3 平均 ||LLR 值和错误位置平均 ||LLR 值的关系Fig.3 Relationship of average ||LLR value and average ||LLR value of error location

从图3 可以看出,发生TFDE 的信息位的|LLR|值总是很小,因此可以得出|LLR|值在一定程度上是可以作为衡量某个信息位发生TFDE 的指标。然而,仅根据|LLR|值来确定需要翻转的位置还不够准确。因此,还需要探讨一些参数去进行优化。

在中短码长情况下,SC 译码算法性能不理想,主要是因为有限的码长信道极化不完全。由公式(用衡量极化信道可靠性的指标,见求解式(3)[19])可知与TFDE 有关,即某个信息位的值越小,该信息位为首个比特错误译码的概率也就越小。因此,初步认为极化信道可靠度与TFDE 有关。为进一步验证极化信道可靠度和TFDE 之间的关系,图4 和图5 统计了两者在不同信息位上的分布情况。

图4 在SNR=2 dB 时 的分布Fig.4 Distribution of at SNR=2 dB

图5 在SNR=2 dB 时TFDE 的分布Fig.5 Distribution of TFDE at SNR=2 dB

图4 表示各个信息位的分布,图5 表示各个信息位发生TFDE 的频率分布。由图4 和图5 可知,在越大时TFDE 的频率越高,因此证明了通过可以预估各个信息位发生TFDE 的概率情况。

根据上述分析可以得出,判断一个信息比特发生错误译码的情况,可以综合考虑|LLR|值、极化信道可靠度等因素。又因为极化码的SC 译码算法是一个串行译码的过程,即在SC 译码过程中,会先对前面的信息比特进行译码,并且前面信息位的译码结果会影响后面信息位的译码结果。因此,当2 个信息位为TFDE 的概率相差不多时,需要先对前面的信息位进行比特翻转,所以将信息位的索引值作为判断TFDE 的一个因素。

根据上述分析,下面分别对这3 个参数取一定的权重,使得3 个参数在不同的程度上共同决定信息位发生错误译码的程度。假设度量Mi表达式如式(8)所示:

其中:Ai表示第i信息位的索引值i所占的权重;Pi表示第i信息位的极化信道可靠度所占的权重;Ri表示LLR 值所占的权重,本文Ri的取值为|Li|。Pi所占的权重表达式如式(9)所示:

式(9)表示的是一个极化程度,但式(9)得到的值相对较大,为减少Pi所占权重,式(10)为进一步处理后Pi所占的权重。

为得到Mi的表达式,对Ai取值进行说明,该权重的取值依据是:在2N的码长中,前面信息比特发生错误的概率比后面的信息比特发生错误的概率要高。又因为极化码码长为2 的N次方,所以Ai的取值规则具有码长的特点,如式(11)所示:

其中:floor()表示一个向下取整函数;i表示信息比特的索引值,即第一个信息比特i=1,本文i的最大值为K+r。

综上,本文在传统SCF 译码算法的基础上提出一个改进的度量公式,如式(12)所示:

该度量弱化了对|LLR|值的依赖,综合多个参数决定了信息位发生TFDE 的程度。

PLR-SCF 译码算法的步骤如下:

1)对接收信号执行SC 译码过程,得到极化码的信息比特译码估计值。

3)如果t>T,说明经过T次比特翻转后仍不能得到正确的译码结果,结束译码;如果t

4)如果经过步骤3)以后译出的信息比特序列通过CRC 校验,则译码结束;否则翻转次数t=t+1,继续执行步骤3)选择另一个信息比特ui进行翻转。

3 仿真结果与分析

3.1 误块率分析

本节给出的所有仿真结果都假设在AWGN 信道中。极化码级联CRC 使用的参数为:N=512,K=256,r=16 和N=1 024,K=512,r=16,分别表示为PC(512,256,16)和PC(1 024,512,16)。信息位选择的构造方法有极化重量(PW)构造方法[20]、密度进化构造方法[21]和高斯近似(Gaussian Approximation,GA)[19]构造方法。在不同的信道条件下,最优的信道估计方法不同。由于本文的仿真是在AWGN 信道中,因此选择GA 的构造方法。CRC 的生成多项式为g(x)=x16+x15+x2+1。下文对PLR-SCF 译码算法、SCF 算 法[12]、SC 译码算法[2]和SCO-1 译码器[12](一种模拟理想一位比特翻转的译码器,该译码器总能准确地识别出第一个发生错误的比特)的误块率进行比较,如图6 所示。

图6 T=16 时不同算法BLER 性能的比较Fig.6 Comparison of BLER performance of different algorithms with T=16

由图6 可知,在PC(512,256,16)的情况下,本文提出的PLR-SCF 译码算法相比于SCF 译码算法获得了大约0.12 dB 的信噪增益,与SCO-1 译码算法的BLER 几乎相同。并且,在PC(1 024,512,16)的情况下,PLR-SCF 译码算法相比于SCF 译码算法也获得大约0.1 dB 的信噪比增益,同时,在高SNR 时与理想的SCO-1 译码算法的BLER 很接近,这说明本文提出的度量公式可以提高翻转到发生TFDE 信息位的概率,进一步提高了译码的性能。

3.2 计算复杂度分析

为衡量本文提出的度量值在翻转方面的复杂度,如表1 所示为Tmax=16 时,PLR-SCF 译码算法与文献[12]SCF 译码算法的平均额外翻转次数的比较。

由表1 可知,与文献[12]SCF 算法相比,本文的译码算法得到正确的译码结果,所需的比特翻转尝试次数最多可获得13.6%的降低,并且SNR 越高该算法翻转到错误译码的信息比特的速度就越快,说明了PLR-SCF 译码算法在识别一位错误信息比特的能力得到了增强。

表1 额外解码尝试的平均次数Table 1 Average number of additional decoding attempts

4 结束语

本文提出一种基于对数似然比与极化信道可靠度的SCF 译码算法PLR-SCF,通过仿真观察信息位发生TFDE 时对数似然比、极化信道可靠度和信息位位置的分布情况,并根据观察到的结果为不同的参数设定权重值,使得设计出的度量公式能够更精确地衡量信息位译码结果可靠度。仿真结果表明,与SCF 译码算法相比,PLR-SCF 译码算法能够有效提高算法性能,降低利翻转的尝试次数。由于本文PLR-SCF 译码算法主要实现一位比特翻转,下一步将研究多位比特翻转的译码算法,使译码算法性能得到更大提升。

猜你喜欢

译码度量复杂度
极化码自适应信道译码算法
鲍文慧《度量空间之一》
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
代数群上由模糊(拟)伪度量诱导的拓扑
非线性电动力学黑洞的复杂度
突出知识本质 关注知识结构提升思维能力
一种低复杂度的惯性/GNSS矢量深组合方法
度 量