开放科学(资源服务)标志码(OSID):
极化码[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(CRC-Assistant 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译码算法中,解码器输入端的数据表示为
$ {L}_{i}=\mathrm{l}\mathrm{b}\left(\frac{{P}_{r}({u}_{i}=0|Y, {\widehat{u}}_{1}^{i-1})}{{P}_{r}({u}_{i}=1|Y, {\widehat{u}}_{1}^{i-1})}\right) $ | (1) |
根据
$ {\widehat{u}}_{i}=h\left({L}_{i}\right)=\left\{\begin{array}{l}{u}_{i}, i\notin I\\ \frac{1-\mathrm{s}\mathrm{i}\mathrm{g}\mathrm{n}\left({L}_{i}\right)}{2}, i\in I\end{array}\right. $ | (2) |
其中:I为信息位集合,当
然后对SCF译码算法原理进行阐述。传统的SCF译码算法的步骤为:1)对接收信号
为改进SCF译码算法,本文研究极化码在执行SC译码过程中由于信道条件不理想造成比特错误译码的情况。图 1所示为由信道条件引起比特错误译码的个数造成块错误译码的分布。
![]() |
Download:
|
图 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的增益。
![]() |
Download:
|
图 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译码结果,再加上噪声的影响,使得
![]() |
Download:
|
图 3 平均 |
从图 3可以看出,发生TFDE的信息位的
在中短码长情况下,SC译码算法性能不理想,主要是因为有限的码长信道极化不完全。由公式
![]() |
Download:
|
图 4 在SNR=2 dB时 |
![]() |
Download:
|
图 5 在SNR=2 dB时TFDE的分布 Fig. 5 Distribution of TFDE at SNR = 2 dB |
图 4表示各个信息位
$ \begin{aligned}{P}_{e}^{i}\triangleq & P({\widehat{u}}_{i}\ne {u}_{i}|{\widehat{u}}_{1}^{i-1}={u}_{1}^{i-1}, Y=y)=\\ & \frac{1}{2}\mathrm{e}\mathrm{r}\mathrm{f}\mathrm{c}\left(\frac{\sqrt{E\left[{L}_{N}^{i}\right]}}{2}\right)\end{aligned} $ | (3) |
其中:
$ \mathrm{e}\mathrm{r}\mathrm{f}\mathrm{c}\left(x\right)=\frac{2}{\sqrt{\mathrm{\pi }}}{\int }_{x}^{\mathrm{\infty }}{\mathrm{e}}^{-{t}^{2}}\mathrm{d}t $ | (4) |
$ E\left[ {L_N^{2i - 1}} \right] = {\phi ^{ - 1}}\left( {1 - {{\left( {1 - \phi \left( {E\left[ {L_{\frac{N}{2}}^i} \right]} \right)} \right)}^2}} \right) $ | (5) |
$ E\left[{L}_{2N}^{2i}\right]=2E\left[{L}_{N/2}^{2i}\right] $ | (6) |
式(5)中的
$ \phi \left(x\right)\approx \left\{\begin{array}{l}\sqrt{\frac{\mathrm{\pi }}{x}}\mathrm{e}\mathrm{x}\mathrm{p}\left(-\frac{x}{4}\right)\left(1-\frac{10}{7x}\right), x\ge 10\\ \mathrm{e}\mathrm{x}\mathrm{p}(-0.{452}_{}7{x}^{0.86}+0.{021}_{}8), \mathrm{ }0 < x < 10\end{array}\right. $ | (7) |
根据上述分析可以得出,判断一个信息比特发生错误译码的情况,可以综合考虑
根据上述分析,下面分别对这3个参数取一定的权重,使得3个参数在不同的程度上共同决定信息位发生错误译码的程度。假设度量
$ {M}_{i}={A}_{i}\times {P}_{i}\times {R}_{i} $ | (8) |
其中:
$ {P}_{i}=(1-{P}_{e}^{i})/{P}_{e}^{i} $ | (9) |
式(9)表示的是一个极化程度,但式(9)得到的值相对较大,为减少
$ {P_i} = {\rm{ln}}((1 - P_e^i)/P_e^i) \approx - {\rm{ln}}{\kern 1pt} {\kern 1pt} {\kern 1pt} P_e^i $ | (10) |
为得到
$ {A_i} = {\rm{floor}}\left( {{\rm{lb}}{\kern 1pt} {\kern 1pt} {\kern 1pt} i} \right) + 1$ | (11) |
其中:floor( )表示一个向下取整函数;
综上,本文在传统SCF译码算法的基础上提出一个改进的度量公式,如式(12)所示:
$ {M}_{i}=\left(\mathrm{f}\mathrm{l}\mathrm{o}\mathrm{o}\mathrm{r}\right(\mathrm{l}\mathrm{b}i)+1)\times \left|{L}_{i}\right|\times (-\mathrm{l}\mathrm{n}{P}_{e}^{i}) $ | (12) |
该度量弱化了对
PLR-SCF译码算法的步骤如下:
1) 对接收信号
2) 用CRC去校验
3) 如果t > T,说明经过T次比特翻转后仍不能得到正确的译码结果,结束译码;如果t < T+1,计算式(12)得到每个信息位的度量值
4) 如果经过步骤3)以后译出的信息比特序列通过CRC校验,则译码结束;否则翻转次数t=t+1,继续执行步骤3)选择另一个信息比特
本节给出的所有仿真结果都假设在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的生成多项式为
![]() |
Download:
|
图 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所示为
![]() |
下载CSV 表 1 额外解码尝试的平均次数 Table 1 Average number of additional decoding attempts |
由表 1可知,与文献[12]SCF算法相比,本文的译码算法得到正确的译码结果,所需的比特翻转尝试次数最多可获得13.6%的降低,并且SNR越高该算法翻转到错误译码的信息比特的速度就越快,说明了PLR-SCF译码算法在识别一位错误信息比特的能力得到了增强。
4 结束语本文提出一种基于对数似然比与极化信道可靠度的SCF译码算法PLR-SCF,通过仿真观察信息位发生TFDE时对数似然比、极化信道可靠度和信息位位置的分布情况,并根据观察到的结果为不同的参数设定权重值,使得设计出的度量公式能够更精确地衡量信息位译码结果可靠度。仿真结果表明,与SCF译码算法相比,PLR-SCF译码算法能够有效提高算法性能,降低利翻转的尝试次数。由于本文PLR-SCF译码算法主要实现一位比特翻转,下一步将研究多位比特翻转的译码算法,使译码算法性能得到更大提升。
[1] |
ARIKAN E. Channel polarization: a method for constructing capacity-achieving codes[C]//Proceedings of 2008 IEEE International Symposium on Information Theory. Toronto, Canada: IEEE Press, 2008: 1173-1177.
|
[2] |
ARIKAN E. Channel polarization: a method for constructing capacity-achieving codes for symmetric binary input memoryless channels[J]. IEEE Transactions on Information Theory, 2009, 55(7): 3051-3073. DOI:10.1109/TIT.2009.2021379 |
[3] |
TAL I, VARDY A. List decoding of polar codes[J]. IEEE Transactions on Information Theory, 2015, 61(5): 2213-2226. DOI:10.1109/TIT.2015.2410251 |
[4] |
CHEN K, NIU K, LIN J R. Improved successive decoding of polar codes[J]. IEEE Transactions on Communication, 2013, 61(8): 3100-3107. DOI:10.1109/TCOMM.2013.070213.120789 |
[5] |
GALLAGER R. Low density parity check codes[J]. IEEE Transactions on Information Theory, 1962, 1(8): 21-28. |
[6] |
RAO K D. Turbo codes[M]. Berlin, Germany: Springer, 2019.
|
[7] |
WANG T, QU D M, JIANG T. Parity-check-concatenated polar codes[J]. IEEE Communication Letters, 2016, 20(12): 2342-2345. DOI:10.1109/LCOMM.2016.2607169 |
[8] |
王琼, 罗亚洁, 李思舫. 基于分段循环冗余校验的极化码自适应连续取消列表译码算法[J]. 电子与信息学报, 2019, 41(7): 1572-1578. WANG Q, LUO Y J, LI S F. Polar adaptive successive cancellation list decoding based on segmentation cyclic redundancy check[J]. Journal of Electronics and Information Technology, 2019, 41(7): 1572-1578. (in Chinese) |
[9] |
NIU K, CHEN K. CRC-aid decoding of polar codes[J]. IEEE Communication Letter, 2012, 16(10): 1668-1671. DOI:10.1109/LCOMM.2012.090312.121501 |
[10] |
SHANNON C E. A mathematical theory of communication[J]. The System Technical Journal, 1948, 27(3): 379-423. DOI:10.1002/j.1538-7305.1948.tb01338.x |
[11] |
刘亚军, 李世宝, 刘建航, 等. 一种低时延极化码列表连续删除译码算法[J]. 计算机工程, 2018, 44(3): 78-81. LIU Y J, LI S B, LIU J H, et al. A low-latency successive cancellation algorithm for polar codes[J]. Computer Engineering, 2018, 44(3): 78-81. (in Chinese) |
[12] |
AFISIADIS O, BALATSOUKAS-STIMMING A, BURG A P. A low-complexity improved successive cancellation decoder for polar codes[C]//Proceedings of the 48th Annual Asilomar Conference on Signals, Systems and Computers. Pacific Grove, USA: IEEE Press, 2014: 2116-2120.
|
[13] |
KIM H, LEE H, PARK H. Interleaver-aided successive cancellation flip decoding algorithm for polar codes[C]//Proceedings of the 4th IEEE International Conference on Computer and Communications. Washington D.C., USA: IEEE Press, 2018: 2559-2563.
|
[14] |
CHANDERSIS L, SAVIN V, DECLERCQ D. Dynamic-SCFlip decode of polar codes[J]. IEEE Transitions on Communications, 2018, 66(6): 2333-2345. DOI:10.1109/TCOMM.2018.2793887 |
[15] |
ZHANG X T, LIU Y Z, CHEN S P. BER evaluation based SCFlip algorithm for polar codes decoding[J]. IEEE Access, 2019, 8: 3042-3054. |
[16] |
ERCAN F, CONDO C, GROSS W J. Improved bit-flipping algorithm for successive cancellation decoding of polar codes[J]. IEEE Transaction on Communications, 2019, 61(1): 61-72. |
[17] |
CONDO C, ERCAN F, GROSS W J. Improved successive cancellation flip decoding of polar codes based on error distribution[C]//Proceedings of IEEE Wireless Communication Networking Conference. Barcelona, Spain: IEEE Press, 2018: 19-24.
|
[18] |
LI S B, DENG Y Q, GAO X, et al. Generalized segmented bit-flipping scheme for successive cancellation decoding of polar codes with cyclic redundancy check[J]. IEEE Access, 2019, 7: 8324-83436. |
[19] |
PETER T. Efficient design and decoding of polar codes[J]. IEEE Transactions on Communications, 2012, 60(11): 3221-3227. DOI:10.1109/TCOMM.2012.081512.110872 |
[20] |
HE G N, BELFIORE J C, LAND I, et al. Beta-expansion: a theoretical framework for fast and recursive construction of polar codes[C]//Proceedings of 2017 IEEE Communication Conference. Singapore, Republic of Singapore: IEEE Press, 2018: 1-6.
|
[21] |
MORI R, TANAKA T. Performance and construction of polar codes on symmetric binary-input memoryless channel[C]//Proceedings of IEEE International Sysposium on Information Theory. Seoul, South Korea: IEEE Press, 2012, 60(11): 3221-3227.
|