CN110915141B - 基于极化码的turbo乘积码 - Google Patents
基于极化码的turbo乘积码 Download PDFInfo
- Publication number
- CN110915141B CN110915141B CN201880046860.5A CN201880046860A CN110915141B CN 110915141 B CN110915141 B CN 110915141B CN 201880046860 A CN201880046860 A CN 201880046860A CN 110915141 B CN110915141 B CN 110915141B
- Authority
- CN
- China
- Prior art keywords
- polarization
- block
- parity
- column
- data
- 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
Links
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/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/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- 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/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
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—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
- 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
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1555—Pipelined decoder implementations
-
- 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
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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/27—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 using interleaving techniques
- H03M13/2703—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 using interleaving techniques the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- 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/27—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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo 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/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/2906—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 using block 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
Abstract
一种用于将源信息编码为在通信信道中使用的已编码码字的编码器包括接收源数据的数据输入、处理器以及存储编码器程序的存储器。编码器程序使处理器将源数据编码为Turbo乘积码(TPC)结构,并且TPC结构包括:数据块(90),其与源数据对应;第一奇偶校验块(190),其包括第一列部分(191)、第一角部分(192)和第一底部分(193),第一奇偶校验块被布置为由第一列部分、第一角部分和第一底部分覆盖数据块的右端列、数据块的右下角和数据块的底行;以及第二奇偶校验块(195),其具有行奇偶校验块(196)、联合奇偶校验块(197)和列奇偶校验块(198)。第一奇偶校验块可通过数据块的BCH编码(外部编码)来获得。这之后是生成第二奇偶校验块的(内部)turbo极化码。
Description
技术领域
本发明涉及具有硬判决清除(hard decision cleaning)的Turbo乘积极化编码(turbo product polar coding)方法和装置。
背景技术
已经证明,使用连续消除(SC)解码,极化码可以渐近地实现任何任意二进制输入无记忆信道的信道容量。然而,短码字长度下的错误率性能对诸如低密度奇偶校验(LDPC)码之类的其它近似容量编码没有竞争力。塔尔(Tal)和瓦尔迪(Valdy)发明了突破性的US9503126B2,它通过带有CRC级联的SCL解码显著提高了极化解码性能。Zhang、Liu、Pan和Pan(在2017年的通信信函“CRC code design for list decoding of polar codes”中)还揭示了SCL极化解码性能高度依赖于CRC多项式,并且通过适当设计的CRC多项式能够增加极化-CRC级联码的最小汉明距离。
已经使用基于经典线性码(诸如,Bose,Chaudhuri和Hocquenghem(BCH)码和汉明(Hamming)码)的乘积码来增大最小汉明距离,并具有并行编码和解码的能力。Pyndiah针对乘积码的软判决(SD)迭代提出了有效的Chase解码方法(在1998年的IEEE通信学报,46卷,第8章中的“Near-optimum decoding of product codes:block turbo codes”中)以实现逼近最大似然度能。用于乘积码的Turbo型SD迭代方案称为Turbo乘积码(TPC)。
发明内容
本公开提供了以非显而易见的方式使用极化构成代码的新TPC,其中利用了由于极化和交织引起的非正则性以改善汉明权重分布。此外,我们提供了扩展用于极化TPC的Chase型SD迭代解码的SCL极化解码的方法。与基于诸如BCH码、汉明(Hamming)码、里德-所罗门(Reed-Solomon)码或里德-穆勒(Reed-Muller)码之类的代数码的传统TPC相比,利用SCL Chase解码,基于极化码的TPC显著地提高了错误率性能。
此外,本公开的一些实施方式提供了一种使用极化编码的乘积编码方法,其利用由于极化和交织引起的非正则性来改善turbo极化码的汉明权重分布。实施方式能够使用软判决极化解码来减少非正则空间结合的极化码的错误性能。该系统可以由具有多个奇偶校验矩阵的乘积码组成。奇偶校验块可以包含行奇偶校验、列奇偶校验和联合奇偶校验矩阵。数据段能够包含利用空间结合极化码的非正则性来获得更好的错误性能的一组附加奇偶校验块。
尽管极化码具有良好的汉明权重分布,但是发现,用作空间结合极化码中的构成码的短长度高速率极化码通常具有比BCH码更短的最小汉明距离。短的最小汉明距离仅在高信噪比(SNR)情况下才能控制错误率性能。因此,与其它TPC相比,空间结合极化码能够潜在地遇到更高的错误平层问题。
我们公开了通过用BCH级联代替CRC并在SD迭代解码后使用硬判决(HD)清除的方法来减轻错误平层的方法。BCH码的级联不仅提供了错误平层去除,而且还减少了所需的迭代次数,这是因为使用BCH级联进行HD清除能够去除空间结合极化码的最主要的错误模式。该方法对于基于极化构成代码的TPC尤其有效,这是因为极化码的汉明权重分布具有特定特性,诸如在越短的汉明距离中具有越高的浓度。另外,BCH级联还能够通过增强对大量非正则极化停用的容限来进一步降低计算复杂度和解码延迟。
一些实施方式基于以下认识:正则极化编码构造解决了通信信道和调制方案为每个发送的码字比特提供统一的发送可靠性的情况。该假设是实现容量和冻结比特位置设计的理论证明所必需的。然而,诸如高阶调制、频率选择性衰落、时变信道和多输入多输出(MIMO)信道的一些情况导致在发送比特之间可靠性不均匀。
一些实施方式基于另一种认识:虽然正则极化编码在大的(理论上是无限大的)码上朝着最佳编码效率收敛,但是对于较短码长,通过增加更多的自由度能够提高其实际纠错性能。
一些实施方式基于以下认识:正则极化码对通信信道的参数变化的自适应性取决于诸如定义了码字中的数据比特数量的参数、定义了指定在已编码码字中冻结比特的位置的数据索引集的参数、以及定义了已编码码字中的奇偶校验比特的数量的参数之类的参数的值。这些参数在本文中称为极化码的正则参数。
一些实施方式基于以下认识:除了正则参数之外,还需要使用一些其它参数来增加极化码的自适应性。这样的附加参数能够包括以下参数中的一个或组合:定义了极化码的至少一个正则参数的结合值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中的极化内核的非正则性的参数、以及定义了在极化编码的不同级上选择停用异或运算中的非正则性的参数,并且其中,非正则极化编码器使用极化码的正则参数和非正则参数对码字进行编码。
这些附加参数在本文中称为非正则参数。使用正则参数和非正则参数设计的极化码在本文中称为非正则极化码。使用非正则极化码对码字进行编码的极化编码器在本文中称为非正则极化编码器。
例如,一些实施方式使用其码字长度相对短的多个极化码,使得能够用短延迟来实施SD解码,其中每个SD解码将SD信息来回传播到其它极化解码器以校正潜在的错误。对于这种turbo型极化编码和解码架构,通过跨极化码施加“非正则性”(例如,通过使用不同的码率、不同的冻结比特位置、不同的码字长度、不同的交织和不同的极化内核)来提高纠错性能。在又一个实施方式中,极化编码架构在中间级被非正则地置换。为了降低复杂性并提高性能,这种非正则极化码架构通过稀疏地停用几个极化运算来进一步概括。在一些实施方式中,停用极化运算通过具有不同的非二进制和高阶内核来进一步概括。
在一些实现中,通信信道和/或调制方案使所发送的码字比特的可靠性不均匀,这允许采用交织器来改善纠错性能,并且需要交织器和极化码构造的联合设计以提高纠错性能。因此,实施方式公开了一种用于交织器和极化码构造的联合设计的系统和方法,其中通过考虑非均匀可靠性来交替地优化交织器和极化码构造。该方法采用其中通过能够设计的一组参数来使由交织器执行的置换参数化的交织器方案。
因此,一个实施方式公开了一种用于经由通信信道发送已编码码字的发送器。该发送器包括:源,该源接收源数据;非正则极化编码器;该非正则极化编码器由处理器操作以用极化码对源数据进行编码以产生已编码码字,其中,极化码由一组正则参数指定,该组正则参数包括定义了码字中的数据比特数量的参数、定义了指定在已编码码字中冻结比特的位置的数据索引集的参数、以及定义了已编码码字中的奇偶校验比特的数量的参数中的一个或组合,其中极化码还由一组非正则参数指定,该组非正则参数包括定义了极化码的至少一个正则参数的值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中的极化内核的非正则性的参数、以及定义了在极化编码的不同级上选择停用异或运算中的非正则性的参数中的一个或组合,并且其中非正则极化编码器使用极化码的正则参数和非正则参数对源数据进行编码;调制器,该调制器对已编码码字进行调制;以及前端,该前端经由通信信道发送经调制和编码的码字。
另一个实施方式公开了一种用于经由通信信道发送已编码码字的方法。该方法包括:接受要发送的源数据;用非正则极化码对源数据进行编码以产生已编码码字,其中,极化码由一组正则参数指定,该组正则参数包括定义了码字中的数据比特数量的参数、定义了指定在已编码码字中冻结比特的位置的数据索引集的参数、以及定义了已编码码字中的奇偶校验比特的数量的参数中的一个或组合,其中极化码还由一组非正则参数指定,该组非正则参数包括定义了极化码的至少一个正则参数的值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中的极化内核的非正则性的参数、以及定义了在极化编码的不同级上选择停用异或运算中的非正则性的参数中的一个或组合,并且其中非正则极化编码器使用极化码的正则参数和非正则参数对码字进行编码;对已编码码字进行调制;以及经由通信信道发送经调制和编码的码字。
另一实施方式公开了一种在其上实现有程序的非暂时性计算机可读存储介质,该程序可由处理器执行以执行以下方法。该方法包括:接受源数据;用非正则极化码对源数据进行编码以产生已编码码字,其中,极化码由一组正则参数指定,该组正则参数包括定义了码字中的数据比特数量的参数、定义了指定在已编码码字中冻结比特的位置的数据索引集的参数、以及定义了已编码码字中的奇偶校验比特的数量的参数中的一个或组合,其中极化码还由一组非正则参数指定,该组非正则参数包括定义了极化码的至少一个正则参数的值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中的极化内核的非正则性的参数、以及定义了在极化编码的不同级上选择停用异或运算中的非正则性的参数中的一个或组合,并且其中非正则极化编码器使用极化码的正则参数和非正则参数对码字进行编码;对已编码码字进行调制;以及经由通信信道发送经调制和编码的码字。
此外,根据本公开的实施方式,一种用于将源信息编码为要在通信信道中使用的已编码码字的编码器包括:数据输入,该数据输入接收要编码的源数据;处理器;以及存储器,该存储器存储处理器能执行的编码器程序,其中,编码器程序使处理器将源数据编码为Turbo乘积码(TPC)结构,其中,TPC结构包括:数据块,该数据块与源数据相对应;第一奇偶校验块,该第一奇偶校验块包括第一列部分、第一角部分和第一底部分,第一奇偶校验块被布置为由第一列部分、第一角部分和第一底部分覆盖数据块的右端列、数据块的右下角和数据块的底行;以及第二奇偶校验块,该第二奇偶校验块具有行奇偶校验块、联合奇偶校验块和列奇偶校验块,第二奇偶校验块被布置为使用行奇偶校验块、联合奇偶校验块和列奇偶校验块覆盖第一奇偶校验块。
另一实施方式公开了一种用于对由编码器从源数据编码的码字进行解码的解码器。该解码器包括:码字输入,该码字输入接收要解码的码字;处理器,该处理根据解码器程序将码字解码为源数据;以及存储器,该处理器存储处理器能执行的解码器程序,其中,包括行软判决(SD)过程、列SD过程和硬判决(HD)过程的解码器程序使处理器根据解码过程将具有Turbo乘积码(TPC)结构的码字解码为源数据,其中,解码过程包括:一系列行SD过程和列SD过程的至少两轮迭代;以及至少一个HD过程,其中,TPC结构包括:数据块,该数据块与源数据相对应;第一奇偶校验块,该第一奇偶校验块包括第一列部分、第一角部分和第一底部分,第一奇偶校验块被布置为由第一列部分、第一角部分和第一底部分覆盖数据块的右端列、数据块的右下角和数据块的底行;以及第二奇偶校验块,该第二奇偶校验块具有行奇偶校验块、联合奇偶校验块和列奇偶校验块,第二奇偶校验块被布置为使用行奇偶校验块、联合奇偶校验块和列奇偶校验块覆盖第一奇偶校验块。
此外,另一实施方式公开了一种用于经由通信信道发送已编码码字的发送器。发送器包括:源,该源接受要发送的源数据;数据输入,该数据输入接收要编码的源数据;处理器;以及存储器,该存储器存储处理器能执行的编码器程序,其中,编码器程序使处理器将源数据编码为乘积编码结构,其中乘积编码结构包括:数据块,该数据块与源数据相对应;第一奇偶校验块,该第一奇偶校验块包括第一列部分、第一角部分和第一底部分,第一奇偶校验块被布置为由第一列部分、第一角部分和第一底部分覆盖数据块的右端列、数据块的右下角和数据块的底行;以及第二奇偶校验块,该第二奇偶校验块具有行奇偶校验块、联合奇偶校验块和列奇偶校验块,第二奇偶校验块被布置为使用行奇偶校验块、联合奇偶校验块和列奇偶校验块覆盖第一奇偶校验块;调制器,该调制器调制已编码码字;以及前端,该前端在通信信道上发送经调制和编码的码字。
根据本公开实施方式的用于对极化码进行编码的系统和方法能够提高纠错性能,并且还能够降低处理器(硬件处理器)的计算复杂度、解码延迟和功耗。
附图说明
[图1]
图1是根据一些实施方式的用于传输数字数据的通信系统的功能图。
[图2]
图2是图1的系统的编码器所采用的示例性编码的示意图。
[图3]
图3是根据一个实施方式的由软判决解码器所执行的软判决解码的方法的框图。
[图4]
图4是根据一些实施方式的生成候选路径的列表的列表解码的示意图。
[图5]
图5是用于使用一些实施方式的原理计算一组候选解码码字与软输入之间的距离以用于确定每个比特位置的软输出的示例。
[图6A]
图6A是在码字的数据比特中嵌入多个CRC码的示意图。
[图6B]
图6B是在码字的数据比特中嵌入多个CRC码的示意图。
[图7]
图7是根据一些实施方式的用于软解码的方法的框图。
[图8]
图8是根据一个实施方式的用于对经由信道发送的码字进行解码的方法的框图。
[图9A]
图9A是根据一些实施方式的用于以非正则极化码对码字进行编码的非正则极化编码器的示意图。
[图9B]
图9B是根据一个实施方式的确定非正则极化码的参数的示意图。
[图10A]
图10A是根据一些实施方式的用于非均匀信道的比特交织的极化编码调制的示意图。
[图10B]
图10B是根据一些实施方式的用于非均匀信道的交织器和极化码构造的联合优化过程的框图。
[图11]
图11是根据一些实施方式的具有乘积编码结构的示例的级联纠错码的图示。
[图12]
图12是根据一些实施方式的具有阶梯式编码结构的示例的级联纠错码的图示。
[图13]
图13是根据一些实施方式的具有非正则编码结构的示例的级联纠错码的图示。
[图14]
图14是根据一些实施方式的使用软解码器的级联纠错码的迭代解码过程的框图。
[图15A]
图15A是根据一些实施方式的在极化级之间使用多个交织单元的示例的非正则极化编码结构的图示。
[图15B]
图15B是根据一些实施方式的用于设计中间交织器的方法的框图。
[图16A]
图16A是根据一些实施方式的具有稀疏选择非活动极化单元的示例的非正则极化编码结构的图示。
[图16B]
图16B是具有码长为4的非活动极化单元的三个示例的非正则极化编码结构的图示,示出了根据一些实施方式的停用极化器对误差概率上限的影响。
[图16C]
图16C是根据一些实施方式的用于基于解码性能的容差的非正则极化编码结构的选择性非活动极化器的方法的框图。
[图17]
图17是适于实现用于执行根据一些实施方式的软解码的接收器和/或用于根据一些实施方式的对码字进行编码的发送器的不同组件的系统的框图。
[图18A]
图18A示出了根据本发明的一些实施方式的BCH-TPC和极化TPC的乘积编码结构的示意图。
[图18B]
图18B示出了例示根据本发明的一些实施方式的解码过程的框图。
[图18C]
图18C示出了根据本发明的一些实施方式的基于BCH的TPC和基于极化的TPC的比特错误率(BER)性能。
[图19A]
图19A是例示了根据本发明的实施方式的基于与CRC-1码和BCH码级联的Polar(256,240,4)的行和列组成码的示例的图。
[图19B]
图19B是例示了根据本发明的一些实施方式的使用行SD解码器、列SD解码器和BCHHD解码器的解码过程的图。
[图19C]
图19C示出了根据本发明的实施方式的通过根据使用图19B的行SD解码器、列SD解码器和BCH HD解码器的解码过程对图19A的编码数据块进行解码而获得的BER性能。
[图20A]
图20A示出了根据本发明的实施方式的用于高吞吐量系统的具有流水线的并行编码的示例。
[图20B]
图20B示出了根据本发明的实施方式的用于高吞吐量系统的具有流水线的并行解码的示例。
具体实施方式
以下,参照附图描述本发明的各种实施方式。应当注意,附图未按比例绘制,在整个附图中,相似结构或功能的元件由相似附图标记表示。还应当注意,附图仅旨在便于本发明的具体实施方式的描述。它们并非旨在作为本发明的穷尽式描述或作为对发明范围的限制。另外,结合本发明的特定实施方式描述的方面并不一定限于那个实施方式,而是可以在本发明的任何其它实施方式中进行实践。
图1示出了根据一些实施方式的用于经由信道120从发送器110向接收器130发送数字数据的通信系统。例如,通信信道120包括用于无线电通信的空气介质、用于有线通信的铜线缆、用于数据存储传输的固态驱动器、以及用于光纤通信的光纤线缆。在通信过程期间,数字数据能够被信道中的噪声破坏。发送器110使用诸如极化码140的前向纠错(FEC)码,以实现可靠数据发送。接收器通过使用解码器133尝试恢复数据。
在发送器110处,要发送的数据来自被配置为接受原始数据的源111。该源能够包括用于存储数据的存储器、用于接收数据的输入端口、和/或用于生成数据的装置。例如,在一个实施方式中,源包括将输入的语音信号转换成数字数据的语音通信装置。来自源111的输入数据由FEC编码器112编码。经编码的数据由调制器113调制。在一些情况下,经编码的数据可以称为码字。调制器113使用各种数字调制格式,例如,具有和不具有诸如正交频分复用(OFDM)之类的线性变换的正交幅度调制(QAM)。经调制的数据经由前端电路114传输到信道中,前端电路114能够包括例如用于光通信的电光装置和用于无线电通信的射频装置。前端还能够包括诸如带通滤波器、预编码、功率加载、导频插入和预失真之类的信号预处理。
信道120使发送的信号失真。例如,该信道会添加加性高斯白噪声(AWGN)、同信道干扰(CCI)、深度衰落、脉冲噪声、符号间干扰(ISI)、由于克尔(Kerr)效应引起的非线性干扰(NLI)、线性色散(CD)以及其余硬件缺陷。
接收器130首先经由前端电路131将信道输出转换成电接收信号,该前端电路131通常与发送器处的前端114互补。例如,前端包括线性均衡、非线性均衡、自适应滤波、信道估计、载波相位恢复、同步以及极化恢复。接收到的信号在解调器132处被解调以产生对所发送的码字的比特的初始估计,该初始估计被解码器133用于恢复源数据。在各种实施方式中,解码器133是用于极化码140的软输出解码器。经解码的数据被发送到数据宿134。在一些实施方式中,解码器133是从来自解调器132的接收码字产生指示比特的对数似然比(LLR)的值的硬判决(HD)解码器。在一些其它实施方式中,解码器133包括产生解码的软输出的软判决解码器和基于从软解码器接收的软输出从接收码字产生指示比特的LLR的值的硬判决解码器的组合。
发送器110和/或接收器130能够使用可操作地连接到存储器的处理器来实现。发送器110和接收器130中的每一个包括一个或多个处理器(未示出)。例如,接收器130的存储器能够存储与以下其中之一或组合有关的一些信息:极化编码、解码器133的软输入和软输出、中间计算结果和解码的参数。例如,使用形成为1的下三角矩阵的克罗内克积(Kronecker power)的编码矩阵来对极化编码码字进行编码。为此,接收器的存储器能够存储软解码器的处理器用于解码码字的编码矩阵。
发送器110和接收器130中的所有组件(包括编码器112、调制器113、解调器132和解码器133)可以由硬件、一个或更多个处理器(硬件处理器)、计算机软件(程序或程序模块)、或硬件和计算机软件的组合来实现。
图2示出了针对示例极化码,由编码器112所采用的示例性编码的示意图,其中存在n=16个码字比特210、k=10个数据比特202、以及n-k=6个冻结比特201。10个数据比特被写入数据比特202的位置,而冻结比特201被设置为固定的已知值(为了在实践中简化,其能够全部为零)。因此,在该示例中,通过将比特(u1,u2,u4,u6,u9,u10,u11,u12,u14,u15)设置为10个数据比特的值,将其余比特(u0,u3,u5,u7,u8,u13)设置为固定的已知值来形成向量u:=(u0,…,un-1)。数据索引集对于该示例是I={1,2,4,6,9,10,11,12,14,15},该数据索引集与参数n、k、以及冻结比特的固定值一起构成极化码规范140。该示意图例示了将向量u:=(u0,…,un-1)转换为码字向量c:=(c0,…,cn-1)的过程,该过程涉及使用所示的二进制异或(XOR)运算220。这些运算遵循结构化的模式,使得整个过程等同于应用公式其中矩阵乘法经由二进制字段(即,模2运算)进行,B表示n×n比特反转置换矩阵,并且/>是矩阵/>的第m克罗内克积,并且m:=log2 n是极化级数。对于正则极化编码,每级有/>次的XOR运算,因此总共需要nm/2次运算。为了方便起见,这里将每个XOR运算称为极化运算,这是因为该运算会像极化器一样创建升级的子信道和降级的子信道。
图3示出了根据一个实施方式的由软解码器133执行的软解码的方法的框图。解码器133可以包括处理器,该处理器可操作地连接到存储器并且被配置用于实现该方法的步骤。
该方法使用连续消除列表(SCL)解码320来估计所接收码字310的比特的可能值,以产生一组候选码字325,并确定330每个候选码字325与所接收码字310之间的距离,以产生对应的一组距离335。该方法使用最靠近所接收码字并且在比特序列中的比特的位置处具有相反值的候选码字的距离之差,来确定340该比特的值的似然度350。例如,一个实施方式基于在该位置处具有值“1”的最近候选的距离与在该位置处具有“0”的最近候选的距离之差,来计算软输入在每个比特位置处的软输出。
图4示出了根据一些实施方式的通过考虑树结构400中的多个解码路径来生成候选解码路径420的列表的SCL解码320的示意图。解码过程从开始的空路径410的分支411开始,以考虑第一比特的两种可能性,以在解码路径的列表中生成初始的两个候选421。候选路径“0…”412在列表421中并且对应于树结构400内的位置。对于后续的比特位置,列表中的每个候选解码路径被分支以作为下一比特的两种可能性的条件。例如,列表中的候选被分支以从考虑第一比特位置421到第二比特位置422前进,并且从考虑第二比特位置422到第三比特位置423前进。这对应于在树结构400中看到的分支。由于分支导致列表尺寸生长,因此通过将候选列表限制为固定尺寸来限制这种生长。在该图所示的示例中,列表被限制为三个的尺寸。在第二分支之后,从列表中去除一个候选路径413。在第三分支之后,从列表中去除三个候选路径414、415和416。
图5示出了使用一些实施方式的原理来计算一组候选解码码字501与软输入301之间的距离以用于确定每个比特位置的软输出的示例。在该示例中,候选码字的列表501包括三个候选,并且该距离被确定为平方距离。为此,针对软输入301计算502每个候选的平方距离。在不同实施方式中,候选的数量和用于距离确定的指标可以改变。
设(y1,…,yn)表示软输入301,并设(c1,…,cn)表示特定的候选解码码字。平方距离是根据平方欧几里德距离公式计算出的。请注意,每个候选通过项(2ci-1)从二进制值{0,1}转换为{-1,+1}。然后,基于候选码字501的列表及其各自的平方距离503,在每个比特位置上分别执行最终软输出508的计算过程507。对于每个比特位置,根据在该位置处具有零的最近候选的平方距离与在该位置处具有1的最近候选的平方距离之差的函数来计算软输出。这由公式oi=f(di,0-di,1)给出,其中,oi是比特位置i的软输出,di,0是在位置i处具有零的最近候选的平方距离,并且di,1是在位置i处具有1的最近候选的平方距离。
例如,在一个实施方式中,函数包括距离的差除以标量,例如,oi=(di,0-di,1)/4(在该示例中,标量为4)。例如,在位置504处比特的软输出为(1.81-2.84)/4=-0.257,其中1.81是在位置504处具有值零的唯一候选码字的距离,而2.84是在位置504处具有值1的最近候选的距离值。例如,在位置505处的比特的软输出为(3.59-1.81)/4=0.445,其中3.59是在位置505处具有值零的唯一候选码字的距离,并且1.81是在位置505处具有值1的最近候选的距离。
在一些实施方式中,如果全部候选在该比特位置处具有相同值(例如,在位置506处的比特),则不能应用该公式,而是根据给定参数β>0设置该位置的软输出,如果全部候选在该位置处具有值1,则输出被设置为oi=+β,或者全部候选在该位置具有值零,则输出被设置为oi=-β。从多个候选计算软判决输出值的上述过程称为Chase处理。在一个实施方式中,SCL解码中的列表数量能够减少到1,并且通过基于离线已知的非可靠、未冻结比特,使用最可能错误模式来生成多个候选。
为了进一步提高纠错性能,一些实施方式以编码效率的小幅降低为代价,将循环冗余校验(CRC)嵌入数据比特中。通过此更改,能够修改解码器(称为SCL+CRC),以便如果路径中的至少一个对应于具有有效CRC的数据序列,则选择具有有效CRC的最可能路径作为估计值。
图6A和图6B示出了在码字的数据比特中嵌入至少一个CRC码的示意图。例如,图6A示出了一个CRC被嵌入在码字的末尾以验证解码的正确性的示例。在此示例中,码字600的比特被拆分为包含实际消息数据的单个数据部分601,后跟单个CRC码602,该单个CRC码602是从数据部分601计算出的并验证603数据部分601。
图6B示出了使用多个CRC码的示例,其中第一CRC被嵌入在码字的中间以改善SCL解码的性能,而第二CRC位于码字的末尾。这种嵌入在码字内的多个CRC码能够用于验证部分解码路径。以这种方式,CRC能够在解码过程的中间步骤中辅助SCL解码器修剪候选码字。此外,多个CRC码能够防止SCL解码中潜在的错误传播。
在码字610的比特中,嵌入了多个CRC码,这将码字610分为四个部分。在第一数据部分611之后是从第一数据部分611计算出的并对第一数据部分611进行验证613的第一CRC部分。在第二数据部分614之后是从第二数据部分614计算出的并对第二数据部分614进行验证616的第二CRC部分。
图7示出了根据一些实施方式的用于软解码的方法的框图,其中,所接收码字包括多个CRC码。例如,在一个实施方式中,当候选码字的一部分包括不正确的CRC码时,软解码器133的处理器在由包括所接收码字中的CRC码的位置所支配的部分长度处修剪候一组选码字。
例如,该方法从部分解码的候选码字提取710CRC值以产生第一CRC 715,并且通过对部分解码的候选码字应用公知的CRC计算过程来计算720CRC,以产生第二CRC 725。
该方法将第一CRC 715与第二CRC 725进行比较730,并且如果第一CRC与第二CRC不匹配,则从解码比特的可能组合列表中去除该部分解码的候选码字。
图8是根据一个实施方式的用于对经由信道发送的码字进行解码的方法的框图。该过程的软输入801是经由信道接收到的有噪码字,由y:=(y0,…,yn-1)表示,其中,每个yi是相应的码比特ci的有噪观察值。列表解码过程在从索引0到n-1的比特上顺序进行,其中在针对比特索引i∈{0,…,(n-1)}的每次迭代805中,执行以下项:
在数据比特索引处的分支解码路径802:
如果第一索引不是数据比特位置(即,),则解码路径的列表从一个路径开始,在这种情况下,单个路径包括设置为u0的已知固定值的第一比特的估计值/>否则,当第一索引是数据比特位置(即,0∈I)时,解码路径的列表以表示第一比特为0或1的可能性的两条路径(/>以及/>)开始。
在随后的比特索引i>0处,扩展现有路径。如果比特索引对应于数据比特位置(即,i∈I),则通过分别向每个分支添加和/>将每个路径分为两个路径。否则,当比特索引不对应于数据比特位置(即,/>)时,每个路径不分支,并且仅通过添加被设置为ui的已知固定值的/>来扩展。
如果嵌入,则检查路径的CRC有效性803:
如果数据比特包含嵌入的CRC码,则这些能够用于拒绝无效的部分解码路径。
在比特索引i处,在部分向量的数据比特位置(u0,…,ui)包含嵌入的CRC码的情况下,能够检查部分解码路径的自一致性。否则,在此阶段什么都不做。而且,一旦已经检查了特定的CRC码,就不需要为以后的索引重新检查它了。
对于每个部分路径检查在其数据比特位置处的比特是否与所嵌入CRC码自一致。从路径的列表中去除不自一致的路径。
删减路径列表804:
为了避免处理候选路径以及避免候选路径指数增长(并因此难以处理),该列表将被删减至固定列表尺寸极限L。
对于每个部分解码路径计算出该部分解码路径正确的相对统计似然度/>其根据极化码结构和基础信道统计得出。
然后,保留具有最高似然度的L个路径,而从列表中去除其余路径。
当路径完成时退出循环806:
在考虑了数据索引i=n-1之后,循环结束,并且该过程移至比较候选路径与软输入807。
在将每个候选路径与软输入进行比较807之后,可以基于候选路径的相对质量来计算808软输出809。
另一实施方式使用查找表(LUT)跨极化级传播可靠性信息,其中,统计地确定量化的信度消息以使所需LUT存储器尺寸最小化,而不会引起很多性能损失。基于似然度统计的自适应LUT输出用于优化冻结比特位置,以实现更高的编码增益,从而补偿量化损失。
在一些实施方式中,在解码期间的比特似然度的计算仅使用几个量化比特以减少计算复杂度和存储器。一个实施方式通过考虑进入消息和输出消息的统计,而不是简单地近似似然度的量化版本,来将自适应LUT用于在每个极化运算中处理解码数据。例如,极化运算符的降级分支产生较低的可靠消息,因此量化动态范围应该小于极化器的升级分支。在级和比特索引处,不同极化器处使用不同的LUT,能够使量化解码的损失最小化。
非正则极化码构造
一些实施方式基于这样的认识,即正则极化编码构造解决了通信信道和调制方案为每个发送的码字比特提供统一的发送可靠性的情况。实现容量和冻结比特位置设计的理论证明需要该假设。然而,诸如高阶调制、频率选择性衰落、时变信道和多输入多输出(MIMO)信道之类的一些情况导致可靠性在所传输比特上是不均匀的。一些实施方式基于另一种认识:在正则极化编码在大(理论上是无限大)的代码上朝着最佳编码效率收敛的同时,能够提高其对于较短码长度的实际纠错性能。
一些实施方式基于以下认识:正则极化编码对通信信道的参数变化的自适应性取决于如下参数的值:诸如定义了码字中的数据比特数量的参数、定义了指定在已编码码字中冻结比特的位置的数据索引集的参数、以及定义了在已编码码字中的奇偶校验比特的数量的参数。这些参数在本文中称为极化码的正则参数。
一些实施方式基于这样的认识:除了正则参数之外,还需要使用一些其它参数来提高极化码的自适应性。这样的附加参数能够包括以下参数中的一个或组合:定义了极化码的至少一个正则参数的值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中的极化内核的非正则性的参数、以及定义了极化编码的不同级上停用XOR运算的选择中的非正则性的参数,并且其中非正则极化编码器使用极化码的正则参数和非正则参数对码字进行编码。
这些附加参数在本文中称为非正则参数。使用正则参数和非正则参数设计的极化码在本文中称为非正则极化码。使用非正则极化码对码字进行编码的极化编码器在本文中称为非正则极化编码器。
图9A示出了根据一些实施方式的用非正则极化码900对码字进行编码以产生已编码码字的、由处理器操作的非正则极化编码器的示意图。非正则极化编码器能够被包括在发送器110的编码器112中。
非正则极化码900由一组正则参数910指定,该组正则参数包括定义了码字中的数据比特数量的参数、定义了指定已编码码字中冻结比特的位置的数据索引集的参数、以及定义了已编码码字中奇偶校验比特数量的参数中的一个或组合。非正则极化码900进一步由一组非正则参数920指定,该组非正则参数包括定义了极化码的至少一个正则参数的值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中极化内核的非正则性的参数、以及在极化编码的不同级上停用XOR运算的选择中的非正则性的参数中的一个或组合。在一些实施方式中,非正则极化编码器使用非正则极化码的正则参数和非正则参数,对码字进行编码。
图9B示出了根据一个实施方式的确定非正则极化码的参数的示意图。在该实施方式中,发送器110包括被配置为确定通信信道的参数的信道估计器940。例如,通信信道的参数包括用于传输已编码码字的比特的非均匀可靠性的值和/或信道的其它统计信息(诸如,信噪比和延迟分布)。能够使用诸如基于导频和训练符号的最小二乘信道估计或盲功率估计之类的各种方法来确定通信信道的参数。
在一个实施方式中,发送器110包括存储器,以存储正则和/或非正则参数的不同值到通信信道的参数的不同值之间的映射930。以这种方式,实施方式能够基于由信道估计器940确定的通信信道的参数,来选择极化码的正则参数和/或非正则参数的值的组合935。
在一些情况下,极化码的性能不仅取决于解码方法,还取决于在编码器处冻结比特位置。为了便于软判决解码,进一步细化了冻结比特位置,使得能够通过处理软判决解码期间的似然度统计,提升极化效果。冻结比特位置设计对于其中不同已编码比特由不同噪声强度而损坏从而导致比特可靠性不均匀的高阶调制和频率选择衰落信道特别重要。该实施方式利用用于选择冻结比特位置的似然度统计的知识来改善软判决解码的性能。另外,对于这种非均匀可靠性,如何将已编码比特映射到调制比特上很重要,这是因为不同的映射能够降低极化效果。因此,除了冻结比特位置设计之外,还需要细致的交织设计以将已编码比特映射到调制比特上。本发明的方法提供了为这样的高阶调制和衰落信道联合设计冻结比特位置和交织的方式。
图10A示出了带有交织的编码器的示意图,其中极化编码112产生已编码比特c0,…,c15,该已编码比特跨最低有效位(LSB)到最高位有效位(MSB)平面,由交织器1020映射到QAM调制器或OFDM调制器1010处的不同调制比特。LSB到MSB具有不同的比特可靠性。除了比特重要性外,每个调制符号x0,…,x3例如可以由于频率选择衰落信道而具有不同的信道噪声电平。本发明的方法将重要的已编码比特仔细地映射到可靠的调制比特,从而实现了高解码性能。
图10B示出了针对非均匀信道联合优化交织器和极化码构造的过程。该方法采用交织器方案,其中由交织器执行的置换通过能够被易处理地优化的一组参数进行参数化,即,代替考虑所有可能的置换。例如,交织的一种实现是二次多项式置换(QPP)交织器,它按如下方式将已编码比特索引i重新排序为调制比特索引:
ΠQPP(i)=(f0+f1i+f2i2)mod n,
其中,(f0,f1,f2)是交织器参数。在QPP交织之前和之后,能够使用短词典置换表,使得设计极化编码的交织的自由度更大。
首先,交织器被设置为初始置换1001。然后,通过选择与最可靠的伪信道相对应的数据索引集,针对该初始交织器置换来优化极化码构造1002。然后,评估极化码构造和交织器的纠错性能1003。该评估可以通过模拟经验地执行和/或通过从由数据索引集所选择的伪信道的可靠性可计算出的误差界限来解析地执行。例如,在每个极化运算中,能够通过巴特查里亚(Bhattacharyya)参数、密度演化、高斯(Gaussian)近似或外部信息传递(EXIT)方法来跟踪似然度的统计。为了捕获非均匀可靠性,一个实施方式的方法使用非传统跟踪。例如,对于用于降级分支i和升级分支j,分别如下跟踪巴特查里亚参数:
其中,是对于比特索引i在极化级m的巴特查里亚参数。巴特查里亚参数对应于比特错误率的上界限。
在一些实施方式中,为了考虑软判决消息传播,对于极化运算的降级分支和升级分支,EXIT方法跨解码阶段从外部互信息的角度分别如下地跟踪可靠性:
其中,是从信道输出传播的互信息。在这里,JTB(.)和/>表示滕布林克的J函数(ten Brink’s J-function)及其逆函数,即,
/>
一旦在解码后我们计算出互信息,通过下式获得第i输入比特的错误率:
其中,erfc(x)是互补误差函数。注意,每个极化级的互信息计算应考虑用于量化软判决解码的不相同的LUT。具体地,将上述J函数从连续高斯函数修改为通过相应转移矩阵能够容易地计算出其互信息的离散输入和离散输出函数。此外,针对不同的解码方法(诸如信度传播解码)修改了EXIT跟踪公式,其中修改EXIT公式以考虑来自相邻极化级的其它反馈信息。注意,除先前极化级之外,通过还考虑来自下一极化级的反馈信息,针对诸如BP解码的不同解码算法容易地概括EXIT跟踪式。
接下来,基于纠错性能是否已经收敛(即,相对于先前迭代没有显著改变)或者是否已经达到迭代总数的极限,做出继续迭代优化处理还是结束迭代优化处理的判决1004。如果继续,则在极化码数据集索引保持固定的同时优化交织器置换1005,然后在交织器保持固定的同时再次优化极化码数据集索引1002,然后重新评估极化码构造和交织器的性能1003,并再次做出是继续迭代优化或结束迭代优化的判决1004。在结束这些迭代之后,最终结果是联合优化的交织器和极化码构造1006。这种冻结比特位置和交织的联合优化尤其对于较长码字长度和无线衰落信道提升了极化效果。
在一些实施方式中,使用多个极化码,其中每个分量极化码相互级联,并且软判决解码输出在多个极化解码器之间来回传播。多个级联极化码的益处包括并行解码的能力、提高的纠错能力以及降低的解码延迟。
图11例示了具有乘积编码结构的示例级联极化码。乘积编码结构采用两个极化码,第一极化码具有长度n1和k1个数据比特,并且第二极化码具有长度n2和k2个数据比特。编码过程对布置在k1个行和k2个列的矩形数据块1101的k1×k2个数据比特进行编码。通过用第二极化码对数据块1101的每行进行系统编码,并将针对每行计算出的奇偶校验比特写入k1×(n2-k2)行奇偶校验块1102的相应行中,来产生行奇偶校验块1102。通过用第一极化码对数据块1101的每列进行系统编码,并将针对每列计算出的奇偶校验比特写入(n1-k1)×k2列奇偶校验块1103的相应列中,来产生列奇偶校验块1103。通过用第一极化码对行奇偶校验块1102的每列进行系统编码并且将针对每列计算出的奇偶校验比特写入(n1-k1)×(n2-k2)行和列奇偶校验块1104的相应列中,来产生行和列奇偶校验块1104。数据块1101、行奇偶校验块1102、列奇偶校验块1103以及行和列奇偶校验块1104一起形成能够被序列化并且在通信信道上发送的n1×n2码字块。在一些实施方式中,乘积极化编码被缩放到更高维度的结合,例如,来自二维类正方形结构的三维类立方体结构。在一些实施方式中,行和列中的每个分量极化编码具有非正则不同的参数,例如,冻结比特位置是不同的,以提高用于迭代解码的性能。对于典型的多维乘积编码,编码和解码可以具有任何特定顺序和方向,而解码的顺序能够基于在存在信道不均匀和极化非正则性的情况下的EXIT轨迹分析,通过调度优化方法来优化。
图12例示了具有阶梯编码结构的空间结合极化编码的另一示例。该编码方案涉及以类似于楼梯的结构布置的正方形块。结构1201中的编号为“块0”的第一块包括被设置为固定的已知值的比特的正方形块。随后的块被编号为“块1”、“块2”等,每个块包括数据部分和奇偶校验部分。例如,“块1”包括“块1:数据”1211和“块1:奇偶校验”1212。尽管该图例示了5个块,但是该结构很容易概括为更多或更少的块。每个正方形块的维度为n1×n1。对于奇数编号的后续块,数据部分(例如,1211、1231)具有n1×k1的维度,而奇偶校验部分(例如,1212、1232)具有n1×(n1-k1)的维度。对于偶数编号的后续块,数据部分(例如,1221、1241)具有k1×n1的维度,而奇偶校验部分(例如,1222、1242)具有(n1-k1)×n1的维度。该编码结构采用了将n1+k1个数据比特编码为长度为2n1的码字的分量极化码。对于所示的特定示例,其在初始“块0”之后包括4个后续块,n1×k1×4的数据比特通过首先将它们写入后续块的数据部分1211、1221、1231、1241中来编码。后续块的奇偶校验部分1212、1222、1232、1242依次如下地产生:
每个奇数编号块的奇偶校验部分1212、1232的每行是通过系统地编码前一块的对应行和同一块的数据部分的对应行的级联而产生的。例如,“块1”的奇偶校验部分1212的行i是由通过与“块1”的数据部分1211的行i级联的“块0”1201的行i的系统编码而产生的奇偶校验比特来确定的。在另一示例中,“块3”的奇偶校验部分1232的行i是由通过与“块3”的数据部分1231的行i级联的“块2”的行i的系统编码而产生的奇偶校验比特来确定的,该“块2”行进而包括与“块2”的奇偶校验部分1222的行i级联的“块2”的数据部分1221的行i。
每个偶数编号块的奇偶校验部分1222、1242的每列以类似的方式产生,但是该过程是在列上而不是行上操作。例如,“块2”的奇偶校验部分1222的列i是由通过与“块2”的数据部分1221的列i级联的“块1”的列i的系统编码而产生的奇偶校验比特来确定的,所述“块1”的列进而包括与“块1”的奇偶校验部分1212的列i级联的“块1”的数据部分1211的列i。
由阶梯编码过程生成的整体级联码字是初始“块0”之后的后续块中的全部比特,由于“块0”被设置为固定的已知值,因此不需要发送。“块1”、“块2”等中的比特被序列化以在通信信道上进行发送。与具有相应码字长度的单极化编码相比,阶梯极化编码结构的益处包括减少了延迟。在该实施方式中,能够并行执行软判决解码,并且对于低延迟数据通信,以滑动窗口方式采用了对相邻解码器的几次迭代。空间结合极化编码的其它示例包括编织结构、卷积结构、咬尾、圆环咬尾等。每个分量极化编码的正则参数以非正则方式单独设计,使得迭代软解码能够快速地校正潜在错误。
正则极化编码具有有限的设计自由度,设计自由度确定冻结比特位置。一些实施方式通过使多个极化码具有诸如码长、码率和冻结比特位置的不同参数来增加自由度,以便于软判决解码。
具体地,图13例示了具有非正则编码结构的示例级联极化码。该编码方案采用在其中冻结比特位置不同的非正则结构中具有不同码字和数据长度的极化码的组合。整个级联码的数据比特布置在一个或更多个矩形块中,这些矩形块垂直层叠并沿其左边缘对齐。在我们例示的示例中,存在分别具有k1×k2和k3×k4的维度的两个数据比特块1301和1302。然后,将一个或更多个行奇偶校验块水平地附于数据块的右边,所述行奇偶校验块的各行是由通过对数据比特中它所附于的对应行进行系统编码而产生的奇偶校验比特来确定的。在我们例示的示例中,存在两个行奇偶校验块1311和1312。具体地,维度为k1×p1的第一行奇偶校验块1311是通过用将k1个数据比特编码为长度(k2+p1)的码字的分量极化码对第一数据块1301的行进行系统编码而产生的。尽管现在使用将k2个数据比特编码为长度(k4+p2)的码字的分量极化码,但是维度为k2×p2的第二行奇偶校验块1312是通过对第二数据块1301的行进行系统编码而类似地产生的。接下来,将列奇偶校验块垂直附于数据比特块和行奇偶校验块的底部,其中,列奇偶校验块的各列是由通过对数据比特和奇偶校验比特中它所附于的对应列进行系统编码而产生的奇偶校验比特确定的。在我们所例示的示例中,存在三个列奇偶校验块1321、1322和1323。具体地,维度为p3×k5的第一列奇偶校验块1321是通过使用将(k1+k3)个数据比特编码为长度(k1+k3+p3)的码字的分量极化码对数据块1301和1302二者的前k5列进行系统编码而产生的。维度为p4×k6的第二列奇偶校验块1322是通过使用将(k1+k3)个数据比特编码为长度(k1+k3+p4)的码字的分量极化码而产生的。注意,第二列奇偶校验块1322的不同列与两个数据块1301和1302以及两个行奇偶校验块1311和1312的不同部分交叠。第二列奇偶校验块1322的各列是通过对在其正上方的列进行系统编码而产生的。
图13仅例示了一种特定的示例布置,但是这种一般概念包括采用各种分量极化码的数据块、行奇偶校验块和列奇偶校验块的许多可能的非正则布置。例如,构造了基于原模图(protograph)的极化编码结构,其中通过移位运算在每个极化器处将并行极化码混合。另一个示例使用不断增加的阶梯结构来提供无速率能力(rateless capability),其中仅奇偶校验比特由分量极化码连续生成,直到接收器确认解码完成为止。因此,非正则编码结构和具有不同编码参数的各种分量极化码的应用在级联码的整个码字上产生变化的自由度(并且因此产生各种程度的纠错性能),这对于非均匀通信信道潜在地有用。该整个码字被序列化以用于在通信信道上进行发送,并且该序列可以在经由不均匀信道进行发送之前经由交织器进行置换,以潜在地获得纠错性能增益。
图14是使用应用于各种分量码的软判定解码器的级联极化码的迭代解码过程的框图。第一步是来初始化用于具有信道输出(即,在通信信道上接收到的有噪码字)的软判决解码器的软输入1400。然后,级联的极化码构造和解码调度1401的规范指定级联的纠错码的结构以及在每个解码迭代中软解码哪个分量码1410。如解码调度1401所指定的那样,一个或更多个分量码的软解码1410产生用于更新下一次迭代的软输入的软输出。接下来,如解码调度1401所指定的那样,作出是前进至下一迭代还是退出迭代解码处理的判决1411。该解码顺序调度包括例如用于低延迟解码的滑动窗口和用于高并行度的洪泛调度。如果继续解码迭代,则该过程返回到如解码调度1401中指定地那样选择的一个或更多个分量码的软判决解码1410。此过程迭代,直到解码调度1401指示其应停止为止,结果得到通过迭代解码产生的最终软输出,从该软输出确定解码比特1420。
例如,如图11所示,在乘积码的情况下,示例解码调度将在对行分量码和列分量码进行软解码之间交替,直到已经过了固定次数的迭代。在又一实施方式中,每个分量极化码具有附加的非正则性以便于软判决解码。
图15A示出了在几个(例如,每个)极化级之间具有交织器1510的非正则极化码的示例。连同调制映射交织器1520一起和/或除了调制映射交织器1520之外,该实施方式采用更多交织单元1510,以通过在没有计算复杂度的附加损失的情况下仔细设计中间交织器来改善解码性能。
图15B示出了用于设计中间交织器同时管理计算复杂度的方法的框图。此过程如图10B所示的用于针对非均匀信道联合优化交织器和极化码构造的过程类似并使用该过程的相同子组件中的几个。首先,将交织器设置为一些初始置换1501。然后,通过选择与最可靠的伪信道相对应的数据索引集,针对交织器的这些初始置换来优化极化码构造1502。然后,评估极化码构造和交织器的纠错性能1503。接下来,基于纠错性能是否已经收敛(即,相对于先前迭代没有显著改变)或者是否已经达到迭代总数的极限,做出继续迭代优化处理还是结束迭代优化处理的判决1504。如果继续,则在极化码数据集索引保持固定的同时优化交织器置换1505,然后在交织器保持固定的同时再次优化极化码数据集索引1502,然后重新评估极化码构造和交织器的性能1503,并再次做出是继续迭代优化或结束迭代优化的判决1004。在结束这些迭代之后,最终结果是联合优化的交织器和极化码构造1506。
该过程与图10B所示的过程之间的显著区别在于,交织器的优化1505处理优化多个置换而不是仅一个置换。如在图10B的过程中进的,能够对这些交织器置换进行参数化,以使得每个交织器的单独优化易于处理。然而,对多个交织器的所有组合进行强力搜索可能极大地提高计算复杂性。为了管理计算成本,代替顺序地优化交织器,即,根据优化调度一次单独优化交织器中的一个同时保持其它固定1507。优化调度1507能够例如指定在交织器优化1505的一次执行期间顺序地优化所有交织器,或者作为另一示例,在整个迭代的码构造过程中,在交织器优化1505的一次执行期间仅顺序地优化交织器的子集,同时在交织器优化1505的多次执行之间旋转该被选子集。
图16A例示了非正则极化编码结构的另一示例,其中几个XOR极化单元被停用。通过仔细选择非活动极化器,能够提高纠错性能,并能够减少编码和解码的计算复杂度。另外,停用的几组极化单元使得能够部分地并行解码,从而减少了解码的延迟。通过用EXIT方法分析误差界限来确定非活动极化器的位置,以便以贪婪的方式使误差界限最小化。因为大多数极化器不会显著地降低解码性能,所以这种非正则的停用能够通过选择更多的非活动极化器来显著降低解码复杂度。
图16B示出了码长为4的非正则极化编码结构的三个示例,以例示由停用极化器所提供的益处。正则极化编码1620具有两个极化级1621、1622,其中每个级具有两个极化器单元1623、1624和1625、1626。每个极化器单元提供不良子信道和良好子信道。例如,当已编码的四个比特{c0,c1,c2,c3}由于0.5的巴特查里亚(Bhattacharyya)参数而具有统一的可靠性时,第一极化级1621中的第一极化器1623提供巴特查里亚参数为0.75的不良比特c’0和巴特查里亚参数为0.25的良好比特c’1。类似地,在第一极化级1621中的第二极化器1623提供巴特查里亚参数为0.75的不良比特c’2和巴特查里亚参数为0.25的良好比特c’3。第二极化级1622中的第一极化器1625提供巴特查里亚参数为0.9375的不良比特u0和巴特查里亚参数为0.5625的良好比特u2。
在第二极化级1622中的第二极化器1626提供巴特查里亚参数为0.4375的不良比特u1和巴特查里亚参数为0.0625的良好比特u3。对于0.5的码率,选择具有较低的巴特查里亚参数的两个最佳比特{u1,u3}作为信息数据,同时选择具有较高巴特查里亚参数的其余两个不良比特作为冻结比特。期望这种规则的极化编码提供与1-(1-0.4375)(1-0.0625)=0.473一样的上限(UB)的错误率性能。
非正则极化编码1630的一个示例停用1610第三极化器单元1625。该非活动极化器不改变比特{u0,u2}的中间比特{c’0,c′2}的可靠性,因此,那些巴特查里亚参数均为0.75。然而,这些比特已经不可靠而成为冻结比特。因此,因为信息比特{u1,u3}具有与正则极化编码1620相同的可靠性,所以错误率性能不受停用极化器单元1630的影响。该示例表明,采用该原理的实施方式能够在不造成任何性能损失的情况下通过停用不重要的极化器来降低计算复杂度。
非正则极化编码1640的另一示例示出了更重要的益处,即,能够通过降低复杂度来提高错误率性能。该非正则极化编码1640停用1610第四极化器单元1626。因此,比特{u1,u3}的可靠性保持与巴特查里亚参数为0.25的中间比特{c’1,′3}的可靠性相同。所得的UB为1-(1-0.25)(1-0.25)=0.4375,这比正则极化编码1620更好。该示例表明,停用极化器单元通过使信息比特的可靠性平坦化,不仅能够降低计算复杂度,而且能够提高错误率性能。
具有非活动极化器单元的非正则极化编码具有比正则极化编码更大的设计自由度;具体地,由于存在N′=n log2(n)/2个极化器单元,因此选择非活动极化器单元的位置的概率为设D是尺寸为n/2乘以log2(n)的激活矩阵,其第(i,j)项为“1”或“0”,这表示第j极化级的第i极化器单元是活动的还是非活动的。例如,并且非正则极化编码1630具有并且非正则极化编码1640具有/>由于可能的非正则极化编码的总数呈指数增长,因此针对长非正则极化编码优化激活矩阵并非易事。为了设计激活矩阵以实现良好的非正则极化编码,在本发明中使用贪婪列表搜索。
图16C示出了根据一些实施方式的用于选择非正则极化编码结构的非活动极化器的方法的框图。该方法将激活矩阵初始化1601为全1,作为正则极化编码(1602)。接下来,该方法停用1603先前的激活矩阵,即,将元素“1”更改为“0”。对于所有可能的N’位置1604,考虑停用。然后,针对每个非正则极化编码,计算错误率概率。在此,在分析错误率性能的UB期间,与上述类似地优化交织器和冻结比特位置。该方法选择1606具有最小错误概率的最佳L’非正则极化编码。对于每个被选非正则极化编码,该方法进一步停用1603不同的极化器单元1607。该过程继续进行1608,直到满足终止条件。终止条件包括例如错误率性能被最小化的情况或错误率性能变得比正则极化编码的错误率性能差以使计算复杂度最小化的情况。在列表搜索完成之后,产生具有优化的激活表、交织器和冻结比特位置的非正则极化编码1609。
注意,如正则系统极化编码器所做的那样,通过使用像镜像结构那样的两次非正则极化编码,可以进行系统编码而无需对那些非正则极化编码进行任何修改。该过程导致系统编码,其中即使对于稀疏的非正则极化编码,源数据符号也出现在已编码数据符号的相同位置。
停用极化器单元的XOR等同于在非活动位置将的极化内核更改为的另一全阶等同内核。基于这种认识,基于稀疏的非活动极化器单元的非正则极化编码被进一步推广为非二进制和高阶内核。例如,一些实施方式对于4进制伽罗华域(Galois filed)(即,模4运算)使用具有不同的全阶非二进制内核(诸如,/> )的非正则极化编码。为每个极化器单元稀疏地指配这些不同的非二进制内核,以提高错误率性能并降低计算复杂度。
另一实施方式以非正则方式使用高阶内核的非正则混合;例如,对于3阶内核
并且对于4阶内核,
高阶和非二进制内核也能够组合。
图17示出了适合于实现根据一些实施方式的用于执行软解码的接收器和/或根据一些实施方式的用于对码字进行编码的发送器的不同组件的系统的框图。系统1700能够包括通过连接件1720可操作性地联接到其它组件的传感器1710、惯性测量单元(IMU)1730、处理器1750、存储器1760、收发器1770和显示器/屏幕1780中的一个或组合。连接件1720可以包括总线、线路、光纤、链路或其组合。
收发器1770可以例如包括能够经由一种或更多种类型的无线通信网络发送一个或更多个信号的发送器,以及接收经由一种或更多种类型的无线通信网络发送的一个或更多个信号的接收器。收发器1770能够允许基于如下各种技术与无线网络进行通信,所述技术诸如但不限于可以基于IEEE 802.11系列标准的毫微微小区、Wi-Fi网络或无线局域网(WLAN)、基于IEEE 802.15x系列标准的诸如蓝牙、近场通信(NFC)、网络等的无线个人局域网(WPAN)和/或诸如LTE、WiMAX等的无线广域网(WWAN)。系统1700还能够包括用于经由有线网络进行通信的一个或更多个端口。
在一些实施方式中,处理器1750还能够从IMU 1730接收输入。在其它实施方式中,IMU 1730能够包括3轴加速度计、3轴陀螺仪和/或磁力计。IMU 1730能够向处理器1750提供速度、方位和/或其它与位置有关的信息。在一些实施方式中,IMU1730能够与传感器1710对每个图像帧的捕获同步地输出测量到的信息。在一些实施方式中,IMU 1730的输出由处理器1750部分地用于融合传感器测量值和/或进一步处理融合的测量值。
系统1700还能够包括渲染图像(诸如,颜色和/或深度图像)的屏幕或显示器1780。在一些实施方式中,显示器1780能够用于显示由传感器1710捕获的实时图像、融合图像、增强现实(AR)图像、图形用户界面(GUI)以及其它程序输出。在一些实施方式中,显示器1780能够包括和/或容纳有触摸屏,以允许用户通过虚拟键盘、图标、菜单或其它GUI、用户手势和/或输入设备(例如,触控笔和其它书写工具)的一些组合来输入数据。在一些实施方式中,可以使用液晶显示器(LCD)或发光二极管(LED)显示器(诸如有机LED(OLED)显示器)来实现显示器1780。在其它实施方式中,显示器1780能够是可穿戴显示器。
示例性系统1700还能够诸如通过添加、组合或省略所示的一个或更多个功能块,以与本公开一致的方式以各种方式修改。例如,在一些配置中,系统1700不包括IMU1730或传感器1770。在一些实施方式中,系统1700的部分采取一个或更多个芯片组等的形式。
能够使用硬件、固件和软件的组合来实现处理器1750。处理器1750能够代表一个或更多个电路,该一个或更多个电路可配置为执行与传感器融合和/或用于进一步处理融合测量值的方法有关的计算过程或处理的至少一部分。处理器1750从存储器1760中检索指示和/或数据。处理器1750能够使用如下组件来实现:一个或更多个专用集成电路(ASIC)、中央和/或图形处理单元(CPU和/或GPU)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器、嵌入式处理器核、电子装置以及旨在执行本文描述的功能的其它电子单元、或其组合。
存储器1760能够在处理器1750内和/或在处理器1750的外部实现。如本文所用,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,并且不应限于任何特定类型的存储器或任何数量的存储器、或存储器存储于其上的物理介质的类型。在一些实施方式中,存储器1760保持有助于软解码和极化编码的程序代码。
在一些实施方式中,除了软解码之外或作为软解码的替代,处理器1750能够执行软解码应用1755中的一个或组合。例如,解码的软输出能够用于解码级联ECC,级联ECC由组合为更高性能代码的多个分量ECC形成。另一示例是采用迭代均衡和解码的系统,其中来自解码器的软判决输出被反馈到解调器,以迭代地细化解码器输入。又一示例作用于解码的输出,例如,在显示器1780上示出输出,将输出存储在存储器1760中,使用收发器1770发送输出,和/或基于输出和传感器1710的测量值来执行动作。
基于极化的Turbo乘积码(TPC)
图18A示出了根据本发明的一些实施方式的尺寸为(256,239)2的乘积编码(图11)的正方形变型,例示了基于扩展BCH码的turbo乘积码(TPC)(eBCH-TPC)181和基于极化码的turbo乘积码(TPC)(极化-TPC)182。
BCH-TPC 181使用由eBCH(n,k,d)表示的n=256行方向(row-wise)扩展BCH码和其它n=256列方向(column-wise)扩展BCH码,eBCH(256,239,6)。在此,n=256,k=239和d=6表示用于构成码的码字长度、信息长度和最小汉明距离。另一方面,极化-TPC 182使用由Polar(256,239,4)表示的n=256行方向极化码以及n=256列方向极化码Polar(256,239,4)。极化-TPC 182使用极化构成码而不是BCH构成码。尽管短长度高速率极化码的最小汉明距离可能比BCH码短(即,d=4对d=6),但是错误率性能可优于BCH-TPC,这是因为极化码的汉明权重分布结构化良好,如图18C所示。为了最小化突发错误的影响,通常在发送之前对TPC已编码字进行加扰或交织。注意,行和列构成码可以使用不同的长度,并且能够通过空间结合将TPC扩展到更高纬度的乘积码。
TPC的主要益处包括并行计算功能、每个构成码的低功率解码、最小汉明距离的指数增长、以及具有SD解码迭代的接近ML性能。对于m维TPC,最小汉明距离能够作为dm成指数增加。极化-TPC能够解决无法并行处理的SCL极化解码的主要缺点。
图18B是表示使用包括行SD解码器1813和列SD解码器1814的解码器133的解码过程1801、1802和1824的流程图。对于BCH-TPC 181和极化TPC 182分别执行解码过程1801和1802。在这种情况下,如图所示,使用行SD解码器1813和列SD解码器1814通过2轮迭代来执行解码过程1801和1802。
此外,BCH-TPC 181和极化-TPC 182对应于eBCH(256,239,6)×eBCH(256,239,6)和Polar(256,239,4)×Polar(256,239,4)。
解码器133(TPC解码器)首先使用行SD解码器1813执行行方向SD解码,然后将由Pyndiah的Chase处理产生的外在信息馈送到列方向SD解码器1814中。注意,行SD解码器1813和列SD解码器1814能够按顺序交换而没有任何性能损失。TPC解码过程在特定迭代轮数内通过使用解码器1813和1814将行SD解码过程和列SD解码过程迭代。还应当注意,解码器1813的SD解码能够使用诸如三进制消息传递之类的量化查找表来实现。
图18C示出了根据本发明的一些实施方式的针对2392/2562的码率,以2562比特的码字长度使用BCH-TPC 181和极化-TPC 182的比特错误率(BER)性能。
BER性能曲线1801和1802是通过使用一系列行解码器1813和列SD解码器1814分别对BCH-TPC 181和极化-TPC 182进行2轮迭代解码而获得的。
二进制输入加性高斯白噪声(biAWGN)信道中的BER性能可以通过增加迭代轮数来提高。在图18C中,示出了对于两轮迭代,极化TPC 182的BER曲线1802比BCH-TPC 181的BER曲线1801好0.5dB。
BER曲线1824表示基于具有3个迭代轮的解码的极化-TPC 182的BER性能。BER曲线1823表示基于具有3个迭代轮的解码的eBCH-TPC 181的BER性能。尽管三轮迭代的BER性能曲线1824仍然比BCH-TPC 182的三轮迭代的BER曲线1823好,但是极化-TPC 182的BER曲线1824受到低于10-11的BER的更高错误平层(error floor)的影响。该错误平层是由Polar(256,239,4)的最小汉明距离比eBCH(256,239,6)短而导致的;并且因此,极化-TPC的最小汉明距离为42=16,而BCH-极化的最小汉明距离为62=36。
通过级联另一码(诸如CRC)可以增加最小汉明距离。图19A是例示了根据本发明实施方式的、基于与CRC-1码1901和BCH码1902级联的Polar(256,240,4)的行和列构成码的示例的图。在一些情况下,码1901和1902可以分别称为极化-TPC1901和极化-TPC+BCH 1902。
极化TPC 1901和1902中的每一个包括数据块90、第一奇偶校验块190、行奇偶校验块、列奇偶校验块和联合奇偶校验块。第一奇偶校验块190包括第一列部分191、第一角部分192和第一底部分193。极化码1901使用CRC奇偶校验91作为第一奇偶校验块,并且极化码1902使用BCH奇偶校验92作为第一奇偶校验块。
换句话说,极化TPC 1901和1902的结构中的每一个由编码器112从数据源编码,以便包括与从源111提供的源数据相对应的数据块90、包括第一列部分191、第一角部分192和第一底部分193的第一奇偶校验块190、以及包括行奇偶校验块196、联合奇偶校验块197和列奇偶校验块198的第二奇偶校验块195。在这种情况下,第一奇偶校验块190布置为使用第一列部分191、第一角部分192和第一底部分193来覆盖数据块90的右端列、数据块90的右下角和数据块90的底行。另外,第二奇偶校验块195布置为使用行奇偶校验块196、联合奇偶校验块197和列奇偶校验块198来覆盖第一奇偶校验块190。
在一些情况下,第一奇偶校验块190可以由CRC奇偶校验比特形成。此外,第一奇偶校验块190可以由BCH奇偶校验比特组成。在这种情况下,BCH奇偶校验比特的长度被确定为使得可校正错误比特的最大数量不小于极化-TPC的最小汉明距离。
在一些情况下,BCH奇偶校验比特的数量布置为每行一比特和每列一比特,其中BCH码的可校正错误比特的最大数量能够确定为不大于t=floor(p/ceil(log2(k2))),其中floor(.)、ceil(.)和p表示floor函数、ceil函数以及BCH(k2,p,2t+1)的奇偶校验比特数量。
此外,行奇偶校验块196通过第一列部分191与数据块90的右端列相邻,并且列奇偶校验块198通过第一奇偶校验块190的第一底部分193与数据块90的底行相邻,其中联合奇偶校验块197通过第一奇偶校验块190的第一角部分192与数据块90的右下角正交相邻。
Tal和Vardy用CRC级联增强了极化码,以改善SCL解码。为了保持相同的码率或开销,由CRC奇偶校验比特1901代替几个冻结比特。在这种情况下,行和列构成码(称为联合奇偶校验块)是基于与CRC-1码级联的Polar(256,240,4)。然而,由于CRC奇偶校验比特的长度受到严格限制(即,对于这种情况仅每行1比特或每列1比特),因此这种增强对于极大地提高性能而言是不足的。对于这种短CRC奇偶校验,即使考虑所有可能的多项式,也无法增加级联的极化+CRC码的最小汉明距离。
根据本发明的实施方式,编码-解码过程提供了通过使用BCH奇偶校验92代替CRC奇偶校验91作为第一奇偶校验块190来解决BER曲线1824中的错误平层问题的方法。即使奇偶校验比特的数量限于每行仅1比特或每列仅1比特,在整个TPC中BCH奇偶校验1902总共可使用2402-2392=479比特。BCH(2402,2392,59)与极化-TPC(256,240,4)2的级联能够校正最多29个剩余比特错误。由于极化-TPC的最小汉明距离为16,因此通过BCH码级联能够成功消除最主要的错误模式。BCH奇偶校验比特能够放置在块90中的任意位置。请注意,BCH码级联对于具有结构化汉明权重的极化-TPC尤其有效,这是因为用于具有36的最小汉明距离的BCH-TPC(256,239,6)2的、能够校正最多29个比特的外部BCH码是无用的。
根据本发明的实施方式,除了行SD解码器1813和列SD解码器1814之外,解码器133还可以包括BCH HD解码器1815。
图19B示出了例示了根据本发明的一些实施方式的使用行SD解码器1813、列SD解码器1814和BCH HD解码器1815的解码过程的图。
图19C示出了根据本发明的实施方式的通过根据使用行SD解码器1813、列SD解码器1814和BCH HD解码器1815的解码过程对已编码数据块90进行解码而获得的BER性能曲线1921和1922。在这种情况下,通过使用行SD解码器1813和列SD解码器1814用2轮迭代对极化-TPC 1901进行解码并使用BCH HD解码器1815进行一次HD解码,来获得BER性能曲线1921。此外,通过使用行SD解码器1813和列SD解码器1814用3轮迭代对极化-TPC 1901进行解码并使用BCH HD解码器1815进行一次HD解码,来获得BER性能曲线1922。
关于具有BCH级联的极化-TPC,解码器133使用行SD解码器1813和列SD解码器1814执行行和列SD解码迭代,并且在SD解码的最后使用HD解码器1815执行外部BCH码的HD解码,以清理残余的错误模式。如BER曲线1922所示,使用BCH HD解码器1815进行的这种HD解码(可称为BCH HD清除)能够去除3迭代BER性能的错误平层。
除了减轻错误平层的益处之外,与没有HD清除的极化-TPC的性能曲线1802相比,BCH HD清除能够显著改善2次迭代解码的极化-TPC性能曲线1921。有效地,我们能够减少实现相同BER性能所需的迭代次数,这是因为HD清除能够有效地作为附加迭代。更具体地,在2次迭代时HD清除的BER曲线斜率能够类似于在3次迭代时SD解码的曲线。
此外,本发明的解码方法可以利用极化码的特定汉明权重分布。Polar(256,240,4)对于距离[1,2,3,4,…]具有[0,0,0,56,0,1,0,3009,0,15018,…]的汉明权重,而eBCH(256,239,6)的汉明权重为[0,0,0,0,0,5757696,0,624879840,…]。因此,对于距离[16,24,36],极化-TPC的汉明权重为[562,2×56,1]。由于第二最小汉明距离(second minimumHamming distance)24也在外部BCH码的可校正29个比特之内,因此具有HD清除的BCH级联不仅对于减轻错误平层而且对于减少迭代次数,都能够提高BER性能。
本发明的方法能够用于其构成极化码具有不同的码字长度n、信息长度k和最小汉明距离d的极化-TPC的其它实施方式。为了保持减轻错误平层的益处,选择BCH奇偶校验长度使得可校正错误比特的最大数量不小于极化-TPC的最小汉明距离。该认识能够扩展到第二最小汉明距离或第三最小汉明距离(third minimum Hamming distance)。例如,除了以更少的迭代提高BER性能之外,还选择BCH奇偶校验长度使得可校正错误比特的最大数量不小于极化-TPC的第二最小汉明距离,以校正最主要和次主要的错误模式。具体来说,BCH码的可校正错误比特的最大数量不大于t=floor(p/ceil(log2(k2))),其中floor(.)、ceil(.)和p表示floor函数、ceil函数以及BCH(k2,p,2t+1)的奇偶校验比特数量。由于极化码具有偶数汉明权重,因此我们能够选择外部BCH码来校正极化-TPC的一些最主要的错误模式,而不牺牲开销。
除了减轻错误平层和减少迭代次数之外,当极化构成码是基于用于减少计算复杂度的非正则极化器修剪时,将BCH码用于极化-TPC还有另一优点。通过BCH级联使最小汉明距离附加增加能够容忍由于过度修剪而造成的损失。更具体地说,我们能够对于极化-TPC(256,239,4)2修剪具有CRC-1的极化码(256,240,4)的约55%的极化器单元,而不牺牲BER性能。然而,对于具有BCH级联的极化码(256,240,4),可以修剪极化器单元的72%的停用。72%的停用对应于解码复杂度降低大约4倍,而部分并行使解码速度加快7倍。因此,本发明的方法针对极化-TPC提供了具有BCH级联的非显而易见的益处;减轻错误平层,减少所需的迭代次数并增强非正则修剪。
图20A示出了根据本发明的用于高吞吐量发送的极化-TPC编码器2000的并行和流水线实现的示例。极化-TPC编码器2000包括列编码器2010和行编码器2020。列编码器2010并行地操作k=240个极化编码器,然后并行处理行编码器2020中的n=256个极化编码器。列编码器2010和行编码器2020以流水线方式操作,使得编码吞吐量保持高。上面描述的极化-TPC编码器的实现能够提高源数据的编码过程的有效性,并增强发送器中处理器(硬件处理器)的性能,从而提高发送器的吞吐量。
图20B示出了用于高通量处理的极化-TPC解码器3000的并行和流水线实现的示例。极化-TPC解码器3000包括行方向解码器2030和列方向解码器2040。行方向SCL解码器2030对于n=256行完全并行化。行方向SCL解码器2030的SD输出经由Chase处理2050被馈送到列方向SCL解码器2040。列方向SCL解码器2040对于n=256列也是完全可并行化的。如图所示,行解码器2030和列解码器2040能够通过跨迭代的流水线处理而并行化。并行和流水线实现的能力对于高吞吐量收发器具有极化-TPC的巨大益处。上述极化-TPC解码器的实现能够提高码字解码过程的有效性,并增强接收器中处理器(硬件处理器)的性能,从而提高接收器的吞吐量。
能够以多种方式中的任何一种来实现本发明的上述实施方式。例如,可以使用硬件、软件或其组合来实现实施方式。当以软件实现时,软件代码能够在无论是设置于单台计算机中的还是分布在多台计算机中的任何合适的处理器或处理器集合上执行。这样的处理器可以被实现为集成电路,在集成电路组件中具有一个或更多个处理器。然而,可以使用任何适当格式的电路来实现处理器。
另外,本发明的实施方式可以体现为已经提供了其示例的方法。作为该方法的一部分而执行的动作可以以任何合适的方式排序。因此,实施方式可以被构造为其中即使在示例性实施方式中被示为顺序动作,也以与所示次序不同的次序来执行动作,这也可以包括同时执行一些动作。
在权利要求中使用诸如“第一”、“第二”之类的序数术语来修饰权利要求元素,本身并不意味着一个权利要求元素相对于另一权利要求元素具有任何优先权、优先顺序或次序、或者执行方法动作的时间顺序,而是仅用作标签以将具有一定名称的一个权利要求元素与具有相同名称(除了所使用的序数词)的另一元素区分开,以区分权利要求元素。
尽管已经借助于优选实施方式的示例描述了本发明,但是应当理解,在本发明的精神和范围内能够做出各种其它修改和变型。
因此,所附权利要求的目的是覆盖落入本发明的真实精神和范围内的所有这样的修改和变型。
关于其它特征的说明
在数字通信领域,通过应用纠错码(ECC)来进行前向纠错(FEC)是对消息进行编码以增加冗余度,以便减轻由有噪通信信道引入的不确定性,从而由解码器减少传输错误的技术。通常,ECC是用于将数据符号(表示消息)序列转换为在有噪信道上发送的更加冗余的码符号序列的技术。解码器是用于从信道的有噪输出恢复对数据符号的估计的系统或方法。
在2009年推出了称为极化码的特殊系列的ECC,它提供了与在对更大的数据块的渐近编码中可证明朝着最佳编码效率(即,达到信道容量)收敛的解码器一起的、用于二进制输入信道的显式码构造技术。/>提出的极化码将表示为k个数据二进制符号(“比特”)的序列的消息编码为n个码比特的序列,其中n通常是2的幂且大于k。具体而言,编码过程首先将k个数据比特在由具有基数|I|=k的数据索引集/>指定的k个位置处写入向量u:=(u0,…,un-1)中,而将其余n-k个位置设置为任意但已知的固定值。
然后,由向量c:=(c0,…,cn-1)表示的n个已编码比特由公式确定,其中在二进制域上进行矩阵乘法(即,模2运算),B表示n×n比特反转置换矩阵,并且/>是矩阵/>的第m克罗内克幂,并且m:=log2 n是极化级。极化码由数据索引集I和参数n和k完全指定。因此,构造极化码的关键是选择适合于有噪信道的数据索引集I(等同于,其补集、冻结比特位置)。
提供的连续消除(SC)解码器有助于解释极化码构造技术的细节。SC解码器将由y:=(y0,…,yn-1)表示的信道的有噪输出作为输入,其中每个yi是对相应的码比特ci的有噪观察。SC解码器从索引0到n-1顺序地在比特上前进,其中对于每个索引i∈{0,…,(n-1)},按如下方式进行比特ui的估计值/>如果/>(即,冻结比特位置),则/>设置为ui的已知的固定值,否则,当i∈I时,/>被设置为在给定信道输出y并假设先前估计值/>是正确的情况下ui的最可能的值。在索引处i∈I对这些估计值进行采样给出了数据比特的估计值。针对条件分布P(y,u0,…,ui-1|ui)做出每个估计值/>该条件分布是从极化码结构和基础信道统计得出的,并且也能够认为代表比特ui的伪信道。为了最大化估计值/>的准确性,应该选择数据索引集I以选择最可靠的伪信道。
极化码也能够被系统地编码,这是使其能够在一些级联码中应用的关键特性。极化码的系统编码过程会产生有效的码字,以使数据比特直接出现在索引J指定的位置的码字中,索引J表示I中的位置的比特反转置换。系统编码过程将k个数据比特在J中的位置处写入向量u中,而其它位置设置为零,然后应用两次极化编码过程,同时在编码之间的中间结果上将冻结比特位置(即,不在I中的位置)设置为零。对于非正则极化码,第一编码和第二编码在极化级的相反方向上相互镜像结构化。此过程等同于应用公式其中φI(·)表示将在不是I中的位置处的比特设置为等于零。由此过程得到的码字c包含在J中的位置处所写入的数据比特,而其余不是J中的位置包含称为奇偶校验比特的比特。在一些情况下,通过首先放置k个数据比特位置(由索引集J指定)然后是n-k个奇偶校验位置(由索引集J的补集指定)的置换,重新布置码字可以是方便的。凭借这样的置换,编码过程得到附有通过系统极化编码过程计算出的n-k个奇偶校验比特的k个数据比特的向量。
尽管极化码渐近地达到无限码字长度的容量限制,但是有限码字长度的性能通常会劣于其它现有技术水平的ECC码。通过选择具有可靠的伪信道的信息索引I来进行极化码的码设计。因此,优化极化码(特别是,从n中选择k个位置的组合)的自由度有限。另外,编码和解码二者的计算复杂度是对数线性的(即,n log(n)),这比线性复杂度低密度奇偶校验码更昂贵。
图11至图17中实施方式的其它特征
图11例示了具有乘积编码结构的示例级联极化码。乘积编码结构采用两种类型的极化码,第一种类型的极化码具有长度n1以及k1个数据比特,第二种类型的极化码具有长度n2以及k2个数据比特。编码过程对布置在k1行和k2列的矩形数据块1101中的k1×k2个数据比特进行编码。通过用第二极化码对数据块1101的每行进行系统编码,并将针对每行计算出的奇偶校验比特写入k1×(n2-k2)行奇偶校验块1102的相应行中,来产生行奇偶校验块1102。通过用第一极化码对数据块1101的每列进行系统编码,并将针对每列计算出的奇偶校验比特写入(n1-k1)×k2列奇偶校验块1103的相应列中,来产生列奇偶校验块1103。通过用第一极化码对行奇偶校验块1102的每列进行系统编码并且将针对每列计算出的奇偶校验比特写入(n1-k1)×(n2-k2)行和列奇偶校验块1104的对应列中,来产生行和列奇偶校验块1104。在一些情况下,行和列奇偶校验块1104能够称为联合奇偶校验块。数据块1101、行奇偶校验块1102、列奇偶校验块1103以及行和列奇偶校验块1104一起形成能够被序列化并且在通信信道上发送的n1×n2码字块。在一些实施方式中,乘积极化编码被缩放到更高维度的结合,例如,来自二维类正方形结构的三维类立方体结构。在一些实施方式中,行和列中的每个分量极化编码具有非正则不同的参数,例如,冻结比特位置是不同的,以提高用于迭代解码的性能。
图12例示了具有阶梯编码结构的空间结合极化编码的另一示例。该编码方案涉及以类似于楼梯的结构布置的正方形块。结构1201中的编号为“块0”的第一块包括被设置为固定的已知值的比特的正方形块。随后的块被编号为“块1”、“块2”等,每个块包括数据部分和奇偶校验部分。例如,“块1”包括“块1:数据”1211和“块1:奇偶校验”1212。尽管该图例示了5个块,但是该结构很容易概括为更多或更少的块。每个正方形块的维度为n1×n1。对于奇数编号的后续块,数据部分(例如,1211、1231)具有n1×k1的维度,而奇偶校验部分(例如,1212、1232)具有n1×(n1-k1)的维度。对于偶数编号的后续块,数据部分(例如,1221、1241)具有k1×n1的维度,而奇偶校验部分(例如,1222、1242)具有(n1-k1)×n1的维度。该编码结构采用了将n1+k1个数据比特编码为长度为2n1的码字的分量极化码。对于所示的特定示例,其在初始“块0”之后包括4个后续块,n1×k1×4的数据比特通过首先将它们写入后续块的数据部分1211、1221、1231、1241中来编码。后续块的奇偶校验部分1212、1222、1232、1242依次如下地产生:
每个奇数编号块的奇偶校验部分1212、1232的每行是通过系统地编码前一块的对应行和同一块的数据部分的对应行的级联而产生的。例如,“块1”的奇偶校验部分1212的行i是由通过与“块1”的数据部分1211的行i级联的“块0”1201的行i的系统编码而产生的奇偶校验比特来确定的。在另一示例中,“块3”的奇偶校验部分1232的行i是由通过与“块3”的数据部分1231的行i级联的“块2”的行i的系统编码而产生的奇偶校验比特来确定的,该“块2”行进而包括与“块2”的奇偶校验部分1222的行i级联的“块2”的数据部分1221的行i。
每个偶数编号块的奇偶校验部分1222、1242的每列以类似的方式产生,但是该过程是在列上而不是行上操作。例如,“块2”的奇偶校验部分1222的列i是由通过与“块2”的数据部分1221的列i级联的“块1”的列i的系统编码而产生的奇偶校验比特来确定的,所述“块1”的列进而包括与“块1”的奇偶校验部分1212的列i级联的“块1”的数据部分1211的列i。
由阶梯编码过程生成的整体级联码字是初始“块0”之后的后续块中的全部比特,由于“块0”被设置为固定的已知值,因此不需要发送。“块1”、“块2”等中的比特被序列化以在通信信道上进行发送。与具有相应码字长度的单极化编码相比,阶梯极化编码结构的益处包括减少了延迟。在该实施方式中,能够并行执行软判决解码,并且对于低延迟数据通信,以滑动窗口方式采用了对相邻解码器的几次迭代。空间结合极化编码的其它示例包括编织结构、卷积结构、咬尾、圆环咬尾等。每个分量极化编码的正则参数以非正则方式单独设计,使得迭代软解码能够快速地校正潜在错误。
正则极化编码具有有限的设计自由度,设计自由度确定冻结比特位置。一些实施方式通过使多个极化码具有诸如码长、码率和冻结比特位置的不同参数来增加自由度,以便于软判决解码。
具体地,图13例示了具有非正则编码结构的示例级联极化码。该编码方案采用在其中冻结比特位置不同的非正则结构中具有不同码字和数据长度的极化码的组合。整个级联码的数据比特布置在一个或更多个矩形块中,这些矩形块垂直层叠并沿其左边缘对齐。在我们例示的示例中,存在分别具有k1×k2和k3×k4的维度的两个数据比特块1301和1302。然后,将一个或更多个行奇偶校验块水平地附于数据块的右边,所述行奇偶校验块的各行是由通过对数据比特中它所附于的对应行进行系统编码而产生的奇偶校验比特来确定的。在我们例示的示例中,存在两个行奇偶校验块1311和1312。具体地,维度为k1×p1的第一行奇偶校验块1311是通过用将k1个数据比特编码为长度(k2+p1)的码字的分量极化码对第一数据块1301的行进行系统编码而产生的。尽管现在使用将k2个数据比特编码为长度(k4+p2)的码字的分量极化码,但是维度为k2×p2的第二行奇偶校验块1312是通过对第二数据块1301的行进行系统编码而类似地产生的。接下来,将列奇偶校验块垂直附于数据比特块和行奇偶校验块的底部,其中,列奇偶校验块的各列是由通过对数据比特和奇偶校验比特中它所附于的对应列进行系统编码而产生的奇偶校验比特确定的。在我们所例示的示例中,存在三个列奇偶校验块1321、1322和1323。具体地,维度为p3×k5的第一列奇偶校验块1321是通过使用将(k1+k3)个数据比特编码为长度(k1+k3+p3)的码字的分量极化码对数据块1301和1302二者的前k5列进行系统编码而产生的。维度为p4×k6的第二列奇偶校验块1322是通过使用将(k1+k3)个数据比特编码为长度(k1+k3+p4)的码字的分量极化码而产生的。注意,第二列奇偶校验块1322的不同列与两个数据块1301和1302以及两个行奇偶校验块1311和1312的不同部分交叠。第二列奇偶校验块1322的各列是通过对在其正上方的列进行系统编码而产生的。
图13仅例示了一种特定的示例布置,但是这种一般概念包括采用各种分量极化码的数据块、行奇偶校验块和列奇偶校验块的许多可能的非正则布置。例如,构造了基于原模图(protograph)的极化编码结构,其中通过移位运算在每个极化器处将并行极化码混合。另一个示例使用不断增加的阶梯结构来提供无速率能力(rateless capability),其中仅奇偶校验比特由分量极化码连续生成,直到接收器确认解码完成为止。因此,非正则编码结构和具有不同编码参数的各种分量极化码的应用在级联码的整个码字上产生变化的自由度(并且因此产生各种程度的纠错性能),这对于非均匀通信信道潜在地有用。该整个码字被序列化以用于在通信信道上进行发送,并且该序列可以在经由不均匀信道进行发送之前经由交织器进行置换,以潜在地获得纠错性能增益。
图14是使用应用于各种分量码的软判定解码器的级联极化码的迭代解码过程的框图。第一步是来初始化用于具有信道输出(即,在通信信道上接收到的有噪码字)的软判决解码器的软输入1400。然后,级联的极化码构造和解码调度1401的规范指定级联的纠错码的结构以及在每个解码迭代中软解码哪个分量码1410。如解码调度1401所指定的那样,一个或更多个分量码的软解码1410产生用于更新下一次迭代的软输入的软输出。接下来,如解码调度1401所指定的那样,作出是前进至下一迭代还是退出迭代解码处理的判决1411。该解码顺序调度包括例如用于低延迟解码的滑动窗口和用于高并行度的洪泛调度。如果继续解码迭代,则该过程返回到如解码调度1401中指定地那样选择的一个或更多个分量码的软判决解码1410。此过程迭代,直到解码调度1401指示其应停止为止,结果得到通过迭代解码产生的最终软输出,从该软输出确定解码比特1420。
例如,如图11所示,在乘积码的情况下,示例解码调度将在对行分量码和列分量码进行软解码之间交替,直到已经过了固定次数的迭代。在又一实施方式中,每个分量极化码具有附加的非正则性以便于软判决解码。
图15A示出了在几个(例如,每个)极化级之间具有交织器1510的非正则极化码的示例。连同调制映射交织器1520一起和/或除了调制映射交织器1520之外,该实施方式采用更多交织单元1510,以通过在没有计算复杂度的附加损失的情况下仔细设计中间交织器来改善解码性能。
图15B示出了用于设计中间交织器同时管理计算复杂度的方法的框图。此过程如图10B所示的用于针对非均匀信道联合优化交织器和极化码构造的过程类似并使用该过程的相同子组件中的几个。首先,将交织器设置为一些初始置换1501。然后,通过选择与最可靠的伪信道相对应的数据索引集,针对交织器的这些初始置换来优化极化码构造1502。然后,评估极化码构造和交织器的纠错性能1503。接下来,基于纠错性能是否已经收敛(即,相对于先前迭代没有显著改变)或者是否已经达到迭代总数的极限,做出继续迭代优化处理还是结束迭代优化处理的判决1504。如果继续,则在极化码数据集索引保持固定的同时优化交织器置换1505,然后在交织器保持固定的同时再次优化极化码数据集索引1502,然后重新评估极化码构造和交织器的性能1503,并再次做出是继续迭代优化或结束迭代优化的判决1004。在结束这些迭代之后,最终结果是联合优化的交织器和极化码构造1506。
该过程与图10B所示的过程之间的显著区别在于,交织器的优化1505处理优化多个置换而不是仅一个置换。如在图10B的过程中进的,能够对这些交织器置换进行参数化,以使得每个交织器的单独优化易于处理。然而,对多个交织器的所有组合进行强力搜索可能极大地提高计算复杂性。为了管理计算成本,代替顺序地优化交织器,即,根据优化调度一次单独优化交织器中的一个同时保持其它固定1507。优化调度1507能够例如指定在交织器优化1505的一次执行期间顺序地优化所有交织器,或者作为另一示例,在整个迭代的码构造过程中,在交织器优化1505的一次执行期间仅顺序地优化交织器的子集,同时在交织器优化1505的多次执行之间旋转该被选子集。
图16A例示了非正则极化编码结构的另一示例,其中几个XOR极化单元被停用。通过仔细选择非活动极化器,能够提高纠错性能,并能够减少编码和解码的计算复杂度。通过用EXIT方法分析误差界限来确定非活动极化器的位置,以便以贪婪的方式使误差界限最小化。因为大多数极化器不会显著地降低解码性能,所以这种非正则的停用能够通过选择更多的非活动极化器来显著降低解码复杂度。
图16B示出了码长为4的非正则极化编码结构的三个示例,以例示由停用极化器所提供的益处。正则极化编码1620具有两个极化级1621、1622,其中每个级具有两个极化器单元1623、1624和1625、1626。每个极化器单元提供不良子信道和良好子信道。例如,当已编码的四个比特{c0,c1,c2,c3}由于0.5的巴特查里亚(Bhattacharyya)参数而具有统一的可靠性时,第一极化级1621中的第一极化器1623提供巴特查里亚参数为0.75的不良比特c’0和巴特查里亚参数为0.25的良好比特c’1。类似地,在第一极化级1621中的第二极化器1623提供巴特查里亚参数为0.75的不良比特c’2和巴特查里亚参数为0.25的良好比特c’3。第二极化级1622中的第一极化器1625提供巴特查里亚参数为0.9375的不良比特u0和巴特查里亚参数为0.5625的良好比特u2。
在第二极化级1622中的第二极化器1626提供巴特查里亚参数为0.4375的不良比特u1和巴特查里亚参数为0.0625的良好比特u3。对于0.5的码率,选择具有较低的巴特查里亚参数的两个最佳比特{u1,u3}作为信息数据,同时选择具有较高巴特查里亚参数的其余两个不良比特作为冻结比特。期望这种规则的极化编码提供与1-(1-0.4375)(1-0.0625)=0.473一样的上限(UB)的错误率性能。
非正则极化编码1630的一个示例停用1610第三极化器单元1625。该非活动极化器不改变比特{u0,u2}的中间比特{c’0,′2}的可靠性,因此,那些巴特查里亚参数均为0.75。然而,这些比特已经不可靠而成为冻结比特。因此,因为信息比特{u1,u3}具有与正则极化编码1620相同的可靠性,所以错误率性能不受停用极化器单元1630的影响。该示例表明,采用该原理的实施方式能够在不造成任何性能损失的情况下通过停用不重要的极化器来降低计算复杂度。
关于图11至图17的附加描述的简要总结
一些实施方式基于以下实现:用极化码编码的码字的连续消除(SCL)的列表解码能够修改为不仅用于硬判决解码,而且用于软输出解码。例如,一些实施方式使用SCL解码器来产生候选码字列表,并且将该候选码字列表与解码器的软输入(即,从通信信道接收到的有噪码字)进行比较,以便生成软输出。实施方式基于比较结果确定软输出。
例如,一个实施方式确定从软输入到解码器的SCL解码的每个候选码字的距离,并使用最靠近所接收码字并且在比特的位置具有相反值的候选码字的距离之差来确定比特序列中的比特值的似然度。例如,在候选码字和/或软输入的每个比特位置处,实施方式基于在该位置处具有“1”的最近候选的距离与在该位置处具有“0”的最近候选的距离之差来计算软输出。以这种方式,实施方式基于整个SCL解码的结果来确定软输出,同时避免了用于确定码字的每个比特的软输出的单独迭代。
可选地,一些实施方式使用嵌入在码字中的至少一个循环冗余校验(CRC)码,以经由CRC码验证部分解码路径。与嵌入在码字末尾的CRC相比,使用嵌入在码字内的CRC有助于SCL解码器在解码过程中的中间步骤中修剪候选码字。这也允许SCL解码中的错误传播。
在一些实施方式中,当所有候选同意特定位置时,软输出的幅度被设置为参数β。附加地或另选地,在一些实施方式中,软输出进一步由参数α来缩放。
因此,一个实施方式公开了一种用于对在通信信道上发送的已编码码字进行解码的接收器。接收器具有前端和软解码器,该前端在通信信道上接收包括通过通信信道的噪声修改的比特序列的码字,其中该码字用极化码编码,该软解码器包括产生解码的软输出的处理器,其中,处理器被配置为:使用SCL解码来估计所接收码字的比特的可能值以产生一组候选码字;确定每个候选码字与所接收码字之间的距离;使用最靠近所接收码字并在该比特位置具有相反值的候选码字的距离差,来确定比特序列中比特值的似然度。
另一实施方式公开了一种用于对在通信信道上发送的已编码码字进行解码的方法,该方法包括:经由通信信道接收包括通过通信信道的噪声修改的比特序列的码字,其中该码字用极化码编码;使用SCL解码来估计所接收码字的比特的可能值以产生一组候选码字;确定每个候选码字与所接收码字之间的距离;以及使用最靠近所接收码字并且在该比特位置具有相反值的候选码字的距离差,来确定比特序列中的比特值的似然度。该方法的至少一些步骤是使用处理器执行的。
又一实施方式公开了一种在其上实现有程序的非暂时性计算机可读存储介质,该程序可由处理器执行以执行方法,该方法包括:经由通信信道接收包括通过通信信道的噪声修改的比特序列的码字,其中该码字用极化码编码;使用SCL解码来估计所接收码字的比特的可能值以产生一组候选码字;确定每个候选码字与所接收码字之间的距离;以及使用最靠近所接收码字并且在该比特位置具有相反值的候选码字的距离差,来确定比特序列中的比特值的似然度。
关于对图1到图17的附加描述的补充描述
正如所证明的,虽然SC解码器实现了大的码长n的渐近容量,但对于较短码长n,也能够提高其实际纠错性能。Tal和Vardy在2015年提出了对SC解码器(SCL)的列表解码的改进。SCL解码器与SC解码器类似地进行,除了以下项:对于每个数据比特索引i∈I,解码器分支以考虑二个可能估计值,/>和/>及其后续解码路径。如果不进行检查,则该分支会将每个i∈I处的路径数量加倍,从而导致要考虑与所有2k个可能的数据比特序列相对应的2k条路径。由于对指数级增长的路径进行处理是不切实际的,因此列表解码方法在每个i∈I将来自分支的路径加倍之后,将路径数量剔除到最可能的局部路径的固定尺寸列表。此过程产生要考虑的完全解码路径的固定尺寸列表,从该列表选择最可能的完全路径以生成估计的数据序列。
尽管最终目标可能是对原始数据符号的估计做出硬性判决,但是具有输出表示关于数据符号和/或码符号的估计出的信度或似然度的软判决信息(“软输出”)的解码器也可以是有用的。软输出解码器在构造更复杂的接收器时是有用的组件,例如,用于对由组合为更高性能码的多个分量ECC形成的级联ECC进行解码。另一示例是采用迭代均衡和解码的系统。
SC解码器和SCL解码器二者针对极化编码的码字仅提供硬判决输出。一些方法(例如,软删除(SCAN)解码和信度传播(BP)解码)针对极化编码的码字提供软判决信息。然而,这些方法需要多次迭代才能生成每组软输出,因此,时间、存储器和计算能力都昂贵。
与本公开相关的特征
一种用于通过通信信道发送经编码的码字的发送器,该发送器包括:源,该源接受要发送的源数据;非正则极化编码器,该非正则极化编码器由处理器操作以用极化码对所述源数据编码,以产生经编码的码字,其中,所述极化码由一组正则参数指定,该组正则参数包括限定所述码字中的数据比特的数量的参数、限定指定所述经编码的码字中的冻结比特的位置的数据索引集的参数、以及限定所述经编码的码字中的奇偶校验比特的数量的参数中的一个或组合,其中,所述极化码还由一组非正则参数指定,该组非正则参数包括限定所述极化码的至少一个正则参数的值的非正则性的参数、限定所述经编码的比特的置换的非正则性的参数、限定所述极化码中的极化内核的非正则性的参数、以及限定在所述极化编码的不同级的停用异或运算的选择中的非正则性的参数中的一个或组合,并且其中,所述非正则极化编码器使用所述极化码的所述正则参数和所述非正则参数对所述源数据编码;调制器,该调制器调制所述经编码的码字;以及前端,该前端通过所述通信信道发送所述经调制且经编码的码字。
此外,发送器包括:信道估计器,该信道估计器确定所述通信信道的参数;存储器,该存储器存储所述非正则参数的不同值与所述通信信道的所述参数的不同值之间的映射;以及其中,所述处理器基于由所述信道估计器确定的所述通信信道的所述参数,选择所述极化码的所述非正则参数的值的组合。
在这种情况下,所述映射还使所述正则参数和所述非正则参数的不同值与所述通信信道的所述参数的不同值关联,并且其中,所述处理器基于由所述信道估计器确定的所述通信信道的所述参数,选择所述极化码的所述正则参数和所述非正则参数的值的组合。
此外,所述通信信道的所述参数包括针对所述经编码的码字的比特的发送的非均匀可靠性的值。
在一些情况下,所述一组非正则参数包括限定所述极化码的至少一个正则参数的值的非正则空间变化的参数,以形成彼此空间结合的多个不同极化码的编码结构。
另外,其中,所述编码结构是乘积编码结构,该乘积编码结构采用包括具有长度n1和数据比特k1的第一极化码和具有长度n2和数据比特k2的第二极化码在内的至少两个极化码以形成特殊块排列,其包括数据块、沿着第一方向结合到所述数据块的行奇偶校验块、沿着与该第一方向垂直的第二方向结合到所述数据块的列奇偶校验块、以及沿着与所述第一方向和所述第二方向等距离的第三方向结合到所述数据块的行和列奇偶校验块,其中,所述非正则极化编码器将k1×k2个数据比特编码成具有k1个行和k2个列的数据块,其中,所述非正则极化编码器用所述第二极化码对所述数据块的各行编码,以产生行奇偶校验比特,并且将所述行奇偶校验比特的各行加到所述行奇偶校验块的对应k1×(n2-k2)行中,其中,所述非正则极化编码器用所述第一极化码对所述数据块的各列编码,以产生列奇偶校验比特,并且将所述列奇偶校验比特的各列加到所述(n1-k1)×k2列奇偶校验块的对应列中,其中,所述非正则极化编码器用所述第一极化码对所述行奇偶校验块的各列编码,以产生行和列奇偶校验比特,并且将所述行和列奇偶校验比特的各列添加到(n1-k1)×(n2-k2)行和列奇偶校验块的对应列中。
在这种情况下,所述编码结构是由包括第一块和第二块的正方形块的序列形成的阶梯编码结构,该第一块具有尺寸为n1×k1的数据部分和尺寸为n1×(n1-k1)的奇偶校验部分,该第二块具有尺寸为k1×n1的数据部分和尺寸为(n1-k1)×n1的奇偶校验部分,使得所述第一块和所述第二块的级联形成阶梯的台阶,其中,所述码字的比特遍布所述第一块和所述第二块的所述数据部分,并且其中,所述第一块和所述第二块的所述奇偶校验部分的奇偶校验比特使用所述正方形块的序列中的同一块的数据部分的比特以及先前块的奇偶校验部分的比特来确定。
此外,所述编码结构是用所述极化码的所述正则参数的不同值编码的矩形数据块、行奇偶校验块以及列奇偶校验块的非正则结构。
发送器还包括交织器,该交织器被布置为置换已编码码字的比特并且将置换后的已编码码字提交给调制器。在这种情况下,交织器根据调制比特的可靠性来映射已编码码字的比特。
此外,针对通信信道的非均匀可靠性,对交织器和极化码的至少一个参数进行联合优化。
此外,所述一组非正则参数包括限定用不同极化级之间设置的不同交织器进行的所述经编码比特的置换的非正则性的参数。
另外,所述一组非正则参数包括通过指定非活动极化器的位置来限定在所述停用后的异或运算的选择中的所述非正则性的所述参数。
基于解码性能的容差来选择要被停用的多个极化器以形成非活动极化器,使得所述极化器的停用对解码性能的影响比所述容差允许的小。
所述非正则极化编码器在所述经编码的码字中的不同位置处添加多个循环冗余校验(CRC)码,其中,在所述码字的一部分后面添加的CRC码是使用应用于码字的该部分的CRC编码器而确定的。
所述一组非正则参数包括用不同全阶非二进制内核来限定所述极化码中的极化内核的非正则性的参数。
所述一组非正则参数包括用不同高阶内核来限定所述极化码中的极化内核的非正则性的参数。
一种在通信信道上发送已编码码字的方法,该方法包括以下步骤:接受要发送的源数据;用非正则极化码对所述源数据编码,以产生经编码的码字,其中,所述非正则极化码由一组正则参数指定,该组正则参数包括限定所述码字中的数据比特的数量的参数、限定指定所述经编码的码字中的冻结比特的位置的数据索引集的参数、以及限定所述经编码的码字中的奇偶校验比特的数量的参数中的一个或组合,其中,所述极化码还由一组非正则参数指定,该组非正则参数包括限定所述极化码的至少一个正则参数的值的非正则性的参数、限定所述经编码的比特的置换的非正则性的参数、限定所述极化码中的极化内核的非正则性的参数、以及限定在所述极化编码的不同级的停用异或运算的选择中的非正则性的参数中的一个或组合,并且其中,所述非正则极化编码器使用所述极化码的所述正则参数和所述非正则参数对所述码字编码;调制所述经编码的码字;以及通过所述通信信道发送所述经调制且经编码的码字。
在这种情况下,该方法还包括基于所述通信信道的参数,选择所述极化码的所述正则和非正则参数的值的组合。
此外,在其上实现有程序的非暂时性计算机可读存储介质,该程序可由处理器执行以执行方法,该方法包括:接受源数据;用非正则极化码对所述源数据编码,以产生经编码的码字,其中,所述非正则极化码由一组正则参数指定,该组正则参数包括限定所述码字中的数据比特的数量的参数、限定指定所述经编码的码字中的冻结比特的位置的数据索引集的参数、以及限定所述经编码的码字中的奇偶校验比特的数量的参数中的一个或组合,其中,所述极化码还由一组非正则参数指定,该组非正则参数包括限定所述极化码的至少一个正则参数的值的非正则性的参数、限定所述经编码的位的置换的非正则性的参数、限定所述极化码中的极化内核的非正则性的参数、以及限定在所述极化编码的不同级的停用异或运算的选择中的非正则性的参数中的一个或组合,并且其中,所述非正则极化编码器使用所述极化码的所述正则参数和所述非正则参数对所述码字编码;调制所述经编码的码字;以及通过所述通信信道发送所述经调制且经编码的码字。
与本公开有关的其它特征
一种包括用于对经由通信信道发送的已编码码字进行解码的极化解码器的接收器,该接收器包括:前端,该前端经由通信信道接收包括通过通信信道的噪声修改的比特序列的码字,其中,该码字是由至少一个极化编码器利用极化码来进行编码的;以及软解码器,该软解码器由处理器操作,以产生解码的软输出,其中,处理器被配置为:
使用连续消除列表(SCL)解码来估计所接收码字的比特的可能值,以产生一组候选码字;
确定每个候选码字和到软解码器的软输入之间的距离;以及使用最靠近所接收码字并在比特序列中的比特的位置处具有相反值的候选码字的距离差,来确定该比特的值的似然度。
使用形成为1的下三角矩阵的克罗内克积的编码矩阵对已编码码字进行编码,其中,系统还包括:存储编码矩阵的存储器,并且其中,软解码器从存储器中检索编码矩阵,并且使用编码矩阵对码字进行解码。
使用形成为1的下三角矩阵的克罗内克积的编码矩阵对已编码码字进行编码,并且非正则地选择停用的异或运算以及克罗内克积之间的中间交织,其中系统还包括:
存储器,该存储器存储编码矩阵,并且其中软解码器从存储器检索编码矩阵,并使用编码矩阵对码字进行解码。
SCL顺序地解码码字的比特,同时保留已解码比特的可能组合的列表,其中对于SCL的每次迭代,保留组合的数量不超过阈值,使得该组候选码字的尺寸不超过阈值。
接收器从通信信道接收调制信号,其中,调制信号为有噪模拟信号,该接收器还包括:
解调器,该解调器将调制后的信号转换为表示所接收码字的、供给软解码器的软输入;以及硬解码器,该确解码器基于从软解码器接收的软输出来产生指示所接收码字的比特的对数似然比的值。
软解码器将每个候选码字的距离确定为软输入和候选码字之间的欧几里得(Euclidean)距离。确定似然度的步骤包括:当所有候选码字处的比特位置上的至少一些值具有不同的值时,基于在该位置处具有值“1”的最近候选的距离和在该位置处具有“0”的最近候选的距离之差,来计算在软输入的每个比特位置处的软输出的值;否则,当所有候选码字处的比特位置上的所有值具有相同值时,选择预定常数作为软输出的值。
该计算还包括将软输出的值与缩放参数相乘以产生用于码字的对应比特的软输出。
该码字包括用根据空间模式彼此结合的多个极化码编码的多个分量,该空间模式定义了每个极化码的不相同的一组参数,该组参数包括冻结比特的位置、数据比特的数量、奇偶校验比特的数量以及已编码比特的交织器置换中的一个或组合,其中软解码器通过在多个分量上迭代软解码使得一个分量的解码的软输出是供给另一分量的解码的软输入,来根据空间模式产生软输出。
通过在中间编码过程中使用的多个不同交织器中的一个或组合,以及通过调整软解码的计算复杂度和纠错性能的活动和非活动异或运算符,对码字进行编码。
软解码器使用自适应查找表(LUT)来确定每个极化运算中比特值的似然度,其中LUT为每个比特指定了极化的降级分支和升级分支,并且其中LUT规则确定为使得基于这些消息的概率质量函数,在给定输入量化消息的情况下,输出量化消息具有最大互信息。
接收到的码字包括多个CRC码,其中当候选码字的一部分包括错误的CRC码时,处理器在由所接收码字中包括CRC码的位置所支配的部分长度处修剪该组候选码字。
软解码器被配置为从部分解码的候选码字提取CRC值以产生第一CRC;通过对部分解码的候选码字应用CRC函数来计算CRC,以产生第二CRC;
比较第一CRC和第二CRC;以及如果第一CRC与第二CRC不匹配,则从已解码比特的可能组合的列表中去除部分解码的候选码字。
此外,一种用于对经由通信信道发送的已编码码字进行解码的方法包括:经由通信信道接收包括通过通信信道的噪声修改的比特序列的码字,其中,该码字是用至少一个极化编码器编码的;
使用SCL解码来估计由接收到的码字所表示的软输入的比特的可能值,以产生一组候选码字;确定每个候选码字和接收到的码字之间的距离;以及使用最靠近接收到的码字并在比特序列中的比特的位置具有相反值的候选码字的距离差,确定该比特的值的似然度,其中,使用处理器执行该方法的至少一些步骤。
在该方法中,其中,SCL顺序解码码字的比特,同时保留已解码比特的可能组合的列表,其中,对于SCL的每次迭代,保留组合的数量不超过阈值,使得该组候选码字的尺寸不超过阈值。
该方法还包括从通信信道接收已调制信号,其中已调制信号是有噪模拟信号;
将已调制信号转换为软输入;以及将每个候选码字的距离确定为软输入与对应候选码字之间的欧几里得距离。
在该方法中,其中,确定似然度的步骤包括:当在所有候选码字处的比特位置上的至少一些值具有不同的值时,基于在该位置处具有值“1”的最近候选的距离和在该位置处具有值“0”的最近候选的距离之差,来计算在软输入的每个比特位置处的软输出;以及否则,当在所有候选码字处在比特位置上的所有值具有相同值时,选择预定常数作为软输出的值。
在该方法中,其中所接收码字包括多个CRC码,其中当候选码字的一部分包括错误的CRC码时,处理器在由所接收码字中包括CRC码的位置所支配的部分长度处修剪该组候选码字。
此外,在其上实现有程序的非暂时性计算机可读存储介质,该程序可由处理器执行以执行以下方法,该方法包括:
经由通信信道接收包括通过通信信道的噪声修改的比特序列的码字,其中,该码字是用极化编码器编码的;使用SCL解码来估计所接收码字所表示的软输入的比特的可能值,以产生一组候选码字;确定每个候选码字和所接收码字之间的距离;以及使用最靠近所接收码字并在比特序列中的比特的位置具有相反值的候选码字的距离差,确定该比特的值的似然度。
在存储器中,其中,该方法还包括:当在所有候选码字处的比特位置上的至少一些值具有不同的值时,基于在该位置处具有值“1”的最近候选的距离和在该位置处具有“0”最近候选的距离之差,计算在软输入的每个比特位置处的软输出;以及否则,当在所有候选码字处的比特位置上的所有值具有相同值时,选择预定常数作为软输出的值。
下面描述根据本发明实施方式的发送器和接收器。
一组用于经由通信信道发送已编码码字的发送器包括:源,该源接收源数据;非正则极化编码器;该非正则极化编码器由处理器操作以用至少一个极化码对源数据进行编码以产生已编码码字;调制器,该调制器调制已编码码字;以及前端,该前端经由通信信道发送经调制和编码的码字。极化码由包括以下参数中的一个或组合的一组与正则参数指定:定义了码字中的数据比特数量的参数、定义了指定在已编码码字中冻结比特的位置的数据索引集的参数、以及定义了已编码码字中的奇偶校验比特的数量的参数。极化码还由包括以下参数中的一个或组合的一组非正则参数指定:定义了极化码的至少一个正则参数的值的非正则性的参数、定义了已编码比特的置换的非正则性的参数、定义了极化码中的极化内核的非正则性的参数、以及定义了在极化编码的不同级上选择停用异或运算中的非正则性的参数,并且其中非正则极化编码器使用极化码的正则参数和非正则参数对源数据进行编码。非正则极化码在空间上结合以配置多维turbo乘积码,其中,外部码被级联以校正由于汉明权重短而导致的最主要的错误模式,并且使得能够进行非正则过剩修剪内核以降低复杂性和延迟。
此外,接收器包括用于对经由通信信道发送的已编码码字进行解码的极化解码器。接收器包括:前端,该前端经由通信信道接收包括通过通信信道的噪声修改的比特序列的码字;以及软解码器,该软解码器由处理器操作以产生解码的软输出。该码字是由至少一个极化编码器用极化码进行编码的。处理器被配置为使用SCL解码来估计所接收码字的比特的可能值,以产生一组候选码字,经由Chase处理确定每个候选码字与供给软解码器的软输入之间的距离,以及使用最靠近所接收码字并在比特序列中的比特位置具有相反值的候选码字的距离差,确定该比特的值的似然度。在跨空间结合的码字进行软判决迭代解码之后,实施硬判决清除,以减轻错误平层并减少所需迭代次数。
Claims (18)
1.一种用于将源数据编码为要在通信信道中使用的已编码码字的编码器,该编码器包括:
数据输入,该数据输入接收要编码的所述源数据;
处理器;以及
存储器,该存储器存储所述处理器能执行的编码器程序,其中,所述编码器程序使所述处理器将所述源数据编码为Turbo乘积码TPC结构,其中,所述TPC结构包括:
数据块,该数据块与所述源数据相对应;
第一奇偶校验块,该第一奇偶校验块包括第一列部分、第一角部分和第一底部分,所述第一奇偶校验块被布置为由所述第一列部分、所述第一角部分和所述第一底部分覆盖所述数据块的右端列、所述数据块的右下角和所述数据块的底行;以及
第二奇偶校验块,该第二奇偶校验块具有行奇偶校验块、联合奇偶校验块和列奇偶校验块,所述第二奇偶校验块被布置为使用所述行奇偶校验块、所述联合奇偶校验块和所述列奇偶校验块覆盖所述第一奇偶校验块;
其中,所述第二奇偶校验块由基于极化编码的奇偶校验比特组成;
其中,所述极化编码具有非正则参数以及正则参数,其中,所述非正则参数包括在极化器单元中的非正则比特置换和停用的异或运算的非正则位置,用于降低复杂度和延迟。
2.根据权利要求1所述的编码器,其中,所述第一奇偶校验块由基于Bose、Chaudhuri和Hocquenghem编码的BCH奇偶校验比特组成。
3.根据权利要求2所述的编码器,其中,BCH奇偶校验比特的长度被确定为使得可校正错误比特的最大数量不小于最小汉明距离,以减小错误平层。
4.根据权利要求2所述的编码器,其中,BCH奇偶校验比特的长度被确定为使得可校正错误比特的最大数量不小于第二最小汉明距离,以用于允许噪声。
5.根据权利要求1所述的编码器,其中,所述TPC结构用附加维度以及行方向和列方向来扩展,以通过空间结合更多码来增加最小汉明距离。
6.根据权利要求1所述的编码器,其中,所述第二奇偶校验块在按照维度,即,行方向或列方向,并行生成,其中,维度方向生成是以流水线处理的,以用于高吞吐量编码。
7.根据权利要求1所述的编码器,其中,所述TPC结构被扩展为卷积结构,其中,所述奇偶校验比特被布置为阶梯状。
8.根据权利要求1所述的编码器,其中,所述编码器程序包括列编码器和行编码器,其中,所述列编码器并行地操作k个极化编码器,并且所述行编码器并行地操作n个极化编码器。
9.根据权利要求8所述的编码器,其中,所述列编码器和所述行编码器以流水线方式操作。
10.根据权利要求8所述的编码器,其中,对于所述极化编码器,k=240,对于所述极化编码器,n=256。
11.一种用于对由权利要求1所述的编码器从源数据编码的码字进行解码的解码器,该解码器包括:
码字输入,该码字输入接收要解码的码字;
处理器,该处理器根据解码器程序将所述码字解码为所述源数据;以及
存储器,该存储器存储所述处理器能执行的所述解码器程序,其中,包括行软判决SD过程、列SD过程和硬判决HD过程的所述解码器程序使所述处理器根据解码过程将具有Turbo乘积码TPC结构的码字解码为所述源数据,其中,所述解码过程包括:
一系列所述行软判决SD过程和所述列SD过程的至少两轮迭代;以及
至少一个HD过程,
其中,所述TPC结构包括:
数据块,该数据块与所述源数据相对应;
第一奇偶校验块,该第一奇偶校验块包括第一列部分、第一角部分和第一底部分,所述第一奇偶校验块被布置为由所述第一列部分、所述第一角部分和所述第一底部分覆盖所述数据块的右端列、所述数据块的右下角和所述数据块的底行;以及
第二奇偶校验块,该第二奇偶校验块具有行奇偶校验块、联合奇偶校验块和列奇偶校验块,所述第二奇偶校验块被布置为通过所述行奇偶校验块、所述联合奇偶校验块和所述列奇偶校验块覆盖所述第一奇偶校验块。
12.根据权利要求11所述的解码器,其中,所述第一奇偶校验块由基于BCH编码的奇偶校验比特组成。
13.根据权利要求11所述的解码器,其中,所述第二奇偶校验块由基于极化编码的奇偶校验比特组成。
14.根据权利要求11所述的解码器,其中,所述行软判决SD过程和所述列SD过程使用基于列表解码的Chase处理。
15.根据权利要求11所述的解码器,其中,所述行软判决SD过程和所述列SD过程并行地流水线化,以用于高吞吐量解码。
16.根据权利要求11所述的解码器,其中,所述HD过程使用BCH解码。
17.根据权利要求11所述的解码器,其中,所述解码器程序包括行方向解码器和列方向解码器,其中,所述行方向解码器并行地操作n个极化解码器,并且所述列方向解码器并行地操作k个极化解码器,其中,所述行方向解码器的输出经由Chase处理馈送给所述列方向解码器。
18.一种用于经由通信信道发送已编码码字的发送器,该发送器包括:
源,该源接受要发送的源数据;
数据输入,该数据输入接收要编码的源数据;
处理器;以及
存储器,该存储器存储所述处理器能执行的编码器程序,其中,所述编码器程序使所述处理器将所述源数据编码为乘积编码结构,其中,所述乘积编码结构包括:
数据块,该数据块与所述源数据相对应;
第一奇偶校验块,该第一奇偶校验块包括第一列部分、第一角部分和第一底部分,所述第一奇偶校验块被布置为由所述第一列部分、所述第一角部分和所述第一底部分覆盖所述数据块的右端列、所述数据块的右下角和所述数据块的底行;
第二奇偶校验块,该第二奇偶校验块具有行奇偶校验块、联合奇偶校验块和列奇偶校验块,所述第二奇偶校验块被布置为使用所述行奇偶校验块、所述联合奇偶校验块和所述列奇偶校验块覆盖所述第一奇偶校验块;
调制器,该调制器对所述已编码码字进行调制;以及
前端,该前端经由所述通信信道发送经调制和已编码的码字;
其中,所述第二奇偶校验块由基于极化编码的奇偶校验比特组成;
其中,所述极化编码具有非正则参数以及正则参数,其中,所述非正则参数包括在极化器单元中的非正则比特置换和停用的异或运算的非正则位置,用于降低复杂度和延迟。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762538593P | 2017-07-28 | 2017-07-28 | |
US62/538,593 | 2017-07-28 | ||
US15/866,594 US10998922B2 (en) | 2017-07-28 | 2018-01-10 | Turbo product polar coding with hard decision cleaning |
US15/866,594 | 2018-01-10 | ||
PCT/JP2018/028949 WO2019026981A2 (en) | 2017-07-28 | 2018-07-26 | ENCODER, DECODER AND TRANSMITTER |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110915141A CN110915141A (zh) | 2020-03-24 |
CN110915141B true CN110915141B (zh) | 2023-07-21 |
Family
ID=65038309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880046860.5A Active CN110915141B (zh) | 2017-07-28 | 2018-07-26 | 基于极化码的turbo乘积码 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10998922B2 (zh) |
EP (1) | EP3659261B1 (zh) |
JP (1) | JP6847252B2 (zh) |
CN (1) | CN110915141B (zh) |
WO (1) | WO2019026981A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194337B (zh) * | 2013-11-11 | 2019-08-27 | 华为技术有限公司 | 一种Polar码编码方法、装置 |
KR102426047B1 (ko) * | 2017-11-06 | 2022-07-26 | 삼성전자주식회사 | 폴라 부호 복호화 장치 및 방법 |
WO2019090468A1 (en) * | 2017-11-07 | 2019-05-16 | Qualcomm Incorporated | Methods and apparatus for crc concatenated polar encoding |
CN109787641B (zh) * | 2017-11-15 | 2024-02-06 | 中兴通讯股份有限公司 | staircase码的解码方法、装置及存储介质 |
US10608673B2 (en) * | 2017-12-22 | 2020-03-31 | Massachusetts Institute Of Technology | Decoding signals by guessing noise |
US10812107B2 (en) * | 2018-01-19 | 2020-10-20 | Huawei Technologies Co., Ltd. | Apparatus and methods for polar code construction and bit position allocation |
EP3769427A1 (en) * | 2018-03-22 | 2021-01-27 | IDAC Holdings, Inc. | Reduced complexity polar encoding and decoding |
CN112640314B (zh) * | 2018-09-13 | 2024-04-09 | 华为技术有限公司 | 用于在乘积码和分量极化码之间映射冻结集的装置和方法 |
KR102064227B1 (ko) * | 2018-10-17 | 2020-01-09 | 고려대학교 산학협력단 | 극 부호의 복호를 위한 방법 및 장치 |
EP3900451A1 (en) * | 2018-12-20 | 2021-10-27 | Sony Group Corporation | Communications device, infrastructure equipment and methods |
US10516503B1 (en) * | 2019-02-20 | 2019-12-24 | Mitsubishi Electric Research Laboratories, Inc. | Distribution matcher |
KR102118899B1 (ko) * | 2019-03-07 | 2020-06-04 | 한양대학교 산학협력단 | 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치 |
US11080137B2 (en) * | 2019-05-09 | 2021-08-03 | Rambus Inc. | Error coalescing |
EP3958485A4 (en) * | 2019-05-15 | 2022-03-23 | Huawei Technologies Co., Ltd. | DATA TRANSMISSION METHOD AND DEVICE |
CN111030704B (zh) * | 2019-12-31 | 2021-07-27 | 华中科技大学 | 一种基于极化码的免同步通信方法、装置及系统 |
CN113067786B (zh) * | 2020-01-02 | 2023-08-29 | 上海诺基亚贝尔股份有限公司 | 用于均衡信号的设备、方法、装置及计算机可读介质 |
US11152953B2 (en) | 2020-02-28 | 2021-10-19 | Qualcomm Incorporated | Error detection for a wireless channel |
KR102455652B1 (ko) * | 2020-03-17 | 2022-10-18 | 한국전자통신연구원 | 연판정을 이용한 복호 방법 및 장치 |
US11239944B1 (en) * | 2020-08-14 | 2022-02-01 | Huawei Technologies Co., Ltd. | Methods and devices for rate adaptive forward error correction using a flexible irregular error correcting code |
US11265019B1 (en) | 2020-12-01 | 2022-03-01 | Huawei Technologies Co., Ltd. | Parallel polar code with shared data and cooperative decoding |
CN113141232B (zh) * | 2021-02-02 | 2021-11-26 | 中南民族大学 | 基于16QAM调制的无速率IoT上行传输系统及方法 |
US11463114B2 (en) | 2021-02-22 | 2022-10-04 | Mitsubishi Electric Research Laboratories, Inc. | Protograph quasi-cyclic polar codes and related low-density generator matrix family |
CN113572577B (zh) * | 2021-07-28 | 2022-04-26 | 北京邮电大学 | 一种新型缩短极化码方法及系统 |
TWI783727B (zh) * | 2021-10-14 | 2022-11-11 | 國立中山大學 | 使用極化碼之通訊系統及其解碼方法 |
CN114421976B (zh) * | 2022-01-25 | 2023-09-08 | 电子科技大学 | 基于概率计算的tpc迭代译码方法及译码器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5040179A (en) * | 1989-08-18 | 1991-08-13 | Loral Aerospace Corp. | High data rate BCH encoder |
US6526538B1 (en) * | 1998-09-28 | 2003-02-25 | Comtech Telecommunications Corp. | Turbo product code decoder |
CN101047391A (zh) * | 2006-04-27 | 2007-10-03 | 华为技术有限公司 | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 |
CN101064162A (zh) * | 2006-04-28 | 2007-10-31 | 富士通株式会社 | 纠错装置、编码器、解码器、方法以及信息存储装置 |
CN104636780A (zh) * | 2015-01-30 | 2015-05-20 | 深圳市民德电子科技有限公司 | 矩阵式二维码及其编码方法和译码方法 |
CN105191146A (zh) * | 2013-04-26 | 2015-12-23 | 爱思开海力士有限公司 | 用于解码涡轮乘积码的校验子表 |
CN106856103A (zh) * | 2014-12-08 | 2017-06-16 | 爱思开海力士有限公司 | 用于与非闪存的涡轮乘积码 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356752B2 (en) * | 2000-03-14 | 2008-04-08 | Comtech Telecommunications Corp. | Enhanced turbo product codes |
US20020116681A1 (en) * | 2000-12-27 | 2002-08-22 | Cute Ltd. | Decoder, system and method for decoding trubo block codes |
US7012974B1 (en) | 2001-09-24 | 2006-03-14 | Lsi Logic Corporation | High rate product code decoding for partial response channel |
EP1359672A1 (en) * | 2002-05-03 | 2003-11-05 | Siemens Aktiengesellschaft | Method for improving the performance of concatenated codes |
EP1628427B1 (en) * | 2003-05-28 | 2010-05-05 | Mitsubishi Denki Kabushiki Kaisha | Re-transmission control method and communication device |
EP1788710A4 (en) * | 2004-09-09 | 2007-10-10 | Mitsubishi Electric Corp | ERROR KERRECTURE CODING ARRANGEMENT AND ERROR CORRECTION DECODING ARRANGEMENT |
US7333028B2 (en) * | 2005-06-01 | 2008-02-19 | Global Traffic Technologies, Llc | Traffic preemption system communication method |
KR101298745B1 (ko) * | 2005-11-07 | 2013-08-21 | 에이전시 포 사이언스, 테크놀로지 앤드 리서치 | 데이터를 복호화 및 부호화하는 방법 및 장치 |
EP1965498B1 (en) * | 2005-12-20 | 2014-06-25 | Mitsubishi Electric Corporation | Encoding of LDPC codes with an irregular parity check matrix obtained by masking |
US8020062B2 (en) | 2006-06-15 | 2011-09-13 | Samsung Electronics Co., Ltd. | Apparatus and method of encoding/decoding block low density parity check codes in a communication system |
JP5502363B2 (ja) * | 2009-04-28 | 2014-05-28 | 三菱電機株式会社 | 光伝送装置および光伝送方法 |
US8879623B2 (en) * | 2009-09-02 | 2014-11-04 | Sony Computer Entertainment Inc. | Picture-level rate control for video encoding a scene-change I picture |
US8499219B2 (en) * | 2011-12-13 | 2013-07-30 | Broadcom Corporation | Encoding methods and systems for binary product codes |
US8347186B1 (en) * | 2012-04-19 | 2013-01-01 | Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi | Method and system for error correction in transmitting data using low complexity systematic encoder |
US9503126B2 (en) | 2012-07-11 | 2016-11-22 | The Regents Of The University Of California | ECC polar coding and list decoding methods and codecs |
US9577673B2 (en) * | 2012-11-08 | 2017-02-21 | Micron Technology, Inc. | Error correction methods and apparatuses using first and second decoders |
KR101951663B1 (ko) * | 2012-12-14 | 2019-02-25 | 삼성전자주식회사 | Crc 부호와 극 부호에 의한 부호화 방법 및 장치 |
CN104079370B (zh) * | 2013-03-27 | 2018-05-04 | 华为技术有限公司 | 信道编译码方法及装置 |
CN104301064B (zh) * | 2013-07-16 | 2018-05-04 | 华为技术有限公司 | 处理丢失帧的方法和解码器 |
US9287899B1 (en) * | 2013-12-20 | 2016-03-15 | Xilinx, Inc. | Forward error correction |
US9923665B2 (en) * | 2014-06-06 | 2018-03-20 | Huawei Technologies Co., Ltd. | System and method for forward error correction |
US9935659B2 (en) * | 2015-05-18 | 2018-04-03 | SK Hynix Inc. | Performance optimization in soft decoding for turbo product codes |
US20170353267A1 (en) * | 2016-06-01 | 2017-12-07 | Qualcomm Incorporated | Generalized polar code construction |
-
2018
- 2018-01-10 US US15/866,594 patent/US10998922B2/en active Active
- 2018-07-26 CN CN201880046860.5A patent/CN110915141B/zh active Active
- 2018-07-26 EP EP18808124.4A patent/EP3659261B1/en active Active
- 2018-07-26 JP JP2019551713A patent/JP6847252B2/ja active Active
- 2018-07-26 WO PCT/JP2018/028949 patent/WO2019026981A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5040179A (en) * | 1989-08-18 | 1991-08-13 | Loral Aerospace Corp. | High data rate BCH encoder |
US6526538B1 (en) * | 1998-09-28 | 2003-02-25 | Comtech Telecommunications Corp. | Turbo product code decoder |
CN101047391A (zh) * | 2006-04-27 | 2007-10-03 | 华为技术有限公司 | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 |
CN101064162A (zh) * | 2006-04-28 | 2007-10-31 | 富士通株式会社 | 纠错装置、编码器、解码器、方法以及信息存储装置 |
CN105191146A (zh) * | 2013-04-26 | 2015-12-23 | 爱思开海力士有限公司 | 用于解码涡轮乘积码的校验子表 |
CN106856103A (zh) * | 2014-12-08 | 2017-06-16 | 爱思开海力士有限公司 | 用于与非闪存的涡轮乘积码 |
CN104636780A (zh) * | 2015-01-30 | 2015-05-20 | 深圳市民德电子科技有限公司 | 矩阵式二维码及其编码方法和译码方法 |
Non-Patent Citations (1)
Title |
---|
Forward error correction for high bit-rate DWDM submarine systems;ITU-T DRAFT;INTERNATIONAL TELECOMMUNICATION UNION, GENEVA;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20190036550A1 (en) | 2019-01-31 |
EP3659261B1 (en) | 2022-11-09 |
EP3659261A2 (en) | 2020-06-03 |
WO2019026981A3 (en) | 2019-03-14 |
WO2019026981A2 (en) | 2019-02-07 |
CN110915141A (zh) | 2020-03-24 |
US10998922B2 (en) | 2021-05-04 |
JP6847252B2 (ja) | 2021-03-24 |
JP2020516119A (ja) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110915141B (zh) | 基于极化码的turbo乘积码 | |
US10862621B2 (en) | Irregular polar code encoding | |
US9722633B2 (en) | Method and system for reliable data communications with adaptive multi-dimensional modulations for variable-iteration decoding | |
US9385753B2 (en) | Systems and methods for bit flipping decoding with reliability inputs | |
US9960944B2 (en) | Receiving apparatus and decoding method thereof | |
CN107231158B (zh) | 一种极化码迭代接收机、系统和极化码迭代译码方法 | |
US11463114B2 (en) | Protograph quasi-cyclic polar codes and related low-density generator matrix family | |
US20230033774A1 (en) | Systems and methods for dual coding concatenation in probabilistic amplitude shaping | |
US9020052B2 (en) | MIMO communication method and devices | |
Jain et al. | Variable-rate FEC decoder VLSI architecture for 400G rate-adaptive optical communication | |
WO2024084554A1 (ja) | 推定装置、設計支援装置、推定方法、設計支援方法及びコンピュータープログラム | |
US8259868B1 (en) | Conditionally cycle-free generalized tanner graphs based decoding |
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 |