CN110535477A - 并行的极化码译码方法 - Google Patents
并行的极化码译码方法 Download PDFInfo
- Publication number
- CN110535477A CN110535477A CN201910814285.5A CN201910814285A CN110535477A CN 110535477 A CN110535477 A CN 110535477A CN 201910814285 A CN201910814285 A CN 201910814285A CN 110535477 A CN110535477 A CN 110535477A
- Authority
- CN
- China
- Prior art keywords
- node
- binary tree
- valuation
- decoding
- tree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000010287 polarization Effects 0.000 title claims abstract description 25
- 230000004913 activation Effects 0.000 claims description 13
- 238000005520 cutting process Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims 1
- 206010021703 Indifference Diseases 0.000 abstract description 2
- 230000009467 reduction Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 101000694320 Drosophila melanogaster RuvB-like helicase 2 Proteins 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- NRJAVPSFFCBXDT-HUESYALOSA-N 1,2-distearoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CCCCCCCCCCCCCCCCC NRJAVPSFFCBXDT-HUESYALOSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明并行的极化码译码方法,包括如下步骤:步骤1,根据位置信息奇、偶位,获取左二叉树Tl和右二叉树Tr;步骤2,将奇、偶位置对应的对数似然比值分别给左二叉树Tl和右二叉树Tr;步骤3,译码器对左二叉树Tl和右二叉树Tr进行并行遍历;步骤4,获取叶子节点估值并保留候选路径;步骤5,对估值进行处理;步骤6,获取译码结果;返回步骤3,直到译码树最后一个叶子节点被激活。本发明公开的极化码译码方法是对List‑Fast‑SSC算法、Fast‑SSCL算法并行化,节点数量有大量缩减,误码率无差。
Description
技术领域
本发明属于无线通信领域,特别涉及一种并行的极化码译码方法。
背景技术
作为首个理论证明可达Shannon限的编码方法,Polar码在无线通信和存储系统中将发挥巨大的作用,而且高性能的Polar码编、译码器及高效硬件架构的实现引起工业界和学术界的广泛关注。
当码长趋近于无穷大时,串行抵消算法(Successive Cancellation,SC)是一种可使极化码纠错性能达到信道容量的低复杂度译码算法。学者Gabi Sarkis和WarrenJ.Gross考虑到SSC算法中的RATE-R节点依旧需要对其相应子树进行遍历,提出ML-SSC和Fast-SSC算法,将RATE-R节点组合分为REP和SPC节点。REP和SPC节点的估值步骤与RATE0、RATE1相同,可以直接在子树根部对其估值,无需对子树进行遍历。上述译码算法都是对单棵译码树进行译码,为提高译码算法并行性进而提高吞吐率,南京大学林军和山东科技大学张小军分别提出并行SC和并行Fast-SSC译码算法。为进一步对纠错性能进行提高,GabiSarkis在Fast-SSC译码算法的基础上设置路径数量阈值L提出对应的列表译码算法(List-Fast-SSC),但List-Fast-SSC译码算法产生的候选路径数量远超SCL算法,该算法中SPC节点需要扩展八条候选路径,从而导致更多的排序资源消耗和由于排序网络造成的高译码延迟。相关文献提出简化SCL(Simplified SCL,SSCL)译码算法,该算法不再像List-Fast-SSC译码算法那样对REP、RATE1和SPC分别扩展2、4、8条路径,而是对每个节点包含的信息位扩展两条路径,可以使用与SCL完全兼容的排序网络对候选路径进行选择。该算法虽然完美继承List算法的高译码性能,改进了复杂的排序网络架构,对纠错性能和复杂度有一个很好的折中,但每个叶子节点译码需要多个时钟周期,译码延迟有待降低。SSCL算法对RATE1节点译码过程中存在冗余的路径分裂操作,为此相关文献提出一种针对RATE1节点的快速译码方法——Fast-SSCL,与SSCL相比需要更少的译码步骤。后来,学者分别提出基于SSCL译码算法的Fast-SSCL和基于SSCL-SPC译码算法的Fast-SSCL-SPC译码算法,分别消除RATE1和SPC节点的冗余计算,进一步降低译码延迟,提高吞吐率。上述算法可能在节点译码方法有一定改进,但能保证纠错性能又能提高吞吐率的姨妈方法有待研究。
发明内容
针对上述技术问题,本发明的目的在于提供一种解决上述技术问题的并行的极化码译码方法。
为解决上述技术问题,本发明并行的极化码译码方法,包括如下步骤:
步骤1,根据位置信息奇、偶位,获取左二叉树Tl和右二叉树Tr;
步骤2,将奇、偶位置的对数似然比值分别给左二叉树Tl和右二叉树Tr;
步骤3,译码器对左二叉树Tl和右二叉树Tr进行并行遍历;
步骤4,获取叶子节点估值并保留候选路径;
步骤5,对估值进行处理;
步骤6,获取译码结果;返回步骤3,直到译码树最后一个叶子节点被激活。
优选地,步骤1包括:
步骤1.1,根据位置信息序列奇、偶位置拆分为两个子序列,并由位置信息作为叶子节点构造两棵满二叉树;
步骤1.2,对满二叉树裁剪,裁剪后的二叉树分别记为左二叉树Tl和右二叉树Tr。
优选地,步骤3中,译码器根据左二叉树Tl和右二叉树Tr的结构按照深度优先的顺序同时对左二叉树Tl和右二叉树Tr进行并行遍历。
优选地,步骤4中,当前激活节点为叶子节点类型时,根据步骤3所述路径扩展及译码方式得到叶子节点估值β,并对扩展的候选路径排序选取其中最可靠的L条候选路径进行保留。
优选地,步骤5中,
若激活节点为左孩子节点,将对应的激活节点叶子估值返回至父节点做G运算;
若激活节点为右孩子节点,将联合当前激活节点的兄弟节点估值做C运算。
优选地,步骤6中,当译码器激活节点为叶子节点类型,叶子节点局部译码器输出经过Kronekcer积转换获取最终译码结果。
优选地,还包括步骤7,选取通过CRC校验并最可靠的一条路径,对叶子节点估值进行拼接,并输出最终译码结果。
一种并行的极化码译码方法系统,包括:
位置模块,据位置信息奇、偶位,获取左二叉树Tl和右二叉树Tr;
赋值模块,将奇、偶位置的对数似然比值分别给左二叉树Tl和右二叉树Tr;
遍历模块,译码器对左二叉树Tl和右二叉树Tr进行并行遍历;
保留模块,获取叶子节点估值并保留候选路径;
处理模块,对估值进行处理;
译码模块,获取译码结果。
本发明公开的极化码的译码方法是对List-Fast-SSC算法、Fast-SSCL算法并行化,节点数量有大量缩减,误码率无差。本发明对不同算法译码性能进行分析,分别从如下两方面进行对比,其一在译码节点数量相同的前提下与并行Fast-SSC算法对比误码率,L=32时,误块率在10-3位置提升约为1.5dB;其二在误码率相同前提下与List-Fast-SSC算法对比节点数量,比List-Fast-SSC算法、Fast-SSCL节点数量并行度提高40%左右。
附图说明
图1为并行List-Fast-SSC译码流程图;
图2(a)为译码二叉树示意图;
图2(b)为并行译码二叉树示意图;
图3为DRATE0节点示意图;
图4为DRATE1节点示意图;
图5为CREP节点示意图;
图6为CSPC节点示意图;
图7为DREP节点示意图;
图8为REP_SPC节点示意图;
图9为REP_RATE1节点示意图;
图10为误码率曲线示意图;
图11为误块率曲线示意图。
具体实施方式
下面结合附图对本发明并行的极化码译码方法作进一步详细说明。
本发明根据极化码的并行性设计并行List-Fast-SSC译码算法算法,本发明所述极化码根据克罗内克积的特点,码长为N的极化码可以由两个码长为N/2短码构成,两短码间只需额外执行一阶运算即可。
克罗内克积运算结构如式(1),极化码生成式可以表示成式(2)的形式,其中极化码编码器输入序列为经编码器得到编码后的码字经信道传输后,接收端收到与对应的消息序列译码器利用接收序列经特定译码算法得出发送序列估值
对式(2)中等号右侧部分进行约分可得:
至此可被拆分为和两段,如式(3)所示:
根据极化码编码性质,和之间可由集合和所得,如式(4)所示:
本发明所述译码算法按照位置信息奇、偶位拆分为两棵二叉树,左树为奇数标号位置信息,右树为偶数标号位置信息,根据本发明所提叶子节点类型对两棵二叉树裁剪。同理信道接收信息亦是如此,将接收到的LLR值奇数标号部分赋值给左树根节点,偶数标号赋值给右树根节点。除叶子节点外两棵树独立、并行译码,每遇叶子节点两树根据本发明给出的不同叶子节点译码方式联合译码。
本发明中所提出的并行的极化码译码方法具体步骤如下:
步骤一、根据位置信息序列奇、偶位置拆分为两个子序列,并由位置信息作为叶子节点构造两棵满二叉树,根据本发明所述叶子节点类型对满二叉树裁剪,裁剪后的二叉树作为译码模型,分别记为Tl和Tr。所构建的两棵二叉树分别对应两个并行子译码器,叶子节点类型定义如下:若一组位置信息全部为固定位,则裁剪后的叶子节点称为RATE0节点;若叶子节点组合为全1序列,裁剪后的节点称为RATE1节点;若节点组合仅有第一位为固定位,称为SPC节点;若节点组合仅有最后一位为信息位,称为REP节点。左、右树对应节点均为RATE0称为DRATE0节点;左、右树对应节点均为RATE1称为DRATE1节点;左、右树对应节点联合为REP称为CREP节点;左、右树对应节点联合为SPC称为CSPC节点;左、右树对应节点均为REP称为DREP节点;左、右树对应节点均为SPC称为DSPC节点;左、右树对应节点分别为REP、SPC称为REP_SPC节点;左、右树对应节点分别为REP、RATE1称为REP_RATE1节点;其它节点为OTHER节点。
步骤二、将译码器接收的LLR值序列根据位置信息分配到两个译码器根节点,即奇、偶位置的LLR值分别给左、右两棵子树。
步骤三、译码器根据Tl和Tr两棵树的结构按照深度优先的顺序同时对两棵译码树进行并行遍历。当前激活节点得到中间α值,然后激活左孩子节点用F运算,如式(5)所示,计算输出左孩子节点的α值。其中αv[i]为节点v对应的LLR值序列,0≤i≤Nv-1。
αl[i]=F(αv[2*i],αv[2*i+1])
=sign(αv[2*i])sign(αv[2*i+1])min(|αv[2*i]|,|αv[2*i+1]|),0≤i<Nv/2
(5)
激活右孩子节点用G运算如式(6),计算输出右孩子节点的α值。
式(5)和式(6)中,αv表示当前激活节点的α值,αl表示下一个激活节点即左孩子的中间α值,αr表示当前激活节点右孩子的中间值α。如果下一激活节点为OTHER类型节点则根据公式(5)和(6)所示的F、G运算进行计算,若下一激活节点为叶子节点类型,则按照下述方式对其译码。
1)当节点类型为DRATE0节点,与原始译码方式相同。已知RATE0节点由固定位组合而成,因此译码结果为约定好的固定信息,所以在本发明所述并行算法中,如果遇到DATE0节点,局部译码器直接输出译码结果为0。DRATE0节点无需生成新路径,但译码过程中路径度量值需要像SCL译码算法一样更新,其计算方式如式(7)。其中表示第t阶译码中l条候选路径度量值,和分别表示左右树对应节点v的LLR值。
该计算方式还可以写成式(8)。
由式(7)或(8)可知,在译码算法遇到DRATE0时,局部译码器只对左右树节点对应的α值做一次减法运算更新PM值。
2)当左、右树对应叶子节点全部为RATE1的节点类型称为DRATE1,即所传输全部为信息位。可以使用下述两种方法对DRATE1节点译码。
方法一:参考List-Fast-SSC算法,本文中DRATE1节点译码方法设计如下:令首先在左、右树对应节点选出两个最不可靠的位置(LLR绝对值最小的两位)记为min1和min2,在扩展路径的过程中,根据所挑选的位置进行比特翻转,并对路径度量值进行更新,计算过程如式(9)。
其中等于源路径度量值,估值直接对LLR值硬判决。度量值对应输出结果min1位置估值翻转,度量值对应输出结果将min2位置估值翻转,度量值对应输出结果同时将min1、min2位置估值翻转,上一级保留的源路径度量值。
方法二:虽然可以通过上述译码方式对DRATE1节点进行译码,由于对生成的路径排序所需排序网络比较大,故也可采用如下译码方式。
定理1:在RATE1译码过程中,只需对SDRATE1=min(L-1,Nv)进行路径扩展,其余位置可直接对LLR值进行硬判决。
根据定理1,首先组合左、右译码树对应叶子节点的LLR值为对最小的SDRATE1个位置进行扩展并估值,计算方法如下:
其中i≤SDRATE1,为便于硬件实现式(11)可写为
这样就可以完全兼容SCL译码算法中的排序网络,只需从2L条路径中选L可靠路径,以便降低译码延迟。
3)CREP节点只包含最右边唯一的信息位,故译码结果只有两种,0或1。译码方式与List-Fast-SSC译码算法方式相同,将左右子树对应叶子节点组合路径度量值计算方式如式(12)。
该叶子节点路径扩展分两步,首先计算叶子节点对应LLR值之和,然后根据sum的符号位对路径度量值扩展。若sum大于0,扩展路径之一度量值不变,估值为全“0”,另一条路径度量值为源路径与sum绝对值之差,估值为全“1”,反之亦然。
4)CSPC节点中只有左树第一个叶子节点为固定位,其它全部为信息位,所以CSPC节点译码结果满足偶校验,即CSPC节点可以有种译码结果,实现复杂度为O(2n),当Nv>16时,CSPC节点的选择网络对译码器产生很大负担,为此只选择最不可靠的比特进行翻转译码。
方法一:左、右子树对应节点进行联合译码,令根据List-Fast-SSC算法提出的SPC译码方式,当节点码长大于等于4时,在αv中分别对LLR绝对值最小的四个位置进行翻转,当L值不大于32时其误码率性能损失可忽略。
令parity表示校验位,即若满足偶校验,q取值1,否则取0。根据定义可得扩展式(13)。
该扩展路径方式需要在8L条候选路径中选出L条最可靠(路径度量值绝对值最小)的路径,在译码器中排序网络处于关键路径。
方法二:为降低排序网络复杂度,CSPC节点译码方式可逐位译码,首先选SCSPC=min(L,Nv)。
选择CSPC节点中最不可靠的位置
然后计算奇偶校验位
γ为每条路径对应LLR值的校验结果,将路径度量值初始化为
至此,每条路径都有一个初始化的度量值,其它位路径度量值扩展如下
其中i按照LLR绝对值大小排列,首先对绝对值较小的位置进行路径扩展,只需扩展SCSPC位置,其它位置直接进行硬判决。最后,当全部位置估值完毕,为满足校验限制,根据估值对最不可靠的位置进行比特翻转如下:
使用第二种方法对CSPC节点进行译码,排序网络可与SCL译码算法中排序网络兼容,硬件复杂度降低。
5)左、右树对应叶子节点各为REP节点的联合节点为DREP,共包含两个信息位,故该两个信息位估值包括:00、01、10和11四种情况。局部译码器对四种情况进行全部扩展,方式如下:
经过上述计算,共得到4L条候选路径,其中只需保留L条最可靠的路径,根据所保留的路径对相应估值进行运算。
6)DSPC节点对应左、右子树节点分别为SPC节点,两节点译码结果分别满足奇偶校验。首先将两节点LLR值奇偶交叉组合,对组合结果进行联合译码,即然后对LLR值进行硬判决其中H(x)表示硬判决,l表示路径标号。下一步分别计算左、右树对应节点最不可靠位置。
然后计算左、右子树的校验位
初始化PM值为
设定阈值SDSPC=min(L,Nv-1),根据LLR绝对值排序,选出较小的SDSPC个位置,遍历i=2,3…SDSPC-1个位置记为flip[i],进行路径扩展,对每次扩展的2L条候选路径进行排序,选出L条较可靠的路径,扩展路径计算方式如(23)。
其中情形1表示flip[i]%2=0且情形2表示当flip[i]%2=1且
上述译码方式中的排序网络是从2L条候选路径中选L条最可靠的路径,可直接兼容SCL中的排序网络。
7)REP_SPC节点即左树对应REP、右树对应节点。对接收的左、右子树LLR值进行奇偶交叉联合译码,即对αv做一级F运算,得到临时左孩子LLR值,对临时左孩子按照REP译码方式进行译码,得到估值βl,将得到的βl与αv进行一次G运算得到临时右孩子LLR值,临时右孩子LLR值根据SPC节点译码方式得到临时右孩子估值βr。最终,对计算得到的βl和βr做C运算得到输出值。
8)当左树对应REP节点,右树对应RATE1节点时称为REP_RATE1节点。对于REP_RATE1节点,采用联合译码的方式,首先将左、右树奇偶交叉合并,合并方式如进行联合译码。以节点码长为8为例,该节点位置信息为[0,0,0,1,1,1,1,1],局部译码器在子树顶层输出值与克罗内克积相乘后前三位必定为0,故得
此时z=0或1。
通过计算最小值标号然后对LLR值进行硬判决得到初步输出值,计算校验位其中j=0,1,2,3。根据z=0或1分别初始化PM值,并对每组较小值对应位置输出比特进行翻转。
至此,得到2L条候选路径,在这2L条候选路径中选出最可靠的L条路径,并根据该L条路径中z的取值对输出值进行翻转,最后更新校验位同时对不在位置的LLR值更新,计算式为根据计算得到的LLR值进行排序,对最小的SREP_RATE1=min(L-2,Nv-5)个位置进行路径扩展,路径度量值计算方式如下:
对扩展后的路径进行排序选择,选择最可靠的L条路径,并更新其输出值及校验位。
步骤四、当前激活节点为叶子节点类型时,根据步骤三所述路径扩展及译码方式得到叶子节点估值β,并对扩展的候选路径排序选取其中最可靠的L条候选路径进行保留。
步骤五、若步骤四中激活节点为左孩子节点,将对应的激活节点叶子估值返回至父节点做G运算,如式(6);若为右孩子节点,将联合当前激活节点的兄弟节点估值做C运算,如式(27)。
步骤六、当译码器激活节点为叶子节点类型,叶子节点局部译码器输出需要经过Kronekcer积转换才可以得到最终译码结果,以8码长叶子节点为例,最终译码估值为
步骤七、重复步骤三至六,直到译码树最后一个叶子节点被激活。
步骤八、选取通过CRC校验并最可靠的一条路径,对叶子节点估值进行拼接,并输出最终译码结果。至此,一帧译码过程结束。
本实施案例中以所提出的并行的极化码译码方法,如图1所示,具体步骤如下:
本实施案例码长N=1024,码率R=0.5;位置信息
A=[0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000101110001011101111111000000000000000000000000000000000000000000000000000000000000011100000000000000000000000100010111000000010001011100111111111111110000000000000001000000010001111100000011011111110111111111111111000101110111111101111111111111110111111111111111111111111111111100000000000000000000000000000000000000000000000100000001000101110000000000000001000000010111111100000111011111110111111111111111000000000000011100010111011111110001011101111111111111111111111100011111111111111111111111111111111111111111111111111111111111110000000100010111000101111111111100111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111];
步骤一、构建译码树,将序列A按奇偶位拆分成两个序列
Aa=[00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010111000000000000000000000000000000010000000000000001000000010111111100000000000000110001011101111111000101110111111101111111111111110000000000000000000000000000000100000000000001110001011101111111000000010001011100010111111111110011111111111111111111111111111100000001000111110111111111111111011111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111];
Ab=[00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010111000000000000000000000000000000010000000000000001000000010111111100000000000000110001011101111111000101110111111101111111111111110000000000000000000000000000000100000000000001110001011101111111000000010001011100010111111111110011111111111111111111111111111100000001000111110111111111111111011111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111];
位置信息序列中的0表示固定位,1表示信息位,在二叉树中分别用空心圆、黑色实心圆表示。根据位置信息分别建立图2(b)所示的并行二叉树。并且根据表1对二叉树进行裁剪。
表1
步骤二、译码器接收一帧信道LLR值序列,所述序列为一组浮点型数据序列,该数据序列包括1024个浮点型数据,记为LLR1,LLR2,…,LLR1024。
步骤三、利用信道LLR值的奇数序列LLR1,LLR3,…,LLR1023初始化译码树Tl,作为二叉树根节点位置的α值;利用偶数序列数据LLR2,LLR4,…,LLR1024初始化译码树Tr。
步骤四、左、右译码器分别由两棵二叉树的根节点开始,按照深度优先的顺序同时激活两棵译码树的节点;
首先为由根节点α值序列经过式(5)所示的F运算得到左孩子节点α值,若左孩子节点不是叶子类型节点,继续向下遍历;反之,若左孩子为叶子类型节点,则根据叶子节点类型,根据相应的叶子节点类型译码方式进行译码,译码方式见式(7)至(26)。
1)当节点类型为DRATE0节点,其计算方式如式(7)。
该计算方式还可以写成式(8)。
由式(7)或(8)可知,在译码算法遇到DRATE0时,局部译码器只对左右树节点对应的α值做一次减法运算更新PM值。
2)当节点类型为DRATE1,即所传输全部为信息位。可以使用下述两种方法对DRATE1节点译码。
方法一:令首先在左、右树对应节点选出两个最不可靠的位置(LLR绝对值最小的两位)记为min1和min2,在扩展路径的过程中,根据所挑选的位置进行比特翻转,并对路径度量值进行更新,计算过程如式(9)。
其中等于源路径度量值,估值直接对LLR值硬判决。度量值对应输出结果min1位置估值翻转,度量值对应输出结果将min2位置估值翻转,度量值对应输出结果同时将min1、min2位置估值翻转。
方法二:组合左、右译码树对应叶子节点的LLR值为对最小的SDRATE1个位置进行扩展并估值,计算方法如下:
其中i≤SDRATE1,为便于硬件实现式(11)可写为
这样就可以完全兼容SCL译码算法中的排序网络,只需要2L选L,以便降低译码延迟。
3)若节点类型为CREP节点,将左右子树对应叶子节点组合为路径度量值计算方式如式(12)。
该叶子节点路径扩展分两步,首先计算叶子节点对应LLR值之和,然后根据sum的符号位对路径度量值扩展。若sum大于0,扩展路径之一度量值不变,估值为全“0”,另一条路径度量值为源路径与sum绝对值之差,估值为全“1”,反之亦然。
4)若节点类型为CSPC节点,有以下两种方法:
方法一:左、右子树对应节点进行联合译码,令当节点码长大于等于4时,在αv中分别对LLR绝对值最小的四个位置进行翻转,当L值不大于32时其误码率性能损失可忽略。
令parity表示校验位,即若满足偶校验,q取值1,否则取0。如式(13)。
该扩展路径方式需要在8L条候选路径中选出L条最可靠(路径度量值绝对值最小)的路径,在译码器中排序网络处于关键路径。
方法二:CSPC节点译码可逐位译码,首先选SCSPC=min(L,Nv)。
选择CSPC节点中最不可靠的位置
然后计算奇偶校验位
γ为每条路径对应LLR值的校验结果,将路径度量值初始化为
至此,每条路径都有一个初始化的度量值,其它位路径度量值扩展如下
其中i按照LLR绝对值大小排列,首先对绝对值较小的位置进行路径扩展,只需扩展SCSPC位置,其它位置直接进行硬判决。最后,当全部位置估值完毕,为满足校验限制,根据估值对最不可靠的位置进行比特翻转如下:
5)若节点类型为DREP。局部译码器对四种情况进行全部扩展,方式如下:
经过上述计算,共得到4L条候选路径,其中只需保留L条最可靠的路径,根据所保留的路径对相应估值进行运算。
6)若节点类型为DSPC节点。首先将两节点LLR值奇偶交叉组合,对组合结果进行联合译码,即然后对LLR值进行硬判决其中H(x)表示硬判决,l表示路径标号。下一步分别计算左、右树对应节点最不可靠位置。
然后计算左、右子树的校验位
初始化PM值为
设定阈值SDSPC=min(L,Nv-1),根据LLR绝对值排序,选出较小的SDSPC个位置,遍历i=2,3…SDSPC-1个位置记为flip[i],进行路径扩展,对每次扩展的2L条候选路径进行排序,选出L条较可靠的路径,扩展路径计算方式如(23)。
其中情形1表示flip[i]%2=0且情形2表示当flip[i]%2=1且
7)若节点类型为REP_SPC,对接收的左、右子树LLR值进行奇偶交叉联合译码,即对αv做一级F运算,得到临时左孩子LLR值,对临时左孩子按照REP译码方式进行译码,得到估值βl,将得到的βl与αv进行一次G运算得到临时右孩子LLR值,临时右孩子LLR值根据SPC节点译码方式得到临时右孩子估值βr。最终,对计算得到的βl和βr做C运算得到输出值。
8)若节点类型为REP_RATE1节点。采用联合译码的方式,首先将左、右树奇偶交叉合并,合并方式如进行联合译码。以节点码长为8为例,该节点位置信息为[0,0,0,1,1,1,1,1],局部译码器在子树顶层输出值与克罗内克积相乘后前三位必定为0,故得
此时z=0或1。
通过计算最小值标号然后对LLR值进行硬判决得到初步输出值,计算校验位其中j=0,1,2,3。根据z=0或1分别初始化PM值,并对每组较小值对应位置输出比特进行翻转。
至此,得到2L条候选路径,在这2L条候选路径中选出最可靠的L条路径,并根据该L条路径中z的取值对输出值进行翻转,最后更新校验位同时对不在位置的LLR值更新,计算式为根据计算得到的LLR值进行排序,对最小的SREP_RATE1=min(L-2,Nv-5)个位置进行路径扩展,路径度量值计算方式如下:
对扩展后的路径进行排序选择,选择最可靠的L条路径,并更新其输出值及校验位。
步骤五、对步骤四中叶子节点扩展的多种候选路径进行选择,利用排序网络对路径度量值进行排序,选取绝对值较小的L条路径进行译码,将对应叶子节点估值返回至父节点进行G运算得到右兄弟节点的α值。
若右兄弟节点为叶子节点,则利用C运算式(27)计算父节点的估值,得到父节点估值后继续根据G运算计算父节点的右兄弟节点α,当其父节点本身为上一级的右孩子节点时,则继续利用C运算计算上一级的估值。
当译码器激活节点为叶子节点类型,叶子节点局部译码器输出需要经过Kronekcer积转换才可以得到最终译码结果,以8码长叶子节点为例,最终译码估值为
步骤七、重复步骤四至六,直到译码树最后一个叶子节点被激活。
步骤八、选取通过CRC校验并且最可靠的一条路径,对叶子节点估值进行拼接,并输出最终译码结果至此,一帧译码过程结束。
效果验证
本发明两棵二叉树可并行执行,因此只需计算单棵二叉树的节点数量,利用节点数量进行对比,本节定义并行度对比式如(28)。
由表1可知,对于码率R=1/2,码长分别为1024、2048、4096码字的译码树节点数量统计中,本发明所提算法比List-Fast-SSC算法(List-Fast-SSC与Fast-SSCL节点数量相同)并行度提高40%左右。
实验数据如图10、11,在误比特率10-6位置,所提算法采用方法二译码方式比已有的List-Fast-SSC译码算法性能增益小于0.1dB,经分析,该性能损失发生在List-Fast-SSC对RATE1与SPC节点的路径扩展方式,当SPC节点长度限制长度为4,无性能损失,当长度变大,该估值方式会舍弃部分译码估值组合,故造成一定比特损失。图10、11中显示,所提算法相比并行Fast-SSC译码算法误码率提升很大,误块率在10-3位置提升约为1.5dB。
表1不同译码算法节点数量对比
以上已对本发明创造的较佳实施例进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明创造精神的前提下还可作出种种的等同的变型或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (7)
1.一种并行的极化码译码方法,其特征在于,包括如下步骤:
步骤1,根据位置信息奇、偶位,获取左二叉树Tl和右二叉树Tr;
步骤2,将奇、偶位置对应的对数似然比值分别给左二叉树Tl和右二叉树Tr;
步骤3,译码器对左二叉树Tl和右二叉树Tr进行并行遍历;
步骤4,获取叶子节点估值并保留候选路径;
步骤5,对估值进行处理;
步骤6,获取译码结果;返回步骤3,直到译码树最后一个叶子节点被激活。
2.根据权利要求1所述的并行的极化码译码方法,其特征在于,步骤1包括:
步骤1.1,根据位置信息序列奇、偶位置拆分为两个子序列,并由位置信息作为叶子节点构造两棵满二叉树;
步骤1.2,对满二叉树裁剪,裁剪后的二叉树分别记为左二叉树Tl和右二叉树Tr。
3.根据权利要求2所述的并行的极化码译码方法,其特征在于,步骤3中,译码器根据左二叉树Tl和右二叉树Tr的结构按照深度优先的顺序同时对左二叉树Tl和右二叉树Tr进行并行遍历。
4.根据权利要求3所述的并行的极化码译码方法,其特征在于,步骤4中,当前激活节点为叶子节点类型时,根据步骤3所述路径扩展及译码方式得到叶子节点估值β,并对扩展的候选路径排序选取其中最可靠的L条候选路径进行保留。
5.根据权利要求4所述的并行的极化码译码方法,其特征在于,步骤5中,
若激活节点为左孩子节点,将对应的激活节点叶子估值返回至父节点做G运算;
若激活节点为右孩子节点,将联合当前激活节点的兄弟节点估值做C运算。
6.根据权利要求5所述的并行的极化码译码方法,其特征在于,步骤6中,当译码器激活节点为叶子节点类型,叶子节点局部译码器输出经过Kronekcer积转换获取最终译码结果。
7.根据权利要求6所述的并行的极化码译码方法,其特征在于,还包括步骤7,选取通过CRC校验并最可靠的一条路径,对叶子节点估值进行拼接,并输出最终译码结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814285.5A CN110535477A (zh) | 2019-08-30 | 2019-08-30 | 并行的极化码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814285.5A CN110535477A (zh) | 2019-08-30 | 2019-08-30 | 并行的极化码译码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110535477A true CN110535477A (zh) | 2019-12-03 |
Family
ID=68665624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910814285.5A Pending CN110535477A (zh) | 2019-08-30 | 2019-08-30 | 并行的极化码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535477A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111313913A (zh) * | 2020-04-08 | 2020-06-19 | 山东科技大学 | 低时延的交叉调度极化码bp译码方法及装置 |
CN111510163A (zh) * | 2020-05-27 | 2020-08-07 | Oppo广东移动通信有限公司 | 一种极化码译码方法及装置、存储介质 |
CN113630126A (zh) * | 2020-05-07 | 2021-11-09 | 大唐移动通信设备有限公司 | 一种极化码译码处理方法、装置及设备 |
CN114268327A (zh) * | 2021-11-26 | 2022-04-01 | 北京中科晶上科技股份有限公司 | 极化码译码方法、装置、存储介质和处理器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716250B1 (en) * | 2005-05-27 | 2010-05-11 | Microsoft Corporation | Erasure coding and group computations using rooted binary and ternary trees |
CN102662855A (zh) * | 2012-04-17 | 2012-09-12 | 华为技术有限公司 | 一种二叉树的存储方法、系统 |
CN106788453A (zh) * | 2016-11-11 | 2017-05-31 | 山东科技大学 | 一种并行的极化码译码方法及装置 |
CN106877884A (zh) * | 2017-02-01 | 2017-06-20 | 东南大学 | 一种减少译码路径分裂的极化码译码方法 |
CN109004939A (zh) * | 2017-06-06 | 2018-12-14 | 华为技术有限公司 | 极化码译码装置和方法 |
CN109802690A (zh) * | 2017-11-17 | 2019-05-24 | 中兴通讯股份有限公司 | 译码方法、装置和计算机可读存储介质 |
-
2019
- 2019-08-30 CN CN201910814285.5A patent/CN110535477A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716250B1 (en) * | 2005-05-27 | 2010-05-11 | Microsoft Corporation | Erasure coding and group computations using rooted binary and ternary trees |
CN102662855A (zh) * | 2012-04-17 | 2012-09-12 | 华为技术有限公司 | 一种二叉树的存储方法、系统 |
CN106788453A (zh) * | 2016-11-11 | 2017-05-31 | 山东科技大学 | 一种并行的极化码译码方法及装置 |
CN106877884A (zh) * | 2017-02-01 | 2017-06-20 | 东南大学 | 一种减少译码路径分裂的极化码译码方法 |
CN109004939A (zh) * | 2017-06-06 | 2018-12-14 | 华为技术有限公司 | 极化码译码装置和方法 |
CN109802690A (zh) * | 2017-11-17 | 2019-05-24 | 中兴通讯股份有限公司 | 译码方法、装置和计算机可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111313913A (zh) * | 2020-04-08 | 2020-06-19 | 山东科技大学 | 低时延的交叉调度极化码bp译码方法及装置 |
CN111313913B (zh) * | 2020-04-08 | 2022-05-24 | 山东科技大学 | 低时延的交叉调度极化码bp译码方法及装置 |
CN113630126A (zh) * | 2020-05-07 | 2021-11-09 | 大唐移动通信设备有限公司 | 一种极化码译码处理方法、装置及设备 |
CN113630126B (zh) * | 2020-05-07 | 2023-11-14 | 大唐移动通信设备有限公司 | 一种极化码译码处理方法、装置及设备 |
CN111510163A (zh) * | 2020-05-27 | 2020-08-07 | Oppo广东移动通信有限公司 | 一种极化码译码方法及装置、存储介质 |
CN114268327A (zh) * | 2021-11-26 | 2022-04-01 | 北京中科晶上科技股份有限公司 | 极化码译码方法、装置、存储介质和处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535477A (zh) | 并行的极化码译码方法 | |
CN108847850A (zh) | 一种基于crc-sscl的分段极化码编译码方法 | |
CN107248866A (zh) | 一种降低极化码译码时延的方法 | |
CN102412847A (zh) | 用联合节点处理来解码低密度奇偶校验码的方法和设备 | |
CN111786683B (zh) | 一种低复杂度的极化码多码块译码器 | |
Condo et al. | High-performance low-complexity error pattern generation for ORBGRAND decoding | |
CN106936446A (zh) | 一种基于多进制ldpc码的高速译码器及其译码方法 | |
CN101656541A (zh) | Rs码的译码方法和装置 | |
Ercan et al. | Reduced-memory high-throughput fast-SSC polar code decoder architecture | |
CN110138390A (zh) | 一种基于深度学习的极化码sscl算法译码器 | |
CN110661533A (zh) | 优化译码器存储极化码译码性能的方法 | |
CN107896137A (zh) | 一种适用于极化码译码路径分裂的排序方法 | |
CN110113057A (zh) | 一种利用深度学习的极化码译码器 | |
Zhang et al. | Spatially coupled split-component codes with iterative algebraic decoding | |
CN102420616B (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
CN111654291A (zh) | 一种基于比特翻转的极化码快速串行抵消列表译码算法 | |
CN106452675B (zh) | 一种极化码的球形译码方法 | |
CN110995279A (zh) | 一种极化码联合scf球形列表翻转译码方法 | |
CN113131950A (zh) | 一种极化码的自适应连续消除优先译码方法 | |
CN104052499A (zh) | 一种ldpc码的纠删译码方法及系统 | |
CN109194338A (zh) | 一种混合节点多比特处理的极化码译码方法 | |
Delfosse et al. | Union-find decoders for homological product codes | |
Chen et al. | Improving the list decoding version of the cyclically equivariant neural decoder | |
Wu et al. | On the design of variable-length error-correcting codes | |
CN105610550B (zh) | 一种用于电力线载波通信的Viterbi译码方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191203 |