CN106788453A - 一种并行的极化码译码方法及装置 - Google Patents
一种并行的极化码译码方法及装置 Download PDFInfo
- Publication number
- CN106788453A CN106788453A CN201610993556.4A CN201610993556A CN106788453A CN 106788453 A CN106788453 A CN 106788453A CN 201610993556 A CN201610993556 A CN 201610993556A CN 106788453 A CN106788453 A CN 106788453A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- pfd
- alpha
- valuation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000010287 polarization Effects 0.000 title claims abstract description 17
- 230000004913 activation Effects 0.000 claims description 81
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000003213 activating effect Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 239000002131 composite material Substances 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 29
- 238000004891 communication Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 241000169170 Boreogadus saida Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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
-
- 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种并行的极化码的译码方法及装置,属于无线通信领域,特别涉及一种针对极化码的并行译码方法。针对Fast‑SSC算法高译码延迟的缺点,本发明提出了一种并行的快速方法,由两个并行的Fast‑SSC译码器组成,译码时将信道信息分为两部分,通过两个并行的译码器进行译码工作,有效降低了Fast‑SSC算法的译码延迟。与Fast‑SSC具有相同的误比特率,但译码速度比Fast‑SSC算法更快;当两个Fast‑SSC译码器并行时,并行度比Fast‑SSC算法提高40%左右。
Description
技术领域
本发明属于无线通信领域,特别涉及一种针对极化码的并行译码方法。
背景技术
Polar码是目前唯一能通过严格的数学方法证明可以达到信道容量的编码方式,是5G标准的有力竞争者。Arikan在2008年提出了信道极化(Channel polarization:Amethod for constructing capacity-achieving codes,Arikan E.,IEEE InternationalSymposium on Information Theory(ISIT),2008:1173-1177.)的理论之后,于2009年提出了SC(Successive-Cancellation)译码算法(Channel polarization:A method forconstructing capacity-achieving codes for symmetric binary-input memorylesschannels,Arikan E.,IEEE Trans.Inf.Theory,55(7),2009:3051-3073.),SC算法串行译码的性质导致了其低吞吐率、高译码延迟的缺点,因此对Polar码并行译码的研究受到了越来越多的关注。Amin等学者于2011年提出了SSC(Simplified Successive-Cancellation)算法(A Simplified Successive-Cancellation Decoder for Polar Codes,Amin,Alamdar-Yazdi,Frank R.Kschischang,IEEE Communications Letters,15(12),2011:1378-1380.),SSC算法中定义了RATE0和RATE1两种节点。当节点的叶子全为固定位时,节点是RATE0节点,全为信息位时,节点是RATE1节点。这两种节点可直接译码,不需要遍历子树,SSC算法通过裁剪SC算法的译码树,减少了需要激活的节点数量,因此具有更高的吞吐率。在SSC算法的基础上,Gabi Sarkis等学者于2013年提出了ML-SSC(Max LikelihoodSimplified Successive-Cancellation)算法(Increasing the Throughput of PolarDecoders,Gabi Sarkis,Warren J.Gross.IEEE Communications Letters,17(4),2013:725-728.)。与SSC算法相比,ML-SSC算法增加了RATE0-RATE1节点,通过寻找估计值与LLR(Log-Likelihood Ratio,对数似然比)的乘积和的最大值,来获得该种节点的译码结果。激活节点数量的减少使ML-SSC算法具有更高的吞吐率,但相应增加了ML-SSC算法的计算量。同样在2013年,Gabi Sarkis等学者在SSC算法的基础上又提出了Fast-SSC(FastSimplified Successive-Cancellation)算法(Fast Polar Decoders:Algorithm andImplementation,Gabi Sarkis,Pascal Giard,Alexander Vardy,Claude Thibeault,Warren J.Gross,IEEE journal on Selected Areas in Communications,32(5),2014:946-957.),Fast-SSC算法在SSC基础上增加了SPC和REP两种节点。SPC节点只有第一位是固定位,其余位是信息位,REP节点只有最后一位是信息位,其余位是固定位。通过对SSC算法译码树的裁剪,进一步提高了译码器的吞吐率。SSC、ML-SSC和Fast-SSC虽然具有较高的吞吐率,但译码延迟较长。LiBin等学者在2013年提出了Parallel-SC算法(ParallelDecoders of Polar Codes,Bin Li,Hui Shen,David Tse,[2016-8-25],heep://arxiv.org/abs/1401.3753.),通过几个SC译码器同时工作,可以有效的降低译码延迟,但采用的SC算法使译码器的吞吐率较低。
发明内容
为了寻求一种译码延迟低、吞吐率较高的译码方法,本发明提出了一种并行的极化码译码方法。
本发明中所述极化码(Polar码)可由3个因素唯一的确定,码长N=2n,码率R=K/N,位置信息序列A。序列A是一个长度为N的(0,1)序列,0表示固定位,1表示信息位。
一个长为N的Polar码字可以拆分成两个长为N/2的码字,Polar码可以表示成式(3)的形式,其相关性如式(4)所示。
式(3)中x是一个长度为N的Polar码字,a和b是从x拆分出的两个长度为N/2的序列,v是由a和b合成x时的中间序列,n=log2N, 表示F的(n-1)次克罗内克积,B是反序重排序列,B的定义如下:
对L1 N进行比特反序重排,得到序列S1 N,即令Li=Sπ(i);
比特反序函数π(i)定义如下:
令i用二进制表示为(b1,b2,…,bm);
则π(i)的值对应的二进制表示为(bm,bm-1,…,b1);
本发明中所提出的并行的极化码译码方法具体步骤如下:
步骤一、构建译码树,将长度为N的序列A按奇偶位拆分成两个序列Aa和Ab,在Aa中0的位置放置固定位节点,1的位置放置信息位节点,以放置好的N/2个节点为叶子构建一棵完全二叉树Ta,在Ab中0的位置放置固定位节点,1的位置放置信息位节点,以放置好的N/2个节点为叶子构建一棵完全二叉树Tb;所构建的两棵二叉树Ta和Tb分别是两个并行快速译码器PFDa和PFDb的译码树;两棵译码树中的父节点根据孩子节点类型定义;
在两棵译码树中,当节点的叶子全为固定位时,节点是RATE0节点;当节点的叶子全为信息位时,节点是RATE1节点;当节点的叶子只有第一位是固定位,其余位是信息位时,节点是SPC节点;当节点的叶子只有最后一位是信息位,其余位是固定位时,节点是REP节点。当节点的叶子一半是固定位,一半是信息位时,节点是RATE0-RATE1节点;除去上述5类节点及其子树,剩余的节点是OTHER型节点。
步骤二、译码器接收一帧信道α数据,所述信道α是一个序列,信道α的长度和译码使用的Polar码字的长度相等,都为N,其取值为(α0,α1…αN-1)。
步骤三、利用信道α的前一半(α0…αN/2-1)初始化译码树Ta,利用后一半数据(αN/2…αN-1)初始化译码树Tb,译码树Ta用于并行快速译码器PFDa的译码,译码树Tb用于并行快速译码器PFDb的译码。
步骤四、译码器PFDa和PFDb由根节点开始,按照深度优先的顺序同时激活两棵译码树的节点;
根节点的输入是信道α,除根节点外其他节点的输入是中间值α,中间值α由F运算,如式(1)所示,或G运算,如式(2)所示,获得。
中间值α是译码树中每个节点进行译码时的输入值,中间值α是个序列中间值α的序列长度和激活节点的序列长度nv相等。
式(1)和式(2)中,αv表示激活节点的α值,αl表示激活节点左孩子的中间值α,αr表示激活节点右孩子的中间值α。激活节点的输出是该节点的子码估值,即序列β,其长度和该节点的序列长度相等,该节点长度等于该节点的叶子数。式(2)中,βl表示激活节点左孩子的子码估值。
当两棵译码树中的RATE0、RATE1、REP或SPC节点被激活时,根据两棵译码树中激活节点的类型,译码器选择不同的译码方法计算节点的子码估值β
1)当PFDa和PFDb中的激活节点同为RATE0节点时,两节点合称为RATE0-P节点;此时,PFDa和PFDb中该节点的子码估值β同时被判定为0,即式(10)所示。
βa[i]=βb[i]=0,0≤i<nv (10)
2)当PFDa和PFDb中的激活节点同为RATE1节点时,两节点合称为RATE1-P节点;当RATE1-P节点被激活,PFDa和PFDb根据式(11)进行独立译码,分别获得两个子码估值βa和βb。
3)当PFDa中的激活节点为SPC节点,PFDb中的激活节点为RATE1节点时,两节点合称为RATE1B节点,当RATE1B节点被激活,首先根据式(12)组合两个译码器中相应激活节点的中间值α,之后对组合得到的中间值α进行硬判决,如式(13)所示,判决结果用序列HD表示。由于硬判决只有0和1两种结果,因此序列HD是一个只含0、1的序列。之后对判决结果进行奇偶校验,即检测序列HD中1的个数,如式(14)所示,校验结果用parity表示。如果HD中有偶数个1,即满足奇偶校验,则硬判决结果就是节点的子码估值β,如果HD中有奇数个1,即不满足奇偶校验,则寻找绝对值最小的中间值α的判决结果,并对该判决结果进行取反运算,如果该判决结果是0,取反后变为1,如果该判决结果是1,取反后变为0。取反运算后的HD序列为该节点的子码估值β,如式(15)和式(16)所示,其中j表示绝对值最小的中间值α的标号。
α=[αa αb] (12)
j=argi min|α[i]|,0≤i<nv (15)
4)当PFDa和PFDb中的激活节点同为REP节点时,两节点合称为REP-P节点,当REP-P节点被激活时,PLDa和PLDb根据式(17)独立译码,分别获得两个子码估值βa和βb。
5)当PFDa中的激活节点为RATE0节点,PFDb中的激活节点为REP节点时,两节点合称为REPB节点,两个REPB节点的译码结果相同,是对两个节点共2×nv个中间值α和的硬判决,根据式(18)和式(19),获得两个子码估值βa和βb。
6)当PFDa和PFDb中的激活节点同为SPC节点时,两节点合称为SPC-P节点,。当SPC-P节点被激活,PFDa和PFDb根据式(15)(16)(17)(18)(19)独立译码,分别获得两个子码估值βa和βb。
7)当PFDa中的激活节点为RATE0-RATE1节点,PFDb中的激活节点为SPC节点时,两节点合称为SPCB1节点。当SPCB1节点被激活,PFDa将RATE0-RATE1节点的中间值α作为F运算的输入做一次F运算,运算结果用αa表示。PFDb将SPC节点的中间值α作为F运算的输入做一次F运算,运算结果用αb表示。将αa和αb作为公式(18)的输入计算α,将α作为公式(19)的输入,公式(19)的输出βa用βa0表示,公式(19)的另一个输出βb用βb0表示。
之后PFDa将αa和βa0作为G运算的输入做一个G运算,按照正数为0负数为1的规则,将G运算的结果转换成只含0、1的序列,用βa1表示,PFDb将αb和βb0作为G运算的输入做一个G运算,同样按照正数为0负数为1的规则将运算结果转换成只含0、1的序列,用βb1表示。将[βa0,βa1]作为公式(20)的输入,公式(20)的输出就是RATE0-RATE1节点的β值,将[βb0,βb1]作为公式(21)的输入,公式(21)的输出就是SPC节点的β值。
8)当PFDa中的激活节点为REP节点,PFDb中的激活节点为SPC节点时,两节点合称为SPCB2节点。当SPCB2节点被激活,PFDa将REP节点的中间值α作为F运算的输入做一次F运算,运算结果用αa表示。PFDb将SPC节点的中间值α作为F运算的输入做一次F运算,运算结果用αb表示。将αa和αb作为公式(18)的输入计算α,将α作为公式(19)的输入,公式(19)的输出βa用βa0表示,公式(19)的另一个输出βb用βb0表示。
之后PFDa将αa和βa0作为G运算的输入做一个G运算,PFDb将αb和βb0作为G运算的输入做一个G运算。将两个G运算的结果带入公式(12),计算完公式(12)之后,再利用公式(13)(14)(15)(16)计算REP节点和SPC节点的β,分别用βa0和βb0表示。将βa0作为公式(20)的输入,公式(20)的输出就是REP节点的β值,将βb0作为公式(21)的输入,公式(21)的输出就是SPC节点的β值。
当OTHER型节点被激活时,译码器计算下一个激活节点的中间值α,为译码下一个节点做准备。
步骤五、当译码器PFDa和PFDb中的激活节点是RATE0、RATE1、REP、SPC时,将该节点β值乘以生成矩阵G获得局部码字估值u,完成一个激活节点的译码;所述矩阵 其中m=log2nv,表示F的m次克罗内克积,B为反序重排序列。
步骤六、译码器PFDa和PFDb更新激活节点号,激活下一个节点;
步骤七、重复步骤四至步骤六,至两棵译码树中所有的节点被激活;
步骤八、将译码器PFDa所有的局部码字估值按获得的顺序拼接,就是译码器PFDa的码字估值,将译码器PFDb所有的局部码字估值按获得的顺序拼接,就是译码器PFDb的码字估值。将译码器PFDa的码字估值与译码器PFDb的码字估值异或运算,并替换译码器PFDa的码字估值。
步骤九、将译码器PFDa的码字估值作为序列的前一半,即译码器PFDb的码字估值作为序列的后一半,即合并两个译码器的码字估值,获得序列即步骤十、输出序列一帧信道α数据的译码结束。
一种用于实现该译码方法的译码装置,包括:信道α存储器、中间值αa存储器、中间值αb存储器、子码估值βa存储器、子码估值βb存储器、Ga乘生成矩阵模块、Gb乘生成矩阵模块、组合模块、控制器和并行的译码器PFDa和PFDb。
信道α存储器接收到的信道α分为两部分分别送入中间值αa存储器和中间值αb存储器,
中间值αa存储器和中间值αb存储器分别用于存储计算过程中的中间值αa和中间值αb;
子码估值βa存储器和子码估值βa存储器分别用于存储计算过程中的子码估值βa和子码估值βa;
Ga乘生成矩阵模块和Gb乘生成矩阵模块分别用于生成矩阵G并获得矩阵G与子码估值βa和子码估值βa的乘积,即各自的局部码字估值u;
模块将Ga乘生成矩阵模块和Gb乘生成矩阵模块获得的局部码字估值u合并,输出序列
并行的译码器PFDa和PFDb分别读取中间值αa存储器、中间值αb存储器、子码估值βa存储器和子码估值βa存储器中的中间值αa、中间值αb存储器、子码估值βa和子码估值βa,并将计算得到的激活节点中间值αa和中间值αb存入中间值αa存储器和中间值αb存储器,将子码估值βa和子码估值βa存入子码估值βa存储器和子码估值βa存储器;
控制器用于控制其他各个模块按照所述译码方法完成译码的过程。
并行的译码器PFDa和PFDb中包含如下运算架构:
1)F运算用来求激活节点左孩子的α值,其硬件架构如图2所示,选择两个相邻α值的符号做异或运算,作为输出的符号,选择较小的绝对值作为输出的数值位。
2)G运算用来获得激活节点右孩子的α值,硬件架构如图3所示。G运算有三个参数,除了激活节点本身的两个α值,还需要左孩子反馈的β值即βl。β值不同,对两个α的运算不同,当β为0时,两个α相加,当β为1时,两个α相减。
3)C运算将激活节点左孩子反馈来的βl和右孩子反馈来的βr计算自身的β值,硬件架构如图4所示,其中偶数位的β值是βl与βr的异或,奇数位的β值与βr相等。
4)REP和REPB运算分别用来计算REP节点和REPB节点的β值,两个都是累加运算,硬件架构如图5所示,根据REP节点和REPB节点的特殊结构,对激活节点的所有α值求和,对求和结果取符号位,便是激活节点的β值,其β值为全0或全1序列。
5)SPC运算和RATE1B运算分别用来求SPC节点和RATE1B节点的β值,根据RATE1B节点的特殊结构,其实质上是一个较长的SPC节点,因此具有和SPC运算相同的硬件架构,如图6所示。首先获取输入的符号位,并对其进行奇偶校验,若满足校验则符号位便是激活节点的β值,若不满足校验,对绝对值最小的符号位进去取反,取反后的结果作为激活节点的β值。
6)SPCB1运算用来计算SPCB1节点的β值,其硬件架构如图7所示,SPCB1节点的结构比较复杂,首先需要将SPCB1节点拆成一个REP节点,一个RATE1节点,通过F和G运算分别计算两个节点的α值,再将REP运算的结果和G运算的符号位合并成最终的β值。
7)SPCB2运算用来计算SPCB2节点的β值,其硬件架构如图8所示,首先需要将一个SPCB2节点拆分成一个REP节点和一个SPC节点,利用F运算和G运算分别计算两个节点的α值,在根据REP运算和SPC运算计算两个节点的β值,经过合并最终获得激活节点的β值。
本发明的有益效果:
本发明公开的极化码的译码方法,针对Fast-SSC算法高译码延迟的缺点,提出了并行快速方法,由两个并行的Fast-SSC译码器组成,有效降低了Fast-SSC算法的译码延迟。与Fast-SSC具有相同的误码率,但译码速度比Fast-SSC算法更快。当两个Fast-SSC译码器并行时,并行度比Fast-SSC算法提高40%左右。
附图说明
图1并行的极化码译码装置架构;
图2 F运算的硬件架构;
图3 G运算的硬件架构;
图4 C运算的硬件架构;
图5 REP和REPB运算的硬件架构;
图6 SPC和RATE1B运算的硬件架构;
图7 SPCB1运算的硬件架构;
图8 SPCB2运算的硬件架构;
图9并行的极化码译码流程图;
图10 RATE0-P节点示意图;
图11 RATE1-P节点示意图;
图12 RATE1N节点示意图;
图13 REP-P节点示意图;
图14 REPN节点示意图;
图15 SPC节点示意图;
图16 SPCB1节点及译码方法示意图;
图17 SPCB2节点及译码方法示意图;
图18误比特率曲线;
具体实施方式
本实施例中以所提出的并行的极化码译码方法,如图9所示,具体步骤如下:
本实施例码长N=1024,码率R=0.5;位置信息
A=[0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000101110001011101111111000000000000000000000000000000000000000000000000000000000000011100000000000000000000000100010111000000010001011100111111111111110000000000000001000000010001111100000011011111110111111111111111000101110111111101111111111111110111111111111111111111111111111100000000000000000000000000000000000000000000000100000001000101110000000000000001000000010111111100000111011111110111111111111111000000000000011100010111011111110001011101111111111111111111111100011111111111111111111111111111111111111111111111111111111111110000000100010111000101111111111100111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111];
步骤一、构建译码树,将序列A按奇偶位拆分成两个序列
Aa=[00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010111000000000000000000000000000000010000000000000001000000010111111100000000000000110001011101111111000101110111111101111111111111110000000000000000000000000000000100000000000001110001011101111111000000010001011100010111111111110011111111111111111111111111111100000001000111110111111111111111011111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111];
Ab=[00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010111000000000000000000000000000000010000000000000001000000010111111100000000000000110001011101111111000101110111111101111111111111110000000000000000000000000000000100000000000001110001011101111111000000010001011100010111111111110011111111111111111111111111111100000001000111110111111111111111011111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111];
在Aa中0的位置放置固定位节点,1的位置放置信息位节点,以放置好的512个节点为叶子构建一棵完全二叉树Ta,在Ab中0的位置放置固定位节点,1的位置放置信息位节点,以放置好的512个节点为叶子构建一棵完全二叉树Tb;所构建的两棵二叉树Ta和Tb分别是两个并行快速译码器PFDa和PFDb的译码树;两棵译码树中的父节点根据孩子节点类型定义;
在两棵译码树中,当节点的叶子全为固定位时,节点是RATE0节点;当节点的叶子全为信息位时,节点是RATE1节点;当节点的叶子只有第一位是固定位,其余位是信息位时,节点是SPC节点;当节点的叶子只有最后一位是信息位,其余位是固定位时,节点是REP节点。当节点的叶子一半是固定位,一半是信息位时,节点是RATE0-RATE1节点;除去上述5类节点及其子树,剩余的节点是OTHER型节点。Ta和Tb中的节点如表1所示。
表1
节点类型 | Ta | Tb |
RATE0 | 9 | 10 |
RATE1 | 22 | 24 |
REP | 14 | 13 |
SPC | 15 | 14 |
RATE0-RATE1 | 2 | 0 |
OTHER | 59 | 60 |
步骤二、译码器接收一帧信道α数据,所述信道α是一个序列,信道α的长度和译码使用的Polar码字的长度相等,都为1024,其取值为(α0,α1…α1023)。
步骤三、利用信道α的前一半(α0…α511)初始化译码树Ta,利用后一半数据(α512…α1023)初始化译码树Tb,译码树Ta用于并行快速译码器PFDa的译码,译码树Tb用于并行快速译码器PFDb的译码。
步骤四、译码器PFDa和PFDb由根节点开始,按照深度优先的顺序同时激活两棵译码树的节点;
根节点的输入是信道α,除根节点外其他节点的输入是中间值α,中间值α由F运算,如式(1)所示,或G运算,如式(2)所示,获得。
中间值α是译码树中每个节点进行译码时的输入值,中间值α是个序列,中间值α的序列长度和激活节点的序列长度nv相等。
式(1)和式(2)中,αv表示激活节点的中间值α,αl表示激活节点左孩子的中间值α,αr表示激活节点右孩子的中间值α。激活节点的输出是该节点的子码估值,即序列β,其长度和该节点的长度相等,该节点长度等于该节点的叶子数。式(2)中,βl表示激活节点左孩子的子码估值。
当两棵译码树中的RATE0、RATE1、REP或SPC节点被激活时,根据两棵译码树中激活节点的类型,译码器选择不同的译码方法计算节点的子码估值β:
1)当PFDa和PFDb中的激活节点同为RATE0节点时,两节点合称为RATE0-P节点;此时,PFDa和PFDb中该节点的子码估值β同时被判定为0,即式(10)所示。
βa[i]=βb[i]=0,0≤i<nv (10)
2)当PFDa和PFDb中的激活节点同为RATE1节点时,两节点合称为RATE1-P节点;当RATE1-P节点被激活,PFDa和PFDb根据式(11)进行独立译码,分别获得两个子码估值βa和βb。
3)当PFDa中的激活节点为SPC节点,PFDb中的激活节点为RATE1节点时,两节点合称为RATE1B节点,当RATE1B节点被激活,首先根据式(12)组合两个译码器中相应激活节点的中间值α,之后对组合得到的中间值α进行硬判决,如式(13)所示,判决结果用序列HD表示。由于硬判决只有0和1两种结果,因此序列HD是一个只含0、1的序列。之后对判决结果进行奇偶校验,即检测序列HD中1的个数,如式(14)所示,校验结果用parity表示。如果HD中有偶数个1,即满足奇偶校验,则硬判决结果就是节点的子码估值β,如果HD中有奇数个1,即不满足奇偶校验,则寻找绝对值最小的中间值α的判决结果,并对该判决结果进行取反运算,如果该判决结果是0,取反后变为1,如果该判决结果是1,取反后变为0。取反运算后的HD序列为该节点的子码估值β,如式(15)和式(16)所示,其中j表示绝对值最小的中间值α的标号。
α=[αa αb] (12)
j=argi min|α[i]|,0≤i<nv (15)
4)当PFDa和PFDb中的激活节点同为REP节点时,两节点合称为REP-P节点,当REP-P节点被激活时,PLDa和PLDb根据式(17)独立译码,分别获得两个子码估值βa和βb。
5)当PFDa中的激活节点为RATE0节点,PFDb中的激活节点为REP节点时,两节点合称为REPB节点,两个REPB节点的译码结果相同,是对两个节点共2×nv个中间值α和的硬判决,根据式(18)和式(19),获得两个子码估值βa和βb。
6)当PFDa和PFDb中的激活节点同为SPC节点时,两节点合称为SPC-P节点,。当SPC-P节点被激活,PFDa和PFDb根据式(15)(16)(17)(18)(19)独立译码,分别获得两个子码估值βa和βb。
7)当PFDa中的激活节点为RATE0-RATE1节点,PFDb中的激活节点为SPC节点时,两节点合称为SPCB1节点。当SPCB1节点被激活,PFDa将RATE0-RATE1节点的中间值α作为F运算的输入做一次F运算,运算结果用αa表示。PFDb将SPC节点的中间值α作为F运算的输入做一次F运算,运算结果用αb表示。将αa和αb作为公式(18)的输入计算α,将α作为公式(19)的输入,公式(19)的输出βa用βa0表示,公式(19)的另一个输出βb用βb0表示。
之后PFDa将αa和βa0作为G运算的输入做一个G运算,按照正数为0负数为1的规则,将G运算的结果转换成只含0、1的序列,用βa1表示,PFDb将αb和βb0作为G运算的输入做一个G运算,同样按照正数为0负数为1的规则将运算结果转换成只含0、1的序列,用βb1表示。将[βa0,βa1]作为公式(20)的输入,公式(20)的输出就是RATE0-RATE1节点的β值,将[βb0,βb1]作为公式(21)的输入,公式(21)的输出就是SPC节点的β值。
8)当PFDa中的激活节点为REP节点,PFDb中的激活节点为SPC节点时,两节点合称为SPCB2节点。当SPCB2节点被激活,PFDa将REP节点的中间值α作为F运算的输入做一次F运算,运算结果用αa表示。PFDb将SPC节点的中间值α作为F运算的输入做一次F运算,运算结果用αb表示。将αa和αb作为公式(18)的输入计算α,将α作为公式(19)的输入,公式(19)的输出βa用βa0表示,公式(19)的另一个输出βb用βb0表示。
之后PFDa将αa和βa0作为G运算的输入做一个G运算,PFDb将αb和βb0作为G运算的输入做一个G运算。将两个G运算的结果带入公式(12),计算完公式(12)之后,再利用公式(13)(14)(15)(16)计算REP节点和SPC节点的β,分别用βa0和βb0表示。将βa0作为公式(20)的输入,公式(20)的输出就是REP节点的β值,将βb0作为公式(21)的输入,公式(21)的输出就是SPC节点的β值。
当OTHER型节点被激活时,译码器计算下一个激活节点的中间值α,为译码下一个节点做准备。
步骤五、当PFDa和PFDb中的激活节点是RATE0、RATE1、REP、SPC时,将该节点β值乘以生成矩阵G获得局部码字估值u,完成一个激活节点的译码;所述矩阵其中m=log2nv,表示F的m次克罗内克积,B为反序重排序列。
步骤六、译码器PFDa和PFDb更新激活节点号,激活下一个节点;
步骤七、重复步骤四至步骤六,至两棵译码树中所有的节点被激活;
步骤八、将译码器PFDa所有的局部码字估值按获得的顺序拼接,就是译码器PFDa的码字估值,将译码器PFDb所有的局部码字估值按获得的顺序拼接,就是译码器PFDb的码字估值。将PFDa的码字估值与译码器PFDb的码字估值异或运算,并替换译码器PFDa的码字估值。
步骤九、将译码器PFDa的码字估值作为序列的前一半译码器PFDb的码字估值作为序列的后一半合并两个译码器的码字估值,获得序列即
步骤十、输出序列一帧信道α数据的译码结束。
本实施例中所采用的一种用于实现该译码方法的译码器的架构如图1所示,包括:信道α存储器、中间值αa存储器、中间值αb存储器、子码估值βa存储器、子码估值βb存储器、Ga乘生成矩阵模块、Gb乘生成矩阵模块、组合模块、控制器和并行的译码器PFDa和PFDb。
信道α存储器接收到的信道α分为两部分分别送入中间值αa存储器和中间值αb存储器,
中间值αa存储器和中间值αb存储器分别用于存储计算过程中的中间值αa和中间值αb;
子码估值βa存储器和子码估值βa存储器分别用于存储计算过程中的子码估值βa和子码估值βa;
Ga乘生成矩阵模块和Gb乘生成矩阵模块分别用于生成矩阵G并获得矩阵G与子码估值βa和子码估值βa的乘积,即各自的局部码字估值u;
模块将Ga乘生成矩阵模块和Gb乘生成矩阵模块获得的局部码字估值u合并,输出序列
并行的译码器PFDa和PFDb分别读取中间值αa存储器、中间值αb存储器、子码估值βa存储器和子码估值βa存储器中的中间值αa、中间值αb存储器、子码估值βa和子码估值βa,并将计算得到的激活节点中间值αa和中间值αb存入中间值αa存储器和中间值αb存储器,将子码估值βa和子码估值βa存入子码估值βa存储器和子码估值βa存储器;
控制器用于控制其他各个模块按照所述译码方法完成译码的过程。
并行的译码器PFDa和PFDb中包含如下运算架构:
1)F运算用来求激活节点左孩子的α值,其硬件架构如图2所示,选择两个相邻α值的符号做异或运算,作为输出的符号,选择较小的绝对值作为输出的数值位。
2)G运算用来获得激活节点右孩子的α值,硬件架构如图3所示。G运算有三个参数,除了激活节点本身的两个α值,还需要左孩子反馈的β值即βl。β值不同,对两个α的运算不同,当β为0时,两个α相加,当β为1时,两个α相减。
3)C运算将激活节点左孩子反馈来的βl和右孩子反馈来的βr计算自身的β值,硬件架构如图4所示,其中偶数位的β值是βl与βr的异或,奇数位的β值与βr相等。
4)REP和REPB运算分别用来计算REP节点和REPB节点的β值,两个都是累加运算,硬件架构如图5所示,根据REP节点和REPB节点的特殊结构,对激活节点的所有α值求和,对求和结果取符号位,便是激活节点的β值,其β值为全0或全1序列。
5)SPC运算和RATE1B运算分别用来求SPC节点和RATE1B节点的β值,根据RATE1B节点的特殊结构,其实质上是一个较长的SPC节点,因此具有和SPC运算相同的硬件架构,如图6所示。首先获取输入的符号位,并对其进行奇偶校验,若满足校验则符号位便是激活节点的β值,若不满足校验,对绝对值最小的符号位进去取反,取反后的结果作为激活节点的β值。
6)SPCB1运算用来计算SPCB1节点的β值,其硬件架构如图7所示,SPCB1节点的结构比较复杂,首先需要将SPCB1节点拆成一个REP节点,一个RATE1节点,通过F和G运算分别计算两个节点的α值,再将REP运算的结果和G运算的符号位合并成最终的β值。
7)SPCB2运算用来计算SPCB2节点的β值,其硬件架构如图8所示,首先需要将一个SPCB2节点拆分成一个REP节点和一个SPC节点,利用F运算和G运算分别计算两个节点的α值,在根据REP运算和SPC运算计算两个节点的β值,经过合并最终获得激活节点的β值。
效果验证
本发明方法的误比特率与Fast-SSC算法和Parallel-SC算法接近,误比特率曲线如图18所示。
本发明方法同时具有吞吐率高和延迟小的特点。定义并行的极化码译码方法在译码并行度与Fast-SSC相比的增长率T如式(22)所示,当被拆分成2个译码器PFD时并行度增长率如表2所示。
表2
Claims (3)
1.一种并行的极化码译码方法,具体步骤如下:
步骤一、构建译码树,将长度为N的序列A按奇偶位拆分成两个序列Aa和Ab,在Aa中0的位置放置固定位节点,1的位置放置信息位节点,以放置好的N/2个节点为叶子构建一棵完全二叉树Ta,在Ab中0的位置放置固定位节点,1的位置放置信息位节点,以放置好的N/2个节点为叶子构建一棵完全二叉树Tb;所构建的两棵二叉树Ta和Tb分别是两个并行快速译码器PFDa和PFDb的译码树;两棵译码树中的父节点根据孩子节点类型定义;
在两棵译码树中,当节点的叶子全为固定位时,节点是RATE0节点;当节点的叶子全为信息位时,节点是RATE1节点;当节点的叶子只有第一位是固定位,其余位是信息位时,节点是SPC节点;当节点的叶子只有最后一位是信息位,其余位是固定位时,节点是REP节点;当节点的叶子一半是固定位,一半是信息位时,节点是RATE0-RATE1节点;除去上述5类节点及其子树,剩余的节点是OTHER型节点;
步骤二、译码器接收一帧信道α数据,所述信道α是一个序列,信道α的长度和译码使用的Polar码字的长度相等,都为N,其取值为(α0,α1…αN-1);
步骤三、利用信道α的前一半(α0…αN/2-1)初始化译码树Ta,利用后一半数据(αN/2…αN-1)初始化译码树Tb,译码树Ta用于并行快速译码器PFDa的译码,译码树Tb用于并行快速译码器PFDb的译码;
步骤四、译码器PFDa和PFDb由根节点开始,按照深度优先的顺序同时激活两棵译码树的节点;
根节点的输入是信道α,除根节点外其他节点的输入是中间值α,中间值α由F运算,如式(1)所示,或G运算,如式(2)所示,获得;
中间值α是译码树中每个节点进行译码时的输入值,中间值α是个序列,中间值α的序列长度和激活节点的序列长度nv相等;
式(1)和式(2)中,αv表示激活节点的中间值α,αl表示激活节点左孩子的中间值α,αr表示激活节点右孩子的中间值α;激活节点的输出是该节点的子码估值,即序列β,其长度和该节点的长度相等,该节点长度等于该节点的叶子数;式(2)中,βl表示激活节点左孩子的子码估值;
当两棵译码树中的RATE0、RATE1、REP或SPC节点被激活时,根据两棵译码树中激活节点的类型,译码器选择不同的译码方法计算节点的子码估值β
1)当PFDa和PFDb中的激活节点同为RATE0节点时,两节点合称为RATE0-P节点;此时,PFDa和PFDb中该节点的子码估值β同时被判定为0,即式(10)所示;
βa[i]=βb[i]=0,0≤i<nv (10)
2)当PFDa和PFDb中的激活节点同为RATE1节点时,两节点合称为RATE1-P节点;当RATE1-P节点被激活,PFDa和PFDb根据式(11)进行独立译码,分别获得两个子码估值βa和βb;
3)当PFDa中的激活节点为SPC节点,PFDb中的激活节点为RATE1节点时,两节点合称为RATE1B节点,当RATE1B节点被激活,首先根据式(12)组合两个译码器中相应激活节点的中间值α,之后对组合得到的中间值α进行硬判决,如式(13)所示,判决结果用序列HD表示;由于硬判决只有0和1两种结果,因此序列HD是一个只含0、1的序列;之后对判决结果进行奇偶校验,即检测序列HD中1的个数,如式(14)所示,校验结果用parity表示;如果HD中有偶数个1,即满足奇偶校验,则硬判决结果就是节点的子码估值β,如果HD中有奇数个1,即不满足奇偶校验,则寻找绝对值最小的中间值α的判决结果,并对该判决结果进行取反运算,如果该判决结果是0,取反后变为1,如果该判决结果是1,取反后变为0;取反运算后的HD序列为该节点的子码估值β,如式(15)和式(16)所示,其中j表示绝对值最小的中间值α的标号;
α=[αa αb] (12)
j=argi min|α[i]|,0≤i<nv (15)
4)当PFDa和PFDb中的激活节点同为REP节点时,两节点合称为REP-P节点,当REP-P节点被激活时,PLDa和PLDb根据式(17)独立译码,分别获得两个子码估值βa和βb;
5)当PFDa中的激活节点为RATE0节点,PFDb中的激活节点为REP节点时,两节点合称为REPB节点,两个REPB节点的译码结果相同,是对两个节点共2×nv个中间值α和的硬判决,根据式(18)和式(19),获得两个子码估值βa和βb;
6)当PFDa和PFDb中的激活节点同为SPC节点时,两节点合称为SPC-P节点,;当SPC-P节点被激活,PFDa和PFDb根据式(15)(16)(17)(18)(19)独立译码,分别获得两个子码估值βa和βb;
7)当PFDa中的激活节点为RATE0-RATE1节点,PFDb中的激活节点为SPC节点时,两节点合称为SPCB1节点;当SPCB1节点被激活,PFDa将RATE0-RATE1节点的中间值α作为F运算的输入做一次F运算,运算结果用αa表示;PFDb将SPC节点的中间值α作为F运算的输入做一次F运算,运算结果用αb表示;将αa和αb作为公式(18)的输入计算α,将α作为公式(19)的输入,公式(19)的输出βa用βa0表示,公式(19)的另一个输出βb用βb0表示;
之后PFDa将αa和βa0作为G运算的输入做一个G运算,按照正数为0负数为1的规则,将G运算的结果转换成只含0、1的序列,用βa1表示,PFDb将αb和βb0作为G运算的输入做一个G运算,同样按照正数为0负数为1的规则将运算结果转换成只含0、1的序列,用βb1表示;将[βa0,βa1]作为公式(20)的输入,公式(20)的输出就是RATE0-RATE1节点的β值,将[βb0,βb1]作为公式(21)的输入,公式(21)的输出就是SPC节点的β值;
8)当PFDa中的激活节点为REP节点,PFDb中的激活节点为SPC节点时,两节点合称为SPCB2节点;当SPCB2节点被激活,PFDa将REP节点的中间值α作为F运算的输入做一次F运算,运算结果用αa表示;PFDb将SPC节点的中间值α作为F运算的输入做一次F运算,运算结果用αb表示;将αa和αb作为公式(18)的输入计算α,将α作为公式(19)的输入,公式(19)的输出βa用βa0表示,公式(19)的另一个输出βb用βb0表示;
之后PFDa将αa和βa0作为G运算的输入做一个G运算,PFDb将αb和βb0作为G运算的输入做一个G运算;将两个G运算的结果带入公式(12),计算完公式(12)之后,再利用公式(13)(14)(15)(16)计算REP节点和SPC节点的β,分别用βa0和βb0表示;将βa0作为公式(20)的输入,公式(20)的输出就是REP节点的β值,将βb0作为公式(21)的输入,公式(21)的输出就是SPC节点的β值;
当OTHER型节点被激活时,译码器计算下一个激活节点的中间值α,为译码下一个节点做准备;
步骤五、当译码器PFDa和PFDb中的激活节点是RATE0、RATE1、REP、SPC时,将该节点β值乘以生成矩阵G获得局部码字估值u,完成一个激活节点的译码;所述矩阵其中m=log2nv,表示m次的克罗内克积,B为反序重排序列;
步骤六、译码器PFDa和PFDb更新激活节点号,激活下一个节点;
步骤七、重复步骤四至步骤六,至两棵译码树中所有的节点被激活;
步骤八、将译码器PFDa所有的局部码字估值按获得的顺序拼接,就是译码器PFDa的码字估值,将译码器PFDb所有的局部码字估值按获得的顺序拼接,就是译码器PFDb的码字估值;将译码器PFDa的码字估值与译码器PFDb的码字估值异或运算,并替换译码器PFDa的码字估值;
步骤九、将译码器PFDa的码字估值作为序列的前一半,即译码器PFDb的码字估值作为序列的后一半,即合并两个译码器的码字估值,获得序列即
步骤十、输出序列一帧信道α数据的译码结束。
2.一种用于权利要求1所述并行的极化码译码方法的译码装置,其特征在于,该装置包括:信道α存储器、中间值αa存储器、中间值αb存储器、子码估值βa存储器、子码估值βb存储器、Ga乘生成矩阵模块、Gb乘生成矩阵模块、组合模块、控制器和并行的译码器PFDa和PFDb;
信道α存储器接收到的信道α分为两部分分别送入中间值αa存储器和中间值αb存储器,
中间值αa存储器和中间值αb存储器分别用于存储计算过程中的中间值αa和中间值αb;
子码估值βa存储器和子码估值βa存储器分别用于存储计算过程中的子码估值βa和子码估值βa;
Ga乘生成矩阵模块和Gb乘生成矩阵模块分别用于生成矩阵G并获得矩阵G与子码估值βa和子码估值βa的乘积,即各自的局部码字估值u;
模块将Ga乘生成矩阵模块和Gb乘生成矩阵模块获得的局部码字估值u合并,输出序列
并行的译码器PFDa和PFDb分别读取中间值αa存储器、中间值αb存储器、子码估值βa存储器和子码估值βb存储器中的中间值αa、中间值αb、子码估值βa和子码估值βa,并将计算得到的激活节点中间值αa和中间值αb存入中间值αa存储器和中间值αb存储器,将子码估值βa和子码估值βb存入子码估值βa存储器和子码估值βb存储器;
控制器用于控制其他各个模块按照所述译码方法完成译码的过程。
3.根据权利要求2所述的并行的极化码译码方法的译码装置,其特征在于,所述的并行的译码器PFDa和PFDb中包含如下运算架构:
1)F运算用来求激活节点左孩子的α值,其硬件架构如图2所示,选择两个相邻α值的符号做异或运算,作为输出的符号,选择较小的绝对值作为输出的数值位;
2)G运算用来获得激活节点右孩子的α值,硬件架构如图3所示;G运算有三个参数,除了激活节点本身的α值,还需要左孩子反馈的β值即βl;βl值不同,对α的运算不同,当β为0时,两个α相加,当β为1时,两个α相减;
3)C运算将激活节点左孩子反馈来的βl和右孩子反馈来的βr计算自身的β值,硬件架构如图4所示,其中偶数位的β值是βl与βr的异或,奇数位的β值与βr相等;
4)REP和REPB运算分别用来计算REP节点和REPB节点的β值,两个都是累加运算,硬件架构如图5所示,根据REP节点和REPB节点的特殊结构,对激活节点的所有α值求和,对求和结果取符号位,便是激活节点的β值,其β值为全0或全1序列;
5)SPC运算和RATE1B运算分别用来求SPC节点和RATE1B节点的β值,根据RATE1B节点的特殊结构,其实质上是一个较长的SPC节点,因此具有和SPC运算相同的硬件架构,如图6所示;首先获取输入的符号位,并对其进行奇偶校验,若满足校验则符号位便是激活节点的β值,若不满足校验,对绝对值最小的符号位进去取反,取反后的结果作为激活节点的β值;
6)SPCB1运算用来计算SPCB1节点的β值,其硬件架构如图7所示,SPCB1节点的结构比较复杂,首先需要将SPCB1节点拆成一个REP节点,一个RATE1节点,通过F和G运算分别计算两个节点的α值,再将REP运算的结果和G运算的符号位合并成最终的β值;
7)SPCB2运算用来计算SPCB2节点的β值,其硬件架构如图8所示,首先需要将一个SPCB2节点拆分成一个REP节点和一个SPC节点,利用F运算和G运算分别计算两个节点的α值,在根据REP运算和SPC运算计算两个节点的β值,经过合并最终获得激活节点的β值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610993556.4A CN106788453B (zh) | 2016-11-11 | 2016-11-11 | 一种并行的极化码译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610993556.4A CN106788453B (zh) | 2016-11-11 | 2016-11-11 | 一种并行的极化码译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106788453A true CN106788453A (zh) | 2017-05-31 |
CN106788453B CN106788453B (zh) | 2020-06-19 |
Family
ID=58973169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610993556.4A Expired - Fee Related CN106788453B (zh) | 2016-11-11 | 2016-11-11 | 一种并行的极化码译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106788453B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947803A (zh) * | 2017-12-12 | 2018-04-20 | 中国石油大学(华东) | 一种极化码的快速译码方法 |
CN108418588A (zh) * | 2018-01-17 | 2018-08-17 | 中国计量大学 | 低延迟极化码sms译码器设计 |
CN109274460A (zh) * | 2018-09-14 | 2019-01-25 | 北京邮电大学 | 一种多比特并行结构串行抵消译码方法和装置 |
WO2019037782A1 (zh) * | 2017-08-25 | 2019-02-28 | 华为技术有限公司 | 极化码的译码方法和译码器 |
CN109450457A (zh) * | 2018-08-09 | 2019-03-08 | 山东科技大学 | 一种码长自由的极化码编码方法 |
WO2019112524A1 (en) * | 2017-12-05 | 2019-06-13 | Çankaya Üni̇versi̇tesi̇ | High-speed decoder for polar codes |
CN110022158A (zh) * | 2018-01-09 | 2019-07-16 | 华为技术有限公司 | 一种译码方法及装置 |
CN110535477A (zh) * | 2019-08-30 | 2019-12-03 | 山东科技大学 | 并行的极化码译码方法 |
CN110752893A (zh) * | 2019-10-17 | 2020-02-04 | 网络通信与安全紫金山实验室 | 一种用于极化码的置信传播的近似译码方法及装置 |
CN111404558A (zh) * | 2019-01-03 | 2020-07-10 | 电信科学技术研究院有限公司 | 一种Polar码译码的方法、译码器及计算机存储介质 |
CN111684726A (zh) * | 2017-12-11 | 2020-09-18 | 高通股份有限公司 | 通过移除比特信道具有递归互斥id的极化码构造 |
CN112104378A (zh) * | 2019-06-18 | 2020-12-18 | 大唐移动通信设备有限公司 | 一种极化码译码处理方法、装置及设备 |
US11936401B2 (en) | 2019-06-27 | 2024-03-19 | Sanechips Technology Co., Ltd. | Polar code decoding method and apparatus, storage medium, and terminal |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289487B1 (en) * | 1997-11-03 | 2001-09-11 | Harris Corporation | Efficient modified viterbi decoder |
CN104124979A (zh) * | 2013-04-27 | 2014-10-29 | 华为技术有限公司 | 极性码的译码方法和译码装置 |
CN105356891A (zh) * | 2015-11-26 | 2016-02-24 | 中国地质大学(武汉) | 一种高资源利用率的极性译码批处理方法 |
-
2016
- 2016-11-11 CN CN201610993556.4A patent/CN106788453B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289487B1 (en) * | 1997-11-03 | 2001-09-11 | Harris Corporation | Efficient modified viterbi decoder |
CN104124979A (zh) * | 2013-04-27 | 2014-10-29 | 华为技术有限公司 | 极性码的译码方法和译码装置 |
CN105356891A (zh) * | 2015-11-26 | 2016-02-24 | 中国地质大学(武汉) | 一种高资源利用率的极性译码批处理方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019037782A1 (zh) * | 2017-08-25 | 2019-02-28 | 华为技术有限公司 | 极化码的译码方法和译码器 |
WO2019112524A1 (en) * | 2017-12-05 | 2019-06-13 | Çankaya Üni̇versi̇tesi̇ | High-speed decoder for polar codes |
CN111684726A (zh) * | 2017-12-11 | 2020-09-18 | 高通股份有限公司 | 通过移除比特信道具有递归互斥id的极化码构造 |
CN111684726B (zh) * | 2017-12-11 | 2024-03-19 | 高通股份有限公司 | 通过移除比特信道具有递归互斥id的极化码构造 |
CN107947803A (zh) * | 2017-12-12 | 2018-04-20 | 中国石油大学(华东) | 一种极化码的快速译码方法 |
CN110022158A (zh) * | 2018-01-09 | 2019-07-16 | 华为技术有限公司 | 一种译码方法及装置 |
US11171673B2 (en) | 2018-01-09 | 2021-11-09 | Huawei Technologies Co., Ltd. | Decoding method and apparatus |
CN108418588A (zh) * | 2018-01-17 | 2018-08-17 | 中国计量大学 | 低延迟极化码sms译码器设计 |
CN108418588B (zh) * | 2018-01-17 | 2022-02-11 | 中国计量大学 | 低延迟极化码译码器 |
CN109450457B (zh) * | 2018-08-09 | 2022-05-24 | 山东科技大学 | 一种码长自由的极化码编码方法 |
CN109450457A (zh) * | 2018-08-09 | 2019-03-08 | 山东科技大学 | 一种码长自由的极化码编码方法 |
CN109274460A (zh) * | 2018-09-14 | 2019-01-25 | 北京邮电大学 | 一种多比特并行结构串行抵消译码方法和装置 |
CN109274460B (zh) * | 2018-09-14 | 2021-01-08 | 北京邮电大学 | 一种多比特并行结构串行抵消译码方法和装置 |
CN111404558B (zh) * | 2019-01-03 | 2023-06-27 | 大唐移动通信设备有限公司 | 一种Polar码译码的方法、译码器及计算机存储介质 |
CN111404558A (zh) * | 2019-01-03 | 2020-07-10 | 电信科学技术研究院有限公司 | 一种Polar码译码的方法、译码器及计算机存储介质 |
CN112104378A (zh) * | 2019-06-18 | 2020-12-18 | 大唐移动通信设备有限公司 | 一种极化码译码处理方法、装置及设备 |
CN112104378B (zh) * | 2019-06-18 | 2024-01-26 | 大唐移动通信设备有限公司 | 一种极化码译码处理方法、装置及设备 |
US11936401B2 (en) | 2019-06-27 | 2024-03-19 | Sanechips Technology Co., Ltd. | Polar code decoding method and apparatus, storage medium, and terminal |
CN110535477A (zh) * | 2019-08-30 | 2019-12-03 | 山东科技大学 | 并行的极化码译码方法 |
CN110752893A (zh) * | 2019-10-17 | 2020-02-04 | 网络通信与安全紫金山实验室 | 一种用于极化码的置信传播的近似译码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106788453B (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106788453A (zh) | 一种并行的极化码译码方法及装置 | |
CN109361402B (zh) | 编码方法及编码设备 | |
CN102545913B (zh) | 一种迭代译码方法及*** | |
Ercan et al. | On error-correction performance and implementation of polar code list decoders for 5G | |
CN101026439B (zh) | 一种提高Turbo码译码速率的译码方法 | |
CN100454767C (zh) | 加速译码装置及其方法 | |
US8988256B2 (en) | Coding method, decoding method, coder, and decoder | |
AU2012321618A1 (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system | |
CN101656541A (zh) | Rs码的译码方法和装置 | |
CN108847850A (zh) | 一种基于crc-sscl的分段极化码编译码方法 | |
CN106888026A (zh) | 基于lsc‑crc译码的分段极化码编译码方法及*** | |
CN106998208B (zh) | 一种可变长Polar码的码字构造方法 | |
Ercan et al. | Reduced-memory high-throughput fast-SSC polar code decoder architecture | |
Xiong et al. | Symbol-based successive cancellation list decoder for polar codes | |
CN102340320A (zh) | 卷积Turbo码双向并行译码方法 | |
CN111786683B (zh) | 一种低复杂度的极化码多码块译码器 | |
CN103986557A (zh) | 低路径延迟的LTE Turbo码并行分块译码方法 | |
CN108055107B (zh) | 一种基于穿刺极化码的信息通信方法 | |
Wang et al. | Optimization design of polar-LDPC concatenated scheme based on deep learning | |
CN103957016B (zh) | 一种低存储容量的Turbo码译码器及其设计方法 | |
CN108429553B (zh) | 极化码的编码方法、编码装置及设备 | |
Zhang et al. | High‐Throughput Fast‐SSC Polar Decoder for Wireless Communications | |
US11165447B2 (en) | GCC decoding and polar code successive-cancellation list decoding with decomposition into concatenated inner and outer codes | |
CN103401655A (zh) | 一种ldpc译码消息存储结构及译码方法 | |
CN102571107B (zh) | LTE***中高速并行Turbo码的解码***及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200619 |