doi:
10.3969/j.issn.1003-3114.2024.01.022
引用格式:
李逸飞,黄志亮,张莜燕,等.基于BCJR网格的3×3核极化码简化连续消去译码算法[J].无线电通信技术,2024,50(1):181-186.[LIYifei,HUANGZhiliang,ZHANGYouyan,etal.3×3PolarCodeSimplifiedSuccessiveCancellationDecodingAlgorithm
BasedonBCJRTrellisConstruction[J].RadioCommunicationsTechnology,2024,50(1):181-186.]
基于BCJR网格的3×3核极化码简化连续消去译码算法
李逸飞,黄志亮
,张莜燕,周水红
浙江师范大学物理与电子信息工程学院,浙江金华321004)摘 要:大核矩阵极化码的传统连续消去(SuccessiveCancellation,SC)译码算法有较高的计算复杂度,采用网格来
降低大核矩阵极化码SC译码算法的复杂度。发现了SC译码算法核内部运算和网格的联系,
建立了相应的网格替代核内部运算,基于BCJR(Bahl,Cocke,Jelinek,Ravivconstruction)网格构造出SC核内部运算的最小网格。有效降低了算
法计算量。仿真结果表明,
3×3核的长度为243、码率为1/2的极化码,相比于直接计算式,运行时间减少了79.14%,节省了14.2%的计算成本
关键词:极化码;大核矩阵;BCJR网格;连续消去译码
中图分类号:TN919.23   文献标志码:A   开放科学(资源服务)标识码(
OSID):文章编号:1003-3114(
2024)01-0181-063×3PolarCodeSimplifiedSuccessiveCancellationDecodingAlgorithmBasedonBCJRTrellisConstruction
LIYifei,HUANGZhiliang ,ZHANGYouyan,
ZHOUShuihong
(CollegeofPhysicsandElectronicInformationEngineering,ZhejiangNormalUniversity,Jinhua321004,China)Abstract:ThetraditionalSuccessiveCancellation(SC)decodingalgorithmforlargekernelmatrixpolarcodeshashighcomputa
tionalcomplexity.ThispaperusesatrellistoreducethecomplexityoftheSCdecodingalgorithmforlargekernelmatrixpolarcodes.Firstly,
thispaperestablishestheconnectionbetweentheinternaloperationsoftheSCdecodingalgorithmandthetrellis.Then,
itestab lishesthecorrespondingtrellis basedreplacementsforinternaloperations.Finally,basedontheBCJR(Bahl,Cocke,Jelinek,
Ravivcon struction)trellis,
theminimumtrellisforinternaloperationsoftheSCkernelisconstructed.Thisapproacheffectivelyreducesthecom putationalloadofthealgorithm.Simulationresultsshowthatfor3×3kernelpolarcodeswithalengthof243andacoderateof1/2,
thismethodreducestherunningtimeby79.14%comparedtodirectcalculation,
savingsof14.2%incomputingcosts.
Keywords:polarcode;largekernelmatrix;BCJRtrellis;
SCdecoding
收稿日期:2023-09-23
0 
引言
极化码最早由Arikan教授提出,是一种理论上证明在离散无记忆信道中可以达到信道容量的编码
方案[1
]。2016年,
3GPP会议选择了极化码作为5G控制信道增强移动宽带场景的编码方式[2
]。Arikan教授提出的极化码的编译码是基于2×2核矩阵构造的,其码长只能为2n
。2010年Korada等人[3
]指出基
于核矩阵构造出的极化码可以拥有更优的纠错性能。
对于任意的ε>0,
码长为2n
的极化码在连续消去(SuccessiveCancellation,SC)解码下的误帧率为o(2-2n(β-ε
)),β为极化因子,
其中2×2核矩阵的β值为0.5。极化因子的定义同时可以推广至任意的大核矩阵,并且可以设计出具有更大极化因子的大核矩阵[3-6
]。不同大小的大核矩阵(m×m(m>2)核矩阵)分别对应不同的最优极化速率。一般来讲,更大的核可以有更大的极化速率,在相同码长下,极化速率越大,对应码性能越好。
文献[3]
同时指出,大核矩阵在译码中往往会有更高的复杂度,直接的SC译码对于大核矩阵是不实际的。极化码的核内部运算可以借助于网格图来计算,网格是一种有向分层图,最早出现在计算复杂性理论的有限自动机的研究理论中。研究结果表明通过网格可以有效地降低SC译码运算量,节省运算时间[7
]。针对大核矩阵带来的复杂度增加的问题,将传统网格与极化码的译码过程结合起来,提出用BCJR(Bahl,Cocke,Jelinek,Ravivconstruction)网格计算来替代传统SC译码过程中信道转移概率的计算,通过搭建SC译码树来降低算法的计算量。在本研究中提
出一种基于BCJR网格[7
]的译码方案。与传统的SC译码相比,本方案利用网格图的特性,将SC译码递归公式中位信道转移概率的计算替代为网格中起点到终点所有路径的流量和的计算,减少了计算量。此方案对于长度为243、码率为1/2的G 53
极化码,在算法运行时间上,相同信噪比(SignaltoNoiseRatio,SNR)条件下,综合对比直接计算式运行时间减少了79.14%,同时节省了14.2%的计算成本[8-9
]。
1 极化码简单回顾1.1 极化码设uN1
为极化码的输入序列,模型图如图1所示。源消息序列uN1
=(u1,u2,…,uN
)经过极化码编码器c=uGN
映射得到cN1
=(c1,c2,…,cN),其中GN
表示码长N=2m
的极化码的生成矩阵。yN1
=(y1
,y2,…,yN
表示信道输出向量。图1 极化码模型图
Fig.1 Modeldiagramofpolarcode
对于任意给定的信道,基于不同的核矩阵设计
出对应的极化码都有一组对应的参数(N,K,A,uAc
)。N是极化码码长,K是信息位位数,集合A是由K个信息位序号组成的,uAc
为冻结位的取值[10-13
]。大核矩阵的译码方式与原G2核矩阵的译码方式大致相同。对于一个给定的m×m核矩阵Gm
针对SC译码,
信道转移概率的计算公式为:W(i)Gm
(ym1,
ui-1
1ui)
umi+1∈x
m-i1
m-1
W(y1(um
Gm)1
×…×
W(ym
(um1
Gm
)m
),
(1)式中:ui
∈0,1{},i=1,2,…,m。
以Gm
为核矩阵构造的极化码的SC译码通过
直接计算的复杂度为O(2m
Nlogm
N),它随核大小m
呈指数增长。本文提出的网格译码就是通过计算网格起点到终点所有路径的流量和来替代式(1),降低计算成本[14-16
]。1.2 最小网格构造①网格
网格是一种特殊的图结构。用T=(V,E,∑)
表示,其中集合V称为T的状态(顶点集),E称为边(分支),∑为边的符号集。且必须满足以下条件:网格T的状态集合V,由n+1个子集的并集构成,由式(2)
表示[17
]:V=V0∪V1∪…∪Vn∪Vn+1
。(2)在顶点Vi和Vi+1中会有一条边连接,记作ei
,同时在边上可能会有一些特殊的标记值,用来进行计算或者存储网格的其他信息,记作α(ei
。②最小网格
假设存在两个网格T1和T2,V记作T1
的顶点集,V′记作T2的顶点集,对于 i,满足Vi<Vi
′,则称网格T1严格小于T2。如果不存在任意网格T
满足上述关系,则称T2
是最小网格[18
]。
目前,最小网格的构造方法已经十分成熟,常用
的构造方法有4种,本文用到的BCJR构造方法就
是其中一种,除此之外还有Forney构造方法、Massey构造方法及KS(Kschischang Sorokine)构造方法[7
]。1.3 BCJR网格构造
设码C是一个在IFq
上长度为n的线性码,H=[h1,h2,…,hn
是码C的奇偶校验矩阵,则BCJR网格图T可以通过标记节点Vi
集合来构造。时刻i的顶点集合由式(3)指出:Vi=def
{c1h1+
…+cihi
:(c1
,…,ci
,ci+1
,…,cn
)…∈C},(3)
V0={ }={0},(4)Vn
={ }
={0},(5)式中:V0和Vn
都是0的集合。从开始节点V∈Vi-1到下一节点V′∈Vi
有一条边e∈Ei当且仅当存在码字(c1,c2,…,cn
)∈C满足下式:c1h1+c2h2+…+ci-1hi-1
=v,(6)c1h1+c2h2+…+ci-1hi-1+cihi
=v′。(
7)
介于Vi-1
与Vi
的边记作ei
,这条边的边标记α(ei
)=ci
。式(2)指出了节点的定义,具体的计算过程如下:
Vi
=column-spaceHi
GT
(8)
式中:Gi为码C生成矩阵的前i列,Hi
为码C奇偶
校验矩阵的前i列。通过上式的计算,
可以得出各结点的向量组合,然后得出网格构造[16-18
]。下面给出BCJR网格图的一个例子,一个线性
码C的生成矩阵G=10110
01
011[]
。为求出网格,须进行以下几个步骤:
①根据GHT
=0求出生成矩阵H,
可以得出码C的生成矩阵H=100110100100111
。②根据顶点的计算公式进行各个顶点的计算,
其中V0=0{},
V5
=0{}。V1=H1GT
=100
[10]=100000
→100        →000
V2=H2GT
2=100100
100
1[]=100
100
→100        →
010
V3=H3GT
3=1
000
0001
100
110        =1
00
110
→101        →
010
V4=H4GT4=1001010000
1        1001101
=0
10
101
→000        →
111
(9)
根据式(6)和式(7)对网格图进行边标记,根据边标记定义式,绘制出线性码C的网格,如图2
所示。
图2 线性码C的网格图
Fig.2 TrellisoflinearcodeC
2 
基于BCJR网格构造的极化码译码算法
本节介绍通过BCJR网格来进行极化码的译码过程,运用网格结构替代了极化码中的直接运算,根据生成矩阵构造出最小网格,该方法可以有效地降低高维极化码译码复杂度。
首先选取核矩阵,在本文中选择G3
=100110101
作为线性码的核矩阵[5
]。2.1 译码u
译码u1的过程中只有两个可能性:一种是u1
=0的概率;另一种u1
=1的概率。①译码u1
=0的概率在计算u1
=0的概率时,根据极化码的理论知识
和公式,列出W(1
(y3
u1
=0)=∑u32
2W(y1u2+u3
)·W(y2|u2)W(y3|u3
)。
选取矩阵的后两行作为新的生成矩阵,即选取G=110101[]
作为它的生成矩阵(u2
u3
)110
101()=(
字符串常量结束符u2
+u3
u2u3
)。假设H=[x
x2x3
根据GHT
=0
可列出
101[
]
x1x2x3
=0
,可以得出H=[1
。根据式(8),可以求出顶点集合V,根据得出的结点求出其他的列向量组合,具体计算过程如下:
V0=V3=0{}→[0
]V1
=H1
GT
=[1][11]=[11]→[0→
][1→
]V2
=H2
GT2
=[11]1110[]=[01]→[0→
][1→
。(10)根据式(6)和式(7)
,可求解出边标记c,根据边标记可以绘制出译码u1
网格,如图3
所示。
图3 译码u1
网格图
Fig.3 Decodingu1trellis
从图3中可以看出,网格的起点到终点共有4条路径,
计算网格起点到终点所有路径的流量和
可以得出W(1)3
(y3
u1
=0)的值。②译码u1=1的概率
计算u1
=1的概率,列出W(1)3
(y
31u1=0)
∑u32
·
W(y1u1+u2+u3
)·W(y2
u2
)W(y3
u3
)。
选取
G=100110101
作为它的生成矩阵,
列出(u1
u2
u3)100110101
=(u1+u2+u3u2u3
)。计算u1
=0与u1
=1不同的点在上式右侧处的值。计算W(1)3
(y3
u1
=1)只需要将网格中的边标记加1即可。2.2 译码u
2译码u2
的过程中,同样u2
译码只有两个可能性:一种是u2
=0的概率;另一种u2=1的概率。分为两种情况进行,又因为在译码u2
时u1
已知,需要将情况进行细分。①译码u2=0的概率在计算u2
=0的概率时,根据极化码的理论知识
和公式,列出W(2)3
(y31
u1
u2
=0)=∑u3
2W(y1u1+u3
)·W(y20)W(y3u3
)。
选取矩阵的后一行作为新的生成矩阵,即选取G=[101]作为它的生成矩阵(u2
u3
)110
101()
=(
u2
+u3
u2
u3
)。假设H=[x1x2x3
],根据GHT
=0列出[101]x1x2
x3
=0,可以得出H=111
101[]。根据式(8)
,可以求出顶点集合V,根据得出的结点求出其他的列向量组合,具体计算过程如下:
V0=V3=0{}→[0→
V1=H1GT
1=110
[1]=110
→000        →110
V2=H2GT
=11100
0[]
=110
→000        →
110
。(11)
根据式(6)和式(7)
,计算出边标记,绘制出网格,如图4
所示。
图4 译码u2
网格
Fig.4 Decodingu2trellis
  ②
译码u2
=1的概率
u2=1
的情况与u2
=0的情况类似,根据以下计算
式可得W(2)3
(y3
,u
u2=1
)=∑u3
122
W(y
u1+u2+u3
)·
W(y2u2)W(y3u3
)。
计算W(1)3
(y31
,u1
u2
=1)只需要将网格中的边标记加1即可。2.3 译码u
因为译码u3
时u1
、u2
已知,故可以根据式(1)直接计算W(3)3
(y31
,u1
,u2
u3
)=122
W(y1
u1
+u2
+u3
)·
W(y2u2)W(y3u3
)。
上述就是将BCJR网格构造方法应用于极化码
译码的大致流程。
3 
实验结果与分析
本次实验基于3×3的生成矩阵,设置帧数为
1000000,在考虑二进制相移键控(BPSK)调制和
二进制加性高斯白噪声(
BI AWGN)信道。具体来说,二进制码字x=(x0
,x1
…,xN-1)
通过n=1-2xn
映射到传输序列s=(s0
,s1
,…,sN-1
。在接收端,得到接收向量y=(y0
,y1
,…,yN-1
。其中yn
=sn
+zn
和z=(z0
,z1
,…,zN-1
是独立分布的均值为0且方差为N0
/2的高斯随机变量集。
实验结果给出了3×3核二进制内核的极化码的误帧率(FrameErrorRatio,FER),设置SNR步进为0.5,INIT_SNR设置为1.0,FINAL_SNR设置为6.0。通过对比传统SC译码的仿真结果,BCJR构造的网格极化码同样有着不错的性能。
表1记录了计算机CPU的性能参数。在实验消耗时间上,设置SNR步进为1,INIT_SNR设
置为1.0,FINAL_SNR设置为5.0。统计每轮的计算时间,结果如表2所示。
表3给出了G 5
极化码在SC译码情况下乘法
次数和加法次数的比较,
G 53
极化码分别通过BCJR网格和直接计算式的方法进行译码。对表中数据进行分析,乘法次数的运算减少了14.2%。
表1 计算机性能参数
Tab.1 Computerperformanceparameters
计算机参数数值
CPU基本频率/GHz
2.5核心数14线程数
20
表2 译码消耗时间对比
Tab.2 Comparisonofdecodingtime
SNRSCBCJR降低百分比/%
1.0383.679.679.22.0383.777.779.73.0387.481.678.94.0382.082.778.35.0
385.0
78.5
79.6
表3 基于BCJR网格和直接计算式的运算量比较
Tab.3 Comparisonofcomputationbasedon
BCJRtrellisanddirectcalculationformula
算法乘法次数
加法次数
BCJR网格1944648直接计算式
2268
648
从图5中可以看出,传统SC译码与BCJR网格译码在SNR相同时FER
差异不大。
图5 传统SC译码与基于BCJR网格译码的方法构造的极性码的FER
Fig.5 FERofpolarcodeconstructedbytraditionalSC
decodingandBCJRtrellisdecodingmethod
从上述结果可以分析得出,基于BCJR网格的代码运行时间要远远低于传统SC译码所消耗的时间。在算法运行时间上,在相同SNR条件下,综合对比直接计算式运行时间平均减少了79.14%,节省了
14.2%的计算成本,
有效降低了算法的复杂度。4 
结论
为了解决大核矩阵带来的译码复杂度增加的问
题,将传统的BCJR网格与极化码的译码过程相结
合,利用网格图的特性,通过计算出起点到终点所有路径的流量和来替代SC译码过程中位信道转移概率的递推计算式,有效地降低计算量。对于3×3核矩阵构造的极化码,仿真结果表明该方法有效降低了算法的运行时间,降低了计算成本。在后续研究过程,将基于此方案将算法推进到更高维的大核矩阵中。
参考文献
1] ARIKANE.ChannelPolarization:AMethodforConstruc tingCapacity achievingCodesforSymmetricBinary inputMemorylessChannels[J].IEEETransactionsonInfor
mationTheory,
2009,55(7):3051-3073.[2] ARIKANE.PolarCodes:APipelinedImplementation
[EB/OL].[2023-11-10].https://www.ee.bilkent.e
du.tr/~arikan/isbc_2010.pdf.
[3] KORADASB,A?O LUE,URBANKER.PolarCodes:CharacterizationofExponent,Bounds,andConstructions[J].IEEETransactionsonInformationTheory,2010,56(12):6253-6264.[
4] MORIR,TANAKAT.SourceandChannelPolarizationoverFiniteFieldsandReed SolomonMatrices[J].IEEETransactionsonInformationTheory,2014,60(5):2720-2736.[
5] LINHP,LINS,ABDEL GHAFFARKAS.LinearandNonlinearBinaryKernelsofPolarCodesofSmallDimen
sionswithMaximumExponents[J].IEEETransactionsonInformationTheory,2015,61(10):5253-5270.
[6] HUANGZL,ZHANGSY,ZHANGFY,etal.Simplified
SuccessiveCancellationDecodingofPolarCodeswithMe
dium DimensionalBinaryKernels[
J].IEEEAccess,2018,6:26707-26717.[7] HUFFMANWC,BRUALDIRA,PLESSV.Handbookof
CodingTheory[
M].NewYork:ElsevierScienceInc.,1998. [8] ALAMDAR YAZDIA,KSCHISCHANGFR.ASimplified
Successive cancellationDecoderforPolarCodes[J].IEEE
CommunicationsLetters,
2011,15(12):1378-1380.[9] HUANGZL,DIAOCJ,DAIJX,etal.AnImprovement
ofModifiedSuccessive cancellationDecoderforPolar
Codes[
J].IEEECommunicationsLetters,2013,17(12):2360-2363.[10]PRESMANN,SHAPIRAO,LITSYNS,etal.BinaryPo
larizationKernelsfromCodeDecompositions[
J].IEEETransactionsonInformationTheory,2015,61(5)
:2227-2239.
11]OCHIAIH,MITRANP,POORHV.Capacity approachingPolarCodeswithLongCodewordsandSuc
cessiveCancellationDecodingBasedonImprovedGaussianApproximation[J]
.IEEETransactionsonCom munications,2021,69(1):
31-43.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。