CN116964945A - 原模图准循环极化码及相关的低密度生成矩阵族 - Google Patents
原模图准循环极化码及相关的低密度生成矩阵族 Download PDFInfo
- Publication number
- CN116964945A CN116964945A CN202180093931.9A CN202180093931A CN116964945A CN 116964945 A CN116964945 A CN 116964945A CN 202180093931 A CN202180093931 A CN 202180093931A CN 116964945 A CN116964945 A CN 116964945A
- Authority
- CN
- China
- Prior art keywords
- polarization
- master
- code
- master pattern
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010287 polarization Effects 0.000 title claims abstract description 435
- 239000011159 matrix material Substances 0.000 title claims description 118
- 238000000034 method Methods 0.000 claims abstract description 189
- 238000004891 communication Methods 0.000 claims abstract description 49
- 238000006467 substitution reaction Methods 0.000 claims abstract description 31
- 125000004122 cyclic group Chemical group 0.000 claims description 53
- 230000008878 coupling Effects 0.000 claims description 27
- 238000010168 coupling process Methods 0.000 claims description 27
- 238000005859 coupling reaction Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 230000001902 propagating effect Effects 0.000 claims description 13
- 239000000835 fiber Substances 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 6
- 238000013138 pruning Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000010363 phase shift Effects 0.000 claims description 4
- 230000002441 reversible effect Effects 0.000 claims description 4
- 241001522296 Erithacus rubecula Species 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 3
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 230000002238 attenuated effect Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000012937 correction Methods 0.000 abstract description 22
- 238000005457 optimization Methods 0.000 abstract description 16
- 238000012546 transfer Methods 0.000 abstract description 9
- 230000009194 climbing Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 37
- 238000013461 design Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 27
- 230000008901 benefit Effects 0.000 description 17
- 241000169170 Boreogadus saida Species 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 6
- 238000009966 trimming Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000009849 deactivation Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005562 fading Methods 0.000 description 5
- 230000036961 partial effect Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/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/458—Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
Abstract
数据通信和存储系统需要误差控制技术才能成功无故障地传递。极化编码已经被用作这种误差控制技术的最先进前向纠错码。然而,基于连续消除的传统解码具有性能差和完成延迟长的缺点。由于极化码的因子图具有许多短循环,因此可并行信念传播解码也不能很好地执行。本发明的方法和系统提供了一种通过引入极化编码族的原模图提升展开来解决这些问题的方法,从而实现了高度并行化解码,以在不增加计算复杂度和延迟的情况下实现高编码增益和高吞吐量。本发明通过经由冻结位分配和置换的爬山优化来消除短循环,使得迭代消息传递能够正常工作。
Description
技术领域
本发明总体涉及用于数据存储和数据传输的纠错码领域,并且更具体地涉及用于基于原模图的准循环极化码以及其广义低密度生成矩阵族的方法和系统。
背景技术
基于低密度奇偶校验(low-density parity-check,LDPC)码的容量接近前向纠错(forward error correction,FEC)为提高数据存储、无线和光数据传输系统的可靠性做出了巨大贡献。LDPC码使用大小为M×N的奇偶校验矩阵(parity-check matrix,PCM)H,其中M和N分别表示奇偶校验位的数量和码字位的长度。码率被定义为每码字长度的净信息位,即,K/N,其中,信息位的数量最多为K=N-M。对于二进制LDPC码,PCM是用‘0’或‘1’构造的。对于大小为Q的伽罗瓦(Galois)场的非二进制情况,PCM的元素由0到Q-1的整数形成。PCM限制有效码字,使得用于N位码字的M个奇偶方程全部为零;即,在用于二进制码的模-2算术中,xHT=0(其中[·]T表示转置),其中x是表示N位二进制码字的行向量。LDPC码的PCM可以用因子图或二分图表示,其中N个编码位由变量节点(variable node,VN)表示,M个奇偶校验由校验节点(check node,CN)表示。当PCM的第(i,j)个元素为非零时,第i个CN和第j个VN在因子图中相互连接。通常,LDPC码可以通过可并行信念传播(belief propagation,BP)解码来解码,该解码使用VN和CN处的特定规则来传播信念消息(belief message),以在给定信道输出的情况下校正潜在误差,例如,以对数似然比(log-likelihood ratio,LLR)的形式。BP解码根据诸如分层循环(round-robin)和洪泛(flooding)等的特定调度来使用迭代消息传递,诸如,和积算法、增量(delta)最小算法以及最小和算法。
引入原模图码来设计LDPC码或累积-重复-累积(accumulate-repeat-accumulate,ARA)码,其中,PCM中的1被大小为Q×Q的置换矩阵取代,0被大小为Q×Q的全零矩阵取代。置换大小Q也称为提升大小。从紧凑原模图出发,实因子图是通过提升运算形成的,该提升运算将相同的短图复制Q次,并且跨所复制的图置换边缘。这等效于通过置换消息交换利用耦合来并行使用Q倍LDPC码。总码字长度增加到QN。置换矩阵的最典型选择是权重-1循环矩阵,该循环矩阵通过将大小为Q×Q的单位矩阵循环右移s个位置获得,其中s是要设计的循环移位值。在这种情况下,原模图LDPC码被称为准循环(QC)LDPC码。QC LDPC码具有许多实用优点;例如,i)循环置换易于在硬件中实现;ii)基PCM更容易设计,因为其码字长度缩短Q倍;iii)即使原始PCM是密集的,随着提升因子Q的增加,原模图码也可以是较低密度的;以及iv)因子图中的短循环可以通过循环移位设计容易地增加。示出了传统常规QC LDPC码的最大围长为12;其中,围长是码图中最短循环的长度。使码围长最大化对于BP解码在环图(loopy graph)中正确工作尤为重要。对于一些非常规QC LDPC码,围长大于12被示出是可行的。假设通过最大化围长来消除短循环,则可以通过原模图外部信息传送(protograph extrinsic information transfer,P-EXIT)技术来分析QC LDPC码的性能,该技术跨原模图中的消息路径跟踪互信息。由于原模图比精确因子图紧凑Q倍,因此P-EXIT分析对QC LDPC码更高效。
发明内容
技术问题
使用QC LDPC码(诸如,空间耦合(SC)LDPC码),在现代系统中实际实现了接近香农(Shannon)极限的纠错性能。然而,对高LDPC性能的追求导致了功耗和电路大小显著增加。因此,在性能和计算复杂度之间实现良好权衡对于实际系统来说更为重要。此外,最近的高性能LDPC码通常需要非常大的码字长度,导致长解码延迟,而较短的FEC码优选用于延迟约束系统,诸如物联网(Internet-of-Things,IoT)应用和机器对机器(machine-to-machine,M2M)通信。此外,LDPC码通常不适于高效编码,因为码设计是基于PCM优化的,而码字生成需要大小为N×K的相应生成矩阵(generator matrix,GM)G。GM通常需要PCM的高斯消元法,使得它满足GHT=0以从K位信息数据u生成N位码字x,为x=u G。
最近,极化码作为代替用于短块长度的LDPC码的另选容量接近码而备受关注。已经证明,即使使用简单的连续消除(successive cancellation,SC)解码算法,由于所谓的极化现象,极化码也可以在任何任意信道中渐近地实现信道容量。除了诸如密度演化(density evolution,DE)等的编码器设计方法外,还开发了许多解码器算法,包括连续消除列表(successive cancellation list,SCL)解码和BP列表解码。随着SCL解码,极化码已经变得具有与最先进LDPC码的高度竞争力。特别地,已经表明,SCL解码性能在很大程度上取决于嵌入式循环冗余校验(CRC)多项式,并且通过适当设计的CRC码可以增加极性-CRC级联码的最小汉明距离。迄今为止,文献中也提出了基于极化编码的各种扩展版本;例如,非二进制极化码、混合-核极化码、非常规极化码、级联极化码、卷积极化码和极化turbo乘积码。
具有K个信息位和N=2n个编码位的n级极化码使用N×N生成矩阵进行编码,其中/>表示n倍克罗内克(Kronecker)幂,F是大小为2×2的2阶二进制核心矩阵。由于克罗内克乘积的性质,极化编码和解码可以以/>的对数线性阶的复杂度执行,其中/>表示大O复杂度阶。克罗内克乘积的多级运算引起了极化现象,从而在任意信道中渐近地逼近容量。极化编码将信息位映射到u中的K个最可靠位置。其余的M=N-K个输入位是编码器和解码器都已知的冻结位。可以例如通过巴特查里亚(Bhattacharyya)参数、DE、高斯近似、EXIT演化、贝塔展开、遗传算法和深度学习来选择冻结位位置。
原始SC解码器在从u1到uN的位上依次进行。对于每个索引i,位ui的估计ui如下所示。如果ui是冻结位,则将被设置为ui的已知值,否则,在假设先前的估计/>是正确的情况下,给定信道输出,将/>设置成ui的最可能值。SC解码可以通过SCL解码器来改进,除了对于每个数据位解码器在随后的解码路径中保留两个可能的估计,/>和以外,SCL解码器与SC解码器类似地进行。如果不进行检查,这种分支将使信息数据处的每个路径的数量加倍,导致所考虑的路径呈指数级增长。由于处理呈指数级增长数量的路径是不切实际的,因此列表解码方法将路径数量挑选最可能的部分路径的固定大小列表。该过程产生要考虑的完整解码路径的固定大小列表,从中选择最可能的完整路径以产生所估计的数据序列。SCL解码与嵌入式CRC码相结合以拒绝无效路径,产生了显著改进的性能。
由于极化码是基于GM而不是PCM的,与LDPC码不同,编码和解码都可以系统地执行,而无需额外计算。尽管与长码字长度的LDPC BP解码的线性复杂度相比,极性SCL解码的对数线性复杂度是一个主要缺点,但是当为了减少解码延迟而优选较短块大小时,这成了优点。结果表明,在短块长度下,极化解码比典型的LDPC解码更高效。这促进了极化码成为延迟-关键系统的有力候选者。
然而,由于顺序解码算法的性质,极性SCL解码不太适合并行实现,这会导致更长延迟。即使可并行化BP解码可以用于极化解码,但是长期存在的问题是,由于固有短围长为4,BP解码对于极化码不能很好地执行。尽管非二进制极化码和极化乘积码可以部分地提供有限并行性,但是与常规二进制极化码相比,编码和解码的计算复杂度显著增加。
问题的解决方案
本发明的一些实施方式基于这样的认识,即,数据通信和数据存储需要误差控制技术来成功地发送而不失败。作为一种前向纠错,证明了极化编码通过使用连续消除解码来实现信道容量。然而,连续消除解码的缺点在于其性能差和完成延迟长。由于极化码的因子图具有许多短循环,因此可并行信念传播解码也不能很好地执行。本发明的方法和系统提供了一种通过引入用于极化编码族的原模图提升展开来解决这些问题的方式,使得实现了高度并行化解码,以在不增加计算复杂度和延迟的情况下实现高编码增益和高吞吐量。本发明通过冻结位分配和原模图置换的爬山优化来消除短循环,使得迭代消息传递能够适当地工作。一些实施方式使用准循环(QC)置换,实现了适用于硬件实现的高度可并行结构。此外,另一个实施方式使用原模图中的原模图极化单元(proto-polarization unit)的非常规修剪来进一步减少复杂度、延迟和短循环的数量。它使浅极化级在没有原模图提升的情况下优于传统的深极化级。一些实施方式进一步用多级分解概括任何线性码的生成矩阵,以构建极化型低密度生成矩阵(LDGM)码族。一些实施方式以阶梯方式实现具有空间耦合的低延迟加窗调度。
本公开提供了一种基于原模图设计的新极化编码,其中,全并行短极化码与中间极化级处的无计算置换消息交换相耦合,以同时实现高编码增益、低计算复杂度、低解码延迟和高吞吐量处理。本发明的方法和系统提供了一种新的基于原模图的极化码(被称为准循环(QC)极化码)族,对于一些实施方式,其在原模图极化单元处具有循环置换。利用适当的循环移位值,QC极化码可以消除码图中的短循环,这在解决BP解码对于传统的极化码来说不能很好地执行这一长期存在的问题方面取得了显著突破。在QC极化码中,高度并行短极化码被耦合以实现与较长极化码相当的性能,同时保持与较短极化码一样低的计算复杂度。
本公开不同于已经基于PCM的提升运算来设计LDPC码或累积-重复-累积(ARA)码的任何传统原模图码。与LDPC码不同,本发明的方法和系统将原模图的概念推广到用于设计低密度生成矩阵(LDGM)的GM的提升运算。因为这些码是基于GM的,所以与传统的原模图LDPC码不同,编码没有困难。此外,本发明通过提升极化运算的GM提供了一种多级结构,这实现了原模图极化的新概念,实现了逼近信道容量的极化现象。对于原模图LDGM码的一些实施方式,实现基于原模图的极化码以实现极化编码固有的结构化编码和解码的益处。具体地,将传统的极化码中使用的极化单元替换为原模图极化单元,该原模图极化单元包括原模图变量节点(proto-variable node)和原模图校验节点(proto-check node),以通过提升运算一次处理多个位。一些实施方式在原模图极化单元处使用循环置换,来使用通过提升运算复制的高度可并行QC极化码作为原模图的特殊情况。它实现了硬件友好的并行编码和解码,而不增加任何计算复杂度,但是增加了码设计的自由度。
QC极化码可以利用原模图提升因子显著降低计算复杂度。此外,本发明可以消除原模图极化码的短循环,以通过爬山方法增加围长。消除短循环使BP解码能够针对QC极化码适当地工作。具有浅极化级的QC极化码可以实现较深极化码的竞争性能。对于一些实施方式,通过对原模图极化单元进行非常规修剪以在原模图中切割环来实现进一步的复杂度降低和性能改进。
一些实施方式基于这样的认识,即,与LDPC码不同,极化码的计算复杂度和解码延迟处于码字位数的对数线性函数的数量级。因此,减少码字长度可以显著降低所需的计算复杂度以及解码延迟。本公开提供了一种使用以全并行方式实现的多个短极化编码器和解码器的方法和系统,除了循环消息交换之外没有额外的复杂度。它实现了与短极化码相当的低计算复杂度和低解码延迟,同时比传统短极化码执行得更好。
一些实施方式基于另一认识,即,尽管极化码朝向接近用于深极化级的香农极限的最佳编码性能收敛,但其对于较短码长的实际纠错性能可以通过空间耦合多个极化码来提高。本发明的方法使得浅极化能够在没有额外复杂度的情况下实现与较深极化所提供的性能相当的性能。一些实施方式是通过非均质短极化码(其具有不相同的冻结位位置)的空间耦合来实现的。例如,对于一些实施方式,利用阶梯提升运算的空间耦合使得能够对无限大的码字长度进行低延迟加窗解码(windowed decoding)。
对于一些实施方式,多个循环冗余校验(CRC)码被嵌入在空间耦合编码器中,使得每个位平面可以独立地被确定为增加的冻结位。本发明的方法通过使用增加的冻结位来实现迭代消息传递算法的加速收敛。一些实施方式使用基于信念消息的幅值的随机硬判定来创建硬判定候选者的列表,以改进作为有效CRC码字的可能性。使用高提升因子,在一些实施方式中,由于多CRC冗余导致的速率损失可以忽略不计。
一些实施方式基于这样一种认识,即,通过在原模图中使用适当置换矩阵,可以显著增加极化码的围长,而传统的极化码的围长固有地为4。由于围长短,因此传统的极化码不能很好地利用迭代解码(诸如BP解码)工作,因为消息传递通常被困在码图的短循环环中。本发明的方法提供了一种通过爬山方法利用具有置换和循环移位的原模图提升运算消除短循环的方式,而不需要额外的复杂度。QC极化码的BP解码可以与最先进的SCL解码竞争。通过BP解码,实现了高度并行解码以提高解码器处理的吞吐量。
一些实施方式基于这样一种认识,即,原模图极化码可以以类似的方式使用公认的技术进行传统QC LDPC设计。QC极化码的适当循环移位值可以通过贪婪和爬山方法来设计,以增加围长。由于与整个因子图相比,原模图极化码是紧凑的,因此码设计可以更高效。此外,本发明提供了一种通过使用P-EXIT演化进行有限迭代BP解码来设计冻结位位置和非常规修剪以及移位值的方法和系统。此外,通过调整提升因子,原模图极化码具有增加码字长度超过二的幂的灵活性的优点。根据诸如信噪比之类的信道统计数据的先验知识,自适应地控制那些原模图码规范(code specification)。
一些实施方式基于极化码的生成矩阵(GM)被分解为多级极化运算的认识。本公开的方法提供了一种将线性块码的任何任意生成矩阵分解为多个更简单级的方法。例如,诸如汉明(Hamming)码和博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,BCH)码之类的循环码可以被系统地扩展和分解为用相应的多项式系数指定的多个极化级。分解后的多级运算进一步被表示为原模图极化单元,以创建具有高围长的广义LDGM原模图。基于线性编码GM的广义LDGM原模图被称为极化型LDGM码,因为它具有类似于极化码的多个极化级和冻结位。LDGM原模图用提升因子复制相同的多级原模图极化,并在复制级之间置换极化单元,以提供基于小规模原模图的大规模因子图。这种复制和置换的处理被称为提升运算。原模图LDGM码的优点在于,编码和解码基于其GM共享相同的图形结构,而不需要计算其PCM,而传统的LDPC原模图仅适用于基于其PCM进行解码,并且其编码需要额外复杂度来生成其GM对应物。
一些实施方式基于在原模图上自适应调度消息传递以减少原模图极化型LDGM码所需的BP解码迭代次数的认识。基于P-EXIT演化,采用贪婪重组优化方法设计消息传递调度。通过将有限提升因子考虑作为随机互信息更新,可以进一步加速解码收敛。在一个实施方式中,在给定信道输出数据的情况下自适应地执行调度设计。又一实施方式根据消息传递规则和量化精度,使用给定互信息模式的查找表来选择自适应调度策略。
一些实施方式基于以下认识:极化码对通信信道参数变化的适应性取决于参数值,诸如,以下的组合:定义码字中的数据位的数量的参数、定义指定冻结位在所述编码码字中的位置的数据索引的参数、定义所述编码码字中的奇偶校验位的数量的参数、定义极化核的参数、限定极化级的深度的参数、确定提升大小的参数、定义基础生成矩阵的参数、在原模图极化单元处定义置换的参数、定义空间耦合的参数、定义去激活极化的选择的参数、定义CRC嵌入的参数、定义消息传递规则的参数、定义解码迭代策略的参数、定义交织器的参数以及定义硬判定规则的参数。
这些参数在本文中被称为原模图规范参数。使用原模图规范参数设计的原模图码在本文中被称为原模图极化型LDGM码。使用原模图极化型LDGM码对源数据进行编码的编码器在本文中被称为原模图极化编码器。对由原模图极化编码器编码的噪声码字进行解码的解码器在本文中被称为原模图极化解码器。使用权重-1循环置换矩阵的原模图极化编码器(解码器)在本文中被称为QC极化编码器(解码器)。
例如,一些实施方式使用极化码的复制,其码字长度相对较短,因此可以以短延迟和低复杂度执行解码,其中每个解码来回传播信念消息信息以校正潜在误差。对于这种迭代极化编码和解码架构,通过例如以不同码率、不同冻结位位置、不同码字长度、不同交织和不同极化核耦合短极化码来增强纠错性能。在又一个实施方式中,极化编码架构在不同的极化级之间进行置换,实现卷积编码和加窗解码以减少解码延迟。对于长卷积原模图极化型LDGM码,在有或没有零填充的情况下使用咬尾(tail-biting)。为了降低复杂度和改进性能,通过非常规地去激活多个原模图极化运算,进一步推广了这种原模图极化型LDGM码架构。在一些实施方式中,通过具有不同的非二进制和高阶核以及多权重置换来进一步推广去激活原模图极化运算。
因此,一些实施方式公开了一种通过通信信道将数据从发送器可靠地传送到接收器的方法。该方法包括:接受源数据;用原模图极化型LDGM码对所述源数据进行编码以产生编码码字,其中所述原模图极化型LDGM码由参数集指定,所述参数集包括以下的组合:定义码字中的数据位的数量的参数、定义原模图极化级(stage of the proto-polarization)的深度的参数、定义指定冻结位在编码码字中的位置的数据索引集的参数、以及定义编码码字中的奇偶校验位的数量的参数、定义原模图提升大小的参数、定义利用移位值的基础生成矩阵的参数、定义中间位的置换的非常规性的参数、定义极化码中的极化核的非常规性的参数、定义空间耦合的非常规性的参数、以及定义在极化编码的不同级上的去激活原模图极化的选择的非常规性的参数,并且其中,所述原模图极化型LDGM编码器使用码的参数对源数据进行编码;调制编码码字;在通信信道上发送调制后的消息;接收调制后的噪声版本的消息;以及通过消息传递对解调后的码字进行解码以可靠地检索原始源数据。
一些实施方式公开了一种用于在通信信道上可靠地传输数据的系统,该系统具有一对发送器和接收器。发送器执行用于在通信信道上可靠地发送数据的上述方法。接收器执行上述方法,以通过消息传递可靠地检索原始源数据。
根据本发明的一些实施方式,提供了一种用于对数字数据进行编码的计算机实现的编码方法。该编码方法可以使一个或更多个计算处理器基于码规范来执行定义极化型低密度生成矩阵(LDGM)码的原模图结构的步骤,其中,码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则、以及至少一个消息传递规则;访问作为输入数字数据的源位流;根据冻结位分配规则,用源位流和冻结位集合初始化数据阵列;根据消息传递规则在所有原模图极化级上传播数据阵列,所述方法还包括以下步骤:(a)将数据阵列从一级到另一级依次馈送到原模图极化级中,其中,原模图极化级包括至少一个原模图极化单元;(b)根据原模图置换规则在每个原模图极化单元处置换数据阵列;以及(c)根据消息传递规则修改每个原模图极化单元处的数据阵列;以指定顺序将修改后的数据阵列置换成码字;以及提供码字作为输入数字数据的编码数字数据。
当前的编码方法可以提高对可能通过通信信道发生的未知噪声和误差的鲁棒性。此外,当通过迭代方法确定冻结位分配规则和原模图置换规则时,可以进一步增加对未知噪声和误差的鲁棒性,这通过消除原模图中的短循环来最大化码围长,并且优化冻结位的位置,使得在原模图外部信息传送时最大化互信息。这种编码方法可以解决长期存在的问题,即,传统的极化码具有长度为4的固有短循环,这阻止了诸如BP解码之类的可并行解码的使用。
此外,本发明的其它实施方式提供了一种用于解码噪声码字的计算机实现的解码方法。解码方法可以使一个或更多个计算处理器基于码规范来执行定义极化型低密度生成矩阵(LDGM)码的原模图结构的步骤,其中,码规范包括:至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则、以及至少一个消息传递规则;
访问表示噪声码字的信念消息的输入数据;
将与所述原模图中的每个边缘相关联的向左消息和向右消息的阵列初始化,其中,馈送到第一个原模图极化级中的向右消息基于冻结位分配规则是固定的,并且馈送到最后一个原模图极化级中的向左消息基于为指定顺序的输入数据是固定的;根据消息传递规则跨包括至少一个变量节点和至少一个校验节点的多个原模图极化级来传播向左消息和向右消息,其中所述向左消息和向右消息通过迭代方法更新,所述迭代方法包括以下步骤:(a)根据消息传递规则选择变量节点和校验节点的可并行集合;(b)根据原模图置换规则,将向左消息和向右消息的集合作为传入消息馈送到所选的变量节点和校验节点中;(c)根据消息传递规则,基于所选的变量节点和校验节点处的传入消息来计算传出消息的集合;(d)在所选的变量节点和校验节点处用传出消息替换向左消息和向右消息的集合;以及(e)根据消息传递规则将上述步骤(a)至(d)重复指定次数;按指定顺序选择向左消息的集合作为输出消息;以及提供输出消息作为解码数字数据。
因此,解码方法可以通过使用迭代消息传递校正未知噪声和误差来降低错误率。本发明的这种解码方法可以解决长期存在的问题,即,传统的极化码由于短围长-4而不适于并行解码,这阻止了诸如BP解码之类的可并行解码的使用。由于重复使用短极化码,本方法可以在不增加解码复杂度的情况下增加解码吞吐量。因此,可以以与传统短极化码一样低的复杂度实现高编码增益。此外,消息传递解码使得能够进行高度并行的解码,以提高解码的速度。
本发明的一些实施方式提供了一种编码器电路,该编码器电路被配置为从源位流生成编码数字数据作为输入数字数据。编码器电路可以增加对未知噪声和误差的鲁棒性。编码器可以包括:编码器接口,该编码器接口被配置为接收源位流;至少一个存储器组,至少一个存储器组被配置为存储计算机可执行编码方法;一个或更多个计算处理器,一个或更多个计算处理器被配置为通过执行所述计算机可执行编码方法的步骤,从所述输入数字数据生成作为编码数字数据的码字,其中所述步骤包括:基于码规范定义极化型低密度生成矩阵(LDGM)码的原模图结构,其中所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则、以及至少一个消息传递规则;根据至少一个冻结位分配规则,用所述源位流和冻结位集合初始化数据阵列;根据至少一个消息传递规则在全部原模图极化级上传播数据阵列,其中,所述步骤进一步包括:(a)将数据阵列从一级到另一级依次馈送到至少两个原模图极化级中,其中,每个原模图极化级均包括至少一个原模图极化单元;(b)根据至少一个原模图置换规则,在每个原模图极化单元处置换数据阵列;以及(c)根据至少一个消息传递规则来修改在每个所述原模图极化单元处的所述数据阵列;以及通过布置修改后的数据阵列,基于指定顺序生成码字作为编码数字数据。例如,当计算机可执行编码方法的执行步骤通过根据原模图置换规则的数据交换在编码方法的集合上并行化和串行化时,编码器电路可以进一步增加编码器的吞吐量。
此外,本发明的一些实施方式提供了一种解码器电路,该解码器电路被配置为从噪声版本的编码码字生成解码数字数据。根据解码器电路,可以减少未知噪声和误差。解码器电路可以包括:解码器接口,该解码器接口被配置为接收噪声编码码字作为输入数据;至少一个存储器组,至少一个存储器组被配置为存储计算机可执行解码方法;一个或更多个计算处理器,一个或更多个计算处理器被配置为通过执行所述计算机可执行解码方法的步骤,从来自所述解码器接口的编码码字生成所述解码数字数据,其中,所述步骤包括:基于码规范定义极化型低密度生成矩阵(LDGM)码的原模图结构,其中,所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则以及至少一个消息传递规则;将与原模图结构中的每个边缘相关联的向左消息和向右消息的阵列初始化,其中,馈送到第一个原模图极化级中的向右消息基于至少一个冻结位分配规则是固定的,并且馈送到最后一个原模图极化级中的向左消息基于指定顺序的编码码字是固定的;根据至少一个消息传递规则跨包括至少一个变量节点和至少一个校验节点的至少两原个模图极化级传播向左消息和向右消息,其中,通过迭代方法更新向左消息和向右消息,其中,所述迭代方法包括以下步骤:(a)根据至少一个消息传递规则选择变量节点和校验节点的可并行集合;(b)根据至少一个原模图置换规则,将向左消息和向右消息的集合作为传入消息馈送到所选的变量节点和校验节点中;(c)根据至少一个消息传递规则,基于所选的变量节点和校验节点处的传入消息来计算传出消息的集合;(d)在所选的变量节点和校验节点处用传出消息集合替换向左消息和向右消息的集合;以及(e)根据至少一个消息传递规则,将步骤(a)至(d)重复指定次数;以及通过按指定顺序选择向左消息的集合来生成输出消息作为解码数字数据。
此外,本发明的另一个实施方式提供了一种用于在通信信道上传送数字数据的系统。该系统可以包括:至少一个计算处理器;至少一个存储器组;发送器,该发送器包括:源,该源用于接受要传送的源数据;编码器,该编码器用于对源数据进行编码,其中,编码器通过执行所述计算机实现的编码方法来生成编码码字;调制器,该调制器用于将编码码字转换为调制信号,其中,所述调制信号基于幅度调制、相位调制、正交幅度调制、相移键控、频率调制、正交频分复用、空分复用、脉冲位置调制或其变型;以及前端接口,该前端接口用于将调制后的信号发送到通信信道中;通信信道,该通信信道包括有线介质信道、无线介质信道、光纤信道、真空自由空间信道、数据存储介质或其变型;接收器,该接收器包括:前端接口,该前端接口用于接收来自通信信道的输出信号;解调器,该解调器用于解调所述信道的输出信号,其中所述解调器生成似然信息作为输入信念消息;解码器,该解码器用于解码所述输入信念消息,其中所述解码器通过执行所述计算机实现的解码方法来生成解码码字;以及信宿(sink),该信宿用于提供解码码字;以及控制器,该控制器用于根据所述信道的知识来定义要在所述编码器和所述解码器中使用的极化型低密度生成矩阵(LDGM)码的码规范,其中所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则、以及用于编码和解码的至少一个消息传递规则。
根据本发明的系统,可以减少未知噪声和误差。此外,当每个流水线解码器还包括具有置换互连集合的并行解码器集合时,它可以进一步增加解码器的吞吐量。此外,当每个流水线编码器还包括具有置换互连集合的并行编码器集合时,可以进一步增加编码器的吞吐量。因此,所公开的编码器和解码器都能够处理高吞吐量数据,诸如,需要超过每秒兆兆位的数据吞吐量的数据中心互连。由于实现复杂度保持为短极化码那么低,因此所公开的系统可以利用用于极化型LDGM码的那些编码器和解码器来实现较低功率数据传输。
另一个实施方式公开了一种非暂时性计算机可读存储介质,在其上具体实现可由用于执行可靠地传送数字数据的上述方法的处理器执行的程序。
发明的有益效果
根据本公开的实施方式的用于对原模图极化码和相关LDGM码进行编码的系统和方法可以改进纠错性能和解码吞吐量,还可以降低实时硬件处理器的计算复杂度、解码延迟和功耗。
附图说明
[图1]
图1是根据一些实施方式的用于传输数字数据的通信系统的功能图;
[图2]
图2是根据一些实施方式的系统的编码器所采用的示例编码的示意图;
[图3]
图3是根据一些实施方式的被表示为因子图的极化单元处理消息传递的示意图;[图4]
图4是根据一些实施方式的系统的解码器所采用的示例解码的示意图;
[图5]
图5是根据一些实施方式的原模图极化单元的示例原模图提升运算的示意图,其通过复制多个极化单元和边缘置换以耦合并行编码器来一次传播多个位;
[图6A]
图6A示出了根据一些实施方式的原模图极化码中的短循环和增加码图的围长的循环移位值的示例图示;
[图6B]
图6B示出了根据一些实施方式的原模图极化码中的短循环和增加码图的围长的循环移位值的示例图示;
[图7]
图7示出了根据一些实施方式的用于通过优化QC极化码的置换移位值来消除原模图中的短循环的围长最大化过程的框图;
[图8A]
图8A是根据一些实施方式的在原模图极化码的数据位中嵌入一个或更多个CRC码的示例性示意图;
[图8B]
图8B是根据一些实施方式的在原模图极化码的数据位中嵌入一个或更多个CRC码的示例性示意图;
[图8C]
图8C是根据一些实施方式的将一个或更多个CRC码嵌入到原模图极化码的数据位中的示例性示意图;
[图8D]
图8D是根据一些实施方式的将一个或更多个CRC码嵌入到原模图极化码的数据位中的示例性示意图;
[图9]
图9是根据一些实施方式的用于解码具有在信道上传输的嵌入CRC码的码字的方法的框图;
[图10A]
图10A是根据一些实施方式的用于非均匀信道的位交织原模图极化编码调制的示意图;
[图10B]
图10B是根据一些实施方式的用于非均匀信道的交织器和原模图极化码结构的联合优化过程的框图;
[图11A]
图11A是根据一些实施方式的具有稀疏选择的非活性原模图极化单元的示例非常规QC极化编码结构的图示;
[图11B]
图11B是示例非常规QC极化编码结构的图示,该结构具有用于两级QC极化码的非活动原模图极化单元,示出了根据一些实施方式的去激活原模图极化器去除短循环的影响;
[图12]
图12是根据一些实施方式的用于选择非常规QC极化编码结构的非活性原模图极化器的方法的框图;
[图13]
图13是根据一些实施方式的用于空间耦合复制极化编码器的方法的示例性示意图;
[图14]
图14是根据一些实施方式的用于卷积耦合复制极化编码器的方法的示例性示意图;
[图15A]
图15A是根据一些实施方式的用于构建从汉明码推广的极化型LDGM码的方法的示例性示意图;
[图15B]
图15B是根据一些实施方式的用于构建从汉明码推广的极化型LDGM码的方法的示例性示意图;
[图16A]
图16A示出了根据一些实施方式的用于高吞吐量系统的并行编码和解码的示例;[图16B]
图16B示出了根据一些实施方式的用于高吞吐量系统的并行编码和解码的示例;[图17A]
图17A是适用于实现根据一些实施方式的用于执行解码的接收器和/或根据一些实施方式的用于对数据消息进行编码的发送器的不同组件的系统框图;
[图17B]
图17B是根据本发明一些实施方式的用于从输入数字数据生成编码后的数字数据的编码器电路的框图的示意图;以及
[图17C]
图17C是根据本发明一些实施方式的用于对编码后的数字数据进行解码的解码器电路的框图的示意图。
具体实施方式
下文将参照附图描述本发明的各种实施方式。应当注意的是,附图并不是按比例绘制的,在附图中类似结构或功能的元件由相同的附图标记表示。还应注意的是,附图仅旨在便于描述本发明的具体实施方式。它们并非旨在作为本发明的详尽描述或作为对本发明范围的限制。此外,结合本发明的特定实施方式描述的方面不必须限于该实施方式,并且可以在本发明的任何其它实施方式中实践。
在数字通信领域种,通过应用纠错码(error correcting code,ECC)进行前向纠错(forward error correction,FEC)是一种对消息进行编码以增加冗余的技术,从而减轻噪声通信信道引入的不确定性,允许解码器减少传输误差。通常,ECC编码器是用于将数据符号序列(表示源消息或源位流)转换为在噪声信道上发送的更冗余的码符号序列(表示编码消息或码字)的系统或方法。ECC解码器是一种用于从信道的噪声输出中恢复原始源数据符号的估计的系统或方法,其引入了要校正的未知随机扰动。
Arikan引入了一种称为极化码的特定ECC族,以提供显式码构建技术以及解码器,该解码器朝向最佳编码效率收敛,从而在对较大数据块进行编码的渐进过程中实现信道容量。极化码将被表示为K个数据二进制符号(“位”)的序列的消息编码为N个编码位的序列,其中N通常是2的幂(对于n级极化运算,N=2n)并且大于K。具体而言,编码过程首先将K个数据位写入由基数为的数据索引集/>指定的K个位置处的阵列u=(u1,...,uN)中,而其余M=N-K个位置在编码器和解码器侧被设置为任意但已知的值。在一些实施方式中,冻结位是通过在编码器端和解码器端都已知的规则随机生成的,例如,为随机数生成器共享公共种子。因此,建立冻结位分配以确定冻结位的位置和冻结位的值以及如何映射源数据。
由阵列x=(x1,...,xN)表示的N个编码位由公式确定,其中,通常在二进制域(即,模-2代数算术)执行矩阵乘法,B表示N×N位逆向置换矩阵,并且/>是二进制2阶核心矩阵/>的n倍克罗内克幂(Kronecker power),并且n=log2(N)是极化级的数量。极化码由数据索引集/>以及参数N和K指定。因此,构建极化码的关键是选择适合于噪声信道的数据索引集/>(等效地,其互补集合、冻结位位置)。
Arikan提出的连续消除(SC)解码器有助于解释极化码结构技术的细节。SC解码器将由y=(y1,...,yN)表示的信道的噪声输出作为输入,其中,每个yi是对应码位xi的噪声观测。例如,噪声观测被写成yi=(1-2xi)+wi,其中,wi是用于二进制相移键控(binary phaseshift-keying,BPSK)调制的加性白高斯噪声(additive white Gaussian noise,AWGN)。SC解码器从索引1到N按位顺序地进行,其中,对于每个索引i∈{1,…,N},位ui的估计如下:如果/>(即,冻结位位置),则/>被设置为ui的已知值,否则,当/>时,假设先前估计是正确的,则在给定信道输出y的情况下,将/>设置为ui的最可能值。关于条件分布Pr(y,u1,…,ui-1|ui)作出每个估计/>它遵循极化码结构和底层信道统计,并且也可以被认为表示位ui的伪信道。为了最大化估计/>的准确性,应该选取数据索引集/>来选择K个最可靠伪信道,例如,使用密度演化技术。极化码也可以用线性变换系统地编码。
尽管极化码渐进地实现了无限码字长度的容量限制,但是有限码字长度下的SC解码性能通常不如其它最先进ECC码(诸如LDPC码)。极化码的码设计是通过选择具有可靠伪信道的信息索引来进行的。因此,优化极化码的自由度有限,特别是从N中选择K个位置的组合。此外,编码和解码的计算复杂度都是对数线性的,即,N log(N),其比针对长码字长度的线性复杂度LDPC解码更昂贵。然而,由于非线性,极化码的SC解码复杂性可能低于短码字长度的LDPC解码。此外,虽然LDPC码需要通过高斯消除从奇偶校验矩阵(PCM)创建相应的生成矩阵(generator matrix,GM)来进行编码,但是极化码共享相同的GM用于编码和解码,从而为编码器和解码器实现带来了实际优点。然而,由于SC解码的顺序性质,传统的极化码不适用于并行硬件实现。尽管可并行信念传播(BP)解码仍然可以用于极化码,但是BP解码针对传统的极化码表现不佳。本公开的方法和系统提供了一种通过高效地引入用于新的极化型低密度生成矩阵(LDGM)码(其基于GM进行编码和解码)而不是用于LDPC码(其仅基于PCM进行解码)的原模图码的概念来解决极化码的所有上述问题的方法。
图1示出了根据一些实施方式的用于通过信道120将数字数据从发送器110传输到接收器130的通信系统。例如,通信信道120包括但不限于用于无线电通信的空气介质、用于有线通信的铜电缆、用于数据存储传送的固态驱动器、用于自由空间卫星通信的真空以及用于光纤通信的光纤电缆。在将数字数据从发送器传送到接收器的通信期间,数字数据可能被发生在编码器112和解码器133之间的信道和数据处理路径上的诸如AWGN之类的噪声破坏。例如,噪声包括但不限于热噪声、自发发射放大器噪声和脉冲散粒噪声。发送器110使用由原模图参数140指定的前向纠错(FEC)码来实现可靠的数据传输。接收器使用由原模图参数指定的解码器133从由编码器112编码的噪声消息中恢复原始数据。
在发送器110处,要发送的数据来自被配置为接受原始数据的源111。源可以包括但不限于用于存储数据的存储器、用于接收数据的输入端口和/或用于生成数据的设备。例如,在一个实施方式中,源包括将输入语音信号转换为数字数据的语音通信设备。来自源111的输入数据由FEC编码器112进行编码。在一些情况下,编码数据可以被称为码字。编码数据由调制器113调制,调制器113使用各种调制格式,包括但不限于利用和不利用诸如正交频分复用(orthogonal frequency-division multiplexing,OFDM)的线性变换的正交幅度调制(quadrature-amplitude modulation,QAM)。调制方案包括基于幅度调制、相位调制和频率调制的组合(例如,幅移键控、相移键控、频移键控、空分复用、脉冲位置调制、脉冲幅度调制等)的许多其它变型。调制数据通过前端电路114被发送到信道中,所述信道可以包括但不限于用于光学通信的电光电路和用于无线电通信的射频电路。前端还可以包括数模转换器和信号预处理,诸如,带通滤波器、脉冲整形、预编码、功率加载、导频插入和预失真。
信道120使发送的信号失真。例如,信道添加了AWGN、同信道干扰、深度衰减、脉冲噪声、符号间干扰、Kerr引入的非线性干扰、极化串扰和线性色散、以及诸如量化误差、时钟抖动、溢出、激光线宽和载波相位噪声等其余硬件缺陷。
接收器130首先通过前端电路131将信道输出转换为电接收信号,前端电路131通常与发送器处的前端114互补。例如,前端包括但不限于模数转换器、线性均衡、非线性均衡、自适应滤波、信道估计、载波相位恢复、同步、和极化恢复。在解调器132处对接收到的信号进行解调,以产生发送的码字的位的初始估计,解码器133使用该初始估计来恢复源数据。例如,解调器向解码器133提供对数似然比(log-likelihood ratio,LLR)值作为软输入消息。在各种实施方式中,解码器133获取软输入消息以产生给定原模图码规范140的软输出消息。一些实施方式基于原模图码对通信信道的参数变化的适应性取决于参数(诸如定义码字中的数据位的数量的参数、定义指定冻结位在编码数据中的位置的数据索引集的参数、以及定义编码码字中的奇偶校验位的数量的参数)的值的实现。因此,根据信道的先验知识150自适应地控制原模图码规范140。例如,基于信噪比(signal-to-noise ratio,SNR)、功率延迟分布、信道频谱和非线性统计的信道知识,自适应地选择诸如码率和码字长度之类的码参数。在一些实施方式中,解码器133是硬判定(hard-decision,HD)解码器,以基于解码器的软输入和软输出消息来产生指示位的LLR的值。解码数据被馈送到数据信宿134中,数据信宿134包括但不限于用于存储数据的存储器、用于发送数据的输出端口和/或用于接收数据的设备。例如,在一个实施方式中,信宿包括将解码数据转换为声音信号的语音通信设备。
发送器110和/或接收器130可以使用可操作地连接到存储器的硬件处理器来实现。发送器110和接收器130中的每一者可以包括一个或更多个处理器。例如,接收器130的存储器可以存储与原模图编码、解码器133的软输入和软输出、中间计算的结果以及编码和解码的参数中的一者或组合有关的一些信息。例如,使用形成为极化核心矩阵F的克罗内克幂的编码GM对数字数据进行编码。为此,接收器的存储器可以存储解码器的处理器用于解码噪声码字的编码矩阵。发送器110和接收器130中的所有组件(包括编码器112、调制器113、解调器132和解码器133)可以通过硬件、一个或更多个硬件处理器、计算机软件(程序或程序模块)或计算机软件和硬件的组合来实现。
极化编码
编码器112是一种计算机实现的方法或系统,其从源111接收(访问)数字数据流,并且向调制器113发送(提供)编码码字。图2示出了编码器112针对示例极化码所采用的示例性编码的示意图,其中,对于N=24=16个码字位210、K=8个数据位202和M=N-K=8个冻结位201,存在n=4个极化级。8位数据被写入数据位202的位置,而冻结位201被设置为固定的已知值(在一些实施方式中可以全是零)。因此,在该示例中,通过将位(u8,u10,u11,u12,u13,u14,u15,u16)设置为8位数据的值,将其余位(u1,u2,u3,u4,u5,u6,u7,u9)设置为冻结位值,来形成编码阵列u=(u1,...,uN)。对于这个示例,数据索引集是/>其与参数n、K和冻结位的固定值一起构成(comprise)极化码规范140。因此,如何映射源位流以及如何附加冻结位由用于初始化编码阵列u的规则集合来指定。该示意图例示了将编码阵列u=(u1,…,uN)转换为码字阵列x=(x1,...,xN)的过程,该过程涉及采用如图所示的二进制异或(XOR)运算220。这些XOR运算遵循结构化模式,使得整个过程等效于极化编码公式的应用。对于常规极化编码,每个极化级有N/2次XOR运算,得到总计Nlog2(N)/2次运算。为了方便起见,每个XOR运算220在本文中被称为极化运算单元,因为该运算像极化器一样创建升级的子信道和降级的子信道。因此,编码器使用用于跨多个极化级的消息传递规则集合,以通过利用置换和修改对编码消息的传播来从编码阵列u产生码字x。编码器112可以包括处理器,该处理器可操作地连接到存储器并且被配置用于实现编码步骤。
由码规范140定义的编码器112中使用的相同结构被用于解码器133。通过多个n级221、222、223、224应用极化运算220,馈送到解码器中的软输入消息可以被逐渐极化为好子信道和坏子信道。对于长码字中的任意信道,利用SC解码的好子信道的分数渐近地朝向香农极限收敛。这被称为极化现象。极化单元220具有上分支和下分支,它们的步幅在每级通常不同。例如,第一极化级221使用的步幅为8,第二极化级222使用的步幅为4,第三极化级223使用的步幅为2,最后一级224使用的步幅为1。这是因为极化码的GM可以分解为n个稀疏子生成矩阵,该n个稀疏子生成矩阵在距离非对角位置的2的幂次步幅处具有离对角元素。例如,2级极化的GM被表示为
具有两个非对角元素的第一子GM对应于步幅为2的第一级极化,而最后的子GM对应于步幅为1的第二级极化。每级都具有N/2个非对角元素,对应于极化单元的XOR运算。因此,这种分解的GM表示提供了构建极化编码原模图的多级连接规则的定义。
极化单元220在上分支和下分支之间使用XOR运算,如图3所示。该极化单元220可以由因子图310表示,因子图310具有上分支变量节点(variable node,VN)311、下分支VN313、上分支校验节点(CN)312和下分支CN 314。上VN和下CN是两度的,即,连接边缘的数量是二。对于那些两度因子节点,不涉及计算运算,因此它们经常被忽略。其余的VN 313和CN312具有三度,即,连接边缘的数量为三。极化码的一个优点在于处于最多三度的低度因子节点,其计算复杂度对于消息传递来说是最低的。相反,典型的非常规原模图LDPC码使用高度因子节点,导致在这种用于消息传递的高度节点处具有高计算复杂度。
极化解码
解码器133是一种计算机实现的方法或系统,其从解调器132接收(访问)输入信念消息,并且向信宿134发送(提供)恢复的位序列。极化解码器133使用消息传递320的特定规则来处理极化单元220的每个VN和CN处的软判定信念消息。例如,根据校验节点解码器(check-node decoder,CND)规则,上CN 312取向左LLR值A1321和向右LLR值B1323来计算向下LLRE1330;E1=CND(A1,B1)。下VN 313根据变量节点解码器(variable-node decoder,VND)规则取向左LLR值A2322和向右LLR值B2324来计算向上LLR值E2329;E2=VND(A2,B2)。然后,上分支和下分支处的向左LLR值C1325和C2326通过CN 312和VN 313传播到下一个极化级,如下所示;C1=CND(A1,E2)和C2=VND(A2,E1)。类似地,当需要时,上分支和下分支处的向右LLR值D1327和D2328分别通过CN 312和VN 313反向传播到先前极化级,如下所示;D1=CND(B1,E2)和D2=VND(B2,E1)。
VND和CND传播规则包括但不限于和积算法、增量最小(delta-min)算法、最小和算法、偏移最小和算法、归一化最小和运算、修正最小和算法、衰减最小和、扩展最小和、量化查找表或其变型。例如,用于软判定二进制解码的和积算法具有如下指定的消息传递规则:
VND(A,B)=A+B,
CND(A,B)=2tanh-1(tanh(A/2)tanh(B/2)),
其中,tanh(.)是双曲正切函数,tanh-1(.)是它的反函数。对于一些实施方式,信念消息不是LLR值,而是从0到∞的非对数似然比(likelihood ratio,LR),或者从0到1的对应S型概率域。在另一个实施方式中,信念消息可以是作为编码码字的直接噪声版本的软判定值,或者是表示错误码字的硬判定值。在一些实施方式中,VND和CND规则通过查找表(look-up table,LUT)来实现,以节省计算复杂度。在一些实施方式中,以低精度进一步量化信念消息,以便节省LUT的存储器大小。根据统计数据在每个极化单元处调整量化水平。解码器133可以包括可操作地连接到存储器并且被配置用于实现解码步骤的处理器。在一些实施方式中,VND和CND规则相应地被定义用于非二进制编码情况。
图4示出了解码器133的示例性示意图,解码器133由原模图规范140控制。从n级极化的相同图形表示被用于编码和解码的意义上讲,图4中的解码器结构与图2中的编码器结构相同。这是诸如LDGM码的基于GM的编码和诸如LDPC码的基于PCM的编码之间的很大区别,基于PCM的编码除了PCM之外还需要GM计算。对于消息传递算法,每级的所有中间消息首先被初始化为零,而最右级(即,最后极化级)的向左消息410被设置为从解调器132给出的软输入消息(例如,信道LLR值),并且根据冻结位201,在最左级(即,第一极化级)的向右消息400被设置为{0,+∞,-∞}中的任一个。具体地,为‘0’的冻结位的位置具有为+∞的先验信念消息,冻结位为‘1’的位置具有为-∞的先验信念消息,否则信息数据位的先验置信信息为0。当信念消息不是LLR域时,相应地修改初始化,例如,零LLR值等同于为1的LR。因此,根据冻结位分配来定义初始化信念消息。然后,在每个原模图极化单元处相应地定义传播信念消息的规则的集合。
原模图码规范140提供了调度参数,调度参数确定哪些消息以何种顺序跨原模图中的多个VN和CN传播。一些实施方式使用循环调度(round-robin schedule),其从第一级向第二级420、从第二级向第三级430等,传播向右信念消息。然后,从最后一级向倒数第二级430、从倒数第二级向倒数第三级431等,向后传播向左置信信息。这种从左到右和从右到左的往返消息传递被交替地执行多次迭代,以纠正潜在误差。在一个级内,所有消息可以并行地或者从上到下440或者从下到上450顺序地被同时更新。对于一些实施方式,与作为洪泛调度(flooding schedule)的级无关,在所有VN和CN处完全并行地完成消息传递,以实现高度并行解码。最终软输出判定在迭代后第一级处是向左消息。硬判定基于向左消息LLR值的符号。在一些实施方式中,调度策略、消息传递规则和迭代次数由原模图码规范140自适应地控制。
在一些实施方式中,使用特定调度来顺序地获得最左侧消息,以实现SC和SCL解码,而向右LLR取决于基于最左信念消息的硬判定的可用性始终基于范围为{0,+∞,-∞}中的任一者的硬判定消息。这种SC/SCL解码调度进一步降低了计算复杂度,而解码延迟通常增加。在一些实施方式中,根据瞬时信念消息(例如其幅值或导数)使用用于消息传递的随机调度或使用自适应调度。
请注意,解码器133可用作具有特定消息传递调度和计算规则的编码器112。具体地,通过编码位u在第一级初始化向右消息,码字x可以由从第一级传递到最后一级的向右消息生成以获得,其中,消息传递规则基于原模图校验节点处的XOR运算(或针对非二进制情况的代数算术运算)。因此,一些实施方式共享相同模块用于编码和解码,其中消息传递规则由码规范140控制。
基于原模图的极化码
本公开的方法和系统通过引入原模图的概念提供了进一步改进传统极化编码和解码的方法,原模图最初用于LDPC或重复累积码。2003年,Thorpe首次引入了原模图码的概念,作为以以下方式由原模图构建的一类LDPC码,该方式是PCM中的1被Q×Q置换矩阵取代,并且PCM中的0被Q×Q-零矩阵取代。置换大小Q也被称为提升大小、提升因子或QC大小。如果置换矩阵是循环的,则原模图LDPC码简化为众所周知的准循环(QC)LDPC码。然而,不存在使用原模图来设计极化码和相关的LDGM码的现有技术。
本发明的方法和系统提供了一种构建基于原模图的极化码的方法。类似地,在LDPC码的PCM的提升运算中,本发明的方法使用提升运算来代替极化码的GM(而不是PCM)。具体地,极化码的GM中的1被Q×Q置换矩阵代替,GM中的0被Q×Q-零矩阵代替。例如,在如下的提升运算中,2级极化码的GM被置换矩阵代替:
其中,O表示大小为Q×Q的全零矩阵(即,权重零置换),并且Pij是大小为Q×Q的置换矩阵。这种提升运算将总码字长度扩展了Q倍,同时保留了原始极化码的图形结构。对于一些实施方式,置换矩阵选自权重-1循环矩阵:Pij=I(s′ij),其中,I(s)表示通过将Q×Q单位矩阵循环右移s个位置而获得的第s个循环置换矩阵,并且s′ij是要设计的置换移位值。具体地,循环置换矩阵被表示如下:
其中,s的指数只是将列循环地移位s个位置。对于这种循环置换情况,原模图极化码被称为QC极化码。使用大提升因子Q的循环置换,任何基于GM的原模图码都可以是稀疏的,它们被称为基于原模图的广义低密度生成矩阵(LDGM)。与传统的原模图LDPC码相比,原模图极化型LDGM码具有许多益处。
因此,图2中所示的编码器112和图4中所示的解码器133具有更多的规范参数来实现基于原模图的极化码,包括原模图提升因子,即,整数值Q。在传统的极化码中,n级极化提供N=2n个码字位。在本发明的原模图极化码中,码字位的总数增加232提升因子Q为N=2nQ,并且信息位的数量也增加231Q倍。每个编码消息ui和编码消息xi不是单个二进制位,而是原模图极化码的Q位元组。每个极化单元处的XOR运算也被扩展为并行处理Q位的原模图极化单元。原模图极化码具有许多好特征,包括但不限于与具有较深极化级的传统的极化码相比具有优越的性能,同时计算复杂度与浅极化的计算复杂度一样低。
本发明的一些实施方式基于在每个极化级实现硬件友好提升运算,该运算复制Q个并行极化编码器并在并行编码器之间置换XOR输入位(incident bit)。图5示出了原模图极化单元220的示例性例示,其使用基于复制和置换步骤的提升运算。具有传统极化单元500的原始极化码首先被复制510多次。该复制步骤生成相互独立且相同的Q个并行极化编码器511。然后通过置换步骤520来耦合并行编码器,其中跨并行编码器置换极化单元的边缘。例如,第二极化编码器处的XOR运算取第一极化编码器的极化单元的下分支,如边缘置换521所示。因此,对于s的循环移位值,在第i个编码器处的XOR使用在第(i-s mod Q)编码器处的下分支位。复制和置换的极化单元被表示为原模图极化单元531,其使用原模图校验节点531和原模图变量节点532以利用在每个原模图校验节点处分配的循环移位值533并行处理Q位。置换运算不需要任何计算复杂度,而是需要Q个并行编码器之间的消息交换。这同样适用于原模图解码器133,其使用在Q个并行解码器上的消息传递,而不增加任何计算复杂度。因此,针对总码字长度N=2nQ,解码复杂度降低为阶。因此,原模图极化码的N位码字的解码计算复杂度与N/Q位码字的传统极化解码一样低。
高围长(girth)设计
为了实现良好的性能,我们将设计QC极化码的置换移位值。一个明显较差的选择是当所有移位值都为零时的情况,这导致相互独立的Q个并行短极化码而没有任何耦合益处。传统的原模图LDPC码通常被设计成实现高围长——码的“围长”是码图中最短循环的长度。已知的是,任何传统QC LDPC码的围长都是以12为上界。Tanner提出了一种系统性方法来优化移位值,以实现围长-12。进一步表明,非常规QC LDPC码可以实现大于12的围长。
对于n级QC极化码,存在n2n-1个移位值来设计在原模图极化单元中的原模图校验节点。例如,图2中所示的4级QC极化码总共有32个原模图极化单元来分配置换移位值。移位值用大小为n×2n-1的移位基础矩阵表示如下:
其第(i,j)个移位值sij被分配用于第i级的第j个原模图极化单元。给出移位基础矩阵,指定生成矩阵。例如,具有的2级QC极化码对应于具有按如下提升的2级分解生成矩阵的码:
极化码的因子图固有地是环形的,并且码图中存在大量短循环,因此BP解码不能很好地用于传统的极化码。尽管如此,通过优化移位值,当Q>1时,我们可以增加QC极化码的围长。
本公开的方法和系统提供了一种消除原模图极化码的短循环的方式,使得消息传递算法可以正常工作。图6A示出了环长度为4的短循环的示例,其中,涉及两个不同级的两个原模图极化单元。每个原模图极化单元具有一个原模图校验节点600,每个原模图校验节点还具有置换移位值610。作为基础矩阵620,总共有四个移位值,在这个原模图中,跨s11→s22→s12→s21的环路640存在长度为4的短循环。如果通过满足以下条件,累积置换不返回到相同的校验节点,则可以消除该循环-4环:
-s11-s22+s12+s21≠0(mod Q),
其中,累积沿着环的所有原模图CN的移位值。这里,当路径在码图的环中向下时,移位值被无效。这解释了长期存在的问题,即,BP解码对于传统的极化码(Q=1)执行得非常差,即,累积移位将始终为零,导致为4的小围长。本发明的QC极化码可以通过最大化原模图中的围长来解决这个问题。例如,循环-4环被的移位基础矩阵消除,因为对于任何Q>1,累积移位值都不是零。如果m轮循环-4环满足以下条件,也可以消除更高循环:
m(-s11-s22+s12+s21)≠0(mod Q),
对于环中的所有m=1,2,...,M′至4M'循环。
图6B示出了3级QC极化码的短循环的另一个示例,其包括具有移位值的12个原模图极化单元,形成大小为3×4的基础矩阵,如下所示:
它包含许多短循环,包括s13→s34→s24→s12→s31→s21的消息路径中的循环-6环660。类似地,如果累积移位值如下所示为非零,则可以消除该循环-6环:
-s13-s34+s24+s12+s31-s21≠(mod Q),
其中,对于码图的环中的向下路径,移位值也是负的。当我们消除循环-4环和循环-6环两者时,码围长至少可以是8。在实践中,去除循环-4是实现良好性能的最有效方法。以类似的方式,还可以消除涉及更多极化级的更高循环。对于大提升因子,通常即使是随机移位基础矩阵也可以有效地去除短循环。注意,修剪原模图极化也可以去除一些短循环,而冻结位位置可以缩短短循环的长度。因此,冻结位分配和移位值优化都是重要的。
本公开的方法和系统提供了为QC极化码设计高围长移位值的方式,通过使用贪婪爬山法来找到消除原模图极化码中的短循环的循环移位值。图7示出了设计高围长QC极化码的框图。首先,例如通过提升因子为Q的0和Q-1之间均匀分布的随机整数将大小为n×2n-1的基础矩阵S中的置换移位值初始化700。然后,我们探索n级原模图极化码以找到短循环环701,包括分别涉及2级、3级、4级和5级的循环-4、循环-6、循环-8和循环-10环。针对所有移位值702计算加权得分。该得分取决于基于加权控制703的循环的长度。例如,当在循环-4的环中涉及移位值时,得分增加100分,而当在循环-6的环中涉及移位值时,得分增加10分。如上所述,如果累积移位值为非零,则不增加得分,除非另外将得分增加加权分。请注意,两轮循环-4环等效于循环-8环。在计算每个移位值的所有得分之后,将得分中的最大值与目标值进行比较704。如果最大得分低于目标值,则终止优化迭代,并且生成707具有优化移位值的优化移位基础矩阵。除非另有说明,否则优化迭代706继续。根据迭代705次数来控制目标值。例如,逐渐增加目标值,以放宽去除短循环的要求。
当最大得分大于目标值时,我们选择多个得分高于其它值的移位值,并用从0到Q-1均匀分布的整数随机修改708这些移位值。例如,仅选择一个最差移位值,或者选择最差10%移位值进行修改。在修改移位值之后,重复706优化过程。
上述爬山过程可以消除原模图极化码中的短循环,使得用于解码的消息传递算法可以适当地执行。例如,如图2所示,提升因子Q=256的4级QC极化码可以消除循环-6和循环-8环,通过爬山法优化的移位基础矩阵如下:
与传统的4级极化码相比,具有上述基础矩阵的4级QC极化码实现了大于2.4dB的显著增益,同时计算复杂度保持在相同阶。
非均质耦合
为了进一步提高纠错性能,一些实施方式使用嵌入数据位中的循环冗余校验(CRC)码。通过这种改变,解码器可以容易地排除无效码字。如果解码候选中的至少一者对应于具有有效CRC的数据序列,则可以选择具有有效CRC的最可能候选来进行估计。具体地,软判定解码器输出具有取决于解码器的第一级处的向左LLR消息值的幅值的各种置信水平。选择软输出判定的几个最差LLR值,我们可以翻转判定来检查CRC的有效性,以改进纠错能力。
图8A和图8B示出了在馈送到原模图编码器中的数据位中嵌入至少一个CRC码的示意图。例如,图8A示出了一个CRC奇偶校验序列被嵌入在信息位的末尾以验证解码的正确性的示例。在这个示例中,码字800的位被分割成包含实际消息数据的单个数据部分801,随后是根据数据部分801计算803的单个CRC码802。例如,C位CRC奇偶校验序列被附加到(QK-C)位数据消息。奇偶校验位C的数量相对小,并且净码率(即,(QK-C)/Q2n)的损失是有限的。例如,1位奇偶校验使用为D+1的CRC多项式,2位奇偶校验使用D2+D+1的CRC多项式,3位奇偶校验使用D3+D2+D+1的CRC多项式,4位奇偶校验使用D4+D2+D+1的CRC多项式,8位奇偶校验使用D8+D4+D3+D2+D+1的CRC多项式,16位奇偶校验使用D16+D2+1的CRC多项式,等等,其中,D表示延迟单位。奇偶校验多项式可以根据原模图码规范140被适应性地修改。
图8B示出了使用多个CRC码的另一个示例,其中,第一CRC被嵌入到数据位的中间以改进极化解码的性能,第二CRC位于数据位的末尾。嵌入在数据位内的这种多个CRC码可以用于验证部分解码候选。以这种方式,CRC可以辅助极化解码器在解码过程的中间步骤修剪候选码字。此外,多个CRC码可以防止极化解码中的潜在误差传播。在数据位810中,嵌入了多个CRC码,将数据位划分为四个部分。第一数据部分811之后是根据第一数据部分811计算813的第一CRC部分812。第二数据部分814之后是根据第二数据部分814计算816的第二CRC部分815。
一些实施方式使用2个以上的CRC码来划分数据位,使得解码器可以在位序列的更多区段处检查CRC有效性。然而,使用更多CRC码可以增加冗余奇偶校验位,从而在码字长度较短时降低净码率。对于传统的极化码来说,这是一个关键问题。本发明的方法和系统基于这样的实现,即,通过使用高提升因子Q来显著降低由于多个CRC码引起的速率损耗。该实施方式还提供了一个不明显的益处,即,当跨复制的Q个并行编码器验证CRC时,第一极化级中的每个原模图极化单元可以取消用于向右消息传递的硬判定。
图8C示出了跨并行的Q个极化编码器嵌入多个CRC码的示例性实施方式。如图2和图5所示,原模图极化码复制了具有跨并行编码器置换的短极化码。原模图极化编码器采用在为K×Q的二维阵列中形成的Q倍增加数据位来编码N=Q×2n位的Q倍扩展码字。原始数据消息可以被映射到大小为K×(Q-C)的二维阵列831中,其中每列830被馈送到Q个并行极化编码器中的一个短极化编码器中。与数据位831一起,每个列极化编码器还馈送大小为M×Q位的冻结位阵列832。数据位831被进一步划分为信息块834和CRC奇偶校验块835,CRC奇偶校验块形成K×C位的阵列。在每一行836中,从该行信息块834计算837CRC奇偶校验位。尽管它使用了大量K个并行CRC码,但是当提升因子Q足够大时,由于CRC码引起的速率损失可以忽略,为R=(K(Q-C))/Q2n。因此,原模图解码器可以在每个信息位平面检查CRC有效性,因为每个ui具有嵌入了CRC的Q位数据。在一些实施方式中,在每个信息位平面处的多个CRC校验使得能够混合使用SC解码和BP解码。具体地,在BP解码的每次迭代之后,针对软判定向左LLR消息值验证CRC校验,并且如果CRC校验通过,则可以将向右消息固定为来自{±∞}之一的附加冻结位。这种混合SC和BP解码可以加速解码收敛。/>
为了具有更多的自由度,一些实施方式使用具有部分CRC码的非均质耦合运算。图8D示出了非均质耦合的示例性实施方式。在该实施方式中,极化编码器的Q倍复制使用不相同的冻结位位置和码率。例如,第一Q1短极化编码器843针对大小为K1×Q1的第一信息阵列使用R1=K1/2n的较低码率,中间Q2短极化编码器844针对大小为K2×Q2的第二数据阵列使用R2=K2/2n的中等码率,并且最后Q3短极化编码器845针对大小为K3×Q3的最后数据阵列使用R3=K3/2n的较高码率。冻结位部分现在是阶梯状的842。跨Q=Q1+Q2+Q3编码器的行846用单独CRC码进行编码847。在一些实施方式中,CRC奇偶校验位长度可以是不同的,并且一些行没有嵌入CRC码。例如,10%的行使用16位CRC码,20%的行使用8位CRC码并且其余行不使用任何CRC码。使用这种非均质耦合,可以将每个ui位平面处的可靠性更多地调整为软冻结位。信念消息可以从较低速率编码器传播到较高速率编码器。一些实施方式使用特定调度,诸如从较低速率编码器部分到较高速率编码器部分的加窗解码。这种加窗解码可以进一步改进解码延迟。对于一些实施方式,除了CRC码之外,其它纠错码与原模图极化码一起被嵌入。例如,在这样的实施方式中,高速率BCH码被嵌入以去除误码平台(error floor)。
图9示出了根据一些实施方式的当嵌入多个CRC码时,利用均质或非均质耦合的原模图极化解码的框图。原模图极化解码器采用软输入消息902来校正潜在误差。原模图极化解码器使用Q个并行短极化解码器902,其中根据冻结位位置来初始化所有信念消息。在跨多级和解码器的消息传递的一轮更新之后,在第一极化级对向右消息进行硬判定运算903。硬判定使用信念消息的符号来确定‘0’或‘1’。在一些实施方式中,根据信念消息的幅值随机地应用硬判定。例如,ui的第i个数据的估计在概率上被确定为:
其中,ci是LLR域中的信念消息。S形函数被定义为
该随机硬判定可以生成用于数据位估计的多个硬判定候选903的列表。在一些实施方式中,具有小LLR幅值的一些低可靠性位的简单位翻转被用于生成硬判定列表。在每个CRC码区段处验证904列表中的所有候选。如果所有CRC校验都通过了有效性,则迭代解码终止905,并且产生906软输出和硬判定结果。除非另有说明,否则解码迭代908继续直到预定义最大计数。一些实施方式使用增量冻结位907,其中,通过CRC验证(或超过阈值的高度可靠信念消息)的一些部分硬判定数据被固定为额外冻结位,以更新下一轮消息传递迭代902。这些增量冻结位可以加速解码收敛。如果我们将多个CRC码用于原模图极化码,这是特别有效的,因为部分数据可以以分段方式被冻结。
冻结位设计
一些实施方式基于这样的认识,即,传统的极化编码结构假设通信信道和调制方案为每个发送的码字位提供均匀传输可靠性的情况。然而,一些实际系统(诸如,高阶调制、频率选择性衰落信道、时变信道和具有多个天线的多输入多输出(MIMO)信道)导致跨发送位的可靠性不均匀。一些实施方式基于另一认识,即,极化编码性能高度依赖于根据信道统计数据的冻结位位置。本发明公开了一种在这种情况下通过使用基于原模图的外部信息传送(protograph-based extrinsic information transfer,P-EXIT)分析来优化原模图极化码的冻结位位置的方法。
在一些实施方式中,发送器110和/或接收器130包括信道估计器,其被配置为确定通信信道120的参数。例如,通信信道的参数包括用于发送编码码字的位的非均匀可靠性的值和/或信道的其它统计数据,诸如SNR和功率延时分布。可以使用各种方法(诸如,基于导频和训练符号的最小二乘信道估计或盲功率估计)来确定通信信道的参数。原模图码规范140包括存储器,存储器用于存储码参数的不同值与通信信道的参数的不同值之间的映射。以这种方式,实施方式可以基于由信道估计器确定的通信信道的参数来选择原模图极化码的码参数的值的组合。
为了便于原模图解码,通过处理解码期间的似然的统计数据,对冻结位位置进行了细化,从而可以增强极化效应。冻结位位置设计对于高阶调制和频率选择性衰落信道(在这些信道中,不同的编码位被不同噪声强度破坏,导致位可靠性不均匀)尤其重要。该实施方式利用似然的统计数据的知识来选择冻结位位置,以改进软判定解码的性能。此外,如何将编码位映射到哪个调制位上对于这种非均匀可靠性是重要的,因为不同的映射会降低极化效应。因此,除了冻结位位置设计之外,还需要仔细交织设计来将编码位映射到调制位上。本发明的方法提供了一种联合设计这种高阶调制和衰落信道的冻结位位置和交织的方式。
图10A示出了具有交织的发送器的示例性示意图,其中,原模图极化编码112产生编码位(x1,...,xN),所述编码位由交织器1020跨最低有效位(LSB)到最高有效位(MSB)平面被映射到QAM调制器、MIMO天线多路复用或OFDM调制器1010处的不同调制位。LSB到MSB具有不同位可靠性。除了位重要性之外,每个调制符号(t1,...,tN′)例如由于频率选择性衰落信道和多天线传输可能具有不同的信道噪声水平。本发明的方法小心地将重要的编码位映射到可靠调制位,从而实现高解码性能。
图10B示出了联合优化非均匀信道的交织器和冻结位位置的过程。该方法采用交织器方案,其中,交织器执行的置换由可以容易地优化的参数集合来确定,而不是考虑所有可能置换。例如,交织的一种实现是基于多项式置换,包括二次多项式置换(quadraticpolynomial permutation,QPP)交织器,其将编码位索引i(0-基底)重新排序为调制位索引如下:
ΠQPP(i)=(f0+f1i+f2i2)mod N,
其中,(f0,f1,f2)是为交织设计的多项式系数。在QPP交织之前和之后,可以使用短字典置换表,从而可以获得更多的自由度来设计用于原模图极化编码的交织。
首先,交织器被设置为初始置换1001。然后,通过选择与最可靠伪信道相对应的数据索引集,针对该初始交织器置换1002优化极化码结构。然后,评估1003极化码结构和交织器的纠错性能。该评估可以通过模拟按经验执行和/或通过可以从数据索引集选择的伪信道的可靠性计算的误差范围分析地执行。例如,每次极化运算,可以通过巴塔查里亚(Bhattacharyya)参数、密度演化、高斯近似或外部信息传送(EXIT)方法来跟踪似然的统计数据。为了捕获原模图极化码的非均匀可靠性,一些实施方式的方法在非传统跟踪中使用被称为P-EXIT的扩展版本的EXIT。
具体而言,为了考虑软判定消息传播,P-EXIT方法根据如下解码调度,在外部互信息方面跟踪可靠性:
分别用于向下外部信息、向上外部信息、上分支处的向左外部信息、下分支处的向左外部信息、上分支处的向右外部信息和下分支处的向右外部信息。这里,和/>分别是在第m级向右和向左传播的互信息。根据冻结位位置来初始化第一级的向右外部信息;具体地,/>用于信息位,/>用于冻结位。P-EXIT使用J函数JTB(.)及其逆函数/>即,
一旦我们根据指定调度计算了有限迭代解码后的互信息,第i个输入位的错误率就通过以下获得:
其中,erfc(x)是互补误差函数。注意,在每个极化级处的互信息计算应当考虑用于量化软判定解码的不相同LUT。具体地,将上述J函数从连续高斯函数修改为离散输入和离散输出函数(其互信息可以通过相应的转移矩阵容易地计算)。此外,针对诸如最小和算法之类的不同解码方法以及诸如循环调度之类的不同调度,对P-EXIT演化方程进行了修改。冻结位位置例如通过传统的Reed-Muller码、Bhattacharyya参数或贝塔展开被初始化。然后,应用重组(annealing)方法,其中,对冻结位位置进行扰动,以查看分析错误率是否降低。
请注意,当提升因子Q增加时,P-EXIT分析变得更加准确,因为原模图变量节点和原模图校验节点内部的离散将以反比方式减少。具体来说,外部信息的离散被建模为
其中,var(.)是随机变量的方差,I表示外部信息,例如,和/>这解释了本发明的另一个大益处,因为传统的EXIT分析对于在每个校验节点和变量节点处只有单个位的传统的极化码来说不太准确。对于一些实施方式,P-EXIT分析基于非确定性和随机方法(该方法从高斯分布生成随机样本,该高斯分布具有向左、向右、向上和向下的外部信息的标称均值I0和方差var(I0))。具有随机P-EXIT分析的这个实施方式可以通过使用具有其方差的随机扰动来考虑Q的有限提升因子,从而提供对原模图码中的互信息更新的更精确跟踪。
接下来,基于纠错性能是否已经收敛(即,相对于之前的迭代没有显著变化)或者是否已经达到迭代总数的限制,做出1004继续或结束迭代优化过程的决定。如果继续,则在极化码数据集合索引保持固定的同时优化交织器置换1005,然后在交织器保持固定的同时再次优化数据集索引1002,然后重新评估1003原模图极化编码和交织器的性能,并且再次作出1004继续或结束迭代优化的决定。在结束这些迭代之后,最终结果是联合优化的交织器和极化码结构1006。这种冻结位位置和交织的联合优化提供了增强的极化效应,特别是对于无线衰落信道。
非常规修剪
在现有技术中,已经示出,可以通过引入极化单元的非常规修剪来改进传统的极化码,从而由于改进的汉明权重分布,它通常能够降低编码/解码复杂度、解码延迟,甚至错误率。本发明的方法和系统通过去激活极化单元来提供对原模图极化码的进一步改进。这在原模图极化码中提供了另一个益处;特别是修剪原模图极化单元可以帮助去除短循环。
图11A示出了非常规原模图极化编码结构的示例,其中,几个原模图极化单元被去激活1110。通过仔细选择非活动原模图极化单元,可以改进纠错性能,并降低编码和解码的计算复杂度。此外,去激活的原模图极化单元的多个集合实现了部分并行解码,从而减少了解码的延迟。通过用P-EXIT方法分析误差范围来确定非活动原模图极化单元的位置,从而以贪婪的方式最小化误差范围。由于大多数原模图极化不会显著降低解码性能,因此这种非常规去激活可以通过选择更多非活动原模图极化单元来显著降低解码复杂度。
实际上,针对原模图极化码去激活原模图极化单元还有另一个益处,它消除了一些短循环,以改进消息传送能力。图11B示出了用于两级极化的非常规QC极化编码结构的示例,以例示通过去激活原模图极化单元提供的益处。常规原模图极化编码有两个原模图极化级,其中每级都有两个原模图极化单元。如图6A所示,这样的原模图具有通过s11→s22→s12→s21的原模图校验节点的循环-4环1124。这种非常规QC极化编码使第二级的第一原模图极化单元去激活1123。这种非活动原模图极化可以切断循环4环1124,而与移位值无关。这种非常规QC极化码比常规极化码多0.9dB的增益,同时实现了25%的复杂度降低。该示例表明,去激活原模图极化单元不仅可以减少计算复杂度,还可以减少短循环的数量。请注意,短循环也取决于冻结位位置,因为在一些图边缘的无限置信度可以去除循环的长度,因此优化冻结位位置和围长优化都很重要。
与常规QC极化编码相比,具有非活动原模图极化单元的非常规QC极化码可以具有更多的设计自由度;具体地,存在种可能性来选择非活动极化单元的位置,因为对于n级QC极化码,存在N′=n2n-1个原模图极化单元。每个原模图极化单元是活动的还是非活动的可以由大小为n乘2n-1的移位基础矩阵S来指示,其第(i,j)项是第i个极化级处的第j个原模图极化单元的移位置换值。为了指示在第j个极化级处的第i个原模图极化单元是活动的还是非活动的,移位基础矩阵可以接受负值,在这种情况下,对应的原模图极化单元是非活动的。例如,2级极化的常规QC极化编码具有为/>的移位基础矩阵,而图11B中的非常规QC极化编码具有/>其中,第(2,1)原模图校验节点被修剪。由于可能的非常规QC极化编码的总数是巨大的,因此对于长的非常规极化编码,优化非常规移位基础矩阵是不简单的。为了实现良好的非常规QC极化编码,在本发明的方法中使用了贪婪树搜索。
图12示出了根据一些实施方式的用于选择非常规QC极化编码结构的非活动后极化器的方法的框图。该方法将称为框架基础矩阵(skeleton base matrix)的激活矩阵初始化1201为“+”1202,以指示活动的后极化单元。接下来,该方法去激活1203先前的激活矩阵,即,将元素“+”改变为“-”以指示去激活。对于所有可能的N’个位置1204考虑去激活。然后,针对每个非常规QC极化编码计算错误率概率。这里,在通过P-EXIT演化来分析错误率性能的过程中,交织器和冻结位位置类似于图11B中所述那样被优化。该方法选择1206具有最小错误概率的最佳L’非常规QC极化编码。对于每个选择的非常规QC极化编码,该方法进一步去激活1203不同原模图极化单元1207。该过程继续1208,直到满足终止条件为止。终止条件包括例如当错误率性能被最小化时的情况,或者错误率性能变得比常规QC极化编码的错误率性能差时的情况。在完成列表树搜索之后,产生1209具有优化激活表、交织器和冻结位位置的非常规QC极化编码。请注意,在框架基础矩阵中,活动原模图极化被表示为‘+’,在设计框架基础矩阵和冻结位位置后,这些活动移位值如图7所示那样类似地被优化以增大围长。因此,用优化的框架基础矩阵定义连接或断开多级原模图极化单元的规则集合。
例如,对于Q=1024的6级QC极化码,使用图12中描述的优化方法,修剪几十百分比的原模图极化单元可以与常规对应单元相比改进纠错性能。此外,即使修剪超过60%的极化单元,非常规QC极化码也可以优于传统的极化码。因此,非常规QC极化码可以进一步降低解码复杂度,并且具有潜在性能改进。
扩展核与置换
原模图极化单元的XOR的去激活等效于将极化核从改变到处于非活动位置的另一个全秩单位核/>本发明的一些实施方式基于这种认识来将非常规QC极化编码扩展到非二进制和高阶核。例如,一些实施方式使用具有不同全秩非二进制核的非常规QC极化编码,诸如
用于4进制伽罗瓦域(Galois Filed)或4进制有限环(即,以4为模的代数算术)。因此,编码和解码运算由代数算术运算定义,诸如,针对有限伽罗瓦域(以及类似地针对有限环)的加法、减法、乘法、除法或其组合。对于一些实施方式,算术运算由查找表代替常规代数运算来指定。这种不同的非二进制核被非常规地分配给每个原模图极化单元,以改进错误率性能并降低计算复杂度。因此,XOR运算不是仅编码器中的唯一消息传递规则,因为除了伽罗瓦域算术之外,在一些实施方式中还可以使用同或(XNOR)或非与(NAND)。
又一个实施方式使用高阶核的非常规混合;例如,
对于3阶核,
以及
以非常规方式,对于4阶核
对于一些实施方式,也可以组合高阶核和非二进制核。请注意,图5中描述的原模图提升运算很容易适用于高阶和非二进制核。因此,根据核来定义用于编码和解码的消息传递规则。
对于一些实施方式,原模图极化码在提升运算中使用非循环矩阵作为置换矩阵Pij。一些实施方式基于循环矩阵I(s)不是唯一的权重-1置换矩阵的认识。例如,另一个权重-1置换矩阵是反向循环矩阵,其在水平轴上翻转循环矩阵,如下所示:
在一些实施方式中,权重-1置换是通过诸如具有不同参数的QPP交织器之类的多项式置换来实现的。在一些实施方式中,甚至使用随机置换作为随机权重-1置换。对于其它示例,在一些实施方式中使用权重-2和权重-3置换矩阵,诸如
其中,置换权重由每列非零元素的平均数量确定。因此,在一些实施方式中使用随机权重-2或随机权重-3置换。一些较高权重置换也可以通过较低权重置换的组合来实现。即使更高的权重置换可以增加编码和解码的计算复杂度,它也可以改进QC极化码。在一些实施方式中,置换被进一步扩展用于非二进制算术。因此,根据码规范定义了原模图置换规则。
空间耦合
一些实施方式通过以非传统方式将多个极化码与不同参数(诸如,码长、码率和冻结位位置)进行空间耦合,进一步增加设计空间时的自由度,以便于软判定解码。一些实施方式使用提升运算来部分地并且以卷积方式耦合复制编码器。
图13示出了空间耦合的示例性示意图,其中,两级极化编码器1300像通常的提升一样被复制1301Q倍,但是置换跨编码器的子集被部分被应用。例如,第一极化级被耦合用于前两个编码器1302,而最后一个编码器保持未置换1303。对于第二极化级,耦合1304最后两个(不是全部Q个)编码器。以这种方式,可以实现空间耦合的极化编码器。
图14示出了采用卷积提升运算的空间耦合的另一个示例性示意图。复制1401两级极化编码器1400。该实施方式以阶梯方式对齐复制的极化编码器。第一编码器处的第二极化级与第二编码器1402处的第一极化级耦合。以类似的方式,第二编码器处的第二极化级与第三编码器1403处的第一极化级耦合。以这种方式,编码和解码可以以卷积方式进行。具体地,在第一编码器1404处的编码码字取决于第一和第二编码位,而它独立于其它编码器。该加窗存储器特征能够进行加窗编码和解码。然后,它可以减少解码延迟,因为可以卷积耦合无限大量编码器,同时可以在不等待接收整个码字的情况下进行编码和解码。空间耦合的原模图极化编码的其它实施方式示例包括但不限于编织结构、立方卷积、咬尾和环面咬尾。具体而言,咬尾使用输入数据的循环填充,将序列的末尾复制到序列的头部,使得空间耦合可以在不考虑初始卷积时的记忆效应的情况下进行编码。
在一个实施方式中,构建了基于原模图的极化编码结构,其中通过移位运算在不同位置的极化器之间混合并行极化码。另一个实施方式使用不断增加的阶梯结构来提供无速率能力,其中只有奇偶校验位由复制的极化码连续生成,直到接收器确认解码完成为止。因此,非常规原模图极化编码结构和具有不同编码参数的各种分量极化码的应用在耦合码的整个码字上产生不同的自由度(并因此产生不同程度的纠错性能)。该总码字被串行化以在通信信道上传输,并且该串行化可以在非均匀信道上传输之前经由置换被置换,以潜在地获得纠错性能增益。
原模图极化型LDGM码
本发明的方法和系统提供了一种通过引入用于提升基础码的生成矩阵的原模图的概念来改进各种其它线性码的方式。本发明的一些实施方式进一步扩展了针对基于GM的线性码的基于原模图的设计方法的应用,以实现广义LDGM码,我们称之为极化型LDGM码。
例如,一些实施方式改进了传统的循环码,该循环码使用生成多项式对数据位进行编码。众所周知的汉明码和BCH码就是这样一族循环码。具体来说,汉明码使用为1+D+D3的生成多项式。用于K=4个信息位和N=7个码字位的汉明码(系统的)的GM用K×N的矩阵大小G表示如下:
在一些实施方式中,将类似的原模图提升运算应用于具有置换矩阵的上述基础码的GM,以将码字增加Q倍,如下所示:
这种Q倍提升可以降低任意线性码的GM的密度,它们被称为广义LDGM码。当置换矩阵是循环的时,它们也被称为QC LDGM码。图15A示出了基于上述系统汉明码的原模图的示例QC LDGM码,其中,对角置换被选择为单位矩阵,即,Pii=I(0)。非对角置换被分解为3级极化单元,如下所示:
最上面的3个位平面被冻结为‘0’1551,而最下面的4个位平面则被分配给信息位1552。注意,为了方便起见,该图使用了从u7到u1的倒序位平面。数据阵列u的大小增加到N×Q,提升因子Q大于1。第一极化级1553对应于基础生成矩阵Gs的最后一行。在通过第二级1554和第三级1555之后,生成编码阵列1556。每个原模图极化单元使用具有循环移位值sij1557的置换规则。这个原模图具有循环-2,而它可以通过移位值优化被消除。还要注意的是,图15A中的来自基础生成矩阵的原模图并非唯一的,因为可以构建不同顺序的极化级。因此,构造原模图的连通性规则用于指定码。
对于一些实施方式,原模图LDGM码在多级极化中被良好地构造。众所周知,对于非系统情况,传统汉明码的GM也表示如下:
该GM可以通过引入三个零冻结位(如极化码)用于对u=(u1,u2,u3,u4,0,0,0)进行编码来进一步扩展到N×N矩阵,如下所示:
其中,生成多项式1+D+D3的系数[1,1,0,1]在每行循环移位。任何循环码的GM都可以以类似的方式进行扩展。本发明的方法提供了一种通过将GM分解成多个极化级以极化型结构表示GM的方式。具体地,将扩展GM进一步分解为由循环矩阵组成的多个子GM,如下所示:
Gex=I(0)+I(1)+I(3)
其中,I(s)是适当大小(N×N)的循环矩阵。因此,该GM分解过程提供了多级连接规则来构建极化型原模图。图15B示出了基于汉明码的这种极化型LDGM构建的示例性示意图。K=4个数据位1501和3个冻结位1502作为输入消息u=(u1,...,uN)被馈送到极化型LDGM编码器中。这里,冻结位都是零。输入消息首先被复制1503,以具有大小为2N的双位平面。根据生成多项式,编码器使用多级极化。根据一阶单项式系数1505使用第一级1504。由于二阶单项式系数为‘0’1507,跳过1506下一个极化级。另一个极化级1508被构建用于三阶单项式系数1509。因此,第j个极化级对应于生成多项式的第j个系数。每级都有极化单元的不同步幅;具体地,第j极化级具有N-j的循环步幅。在该示例中,第一级具有为6的循环步幅1510,第三级具有为4的循环步幅1511。前N个位平面使用码字1520,而最后N个位平面1521是编码位u的副本。以这种方式,可以以与极化码类似的方式来执行传统循环码的编码和解码。
由于图15B中描述的循环码的极化型结构具有许多短循环,因此引入原模图可以通过增加码围长来解决问题,从而使消息传递能够正常工作。本发明的方法和系统公开了极化型码的这种方式,通过用置换矩阵替换分解和扩展的GM中的‘1’。具体而言,图15中的极化单元以与图5中所述相同的方式被提升为原模图极化。通过使用更高的提升因子Q来复制循环码,可以消除短循环,如图7所示。我们称之为极化型LDGM码,它是从包括极化码在内的传统线性码推广而来的。构建极化型LDGM码的类似分解处理对于包括二进制码和非二进制码的任何任意线性码都是可能的。例如,传统的循环码(由生成多项式指定,gi是第i个系数)可以将GM扩展和分解为/>使用置换矩阵对每个非对角项进行Q倍提升运算,以图15中描述的类似方式构建极化型LDGM码。对于一些实施方式,如对原模图极化码所做的,极化型LDGM码被进一步设计为具有重组冻结位置以及交织器、非常规修剪和循环最大化。因此,本发明的方法和系统提供了一种使用任何基础码的GM的提升运算来构建极化型LDGM码的方法。
并行处理
本发明中的上述实施方式具有许多好特征,包括但不限于
编码和解码共享利用GM指定的相同图形结构,而不计算PCM;
编码和解码可以完全并行化;
可以高效地消除原模图中的短循环;
码设计可以被简化为耦合较短的基础码;
信念传播解码可以以高围长设计正常工作;
原模图解码的计算复杂度保持与原始短码一样低;
最先进的性能是可以实现的;
任何任意线性码都可以用作基本原模图,以转换成具有多个极化级的极化型LDGM码;
当部分CRC码跨复制的编码器被嵌入时,SC解码和BP解码可以与增量冻结位相结合;
非常规编码很容易采用修剪原模图极化;
非二进制编码易于应用;
空间耦合可以用于调整解码并行性和解码延迟;以及
用于原模图LDPC码的成熟技术可以用于原模图LDGM码,诸如P-EXIT和围长最大化方法。
大多数上述益处对于传统的极化码和传统的原模图LDPC码是不可得的。特别地,高度并行编码和解码的能力是本发明在需要高吞吐量处理的实际应用(诸如,需要超过每秒兆兆位的数据速率的光纤通信)中的一大优势。
图16A示出了根据本发明的用于高吞吐量传输的极化型LDGM编码器1600的高度并行和流水线实现的示例。例如,QC极化码并行地操作n=8级的Q=256个极化编码器1602,然后在给定大小为K×Q的源数据1601的情况下生成N=65536位作为编码码字1603。注意,耦合多个编码器的提升置换不涉及任何计算复杂度,而是每级编码器之间的数据交换。由于每个基本编码器1602具有n=8的浅级,所以可以用8个时钟来完成编码,以通过8级进行编码。以这种方式,针对所有N位的编码被高度并行化,以在少量8级流水线中生成大码字。因此,上述极化型LDGM编码器的高度并行实现可以改进源数据的编码处理的有效性,并增强发送器中的处理器(硬件处理器)的性能,增加发送器的吞吐量。
图16B示出了根据实施方式的用于高吞吐量处理的极化型LDGM解码器的高度并行和流水线实现的示例。例如,对于Q=256个短解码器1612,极化型LDGM解码器1610被完全并行化,而与消息传递调度无关(包括SCL解码或BP解码)。每个解码器采用软输入信念消息1611来生成软输出消息1614,且经由置换跨多级的消息传递互连1613以跨并行解码器交换数据。一些实施方式进一步使用具有附加解码器1620的相同解码过程的流水线来增加解码吞吐量,而不是在同一解码器1610迭代消息传递。例如,在第一组并行解码器集合1610处执行第一轮解码迭代,并且在第二组Q个并行解码器集合1620处执行第二轮解码迭代。进一步迭代被展开至串行互连1623上的流水线解码器。注意,每个解码器1612、1622可以被并行处理,因为信念消息只是在不同解码器之间交换而没有额外复杂度。并行和流水线实现的能力是用于高吞吐量收发器的极化型LDGM码的一大益处。因此,上述极化型LDGM解码器的实现可以改进码字的解码处理的有效性,并增强接收器中的处理器(硬件处理器)的性能,从而增加接收器的吞吐量。
其它相关特征
图17A示出了适用于实现根据一些实施方式的用于执行软解码的接收器和/或根据一些实施方式的用于对码字进行编码的发送器的不同组件的系统的示例性框图。系统1700可以包括传感器1710、惯性测量单元(IMU)1730、处理器1750、存储器1760、收发器1770和显示器/屏幕1780中的一者或组合,其可以通过连接1720可操作地耦合到其它组件。连接1720可以包括总线、线路、光纤、链路或其组合。
例如,收发器1770可以包括能够通过一种或更多种类型的通信网络发送一个或更多个信号的发送器、以及接收通过一种或更多种类型的通信网络发送的一个或更多个信号的接收器。收发器1770可以允许与基于各种技术的有线或无线网络进行通信,这些技术诸如但不限于可以基于IEEE 802.11标准族的毫微微小区、Wi-Fi网络或无线局域网(WLAN)、诸如蓝牙、近场通信(NFC)的无线个域网(WPANS)、基于IEEE 802.11标准族的网络、和/或诸如LTE、WiMAX等的无线广域网(WWAN)。系统1700还可以包括用于通过诸如光纤通信的有线网络进行通信的一个或更多个端口。
在一些实施方式中,处理器1750还可以接收来自IMU 1730的输入。在其它实施方式中,IMU 1730可以包括3轴加速度计、3轴陀螺仪和/或磁力计。IMU 1730可以向处理器1750提供速度、取向和/或其它位置相关信息。在一些实施方式中,IMU 1730可以与传感器1710对每个图像帧的捕获同步地输出测量信息。在一些实施方式中,IMU 1730的输出被处理器1750部分地用于融合传感器测量结果和/或进一步处理融合的测量结果。
系统1700还可以包括渲染图像(诸如,颜色和/或深度图像)的屏幕或显示器1780。在一些实施方式中,显示器1780可以用于显示由传感器1710捕获的实时图像、融合图像、增强现实图像、图形用户界面(GUI)和其它程序输出。在一些实施方式中,显示器1780可以包括触摸屏和/或与触摸屏一起被容纳,以允许用户经由虚拟键盘、图标、菜单或其它GUI、用户手势和/或诸如触笔和其它书写工具的输入设备的某种组合来输入数据。在一些实施方式中,显示器1780可以使用液晶显示器或发光二极管(LED)显示器(诸如,有机LED显示器)来实现。在其它实施方式中,显示器1780可以是可穿戴显示器。
示例性系统1700也可以按照与本公开一致的方式以各种方式(诸如通过添加、组合或省略所示的一个或更多个功能块)进行修改。例如,在一些配置中,系统1700不包括IMU1730或传感器1710。在一些实施方式中,系统1700的部分采取一个或更多个芯片组等的形式。
处理器1750可以使用硬件、固件和软件的组合来实现。处理器1750可以表示一个或更多个电路,其可配置为执行与传感器融合和/或用于进一步处理融合测量结果的方法相关的计算过程或处理的至少一部分。处理器1750从存储器1760中检索指令和/或数据。处理器1750可以使用一个或更多个专用集成电路(ASIC)、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、DSP设备、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器、嵌入式处理器核、电子设备、被设计用于执行本文所述功能的其它电子单元、或其组合来实现。
存储器1760可以在处理器1750内和/或在处理器1750外部实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,并且不限于任何特定类型的存储器或存储器数量、或存储器存储的物理介质的类型。在一些实施方式中,存储器1760保存有利于软解码和极化编码的程序代码。
在一些实施方式中,另外地或者另选地,除了软解码之外,处理器1750还可以执行软解码应用1755中的一者或其组合。例如,解码的软输出可用于解码级联的ECC,级联的ECC由被组合成更高性能码的多个分量ECC形成。另一个示例是采用迭代均衡和解码的系统,其中,解码器的软判定输出被反馈回解调器,以迭代地细化解码器输入。又一个示例是作用于解码输出,例如,在显示器1780上示出输出,将输出存储在存储器1760中,使用收发器1770发送输出,和/或基于传感器1710的输出和测量结果执行动作。
此外,本发明的另一个实施方式可以提供一种编码器电路,该编码器电路用于从输入数字数据生成编码数字数据。图17B是用于从输入数字数据生成编码数字数据的编码器电路112的框图的示意图。编码器电路112可以被称为编码器112。编码器电路112被配置为从源位流生成编码数字数据作为输入数字数据。编码器电路112可以包括被配置为接收源位流111的编码器接口1120、被配置为存储计算机可执行编码方法1255(程序/计算机可执行指令/或等效电路)的至少一个存储器组1260、以及被配置为通过执行计算机可执行编码方法的步骤从输入数字数据生成码字作为编码数字数据的一个或更多个计算处理器1250。在这种情况下,计算机可执行编码方法1255被配置为使处理器1250执行包括基于码规范定义极化型低密度生成矩阵(LDGM)码的原模图结构的步骤,其中,码规范包括原模图极化至少两个级、至少一个冻结位分配规则、至少一个原模图置换规则、以及至少一个消息传递规则。计算机可执行编码方法1255的步骤还包括根据至少一个冻结位分配规则初始化具有源位流和冻结位集合的数据阵列,根据跨原模图极化的全部级的至少一个消息传递规则传播数据阵列。此外,所述步骤包括以下步骤:(a)将所述数据阵列从一级到另一级依次馈送到原模图极化的至少两个级中,其中,原模图极化的每个级都包括至少一个原模图极化单元,(b)根据至少一个原模图置换规则置换每个原模图极化单元处的数据阵列;以及(c)根据至少一个消息传递规则来修改在每个原模图极化单元处的数据阵列,通过布置所述修改后的数据阵列来基于指定顺序生成码字作为编码数字数据。在一些实施方式中,所生成的数字数据由调制器113调制,并且经由前端电路114从通信信道120发送。
图17C是例示根据本发明的一些实施方式的用于将编码数字数据进行解码的解码器电路(或简称解码器)133的框图的示意图。解码器电路133被配置为从由从通信信道120接收的编码(有噪声)码字表示的编码数字数据生成解码数字数据。
解码器电路133包括:解码器接口1320,其被配置为从解调器132接收编码码字作为输入数据,该解码器对调制后的噪声版本的编码数字数据进行解调;至少一个存储器组1360,其被配置为存储计算机可执行解码方法(程序/计算机可执行指令/或等效电路)1355;以及一个或更多个计算处理器1350。在这种情况下,计算机可执行解码方法(程序)1355使得一个或更多个计算处理器1350通过执行计算机可执行解码方法的步骤,从来自解码器接口1320的编码码字生成解码数字数据。根据计算机可执行解码方法,一个或更多个计算处理器1350执行包括基于码规范定义极化型低密度生成矩阵(LDGM)码的原模图结构的步骤。码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则、以及至少一个消息传递、初始化与原模图结构中的每个边缘相关联的向左消息和向右消息的阵列的规则。在这种情况下,馈送到第一个原模图极化级中的向右消息基于至少一个冻结位分配规则是固定的,并且馈送到最后一个原模图极化级中的向左消息基于指定顺序的编码码字是固定的,根据跨包括至少一个变量节点和至少一个校验节点的至少两个原模图极化级的至少一个消息传递规则传播向左消息和向右消息,其中,通过迭代方法更新向左消息和向右消息。该迭代方法包括以下步骤:(a)根据至少一个消息传递规则选择变量节点和校验节点的可并行集合,(b)根据至少一个原模图置换规则,将向左消息和向右消息的集合作为传入消息馈送到所选的变量节点和校验节点中,(c)根据至少一个消息传递规则,基于所选的变量节点和校验节点处的传入消息来计算传出消息的集合,(d)在所选的可变和校验节点处用传出消息的集合代替向左消息和向右消息的集合,以及(e)根据至少一个消息传递规则,将步骤(a)-(d)重复指定次数。此外,一个或更多个处理器1350通过根据计算机可执行解码方法1355按指定顺序选择向左消息的集合来生成输出消息作为解码数字数据。
本发明的所有上述实施方式都可以以多种方式中的任一种来实现。例如,可以使用硬件、固件、软件或其组合来实现实施方式。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是在多个计算机上分布。这样的处理器可以实现为集成电路,且在集成电路组件中具有一个或更多个处理器。然而,可以使用任何合适格式的电路来实现处理器。
此外,本发明的实施方式可以具体实现为一种方法,已经提供了该方法的示例。作为该方法的一部分执行的动作可以以任何合适的方式进行排序。因此,可以构造以不同于例示的顺序执行动作的实施方式,这可以包括同时执行一些动作,即使在示例性实施方式中被例示为顺序动作。
在权利要求中使用诸如“第一”、“第二”等序数词来修饰权利要求元素本身并不意味着一个权利要求元素相对于另一个权利要求元素的任何优先权、优先次序或顺序,也不意味着执行方法的动作的时间顺序,而是仅用作将具有特定名称的一个权利要求元素与具有相同名称的另一个元素区分开来的标签(但是用于使用序数项)以区分权利要求元素。
尽管已经通过优选实施方式的示例描述了本发明,但是应当理解,在本发明的精神和范围内可以进行各种其它调整和修改。
因此,所附权利要求的目的是涵盖在本发明的真正精神和范围内的所有此类变化和修改。
Claims (27)
1.一种用于对数字数据进行编码的计算机实现的方法,所述计算机实现的方法由一个或更多个计算处理器执行,所述计算机实现的方法包括以下步骤:
基于码规范定义极化型低密度生成矩阵LDGM码的原模图结构,其中,所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则和至少一个消息传递规则;
访问作为输入数字数据的源位流;
根据所述冻结位分配规则,用冻结位集合和所述源位流将数据阵列初始化;
根据所述消息传递规则在所有原模图极化级上传播所述数据阵列,所述传播还包括以下步骤:
(a)将所述数据阵列从一级到另一级依次馈送到所述原模图极化级中,其中,所述原模图极化级包括至少一个原模图极化单元;
(b)根据所述原模图置换规则在每个所述原模图极化单元处置换所述数据阵列;以及
(c)根据所述消息传递规则,修改在每个所述原模图极化单元处的所述数据阵列;
按指定顺序将修改后的数据阵列布置成码字;以及
将所述码字提供为所述输入数字数据的编码数字数据。
2.根据权利要求1所述的方法,其中,所述原模图极化单元包括:
至少一个原模图校验节点;以及
至少一个原模图变量节点;
其中,至少一对所述原模图校验节点和所述原模图变量节点相互连接,以根据所述原模图置换规则传递多位消息。
3.根据权利要求1所述的方法,其中,基于所述消息传递规则修改所述数据阵列包括:在每个所述原模图极化单元处应用代数算术运算的集合,其中,所述代数算术运算基于有限环、有限伽罗瓦域、查找表或其组合。
4.根据权利要求1所述的方法,其中,定义所述极化型LDGM码的所述原模图结构的所述码规范是基于基础码的生成矩阵的提升运算,其中,所述提升运算通过用置换矩阵替换所述生成矩阵的每个元素来应用所述基础码的复制和置换,并且其中,所述生成矩阵被分解成至少两个子生成矩阵以定义多个原模图极化级。
5.根据权利要求1所述的方法,其中,所述原模图置换规则包括与每个所述原模图极化相关联的参数集,所述参数集定义具有移位值的循环置换、具有移位值的反向循环置换、具有多项式系数集的多项式置换、随机权重-1置换矩阵、随机权重-2置换矩阵、随机权重-3置换矩阵或其组合。
6.根据权利要求1所述的方法,其中,所述冻结位分配规则和所述原模图置换规则是通过迭代方法确定的,所述迭代方法包括以下步骤:
(a)将冻结位位置、框架基础矩阵和置换参数集初始化;
(b)根据所述框架基础矩阵修剪所述原模图极化单元的集合;
(c)基于原模图外部信息传送P-EXIT方法计算错误率的上界,其中,所述P-EXIT方法还包括以下步骤:
(c1)在给定信道互信息集的情况下,根据所述冻结位位置和所述置换参数,
将与所述原模图中的每个边缘相关联的外部信息集初始化;
(c2)基于定义所述外部信息的演化的P-EXIT规则集合,在原模图极化单元处更新所述外部信息;
(c3)根据解码调度以指定顺序针对所述原模图极化单元的集合重复所述更新步骤(c2);以及
(c4)基于更新后的外部信息和所述冻结位位置来计算所述错误率的上界;
(d)计算每个原模图极化单元处的得分,其中,所述得分通过以下步骤计算:
(d1)寻找偏离原模图极化单元的循环,并且通过所述原模图使相同的原模图极化单元返回;
(d2)根据所述冻结位位置、所述框架基础矩阵和所述置换参数来确定循环长度;
(d3)将取决于所述循环长度的加权值添加到与参与所述循环的所述原模图极化单元相关联的所有得分中;
(d4)对于所述原模图中的指定路径集合,重复上述步骤(d1)至(d3);
(e)基于所述上界和所述得分修改所述冻结位位置、所述框架基础矩阵和所述置换参数;以及
(f)重复上述步骤(b)至(e),直到满足所述上界和所述得分的指定条件为止。
7.根据权利要求1所述的方法,其中,基于所述冻结位分配规则将所述数据阵列初始化还包括以下步骤:
(a)形成从所述数据阵列的一部分中选择性地选择的位序列;
(b)基于线性码从所述位序列计算奇偶校验序列,所述线性码包括循环冗余校验CRC码、博斯-乔赫里-霍克文黑姆BCH码、循环码、准循环码、卷积码或其组合;
(c)将所述奇偶校验序列嵌入到所述数据阵列的所选部分中;
(d)将上述步骤(a)至(c)重复指定次数,以将多个奇偶校验位嵌入到所述数据阵列中。
8.根据权利要求4所述的方法,其中,所述基础码是极化码,所述极化码包括基于核心矩阵的至少两个克罗内克幂的至少两个极化级,其中,所述核心矩阵是阶大小大于1的全秩矩阵,并且其中,所述核心矩阵是基于有限伽罗瓦域、有限环或其组合的。
9.根据权利要求1所述的方法,其中,由所述码规范定义的所述原模图结构是基于所述原模图极化单元的空间耦合的,其中,所述空间耦合以均质或非均质方式形成所述原模图结构,以利用或不利用咬尾构建矩形、立方形、编织形、阶梯形或环面形的所述原模图。
10.一种用于对噪声码字进行解码的计算机实现的方法,所述计算机实现的方法由一个或更多个计算处理器执行,所述计算机实现的方法包括以下步骤:
基于码规范定义极化型低密度生成矩阵LDGM码的原模图结构,其中,所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则和至少一个消息传递规则;
访问表示噪声码字的信念消息的输入数据;
将与所述原模图中的每个边缘相关联的向左消息和向右消息的阵列初始化,其中,馈送到所述第一个原模图极化级中的所述向右消息基于所述冻结位分配规则是固定的,并且馈送到最后一个原模图极化级中的所述向左消息基于指定顺序的输入数据是固定的;
根据所述消息传递规则,跨包括至少一个变量节点和至少一个校验节点的多个原模图极化级传播所述向左消息和所述向右消息,其中,通过迭代方法来更新所述向左消息和所述向右消息,所述迭代方法包括以下步骤:
(a)根据所述消息传递规则选择变量节点和校验节点的可并行集合;
(b)根据所述原模图置换规则,将所述向左消息和所述向右消息的集合作为传入消息馈送到所选的变量节点和校验节点中;
(c)根据所述消息传递规则,基于在所选的变量节点和校验节点处的所述传入消息来计算传出消息的集合;
(d)在所选的变量节点和校验节点处用所述传出消息替换所述向左消息和所述向右消息的集合;以及
(e)根据所述消息传递规则,将上述步骤(a)至(d)重复指定次数;
按指定顺序选择所述向左消息的集合作为输出消息;以及
提供所述输出消息作为解码数字数据。
11.根据权利要求10所述的方法,其中,所述原模图极化单元包括:
至少一个原模图校验节点;以及
至少一个原模图变量节点;
其中,至少一对所述原模图校验节点和所述原模图变量节点相互连接,以根据所述原模图置换规则传递多位消息。
12.根据权利要求10所述的方法,其中,在所述变量节点和所述校验节点处计算所述传出消息是基于所述消息传递规则、定义变量节点解码器的规则、以及定义校验节点解码器的规则的,所述消息传递规则、定义变量节点解码器的规则、以及定义校验节点解码器的规则基于和积算法、增量最小算法、最小和算法、偏移最小和算法、归一化最小和算法、修正最小和算法、衰减最小和、扩展最小和、量化查找表或其变型。
13.根据权利要求10所述的方法,其中,定义所述极化型LDGM码的所述原模图结构的所述码规范是基于基础码的生成矩阵的提升运算的,其中,所述提升运算通过用置换矩阵替换所述生成矩阵的每个元素来应用所述基础码的复制和置换,并且其中,所述生成矩阵被分解成至少两个子生成矩阵以定义多个原模图极化级。
14.根据权利要求10所述的方法,其中,所述原模图置换规则包括与每个所述原模图极化相关联的参数集,所述参数集定义具有移位值的循环置换、具有移位值的反向循环置换、具有多项式系数集的多项式置换、随机权重-1置换矩阵、随机权重-2置换矩阵、随机权重-3置换矩阵或其组合。
15.根据权利要求10所述的方法,其中,传播所述向左消息和所述向右消息还包括以下步骤:
(a)以确定性方式或随机方式基于来自第一个原模图极化级的所述向左消息来生成硬判定码字的有限列表;
(b)形成从所述硬判定码字列表的一部分中选择性地选择的位序列;
(c)基于线性码来计算所述位序列的可靠性,所述线性码包括循环冗余校验CRC码、博斯-乔赫里-霍克文黑姆BCH码、循环码、准循环码、卷积码或其组合;
(d)将上述步骤(b)和(c)重复指定次数;
(e)基于所计算的可靠性来确定所述硬判定码字的最可能序列;以及
(f)根据所述可靠性,基于所述硬判定码字的最可能序列来更新馈送到所述第一个原模图极化级中的所述向右消息的一部分。
16.根据权利要求13所述的方法,其中,所述基础码是极化码,所述极化码包括基于核心矩阵的至少两个克罗内克幂的至少两个极化级,其中,所述核心矩阵是阶大小大于1的全秩矩阵,并且其中,所述核心矩阵是基于有限伽罗瓦域、有限环或其组合的。
17.根据权利要求10所述的方法,其中,由所述码规范定义的所述原模图结构是基于所述原模图极化单元的空间耦合的,其中,所述空间耦合以均质或非均质方式形成所述原模图结构,以利用或不利用咬尾构建矩形、立方形、编织形、阶梯形或环面形的所述原模图。
18.根据权利要求10所述的方法,其中,所述消息传递规则还包括基于循环调度、洪泛调度、自适应调度、加窗解码调度、随机调度、串行调度、连续取消调度或其组合的解码调度。
19.一种用于在通信信道上传递数字数据的系统,所述系统包括:
至少一个计算处理器;
至少一个存储器组;
发送器,所述发送器包括:
源,所述源用于接受要传递的源数据;
编码器,所述编码器用于对所述源数据进行编码,其中,所述编码器通过执行根据权利要求1所述的方法来生成编码码字;
调制器,所述调制器用于将编码码字转换为调制信号,其中,所述调制信号是基于幅度调制、相位调制、正交幅度调制、相移键控、频率调制、正交频分复用、空分复用、脉冲位置调制或其变型的;以及
前端接口,所述前端接口用于将所述调制信号发送到所述通信信道中;
通信信道,所述通信信道包括有线介质信道、无线介质信道、光纤信道、真空自由空间信道、数据存储介质或其变型;
接收器,所述接收器包括:
前端接口,所述前端接口用于接收来自所述通信信道的输出信号;
解调器,所述解调器用于解调所述信道的所述输出信号,其中,所述解调器生成作为输入信念消息的似然信息;
解码器,所述解码器用于对所述输入信念消息进行解码,其中,所述解码器通过执行根据权利要求10所述的方法来生成解码码字;以及
信宿,所述信宿用于提供所述解码码字;以及
控制器,所述控制器用于根据所述信道的知识来定义要在所述编码器和所述解码器中使用的极化型低密度生成矩阵LDGM码的码规范以进行编码和解码,其中,所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则、以及至少一个消息传递规则。
20.根据权利要求19所述的系统,其中,所述解码器还包括具有串行互连集合的流水线解码器的展开集合,其中,每个所述流水线解码器还包括具有置换互连集合的并行解码器的集合。
21.根据权利要求19所述的系统,其中,所述编码器还包括流水线编码器的展开集合,所述流水线编码器的展开集合具有在多个原模图极化级上的串行互连集合,其中,每个所述流水线编码器还包括具有置换互连集合的并行编码器的集合。
22.一种编码器电路,所述编码器电路被配置为从源位流生成编码数字数据作为输入数字数据,所述编码器电路包括:
编码器接口,所述编码器接口被配置为接收所述源位流;
至少一个存储器组,所述至少一个存储器组被配置为存储计算机可执行编码方法;
一个或更多个计算处理器,所述一个或更多个计算处理器被配置为通过执行所述计算机可执行编码方法的步骤从所述输入数字数据生成码字作为编码数字数据,其中,所述步骤包括:
基于码规范定义极化型低密度生成矩阵LDGM码的原模图结构,其中,所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则和至少一个消息传递规则;
根据所述至少一个冻结位分配规则,用冻结位集合和所述源位流将数据阵列初始化;
根据所述至少一个消息传递规则,在全部原模图极化级上传播所述数据阵列,其中,所述步骤进一步包括:
(a)将所述数据阵列从一级到另一级依次馈送到至少两个原模图极化级中,
其中,每个所述原模图极化级包括至少一个原模图极化单元;
(b)根据所述至少一个原模图置换规则,在每个所述原模图极化单元处置换所述数据阵列;以及
(c)根据所述至少一个消息传递规则来修改在每个所述原模图极化单元处的所述数据阵列;以及
通过布置修改后的数据阵列,基于指定顺序生成所述码字作为所述编码数字数据。
23.根据权利要求22所述的编码器电路,其中,所述编码器接口被配置为将所述码字发送到调制器电路,所述调制器电路对所述码字进行调制以经由通信信道将所述码字作为所述编码数字数据发送。
24.根据权利要求22所述的编码器电路,其中,所述计算机可执行编码方法的执行步骤在编码方法的集合上被并行化和串行化,并且根据所述原模图置换规则进行数据交换。
25.一种解码器电路,所述解码器电路被配置为从噪声版本的编码码字生成解码数字数据,所述解码器电路包括:
解码器接口,所述解码器接口被配置为接收作为输入数据的噪声编码码字;
至少一个存储器组,所述至少一个存储器组被配置为存储计算机可执行解码方法;
一个或更多个计算处理器,所述一个或更多个计算处理器被配置为通过执行所述计算机可执行解码方法的步骤,从来自所述解码器接口的所述编码码字生成所述解码数字数据,其中,所述步骤包括:
基于码规范定义极化型低密度生成矩阵LDGM码的原模图结构,其中,所述码规范包括至少两个原模图极化级、至少一个冻结位分配规则、至少一个原模图置换规则和至少一个消息传递规则;
将与所述原模图结构中的每个边缘相关联的向左消息和向右消息的阵列初始化,其中,馈送到第一个原模图极化级中的所述向右消息基于至少一个所述冻结位分配规则是固定的,并且馈送到最后一个原模图极化级中的所述向左消息基于指定顺序的编码码字是固定的;
根据所述至少一个消息传递规则,跨包括至少一个变量节点和至少一个校验节点的至少两个原模图极化级传播所述向左消息和所述向右消息,其中,通过迭代方法更新所述向左消息和所述向右消息,其中,所述迭代方法包括以下步骤:
(a)根据所述至少一个消息传递规则选择变量节点和校验节点的可并行集合;
(b)根据至少一个所述原模图置换规则,将所述向左消息和所述向右消息的集合作为传入消息馈送到所选的变量节点和校验节点中;
(c)根据所述至少一个消息传递规则,基于在所选的变量节点和校验节点处的传入消息来计算传出消息的集合;
(d)在所选的变量节点和校验节点处用所述传出消息的集合替换所述向左消息和所述向右消息的集合;以及
(e)根据所述至少一个消息传递规则,将步骤(a)至(d)重复指定次数;以及
通过按指定顺序选择所述向左消息的集合来生成输出消息作为解码数字数据。
26.根据权利要求25所述的解码器电路,其中,所述解码器接口连接到解调器电路,所述解调器电路解调来自通信信道的所述编码码字以提供用于解码的初始信念消息,其中,所述初始信念消息基于对数似然比、对数似然、似然、软判定值、硬判定值或其变型。
27.根据权利要求25所述的解码器电路,其中,将所述计算机可执行解码方法的执行步骤展开为流水线步骤,以在多次迭代中利用串行互连集合来执行所述解码方法,其中,每一个所述流水线解码方法还被并行化为利用用于增加所述解码器的吞吐量的置换互连集合的解码方法的集合。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/181,819 US11463114B2 (en) | 2021-02-22 | 2021-02-22 | Protograph quasi-cyclic polar codes and related low-density generator matrix family |
US17/181,819 | 2021-02-22 | ||
PCT/JP2021/044603 WO2022176319A1 (en) | 2021-02-22 | 2021-11-30 | Protograph quasi-cyclic polar codes and related low-density generator matrix family |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116964945A true CN116964945A (zh) | 2023-10-27 |
Family
ID=79185774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180093931.9A Pending CN116964945A (zh) | 2021-02-22 | 2021-11-30 | 原模图准循环极化码及相关的低密度生成矩阵族 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11463114B2 (zh) |
EP (1) | EP4295489A1 (zh) |
JP (1) | JP2024506420A (zh) |
CN (1) | CN116964945A (zh) |
WO (1) | WO2022176319A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102511779B1 (ko) * | 2021-04-12 | 2023-03-17 | 아주대학교산학협력단 | 극 부호 연속 제거 비트 반전 복호 장치 및 방법 |
CN116073958B (zh) * | 2023-03-14 | 2023-06-13 | 南京创芯慧联技术有限公司 | 译码方法、装置、电子设备和存储介质 |
CN116488662B (zh) * | 2023-06-21 | 2023-10-03 | 电子科技大学 | 基于线性变换的f-ldpc码校验矩阵重量压缩方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343539B2 (en) | 2005-06-24 | 2008-03-11 | The United States Of America As Represented By The United States National Aeronautics And Space Administration | ARA type protograph codes |
US8117523B2 (en) | 2007-05-23 | 2012-02-14 | California Institute Of Technology | Rate-compatible protograph LDPC code families with linear minimum distance |
US8473824B1 (en) | 2008-09-08 | 2013-06-25 | Marvell International Ltd. | Quasi-cyclic low-density parity-check (QC-LDPC) encoder |
US8595589B2 (en) | 2011-09-30 | 2013-11-26 | Mitsubishi Electric Research Laboratories, Inc. | Quasi-cyclic low-density parity-check codes |
US9176927B2 (en) | 2011-11-08 | 2015-11-03 | The Royal Institution For The Advancement Of Learning/Mcgill University | Methods and systems for decoding polar codes |
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 |
US10153787B2 (en) * | 2016-09-20 | 2018-12-11 | Samsung Electronics Co., Ltd | Apparatus and method for parallelized successive cancellation decoding and successive cancellation list decoding of polar codes |
US10312946B2 (en) | 2017-02-06 | 2019-06-04 | Mitsubishi Electric Research Laboratories, Inc. | Soft-output decoding of codewords encoded with polar code |
US10998922B2 (en) | 2017-07-28 | 2021-05-04 | Mitsubishi Electric Research Laboratories, Inc. | Turbo product polar coding with hard decision cleaning |
-
2021
- 2021-02-22 US US17/181,819 patent/US11463114B2/en active Active
- 2021-11-30 JP JP2023572254A patent/JP2024506420A/ja active Pending
- 2021-11-30 CN CN202180093931.9A patent/CN116964945A/zh active Pending
- 2021-11-30 WO PCT/JP2021/044603 patent/WO2022176319A1/en active Application Filing
- 2021-11-30 EP EP21835878.6A patent/EP4295489A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4295489A1 (en) | 2023-12-27 |
JP2024506420A (ja) | 2024-02-13 |
US20220278698A1 (en) | 2022-09-01 |
US11463114B2 (en) | 2022-10-04 |
WO2022176319A1 (en) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6847252B2 (ja) | 符号器、復号器及び送信機 | |
US10862621B2 (en) | Irregular polar code encoding | |
US9722633B2 (en) | Method and system for reliable data communications with adaptive multi-dimensional modulations for variable-iteration decoding | |
CN107370490B (zh) | 结构化ldpc的编码、译码方法及装置 | |
JP4602418B2 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
US11463114B2 (en) | Protograph quasi-cyclic polar codes and related low-density generator matrix family | |
US20140229788A1 (en) | Ldpc design for high rate, high parallelism, and low error floor | |
TWI387212B (zh) | 使用低密度同位檢查碼之通訊系統中用來將通道編碼與解碼的裝置及其方法 | |
KR20080031136A (ko) | 중복 부분 행렬 기반의 저밀도 패리티 체크 디코더 | |
WO2009153746A2 (en) | Node information storage method and system for a low-density parity-check decoder | |
EP2991231A1 (en) | Multilevel encoding and multistage decoding | |
EP2890016A1 (en) | Ldpc encoder and decoder | |
TWI407703B (zh) | 解碼器 | |
Zikry et al. | Performance Analysis of LDPC Decoding Techniques | |
Jain et al. | Variable-rate FEC decoder VLSI architecture for 400G rate-adaptive optical communication | |
KR102611823B1 (ko) | Ldpc 디코더의 tdmp 알고리즘에 의한 패리티 검사 행렬의 디코딩 방법 | |
Kang | The Advanced Decoding Schemes for Low-density Parity-check Codes |
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 |