CN108292967B - 极化码的编译码方法及其装置 - Google Patents

极化码的编译码方法及其装置 Download PDF

Info

Publication number
CN108292967B
CN108292967B CN201580083408.2A CN201580083408A CN108292967B CN 108292967 B CN108292967 B CN 108292967B CN 201580083408 A CN201580083408 A CN 201580083408A CN 108292967 B CN108292967 B CN 108292967B
Authority
CN
China
Prior art keywords
bits
decoding
crc
group
paths
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.)
Active
Application number
CN201580083408.2A
Other languages
English (en)
Other versions
CN108292967A (zh
Inventor
金丽丽
刘重明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Hong Kong Polytechnic University HKPU
Original Assignee
Huawei Technologies Co Ltd
Hong Kong Polytechnic University HKPU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Hong Kong Polytechnic University HKPU filed Critical Huawei Technologies Co Ltd
Publication of CN108292967A publication Critical patent/CN108292967A/zh
Application granted granted Critical
Publication of CN108292967B publication Critical patent/CN108292967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明实施例提供一种极化码的编译码方法及其装置。极化码的译码方法,包括:接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含循环冗余校验码CRC校验比特,M为大于等于2的整数;对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;其中,所述译码处理包括:对第m‑1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m‑2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。

Description

极化码的编译码方法及其装置
技术领域
本发明涉及通信技术,尤其涉及一种极化码的编译码方法及其装置。
背景技术
前向纠错(Forward Error Correction,以下简称:FEC)技术是通信系统的一个关键技术,可以通过牺牲一定的传输带宽来大幅提升系统性能。
极化码(以下简称:Polar码)是FEC技术的一种,是由Erdal Arikan于2007年提出的一种信道编码方法,在二进制离散无记忆信道(Binary Discrete Memoryless Channel,以下简称:BDMC)下,这种编码方法理论上可以达到香农极限,并且具有较低的编译码复杂度。连续删除(Successive Cancellation,以下简称:SC)译码算法是针对于Polar码最常见的译码算法。但针对中长码,SC译码性能并不理想。为解决这一问题,现有技术在SC译码算法基础上,提出了序列连续删除(SC List,以下简称:SCL)+循环冗余校验码(CyclicRedundancy Check,以下简称:CRC)译码算法。SCL+CRC算法是在每一次的SC译码之后,进行路径分裂,允许有Lmax条译码结果路径,从这Lmax条译码结果路径中选出能够通过CRC校验且概率乘积最大的一条路径上的译码结果作为译码输出,从而显著提高译码准确度。
但是,现有的SCL+CRC译码算法,其译码速度慢,延时大,无法满足高效的处理需求。
发明内容
本发明实施例提供一种极化码的编译码方法及其装置,以提高译码速度。
第一方面,本发明实施例提供一种极化码的编码方法,包括:
将信息比特按照在码字中的位置顺序划分成M组信息比特,其中M为大于等于2的整数;
对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
可选的,所述将信息比特按照在码字中的位置顺序划分成M组信息比特,包括:
将信息比特按照在码字中的位置顺序等分成M组,得到M组信息比特。
可选的,所述对M组信息比特分别附加循环冗余校验码CRC校验比特,包括:
将所述CRC校验比特分别附加在M组信息比特中各组信息比特的尾部。
第二方面,本发明实施例提供一种极化码的译码方法,包括:
接收码字,所述码字包含接收比特和冻结比特;
从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含循环冗余校验码CRC校验比特,M为大于等于2的整数;
对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;其中,所述译码处理包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
可选的,所述对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出,包括:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
可选的,所述对所述M组接收比特进行SCL译码处理之前,还包括:
根据当前信息比特的接收速度和/或接收缓冲器的剩余空间,对所述Lmax进行调整。
第三方面,本发明实施例提供一种编码设备,包括:
分组模块,用于将信息比特按照在码字中的位置顺序划分成M组信息比特,其中M为大于等于2的整数;
编码处理模块,用于对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
编码发送模块,用于对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
可选的,所述分组模块,具体用于将信息比特按照在码字中的位置顺序等分成M组,得到M组信息比特。
第四方面,本发明实施例提供一种编码设备,包括:分组器、M个CRC生成器以及编码器;其中,分组器与所述M个CRC生成器的输入端连接,第m个CRC生成器的输出端与所述编码器和第m+1至第M个CRC生成器的输入端连接,第M个CRC生成器的输出端与所述编码器连接,其中M为大于等于2的整数;
所述分组器,用于将信息比特按照在码字中的位置顺序划分成M组信息比特;
所述M个CRC生成器,用于对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
所述编码器,用于对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
第五方面,本发明实施例提供一种译码设备,包括:
分组模块,用于接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含循环冗余校验码CRC校验比特,M为大于等于2的整数;
译码处理模块,用于对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;其中,所述译码处理包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
可选的,所述译码处理模块,具体用于:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
第六方面,本发明实施例提供一种译码设备,包括:分组器、SCL译码器、M个CRC校验器、控制器以及存储器;其中,所述分组器与所述SCL译码器连接,所述SCL译码器的第m路输出与第m+1至第M个CRC校验器连接,所述存储器与所述控制器和所述SCL译码器,所述控制器与所述M个CRC校验器和所述SCL译码器连接,其中M为大于等于2的整数;
所述分组器,用于接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含CRC校验比特;
所述SCL译码器,用于对所述M组接收比特分别进行SCL译码处理,并将译码处理结果对应发送给CRC校验器进行CRC校验;
所述M个CRC校验器,用于分别对所述M组接收比特的译码结果进行CRC校验得到校验结果;
所述控制器,用于根据所述校验结果确定各组接收比特的最终译码结果,并将最终译码结果存储到所述存储器中,并且在得到全部接收比特的译码结果之后将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
所述存储器,用于存储控制器确定的各组接收比特的最终译码结果,并将各组接收比特的最终译码结果反馈给所述SCL校验器;
其中,所述SCL译码处理和所述CRC校验处理,包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
可选的,所述SCL译码处理和所述CRC校验处理,具体包括:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
本发明实施例通过在编码端对待发送的信息比特进行分段编码,在译码端对接收到的信息比特进行分段译码,且在SCL译码过程中,分裂路径自适应调整,相对于现有技术来说,其译码时间显著减小,译码速度快,延时低,可以提高2-M倍的译码速度。而且,本发明实施例在编码端对第m组信息比特生成CRC校验比特时,将第1~m-1组信息比特均引入一同进行CRC计算,保证了分段编码中各组信息比特的关联性,在译码端对第m组译码结果生成CRC校验比特时,同样将已经译码得到的第1~m-1组译码结果均引入一同进行CRC计算,保证了译码结果的关联性和准确性。另外,本发明实施例还可以动态调整路径数量上限Lmax,避免了译码设备闲置或浪费,合理分配系统资源;此外,本发明实施例的译码能力与传统的SCL+CRC器译码器相当,译码能力无损。
附图说明
图1为现有极化码的SCL+CRC的编码处理示意图;
图2为本发明极化码的编码方法实施例的流程图;
图3为图2所示方法实施例所采用的编码设备的结构示意图;
图4为N=8的Polar码路径分裂过程的示意图;
图5为本发明中极化码的译码设备的结构示意图;
图6为本发明极化码的译码方法实施例的流程图;
图7为图5所示译码设备中控制器的处理状态迁移示意图;
图8为本发明实施例的译码处理过程和现有SCL译码处理过程的对比示意图;
图9为本发明编码设备实施例的结构示意图;
图10为本发明译码设备实施例的结构示意图。
具体实施方式
本发明实施例针对Polar码的编译码处理。Polar码是基于信道极化理论完成的,将信道极化以后,一部分信道趋于无噪信道,另外一部分信道趋于全噪信道。基于这个现象,Polar码在进行编码时,可以将要传送的信息比特放在无噪信道上传输,而在全噪信道上传输冻结比特。因此,当码长N趋于无穷大时,系统容量可以达到香农极限。
Polar码的编码又称为GN陪集编码。Polar码的码字长度N被严格定义为2的幂次方,即对于任意n≥0都有N=2n。Polar码是线性分组码,其编码公式为:
Figure GPA0000241191700000101
式中,向量
Figure GPA0000241191700000102
是所需传送的信息比特,GN是N阶次的生成矩阵,
Figure GPA0000241191700000103
是编码后的码字。
图1为现有极化码的SCL+CRC的编码处理示意图,如图1所示,以Polar码长2048,码率R=0.5为例,其信息比特为1024bits,经过16bits的CRC校验编码以后,与1008bits的冻结比特一起,输到Polar码(2048,1024)编码器进行编码,输出编码后的2048比特。在译码端,SCL译码器首先会对接收到的这2048个比特进行SC译码处理,输出L条路径,然后分别对这L条路径进行CRC校验,选满足CRC校验,且概率积最大的路径做为译码输出。
由图1可以看出,SCL+CRC算法是在对完整的信息比特进行一次SC译码之后,进行路径分裂,并在已经找到能够通过CRC校验的路径或者路径数达到所设定上限Lmax时结束译码,也即允许有Lmax条路径进行后续的操作,从中选出能够通过CRC校验,并且概率乘积最大的一条路径,作为译码输出。因此,对于一次SC译码来说,该算法需要基于全部信息比特进行路径分裂并判断各路径中是否存在通过CRC校验的路径,若不存在,则需要增大输出的路径数L,再进行一次SC译码过程,直到路径数量L达到最大值Lmax。该过程处理复杂,耗时较长。
图2为本发明极化码的编码方法实施例的流程图,图3为图2所示方法实施例所采用的编码设备的结构示意图,如图2和3所示,本实施例的编码方法包括:
S201、将信息比特按照在码字中的位置顺序划分成M组信息比特;其中M为大于等于2的整数;
S202、对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
S203、对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
结合图3具体来说,编码设备例如可以包括M个CRC生成器和一个Polar编码器,Polar编码器最终要编码得到N位比特,其中包含K位信息比特和N-K位冻结比特。冻结比特对于译码端来说,其发送内容以及在码字中的位置均是已知的。针对K位信息比特来说,编码设备需要对原始信息比特附加CRC校验比特来形成。具体来说,编码设备可以按照原始信息比特在码字中的位置顺序将原始信息比特划分成M组,每一组的原始信息比特为n1,n2,…,nM位,第一组原始信息比特为
Figure GPA0000241191700000111
经过CRC生成器1校验以后变成
Figure GPA0000241191700000112
第二组原始信息比特为
Figure GPA0000241191700000113
第二组原始信息比特与第一组的CRC校验输出
Figure GPA0000241191700000114
共同作为CRC生成器2的输入,CRC校验后的比特为
Figure GPA0000241191700000115
以此类推,第m组(1≤m≤M)包含nm个原始信息比特和rm个校验比特,其末位比特的位置为km,所以kM=K。
由上述过程可知,第m组的校验比特为:
Figure GPA0000241191700000116
基于所需生成的校验比特位数,本领域技术人员可以对M个CRC生成器进行设计,此处不再赘述。
然后,Polar编码器可以采用GN陪集编码对N位比特
Figure GPA0000241191700000117
进行编码,最终形成N比特的码字
Figure GPA0000241191700000118
需要说明的是,在上述编码过程中,M组信息比特中,各组信息比特的长度可以是不相同的,优选的,各组信息比特的也可以是将全部信息比特按照位置顺序等分成M组后得到的各组等长的信息比特。
另外,在对M组信息比特分别附加CRC校验比特时,可以优选地将CRC校验比特分别附加在M组信息比特中各组信息比特的尾部。
由上述编码过程可知,本发明实施例的编码过程是对待发送的原始信息比特进行分组编码,并且,在生成当前组信息比特的CRC校验比特时,需要参考其之前各组的信息比特以及校验比特,从而在分组的过程中,不会对各组的信息比特进行隔离,保证了信息比特之间的相关性。
下面详细介绍,在上述编码过程的基础上,译码端的具体译码过程。在对该译码过程进行说明之前,首先对SCL译码算法进行说明。发送信号
Figure GPA0000241191700000119
在经过信道传输后,译码端从信道上接收的信号为
Figure GPA0000241191700000121
针对该
Figure GPA0000241191700000122
可以进行如下译码处理过程:
第一步:似然比计算。
采用公式(1)进行似然比计算,得到信道上各接收信号yi的似然比
Figure GPA0000241191700000123
Figure GPA0000241191700000124
其中,
Figure GPA0000241191700000125
表征对前1~i-1个信号
Figure GPA0000241191700000126
的估计结果,σ为与信道的信噪比相关的参数。
第二步:路径分裂。
图4为N=8的Polar码路径分裂过程的示意图,如图4所示,其中,
Figure GPA0000241191700000127
是冻结比特的估计结果,
Figure GPA0000241191700000128
是信息比特的估计结果。
对于信息比特
Figure GPA0000241191700000129
来说,可以将当前的译码路径分裂成两条,即
Figure GPA00002411917000001210
Figure GPA00002411917000001211
对于冻结比特
Figure GPA00002411917000001212
来说,由于其对于译码端来说是已知的,因此,不进行路径分裂,保持路径数不变。
在具体的分裂过程中,可以预先设定幸存路径条数L的值。例如,对图4所给出的4位信息比特的Polar码路径分裂来说,最多可分裂得到24=16条路径,路径分裂到
Figure GPA00002411917000001213
时,将得到4条分裂路径;路径分裂到
Figure GPA00002411917000001214
时,将得到8条路径;路径分裂到
Figure GPA00002411917000001215
时,将得到16条路径。
第三步:计算分裂得到的路径上各节点为0和为1的概率。
该节点为0和为1的概率分别采用下述公式(2)和公式(3)计算得到:
Figure GPA00002411917000001216
Figure GPA00002411917000001217
式中的
Figure GPA00002411917000001218
可由公式(1)求出。
第四步:确定当前分裂得到的路径数是否超过预设幸存路径数L,若未超过,则执行第二步和第三步,继续进行路径分裂和各节点概率计算,若超过,则计算当前分裂得到的各路径的概率乘积,并从中选择L条概率乘积最大的路径,并基于所选择的路径继续执行第二步和第三步,直到完成全部节点的路径分裂过程。
以L=4举例来说,
Figure GPA00002411917000001219
均为冻结比特,无需路径分裂且对于译码端来说其均为已知,因此这3个节点的概率均为1,对于
Figure GPA0000241191700000131
来说,其为信息比特,分裂成2条路径,可以采用公式(2)和(3)分别计算
Figure GPA0000241191700000132
Figure GPA0000241191700000133
的概率,对于
Figure GPA0000241191700000134
来说,其为冻结比特无需路径分裂且对于译码端来说其均为已知,因此该节点的概率为1,且路径依然为2条,未超过L,可以继续分裂。对于
Figure GPA0000241191700000135
来说,其为信息比特,继续分裂得到4条路径,可以采用公式(2)和(3)分别计算
Figure GPA0000241191700000136
Figure GPA0000241191700000137
的概率,此时路径为4条,未超过L,可以继续分裂。对
Figure GPA0000241191700000138
来说,其为信息比特,继续分裂得到8条路径,可以采用公式(2)和(3)分别计算
Figure GPA0000241191700000139
Figure GPA00002411917000001310
的概率,而且,因为此时的路径数超过了L,需要通过计算这8条路径的概率乘积。概率乘积具体可以采用公式(4)计算得到:
Figure GPA00002411917000001311
其中,b∈{0,1}。
然后,可以从这8条路径中选择出概率乘积最大的4条路径,并丢弃剩余的4条路径。在所选择的这4条路径的基础上,对信息比特
Figure GPA00002411917000001312
继续进行路径分裂,依然得到8条路径,可以采用公式(2)和(3)分别计算
Figure GPA00002411917000001313
Figure GPA00002411917000001314
的概率,并且需要采用公式(4)计算这8条路径的概率乘积,进而从这8条路径中选择出概率乘积最大的4条路径,并丢弃剩余的4条路径。至此,即完成了全部节点的路径分裂,并且得到了L条幸存路径。
第五步,从这L条幸存路径中选出概率乘积
Figure GPA00002411917000001315
最大的那条路径上的译码结果做为最终的译码输出。
而对于SCL+CRC译码算法来说,第五步是对L条幸存路径上的译码结果均进行CRC校验,将CRC校验通过的译码结果作为最终的译码输出,或者在有多条路径均通过CRC校验时,将CRC校验通过的路径中概率乘积最大的译码结果作为最终的译码输出。
图5为本发明中极化码的译码设备的结构示意图,如图5所示,该译码设备可以包括SCL译码器、M个CRC校验器、控制器以及存储器。其中,SCL译码器用于对M组接收比特分别进行SCL译码,M个CRC校验器分别与SCL译码器中各组译码结果对应,对各组的译码结果分别进行CRC校验,控制器负责整个译码过程的集中控制,在确定存在CRC校验通过的译码结果时,可以将该译码结果存入存储器,在完成各组译码之后,可以根据存储器中存储的各组译码结果以及冻结码字,生成最终的完整译码结果并进行输出。
译码设备可以预先获知接收的码字上哪些位置传输的是信息比特,哪些位置传输的是冻结比特,也可以预先获知编码设备的CRC校验比特的传输位置,而且还可以预先获知编码设备对原始信息比特进行M组的分组划分方式。因此,译码设备可以按照编码设备的分组划分方式,对接收到的N个比特位中除N-K个冻结比特之外的K个接收比特进行分组,得到M组接收比特,每组接收比特中包含原始信息比特对应的接收比特以及相应的CRC校验比特。即如图5中所示,译码设备划分得到的每一组接收比特为K1,K2,…,KM位,第1组接收比特为
Figure GPA0000241191700000141
经过SCL译码以后变成
Figure GPA0000241191700000142
第2组接收比特为
Figure GPA0000241191700000143
经过SCL译码以后变成
Figure GPA0000241191700000144
以此类推,第m组接收比特为
Figure GPA0000241191700000145
经过SCL译码以后变成
Figure GPA0000241191700000146
第M组接收比特为
Figure GPA0000241191700000147
经过SCL译码以后变成
Figure GPA0000241191700000148
其中Km为第m组包含的比特数,K1=k1,Km=km-km-1
图6为本发明极化码的译码方法实施例的流程图,图7为图5所示译码设备中控制器的处理状态迁移示意图,结合图5~图7所示,本实施例的译码方法在接收到包含接收比特和冻结比特的码字后,可以从码字中提取接收比特,并对接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含图2所示编码设备所生成的CRC校验比特,M为大于等于2的整数;然后译码设备可以对M组接收比特进行SCL译码处理,其中,对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
具体的,本实施例的译码方法可以包括:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1。
具体来说,译码处理过程均是从对第1组接收比特进行1条路径分裂开始的,路径数上限可以设定为Ls
优选的,Lmax的取值Ls可以动态地调整,例如在对一个码字译码开始前,可以根据当前信息比特的接收速度和/或缓冲器的剩余空间动态地调整。在一个码字译码结束,下一个码字译码开始之前,根据当前输入缓冲器的剩余空间可以计算出下一个码字译码时所允许的路径数上限Lmax,并存入控制器。假设D为缓冲器剩余空间数,t为相邻码字信道信息输入的间隔时间,那么所允许的路径数上限Lmax应满足条件使译码过程中缓冲器不会溢出。根据前面的译码过程分析,译码过程理论上可能占用的最长时间与传统自适应SCL相同,即Tmax=(2L0-1)KT0。其中,L0为路径分裂个数,K为待译码的比特数,T0为分裂一个比特所需的时间。因此,为了保证缓冲器不会溢出,要求Tmax<Dt。所以Lmax为满足该条件的最大值即:
Figure GPA0000241191700000151
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果。
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果。
其中,与图2所示编码过程对应的,对第m组接收比特的L条路径的译码结果进行CRC校验时,需要将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果。
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608。
S608、令m=m+1,并执行S603。
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出。
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
结合图5和图7具体来说,译码过程是对M组接收比特按照从1至M的顺序依次进行SCL译码。对于每组接收比特的SCL译码过程,其可以参考前述已说明的SCL译码过程。
控制器包括MLmax+1个状态的状态机,除了最后一个状态外,每个状态取决于两个参数m和L,其中状态(L,m)持续KmL个时钟。
从(L=1,m=1)这一初始状态开始,SCL译码器可以对第1组接收比特
Figure GPA0000241191700000161
进行路径数L为1的译码处理,因此,SCL译码算法可以经过路径分裂得到1条路径,该条路径上的译码结果
Figure GPA0000241191700000162
被送入CRC校验器1进行CRC校验,得到该译码结果的CRC校验结果CRC#1,该CRC校验结果CRC#1被送入控制器中判决是通过校验还是没通过校验,例如CRC#1=1则表征通过校验,CRC#1=0则表征未通过校验。
若CRC#1=1校验通过,则控制器可以将该路径的译码结果输出给存储器,存储器即可存储该第1组接收比特的最终译码结果。在此基础上,控制器可以将状态迁移至(L=1,m=2),即开始对第2组接收比特进行SCL译码处理。在对第2组接收比特进行译码处理时,存储器可以将第1组接收比特的最终译码结果再反馈给SCL译码器,从而使得SCL译码器可以将第1组接收比特的最终译码结果作为对第2组接收比特的译码结果进行CRC校验时的参考。具体来说,译码设备可以对第2组接收比特进行SCL译码。也即SCL译码器可以对第2组接收比特进行路径分裂得到1条路径,该条路径上的译码结果
Figure GPA0000241191700000163
以及第1组接收比特的最终译码结果
Figure GPA0000241191700000164
均被送入CRC校验器2进行CRC校验,得到与该路径的译码结果
Figure GPA0000241191700000165
对应的CRC校验结果CRC#2,该CRC校验结果CRC#2被送入控制器中判决是通过校验还是没通过校验,例如CRC#2=1则表征通过校验,CRC#2=0则表征未通过校验。若第2组接收比特
Figure GPA0000241191700000166
进行路径数L为1的SCL译码处理也通过了CRC校验,则控制器可以将该路径的译码结果输出给存储器,存储器即可存储该第2组接收比特的最终译码结果,控制器可以将状态迁移至(L=1,m=3),即开始对第3组接收比特进行SCL译码处理。在对第3组接收比特进行译码处理时,SCL译码器可以获得第1组接收比特的最终译码结果和第2组接收比特的最终译码结果,从而使得SCL译码器可以将第1组接收比特的最终译码结果和第2组接收比特的最终译码结果作为对第3组接收比特的译码结果进行CRC校验时的参考。具体来说,译码设备可以对第3组接收比特进行SCL译码。也即SCL译码器可以对第3组接收比特进行路径分裂得到1条路径,该条路径上的译码结果
Figure GPA0000241191700000171
第1组接收比特的最终译码结果
Figure GPA0000241191700000172
以及第1组接收比特的最终译码结果
Figure GPA0000241191700000173
均被送入CRC校验器3进行CRC校验,得到与该路径的译码结果
Figure GPA0000241191700000174
对应的CRC校验结果CRC#3,该CRC校验结果CRC#3被送入控制器中判决是通过校验还是没通过校验,例如CRC#3=1则表征通过校验,CRC#3=0则表征未通过校验,依次类推。最快的处理过程是,在L=1的情况下,控制器可以一直将状态迁移至(L=1,m=M),即开始对第M组接收比特
Figure GPA0000241191700000175
进行路径数L为1的SCL译码处理,若该路径的译码结果也通过了CRC校验,则可以得到全部信息比特的最终译码结果。
若CRC#1=0校验不通过,且此时路径数L未达到路径数上限Lmax,则控制器可以将路径数L翻倍,即调整为L=2,此时控制器的状态迁移至(L=2,m=1)。控制器因此可以控制SCL译码器重新对第1组接收比特
Figure GPA0000241191700000176
进行路径分裂,得到2条路径,这2条路径的译码结果
Figure GPA0000241191700000177
均被送入CRC校验器1进行CRC校验,分别得到2条路径的译码结果的CRC校验结果,该2个CRC校验结果被送入控制器中判决是通过校验还是没通过校验。
针对状态(L=2,m=1),若2条路径中有至少1条路径的译码结果校验通过,则控制器可以将该校验通过的译码结果中的最优译码结果输出给存储器,存储器即可存储该第1组接收比特的最终译码结果。需要说明的是,若只有1条路径的译码结果通过校验,则该条路径的译码结果就是最优译码结果,若2条路径的译码结果均通过校验,则控制器可以从这2条路径的译码结果中选出各节点概率乘积最高的译码结果作为最优译码结果。之后,控制器的状态即可迁移至(L=2,m=2),从而可以对第2组接收比特进行路径数为2的SCL译码处理。在得到2条路径上的译码结果
Figure GPA0000241191700000178
之后,这2条路径上的译码结果可以分别与第1组接收比特的最终译码结果
Figure GPA0000241191700000179
一同被送入CRC校验器2进行CRC校验,得到与2条路径的译码结果
Figure GPA0000241191700000181
分别对应的CRC校验结果CRC#2,该2条路径的CRC校验结果CRC#2被送入控制器中判决是通过校验还是没通过校验,例如CRC#2=1则表征通过校验,CRC#2=0则表征未通过校验。若第2组接收比特
Figure GPA0000241191700000182
进行路径数L为2的译码结果中至少有1条路径的译码结果也通过了CRC校验,则控制器可以存储第2组接收比特的最终译码结果,并且可以将状态迁移至(L=2,m=3),即开始对第3组接收比特进行SCL译码处理,依次类推,控制器可以将状态迁移至(L=2,m=M),即开始对第M组接收比特
Figure GPA0000241191700000183
进行路径数L为2的SCL译码处理,若也通过了CRC校验,就可以得到全部信息比特的最终译码结果。
针对状态(L=2,m=1),若2条路径的译码结果均未通过CRC校验且路径数L未达到路径数上限Lmax,则控制器可以将路径数L再翻倍,即调整为L=4,此时控制器的状态迁移至(L=4,m=1)。控制器因此可以控制SCL译码器重新对第1组接收比特
Figure GPA0000241191700000184
进行路径分裂,得到4条路径,这4条路径的译码结果
Figure GPA0000241191700000185
均被送入CRC校验器1进行CRC校验,分别得到4条路径的译码结果的CRC校验结果,后续的处理过程与前述对2条路径的处理过程是类似的,以此类推。
综上,以L=L0<Lmax为例来说:
对于状态(L=L0,m=1),若这L0条路径中至少有1条路径的译码结果通过了CRC校验,则控制器的状态从(L=L0,m=1)迁移至(L=L0,m=2),若L0条路径的译码结果均未通过CRC校验,则控制器的状态从(L=L0,m=2)迁移至(L=2L0,m=1)从第1组接收比特重新开始SCL译码处理。
对于状态(L=L0,m=2),若这L0条路径中至少有1条路径的译码结果通过了CRC校验,则控制器的状态从(L=L0,m=2)迁移至(L=L0,m=3),若L0条路径的译码结果均未通过CRC校验且L0≠Lmax,则控制器的状态从(L=L0,m=3)迁移至(L=2L0,m=1)。
以此类推,最慢的处理过程是,控制器需要遍历全部状态,在L=Lmax,m=M后,结束译码处理过程。
需要说明的是,Lmax可以是预设值,是根据系统对复杂度的需求以及对性能的需求,设置的幸存路径的门限值,一般情况下,在L≤Lmax时,均可以找到校验通过的最优路径。但也存在直到L=Lmax时也无法找到校验通过路径的极端情况。对这种极端情况,本实施例可以从Lmax条分裂路径中选择各节点概率乘积最高的译码结果输出给存储器。
下面再举例对上述译码过程所需时间进行说明。
假设预先可以获知L=L0时才能够找到正确路径。那么在译码过程中:
L=1<L0且m=1时CRC#1=0(不能通过校验),此时L→2并重新从第m=1组开始译码。用T0表示分裂一个比特所需要的时间,那么此过程需要时间T(1,1)=K1T0
L=2<L0且m=1时CRC#1=0(仍不能通过校验),此时L→4并重新从第m=1组开始译码。此过程需要时间T(2,1)=2K1T0
L=L0且m=1时CRC#1=1(能通过校验),此时L不变并开始第m=2组译码。此过程需要时间T(L0,1)=L0K1T0
L=L0且m=2时CRC#2=1(能通过校验),此时L不变并开始第m=3组译码。此过程需要时间T(L0,2)=L0K2T0
L=L0且m=m时CRC#2=1(能通过校验),此时L不变并开始第m=m+1组译码。此过程需要时间T(L0,m)=L0KmT0
L=L0且m=M时CRC#M=1(能通过校验),此时结束译码,可以输出译码结果。此过程需要时间T(L0,M)=L0KMT0
整个译码过程所需总时间为:
Figure GPA0000241191700000191
若M组信息比特平均划分,即Ki=K/M,那么译码总时间为:
Figure GPA0000241191700000192
特殊情况,在L<L0时,有很小的可能CRC#1=1(能通过校验),那么L不变并对第2、3、4......组译码,直到第m组满足CRC#m=0(不能通过校验),此时L→2L并重新从第1组开始译码,此过程需要时间T(L,0)+T(L,1)+...+T(L,m)=LkmT0
综上,图8为本发明实施例的译码处理过程和现有SCL译码处理过程的对比示意图,如图8所示,其中粗线条表征本发明实施例的译码处理过程中,虚线条表征现有SCL译码处理过程。由该图8所示过程可知,本发明实施例通过在编码端对待发送的信息比特进行分段编码,在译码端对接收到的信息比特进行分段译码,且在SCL译码过程中,分裂路径自适应调整,相对于现有技术来说,其译码时间显著减小,译码速度快,延时低,可以提高2-M倍的译码速度。而且,本发明实施例在编码端对第m组信息比特生成CRC校验比特时,将第1~m-1组信息比特均引入一同进行CRC计算,保证了分段编码中各组信息比特的关联性,在译码端对第m组译码结果生成CRC校验比特时,同样将已经译码得到的第1~m-1组译码结果均引入一同进行CRC计算,保证了译码结果的关联性和准确性。另外,本发明实施例还可以动态调整路径数量上限Lmax,避免了译码设备闲置或浪费,合理分配系统资源;此外,本发明实施例的译码能力与传统的SCL+CRC器译码器相当,译码能力无损。
图9为本发明编码设备实施例的结构示意图,如图9所示,本实施例的编码设备可以包括:
分组模块91,用于将信息比特按照在码字中的位置顺序划分成M组信息比特,其中M为大于等于2的整数;
编码处理模块92,用于对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
编码发送模块93,用于对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
可选的,分组模块91,具体用于将信息比特按照在码字中的位置顺序等分成M组,得到M组信息比特。
本发明还提供一种编码设备的硬件结构实现,该硬件结构图如3所示,其包括:分组器、M个CRC生成器以及编码器;其中,分组器与M个CRC生成器的输入端连接,第m个CRC生成器的输出端与编码器和第m+1至第M个CRC生成器的输入端连接,第M个CRC生成器的输出端与所述编码器连接,其中M为大于等于2的整数;
分组器,用于将信息比特按照在码字中的位置顺序划分成M组信息比特;
M个CRC生成器,用于对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
编码器,用于对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
本实施例的编码设备可以用于执行上述编码端所执行的操作,其原理和技术效果类似,此处不再赘述。
图10为本发明译码设备实施例的结构示意图,如图10所示,本实施例的译码设备可以包括:
分组模块10,用于接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含循环冗余校验码CRC校验比特,M为大于等于2的整数;
译码处理模块11,用于对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;其中,所述译码处理包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
可选的,译码处理模块11,具体用于:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
另外,本发明还提供一种译码设备的硬件结构实现,该硬件结构图如5所示,该译码设备可以包括:分组器、SCL译码器、M个CRC校验器、控制器以及存储器;其中,分组器与SCL译码器连接,SCL译码器的第m路输出与第m+1至第M个CRC校验器连接,存储器与控制器和SCL译码器,控制器与M个CRC校验器和SCL译码器连接,其中M为大于等于2的整数;
分组器,用于接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含CRC校验比特;
SCL译码器,用于对所述M组接收比特分别进行SCL译码处理,并将译码处理结果对应发送给CRC校验器进行CRC校验;
M个CRC校验器,用于分别对所述M组接收比特的译码结果进行CRC校验得到校验结果;
控制器,用于根据所述校验结果确定各组接收比特的最终译码结果,并将最终译码结果存储到所述存储器中,并且在得到全部接收比特的译码结果之后将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
存储器,用于存储控制器确定的各组接收比特的最终译码结果,并将各组接收比特的最终译码结果反馈给所述SCL校验器;
其中,SCL译码处理和所述CRC校验处理,包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
优选的,上述SCL译码处理和所述CRC校验处理,具体包括:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
本实施例的译码设备可以用于执行上述译码端所执行的操作,其原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (13)

1.一种极化码的编码方法,其特征在于,包括:
将信息比特按照在码字中的位置顺序划分成M组信息比特,其中M为大于等于2的整数;
对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
2.根据权利要求1所述的方法,其特征在于,所述将信息比特按照在码字中的位置顺序划分成M组信息比特,包括:
将信息比特按照在码字中的位置顺序等分成M组,得到M组信息比特。
3.根据权利要求1或2所述的方法,其特征在于,所述对M组信息比特分别附加循环冗余校验码CRC校验比特,包括:
将所述CRC校验比特分别附加在M组信息比特中各组信息比特的尾部。
4.一种极化码的译码方法,其特征在于,包括:
接收码字,所述码字包含接收比特和冻结比特;
从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含循环冗余校验码CRC校验比特,M为大于等于2的整数;
对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;其中,所述译码处理包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
5.根据权利要求4所述的方法,其特征在于,所述对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出,包括:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
6.根据权利要求4或5所述的方法,其特征在于,所述对所述M组接收比特进行SCL译码处理之前,还包括:
根据当前信息比特的接收速度和/或接收缓冲器的剩余空间,对所述Lmax进行调整。
7.一种编码设备,其特征在于,包括:
分组模块,用于将信息比特按照在码字中的位置顺序划分成M组信息比特,其中M为大于等于2的整数;
编码处理模块,用于对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
编码发送模块,用于对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
8.根据权利要求7所述的设备,其特征在于,所述分组模块,具体用于将信息比特按照在码字中的位置顺序等分成M组,得到M组信息比特。
9.一种编码设备,其特征在于,包括:分组器、M个CRC生成器以及编码器;其中,分组器与所述M个CRC生成器的输入端连接,第m个CRC生成器的输出端与所述编码器和第m+1至第M个CRC生成器的输入端连接,第M个CRC生成器的输出端与所述编码器连接,其中M为大于等于2的整数;
所述分组器,用于将信息比特按照在码字中的位置顺序划分成M组信息比特;
所述M个CRC生成器,用于对M组信息比特分别附加循环冗余校验码CRC校验比特,得到待发送信息比特,其中,第1组信息比特所附加的CRC校验比特是根据第1组信息比特生成的,第m组信息比特所附加的CRC校验比特是根据附加有CRC校验比特的第1组信息比特至第m-1组信息比特以及第m组信息比特生成的,2≤m≤M;
所述编码器,用于对所述待发送信息比特和冻结比特进行极化编码,得到码字并发送。
10.一种译码设备,其特征在于,包括:
分组模块,用于接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含循环冗余校验码CRC校验比特,M为大于等于2的整数;
译码处理模块,用于对所述M组接收比特进行SCL译码处理,并将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;其中,所述译码处理包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
11.根据权利要求10所述的设备,其特征在于,所述译码处理模块,具体用于:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
12.一种译码设备,其特征在于,包括:分组器、SCL译码器、M个CRC校验器、控制器以及存储器;其中,所述分组器与所述SCL译码器连接,所述SCL译码器的第m路输出与第m+1至第M个CRC校验器连接,所述存储器与所述控制器和所述SCL译码器,所述控制器与所述M个CRC校验器和所述SCL译码器连接,其中M为大于等于2的整数;
所述分组器,用于接收码字,所述码字包含接收比特和冻结比特;从所述码字中提取接收比特,并对所述接收比特按照在码字中的位置顺序划分成M组接收比特,其中,各组接收比特均包含CRC校验比特;
所述SCL译码器,用于对所述M组接收比特分别进行SCL译码处理,并将译码处理结果对应发送给CRC校验器进行CRC校验;
所述M个CRC校验器,用于分别对所述M组接收比特的译码结果进行CRC校验得到校验结果;
所述控制器,用于根据所述校验结果确定各组接收比特的最终译码结果,并将最终译码结果存储到所述存储器中,并且在得到全部接收比特的译码结果之后将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
所述存储器,用于存储控制器确定的各组接收比特的最终译码结果,并将各组接收比特的最终译码结果反馈给所述SCL译码器;
其中,所述SCL译码处理和所述CRC校验处理,包括:对第m-1组接收比特进行L条路径的SCL译码处理,并对各L条路径的译码结果分别与第1至第m-2组接收比特的最终译码结果一同进行CRC校验,若L条路径的译码结果中存在能够通过CRC校验的路径,则开始对第m组接收比特进行SCL译码处理;否则对L翻倍,并从第1组开始重新进行SCL译码处理,直到L达到路径数上限Lmax且m达到M。
13.根据权利要求12所述的设备,其特征在于,所述SCL译码处理和所述CRC校验处理,具体包括:
S601、初始化处理,其中,L=1,Lmax=Ls
S602、令m=1;
S603、对第m组接收比特进行SCL译码,得到L条路径的译码结果;
S604、对L条路径的译码结果分别进行CRC校验,得到与各条路径的译码结果对应的CRC校验结果,其中,对第m组接收比特的L条路径的译码结果进行CRC校验时,将各条路径的译码结果与已经完成译码的第1~m-1组接收比特的译码结果一起进行CRC校验,得到与L条路径的译码结果分别对应的CRC校验结果;
S605、根据各CRC校验结果,判断各条路径的译码结果中是否存在至少一条路径的译码结果通过校验;若是,则执行S606,否则执行S610;
S606、将通过校验的译码结果中最优的译码结果作为第m组接收比特对应的最终译码结果;
S607、判断m是否等于M,若是,则执行S609,否则执行S608;
S608、令m=m+1,并执行S603;
S609、将M组接收比特对应的最终译码结果与冻结比特进行组合并输出;
S610、判断L是否等于Lmax,若是,则执行S611,否则执行S612;
S611、将各条路径的译码结果中节点概率乘积最大的路径的译码结果作为第m组接收比特对应的最终译码结果,并执行S607;
S612、令L=2L,并执行S602。
CN201580083408.2A 2015-09-30 2015-09-30 极化码的编译码方法及其装置 Active CN108292967B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/091202 WO2017054164A1 (zh) 2015-09-30 2015-09-30 极化码的编译码方法及其装置

Publications (2)

Publication Number Publication Date
CN108292967A CN108292967A (zh) 2018-07-17
CN108292967B true CN108292967B (zh) 2020-07-07

Family

ID=58422545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580083408.2A Active CN108292967B (zh) 2015-09-30 2015-09-30 极化码的编译码方法及其装置

Country Status (2)

Country Link
CN (1) CN108292967B (zh)
WO (1) WO2017054164A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110582955B (zh) * 2017-05-04 2022-07-19 上海诺基亚贝尔股份有限公司 用于极化码的编码装置
WO2018201404A1 (en) 2017-05-04 2018-11-08 Qualcomm Incorporated Polar codes for uplink control information
WO2018214101A1 (en) * 2017-05-25 2018-11-29 Qualcomm Incorporated False alarm rate suppression for polar codes
CN108988873B (zh) * 2017-05-31 2021-08-20 华为技术有限公司 一种Polar码处理方法、译码器和终端
US10784991B2 (en) * 2017-06-01 2020-09-22 Qualcomm Incorporated Polar code construction for low-latency decoding and reduced false alarm rate with multiple formats
WO2018227604A1 (en) * 2017-06-16 2018-12-20 Huawei Technologies Co., Ltd. Methods and apparatus for polar encoding
WO2019000190A1 (en) * 2017-06-26 2019-01-03 Nokia Technologies Oy CRC AND POLAR CODE TRANSMISSION SCHEME
CN109150383B (zh) * 2017-06-27 2021-08-27 华为技术有限公司 一种Polar码的编码方法及装置
CN109412607B (zh) * 2017-08-16 2022-08-26 深圳市海思半导体有限公司 译码方法及装置
US10594439B2 (en) 2017-09-08 2020-03-17 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications to output a polar encoded bit sequence
CN107659381B (zh) * 2017-09-08 2023-11-17 华为技术有限公司 编译码方法及装置
EP3667965A4 (en) 2017-09-08 2020-10-14 Huawei Technologies Co., Ltd. CODING METHOD AND DEVICE
CN108768411A (zh) * 2018-07-09 2018-11-06 中国计量大学 基于scl的极化码低复杂度分段译码器设计
CN111262595B (zh) * 2018-11-30 2023-07-21 中兴通讯股份有限公司 一种极化码译码方法及装置、多级译码器、存储介质
CN109660264B (zh) * 2018-12-03 2023-05-05 中国人民解放军陆军工程大学 高性能极化码译码算法
CN111435838B (zh) * 2019-01-14 2022-06-14 华为技术有限公司 译码方法、装置及设备
CN110601700B (zh) * 2019-08-09 2021-05-04 中国地质大学(武汉) 一种适用于极化码串行抵消列表译码算法的硬件排序器
CN110868224B (zh) * 2019-11-26 2023-03-21 华南理工大学 一种基于模4和分段校验辅助的极化码编译码方法
CN111628782B (zh) * 2020-07-03 2022-08-09 中山大学 一种分段翻转连续对消列表法的极化码译码方法及装置
CN112332864B (zh) * 2020-12-03 2023-09-08 北京壹思达惟信息技术有限公司 一种自适应有序移动剪枝列表的极化码译码方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281166A (zh) * 2013-05-15 2013-09-04 北京邮电大学 一种基于极化码的混合自动重传请求传输方法
CN103825669A (zh) * 2012-11-16 2014-05-28 华为技术有限公司 数据处理的方法和装置
CN104219019A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 编码方法及编码设备
KR101496182B1 (ko) * 2013-12-16 2015-03-09 성균관대학교산학협력단 최소거리가 확장된 극 부호 생성 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825669A (zh) * 2012-11-16 2014-05-28 华为技术有限公司 数据处理的方法和装置
CN103281166A (zh) * 2013-05-15 2013-09-04 北京邮电大学 一种基于极化码的混合自动重传请求传输方法
CN104219019A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 编码方法及编码设备
KR101496182B1 (ko) * 2013-12-16 2015-03-09 성균관대학교산학협력단 최소거리가 확장된 극 부호 생성 방법 및 장치

Also Published As

Publication number Publication date
WO2017054164A1 (zh) 2017-04-06
CN108292967A (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
CN108292967B (zh) 极化码的编译码方法及其装置
US10673468B2 (en) Concatenated and sliding-window polar coding
CN109660264B (zh) 高性能极化码译码算法
CN107370560B (zh) 一种极化码的编码和速率匹配方法、装置及设备
CN105637767B (zh) 编码的速率匹配处理方法和装置
US20180248564A1 (en) Method of low complexity scl decoding for polar codes and apparatus thereof
US8250430B2 (en) Coding system, encoding apparatus and decoding apparatus, with information and parity storage units
CN110100403B (zh) 使用极化编码数据传输的通信系统中的错误检测
CN109768846B (zh) 基于二核三核混合极化码的凿孔方法、系统、装置及介质
JP2005522140A (ja) 硬入力の反復した順方向誤り修正の方法
CN111541517B (zh) 一种列表极化码传播译码方法
CN109155634B (zh) 实施极化码的设备和方法
EP3602794B1 (en) Check bit concatenated polar codes
KR101327505B1 (ko) 이진 이산 무기억 대칭 채널에서 연속 제거 복호 알고리즘을 이용한 송신기 및 수신기
JP2005522139A (ja) 繰り返し硬判定順方向誤り訂正復号化用の装置
CN111446973B (zh) 基于多翻转比特集合的极化码置信传播译码方法
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
WO2019030908A1 (en) ADAPTATION OF FLOW IN POLAR CODES
CN113541871A (zh) 一种生成码字的方法及编解码器
US20170163380A1 (en) High speed add-compare-select for viterbi decoder
Dubé et al. Using bit recycling to reduce Knuth's balanced codes redundancy
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
US8782501B2 (en) Error correction encoding method, decoding method and associated devices
JP2012142709A (ja) 受信機
CN109245777B (zh) 一种阶梯码解码方法和阶梯码解码装置

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