CN114915297A - 一种编码和译码方法及相关装置 - Google Patents

一种编码和译码方法及相关装置 Download PDF

Info

Publication number
CN114915297A
CN114915297A CN202110177405.2A CN202110177405A CN114915297A CN 114915297 A CN114915297 A CN 114915297A CN 202110177405 A CN202110177405 A CN 202110177405A CN 114915297 A CN114915297 A CN 114915297A
Authority
CN
China
Prior art keywords
sub
matrix
block
blocks
code
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
Application number
CN202110177405.2A
Other languages
English (en)
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
Original Assignee
Huawei Technologies Co Ltd
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 filed Critical Huawei Technologies Co Ltd
Priority to CN202110177405.2A priority Critical patent/CN114915297A/zh
Priority to EP22752180.4A priority patent/EP4277132A4/en
Priority to PCT/CN2022/074851 priority patent/WO2022171019A1/zh
Publication of CN114915297A publication Critical patent/CN114915297A/zh
Priority to US18/366,757 priority patent/US20230387939A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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 using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供一种编码和译码方法及相关装置,用来降低编码译码的复杂度,以及提升编译码性能。该方法中,发送设备可以获取第一待编码向量。发送设备可以对第一待编码向量进行第一编码,得到第二待编码向量。发送设备可以基于第一生成矩阵对第二待编码向量进行编码,得到编码后的码字。其中,第一生成矩阵可以包括至少N+1个子矩阵a,其中的N个子矩阵a可以位于第一生成矩阵的主对角线上。其中,第一生成矩阵可以是块上三角矩阵,或者述第一生成矩阵可以是块下三角矩阵。前述子矩阵a是大小为2m*2m的极化码polar核矩阵,m是自然数,N是自然数。发送设备可以发送编码后的码字。

Description

一种编码和译码方法及相关装置
技术领域
本申请涉及无线通信技术领域,尤其涉及一种编码和译码方法及相关装置。
背景技术
在通信技术领域,通信设备(例如终端设备、基站等)可以通过极化码(polar码)的方式进行信道编码和译码。
近年来,随着polar码被列入无线通信第五代移动网络(5th generation mobilenetworks,5G)标准,对polar码的译码研究成为了通信方向的热点问题。目前主流的polar码译码方法可按其译码时序分为两类,即polar码时序译码和polar码非时序译码。所谓polar码时序译码,是指译码器根据polar设计的天然时序性按比特位逐位进行译码。而polar码非时序译码,是指译码器根据polar码的其他结构(如Taner graph,Trelis graph等)并行输出译码结果。polar码时序译码的优点是和polar码的设计兼容,理论分析很方便,缺点是由于其逐位输出的特性,译码延迟较大,对实时性要求较高的通信系统不适合。polar码非时序译码则相反,因为可以一次性输出多个比特,译码延迟较小,但是因其跟polar码的设计不完全匹配,会在译码性能上带来一定的损失。
发明内容
本申请实施例提供一种编码和译码方法及相关装置,用来降低编码译码的复杂度,以及获得编译码的增益,提升编译码性能。
第一方面,提供了一种编码方法,该方法可以由发送设备执行,或者类似发送设备功能的芯片执行。其中,发送设备可以是终端设备或者网络设备。该方法中,发送设备可以获取第一待编码向量。发送设备可以对第一待编码向量进行第一编码,得到第二待编码向量。发送设备可以基于第一生成矩阵对第二待编码向量进行编码,得到编码后的码字。其中,第一生成矩阵可以包括至少N+1个子矩阵a,其中的N个子矩阵a可以位于第一生成矩阵的主对角线上。其中,第一生成矩阵可以是块上三角矩阵,或者述第一生成矩阵可以是块下三角矩阵。前述子矩阵a是大小为2m*2m的极化码polar核矩阵,m是自然数,N是自然数。发送设备可以发送编码后的码字。
基于上述方案,发送设备可以对第一待编码向量进行第一编码,由于第一待编码向量中任一个码块进行第一编码时会受上一个码块的影响,且也会影响下一个码块进行第一编码,可以使得多个码块之间有耦合,获得编码增益。此外,在第一生成矩阵对第二待编码向量进行编码时,由于第一生成矩阵包括了N+1个子矩阵,且N+1个子矩阵位于第一生成矩阵的对角线上,且第一生成矩阵块三角矩阵,因此相当于对多个短码进行编码,再对多个短码进行耦合,得到编码后的码字,进而可以降低编码复杂度,也可以提升编码的性能。
在一种可能的实现方式中,块上三角矩阵中上三角的元素都是a,块下三角矩阵中下三角的元素都是a。
基于上述方案,块上三角矩阵中上三角的元素都可以是a,下三角中的元素可以是0,在块下三角矩阵中下三角的元素都可以是a,上三角的元素都可以是0,在对第二待编码向量进行编码时,可以根据第一生成矩阵中子矩阵a的位置关系,对多个短码进行耦合。
在一种可能的实现方式中,第一生成矩阵可以包含K个第一子块,K个第一子块可以位于第一生成矩阵的主对角线上,相邻的第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个第一子块是
Figure BDA0002940418460000021
Figure BDA0002940418460000022
基于上述方案,第一生成矩阵可以包含K个位于第一生成矩阵的主对角线上的第一子块,且第一子块有两种样式不同的矩阵,使得第一生成矩阵也具有两种不同的样式,因此可以实现对不同的短码进行耦合。
在一种可能的实现方式中,相邻的第一子块之间重叠部分为a。
基于上述方案,相邻的第一子块之间重叠部分大小可以为子矩阵a的大小,使得短码之间的耦合方式与polar核矩阵相关,可以降低编码的复杂度。
在一种可能的实现方式中,K个第一子块可以包含N个子矩阵a,当第一子块是
Figure BDA0002940418460000023
时,1个子矩阵a位于第一生成矩阵的右上角。
基于上述方案,第一生成矩阵可以是包含K个位于第一生成矩阵的主对角线上的第一子块以及位于右上角的一个子矩阵a,可以使得第二待编码向量中第一个码块与最后一个码块之间有耦合,可以进一步提升编码性能。
在一种可能的实现方式中,K个第一子块可以包含N个子矩阵a,当第一子块是
Figure BDA0002940418460000024
时,1个子矩阵a位于第一生成矩阵的左下角。
基于上述方案,第一生成矩阵可以是包含K个位于第一生成矩阵的主对角线上的第一子块以及位于左下角的一个子矩阵a,可以使得第二待编码向量中第一个码块与最后一个码块之间有耦合,可以进一步提升编码性能。
在一种可能的实现方式中,发送设备可以确定待编码信息比特包含的第二子块的数量。发送设备可以基于码字的总码率和第二子块的数量,确定待编码信息比特包含的每一个第二子块的码率;其中,每一个第二子块的码率不同。发送设备可以基于每一个第二子块的码率确定第一待编码向量。第一待编码向量可以包含q个第二子块,q是大于0的整数。
基于上述方案,发送设备可以获取第一待编码向量时,可以根据码字的总码率以及第二子块的数量确定第一待编码向量中每一个第二子块的码率,使得短码的长度不同,耦合码的长度也不相同,可以提升编码性能。
第二方面,提供了一种译码方法。该方法可以由接收设备执行,或者类似接收设备功能的芯片执行。该方法中,接收设备可以接收码字。码字可以是基于第一生成矩阵编码得到的。其中,第一生成矩阵可以包括至少N+1个子矩阵a,其中的N个子矩阵a可以位于第一生成矩阵的主对角线上,第一生成矩阵可以是块上三角矩阵,或者第一生成矩阵可以是块下三角矩阵。其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数。接收设备可以对码字进行译码。
在一种可能的实现方式中,块上三角矩阵中上三角的元素都是a,块下三角矩阵中下三角的元素都是a。
在一种可能的实现方式中,第一生成矩阵可以包含K个第一子块,K个第一子块可以位于第一生成矩阵的主对角线上,相邻的第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数。每个第一子块可以是
Figure BDA0002940418460000025
Figure BDA0002940418460000026
在一种可能的实现方式中,相邻的第一子块之间重叠部分可以为a。
在一种可能的实现方式中,K个第一子块可以包含N个子矩阵a,当第一子块是
Figure BDA0002940418460000031
时,1个子矩阵a位于第一生成矩阵的右上角。
在一种可能的实现方式中,K个第一子块可以包含N个子矩阵a,当第一子块是
Figure BDA0002940418460000032
时,1个子矩阵a位于第一生成矩阵的左下角。
第三方面,提供一种通信装置,该装置可以包括用于执行第一方面或第一方面任一种可能实现方式中的各个模块/单元,或者还可以包括用于执行第二方面或第二方面任一种可能实现方式中的各个模块/单元。比如,处理单元和输入输出单元。
示例性的,该装置包括用于执行第一方面或第一方面任一种可能实现方式中的各个模块/单元时,所述处理单元,用于获取第一待编码向量;所述处理单元,还用于对所述第一待编码向量进行第一编码,得到第二待编码向量;基于第一生成矩阵对所述第二待编码向量进行第二编码,得到编码后的码字;其中,第一生成矩阵包括至少N+1个子矩阵a,其中的N个子矩阵a位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数;所述输入输出单元,用于发送所述编码后的码字。
在一种可能的实现方式中,所述块上三角矩阵中上三角的元素都是a,所述块下三角矩阵中下三角的元素都是a。
在一种可能的实现方式中,所述第一生成矩阵包含K个第一子块,所述K个第一子块位于所述第一生成矩阵的主对角线上,相邻的第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个第一子块是
Figure BDA0002940418460000033
Figure BDA0002940418460000034
在一种可能的实现方式中,相邻的第一子块之间重叠部分为a。
在一种可能的实现方式中所述K个第一子块包含N个子矩阵a,当所述第一子块是
Figure BDA0002940418460000035
时,1个子矩阵a位于所述第一生成矩阵的右上角。
在一种可能的实现方式中,所述K个第一子块包含N个子矩阵a,当所述第一子块是
Figure BDA0002940418460000036
时,1个子矩阵a位于所述第一生成矩阵的左下角。
在一种可能的实现方式中,所述处理单元还用于确定待编码信息比特包含的第二子块的数量;基于码字的总码率和所述第二子块的数量,确定所述待编码信息比特包含的每一个第二子块的码率;其中,每一个第二子块的码率不同;基于所述每一个第二子块的码率确定第一待编码向量;所述第一待编码向量包含q个第二子块,q是大于0的整数。
示例性的,该装置包括用于执行第二方面或第二方面任一种可能实现方式中的各个模块/单元时,所述输入输出单元,用于接收码字;所述码字是基于第一生成矩阵编码得到的;所述处理单元,用于根据所述第一生成矩阵对所述码字进行译码。其中,第一生成矩阵包括至少N+1个子矩阵a,其中的N个子矩阵a位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数。
在一种可能的实现方式中,所述块上三角矩阵中上三角的元素都是a,所述块下三角矩阵中下三角的元素都是a。
在一种可能的实现方式中,所述第一生成矩阵包含K个第一子块,所述K个第一子块位于所述第一生成矩阵的主对角线上,相邻的第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个第一子块是
Figure BDA0002940418460000041
Figure BDA0002940418460000042
在一种可能的实现方式中,相邻的第一子块之间重叠部分为a。
在一种可能的实现方式中,所述K个第一子块包含N个子矩阵a,当所述第一子块是
Figure BDA0002940418460000043
时,1个子矩阵a位于所述第一生成矩阵的右上角。
在一种可能的实现方式中,所述K个第一子块包含N个子矩阵a,当所述第一子块是
Figure BDA0002940418460000044
时,1个子矩阵a位于所述第一生成矩阵的左下角。
第四方面,提供了一种通信装置,通信装置包括处理器和收发机。收发机执行第一方面或第一方面任一种可能实现方式中方法的收发步骤,或者执行第二方面或第二方面任一种可能实现方式中方法的收发步骤。控制器运行时,处理器利用控制器中的硬件资源执行第一方面或第一方面任一种可能实现方式中方法的除收发步骤以外的处理步骤,或者执行第二方面或第二方面任一种可能实现方式中方法的除收发步骤以外的处理步骤。
在一种可能的实现方式中,通信装置还包括存储器。该存储器可以位于装置内部,或者也可以位于装置外部,与所述装置相连。
在一种可能的实现方式中,存储器可以与处理器集成在一起。
第五方面,提供了一种芯片,该芯片包括逻辑电路和通信接口。
在一种设计中,逻辑电路用于获取第一待编码向量,以及对第一待编码向量进行第一编码,得到第二待编码向量。基于第一生成矩阵对第二待编码向量进行第二编码,得到编码后的码字。所述通信接口用于输出编码后的码字。
在一种设计中,所述通信接口用于输入编码后的码字。所述逻辑电路用于根据第一生成矩阵对所述编码后的码字进行译码。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第七方面,本申请提供了一种存储指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第八方面,本申请提供一种通信系统,包括至少一个上述的终端设备和至少一个上述的网络设备。
另外,第二方面至第八方面的有益效果可以参见如第一方面所示的有益效果。
附图说明
图1为polari编码示意图;
图2为本申请实施例提供的通信系统的示意图;
图3为本申请实施例提供的编码方法和译码方法的示例性流程图;
图4A为本申请实施例提供的移位寄存器的示意图之一;
图4B为本申请实施例提供的移位寄存器的示意图之一;
图5A为本申请实施例提供的第一待编码向量的分组示意图之一;
图5B为本申请实施例提供的第一待编码向量的分组示意图之一;
图5C为本申请实施例提供的第一待编码向量的分组示意图之一;
图5D为本申请实施例提供的第一待编码向量的分组示意图之一;
图5E为本申请实施例提供的第一待编码向量的分组示意图之一;
图6A为本申请实施例提供的子矩阵a的示意图之一;
图6B为本申请实施例提供的子矩阵a的示意图之一;
图7A为本申请实施例提供的第一生成矩阵的示意图之一;
图7B为本申请实施例提供的第一生成矩阵的示意图之一;
图8A为本申请实施例提供的译码性能示意图之一;
图8B为本申请实施例提供的译码性能示意图之一;
图9A为本申请实施例提供的第一子块的示意图之一;
图9B为本申请实施例提供的第一生成矩阵的示意图之一;
图10A为本申请实施例提供的第一子块的示意图之一;
图10B为本申请实施例提供的第一生成矩阵的示意图之一;
图11A为本申请实施例提供的第一生成矩阵的示意图之一;
图11B为本申请实施例提供的第一生成矩阵的示意图之一;
图12A为本申请实施例提供的译码性能示意图之一;
图12B为本申请实施例提供的译码性能示意图之一;
图13A为本申请实施例提供的译码过程示意图之一;
图13B为本申请实施例提供的译码过程示意图之一;
图14为本申请实施例的发送码块的耦合关系示意图;
图15为本申请实施例提供的装置的结构示意图;
图16为本申请实施例提供的编码装置示意图之一;
图17为本申请实施例提供的译码装置示意图之一;
图18为本申请实施例提供的编码装置示意图之一;
图19为本申请实施例提供的译码装置示意图之一。
具体实施方式
在通信技术领域,通信设备(例如终端设备、基站等)可以通过极化码(polar码)的方式进行信道编码。以下,通过如下两种方式对polar编码进行介绍。
方式一:通过生成矩阵对待编码比特进行编码。
其中,
Figure BDA0002940418460000051
参阅图1,
Figure BDA0002940418460000052
为一个行向量,
Figure BDA0002940418460000053
N为码长,N为大于或等于1的整数。ui为编码前的比特,i为1至N之间的整数。
Figure BDA0002940418460000054
中包括信息比特和/或冻结比特,即,ui可以为信息比特或者冻结比特。信息比特为用于携带信息的比特。冻结比特为填充比特,冻结比特通常可以为0。
GN为生成矩阵,GN为N*N的矩阵,
Figure BDA0002940418460000055
或者
Figure BDA0002940418460000056
其中,BN为一个N*N的转置矩阵,例如,BN可以为比特转置(bit reversal)矩阵。
Figure BDA0002940418460000057
Figure BDA0002940418460000058
为log2(N)个矩阵F2的克罗内克(kronecker)乘积。上述所涉及的加法和乘法均为二进制伽罗华域(galois field)上的操作。还可以将GN称为生成矩阵核。
方式二:通过编码示意图介绍polar编码过程。
参见图1,该编码图对应的编码码长为8,每一行中的每一个圆圈表示圆圈所在行的比特与圆圈所达行之间的一次求和,圆圈右侧的比特即为求和结果。举例来说,第一个冻结比特所在行的第一个圆圈是指将圆圈所在行即第一行的冻结比特0,与圆圈所达行即第二行的比特0求和,求和结果为0。
目前,由于polar编码能够被严格证明达到信道容量的信道编码方案,具有高性能,较低复杂度,匹配方式灵活等特点。目前已经被第三代合作计划(3rd generationpartnership project,3GPP)确定成为5G控制信道增强移动宽带(enhanced mobilebroadband,eMBB)场景控制信道编码方案。目前主流的polar码译码方法可按其译码时序分为两类,即polar码时序译码和polar码非时序译码。所谓polar码时序译码,是指译码器根据polar设计的天然时序性按比特位逐位进行译码。而polar码非时序译码,是指译码器根据polar码的其他结构(如Taner graph,Trelis graph等)并行输出译码结果。目前主要的polar码时序译码算法有逐次抵消(successive cancellation,SC)译码,逐次抵消列表(successive cancellation list,SCL)译码,连续消除堆栈(successive cancellationstack,SCS)译码和加上循环冗余校验之后的逐次抵消列表(cyclic redundancy check-aided successive cancellation list,CA-SCL)译码等。而非时序译码方法主要有置信传播译码(belief propagation,BP)译码等。就译码性能而言,SC译码最差,但是译码延迟有所提升。BP译码略好于SC译码。SCL译码较前者有很大提升,CA-SCL可以使polar码的性能低密度奇偶校验码(low density parity check code,LDPC)码和涡轮码(turbo code)更好。因此目前实际系统中主要采用SCL译码和CA-SCL译码。
polar码时序译码的优点是和polar码的设计兼容,理论分析很方便,缺点是由于其逐位输出的特性,译码延迟较大,对实时性要求较高的通信系统不适合。polar码非时序译码则相反,因为可以一次性输出多个比特,译码延迟较小,但是因其跟polar码的设计不完全匹配,会在译码性能上带来一定的损失。但通过合理的设计,可以将这部分损失尽可能的减小。
有鉴于此,本申请实施例提供了一种编码和译码方法,用来降低polar编译码的复杂度以及提升polar编译码的性能。本申请实施例中提供了多种生成矩阵,用来对待编码比特进行编码。上述多种生成矩阵中可以将邻近的码块耦合起来,将短码耦合成长码,在提升编码增益的前提下,维持低复杂度的译码。
本申请实施例可以应用于多种采用polar编码的领域,例如数据存储领域、光网络通信领域和无线通信领域等等。前述无线通信领域可以包括但不限于5G通信系统、未来的通信系统(如6G通信系统)、卫星通信系统、窄带物联网系统(narrow band-internet ofthings,NB-IoT)、全球移动通信系统(global system for mobile communications,GSM)、增强型数据速率GSM演进系统(enhanced data rate for GSM evolution,EDGE)、宽带码分多址系统(wideband code division multiple access,WCDMA)、码分多址2000系统(codedivision multiple access,CDMA2000)、时分同步码分多址系统(time division-synchronization code division multiple access,TD-SCDMA),长期演进系统(longterm evolution,LTE)以及5G移动通信系统的三大应用场景eMBB,超高可靠与低延迟的通信(ultra reliable low latency communication,URLLC)以及大规模机器通信(massivemachine-type communications,mMTC)。
下面结合图2,介绍本申请实施例提供的编码和译码方法所适用的通信系统。参见图2,通信系统200包括发送设备201和接收设备2102。其中,发送设备201可以是网络设备或者可以是终端设备,接收设备202可以是网络设备也可以是终端设备。可选的,当发送设备201是网络设备时,接收设备202可以是终端设备;当接收设备202是网络设备时,发送设备201可以是终端设备。
其中,发送设备201可以包括编码器,发送设备201可以通过编码器对待编码比特进行polar编码,并输出编码后的码字。编码后的码字经过速率匹配、交织以及调制后可以在信道上传输至接收设备202。其中,接收设备202可以包括译码器,接收设备202可以接收并解调来自发送设备201的信号,接收设备202可以通过译码器对接收信号进行译码。
本申请涉及的终端设备,包括向用户提供语音和/或数据连通性的设备,具体的,包括向用户提供语音的设备,或包括向用户提供数据连通性的设备,或包括向用户提供语音和数据连通性的设备。例如可以包括具有无线连接功能的手持式设备、或连接到无线调制解调器的处理设备。该终端设备可以包括用户设备(user equipment,UE)、无线终端设备、移动终端设备、设备到设备通信(device-to-device,D2D)终端设备、车到一切(vehicleto everything,V2X)终端设备、机器到机器/机器类通信(machine-to-machine/machine-type communications,M2M/MTC)终端设备、物联网(internet of things,IoT)终端设备、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、远程站(remote station)、接入点(access point,AP)、远程终端设备(remote terminal)、接入终端设备(access terminal)、用户终端设备(user terminal)、用户代理(useragent)、或用户装备(user device)、卫星、无人机、气球、飞机等。例如,可以包括移动电话(或称为“蜂窝”电话),具有移动终端设备的计算机,便携式、袖珍式、手持式、计算机内置的移动装置等。例如,个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wirelesslocal loop,WLL)站、个人数字助理(personal digital assistant,PDA)、等设备。还包括受限设备,例如功耗较低的设备,或存储能力有限的设备,或计算能力有限的设备等。例如包括条码、射频识别(radio frequency identification,RFID)、传感器、全球定位系统(global positioning system,GPS)、激光扫描器等信息传感设备。作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备或智能穿戴式设备等,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称。而如上介绍的各种终端设备,如果位于车辆上(例如放置在车辆内或安装在车辆内),都可以认为是车载终端设备,车载终端设备例如也称为车载单元(on-boardunit,OBU)。
本申请所涉及的网络设备,例如包括接入网(access network,AN)设备,例如基站(例如,接入点),可以是指接入网中在空口通过一个或多个小区与无线终端设备通信的设备,或者例如,一种车到一切(vehicle-to-everything,V2X)技术中的网络设备为路侧单元(road side unit,RSU)。网络设备可以包括长期演进(long term evolution,LTE)系统或高级长期演进(long term evolution-advanced,LTE-A)中的演进型基站(NodeB或eNB或e-NodeB,evolutional Node B),或者也可以包括演进的分组核心网络(evolved packetcore,EPC)、第五代移动通信技术(the 5th generation,5G)、新空口(new radio,NR)系统(也简称为NR系统)中的下一代节点B(next generation node B,gNB)或者也可以包括云接入网(cloud radio access network,Cloud RAN)系统中的集中式单元(centralizedunit,CU)和分布式单元(distributed unit,DU),卫星、无人机、气球和飞机等,本申请实施例并不限定。
参阅图3,为本申请实施例提供的编码和译码方法的示例性流程图,可以包括以下步骤:
步骤301、发送设备获取第一待编码向量。
其中,第一待编码向量可以包括信息比特和冻结比特。发送设备可以根据Y个待编码比特对应的Y个子信道的可靠度,确定Y个待编码比特的位置,继而确定第一待编码向量。其中,发送设备可以在Y个待编码比特对应的多个子信道中选择可靠度最高的Y个子信道对应的位置。在确定Y个子信道的位置之后,在Y个子信道的位置填充待编码比特作为信息比特,在其它位置填充冻结比特,得到第一待编码向量。其中,第一待编码向量可以包括Y’个比特,Y’个比特可以包括Y个信息比特和Y’-Y个冻结比特。Y是正整数,且小于等于Y’,Y’是正整数。
例如,假设编码长度为8,待编码比特的数量为4。其中,假设8个子信道中可靠度最高的子信道分别为:子信道3、子信道5、子信道7和子信道8,则子信道3、子信道4、子信道7和子信道8对应的位置用于承载信息比特,其它子信道用于承载冻结比特。则待编码序列可以为00101011,其中,1表示信息比特,0表示冻结比特。
步骤302、发送设备对第一待编码向量进行第一编码,得到第二待编码向量。
这里的第一编码可以包括外码编码。广义地说,外码编码可以表示为第一待编码向量与上三角矩阵相乘,该上三角矩阵的对角线为全1,对角线右上角可任意取值,对角线左下角全为0,这种统一的外码称为预变换(pre-transformation)编码。具体地,发送设备可以采用卷积码(convolutional codes,CC),校验码(parity check,PC)、广义循环冗余校验码(generalized CRC)或者其他分组码对第一待编码向量进行外码编码。其中,发送设备可以将第一待编码向量的信息比特和冻结比特分别通过对应的移位寄存器,从而实现对第一待编码向量进行外码编码。以下,以移位寄存器的多项式0x25为例,分别对不同的分组码进行说明。
1、卷积码外码(CC):
参阅图4A,采用卷积码进行外码编码时,移位寄存器示意图。其中,in解释为输入,out解释为输出。信息比特的位置输入为第i个信息比特ui,输出为异或比特值。冻结比特的位置输入为0,输出为异或比特值。
2、广义CRC外码(CRC)
参阅图4B,采用广义CRC码进行外码编码时,移位寄存器示意图。其中,in解释为输入,out解释为输出。信息比特的位置输入为第i个信息比特ui,输出为第i个信息比特ui。冻结比特的位置输入为第0位寄存器的值(reg[0]),输出为第0位寄存器的值。
需要说明的是,与普通CRC不同,这里CRC比特的位置可以在任意冻结比特位置中选取,无需在末尾。
3、校验码外码(PC)
参阅图4B,采用校验码进行外码编码时,移位寄存器示意图。其中,in解释为输入,out解释为输出。信息比特的位置输入为第i个信息比特ui,输出为第i个信息比特ui。冻结比特的位置输入为0,输出为第0位寄存器的值。
本申请实施例中的外码编码是将所有码块的信息比特串起来,一起进行外码编码,使得当前码块的外码编码结果受前一码块影响,也会继续影响下一码块的外码编码结果。为了降低译码复杂度,外码编码可以跳过每个码块中第一个信息比特位置之前的所有冻结比特位置,在这些位置上述移位寄存器也不移动,即等价地将每个码块中第一个信息比特位置之前的所有冻结比特位置的值置零或者任意已知的常数。
此外,外码编码可以分组独立进行,在每组编码前,按上述所示的方法初始化移位寄存器。分组和分组之间可以重叠(overlapping),也可以不重叠(non-overlapping),如果重叠,则前一组寄存器的输出作为新的一组寄存器的输入。
以下,通过附图5A-5E对不同的分组方式进行介绍。假设第一待编码向量包括8个比特,分别为u1,u2,u3,u4,u5,u6,u7和u8。
参阅图5A,发送设备可以将第一待编码向量中每一个比特作为一个分组,再对每一个分组进行外码编码。如图5A所示,每一个组的比特数为1且分组之间无重叠。发送设备可以对8个分组进行外码,得到第二待编码向量包括8个比特分别为v1,v2,v3,v4,v5,v6,v7,v8。
参阅图5B,发送设备可以将第一待编码向量中每两个比特作为一个分组,再对每一个分组进行外码编码。如图5B所示,每一个组的比特数为2且分组之间无重叠。发送设备可以对4个分组进行外码,得到第二待编码向量包括8个比特分别为v1,v2,v3,v4,v5,v6,v7,v8。
参阅图5C,发送设备可以将第一待编码向量中每两个比特作为一个分组,再对每一个分组进行外码编码。如图5C所示,每一个组的比特数为2且分组之间有重叠。发送设备可以对7个分组进行外码,得到第二待编码向量包括8个比特分别为v1,v2,v3,v4,v5,v6,v7,v8。
参阅图5D,发送设备可以将第一待编码向量中每四个比特作为一个分组,再对每一个分组进行外码编码。如图5D所示,每一个组的比特数为4且分组之间有重叠。发送设备可以对2个分组进行外码,得到第二待编码向量包括8个比特分别为v1,v2,v3,v4,v5,v6,v7,v8。
参阅图5E,发送设备可以将第一待编码向量中每8个比特作为一个分组,再对每一个分组进行外码编码。如图5E所示,每一个组的比特数为8且分组之间无重叠。发送设备可以对1个分组进行外码,得到第二待编码向量包括8个比特分别为v1,v2,v3,v4,v5,v6,v7,v8。
需要说明的是,第一编码还可以包括交织的操作。例如,发送设备可以对第一待编码向量交织后,进行外码编码;或者,发送设备可以对第一待编码向量外码编码后,进行交织。
步骤303、发送设备基于第一生成矩阵对第二待编码向量进行第二编码,得到编码后的码字。
这里的第一生成矩阵可以包括至少一个N+1个子矩阵a。其中,其中的N个子矩阵a可以位于第一生成矩阵的主对角线上。上述第一生成矩阵可以是块上三角矩阵,或者可以是块下三角矩阵。其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数。以下,对子矩阵a进行解释。
子矩阵a中可以包含polar核GN,以及0元素。其中,polar核GN可以分布于子矩阵a的左下角,并且可以成三角形分布。polar核GN可以构成三角的边。以下,分别以子矩阵a为2*2大小的polar核矩阵和4*4大小的polar核矩阵为例进行说明。需要说明的是,子矩阵a还可以是8*8、16*16或2m*2m大小的polar核矩阵。可选的,子矩阵a也可以是polar核GN
参阅图6A,子矩阵a可以是2*2的polar核矩阵。子矩阵a可以是
Figure BDA0002940418460000101
参阅图6B,子矩阵a可以是4*4的polar核矩阵。子矩阵a可以是
Figure BDA0002940418460000102
以下,对本申请实施例中的第一生成矩阵进行说明,第一生成矩阵根据不同的耦合方式可以分为以下三种。
第一种:三角耦合。
其中,三角耦合可以是理解为第一生成矩阵中子矩阵a成三角形分布。应理解,子矩阵a可以铺满该三角形,或者也可以组成上述三角形的边。本申请实施例中,以三角形a铺满该三角形为例进行说明。
情况1:第一生成矩阵为上三角矩阵。
为了支持1-pass译码从第一个子块开始启动,第一个子块需要能独立译码,不能与其它子块码字叠加。因此耦合polar矩阵需要写成上三角形式,如图7A所示。图7A中以第一编码向量包括8个子块为例。每一个子块中可以包含多个信息比特和多个冻结比特。
其中,发送设备可以按照子信道的可靠度依次填入信息比特和冻结比特,得到多个M长信息向量ui。其中,一个M长信息向量ui可以认为是一个第二子块。其次,发送设备可以对向量u进行外码编码,其总长为T*N,得到总长同为T*N的外码码字向量v。然后再将v向量与耦合polar矩阵在二进制域进行相乘。
可选的,上述编码过程也可以分解成外码编码、子块内编码和子块间耦合编码。其中,发送设备可以将子块ui进行外码编码,得到外码子码块vi。发送设备再将外码子码块vi与polar核GN相乘,得到子码字ci。发送设备可以将每一个子码字ci按照耦合方式将子码字叠加,得到最终的耦合码的码字ci’。其中,耦合方式可以如图7A所示。具体的,c1’=c1,c2’=c1+c2,c3’=c1+c2+c3,c4’=c1+c2+c3+c4,c5’=c1+c2+c3+c4+c5,c6’=c1+c2+c3+c4+c5+c6,c7’=c1+c2+c3+c4+c5+c6+c7,c8’=c1+c2+c3+c4+c5+c6+c7+c8。
情况2:第一生成矩阵为下三角矩阵。
由于需要进行似然比(log-likelihood ratio,LLR)的软解耦,因此首先从最后一个子码块开始处理,第一生成矩阵需要写成下三角形式,如图7B所示。图7B中以第一编码向量包括8个子块为例进行说明。每一个子块中可以包含多个信息比特和多个冻结比特。
其中,发送设备可以按照子信道的可靠度依次填入信息比特和冻结比特,得到M长信息向量u。其中,一个M长信息向量ui可以认为是一个第二子块。其次,发送设备可以对向量u进行外码编码,其总长为T*N,得到总长同为T*N的外码码字向量v。然后再将v向量与耦合polar矩阵在二进制域进行相乘。
可选的,上述编码过程也可以分解成外码编码、子块内编码和子块间耦合编码。其中,发送设备可以将子块ui进行外码编码,得到外码子码块vi。发送设备再将外码子码块vi与polar核GN相乘,得到子码字ci。发送设备可以将每一个子码字ci按照耦合方式将子码字叠加,得到最终的耦合码的码字ci’。其中,耦合方式可以如图7B所示。具体的,c1’=c1+c2+c3+c4+c5+c6+c7+c8,c2’=c2+c3+c4+c5+c6+c7+c8,c3’=c3+c4+c5+c6+c7+c8,c4’=c4+c5+c6+c7+c8,c5’=c5+c6+c7+c8,c6’=c6+c7+c8,c7’=c7+c8,c8’=c8。
基于上述情况1和情况2,发送设备可以基于第一生成矩阵对待编码向量进行编码,得到码字。发送设备通过上述第一生成矩阵进行编码得到的码字中,多个子块间有耦合,可以获得较高的耦合码编码增益,可以提高编码的性能。
在一种可能的实现方式中,发送设备可以在得到第一待编码向量时,发送设备可以首先确定该第一待编码向量包含的第二子块的数量。发送设备可以基于码字的总码率和上述第二子块的数量,确定每一个第二子块的码率。应理解,不同的第二子块的码率可以是不同的。发送设备可以基于每一个第二子块的码率以及第一待编码向量包含的第二子块的数量,确定第一待编码向量。
在一个示例中,发送设备可以按照预先存储的总码率和第一待编码向量包含的第二子块的数量以及每一个第二子块的码率的关系,确定每一个第二子块的码率。例如,总码长为N=1024的码,可以分成2组,每组分成4个第二子块,则每个第二子块的码长为128,第二子块只在组内进行三角耦合,组间的第二子块没有耦合关系。若总码率为1/2,则总信息比特数为512,每个组的信息比特数为512/2=256。由于每个组有4个第二子块,第二子块之间存在极化,因此每个第二子块的信息比特数不同,根据按照预先存储的总码率和第一待编码向量包含的第二子块的数量以及每一个第二子块的码率的关系,可以确定第1,2,3,4个第二子块的信息比特数分别为33,50,54,119。
可选的,第一待编码向量中相邻两个第二子块的码率也可以是一致的,第一待编码向量中包括至少两种不同的码率。发送设备可以根据第一待编码向量中包含的第二子块的数量以及总码率,确定每一个第二子块的码率。
根据上例,总码率、第一待编码向量包含的第二子块的数量以及每一个第二子块的码率的关系可以由总码长,总信息长,总码率,第二子块数,分组数,每组第二子块数,每个第二子块的信息长确定。具体见下列表1-表9。
表1
Figure BDA0002940418460000111
表2
Figure BDA0002940418460000112
Figure BDA0002940418460000121
表3
Figure BDA0002940418460000122
表4
Figure BDA0002940418460000123
表5
Figure BDA0002940418460000124
表6
Figure BDA0002940418460000125
Figure BDA0002940418460000131
表7
Figure BDA0002940418460000132
表8
Figure BDA0002940418460000133
表9
Figure BDA0002940418460000134
Figure BDA0002940418460000141
基于上述待编码信息比特的分组和码率匹配以及构造的第一生成矩阵,本申请实施例的编码方式相较于非耦合码有0.3dB到1dB的增益。
参阅图8A,为不同编码方式的仿真效果图。图8A中,a图采用SC译码方法,b图采用SCL译码方式。以a图为例,横轴表示信噪比(signal to noise ratio,SNR),纵轴表示误块率(Block Error Rate,BLER)。其中,图中以EsN0即发送符号和噪声的功率比的对数形式体现,以分贝dB为单位。可见,在相同信噪比的情况下,长码的误码率最低,本申请实施例的编码方式误码率略高于长码的误码率,短码的误码率最高。然而,由于长码的复杂度较高,因此本申请实施例提供的编码方式,可以降低复杂度,也可以提升编码的增益。图8A中总码长N=512,总信息长K=64。SC译码和SCL译码相比,SCL译码可以进一步降低误码率。本申请实施例提供的编码方式,在通过SCL进行译码时,误码率低于长码和短码的误码率。
参阅图8B,为不同编码方式的仿真效果图。图8B中,a图采用SC译码方法,b图采用SCL译码方式。以a图为例,横轴表示信噪比(signal to noise ratio,SNR),纵轴表示误块率(Block Error Rate,BLER)。其中,图中以EsN0即发送符号和噪声的功率比的对数形式体现,以分贝dB为单位。可见,在相同信噪比的情况下,长码的误码率最低,本申请实施例的编码方式误码率略高于长码的误码率,短码的误码率最高。然而,由于长码的复杂度较高,因此本申请实施例提供的编码方式,可以降低复杂度,也可以提升编码的增益。图8B中总码长N=1024,总信息长K=128。SC译码和SCL译码相比,SCL译码的误码率较高于SC译码的误码率。
通过图8A和图8B可以看出,在码率相同的情况下,本申请实施例提供的三角耦合矩阵编码方式,相较于短码误码率明显较低,而相较于长码误码率相差不大,但复杂度低于长码。
在三角耦合的1-pass矩阵中,由于只使用硬比特解耦,而不是LLR解耦,每个子块的输入LLR可靠度相同,子块的polar码构造与普通polar码也无异。
在三角耦合的2-pass矩阵中,每个子码块的可靠度不同,因此构造方法和1-pass不一样。首先计算子块的整体输入可靠度,得到每个子块的码率。等价的,可以得到每个子块的信息比特数。其次,再计算子块中每一个子信道的可靠度,这部分与原Polar码构造方法相同。
第二种:临近耦合。
其中,临近耦合的生成矩阵可以包含K个第一子块。上述K个第一子块位于第一生成矩阵的主对角线上,相邻的第一子块之间有部分重叠。这里的K大于或等于2。其中,第一子块可以是
Figure BDA0002940418460000151
Figure BDA0002940418460000152
以下,按照第一子块的情况不同,分别介绍不同的临近耦合的生成矩阵。
情况1:第一子块是
Figure BDA0002940418460000153
参阅图9A,对本申请实施例中的第一子块进行介绍。图9A中是4*4大小的生成矩阵,该生成矩阵包含了子矩阵a和0元素。如图9A所示,该生成矩阵中包含了3个第一子块。上述3个第一子块位于第一生成矩阵的主对角线上。
为了支持1-pass译码从第一个子块开始启动,第一个子块需要能独立译码,不能与其它子块码字叠加。因此耦合Polar矩阵需要写成上三角形式,如图9B所示。图9B中以第一生成矩阵包含7个第一子块为例。其中,第一待编码向量包含8个小块,7个第二子块。
发送设备可以按照子信道的可靠度依次填入信息比特和冻结比特,得到多个M长信息向量ui。其次,发送设备可以对向量u进行外码编码,其总长为T*N,得到总长同为T*N的外码码字向量v。然后再将v向量与耦合polar矩阵在二进制域进行相乘。图9B中,第二子块1可以是u1+u2,第二子块2可以是u2+u3,第二子块3可以是u3+u4,第二子块4可以是u4+u5,第二子块5可以是u5+u6,第二子块6可以是u6+u7,第二子块7可以是u7+u8。
可选的,上述编码过程也可以分解成外码编码、子块内编码和子块间耦合编码。其中,发送设备可以将子块ui进行外码编码,得到外码子码块vi。发送设备再将外码子码块vi与polar核GN相乘,得到子码字ci。发送设备可以将每一个子码字ci按照耦合方式将子码字叠加,得到最终的耦合码的码字ci’。其中,耦合方式可以如图9B所示。具体的,c1’=c1,c2’=c1+c2,c3’=c2+c3,c4’=c3+c4,c5’=c4+c5,c6’=c5+c6,c7’=c6+c7,c8’=c7+c8。
情况2:第一子块是
Figure BDA0002940418460000154
参阅图10A,对本申请实施例中的第一子块进行介绍。图10A中是4*4大小的生成矩阵,该生成矩阵包含了子矩阵a和0元素。如图10A所示,该生成矩阵中包含了3个第一子块。上述3个第一子块位于第一生成矩阵的主对角线上。
由于需要进行LLR的软解耦,因此首先从最后一个子码块开始处理,第一生成矩阵需要写成下三角形式,如图10B所示。图10B中以第一生成矩阵包含7个第一子块为例。其中,第一待编码向量包含8个小块,7个第二子块。
发送设备可以按照子信道的可靠度依次填入信息比特和冻结比特,得到多个M长信息向量ui。其次,发送设备可以对向量u进行外码编码,其总长为T*N,得到总长同为T*N的外码码字向量v。然后再将v向量与耦合polar矩阵在二进制域进行相乘。图10B中,第二子块1可以是u1+u2,第二子块2可以是u2+u3,第二子块3可以是u3+u4,第二子块4可以是u4+u5,第二子块5可以是u5+u6,第二子块6可以是u6+u7,第二子块7可以是u7+u8。
可选的,上述编码过程也可以分解成外码编码、子块内编码和子块间耦合编码。其中,发送设备可以将子块ui进行外码编码,得到外码子码块vi。发送设备再将外码子码块vi与polar核GN相乘,得到子码字ci。发送设备可以将每一个子码字ci按照耦合方式将子码字叠加,得到最终的耦合码的码字ci’。其中,耦合方式可以如图10B所示。具体的,c1’=c1+c2,c2’=c2+c3,c3’=c3+c4,c4’=c4+c5,c5’=c5+c6,c6’=c6+c7,c7’=c7+c8,c8’=c8。
基于上述情况1和情况2,发送设备通过上述第一生成矩阵进行编码得到的码字中,相邻的两个子块间有耦合,可以获得耦合码编码增益,可以提高编码的性能。
第三种:咬尾耦合
这里的咬尾耦合是基于临近耦合的生成矩阵确定的,可以分为以下两种情况:
情况1、第一生成矩阵是上三角形式。
其中,如果第一生成矩阵写成上三角形式,则有一个子矩阵a位于第一生成矩阵的左下角,如图11A所示。图11A中可以第一生成矩阵包含7个第一子块,每一个第一子块包含16个子矩阵a,第一生成矩阵还包含1个子矩阵a位于第一生成矩阵的左下角。
发送设备可以对多个M长信息向量ui进行外码编码,其总长为T*N,得到总长同为T*N的外码码字向量v。然后再将v向量与耦合polar矩阵在二进制域进行相乘。图11A中,第二子块1可以是u1+u2,第二子块2可以是u2+u3,第二子块3可以是u3+u4,第二子块4可以是u4+u5,第二子块5可以是u5+u6,第二子块6可以是u6+u7,第二子块7可以是u7+u8。
可选的,上述编码过程也可以分解成外码编码、子块内编码和子块间耦合编码。其中,发送设备可以将子块ui进行外码编码,得到外码子码块vi。发送设备再将外码子码块vi与polar核GN相乘,得到子码字ci。发送设备可以将每一个子码字ci按照耦合方式将子码字叠加,得到最终的耦合码的码字ci’。其中,耦合方式可以如图11A所示。具体的,c1’=c1+c2,c2’=c2+c3,c3’=c3+c4,c4’=c4+c5,c5’=c5+c6,c6’=c6+c7,c7’=c7+c8,c8’=c8+c1。
情况2、第一生成矩阵是下三角形式。
其中,如果第一生成矩阵写成下三角形式,则有一个子矩阵a位于第一生成矩阵的右上角,如图11B所示。图11B中可以第一生成矩阵包含7个第一子块,每一个第一子块包含16个子矩阵a,第一生成矩阵还包含1个子矩阵a位于第一生成矩阵的右上角。
发送设备可以对多个M长信息向量ui进行外码编码,其总长为T*N,得到总长同为T*N的外码码字向量v。然后再将v向量与耦合polar矩阵在二进制域进行相乘。图11B中,第二子块1可以是u1+u2,第二子块2可以是u2+u3,第二子块3可以是u3+u4,第二子块4可以是u4+u5,第二子块5可以是u5+u6,第二子块6可以是u6+u7,第二子块7可以是u7+u8。
可选的,上述编码过程也可以分解成外码编码、子块内编码和子块间耦合编码。其中,发送设备可以将子块ui进行外码编码,得到外码子码块vi。发送设备再将外码子码块vi与polar核GN相乘,得到子码字ci。发送设备可以将每一个子码字ci按照耦合方式将子码字叠加,得到最终的耦合码的码字ci’。其中,耦合方式可以如图11A所示。具体的,c1’=c1+c8,c2’=c1+c2,c3’=c2+c3,c4’=c3+c4,c5’=c4+c5,c6’=c5+c6,c7’=c6+c7,c8’=c7+c8。
在一种可能的实现方式中,基于临近耦合和咬尾耦合的生成矩阵进行编码的情况下,发送设备在得到第一待编码向量时,发送设备可以确定该第一待编码向量包含的第二子块的数量。发送设备可以基于码字的总码率和第二子块的数量,确定每一个第二子块的码率。其中,每一个第二子块的码率可以不同。发送设备可以基于每一个第二子块的码率确定第一待编码向量。
在一个示例中,发送设备可以按照预先存储的总码率和第二子块的数量以及每一个第二子块的码率的关系,确定第二子块的码率。例如,总码长为N=1024的码,可以分成2组,每组分成4个小块,则小块的码长为128。其中,相邻的两个小块组成一个子块,子块只在组内进行邻近耦合,组间的子块没有耦合关系。若总码率为1/2,则总信息比特数为512,每个组的信息比特数为512/2=256。由于每个组有4个小块,小块之间存在极化,因此每个小块的信息比特数不同,根据前文所述的码构造方法,可以确定第1,2,3,4个小块的信息比特数分别为12,72,80,92。那么子块1的信息比特数为12+72=84,子块2的信息比特数为72+80=152,子块3的信息比特数为80+92=172。
可选的,第一待编码向量中相邻两个第二子块的码率也可以是一致的,第一待编码向量中包括至少两种不同的码率。发送设备可以根据第一待编码向量中包含的第二子块的数量以及总码率,确定每一个第二子块的码率。
根据上例,总码率和第二子块的数量以及每一个第二子块的码率的关系可以由总码长,总信息长,总码率,小块数,分组数,每组第二子块数和每个小块的信息长确定。具体见下列表1-表9。
表10
Figure BDA0002940418460000171
表11
Figure BDA0002940418460000172
表12
Figure BDA0002940418460000173
Figure BDA0002940418460000181
表13
Figure BDA0002940418460000182
表14
Figure BDA0002940418460000183
表15
Figure BDA0002940418460000184
表16
Figure BDA0002940418460000185
Figure BDA0002940418460000191
表17
Figure BDA0002940418460000192
表18
Figure BDA0002940418460000193
基于上述待编码信息比特的分组和码率匹配以及构造的第一生成矩阵,本申请实施例的编码方式相较于非耦合码有0.3dB到1dB的增益。
在临近耦合或咬尾耦合的1-pass矩阵中,由于只使用硬比特解耦,而不是LLR解耦,每个子块的输入LLR可靠度相同,子块的polar码构造与普通polar码也无异。
在临近耦合或咬尾耦合的2-pass矩阵中,每个子信道的可靠度不同,因此构造方法和1-pass不一样。首先计算子块的整体输入可靠度,得到每个子块的码率。等价的,可以得到每个子块的信息比特数。其次,再计算子块中每一个子信道的可靠度,这部分与原Polar码构造方法相同。
在一种可能的实现方式中,邻近耦合方案在高码率区域性能较优,而三角耦合方案在低码率区域性能较优。因此,可以以Rth为界,确定码率小于等于Rth或者大于等于Rth时,分别采用哪一种耦合方案。举例来说,如码率R<Rth或R≤Rth时,可以采用三角耦合方案,码率R≥Rth或R>Rth,可以采用邻近耦合/咬尾耦合方案。其中,Rth可以定义为1/2,7/16,9/16,3/8或5/8等中间码率。
参阅图12A,为不同编码方式的仿真效果图。图12A中,a图采用SC译码方法,b图采用SCL译码方式。以a图为例,横轴表示信噪比(signal to noise ratio,SNR),纵轴表示误块率(Block Error Rate,BLER)。其中,图中以EsN0即发送符号和噪声的功率比的对数形式体现,以分贝dB为单位。可见,在相同信噪比的情况下,长码的误码率最低,本申请实施例的编码方式误码率略高于长码的误码率,短码的误码率最高。然而,由于长码的复杂度较高,因此本申请实施例提供的编码方式,可以降低复杂度,也可以提升编码的增益。图12A中总码长N=514,总信息长K=448。本申请实施例提供的编码方式,在通过SCL进行译码时,误码率与长码的误码率相差不大。SC译码和SCL译码相比,SCL译码可以进一步降低误码率。
参阅图12B,为不同编码方式的仿真效果图。图12B中,a图采用SC译码方法,b图采用SCL译码方式。以a图为例,横轴表示信噪比(signal to noise ratio,SNR),纵轴表示误块率(Block Error Rate,BLER)。其中,图中以EsN0即发送符号和噪声的功率比的对数形式体现,以分贝dB为单位。可见,在相同信噪比的情况下,长码的误码率最低,本申请实施例的编码方式误码率略高于长码的误码率,短码的误码率最高。然而,由于长码的复杂度较高,因此本申请实施例提供的编码方式,可以降低复杂度,也可以提升编码的增益。图12A中总码长N=1024,总信息长K=896。SC译码和SCL译码相比,SCL译码可以进一步降低误码率。
通过图12A和图12B可以看出,在码率相同的情况下,本申请实施例提供的三角耦合矩阵编码方式,相较于短码误码率明显较低,而相较于长码误码率相差不大,但复杂度低于长码。
步骤304、发送设备将编码后的码字发送给接收设备,相应的接收设备接收来自发送设备的码字。
步骤305、接收设备对码字进行译码。
其中,接收设备对码字进行译码时,可以基于第一生成矩阵对码字进行译码。可选的,接收设备可以根据编码方式的不同,采用不同的第一生成矩阵对码字进行译码。其中,根据编码方式不同,分为以下4种情况对译码进行说明。
情况1、三角耦合矩阵的1-pass译码。
其中,三角耦合矩阵的1-pass译码的特点可以包括如下两种特点:
1、无需进行总传输长度范围内的LLR传递,只需要在临近子块之间复制部分LLR。
2、支持更低时延的窗译码:一边接收LLR一边译码,复杂度更低。
三角耦合矩阵在硬解耦时需要利用所有之前子块的译码结果,写成当前子块的待译码LLR。其中,若所有之前子块的第i个比特的异或值为0,则直接将当前子块的第i个信道接收LLR送给当前子块译码器。若所有之前子块的第i个比特的异或值为1,则将当前子块的第i个信道接收LLR的符号取反或者乘以-1后送给当前子块译码器。
在一个示例中,译码方式可以如图13A所示。其中,首先进行子块间的码字硬解耦。应理解,第一个子块无需码字硬解耦。其中的子块间码字硬解耦的含义为:利用前一个子块的译码结果,写成当前子块的待译码LLR。
假设当前子块为第t个子块,之前所有子块的第i个比特的异或值为xt-1,i=c1,i+c2,i+…+ct-1,i,当前子块的信道输出LLR的第i个值为lt,i,则送入当前子块译码器的第i个LLR值为
Figure BDA0002940418460000211
如此往复,直到译完最后一个子块。
情况2、三角耦合矩阵的2-pass译码。
其中,三角耦合矩阵的1-pass译码的特点可以包括如下两种特点:
1、需要在总传输长度上进行LLR传递(backward-pass),然后逐个子块的译码结果传递(forward-pass)。
2、可以在子块之间形成极化现象,尽可能拿到部分长码增益。
但是由于三角耦合矩阵与邻近耦合矩阵不同,译码的方法也不同。如下图表示:
在一个示例中,译码方式可以如图13B所示。其中,首先进行子块间的码字软解耦的正向传递。应理解,最后一个子块无需码字软解耦。假设上一个子块的第i个码字比特为ct-1,i,上一个子块的正向解耦LLR的第i个值为lt-1,i,当前子块的信道接收LLR的第i个值为l’t,i,则当前子块的正向解耦LLR的第i个值为lt,i=g(ct-1,i,lt-1,i,l’t,i)。假设当前子块的正向解耦LLR的第i个值为lt,i=g(ct-1,i,lt-1,i,l’t,i),下一个子块的信道接收LLR的第i个值为l’t+1,i,则该子块的反向解耦LLR的第i个值为lt,i=f(lt,i,l’t+1,i)。将当前子块的反向解耦LLR送入当前子块译码器,如此往复,直到译完最后一个子块。
情况3、邻近耦合和咬尾耦合矩阵的1-pass译码。
其中,邻近耦合和咬尾耦合矩阵的1-pass译码可以包括如下两种特点:
1、无需进行总传输长度范围内的LLR传递,只需要在临近子块之间复制部分LLR。
2、支持更低时延的窗译码:一边接收LLR一边译码,复杂度更低。
在一个示例中,译码方式可以如图13A所示。其中,首先进行子块间的码字硬解耦。应理解,第一个子块无需码字软解耦。假设上一个子块的第i个比特为ci,当前子块的信道输出LLR的第i个值为li,则送入当前子块译码器的第i个值为
Figure BDA0002940418460000212
如此往复,直到译完最后一个子块。其中,若前一个子块的第i个比特为0,则直接将当前子块的第i个信道接收LLR送给当前子码译码器。若前一个子块的第i个比特为1,则将当前子块的第i个信道接收LLR的符号取反或者乘以-1后送给当前子码译码器。
情况4、邻近耦合和咬尾耦合矩阵的2-pass译码
其中,邻近耦合和咬尾耦合矩阵的2-pass译码可以包括如下两种特点:
2、需要在总传输长度上进行LLR传递(backward-pass),然后逐个子块的译码结果传递(forward-pass)。
2、可以在子块之间形成极化现象,尽可能拿到部分长码增益。
在一个示例中,译码方式可以如图13B所示。其中,首先进行子块间的码字软解耦的反向传递。应理解,最有一个子块无需码字软解耦。假设当前子块的信道接收LLR的第i个值为l’t,i,下一个子块的信道接收LLR的第i个值为l’t+1,i,则该子块的反向解耦LLR的第i个值为lt,i=f(l’t,i,l’t+1,i)。假设上一个子块的第i个码字比特为ct-1,i,上一个子块的信道接收LLR的第i个值为l’t-1,i,当前子块的反向解耦LLR的第i个值为lt,i,则正向解耦LLR的第i个值为lt,i=g(ct-1,i,l’t-1,i,lt,i)。将当前子块的正向解耦LLR送入当前子块译码器,如此往复,直到译完最后一个子块。
在一种可能的实现方式,发送设备与接收设备可以分别确定外码种类、外码多项式、外码分组数、耦合度、耦合分组数、耦合关系、耦合矩阵的选择以及其他的耦合相关参数。其中,耦合相关参数可以由场景和码字的参数等确定。
可选的,发送设备或接收设备可以首先由码长等参数或者应用场景,确定具体的耦合方案,包含前文所示的外码、分组数、耦合度和耦合方式等耦合相关参数。其中,发送设备可以与接收设备通过信令协商上述耦合相关参数,或者发送设备可以向接收设备指示耦合相关参数,或者接收设备可以向发送设备指示耦合相关参数。可选的,耦合相关参数也可以是通信协议规定的,本申请不做具体限定。然后收发双方按照约定的方式进行编译码通信。
在一个示例中,发送设备与接收设备可以通过无线资源控制(radio resourcecontrol,RRC)消息,协商或指示耦合相关参数。可选的,RRC消息可以新增一部分字段,用来承载编码配置信息。该编码配置信息中可以包含上述多个耦合相关参数。
另一个示例中,发送设备或接收设备可以通过下行控制信息(downlink controlinformation,DCI)指示耦合相关参数。可选的,DCI的格式可以如下表19所示。
表19
Figure BDA0002940418460000221
在一种可能的实现方式中,可以将待编码比特分成若干组,每组中包含指定数量的码块(code block,CB)。每组中的码块之间可以有耦合关系,如图14所示。其中,码块之间的耦合关系可以参见上述三种编码方式中的相关描述,图14仅是示例性的给出了一种耦合方式。
在一个示例中,如果待编码比特数量B大于某个阈值Kcb,则将B个待编码比特进行分段(segmentation),且为每段信息比特上加上属于该CB的CRC。假设CRC为L长,L>0。将添加CRC比特后的待编码比特数量为B’,其流程如下:
If B<=Kcb
CRC长度=0
CB数量:C=1
B’=B
编码:B’信息比特→N码字比特
Else
CRC长度=L
CB数量:
Figure BDA0002940418460000231
B’=B+CB数量×L
For r=0:C-1
对第r个CB进行子块内编码:cr=CB_encode(ur)
End for
For r=0:C-1
对第r个CB进行子块间(耦合)编码:c’r=Couple_encode(cr,cr1,cr2,…crl)
(其中cr1,cr2,…crl为与第r个CB存在耦合关系的子块)
End forc'2=couple_encode(c2,c1)=c2+c1
End if
经过分段后,将C段信息向量u0,u1,…,uC-1分别编码后,得到的码字向量为c0,c1,…,cC-1,其中第r个CB的码字比特为cr=[cr0,cr1,…,cr(Nr-1)],其中Nr为第r个CB的子块码字比特数量。然后对C个CB进行子块间编码,得到的码字向量为c’0,c’1,…,c’c-1,其中第r个CB的码字比特为c’r=[c’r0,c’r1,…,c’r(Mr-1)],其中Mr为第r个CB的耦合码字比特数量。其中cr1,cr2,…crl为与第r个CB存在耦合关系的子块,因此第r个CB的耦合码字由第r1,r1,…,rl个CB的子块码字经过耦合编码产生。上述r大于等于1。
另一个示例中,如果待编码比特数量B大于某个阈值Kcb,则将B个待编码比特进行分段(segmentation),且为每段信息比特上加上属于该CB的CRC。假设CRC为L长,L>0。将添加CRC比特后的待编码比特数量为B’,其流程如下:
If B<=Kcb
CRC长度=0
CB数量:C=1
B’=B
编码:B’信息比特→N码字比特
Else
CRC长度=L
CB数量:
Figure BDA0002940418460000232
B’=B+CB数量×L
对C个CB进行码率(信息比特)分配:{K1,K2,…,KC}=Rate_allocation(B’,C)
For r=0:C-1
对第r个CB进行子块内编码:cr=CB_encode(ur)c'3=couple_encode(c3,c2,c1)=c3+c2+c1
End for
For r=0:C-1
对第r个CB进行子块间(耦合)编码:c’r=Couple_encode(cr,cr1,cr2,…crl)
(其中cr1,cr2,…crl为与第r个CB存在耦合关系的子块)
End for
End if
经过分段后,首先对C个CB进行码率(信息比特)分配,得到各个子块的信息比特数量分别为K1,K2,…,KC,其中为第r个CB的信息比特数量为Kr。其中,Kr可以包含CRC比特或者可以不包含CRC比特。K1+K2+…+KC=B’。将C段信息向量u0,u1,…,uC-1分别编码后,得到的码字向量为c0,c1,…,cC-1,其中第r个CB的码字比特为cr=[cr0,cr1,…,cr(Nr-1)],其中Nr为第r个CB的子块码字比特数量。然后对C个CB进行子块间编码,得到的码字向量为c’0,c’1,…,c’c-1,其中第r个CB的码字比特为c’r=[c’r0,c’r1,…,c’r(Mr-1)],其中Mr为第r个CB的耦合码字比特数量。其中cr1,cr2,…crl为与第r个CB存在耦合关系的子块,因此第r个CB的耦合码字由第r1,r1,…,rl个CB的子块码字经过耦合编码产生。
基于与上述通信方法的同一技术构思,如图15所示,提供了一种装置1500。该装置1500可以包括处理单元1520和输入输出单元1510。可选的,还包括存储单元1530;处理单元1520可以分别与存储单元1530和输入输出单元1510相连,所述存储单元1530也可以与输入输出单元1510相连。其中,处理单元1520可以与存储单元1530集成。输入输出单元1510也可以称为收发器、收发机、收发装置等。处理单元1520也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将输入输出单元1510中用于实现接收功能的器件视为接收单元,将输入输出单元1510中用于实现发送功能的器件视为发送单元,即输入输出单元1510包括接收单元和发送单元。输入输出单元有时也可以称为收发机、收发器、或收发电路等。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
应理解,输入输出单元1510用于执行上述方法实施例中发送设备和接收设备的发送操作和接收操作,处理单元1520用于执行上述方法实施例中发送设备和接收设备上除了收发操作之外的其他操作。例如,在一种实现方式中,输入输出单元1510用于执行图3中的步骤304所示的发送设备的发送操作和接收设备的接收操作。和/或输入输出单元1510还用于执行本申请实施例中发送设备和接收设备的其他收发步骤。处理单元1520,用于执行图3中的步骤301至步骤303所示的发送设备的处理步骤和步骤305所示的接收设备的处理操作,和/或处理单元1520用于执行本申请实施例中发送设备和接收设备的其他处理步骤。
需要说明的是,本申请实施例所示的编码装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
所述存储单元1530,用于存储计算机程序;
示例性的,装置1500用于执行发送设备执行的步骤时,所述处理单元1520,用于获取第一待编码向量;所述处理单元1520,还用于对所述第一待编码向量进行第一编码,得到第二待编码向量;基于第一生成矩阵对所述第二待编码向量进行第二编码,得到编码后的码字;所述输入输出单元1510,用于发送所述编码后的码字。其中,第一生成矩阵可以参见如图3所示的方法实施例中的相关描述,此处不再赘述。
在一种可能的实现方式中,所述处理单元1520还用于:确定待编码信息比特包含的第二子块的数量;基于码字的总码率和所述第二子块的数量,确定所述待编码信息比特包含的每一个第二子块的码率;其中,每一个第二子块的码率不同;所述处理单元1520在获取第一待编码向量时具体用于:基于所述每一个第二子块的码率确定第一待编码向量;所述第一待编码向量包含q个第二子块,q是大于0的整数。
示例性的,装置1500用于执行接收设备执行的步骤时,所述输入输出单元1510,用于接收码字;所述码字是基于第一生成矩阵编码得到的。所述处理单元1520,用于对所述码字进行译码。其中,第一生成矩阵可以参见如图3所示的方法实施例中的相关描述,此处不再赘述。
参阅图16,为本申请实施例提供的一种装置的硬件结构示意图。该装置1600用于实现上述方法中发送设备的功能。该装置用于实现上述方法中发送设备的功能时,该装置可以是发送设备,也可以是类似发送设备功能的芯片,或者是能够和发送设备匹配使用的装置。该装置1600:处理器1601和存储器1602。
存储器1602,用于存储计算机程序,还可以用于存储中间数据;
处理器1601,用于执行存储器存储的计算机程序,以实现上述编码方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器1602既可以是独立的,也可以跟处理器1601集成在一起。在有些实施方式中,存储器1602甚至还可以位于编码装置1600之外。
当所述存储器1602是独立于处理器1601之外的器件时,所述编码装置1600还可以包括总线1603,用于连接所述存储器1602和处理器1601。
可选的,装置1600还可以进一步包括发送器。例如,发送器用于发送编码后的比特。
本实施例提供的装置1600可以为终端设备,或者也以为网络设备,可用于执行上述的编码方法,其实现方式和技术效果类似,本实施例此处不再赘述。
参阅图17,为本申请实施例提供的一种装置的硬件结构示意图。该装置1700用于实现上述方法中接收设备的功能。该装置用于实现上述方法中接收设备的功能时,该装置可以是接收设备,也可以是类似接收设备功能的芯片,或者是能够和接收设备匹配使用的装置。该装置1700:处理器1701和存储器1702。
存储器1702,用于存储计算机程序,还可以用于存储中间数据;
处理器1701,用于执行存储器存储的计算机程序,以实现上述编码方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器1702既可以是独立的,也可以跟处理器1701集成在一起。在有些实施方式中,存储器1702甚至还可以位于编码装置1700之外。
当所述存储器1702是独立于处理器1701之外的器件时,所述编码装置1700还可以包括总线1703,用于连接所述存储器1702和处理器1701。
可选的,装置1700还可以进一步包括接收器。例如,接收器用于接收编码后的比特。
本实施例提供的装置1700可以为终端设备,或者也以为网络设备,可用于执行上述的编码方法,其实现方式和技术效果类似,本实施例此处不再赘述。
图18为本申请实施例提供的一种装置的结构示意图。请参见图18,该装置1800可以包括通信接口1801和逻辑电路1802。
所述逻辑电路1802用于,获取第一待编码向量;对所述第一待编码向量进行第一编码,得到第二待编码向量。以及,基于第一生成矩阵对所述第二待编码向量进行第二编码,得到编码后的码字;其中,第一生成矩阵包括至少N+1个子矩阵a,N个子码块位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数;所述通信接口用于输出发送编码后的码字。
可选的,通信接口1801可以具有图15实施例中的输入输出单元1510的功能。逻辑电路1802可以具有图15实施例中的处理单元1520的功能。
可选的,逻辑电路1802可以具有图16实施例中的处理器1601的功能。逻辑电路1802还可以执行编码方法中其它的步骤。
本申请实施例提供的装置1800可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似此处不再进行赘述。
图19为本申请实施例提供的另一种装置的结构示意图。请参见图19,该装置1900可以包括通信接口1901和逻辑电路1902。
所述通信接口1901用于,输入编码后的码字;
所述逻辑电路1902用于,对所述码字进行译码。
可选的,通信接口1901可以具有图15实施例中的输入输出单元1510的功能。逻辑电路1902可以具有图15实施例中的处理单元1520的功能。
可选的,通信接口1901可以具有图17实施例中的接收器的功能。逻辑电路1902可以具有图17实施例中的处理器1701的功能。逻辑电路1902还可以执行译码方法中其它的步骤。
可选的,通信接口1901还可以输出译码结果。
本申请实施例提供的装置1900可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似此处不再进行赘述。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中发送设备和接收设备的方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中发送设备和接收设备的方法。
作为本实施例的另一种形式,提供一种通信系统,该系统可以包括上述至少一个发送设备和上述至少一个接收设备。
应理解,本发明实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (28)

1.一种编码方法,其特征在于,包括:
发送设备获取第一待编码向量;
所述发送设备对所述第一待编码向量进行第一编码,得到第二待编码向量;
所述发送设备基于第一生成矩阵对所述第二待编码向量进行第二编码,得到编码后的码字;
其中,所述第一生成矩阵包括至少N+1个子矩阵a,其中的N个所述子矩阵a位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数,N是自然数;
所述发送设备发送所述编码后的码字。
2.根据权利要求1所述的方法,其特征在于,所述块上三角矩阵中上三角的元素都是a,所述块下三角矩阵中下三角的元素都是a。
3.根据权利要求1或2所述的方法,其特征在于,所述第一生成矩阵包含K个第一子块,所述K个第一子块位于所述第一生成矩阵的主对角线上,相邻的所述第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个所述第一子块是
Figure FDA0002940418450000011
Figure FDA0002940418450000012
4.根据权利要求3所述的方法,其特征在于,所述相邻的第一子块之间重叠部分为a。
5.根据权利要求3或4所述的方法,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000013
时,1个所述子矩阵a位于所述第一生成矩阵的右上角。
6.根据权利要求3或4所述的方法,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000014
时,1个所述子矩阵a位于所述第一生成矩阵的左下角。
7.根据权利要求1-5任一所述的方法,其特征在于,所述发送设备获取第一待编码向量之前,还包括:
所述发送设备确定待编码信息比特包含的第二子块的数量;
所述发送设备基于码字的总码率和所述第二子块的数量,确定所述待编码信息比特包含的每一个第二子块的码率;其中,每一个第二子块的码率不同;
所述发送设备基于所述每一个第二子块的码率确定所述第一待编码向量;所述第一待编码向量包含q个第二子块,q是大于0的整数。
8.一种译码方法,其特征在于,包括:
接收设备接收码字;所述码字是基于第一生成矩阵编码得到的;
所述接收设备根据所述第一生成矩阵对所述码字进行译码;其中,所述第一生成矩阵包括至少N+1个子矩阵a,其中的N个所述子矩阵a位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数。
9.根据权利要求8所述的方法,其特征在于,所述块上三角矩阵中上三角的元素都是a,所述块下三角矩阵中下三角的元素都是a。
10.根据权利要求8或9所述的方法,其特征在于,所述第一生成矩阵包含K个第一子块,所述K个第一子块位于所述第一生成矩阵的主对角线上,相邻的所述第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个所述第一子块是
Figure FDA0002940418450000021
Figure FDA0002940418450000022
11.根据权利要求10所述的方法,其特征在于,相邻的所述第一子块之间重叠部分为a。
12.根据权利要求10或11所述的方法,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000023
时,1个所述子矩阵a位于所述第一生成矩阵的右上角。
13.根据权利要求10-12任一所述的方法,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000024
时,1个所述子矩阵a位于所述第一生成矩阵的左下角。
14.一种通信装置,其特征在于,包括:处理单元和输入输出单元;
所述处理单元,用于获取第一待编码向量;
所述处理单元,还用于对所述第一待编码向量进行第一编码,得到第二待编码向量;基于第一生成矩阵对所述第二待编码向量进行第二编码,得到编码后的码字;
其中,第一生成矩阵包括至少N+1个子矩阵a,其中的N个所述子矩阵a位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数;
所述输入输出单元,用于发送所述编码后的码字。
15.根据权利要求14所述的装置,其特征在于,所述块上三角矩阵中上三角的元素都是a,所述块下三角矩阵中下三角的元素都是a。
16.根据权利要求14或15所述的装置,其特征在于,所述第一生成矩阵包含K个第一子块,所述K个第一子块位于所述第一生成矩阵的主对角线上,相邻的所述第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个所述第一子块是
Figure FDA0002940418450000025
Figure FDA0002940418450000026
17.根据权利要求16所述的装置,其特征在于,所述相邻的第一子块之间重叠部分为a。
18.根据权利要求16或17所述的装置,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000027
时,1个所述子矩阵a位于所述第一生成矩阵的右上角。
19.根据权利要求16-18任一所述的装置,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000028
时,1个所述子矩阵a位于所述第一生成矩阵的左下角。
20.根据权利要求14-19任一所述的装置,其特征在于,所述处理单元在获取第一待编码向量之前,还用于:
确定待编码信息比特包含的第二子块的数量;
基于码字的总码率和所述第二子块的数量,确定所述待编码信息比特包含的每一个第二子块的码率;其中,每一个第二子块的码率不同;
所述处理单元在获取第一待编码向量时具体用于:
基于所述每一个第二子块的码率确定所述第一待编码向量;所述第一待编码向量包含q个第二子块,q是大于0的整数。
21.一种通信装置,其特征在于,包括:处理单元和输入输出单元;
所述输入输出单元,用于接收码字;所述码字是基于第一生成矩阵编码得到的;
所述处理单元,用于根据所述第一生成矩阵对所述码字进行译码;其中,所述第一生成矩阵包括至少N+1个子矩阵a,其中的N个子矩阵a位于所述第一生成矩阵的主对角线上,所述第一生成矩阵是块上三角矩阵,或者所述第一生成矩阵是块下三角矩阵,其中a是大小为2m*2m的极化码polar核矩阵,m是自然数N是自然数。
22.根据权利要求21所述的装置,其特征在于,所述块上三角矩阵中上三角的元素都是a,所述块下三角矩阵中下三角的元素都是a。
23.根据权利要求21或22所述的装置,其特征在于,所述第一生成矩阵包含K个第一子块,所述K个第一子块位于所述第一生成矩阵的主对角线上,相邻的所述第一子块之间有部分重叠,K是大于等于2,且大于等于N的整数;每个所述第一子块是
Figure FDA0002940418450000031
Figure FDA0002940418450000032
24.根据权利要求23所述的装置,其特征在于,所述相邻的第一子块之间重叠部分为a。
25.根据权利要求23或24所述的装置,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000033
时,1个子矩阵a位于所述第一生成矩阵的右上角。
26.根据权利要求23-25任一所述的装置,其特征在于,所述K个第一子块包含所述N个子矩阵a,当所述第一子块是
Figure FDA0002940418450000034
时,1个子矩阵a位于所述第一生成矩阵的左下角。
27.一种通信装置,其特征在于,包括:处理器和存储器;
其中,所述存储器用于存储计算机可执行指令,当所述处理器执行部分或全部所述计算机可执行指令时,使得所述权利要求1-7中任一项所述的方法被执行,或者使得所述权利要求8-13中任一项所述的方法被执行。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被电子装置调用时,使所述电子装置执行如权利要求1-7中任一项所述的方法或者使所述电子装置执行如权利要求8-13任一项所述的方法。
CN202110177405.2A 2021-02-09 2021-02-09 一种编码和译码方法及相关装置 Pending CN114915297A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110177405.2A CN114915297A (zh) 2021-02-09 2021-02-09 一种编码和译码方法及相关装置
EP22752180.4A EP4277132A4 (en) 2021-02-09 2022-01-29 ENCODING AND DECODING METHODS AND RELATED APPARATUS
PCT/CN2022/074851 WO2022171019A1 (zh) 2021-02-09 2022-01-29 一种编码和译码方法及相关装置
US18/366,757 US20230387939A1 (en) 2021-02-09 2023-08-08 Encoding and decoding method and related apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110177405.2A CN114915297A (zh) 2021-02-09 2021-02-09 一种编码和译码方法及相关装置

Publications (1)

Publication Number Publication Date
CN114915297A true CN114915297A (zh) 2022-08-16

Family

ID=82761708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110177405.2A Pending CN114915297A (zh) 2021-02-09 2021-02-09 一种编码和译码方法及相关装置

Country Status (4)

Country Link
US (1) US20230387939A1 (zh)
EP (1) EP4277132A4 (zh)
CN (1) CN114915297A (zh)
WO (1) WO2022171019A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10312947B2 (en) * 2016-01-21 2019-06-04 Huawei Technologies Co., Ltd. Concatenated and sliding-window polar coding
US10476634B2 (en) * 2016-03-04 2019-11-12 Huawei Technologies Co., Ltd. System and method for polar encoding and decoding
CN110192363B (zh) * 2017-01-09 2022-01-14 高通股份有限公司 基于golay的块码来编码和解码的方法、设备和介质
CN113676188A (zh) * 2017-03-03 2021-11-19 华为技术有限公司 高码率的长ldpc码
CN108809332B (zh) * 2017-05-05 2021-09-03 华为技术有限公司 一种Polar码传输方法及装置
CN107612561B (zh) * 2017-09-30 2021-02-02 武汉虹信科技发展有限责任公司 一种编码、译码方法及装置
CN108233947B (zh) * 2018-01-17 2021-03-02 中国计量大学 一种系统极化码编码算法优化方法

Also Published As

Publication number Publication date
EP4277132A1 (en) 2023-11-15
US20230387939A1 (en) 2023-11-30
EP4277132A4 (en) 2024-07-24
WO2022171019A1 (zh) 2022-08-18

Similar Documents

Publication Publication Date Title
CN108365848B (zh) 一种极性码的译码方法和装置
CN110166167B (zh) 编码的方法、译码的方法、编码设备和译码设备
EP3217662B1 (en) Rate matching method and apparatus for polar code, and wireless communication device
CN107078748B (zh) 极性码的编码方法和编码装置
CN109075799B (zh) 极化Polar码的编译码方法及装置
WO2016119105A1 (zh) 极化Polar码的生成方法和设备
JP2022174079A (ja) 符号化方法、復号方法、装置、および装置
WO2018121460A1 (zh) 非正交传输数据的方法和设备
CN111200476B (zh) Polar码编码方法及装置
CN109391356B (zh) 编码方法、译码方法、编码装置和译码装置
CN111385059B (zh) 极化编码调制的方法和装置
CN114826478A (zh) 编码调制与解调解码方法及装置
CN110890894A (zh) 级联编码的方法和装置
US20230208554A1 (en) Encoding and Decoding Method and Apparatus
CN110391874B (zh) 极化码的速率匹配、解速率匹配方法及设备
EP3859979A1 (en) Device and method for encoding and decoding using polar code in wireless communication system
US10581464B2 (en) Encoder device, decoder device, and methods thereof
US20240007220A1 (en) Encoding and decoding method and apparatus
CN110612679B (zh) 信息处理的方法和通信装置
CN113472363B (zh) 编码方法及装置
WO2019037782A1 (zh) 极化码的译码方法和译码器
WO2022188710A1 (zh) 极化编码调制、解调译码的方法和装置
CN108696283B (zh) 数据编码和译码的方法和装置
WO2018141271A1 (zh) 数据处理的方法和装置
WO2018161946A1 (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