CN112583422A - 数据译码方法和装置及计算机存储介质 - Google Patents
数据译码方法和装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112583422A CN112583422A CN201910945166.3A CN201910945166A CN112583422A CN 112583422 A CN112583422 A CN 112583422A CN 201910945166 A CN201910945166 A CN 201910945166A CN 112583422 A CN112583422 A CN 112583422A
- Authority
- CN
- China
- Prior art keywords
- decoding
- data
- independent
- polar code
- subtrees
- 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
Images
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
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/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/6502—Reduction of hardware complexity or efficient processing
-
- 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/6522—Intended application, e.g. transmission or communication standard
-
- 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/6572—Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2948—Iterative decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种数据译码方法和装置。所述方法包括:在获取到待译码的Polar码数据后,将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块,其中所述U值计算模块用于计算下次迭代G节点时所需的U值;控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据;对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据。
Description
技术领域
本申请实施例涉及信息处理领域,尤指一种数据译码方法和装置及计算机存储介质。
背景技术
信道编码是无线通信系统中重要的组成部分,通过信道编码,接收端可以纠正在传输过程中发生错误的信息,从而使得通信双方的通信质量得到保障。Arikan提出的极化码是信道编码的一类,是目前唯一理论上能够达到香农极限的信道编码方法。极化(Polar)码的低复杂度、高性能正适应5G通讯系统中控制信道编码的要求。串行抵消译码算法已经成为主流的polar译码算法。大多数polar译码方案都是以串行抵消算法为基础演化而来的。
相关技术中,为了节省计算资源,通常对待处理的数据采取分段的方式进行Polar译码,数据的分段操作造成译码时延过大,因此,polar译码串行抵消算法存在延时长,过程数据存储开销大等问题。
发明内容
为了解决上述任一技术问题,本申请实施例提供了一种数据译码方法和装置及计算机存储介质。
为了达到本申请实施例目的,本申请实施例提供了一种数据译码方法,包括:
在获取到待译码的Polar码数据后,将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块,其中所述U值计算模块用于计算下次迭代G节点时所需的U值;
控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据;
对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据。
在一个示例性实施例中,所述将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块之前,所述方法还包括:
获取所述待译码的数据对应的Polar码码树;
将所述Polar码码树拆分成s个独立的译码子树,其中s为大于等于2的整数;其中,将所述s个独立的译码子树被发送至预先设置的s个独立的U值计算模块。
在一个示例性实施例中,所述将所述Polar码码树拆分成s个独立的译码子树,包括:
获取对所述Polar树的数据抽取间隔s;
按照数据抽取间隔为s个比特,以数据抽取顺序为Z形,对所述Polar树进行数据抽取,得到s个独立的译码子树。
在一个示例性实施例中,s=2k,其中,k=1,2,3……。
在一个示例性实施例中,所述将所述Polar码码树拆分成s个独立的译码子树,包括:
获取对所述Polar树的数据抽取间隔si;
按照数据抽取顺序为Z形,数据抽取间隔为si个比特,对所述Polar树进行数据抽取,得到si个独立的译码子树;
判断得到的独立的译码子树的数量是否达到s个,得到判断结果;
如果判断结果为未达到s个,则对si个独立的译码子树进行拆分,并更新i的取值为i+1,并重复执行直到得到的译码子树的总数达到s个为止;其中i为正整数。
在一个示例性实施例中,所述控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据,包括:
将所述s个独立的译码子树分别发送至s个独立的U值计算模块;
控制所述s个独立的U值计算模块一一对应地处理所述s个独立的译码子树,得到s组新的译码数据。
在一个示例性实施例中,所述控制所述s个独立的U值计算模块一一对应地处理所述s个独立的译码子树,得到至少s组新的译码数据,包括:
按照预先获取的译码数据的拆分策略,将预先获取的译码数据拆分成s组译码数据,其中译码数据的拆分策略与将所述Polar码码树拆分成s个独立的译码子树的拆分策略相同;
利用所述s组译码数据,对所述s个独立的译码子树进行处理,得到所述s个独立的译码子树对应的s组新生成的译码数据。
在一个示例性实施例中,所述对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据,包括:
执行与所述译码数据拆分成s组译码数据的操作的反向操作,将s组新生成的译码数据还原成完整的新译码数据。
本申请实施例提供一种数据译码装置,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述处理器中的计算机程序以实现上文任一所述的方法。
本申请实施例提供一种计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上文任一所述的方法。
本申请实施例提供的实施例,在获取到待译码的Polar码数据后,将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块,控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据,对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据,实现对译码数据的并行处理,提高译码效率。
本申请实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请实施例的实施例一起用于解释本申请实施例的技术方案,并不构成对本申请实施例技术方案的限制。
图1为本申请实施例提供的数据译码方法的流程图;
图2为本申请实施例提供的码长为32bit的Polar码码树的拆分示意图;
图3为本申请实施例提供的码长N为4的译码结构图;
图4为本申请实施例提供的译码方法的流程图;
图5为本申请实施例提供的U值计算模块的处理流程的示意图;
图6为本申请实施例提供的数据译码装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互任意组合。
图1为本申请实施例提供的数据译码方法的流程图。图1所示方法包括:
步骤101、在获取到待译码的Polar码数据后,将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块,其中所述U值计算模块用于计算下次迭代G节点时所需的U值;
在一个示例性实施例中,将U值计算分布在至少两个独立的U值计算模块中,每个U_CALC模块包含多少个比特的译码u值计算要根据硬件资源与布局情况进行划分,以实现性能与资源的折中;
步骤102、控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据;
在一个示例性实施例中,利用所述至少两个独立的U值计算模块对所述待译码的Polar码数据进行处理,得到至少两组新的译码数据,实现对译码数据的并行处理,提高译码效率;
步骤103、对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据。
本申请实施例提供的方法,在获取到待译码的Polar码数据后,将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块,控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据,对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据,实现对译码数据的并行处理,提高译码效率。
在一个示例性实施例中,所述将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块之前,所述方法还包括:
获取所述待译码的数据对应的Polar码码树;
将所述Polar码码树拆分成s个独立的译码子树,其中s为大于等于2的整数;其中,将所述s个独立的译码子树被发送至预先设置的s个独立的U值计算模块。
在获取到待译码的数据后,获取所述待译码的数据对应的Polar码码树,将所述Polar码码树拆分成s个独立的译码子树,利用所述s个独立的译码子树,计算下次迭代G节点时所需的U值,在译码过程中分段相互独立计算,不相互依赖,提供处理效率。
在一个示例性实施例中,以Polar码码树对待译码的数据进行拆分,以保证拆分得到的译码子树的数据能够独立进行后续处理。
在一个示例性实施例中,所述将所述Polar码码树拆分成s个独立的译码子树,包括:
获取对所述Polar树的数据抽取间隔s;
按照数据抽取间隔为s个比特,以数据抽取顺序为Z形,对所述Polar树进行数据抽取,得到s个独立的译码子树。
在一个示例性实施例中,s=2k,其中,k=1,2,3……。
图2为本申请实施例提供的码长为32bit的Polar码码树的拆分示意图。如图2所示,构造独立的译码子树的过程如下:
按照间隔为4个比特抽取数据,构造4个编译码子树;其中:
层2和层3之间的细划线Z字表示间隔4个比特抽取的第一级;层3和层4之间的2点3划线Z字表示隔4个比特抽取的第二级;层4和层5之间的破折号线Z字表示隔4抽取的第三级,那么剔除掉实心黑色线条部分,虚线条就是一个完整的子编译码二叉树,并且编译码结果及其计算过程只与间隔4个比特抽取的数据有关。同样的,隔4抽取的其他3组编译码树,也是可以独立计算的完整的子编译码二叉树。因此上述码长32的Polar码可以分解为4个独立的码长为8的Polar码,复用码长为8的Polar编译码器完成计算。
在一个示例性实施例中,利用所述s个独立的译码子树,计算下次迭代G节点时所需的U值。
在一个示例性实施例中,以采用4bit-SCL译码算法将译码树分为4个译码子树为例进行说明。图2为码长为32bit的编译码阵列进行串行Polar码译码,第5列为输入数据按照Z形计算出前4bit的译码结果,再由得到的4bit译码结果计算次4bit译码过程中所需的u值,用于完成次4bit的译码。
下面对本申请实施例提供的方法进行说明:
在一个示例性实施例中,所述将所述Polar码码树拆分成s个独立的译码子树,包括:
步骤1、获取对所述Polar树的数据抽取间隔si;
步骤2、按照数据抽取顺序为Z形,数据抽取间隔为si个比特,对所述Polar树进行数据抽取,得到si个独立的译码子树;
步骤3、判断得到的独立的译码子树的数量是否达到s个,得到判断结果;
步骤4、如果判断结果为未达到s个,则对si个独立的译码子树进行拆分,并更新i的取值为i+1,并重复执行步骤1至步骤4,直到得到的译码子树的总数达到s个为止;其中i为正整数。
在一个示例性实施例中,码长为1024、2048或4096等大码长时,可以也可以在隔4个比特抽取后继续进行隔8个比特或者隔4个比特抽取,直至满足F节点计算和G节点计算资源设计需求,以达到运算速度与资源开销的折中。
在一个示例性实施例中,所述控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据,包括:
将所述s个独立的译码子树分别发送至s个独立的U值计算模块;
控制所述s个独立的U值计算模块一一对应地处理所述s个独立的译码子树,得到s组新的译码数据。
为实现完全独立的子译码,u值计算模块同样采用本发明专利所述方式分成了多个子模块进行计算。如本专利所述将输入数据间隔4抽取数据分成4个独立的子译码器,相应的就要采用4个U_CALC子模块。
在一个示例性实施例中,所述利用所述s个独立的译码子树,计算下次迭代G节点时所需的U值,包括:
按照预先获取的译码数据的拆分策略,将预先获取的译码数据拆分成s组译码数据,其中译码数据的拆分策略与将所述Polar码码树拆分成s个独立的译码子树的拆分策略相同;
利用所述s组译码数据,对所述s个独立的译码子树进行处理,得到所述s个独立的译码子树对应的s组新生成的译码数据;
对所述s组新生成的译码数据进行处理,得到完整的新译码数据。
每个u值计算模块U_CALC间隔4抽取每次迭代的译码值。例如本专利所述4bit-SCL译码算法每次迭代输出4bit译码值dec[3:0],则dec[0]送往U_CALC_0,dec[1]送往U_CALC_1,dec[2]送往U_CALC_2,dec[3]送往U_CALC_3。
在一个示例性实施例中,所述对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据,包括:
执行与所述译码数据拆分成s组译码数据的操作的反向操作,将s组新生成的译码数据还原成完整的新译码数据。
当所有bit译码结束后,读取译码数据,根据子编译码树构造规则反向生成译码序列。
下面对本申请实施例提供的方法进行说明:
为克服相关技术中存在的polar译码过程中资源开销大,并且译码时延长的问题和缺陷,提供一种低复杂度、独立分段的polar码译码方案,该方案能够得到G节点计算所需的u值,且能够独立并且快速计算。
本申请实施例提出了一种独立分段的polar译码方法和装置,使得在译码过程中各个分段独立计算,不相互依赖。
图3为本申请实施例提供的码长N为4的译码结构图。如图3所示,本申请将图3所示的译码阵列之为N点编译码树。i(0)、i(1)、i(2)、i(3)为编码前的输入值,enc(0’),enc(1’),enc(2’),enc(3’)为编码后结果。假设每次新增1点,并以idx表示计算级数,即idx=0计算点0,idx=1新增点1,idx=2新增点2,idx=3新增点3,那么可以得到各个点的编码使能:
en(0’)=1
en(1’)=idx[0]
en(2’)=idx[1]
en(3’)=idx[1]&idx[0]
其中idx[i](i=0,...,log2(idx)-1)是idx的二进制表示形式的第i个bit。
按照上述公式可得每个点的编码公式:
enc(j’)=en(j’)&i(j)+enc(j’),j=0,...,log2(N)-1
将上述方法进行推广,假设编码阵列输入向量A=[i(0),i(1)...i(N)]T,编码后输出的u值为列向量B=[enc(0),enc(1)...enc(N)]T,N为Polar码码长N=2n-1;那么有计算表达式(1),具体如下:
BT=MAT (1)
其中,M为编码使能矩阵,其数值是计算表达式(2)来确定的;
enc(x,idx)=idx[k-1]x[k-1]&idx[k-2]x[k-2]&...&idx[1]x[1]&idx[0]x[0]......(2)
其中,
idx=idx[k-1]*2k-1+idx[k-2]*2k-2+...+idx[1]*2+idx[0];
x=x[k-1]*2k-1+x[k-2]*2k-2+...+x[1]*2+x[0];
K=log2(N);
对于每个固定的点都可以用idx作为唯一输入变量,每次只新增一个点,用模2加即可完成u值计算。
基于上述分析,可以确定,对于任何Polar译码,都可以采用本申请提供的方法将u值计算也分段独立计算。例如,将Polar译码分成4个子译码器,u值计算可以采取相同的方式分成4个u值计算子模块,每个子模块的计算公式分别为:B[4i],B[4i-1],B[4i-2],B[4i-3],i=1,2...N/4。
本申请实施例提供的方法可以是通过如下模块实现,包括:
F_CALC和G_CALC模块:用于完成译码过程中LLR计算,F节点计算和G节点计算;
MCU:完成译码路径扩展功能;
Decode decision:完成译码路径筛选,译码判决输出功能;
U_CALC:根据Decode decision输出值计算G节点计算所需u值,送给F_CALC和G_CALC模块进行下一轮迭代;
Decode ouput:所有比特译码结束后从U_CALC模块读取译码数据,根据子编译码树构造规则生成N bit译码序列。如
基于上述模块,本申请实施例提供的方法的实施步骤包括:
步骤01、polar译码树进行LLR(Log-Likelihood Ratio)计算,路径扩展,译码判决,输出当前迭代的译码值。
步骤02、构造子编译码树。假定Polar码码长为N,则根据Polar码码树的特性,可以将待编译码数据按照间隔s个数据抽取的方式分成s个独立的子树,其中s=2k,k=0,1,2...;
步骤03、在当前已经译码输出m个bit后,按照步骤02的抽取方式将m bit译码值分成s组,分别输入到s个独立的u值计算模块;
步骤04、s个独立的u值计算模块根据输入的译码值计算下次迭代G节点计算所需u值;
步骤05、重复步骤01~步骤04直至所有比特译码完成;
步骤06、按照步骤二的抽取方式进行反向操作,间插生成N bit译码序列。
图4为本申请实施例提供的译码方法的流程图。如图4所示,F_CALC和G_CALC模块、MCU模块、Decode decision和U_CALC根据图中箭头所示进行循环迭代译码,直至完成所有比特译码。假设每次迭代过程中完成m bit译码,则总迭代次数为N/m,其中m为正整数。
图5为本申请实施例提供的U值计算模块的处理流程的示意图。如图5所示,采用上文计算表达式(1)完成u值计算过程。每次迭代译码开始时对对上文计算表达式(2)进行更新,计算出各个bit译码使能信号。Decode decision输出译码值后,对于译码使能信号为1的bit,Adder模块用于将本次迭代的译码值和之前已经译码出的值进行模2加,结果作为下次译码G节点计算所需u值;对于译码使能信号为0的bit,Adder模块直接输出之前已经译码出的值,作为下次译码G节点计算所需u值。u_calc_ctrl模块选则并输出G_CALC模块运算所需u值,并控制G_CALC模块的启动和关闭。u_calc_ctrl模块还负责将计算出的u值回存到memory中,供下次u值计算使用。u_calc_ctrl模块还实现了预取功能,预先取出下次迭代计算所需的u值,当下次迭代Decode decision输出译码值后,Adder模块可以立即进行计算。
当所有bit译码结束后启动Decode ouput模块,从U_CALC模块读取译码数据,根据子编译码树构造规则反向生成N bit译码序列。例如,假定译码分成4个子译码器,每个子译码器译出的bit分别为:A[4i],A[4i-1],A[4i-2],A[4i-3],i=1,2...N/4,经过本模块间插处理后输出数据为A[i],i=1,2...N。
本专利所述u值计算方法不限定任何Polar码分段译码方法,但必须保证每个分段抽取数据规则和u值计算抽取数据规则一致。如果Polar码编译码过程中不分段,也可以采用本专利所述u值计算方法,将u值计算分布在多个独立的U_CALC模块中,每个U_CALC模块包含多少个比特的译码u值计算要根据硬件资源与布局情况进行划分,以实现性能与资源的折中。
本申请实施例提供的方法,各个译码子树能够独立计算,不相互依赖,尤其是G节点计算所需u值能够独立快速计算,并且耗费资源非常小。
图6为本申请实施例提供的数据译码装置的示意图。如图6所示,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述处理器中的计算机程序以实现上文任一所述的方法。
本申请实施例提供的装置,在获取到待译码的数据后,获取所述待译码的数据对应的Polar码码树,将所述Polar码码树拆分成s个独立的译码子树,利用所述s个独立的译码子树,计算下次迭代G节点时所需的U值,在译码过程中分段相互独立计算,不相互依赖,提供处理效率。
本申请实施例提供一种计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上文任一所述的方法。
本申请实施例提供的计算机存储介质,在获取到待译码的数据后,获取所述待译码的数据对应的Polar码码树,将所述Polar码码树拆分成s个独立的译码子树,利用所述s个独立的译码子树,计算下次迭代G节点时所需的U值,在译码过程中分段相互独立计算,不相互依赖,提高处理效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种数据译码方法,包括:
在获取到待译码的Polar码数据后,将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块,其中所述U值计算模块用于计算下次迭代G节点时所需的U值;
控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据;
对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述Polar码数据发送至预先设置的至少两个独立的U值计算模块之前,所述方法还包括:
获取所述待译码的数据对应的Polar码码树;
将所述Polar码码树拆分成s个独立的译码子树,其中s为大于等于2的整数;其中,将所述s个独立的译码子树被发送至预先设置的s个独立的U值计算模块。
3.根据权利要求2所述的方法,其特征在于,所述将所述Polar码码树拆分成s个独立的译码子树,包括:
获取对所述Polar树的数据抽取间隔s;
按照数据抽取间隔为s个比特,以数据抽取顺序为Z形,对所述Polar树进行数据抽取,得到s个独立的译码子树。
4.根据权利要求2或3所述的方法,其特征在于:
s=2k,其中,k=1,2,3……。
5.根据权利要求2所述的方法,其特征在于,所述将所述Polar码码树拆分成s个独立的译码子树,包括:
获取对所述Polar树的数据抽取间隔si;
按照数据抽取顺序为Z形,数据抽取间隔为si个比特,对所述Polar树进行数据抽取,得到si个独立的译码子树;
判断得到的独立的译码子树的数量是否达到s个,得到判断结果;
如果判断结果为未达到s个,则对si个独立的译码子树进行拆分,并更新i的取值为i+1,并重复执行直到得到的译码子树的总数达到s个为止;其中i为正整数。
6.根据权利要求2所述的方法,其特征在于,所述控制所述至少两个独立的U值计算模块处理所述待译码的Polar码数据,得到至少两组新的译码数据,包括:
将所述s个独立的译码子树分别发送至s个独立的U值计算模块;
控制所述s个独立的U值计算模块一一对应地处理所述s个独立的译码子树,得到s组新的译码数据。
7.根据权利要求6所述的方法,其特征在于,所述控制所述s个独立的U值计算模块一一对应地处理所述s个独立的译码子树,得到至少s组新的译码数据,包括:
按照预先获取的译码数据的拆分策略,将预先获取的译码数据拆分成s组译码数据,其中译码数据的拆分策略与将所述Polar码码树拆分成s个独立的译码子树的拆分策略相同;
利用所述s组译码数据,对所述s个独立的译码子树进行处理,得到所述s个独立的译码子树对应的s组新生成的译码数据。
8.根据权利要求6所述的方法,其特征在于,所述对所述至少两组新的译码数据进行处理,得到新的待译码的Polar码数据,包括:
执行与所述译码数据拆分成s组译码数据的操作的反向操作,将s组新生成的译码数据还原成完整的新译码数据。
9.一种数据译码装置,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述处理器中的计算机程序以实现如权利要求1至8任一所述的方法。
10.一种计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8任一所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910945166.3A CN112583422A (zh) | 2019-09-30 | 2019-09-30 | 数据译码方法和装置及计算机存储介质 |
EP20870679.6A EP3982544A4 (en) | 2019-09-30 | 2020-09-16 | DATA ENCODING METHOD AND APPARATUS, AND COMPUTER STORAGE MEDIA |
PCT/CN2020/115615 WO2021063181A1 (zh) | 2019-09-30 | 2020-09-16 | 数据译码方法、装置及计算机存储介质 |
US17/624,980 US11811426B2 (en) | 2019-09-30 | 2020-09-16 | Data decoding method and apparatus, and computer storage medium |
KR1020227000258A KR102639951B1 (ko) | 2019-09-30 | 2020-09-16 | 데이터 디코딩 방법, 장치 및 컴퓨터 저장 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910945166.3A CN112583422A (zh) | 2019-09-30 | 2019-09-30 | 数据译码方法和装置及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112583422A true CN112583422A (zh) | 2021-03-30 |
Family
ID=75117066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910945166.3A Pending CN112583422A (zh) | 2019-09-30 | 2019-09-30 | 数据译码方法和装置及计算机存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11811426B2 (zh) |
EP (1) | EP3982544A4 (zh) |
KR (1) | KR102639951B1 (zh) |
CN (1) | CN112583422A (zh) |
WO (1) | WO2021063181A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176927B2 (en) * | 2011-11-08 | 2015-11-03 | The Royal Institution For The Advancement Of Learning/Mcgill University | Methods and systems for decoding polar codes |
CN104038234B (zh) * | 2013-03-07 | 2017-09-29 | 华为技术有限公司 | 极性码的译码方法和译码器 |
ES2857075T3 (es) | 2013-12-24 | 2021-09-28 | Huawei Tech Co Ltd | Método de decodificación del código Polar y aparato de decodificación |
CN104539296B (zh) | 2015-01-21 | 2017-10-20 | 西安电子科技大学 | 一种基于提前终止迭代策略的极化码改进bp译码方法 |
US10153787B2 (en) | 2016-09-20 | 2018-12-11 | Samsung Electronics Co., Ltd | Apparatus and method for parallelized successive cancellation decoding and successive cancellation list decoding of polar codes |
US20180331697A1 (en) | 2017-05-15 | 2018-11-15 | Qualcomm Incorporated | Nominal complexity and weighted combinations for polar code construction |
US10608675B1 (en) * | 2018-09-09 | 2020-03-31 | Mediatek Inc. | Method for performing polar decoding with aid of notation transformation and associated polar decoder |
-
2019
- 2019-09-30 CN CN201910945166.3A patent/CN112583422A/zh active Pending
-
2020
- 2020-09-16 KR KR1020227000258A patent/KR102639951B1/ko active IP Right Grant
- 2020-09-16 WO PCT/CN2020/115615 patent/WO2021063181A1/zh unknown
- 2020-09-16 US US17/624,980 patent/US11811426B2/en active Active
- 2020-09-16 EP EP20870679.6A patent/EP3982544A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20220016975A (ko) | 2022-02-10 |
WO2021063181A1 (zh) | 2021-04-08 |
EP3982544A4 (en) | 2022-09-07 |
EP3982544A1 (en) | 2022-04-13 |
KR102639951B1 (ko) | 2024-02-27 |
US11811426B2 (en) | 2023-11-07 |
US20220294477A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474346B (zh) | 一种光信号生成方法、装置、电子设备及存储介质 | |
KR100983692B1 (ko) | 통신 장치 및 복호 방법 | |
JP5705106B2 (ja) | ユークリッド空間リード−マラー符号の軟判定復号を実行する方法 | |
Hussain et al. | Design of LT codes with equal and unequal erasure protection over binary erasure channels | |
CN107852176A (zh) | Ldpc码编码器和译码器 | |
KR20060068168A (ko) | 저 복잡도 ldpc복호 장치 및 그 방법 | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
CN114598331A (zh) | Polar码的编码方法、编译码方法及装置 | |
KR102213345B1 (ko) | 패리티 검사 연접 극 부호의 설계 방법 및 그 장치 | |
Severinson et al. | A droplet approach based on Raptor codes for distributed computing with straggling servers | |
CN112583422A (zh) | 数据译码方法和装置及计算机存储介质 | |
EP1543624A2 (en) | Method for decoding data using windows of data. | |
KR101976315B1 (ko) | 이산대칭채널에서의 극 부호 설계 방법 및 그 장치 | |
JP7251615B2 (ja) | 整列処理装置、整列処理方法、及びプログラム | |
CN110958025A (zh) | 一种基于叠加的短帧长编码及译码方法 | |
CN117097350B (zh) | 一种ldpc码译码实现方法、装置、设备及介质 | |
CN115037313B (zh) | Ldpc译码量化方法、装置、设备、ldpc译码方法及系统 | |
KR102552282B1 (ko) | 블록 직교 희소 중첩 코드 인코딩 및 디코딩 방법, 및 그 장치 | |
CN112436923B (zh) | 一种极化码的编码方法、装置及计算机可读存储介质 | |
US20240137045A1 (en) | Noniterative entropy coding | |
CN111817729B (zh) | 一种译码终止方法及装置 | |
CN109951191B (zh) | 非系统Raptor码的渐进式译码方法及装置 | |
CN115037316A (zh) | 极化码编/译码方法、装置和系统 | |
CN116318180A (zh) | 编码的构造方法、装置和非易失性计算机可读存储介质 | |
CN105610448A (zh) | 基于多核DSP零尾卷积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 |