CN114342266A - 用生成矩阵的三角分解进行纠错编码的方法和装置 - Google Patents

用生成矩阵的三角分解进行纠错编码的方法和装置 Download PDF

Info

Publication number
CN114342266A
CN114342266A CN202080059428.7A CN202080059428A CN114342266A CN 114342266 A CN114342266 A CN 114342266A CN 202080059428 A CN202080059428 A CN 202080059428A CN 114342266 A CN114342266 A CN 114342266A
Authority
CN
China
Prior art keywords
data
block
decoder
matrix
transform
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.)
Granted
Application number
CN202080059428.7A
Other languages
English (en)
Other versions
CN114342266B (zh
Inventor
埃达尔·阿瑞肯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Abram Technologies Inc
Original Assignee
Abram Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abram Technologies Inc filed Critical Abram Technologies Inc
Publication of CN114342266A publication Critical patent/CN114342266A/zh
Application granted granted Critical
Publication of CN114342266B publication Critical patent/CN114342266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2933Coding, 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 a block and a convolutional code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6572Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种在通信系统100中使用的用于可靠传送源数据块d的编码器装置110、210,包括:外变换212,其被配置成接收数据容器块v并计算外变换块u,由此,对于外变换矩阵Gout,u=vGout。编码器装置还包括内变换213,其被配置成接收外变换块u并计算发送码块x,由此,对于内变换矩阵Gin,x=uGin。数据容器块v从源数据块d和是预定符号块的冻结数据块a获得。外变换矩阵Gout和内变换矩阵形成变换矩阵G的三角分解,同时外变换矩阵Gout和内变换矩阵Gin分别是严格的上三角矩阵和严格的下三角矩阵。

Description

用生成矩阵的三角分解进行纠错编码的方法和装置
技术领域
本发明总体上涉及用于通信系统中的纠错编码的方法和装置,更具体地,本发明涉及使用码生成矩阵的三角分解进行纠错编码的编码和解码方法和装置。
背景技术
在现代数字数据传输(无线电话、无线数据传输、到播放器的光盘传输、接收音乐数据的音乐播放器等)中,信道编码器可以接收源数据并向其添加冗余,以保护源数据免受传输信道中的噪声的影响。在传输信道另一端的接收器接收被信道噪声和/或失真破坏的编码数据,并使用信道解码器来恢复源数据。然后,解码数据转发到目的地(例如,将解码数据作为音频播放的音乐播放器,或者将解码数据存储为文件的存储设备)。
信道编码通常通过借助变换发送寻求传送的一段数据(称为“源数据块”(SourceData Block,SDB))来工作,该变换产生“发送码块”(Transmitted Code Block,TCB),TCB比导出它的SDB更好地防止错误,因此比SDB更适合于传输。对于当前目的,只需指出使用矩阵乘以SDB的线性块编码器已经用于该目的,因为线性块编码器能够实现提供针对噪声的显著(虽然不是绝对的)保护的可接受的折衷,同时在它们需要的计算量方面具有足够“低的复杂度”,该折衷通常以由噪声导致的错误率(例如误帧率(Frame Error Rate,FER))来表示。降低所接收信号的FER但对于期望的数据传输速率需要太多计算的较高复杂度的编码方案几乎没有实际用途。
极化码。现有技术中的一种线性块码是极化码【ARI2009】,该极化码由于能够使用低复杂度编码和解码算法实现信道容量而引起了人们的兴趣。极化码基于被称为信道极化的现象。所公开的旨在提出一种新型的码,其比极化码更有效地利用信道极化,并提供更好的FER性能。我们将从回顾极化编码的现有技术开始。
为了保持简化对极化码的回顾,我们将仅考虑二进制情况,其中,编码器对二进制域
Figure BDA0003515204390000011
Figure BDA0003515204390000012
上的向量进行运算。如【ARI2009】所示,对于每个整数n≥1,存在用于任何整数1≤K≤N的具有码块长度N=2n和速率R=K/N的极化码。具有码块长度N和速率R=K/N的极化码由极化变换矩阵
Figure BDA0003515204390000013
数据索引集
Figure BDA0003515204390000014
和冻结数据块(Frozen Data Block,FDB)a定义,其中,极化变换矩阵G是核矩阵
Figure BDA0003515204390000015
的克罗内克(Kronecker)幂
Figure BDA0003515204390000016
数据索引集
Figure BDA0003515204390000017
是具有基数
Figure BDA0003515204390000018
的{1,2,…,N}的子集,并且FDB a是来自
Figure BDA0003515204390000019
的任意但固定的行向量。用于具有参数
Figure BDA00035152043900000110
的极化码的编码器接收SDB
Figure BDA00035152043900000111
作为输入,并通过执行矩阵乘法x=uG来产生TCB
Figure BDA0003515204390000021
其中,
Figure BDA0003515204390000022
是包括数据部分
Figure BDA0003515204390000023
和冻结部分
Figure BDA0003515204390000024
的变换输入块。(符号
Figure BDA0003515204390000025
表示在丢弃索引不在
Figure BDA0003515204390000026
中的u的所有坐标之后剩余的u的部分。)极化码的性能关键取决于数据索引集
Figure BDA0003515204390000027
的选择。在极化编码中,基于被称为信道极化的现象来选择数据索引集
Figure BDA0003515204390000028
FDB a通常被设置为全零向量。
为了更详细地讨论信道极化,考虑具有参数
Figure BDA0003515204390000029
的极化码的设计,该极化码用于通过具有输入字母表
Figure BDA00035152043900000210
输出字母表Y以及针对x∈X和y∈Y的转移概率W(y|x)的给定二进制输入无记忆信道(Binary-Input Memoryless Channel,BMC)W来传输数据。由于无记忆信道假设,所以在假定信道输入块
Figure BDA00035152043900000211
通过BMC W发送时接收信道输出块y=(y1,y2,…,yN)∈YN的条件概率由乘积形式转移概率
Figure BDA00035152043900000212
给出。在极化编码中,从BMC W的N个独立副本合成N个位信道。位信道由从1到N的整数索引,并且第i个位信道具有转移概率
Figure BDA00035152043900000213
其中,y∈YN
Figure BDA00035152043900000214
并且
Figure BDA00035152043900000215
第i个位信道
Figure BDA00035152043900000216
可以被解释为具有输入字母表
Figure BDA00035152043900000217
输出字母表
Figure BDA00035152043900000218
以及针对
Figure BDA00035152043900000219
Figure BDA00035152043900000220
Figure BDA00035152043900000221
的转移概率
Figure BDA00035152043900000222
的BMC。在操作上,第i个位信道
Figure BDA00035152043900000223
将第i个变换输入ui连接到输出符号(y,ui-1),其中
Figure BDA00035152043900000224
充当干扰。在接收器侧,在被称为连续消除(Successive Cancellation,SC)解码的某种解码下,位信道变得可访问【ARI2009】。一种推荐的选择数据索引集
Figure BDA00035152043900000225
的方法需要计算位信道的对称容量
Figure BDA00035152043900000226
其中,任意BMC W的对称容量由以下公式定义:
Figure BDA00035152043900000227
已知用于将
Figure BDA00035152043900000228
计算到任何程度的数值精度【PED2011】的高效方法【TAL2013】。在计算
Figure BDA00035152043900000229
后,位信道
Figure BDA00035152043900000230
以其对称容量的降序列出,并选择排序列表中前K个位信道的索引作为数据索引集
Figure BDA00035152043900000231
这种用于选择数据索引集
Figure BDA00035152043900000232
的方法确保了SDB位由具有最大对称容量的位信道携带。
在【ARI2009】中的主要极化定理表明,随着N变大,除了渐近消失的部分之外,位信道的对称容量
Figure BDA00035152043900000233
收敛到0或1。这种现象被称为信道极化。随着N变大,对称容量极化为1的位信道的部分接近I(W),而对称容量极化为0的位信道的部分接近1-I(W)。基于此渐近结果及其改进,在【ARI2009】、【ARI2009b】中示出,极化码可以在接近I(W)的数据传输速率下运算,同时具有在
Figure BDA0003515204390000031
中且以编码和解码复杂度O(N log N)大致指数地变为零的错误概率。
虽然极化码随着码块长度N的增加而渐近地达到香农极限,但是它们在实际块长度N下的性能令人失望。极化码在实际块长度下的相对较差的性能部分是由于极化码通常采用的低复杂度解码方法(例如连续消除【ARI2009】和置信传播【ARI2008】解码算法)的弱点。然而,即使在最佳最大似然(Maximum Likelihood,ML)解码下,极化码在纠错编码中与现有技术相比也不具有竞争力【ARI2009c】。为了补救这种情况,已经提出了几种方法,这些方法以复杂度为代价来提高极化码的性能。在我们研究这样的方法之前,我们将讨论极化的前驱编码方案,以便正确了解极化编码的现有技术以及当前原理背后的主要思想。
我们将从顺序解码的描述开始,因为它在极化编码的开发中扮演重要的角色,并且将对当前原理扮演类似的角色。顺序解码是一种用于卷积码(更一般地,任何种类的树码)的解码算法,其最初由沃曾克拉夫特(Wozencraft)引入【WOZ1961】。顺序解码的一些公知版本是费诺(Fano)算法【FAN1963】和堆栈算法【ZIG1966】、【JEL1969】。本质上,顺序解码是深度优先的树搜索启发法,用于在给定信道输出的情况下在树码中寻找发送码字。已知在顺序解码中的搜索复杂度随着信道中噪声的严重程度而变化【JAC1967】。顺序解码中的计算的可变性质将其实际应用限制在低于截止速率的编码速率,截止速率是可以显著小于相同信道的对称容量的信道参数。任意BMC W的截止速率由下式定义:
Figure BDA0003515204390000032
结果是,只有当使用单个顺序解码器来解码代码时,R0(W)才是对顺序解码的截止速率的限制。如果解码问题被分成几个较小的解码问题,并且单独的顺序解码器被分配给各个较小的解码问题,则新方案的截止速率不再受R0(W)限制,如【ARI2006】所示。如【ARI2016】中详细讨论的,极化编码被开发为广义级联编码(Generalized ConcatenatedCoding,GCC)方案(参见下面对GCC方案的描述)中的内码,该方案采用了多个外卷积码,该多个外卷积码具有同样多的顺序解码器。这种GCC方案将BMC W的N个独立副本的截止速率从NR0(W)提高到
Figure BDA0003515204390000033
此外,由于信道极化现象,归一化的和截止速率
Figure BDA0003515204390000034
随着N变大而接近对称容量I(W)。因此,GCC方案是容量实现方案,但是它太复杂而不实用。另一方面,信道极化还意味着,随着N变大,GCC方案可以通过消除外卷积码和顺序解码器而大大简化。对于足够大的N,接近位信道
Figure BDA0003515204390000041
的NI(W)使其对称容量
Figure BDA0003515204390000042
如此接近1,以致可以以高可靠性支持在这些位信道上的未编码传输。剩余位信道的对称容量的总和是总对称容量NI(W)的可忽略部分,因此可以将剩余位信道的输入固定为0而不引起任何显著的容量损失,同时还确保解码器不会对这些位信道做出任何判定错误。在GCC方案以这种方式剥去其外编码器和解码器之后得到的是独立的极化码。不幸的是,独立的极化码没有强到足以在信道编码中与现有技术竞争。随后提出了几种方法来增强极化码性能。现在我们将回顾这些现有技术方法中看起来与当前最相关的一些内容。
级联编码。一种被证明在提高极化编码性能方面非常有效的方法是级联编码,它是一种串联组合两个或多个码以便创建更强大的码的方法。级联编码的思想可以追溯到伊莱亚斯(Elias)的乘积编码方法【ELI1954】。关于级联编码的开创性著作是福尼(Forney)的专著【FOR1966】。在福尼的级联方案中,源数据块首先由外编码器编码成来自外码的外码字,并且外码字由内编码器编码成来自内码的内码字。参考文献【SEI2010】、【SEI2013】、【TRI2013】、【TAL2015】、【HUA2016】、【WAN2016】、【CHE2017】、【WUX2018】和【ZHA2018】采用了以极化码作为内码和各种奇偶校验码作为外码的级联编码。特别地,使用速率接近1的简单循环冗余校验(Cyclic Redundancy Check,CRC)码作为外码的【TAL2015】中的方案已经证明在将极化码性能提高到极化码被采用作为3GPP NR标准【3GP2018】、【BIO2018】的一部分的程度方面非常有效。【TAL2015】中的解码器将列表解码与连续消除解码组合,并且通常被称为CRC辅助连续消除列表(CRC-aided Successive Cancellation List,CA-SCL)解码器。
级联编码方案的总速率由R=RoutRin给出,其中,Rout和Rin分别是外码和内码的速率。因此,在任何级联编码系统中,必须具有Rout≥R和Rin≥R两者。注意,具有Rout=1或Rin=1的级联编码方案是极端情况,其中,外码或内码基本上不存在。在普通的级联编码方案中,具有Rout>R和Rin>R,并且现有技术中的所有级联极化编码系统被设计成在体系Rout>R和Rin>R中运算。具有Rin>R对应于在速率R下解决比原始编码问题更艰巨的编码问题,这可能增加内解码器的复杂度(正如SCL解码器比SC解码器更复杂)。当前原理的目的是避免由普通级联编码引起的速率膨胀Rin>R。为此,当前原理在其优选实施例中的目的在于作为具有Rout=R和Rin=1的级联编码的极端形式来运算。
广义级联编码(GCC)。用于提高极化码的性能的第二种方法是GCC方法,其由布洛赫(Blokh)和吉伯洛(Zyablov)【BLO1974】通过允许多个外编码器和解码器开发为福尼的级联编码方案的广义化。(实际上,如我们上面所看到的,极化码最初是作为GCC方案的一部分而开发的。)在典型的GCC方案中,源数据首先编码成二进制符号的二维阵列U=(Uj,m),1≤j≤J,1≤m≤M,使得U的第j行是长度M的第j个外码中的码字(所有外码具有共同的M)。根据一些设计度量(例如互信息量或在接收器侧的第j个解码器可用的截止速率)来选择第j个外码的速率Rj【WAC1999】。然后通过使用块长度N和速率J/N的内码对U的各列进行编码,来将阵列U编码成码字阵列X=(Xi,m),1≤i≤N,1≤m≤M。GCC系统中的解码器分成两个功能模块:由内解码器的副本(X的每列一个)构成的内解码器模块和由J个外解码器(U的每行一个)构成的外解码器模块。内和外解码器模块交换信息,以便以协调的方式执行解码任务,通常采用如【IMA1977】中的多级解码方案。GCC编码的基本思想是通过由码的二维结构实现的交织运算向外码呈现无记忆信道,这是一种回到乘积编码的思想【ELI1954】。
在极化码的上下文中研究GCC的论文的示例是【ARI2009d】、【BAK2010】、【TRI2011】、【MAH2014】和【WAN2015】。在这些参考文献中,内码是极化码,而外码的类型变化。GCC的主要缺点是其高复杂度。GCC方案中的各个外码以不同的速率运算,并且需要为该码率定制的单独的解码器。此外,GCC将整个代码的长度从用于独立内码的N增加到GCC方案中的MN,这进一步增加了整个系统的复杂度。当前的目的是避免由GCC方案引起的长度膨胀和伴随其的复杂度损失。
解码方法。现有技术中的第三著作主体的目的在于通过使用比SC解码更强大的解码算法来提高极化码的性能,SC解码是用于极化码的基准解码算法。对于这样的解码算法的统一处理,将极化码的解码视为树搜索问题是有益的,在树搜索问题中,目标是找到码树中的路径,该路径在给定信道输出的情况下最可能是传输路径。树搜索视点为使用树搜索算法作为可以以树的形式表示的代码的解码器铺平了道路。实际上,一些用于极化码的公知解码器可以与特定的树搜索算法相关联。例如,SC解码器是没有回溯的深度优先树搜索算法。SCL解码器是称为束搜索的宽度优先搜索算法(参见第84页,【WIN1984】)。顺序解码算法是具有回溯的深度优先搜索算法。(顺序解码由【NIU2012】、【TRI2017】和【JEO2019】应用于极化码。)
当前原理。回顾了现有技术,我们现在陈述当前原理的一些基本特征。当前原理认识到,为了提高极化编码的性能,某种形式的级联是必要的。为此,当前引入了一种称为三角分解(Triangular Factorization,TF)码的新类别的线性块码。TF码的编码运算类似于极化码的编码运算。在TF编码中,SDB
Figure BDA0003515204390000051
通过矩阵乘法x=vG映射到TCB
Figure BDA0003515204390000052
其中,
Figure BDA0003515204390000053
是具有非平凡三角分解的任意矩阵,并且
Figure BDA0003515204390000054
是包括数据部分
Figure BDA0003515204390000055
和冻结部分
Figure BDA0003515204390000056
的向量。通过非平凡三角分解,我们指的是例如形式为G=GoutGin的分解,其中,Gout是上三角矩阵,并且Gin是下三角矩阵。在TF编码中,Gin的角色是通过收集全局信道信息来创建信道极化,并且Gout的角色是创建可使用树搜索算法来解码的树码。这里的动机是通过向树搜索算法呈现比原始信道信息更可靠的极化信道信息来帮助树搜索算法。
TF码的构造的关键部分是数据索引集
Figure BDA0003515204390000061
的选择,其调节新信息进入到TF编码器的流率。当前原理提出了一种框架,其使得可以选择数据索引集
Figure BDA0003515204390000062
以便将TF编码器的信息摄入与从内解码器可获得的信道信息相匹配,从而减轻在由顺序解码器解码外树码的过程中的信息瓶颈。
与现有技术的比较。如上所述,TF码的目的在于作为具有Rout=R和Rin=1的级联编码的极端形式来运算,并且在其优选实施例中接近实现这一点。TF编码不依赖于内码的纠错能力。TF编码中内码的角色是产生极化,使得外码可以更高效地解码。相反,本部分中回顾的所有级联或广义级联编码方案依赖于内码的纠错能力。
在著作【NIU2012】、【TRI2017】和【JEO2019】中,顺序解码与极化码一起使用,但是在解码极化码中。当前原理在其最优选实施例中使用顺序解码器来解码外树码,其中速率1的内极化码充当信道极化器。与关于利用内极化码的级联编码方案的现有技术不同,当前原理使用内极化码不是为了纠错目的,而是作为创建极化的手段,使得顺序解码器(或一些其它树搜索启发法)可以更高效地搜索外树码。
在当前原理的详细描述之后,下面将提供关于当前原理的新颖性和实用性的另外证据。仿真研究将示出根据当前原理构造的码能够大幅提高现有技术方案在极化编码上的FER性能。
最后,我们应该指出,在与当前原理无关的意义上,在文献中已经使用了术语卷积极化编码。在【FER2017】中,通过用新型内核替换标准极化码的内核来定义新型极化码,并且将得到的代码称为卷积极化码。当前原理使用常规极化编码内核。
参考文献:
【3GP2018】3GPP的“3GPP TS 38.212:‘Multiplexing and channel coding(Release 15)’”3GPP,2018年6月。
【ARI2006】E.Arikan的“Channel combining and splitting for cutoff rateimprovement”IEEE Transactions on Information Theory,第52卷,第2期,第628–639页,2006年2月。
【ARI2008】E.Arikan的“A Performance Comparison of Polar Codes and Reed-Muller Codes”IEEE Communications Letters,第12卷,第6期,第447–449页,2008年6月。
【ARI2009】E.
Figure BDA0003515204390000063
的“Channel Polarization:A Method for ConstructingCapacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels”IEEETransactions on Information Theory,第55卷,第7期,第3051–3073页,2009年7月。
【ARI2009b】E.
Figure BDA0003515204390000071
和E.Telatar的“On the rate of channel polarization”in IEEE International Symposium on Information Theory,2009.ISIT 2009,2009年,第1493–1495页。
【ARI2009c】E.Arikan、H.Kim、G.Markarian、U.Ozgur、以及E.Poyraz的“Performance of short polar codes under ML decoding”in Proc.ICT-Mobile Summit2009,Santander,Spain.,2009年。
【ARI2009d】E.Arikan和G.Markarian的“Two-dimensional polar coding”inProc.Tenth International Symposium on Coding Theory and Applications(ISCTA’09),Ambleside,UK,2009年。
【ARI2016】E.
Figure BDA0003515204390000072
的“On the Origin of Polar Coding”IEEE Journal onSelected Areas in Communications,第34卷,第2期,第209–223页,2016年2月。
【BAK2010】M.Bakshi、S.Jaggi、以及M.Effros的“Concatenated Polar codes”in2010IEEE International Symposium on Information Theory Proceedings(ISIT),2010年,第918–922页。
【BIO2018】V.Bioglio、C.Condo、以及I.Land的“Design of Polar Codes in 5GNew Radio”arXiv:1804.04389【cs,math】,2018年4月。
【BLO1974】Blokh,E.L.和Zyablov,V.V.的“Coding of GeneralizedConcatenated Codes”Problems Inform.Transmission,第10卷,第3期,第218–222页,1974年。
【CHE2017】J.Chen,Y.Chen、K.Jayasinghe,D.Du、以及J.Tan的“Distributing CRCBits to Aid Polar Decoding”in 2017IEEE Globecom Workshops(GC Wkshps),2017年,第1–6页。
【ELI1954】P.Elias的“Error-free Coding”Transactions of the IREProfessional Group on Information Theory,第4卷,第4期,第29–37页,1954年9月。
【FAN1963】R.Fano的“A heuristic discussion of probabilistic decoding,”IEEE Transactions on Information Theory,第9卷,第2期,第64–74页,1963年4月。
【FER2017】A.J.Ferris、C.Hirche、以及D.Poulin,的“Convolutional PolarCodes”arXiv:1704.00715【cs,math】,2017年4月。
【FOR1966】G.D.Forney Jr的Concatenated Codes,The MIT Press,1966年。
【HUA2016】Huawei HiSilicon的“Details of the polar code design”Reno,USA,R1-1611254,2016年11月。
【IMA1977】H.Imai和S.Hirakawa的“A new multilevel coding method usingerror-correcting codes,”IEEE Transactions on Information Theory,第23卷,第3期,第371–377页,1977年5月。
【JAC1967】I.Jacobs和E.Berlekamp的“A lower bound to the distribution ofcomputation for sequential decoding”IEEE Transactions on Information Theory,第13卷,第2期,第167–174页,1967年4月。
【JEL1969】F.Jelinek的“Fast Sequential Decoding Algorithm Using aStack”IBM Journal of Research and Development,第13卷,第6期,第675–685页,1969年11月。
【JEO2019】M.-O.Jeong和S.-N.Hong的“SC-Fano Decoding of Polar Codes”arXiv:1901.06791【cs,eess,math】,2019年1月。
【MAH2014】H.Mahdavifar、M.El-Khamy、J.Lee、以及I.Kang的“PerformanceLimits and Practical Decoding of Interleaved Reed-Solomon Polar ConcatenatedCodes”IEEE Transactions on Communications,第62卷,第5期,第1406–1417页,2014年5月。
【NIU2012】K.Niu和K.Chen的“Stack decoding of polar codes”ElectronicsLetters,第48卷,第12期,第695–697页,2012年。
【PED2011】R.Pedarsani、S.H.Hassani、I.Tal、以及E.Telatar的“On theconstruction of polar codes”in 2011IEEE International Symposium onInformation Theory Proceedings(ISIT),2011年,第11–15页。
【SEI2010】M.Seidl和J.B.Huber的“Improving successive cancellationdecoding of polar codes by usage of inner block codes,”in 2010 6thInternational Symposium on Turbo Codes and Iterative Information Processing(ISTC),2010年,第103–106页。
【SEI2013】M.Seidl和J.B.Huber的“An efficient length-and rate-preservingconcatenation of polar and repetition codes”arXiv:1312.2785【cs,math】,2013年12月。
【TAL2013】I.Tal和A.Vardy的“How to Construct Polar Codes”IEEETransactions on Information Theory,第59卷,第10期,第6562–6582页,2013年10月。
【TAL2015】I.Tal和A.Vardy的“List Decoding of Polar Codes”IEEETransactions on Information Theory,第61卷,第5期,第2213–2226页,2015年5月。
【TRI2011】P.Trifonov和P.Semenov的“Generalized concatenated codes basedon polar codes,”in 2011 8th International Symposium on Wireless CommunicationSystems(ISWCS),2011年,第442–446页。
【TRI2013】P.Trifonov和V.Miloslavskaya的“Polar Codes with DynamicFrozen Symbols and Their Decoding by Directed Search”arXiv e-print 1307.2352,2013年7月。
【TRI2017】P.Trifonov、V.Miloslavskaya、以及R.Morozov的“Fast SequentialDecoding of Polar Codes”arXiv:1703.06592【cs,math】,2017年3月。
【WAC1999】U.Wachsmann、R.F.H.Fischer、以及J.B.Huber的“Multilevel codes:theoretical concepts and practical design rules”IEEE Transactions onInformation Theory,第45卷,第5期,第1361–1391页,1999年7月。
【WAN2015】Y.Wang、K.R.Narayanan、以及Y.C.Huang的“InterleavedConcatenations of Polar Codes with BCH and Convolutional Codes”IEEE Journalon Selected Areas in Communications,第PP卷,第99期,第1–1页,2015年。
【WAN2016】T.Wang、D.Qu、以及T.Jiang的“Parity-Check-Concatenated PolarCodes”IEEE Communications Letters,第20卷,第12期,第2342–2345页,2016年12月。
【WIN1984】P.H.Winston的Artifical Intelligence,2nd ed.Addison-Wesley,Reading MA,1984年。
【WOZ1961】J.M.Wozencraft和B.Reiffen的Sequential Decoding.MIT Press:Cambridge,Mass.,1961年。
【ZHA2018】H.Zhang等人的“Parity-Check Polar Coding for 5G and Beyond”in2018IEEE International Conference on Communications(ICC),2018年,第1–7页。
【ZIG1966】Zigangirov,K.Sh.的“Some Sequential Decoding Procedures”Problems Inform.Transmission,第2卷,第4期,第1–10页,1966年。
以引证的方式将上述出版物并入本文。
发明内容
一种用于在通信系统中可靠传送源数据块d的编码器装置,包括:外变换,其被配置成接收数据容器块v并计算外变换块u,由此,对于外变换矩阵Gout,u=vGout。编码器装置还包括内变换,其被配置成接收外变换块u并计算发送码块x,由此,对于内变换矩阵Gin,x=uGin。数据容器块v从源数据块d和冻结数据块a获得。冻结数据块a是预定的符号块。外变换矩阵Gout和内变换矩阵Gin形成变换矩阵G的三角分解,由此,G=GoutGin。变换矩阵G是非三角矩阵。外变换矩阵Gout可选地是严格的上三角矩阵。内变换矩阵Gin可选地是严格的下三角矩阵。外变换矩阵Gout可选地是由因果脉冲响应c=(c0,c1,…,cm)定义的托普利兹矩阵,其中,m>0,c0≠0,并且cm≠0。内变换矩阵Gin可选地具有克罗内克乘积
Figure BDA0003515204390000091
的形式,其中,Li是各个i=1,…,n的下三角矩阵,其中,对于各个i=1,…,n,Li可以等于
Figure BDA0003515204390000092
数据容器块可选地在由数据索引集
Figure BDA0003515204390000093
指示的坐标的子集中透明地携带源数据块d,并且在与数据索引集
Figure BDA0003515204390000094
互补的坐标中携带冻结数据块a。数据索引集
Figure BDA0003515204390000095
可以由根据得分函数对坐标进行排序的准则来选择。得分函数可以是汉明(Hamming)得分函数。
一种解码器装置,对接收码块进行解码,接收码块表示发送码块的噪声版本,发送码块通过由预定编码器对源数据块进行编码而获得,预定编码器包括:外变换,其被配置成接收数据容器块v并计算外变换块u,由此,对于外变换矩阵Gout,u=vGout;和内变换,其被配置成接收外变换块u并计算发送码块x,由此,对于内变换矩阵Gin,x=uGin,并且其中,数据容器块v从源数据块d和冻结数据块a获得,冻结数据块a是预定的符号块,其中,外变换矩阵Gout和内变换矩阵Gin形成变换矩阵G的三角分解,由此,G=GoutGin,并且变换矩阵G是非三角矩阵。解码器装置包括内解码器和外解码器。内解码器被配置成接收所接收码块,从外解码器接收节点度量请求,并且将所计算的节点度量发送到外解码器。外解码器被配置成将节点度量请求发送到内解码器,从内解码器接收计算的节点度量,并且计算解码的数据容器块。解码器装置还被配置成从解码的数据容器块提取解码的源数据块。内解码器可选地根据用于极化码的连续消除解码器生成节点度量值。外解码器可选地通过使用节点度量使用树搜索算法来计算解码的数据容器块。树搜索算法可以是深度优先的树搜索算法。节点度量可以是费诺度量。
附图说明
图1是根据本发明实施例的采用纠错编码的通信系统的功能框图;
图2是根据本发明实施例的采用三角分解的通信系统的功能框图;
图3是用于实现与图2的系统一起使用的示例性硬件数据插入器的电路;
图4是用于以软件实现与图2的系统一起使用的示例性数据插入器的伪代码;
图5是根据本发明实施例的在采用纠错编码的通信系统中使用的示例性外变换;
图6是根据本发明实施例的在采用纠错编码的通信系统中使用的示例性极化变换电路;
图7是根据本发明实施例的在采用纠错编码的通信系统中使用的堆栈解码器的流程图;
图8A是示出了说明在极化编码方面本发明原理相对于现有技术的性能优点的仿真结果的图;
图8B是比较本发明原理和现有技术的信息和速率分配轮廓的图;
图9例示了根据本发明的其中可以实现纠错编码的示例无线网络;
图10A例示了根据本发明的其中可以实现纠错编码的示例用户设备网络;以及
图10B例示了根据本发明的其中可以实现纠错编码的示例增强节点B(enhancedNodeB,eNB)网络。
具体实施方式
下面讨论的图1至图10B以及在本专利文献中用于描述本发明的原理的各种实施例仅仅是作为例示,而不应以任何方式被解释为限制本发明的范围。本领域技术人员应当理解,本发明的原理可以在任何适当布置的通信系统中实现。
符号。对于任何集合
Figure BDA0003515204390000111
和整数m≥1,
Figure BDA0003515204390000112
表示
Figure BDA0003515204390000113
上的m元组的集合。如果
Figure BDA0003515204390000114
Figure BDA0003515204390000115
并且i,j是满足1≤i≤j≤m的整数,我们将使用符号
Figure BDA0003515204390000116
作为由从i到j的坐标构成的a的部分(ai,ai+1,…,aj)的简写。如果j<i,我们将把
Figure BDA0003515204390000117
解释为空。给定
Figure BDA0003515204390000118
Figure BDA0003515204390000119
以及a的索引(坐标)的任何集合
Figure BDA00035152043900001110
我们使用符号
Figure BDA00035152043900001111
来表示由具有
Figure BDA00035152043900001112
中的索引的a的元素构成的元组
Figure BDA00035152043900001113
符号
Figure BDA00035152043900001114
表示由具有
Figure BDA00035152043900001115
中的索引的a的元素构成的向量,其中,
Figure BDA00035152043900001116
表示与集合
Figure BDA00035152043900001117
互补的a的索引的集合。例如,使m=8,并且
Figure BDA00035152043900001118
那么,
Figure BDA00035152043900001119
并且
Figure BDA00035152043900001120
(我们定义
Figure BDA00035152043900001121
使得
Figure BDA00035152043900001122
不取决于
Figure BDA00035152043900001123
的元素列出的顺序;例如,对于
Figure BDA00035152043900001124
)
我们将考虑在以q为素数幂的任意有限域
Figure BDA00035152043900001125
上的矩阵。符号
Figure BDA00035152043900001126
表示具有来自
Figure BDA00035152043900001127
的元素的所有m*n矩阵的集合。因此,
Figure BDA00035152043900001128
指示A是具有m行和n列的矩阵。当我们需要提到
Figure BDA00035152043900001129
的元素时,对于1≤i≤m,1≤j≤n,我们使用符号ai,j来表示在A的第i行和第j列中的元素。如果P是在每行和每列中正好具有一个1的0-1矩阵,则矩阵
Figure BDA00035152043900001130
被称为置换矩阵。如果对于所有1≤i<j≤n,ai,j=0,则矩阵
Figure BDA00035152043900001131
被称为下三角的。如果对于所有1≤j<i≤n,ai,j=0,则矩阵
Figure BDA00035152043900001132
被称为上三角的。如果对于所有i≠j,ai,j=0,则矩阵A被称为对角的。对角线上具有1的对角矩阵被称为单位矩阵并表示为I。如果存在矩阵
Figure BDA00035152043900001133
(称为A的逆),使得AB=BA=I,则矩阵
Figure BDA00035152043900001134
被称为非奇的或可逆的。如果存在,则A的逆表示为A-1。如果A是上三角矩阵并且对于j≥i,ai,j=cj-i(即,如果A具有以下形式),则矩阵
Figure BDA00035152043900001135
被称为具有脉冲响应
Figure BDA00035152043900001136
的上三角托普利兹:
Figure BDA00035152043900001137
两个矩阵
Figure BDA00035152043900001138
Figure BDA00035152043900001139
的克罗内克乘积被定义为矩阵:
Figure BDA0003515204390000121
矩阵A的第n个克罗内克幂
Figure BDA0003515204390000122
被归纳地定义为
Figure BDA0003515204390000123
并且对于n≥2,定义为
Figure BDA0003515204390000124
Figure BDA0003515204390000125
首先转到图1,示出了可以使用本发明原理的实施例的通信系统100。通信系统100从源接收源数据块(SDB)d,并将其作为解码的源数据块(Decoded Source Data Block,DSDB)
Figure BDA0003515204390000126
输送到目的地。(源和目的地在图中未示出,并且落在本发明原理的范围之外)。当DSDB
Figure BDA0003515204390000127
与SDB d不完全匹配时(即当
Figure BDA0003515204390000128
时),认为发生帧错误。通信系统100的性能准则是误帧率(FER),其定义为判定错误概率
Figure BDA0003515204390000129
通常优选的是在信道带宽、设备成本、系统时延、数据吞吐量等的约束下使通信系统100具有尽可能小的FER。通信系统100包括位于发送器侧的编码器110、将发送器侧连接到接收器侧的信道120、以及接收器侧的解码器130。通信系统100中的编码器110接收SDB d并将其编码成发送码块(TCB)x。信道120包括信道输入和信道输出。编码器110将TCB x应用于信道输入。信道接收应用到信道输入的TCBx,并且作为响应在信道输出处产生接收码块(Received Code Block,RCB)y。解码器130从信道输出接收RCB y,并处理RCB y,以产生DSDB
Figure BDA00035152043900001210
对于本领域技术人员来说将明了的是,信道120结合有许多功能块(例如调制器、数模转换器、功率放大器、发送和接收天线、信号获取和同步电路、模数转换器、解调器),这些功能块对于通信系统的操作是必要的。本发明原理主要关于编码器110和解码器130的设计。
我们将SDB表示为向量d=(d1,d2,…,dK),其中,K是源块长度。同样,我们将DSDB表示为向量
Figure BDA00035152043900001211
通常,SDB d和DSDB
Figure BDA00035152043900001212
都将是公共字母表上的向量。我们将TCB表示为向量x=(x1,x2,…,xN),其中,N是码块长度。在编码器110将SDB d编码成TCB x之后,通过N次连续使用信道120在信道120上发送TCB x,并且信道以特定概率产生RCB y=(y1,y2,…,yN)。
为了分析通信系统100,我们将使用概率设置,并将系统中的各种信号建模为随机信号的样本。特别地,我们将SDB d、TCB x、RCB y和DSDB
Figure BDA00035152043900001213
分别视为D、X、Y和
Figure BDA00035152043900001214
的样本,并且使用标准符号来表示它们的联合概率和条件概率。例如,PD,Y(d,y)将表示D=d和Y=y的概率,并且PY|D(y|d)将表示给定D=d时的Y=y的条件概率。除非另有说明,否则我们将假设PD(d)是SDB d的可能值范围内的均匀分布。
使用概率设置,使用公式
Figure BDA0003515204390000131
计算通信系统100的FER
Figure BDA0003515204390000132
如果给出编码器110和信道120,则FER取决于解码器130。一种重要类型的解码器是最大似然(ML)解码器,其将DSDB
Figure BDA0003515204390000133
设置为使PY|D(y|d′)最大化的值d′。在PD(d)均匀的假设下,ML解码器使FER最小化。通常,ML解码器太复杂而不能实施;它们主要用作用于评估其它更实际的解码器的最佳可实现性能的基准。
一个重要的信道模型是离散无记忆信道(Discrete Memoryless Channel,DMC)模型。DMC由其针对x∈X、y∈Y的输入字母表X、输出字母表Y和转移概率W(y|x)表征。转移概率W(y|x)是假定在信道输入处发送x∈X时在信道输出处接收y∈Y的条件概率。DMC在以下意义上是无记忆的:在假定发送输入块x=(x1,x2,…,xN)∈XN时接收输出块y=(y1,y2,…,yN)∈YN的条件概率由乘积形式表达式
Figure BDA0003515204390000134
给出。下面,我们将把注意力限制在具有X=Fq的DMC模型上,其中q=2是最重要的情况。注意,信道120的DMC信道模型通过等式PY|X(y|x)=WN(y|x)定义了通信系统100的概率模型的一部分。
我们将使用术语“代码”来指代从SBD d到TCB x的映射d→x。编码器110和解码器130设计成对特定码进行编码和解码。现有技术中有许多类型的码,例如卷积码和极化码。本发明引入被称为三角分解(TF)码的新的码族。TF码将作为我们现在定义的更宽泛码族的子类引入。
变换码。有限域
Figure BDA0003515204390000135
上的变换码是由变换矩阵
Figure BDA0003515204390000136
数据索引集
Figure BDA0003515204390000137
和冻结数据块(FDB)
Figure BDA0003515204390000138
表征的代码,其中,N是码块长度,K是源块长度,数据索引集
Figure BDA0003515204390000139
是具有基数
Figure BDA00035152043900001310
的{1,2,…,N}的子集,并且FDBa是固定但任意的向量。在下面,
Figure BDA00035152043900001311
将表示数据索引集
Figure BDA00035152043900001312
在{1,2,…,N}中的补集。用于具有参数
Figure BDA00035152043900001313
的变换码的编码器将SDB
Figure BDA00035152043900001314
映射到TCB
Figure BDA00035152043900001315
由此,x=vG,其中,
Figure BDA00035152043900001316
是包括数据部分
Figure BDA00035152043900001317
和冻结部分
Figure BDA00035152043900001318
的数据容器块(DCB)。用于变换码的解码任务是基于RCB y和FDB a的知识来估计SDB d。
对变换码的解码可以认为由两个步骤构成。第一步骤是通过处理RCB y产生DDCB
Figure BDA00035152043900001319
第二步骤是通过设置
Figure BDA00035152043900001320
得到
Figure BDA00035152043900001321
(这两个步骤在实现解码器时可以同时执行,以节省时间并降低设备复杂度。)用于变换码的ML解码器可以通过计算DDCB
Figure BDA00035152043900001322
来执行上述过程的第一步骤,该计算通过在服从约束
Figure BDA0003515204390000141
Figure BDA0003515204390000142
内最大化PY|V(y|v)来进行。
与极化码的关系。极化编码领域的技术人员将清楚的是,极化码是变换码的子类。特别地,
Figure BDA0003515204390000143
上的标准极化码是具有参数
Figure BDA0003515204390000144
的变换码,其中,
Figure BDA0003515204390000145
其中
Figure BDA0003515204390000146
Figure BDA0003515204390000147
相对于信息理论准则(例如互信息)来选择,并且a通常设置为全零向量0。
与线性码的关系。FDB a是全零向量a=0的具有参数
Figure BDA0003515204390000148
的变换码简化成线性码,该线性码是现有技术中非常广泛且公知的一类代码。对于线性码,SDB d和TCB x通过用于生成矩阵
Figure BDA0003515204390000149
的x=dG′来相关。与变换码
Figure BDA00035152043900001410
相对应的线性码的生成矩阵G′由
Figure BDA00035152043900001411
给出,其中,
Figure BDA00035152043900001412
被定义为通过对于各个
Figure BDA00035152043900001413
删除G的第i行而从G获得的矩阵。通常,由变换码
Figure BDA00035152043900001414
定义的编码器映射具有形式x=dG′+b,其中,
Figure BDA00035152043900001415
并且
Figure BDA00035152043900001416
相反,给定具有生成矩阵G′的线性码,可以通过选择G作为任何矩阵使得
Figure BDA00035152043900001417
来构造等效变换码
Figure BDA00035152043900001418
复杂度考虑。我们注意到,使用用于变换码的编码器来实现对等效线性码的编码可以显著地降低编码复杂度。对于给定线性码的映射x=dG′(作为向量-矩阵乘积)的直接实现可能比计算等效变换x=vG更复杂,其中,
Figure BDA00035152043900001419
并且
Figure BDA00035152043900001420
虽然G′可能缺少可在计算x=dG′中利用的任何结构,但是可以通过使用在参数
Figure BDA00035152043900001421
Figure BDA00035152043900001422
的选择中可用的额外自由度来将计算上有用的结构构建成变换矩阵G。例如,在具有
Figure BDA00035152043900001423
的标准极化码的情况下,计算变换x=vG的复杂度是O(N log N),而不利用G中的结构的
Figure BDA00035152043900001424
的计算采取O(NK)个步骤,这可能显著地高于O(N log N)。本发明原理的目的在于找到变换码
Figure BDA00035152043900001425
其可以通过在变换矩阵G中利用专门设计的结构同时提供优于现有技术中的可比维度的代码的性能优点来以低复杂度编码和解码。本发明原理利用矩阵的三角分解来实现这些目标。
三角分解。矩阵的三角分解是在任何领域在线性代数中的已知主题。我们在这里关注变换码的生成矩阵G的三角分解。我们将陈述关于这种分解的多个事实而不予证明。(对于证明,我们参考R.A.Horn和C.R.Johnson的书籍“Matrix Analysis,剑桥大学出版社,1985年”的章节3.5)。
给定具有生成矩阵
Figure BDA00035152043900001426
(奇异或非奇异)的变换码,存在上三角矩阵
Figure BDA00035152043900001427
下三角矩阵
Figure BDA00035152043900001428
和置换矩阵
Figure BDA00035152043900001429
Figure BDA00035152043900001430
使得G=PULQ。如果G是非奇异的,则存在形式G=UDL的唯一分解,使得
Figure BDA0003515204390000151
是对角线上具有1s的上三角矩阵,
Figure BDA0003515204390000152
是对角线上具有1s的下三角矩阵,并且
Figure BDA0003515204390000153
是具有非零对角线项的对角矩阵。特别地,如果G属于
Figure BDA0003515204390000154
(二进制情况)并且是非奇异的,则存在唯一分解G=UL,其中,
Figure BDA0003515204390000155
是上三角矩阵(对角线上具有1s),并且
Figure BDA0003515204390000156
是下三角矩阵(对角线上具有1s)。
线性代数中使用三角分解作为求解线性方程组的高效方法。本发明原理将三角分解方法用于纠错编码领域。在下文中,当Gout、Gin和G通过形式G=GoutGin的三角分解而相关时,我们将使用术语具有参数
Figure BDA0003515204390000157
的三角分解(TF)码作为更具体的方式来指代变换码
Figure BDA0003515204390000158
变换码
Figure BDA0003515204390000159
的变换矩阵的各个三角分解G=GoutGin将定义对应的三角分解码。三角分解主要作为用于在通信系统中实现编码或解码功能的模板而受到关注。本发明原理的目标是设计具有三角分解G=GoutGin的变换矩阵G,使得所得到的变换码提供足够可靠的数据传输,同时具有利用设计成Gout和Gin的特殊结构的低复杂度编码和解码过程。本发明原理在其优选实施例中将说明如何实现这一点。
转到图2,我们看到示出TF编码系统200的框图,其中,TF编码系统200是通信系统100对TF码
Figure BDA00035152043900001510
的编码和解码的适应,其中,Gout是外变换矩阵,Gin是内变换矩阵,
Figure BDA00035152043900001511
是数据选择器集合,并且a是固定数据块(Fixed Data Block,FDB)。TF编码系统200包括TF编码器210、信道120(与图1中的相同)和TF解码器230。TF编码器210包括数据插入器211、外变换12和内变换213,其中,数据插入器211接收SDB d并生成数据容器块(DCB)v,使得
Figure BDA00035152043900001512
并且
Figure BDA00035152043900001513
外变换212接收DCB v,并生成外变换块(Outer Transform Block,OTB)u,由此,u=v Gout。内变换213接收OTB u并生成TCB x,由此,x=u Gin。TF编码器210将TCBx发送到信道120。信道120接收TCB x,并且作为响应,在信道输出处产生接收码块(RCB)y。TF解码器230包括内解码器231、外解码器232和数据提取器233。TF解码器230从信道输出接收RCB y,并将其传递到内解码器231。内解码器231和外解码器232通过消息接口彼此交换消息。响应于由外解码器232通过消息接口发送的各个节点度量请求,内解码器231计算节点度量,并且通过消息接口将节点度量发送到外解码器232。各个节点度量是多个变量的函数,该多个变量包括节点标识符和RCB y。外解码器232接收由内解码器231产生的节点度量,计算解码的数据容器块(DDCB)
Figure BDA00035152043900001514
并将
Figure BDA00035152043900001515
传递到数据提取器233。数据提取器233接收DDCB
Figure BDA00035152043900001516
并通过设置
Figure BDA00035152043900001517
提取DSDB
Figure BDA00035152043900001518
在设计良好的TF编码系统中,DSDB
Figure BDA00035152043900001519
是SDB d的具有高概率的精确副本。
TF编码系统200的重要方面是它的模块结构,在这个意义上它可以彼此独立地实现内解码器231和外解码器232。更确切地说,内解码器232可以独立于外变换Gout实现,而外解码器232可以独立于内变换Gin实现。在TF解码器230的实现中具有这种模块性是有利的,因为可以改变内变换或外变换而不必重新设计TF解码器230的所有部分。下面,我们将更详细地讨论TF编码系统200的各个部分,并为各个部分呈现示例性实施例。
图3示出了示例性数据插入器300,其中,示例性数据插入器300是针对特定情况N=8、
Figure BDA0003515204390000161
和a=(a1a2,a3,a4)实现数据插入器211的数字逻辑电路。因此,示例性数据插入器300从SDB d=(d1,d2,d3,d4)生成DCB v=(v1,v2,…,v8),使得v1=a1,v2=a2,v3=a3,v4=d1,v5=a4,v6=d2,v7=d3,并且v8=d4。示例性数据插入器300包括用于接收和存储SDB d的SDB寄存器301、用于存储FDB a的FDB寄存器302、以及用于形成和存储DCB v的DCB寄存器303。示例性数据插入器300的操作包括三个步骤。在第一步骤中,在时钟(图中未示出)的控制下将SDB d串行加载到SDB寄存器301中。在第二步骤中,将SDB d和FDB a从它们各自的寄存器301和302并行地加载到DCB寄存器303中。在第三步骤中,将DCB v串行移出DCB寄存器303。对于本领域技术人员来说将明了的是,存在许多其它的使用数字电路或存储程序计算机的、对应于给定的参数对
Figure BDA0003515204390000162
的数据插入器功能的替代实现方式。例如,在时延重要的情况下,可以使用并行逻辑运算来代替串行运算。
也可在通用处理器中实现数据插入器211,当期望数据插入器211可重新配置成参数
Figure BDA0003515204390000163
的不同设置时,这可能是更好的选择。转到图4,我们看到用于使用通用存储程序计算机来实现数据插入器211的示例性数据插入器算法400,其中,算法400是以伪代码编写的指令序列,并且可重新配置成利用任何给定的参数集
Figure BDA0003515204390000164
来运算,其中,N是码块长度,
Figure BDA0003515204390000165
是数据索引集,并且a是FDB。算法400接收SDB d作为输入,并产生DCB v作为输出,由此,
Figure BDA0003515204390000166
并且
Figure BDA0003515204390000167
本领域技术人员将不难按照示例性数据插入器算法400的逻辑在存储程序计算机上实现数据插入器211。
数据索引集
Figure BDA0003515204390000168
TF码的性能关键取决于数据索引集
Figure BDA0003515204390000169
的选择。由于数据索引集
Figure BDA00035152043900001610
的选择是一次性设计问题,所以寻找最优或接近最优的
Figure BDA00035152043900001611
的复杂度不是主要问题。然而,给定搜索空间的指数大小,对最佳数据索引集
Figure BDA00035152043900001612
的穷举搜索是不可行的。本发明原理可以与用于选择数据索引集
Figure BDA00035152043900001613
的任何方法一起使用;然而,构造数据索引集
Figure BDA00035152043900001614
的优选方法是得分函数方法。
得分函数。令
Figure BDA00035152043900001615
是作为数据索引集容许的集,即,令
Figure BDA00035152043900001616
使得
Figure BDA00035152043900001617
并且
Figure BDA00035152043900001618
Figure BDA00035152043900001619
相关联的得分函数是向各个索引i∈{1,2,…,N}分配实数(得分)的任何函数
Figure BDA00035152043900001620
(实数)。在得分函数方法中,数据索引集被选择为容许的
Figure BDA00035152043900001621
使得所有
Figure BDA00035152043900001622
上的
Figure BDA00035152043900001623
的最小值尽可能大。换言之,在得分函数方法中,我们试图解决最大值在所有容许
Figure BDA00035152043900001624
上的优化问题
Figure BDA00035152043900001625
下面定义的得分函数假设DCB v的坐标将在TF解码器230处以从1到N的自然顺序解码。如果在TF解码器230处采用某种其它的解码顺序,则本领域技术人员将不难对下面的得分函数进行适当的改变。
我们将考虑两种类型的得分函数:逐点的和窗口的。在现有技术中,逐点得分函数用于构造极化码和雷德穆勒(Reed-Muller)码。窗口得分函数是一种新颖的方法。两种类型的得分函数都可以与本发明原理结合使用,以改进现有技术。我们首先给出三个逐点得分函数的示例。
汉明得分函数被定义为
Figure BDA0003515204390000171
其中,wH是整数(下面定义)的汉明权重,并且
Figure BDA0003515204390000172
是集合
Figure BDA0003515204390000173
的指示函数(即,如果
Figure BDA0003515204390000174
Figure BDA0003515204390000175
并且如果
Figure BDA0003515204390000176
Figure BDA0003515204390000177
)。整数k≥0的汉明权重被定义为
Figure BDA0003515204390000178
其中,
Figure BDA0003515204390000179
是二进制表示
Figure BDA00035152043900001710
中的系数。例如,由于13=1+22+23,因此wH(13)=3。汉明得分函数具有独立于信道120的参数的特性。本领域技术人员将认识到,汉明得分函数产生用于具有
Figure BDA00035152043900001711
的变换码的特殊情况的雷德穆勒码。当
Figure BDA00035152043900001712
时,雷德穆勒码在给定速率的所有代码上具有最大可能的最小汉明距离。最小汉明距离是确定高信噪比下代码的FER性能的重要参数。在下面报告的仿真研究中,我们将看到汉明得分函数在其被用作本发明原理的一部分时,产生了在极化编码和雷德穆勒编码方面改进现有技术的FER性能。
互信息得分函数被定义为
Figure BDA00035152043900001713
其中,
Figure BDA00035152043900001714
在给定Vi-1时是Vi与Y之间的条件互信息。在此,Vi是对应于DCB v的第i个坐标的随机变量,Vi-1是与DCB v的初始段vi-1相关联的随机向量,Vi=(Vi-1,Vi),并且Y是对应于RCBy的随机向量。本领域技术人员将认识到,互信息得分函数产生用于具有
Figure BDA00035152043900001715
的变换码的特殊情况的标准极化码。
界洛格(Gallager)得分函数被定义为
Figure BDA00035152043900001716
其中,
Figure BDA00035152043900001717
其中,ρ>0是自由参数(对于ρ的各个值,我们具有不同的得分函数)。为了讨论界洛格函数及其特性的意义,我们参考R.Gallager的“A simple derivation of the codingtheorem and some applications”IEEE Transactions on Information Theory,第11卷,第1期,第3-18页,1965年1月”。函数Eρ(Y;Vi|Vi-1)是广义条件信息。随着ρ→0,我们具有Eρ(Y;Vi|Vi-1)→I(Y;Vi|Vi-1),因此界洛格得分函数包含互信息得分函数作为特殊情况。界洛格得分函数的另一个重要的特殊情况在ρ=1的情况下发生。我们具有E1(Y;Vi|Vi-1)=R0(Y;Vi|Vi-1),其中,R0(Y;Vi|Vi-1)是条件截止速率。界洛格得分函数随着ρ增加而更强调代码最小距离。
当外变换Gout是上三角非奇异矩阵时,便于上述得分函数的计算。在这种情况下,Gout的逆也是非奇异的且上三角的,并且DCB v的初始段vi和OTB u的初始段ui以一对一的方式彼此相关。因此,Eρ(Y;Vi|Vi-1)=Eρ(Y;Ui|Ui-1)。当内变换具有足够的结构时,例如当
Figure BDA0003515204390000181
(其中
Figure BDA0003515204390000182
)时,密度演进技术可用于高效地计算Eρ(Y;Ui|Ui-1)。
上述得分函数在
Figure BDA0003515204390000183
被定义为两个函数的差的意义上是逐点的,这两个函数是逐点资源函数q(i)和逐点速率函数
Figure BDA0003515204390000184
逐点资源值q(i)取决于在代码构造中使用的特定三角分解G=GoutGin,但独立于
Figure BDA0003515204390000185
逐点速率
Figure BDA0003515204390000186
仅取决于
Figure BDA0003515204390000187
Figure BDA0003515204390000188
可以被解释为可用资源(在时间i可用的信息)与需求(在时间i源数据位的传输)之间的差。我们选择
Figure BDA0003515204390000189
以便使资源短缺最小化。当顺序地对序列中的各个位一次性地进行判定(而没有回溯或向未来前瞻)时,逐点得分函数是有意义的。由于本发明原理是基于使用强大的树搜索算法作为外代码的一部分,因此逐点得分函数对于本发明原理是次优的。需要能够将得分与搜索算法的特性相匹配的得分函数。接下来引入的窗口得分函数用于此目的。
对于每个得分函数
Figure BDA00035152043900001810
我们将
Figure BDA00035152043900001811
的窗口版本定义为
Figure BDA00035152043900001812
Figure BDA00035152043900001813
其中,k≥0(固定整数)是滞后参数,m≥0(固定整数)是超前参数,并且wj>0(固定实数)是权重参数。我们通过对于i≤0或i>N设定
Figure BDA00035152043900001814
Figure BDA00035152043900001815
的定义扩展到所有整数。具有滞后k和超前m的窗口得分函数
Figure BDA00035152043900001816
的窗口长度被定义为k+m+1。当我们说到窗口得分函数时,我们隐含地假设窗口长度大于一。我们没有给出窗口长度可以有多大的上限。如果使用具有上三角托普利兹Gout的TF编码,则窗口长度可以与Gout的第一行的非零部分的跨度处于相同的量级。
具有窗口得分函数的索引集设计问题是找到容许的数据索引集
Figure BDA00035152043900001817
使得
Figure BDA00035152043900001818
在所有
Figure BDA00035152043900001819
上的最小值最大化的问题。
显然,窗口得分函数包含作为具有k=0、m=0以及wj=1的特殊情况的逐点得分函数。具有非零滞后和超前的动机是以下思想:配备有回溯机制的搜索方法将在当前搜索邻域中的可能选择的窗口内执行搜索。因此,用于选择数据索引集的算法应当注意在搜索窗口上而不是在特定判定点处保持模糊度(源不确定性减去信道信息)较小。
给出上述得分函数是为了说明数据索引集的选择是与极化编码中的优化问题显著不同的优化问题的一般思想。本领域技术人员将能够设计出其它得分函数来用于相同的目的。以上所呈现的示例性得分函数方法的所有这样的扩展都落入本发明的范围内。
外变换Gout。计算外变换u=vGout的复杂度针对一般矩阵
Figure BDA0003515204390000191
是O(N2),其在许多应用中是过于复杂的,即使对于N的中值也是如此。本发明原理认识到,通过对Gout加入结构来降低外变换的复杂度是重要的。为此,在本发明的优选实施例中,我们将Gout限制为上三角托普利兹(Toeplitz)矩阵,其由脉冲响应
Figure BDA0003515204390000192
表征,其中c0≠0,并且cm≠0,并且其中,m是满足1≤m≤N-1的整数。假设c0≠0确保了外变换矩阵Gout具有非零对角线项,这又确保了Gout是非奇异的。对于一些m≥1的假设cm≠0确保了Gout是严格上三角矩阵。通过使用严格上三角外变换矩阵Gout,我们保证了外变换212是非平凡的运算,这又确保了TF码在其优选实施例中不与现有技术中的某些其它代码(例如极化码)一致。上述条件下的示例性外变换矩阵是
Figure BDA0003515204390000193
其对应于脉冲响应c=(c0,c1,c2,c3)=(1,1,0,1)。当Gout被定义为具有脉冲响应c的上三角托普利兹矩阵时,外变换运算u=vGout可以表示为卷积,使得对于所有i=1,2,…,N,ui=c0vi+c1vi-1+…cjvi-j+…+cmvi-m,其中,如果i-j≤0,我们将vi-j解释为0。因此,外变换212可以被看作离散时间线性时不变滤波器;并且向量c可以被解释为线性时不变滤波器的脉冲响应(响应于输入v=(1,0,…,0))。本领域技术人员将知晓的是,存在许多实现对应于上三角托普利兹矩阵Gout的卷积运算的实用方法。
图5显示了示例性外变换电路500,其实现了用于特殊情况的变换u=vGout,其中,Gout是由脉冲响应c=(1,1,0,1)定义的上三角托普利兹矩阵。示例性外变换电路500包括串行输入端口501、移位寄存器502、模2加法器503、复位电路504和串行输出端口505。示例性外变换电路500使用时序逻辑,其需要额外信号(例如时钟和控制逻辑)。这些额外信号未在图5中示出,以免该图被不必要的细节混乱。本领域技术人员将不难提供缺失的细节。移位寄存器502包括串联连接的三个寄存器:第一寄存器502a、第二寄存器502b和第三寄存器502c。各个移位寄存器502a、502b、502c可以保持一位,该位是0或1。模二加法器503计算输入端口501处的逻辑信号、第一寄存器502a的输出和第三寄存器502c的输出的模2和(等效地,异或(XOR))。寄存器502b的输出处的逻辑信号被排除在模2和之外,因为c2=0。最初,随着第一时钟周期的上升沿,移位寄存器502的内容被复位电路504初始化为0,并且DCB v的第一位v1在串行输入端口501处表现为有效逻辑信号。随着第二时钟周期的上升沿,模2加法器503计算OTB u的第一位u1并在串行输出端口505处将其发送出,第一位v1被移位到第一寄存器502a中,第一寄存器502a的内容移动到第二寄存器502b中,第二寄存器502b的内容移动到第三寄存器502c中,且DCB v的第二位v2在串行输入端口501处表现为有效逻辑信号。因此,在第三时钟周期的上升沿之前,移位寄存器502的内容读取(v1,0,0),并且DCB v的第二位v2在串行输入端口501处可用于下一轮模2加。示例性外变换电路500的运算以这种方式继续,产生u1=v1、u2=v1+v2、u3=v2+v3、u4=v1+v3+v4、u5=v2+v4+v5、u6=v3+v5+v6、u7=v4+v6+v7以及u8=v5+v7+v8。例如,如果v=(1,1,0,0,1,0,1,1),则u=(1,0,1,1,0,1,1,1)。当OTB u的第八位u8在串行输出端口505处发送出去时,复位电路504被激活,并且电路准备好接受下一个DCB。完成一轮外变换运算需要正好8个时钟周期。示例性外变换电路500可以在对连续DCB的外变换运算之间没有时间间隙的情况下运行。
遵循示例性外变换电路500的模型,可容易地实现对应于任何上三角托普利兹矩阵的一般卷积运算。如果DCB v是N维的并且脉冲响应具有形式c=(c0,c1,…,cm),则需要具有m个级的移位寄存器,并且花费N个时钟周期来完成一轮外变换运算。
本领域技术人员将知晓,图5中呈现的计算卷积的方法是已知的,并且存在许多用于计算卷积的替代电路(例如使用并行处理和/或流水线以便改善数据吞吐量或减少时延的电路)。
内变换Gin。内变换运算x=uGin对于一般矩阵
Figure BDA0003515204390000201
具有复杂度O(N2),这对于实际实现方式可能是禁止的。本发明原理的目的在于通过对Gin强加结构来降低内变换运算的复杂度。在本发明原理的优选实施例中,Gin被限制为具有克罗内克乘积形式:
Figure BDA0003515204390000202
其中,
Figure BDA0003515204390000203
是下三角矩阵,其中对于各个i=1,2,…,n,Ni≥2。产生的Gin是N*N下三角矩阵,其中
Figure BDA0003515204390000204
如果适当地选择Gin的克罗内克因子L1,…,Ln,则可以将计算内变换x=uGin的复杂度从O(N2)降低到O(N log N)。例如,如果对于各个i=1,2,…,n,
Figure BDA0003515204390000205
Figure BDA0003515204390000206
Figure BDA0003515204390000207
变成极化编码中的极化变换矩阵,并且内变换的复杂度降低到O(N log2 N)。为了完整起见,我们在下面提出了用于对于具有
Figure BDA0003515204390000208
的这种重要特殊情况实现x=uGin的电路。
图6示出了可以用于在特殊情况下实现内变换212的示例性极化变换电路600,其中,
Figure BDA0003515204390000211
示例性极化变换电路600包括并行输入端口601、并行输出端口602和内部逻辑电路。内部逻辑是组合的。电路由在并行输入端口601处施加的输入信号(u1,…,u8)驱动,并且在并行输出端口602处产生(在一定信号传播延迟之后)输出信号(x1,…,x8)。通过追踪通过电路的输入逻辑信号,可验证输出信号通过
Figure BDA0003515204390000212
Figure BDA0003515204390000213
Figure BDA0003515204390000214
以及x8=u8与输入信号相关,其中,
Figure BDA0003515204390000215
表示逻辑异或(XOR)运算。逻辑信号之间的这些关系与在向量
Figure BDA0003515204390000216
Figure BDA0003515204390000217
之间通过执行矩阵乘法
Figure BDA0003515204390000218
获得的代数关系相同。因此,验证了电路600正确地实现了针对示例性情况
Figure BDA0003515204390000219
的内变换运算。为了将电路600广义化为具有任意n的情况
Figure BDA00035152043900002110
我们参考关于极化编码的现有技术。关于极化编码的现有技术包含用于使用硬件或软件来实现极化变换的许多选项。所有这样的实现选项可以在本发明原理的物理实现中使用。
我们已经提出了TF编码器210的各个单独部分的示例性实现选项。接下来,我们将提出将这些部分集合到一起的TF编码器210的实施例。
TF编码器210的优选实施例。在TF编码器210的优选实施例中,TF码
Figure BDA00035152043900002111
是有限域
Figure BDA00035152043900002112
上的代码,其中,外变换矩阵Gout是由脉冲响应c定义的非奇异的严格上三角托普利兹矩阵;内变换矩阵Gin是具有克罗内克乘积形式
Figure BDA00035152043900002113
的严格下三角矩阵,其中,n≥1,并且
Figure BDA00035152043900002114
是对于各个i=1,2,…,n都具有Ni≥2行(等效为列)的下三角矩阵;数据索引集
Figure BDA00035152043900002115
和FDBa是任意的。Tf编码器210的优选实施例可以使用图3、4、5和6中的示例性实现方式实现。
我们现在转到开发一种用于任意但固定的TF码
Figure BDA00035152043900002116
的合适的解码器,该解码器根据TF编码器210的优选实施例来构建。我们观察到,由于Gout是上三角矩阵,因此从
Figure BDA00035152043900002117
Figure BDA00035152043900002118
Figure BDA00035152043900002119
的映射u=vGout在ui=(u1,…,ui)对于所有i∈{1,2,…,N}由vi=(v1,…,vi)确定的意义上是因果的。外变换Gout的因果性质使得可以以树的形式表示映射v→u=vGout,我们将其称为外变换(Outer Transform,OT)树。OT树具有由整数0到N索引的N+1层。在OT树的0层,仅有根节点。在OT树的i∈{1,2,…,N}层上,有qi个节点,每一
Figure BDA0003515204390000221
一个节点。OT树的最后一层(N层)的节点被称为叶节点。OT树中存在qN个叶节点,每个
Figure BDA0003515204390000222
一个叶节点。
接下来,我们示出TF码是树码。让我们调用OT树中在
Figure BDA0003515204390000223
时容许的叶节点v。存在用于TF码
Figure BDA0003515204390000224
的qK个容许叶节点。TF码
Figure BDA0003515204390000225
的码树被定义为在删除OT树中不位于从根到至少一个容许的叶节点的路径上的所有分支之后获得的OT的子树。码树中对应于DCBv的路径被称为正确路径。使用树表示,TF码的解码任务可以被看作是使用RCBy提供的信息来搜索通过TF码树的正确路径。这个观点表明,各种树搜索算法可以适应解码任务。例如,维特比(Viterbi)解码从宽度优先搜索导出,顺序解码从具有回溯的深度优先搜索导出,连续消除解码从没有回溯的深度优先搜索导出,并且连续消除列表解码从束搜索导出。
在将TF解码器230的任务修订为树搜索问题之后,我们现在将注意力转到图2所示的TF解码器230的模块化架构内的通用树搜索算法的实现。具体地,我们讨论可以如何在内解码器231与外解码器232之间分割在通用树搜索算法中涉及的各种任务。我们将看到,由于外变换Gout的上三角形式,这种分割是可能的。我们从线性代数开始,回想非奇异上三角矩阵的逆也是上三角。因此,逆映射v=u(Gout)-1在与正向映射u=vGout是因果的相同意义上是因果的。换言之,前缀vi=(v1,…,vi)和ui=(u1,…,ui)为各个i∈{1,2,…,N}唯一地确定彼此,并且任一个前缀都可用于唯一地标识OT树中的节点。由于这个特性,跨越内解码器231与外解码器232之间的接口的度量业务可以使用OTB前缀ui作为节点标识符来执行。下面我们将看到,传递具有OTB前缀ui作为节点标识符的度量请求和度量值消息使得可以将树搜索任务分割成如图2所示的模块。
TF解码器230的优选实施例。在TF解码器230的优选实施例中,对TF码参数
Figure BDA0003515204390000226
的约束与TF编码器的优选实施例中相同,并且不需要单独指定。因此,TF编码器210和TF解码器230的优选实施例是彼此兼容的。在TF解码器230的优选实施例中,外解码器232使用树搜索算法来搜索通过OT树的正确路径,其中树搜索算法通过节点度量Γ(ui,y)来评估节点ui在正确路径上的可能性,其中,节点度量Γ(ui,y)被设计成在正确路径上向上漂移而在不正确路径上向下漂移。外解码器232通过将节点标识符ui呈现给内解码器232来请求计算来自内解码器231的节点度量Γ(ui,y)。在接收到这样的请求时,内解码器231负责计算节点度量Γ(ui,y)。度量Γ(ui,y)被设计成使得它不需要外码参数
Figure BDA0003515204390000231
的知识,从而可以独立于外码来配置内解码器231。外解码器232使用从内解码器231接收的度量值来执行树搜索。在树搜索结束时,内解码器产生DDCB
Figure BDA0003515204390000232
并将DDCB
Figure BDA0003515204390000233
传递到数据提取器233。数据提取器233通过设置
Figure BDA0003515204390000234
来计算DSDB
Figure BDA0003515204390000235
TF解码器230的优选实施例的范围覆盖具有以上指定的特性的任何树搜索算法和任何节点度量。搜索算法和节点度量的更具体的选择在下面在对TF解码器230的最优选实施例的描述的准备中讨论。我们从节点度量开始。
费诺度量。可以用于实现TF解码器230的优选实施例的示例性节点度量是费诺度量【FAN1963】,其被定义为
Figure BDA0003515204390000236
其中,Bi是偏项。在常规卷积编码和顺序解码中,偏项是恒定的;在此,我们允许偏项是时变的。使用时变费诺度量的原因是为了确保费诺度量在TF码树中的正确路径上维持正漂移E[Γ(ui,y)],而不管通过费诺度量来自信道的信息量
Figure BDA0003515204390000237
是时变的事实。具有时变偏项的费诺度量的使用是将本发明原理与现有技术区分开来的特征。
在计算费诺度量时,内解码器231通过假设OT码树中的所有路径都是容许的(忽略TF码树是OT树的子树)(这相当于假设前缀Ui在其在OT码树中的2i个可能值上是同等可能的)来进行近似。这种近似简化了费诺度量的计算,并使其独立于TF码的细节。我们将其留给外解码器232来对从内解码器231接收的度量值应用校正,使得树搜索不偏离到不在TF码树中的路径。
费诺度量可以通过编写
Figure BDA0003515204390000238
而递增地计算,其中,
Figure BDA0003515204390000239
其中bj=Bj-Bj-1。为了计算的目的,可以有利的是使用贝叶斯(Bayes)规则和假设
Figure BDA00035152043900002310
并且将分支度量重写为
Figure BDA00035152043900002311
选择偏项的优选方法是为某个常数0<α<1设置Bi=αI(Ui;Y)。然后,正确路径上的第i个节点处的费诺度量的漂移等于E[Γ(Ui,Y)]=(1-α)I(Ui;Y),其为正,如所期望的。当Bi=αI(Ui;Y)时,分支度量偏项变成bj=αI(Uj;Y|Uj-1),并且沿着正确路径的分支度量的期望值也变成E[γ(uj,y|uj-1)]=(1-α)I(Uj;Y|Uj-1),其也为正。该讨论示出了在结合用于解码TF码的树搜索算法应用费诺度量时需要具有时变偏项。
本领域技术人员将认识到,在内变换Gin是极化变换
Figure BDA0003515204390000241
的重要特殊情况下,可以使用极化码的连续消除解码的方法以低复杂度计算概率
Figure BDA0003515204390000242
事实上,在这种情况下,具有下式
Figure BDA0003515204390000243
其中,
Figure BDA0003515204390000244
表示由极化变换创建的第j个位信道。此外,在这种情况下,可以使用用于设计极化码的密度演进技术来以复杂度O(N log N)计算以偏项的推荐形式出现的互信息项。
现在我们更详细地说明度量消息如何在内解码器231和外解码器232之间的接口处交换。假设外解码器在树搜索算法执行期间的某一点从TF码树中的节点ui-1向前看。如果
Figure BDA0003515204390000245
则在节点ui-1的TF码树中存在两个可能的扩展(ui-1,0)和(ui-1,1),并且外解码器232从内解码器231请求两个节点度量Γ((ui-10),y)和Γ((ui-11),y)。如果
Figure BDA0003515204390000246
则在节点ui-1的TF码树中仅有一个可能的扩展(ui-1,0)或(ui-1,1),并且外解码器232请求节点ui-1的有效扩展的节点度量,并将节点ui-1的无效扩展的节点度量设置为-∞。
作为选择,外解码器可以通过将外码特定和层特定的偏置应用于各个接收的节点度量来修改所有接收的节点度量。已经观察到这种过程在模拟中产生改进的结果。
顺序解码。如上所述,顺序解码是由沃曾克拉夫特【WOZ1961】开发的用于卷积码的解码算法。费诺【FAN1963】开发了一种特别适合于硬件实现的实现顺序解码的实用方法。齐甘吉罗夫(Zigangirov)【ZIG1966】和耶利内克(Jelinek)【JEL1969】开发了一种被称为堆栈解码器的顺序解码器,它比费诺算法更容易理解,但是消耗了相当多的存储资源。顺序解码的两个版本都可以在实现外解码器232时用作树搜索启发法。在此,我们将描述堆栈解码器,因为它更容易解释。
图7是堆栈解码器700的流程图,其中堆栈解码器是用于树码的解码算法,且可在具有随机存取存储器与处理器单元的通用计算机上执行。流程图700中的术语“堆栈”指通常称为优先级队列的数据结构。堆栈驻留在随机存取存储器中,并且包含多个节点,其中堆栈上的各个节点是与树码中的节点相关联的数据记录。堆栈上的节点以节点度量的降序排序。堆栈上具有最高度量值的节点被称为栈顶节点。堆栈解码器700包括初始化步骤701、向前看(look forward)步骤702、终止校验步骤703、超时校验步骤704、常规退出步骤705、和超时步骤706。在初始化步骤701中,将堆栈清零,将树的根节点置于堆栈上作为度量值为零的栈顶节点,将循环计数器设置为零,并且将控制转到向前看步骤702。在向前看步骤702中,循环计数器加一,从堆栈中移除栈顶节点,从度量计算机请求和接收所移除的栈顶节点的所有子节点的度量值,将子节点插入到堆栈中,将堆栈上的所有节点相对于它们的度量值以降序重新排序,并且将控制转到终止校验步骤703。在终止校验步骤703中,校验当前栈顶节点是否是树中的叶节点;如果答案为是,则将控制转到常规退出步骤705;否则(如果答案是“否”),将控制转到超时校验步骤704。在常规退出步骤705中,堆栈解码器700输出栈顶节点作为最终解码器判定,且算法终止。在超时校验步骤704中,校验循环计数器是否超过超时限制;如果答案为是,则控制转到超时退出步骤706;否则如果答案是“否”,则控制转到向前看步骤702。在超时退出步骤706中,堆栈解码器输出当前栈顶节点作为具有超时的指示的最终解码器判定。
本领域技术人员将清楚,上述堆栈解码器700可用于通过向外解码器232分配维护堆栈和生成节点度量请求的责任以及向内解码器231分配计算节点度量值的责任来实现TF解码器230的优选实施例。节点度量计算和树搜索功能的拆分可以看作是一种前向(内解码)和后向(外解码)替换的方法,类似于在线性代数中使用三角分解方法求解线性方程组。
TF编码器210的最优选实施例。TF编码器210的最优选实施例是TF编码器210的优选实施例的特殊情况,使得域
Figure BDA0003515204390000251
被限制为二进制域
Figure BDA0003515204390000252
使用得分函数来构造数据索引集
Figure BDA0003515204390000253
外变换矩阵Gout是由脉冲响应c定义的非奇异的严格三角托普利兹矩阵,并且内变换矩阵被选择为
Figure BDA0003515204390000254
其中,
Figure BDA0003515204390000255
对于本领域技术人员来说将清楚的是,变换编码器的优选实施例可以通过组合图3、图4、图5和图6所呈现的示例性实现来实现。
TF解码器230的最优选实施例。在TF解码器230的最优选实施例中,对TF码参数
Figure BDA0003515204390000256
的约束与TF编码器210的最优选实施例中相同,并且不需要单独指定。在TF解码器230的最优选实施例中,如上所述,内解码器231计算费诺度量,而外解码器232通过调整从内解码器231接收的费诺度量来实现顺序解码算法。TF编码器210的最优选实施例和TF解码器230的最优选实施例的匹配对构成TF编码系统200的最优选实施例。
转到图8A,我们看到用于将本发明原理与现有技术进行比较的仿真结果800。仿真结果800包括五个性能曲线801至曲线805。性能曲线805属于根据本发明原理的最优选实施例(即,TF编码器210的最优选实施例和TF解码器230的最优选实施例)构造的示例性TF编码系统。仿真结果示出了本发明原理的明显优点。为了公平比较,图8A中的所有五个编码系统都是二进制域
Figure BDA0003515204390000261
上的代码,并且对于总编码速率R=1/2具有共同的代码块长度N=128和共同的源块长度K=64。在仿真中使用的信道是具有输入字母表
Figure BDA0003515204390000262
输出字母表
Figure BDA0003515204390000263
(实数)和信道转移概率密度函数
Figure BDA0003515204390000264
的二进制输入无记忆信道,其中,x∈X,y∈Y,并且如果x=0,则s=1,并且如果x=1,则s=-1。本领域技术人员将认识到,该信道是用于加性白高斯噪声(Additive White Gaussian Noise,AWGN)信道上的二进制信令的模型。在本讨论的其余部分中,我们将该信道称为“AWGN信道”。AWGN信道的特征在于其信噪比(Signal-to-Noise Ratio,SNR),其被定义为1/σ2。在仿真研究中,SNR参数以0.5dB为步长从0dB变化到5dB,并且通过执行试验在各个SNR点测量FER值,直到试验的数量达到十万或者帧错误的数量达到100(无论哪个先发生)为止。仿真研究的细节如下。
性能曲线805属于根据TF编码系统的最优选实施例构建的TF编码系统,使得外变换矩阵Gout是特征在于脉冲响应c=(1,0,1,1,0,1,1)的上三角托普利兹矩阵,内变换是
Figure BDA0003515204390000265
其中
Figure BDA0003515204390000266
使用汉明得分函数(
Figure BDA0003515204390000267
Figure BDA0003515204390000268
Figure BDA0003515204390000269
其与雷德穆勒码一致)构建数据索引集
Figure BDA00035152043900002610
FDB a等于0,内解码器231使用费诺度量,并且外解码器使用顺序解码算法232。分析该方案的码率是有启发性的。如前所述,本发明原理旨在针对给定的总码率R以速率Rout=R和Rin=1进行操作。在此,我们有R=1/2。外码率和内码率是Rout=64/112和Rin=112/128。我们具有Rout=64/112,因为数据索引集
Figure BDA00035152043900002613
的最小元素等于16,所以DCB v的前16个冻结位通过因果变换u=vGout传播,并且OTBu的前16位保持冻结。因此,有效地,外码具有码块长度128-16=112而不是128。该示例示出了尽管本发明原理针对速率Rout=R和Rin=1,但是由于数据索引集的第一元素可能不是1的假象,该目标可能不能被完美地实现。
性能曲线801属于具有连续消除(SC)解码的雷德穆勒码。在此,雷德穆勒码是作为变换编码的特殊情况获得的(其中Gout=I(单位矩阵),
Figure BDA00035152043900002611
Figure BDA00035152043900002612
使用汉明得分函数选择,并且a=0)。因此,801与805的比较示出了使用根据本发明原理的外变换的益处。作为(退化)级联编码系统,这里的雷德穆勒码具有速率Rout=1、Rin=1/2以及R=1/2。
性能曲线802属于具有连续消除解码的极化码。这种情况也可以被看作是变换编码的退化形式(其中Gout=I,
Figure BDA0003515204390000271
Figure BDA0003515204390000272
使用互信息得分函数(以3dB SNR优化)来选择,并且a=0)。802与805的比较示出了使用根据本发明原理的外变换的益处。作为(退化)级联编码系统,这里的极化码具有速率Rout=1、Rin=1/2以及R=1/2。
性能曲线803属于级联编码系统(在福尼的意义上),对于该级联编码系统,外码是4位循环冗余校验(CRC)码,内码是雷德穆勒码,并且解码器是具有列表大小32和CRC长度4位的CRC辅助连续消除列表(CA-SCL)解码器。(4位CRC在0、4、8、16位的替代长度中产生最佳性能。)码率为Rout=64/68、Rin=68/128以及R=1/2。
性能曲线804属于级联编码系统,对于该级联编码系统,外码是8位CRC码,内码是针对3dB SNR优化的极化码,并且解码器是具有列表大小32和CRC长度8位的CA-SCL解码器。(4位CRC在0、8、8、16位的替代长度中产生最佳性能。)码率为Rout=64/72、Rin=72/128以及R=1/2。
总之,图8A示出了在雷德穆勒码和极化码中,示例性TF编码系统提供了比现有技术好得多的性能,即使当极化码是使用相当复杂的CA-SCL解码器来解码的时候。值得注意的是,这种显著的改进是在相对小的块长度N=128下获得的。这种短块长度的代码通常用于保护通信系统中的敏感控制信息(例如空间通信中的遥测信息和蜂窝系统中的资源分配信息)。因此,图8A展示了本发明原理的实际效用和潜在应用。还值得注意的是,本发明原理的速率对(Rout,Rin)与表示现有技术的其它码的速率对大幅不同。本发明原理将速率Rout设置为接近1/2,并且将Rin设置为接近1,而现有技术将Rout设置为接近或等于1,并且将Rin设置为接近或等于二分之一。虽然本发明原理主要依赖于强外码来进行纠错,但是现有技术方法主要依赖于内码的强度来进行纠错。
接下来,我们转到图8B来讨论TF编码系统的设计,其性能由曲线805示出。图8B示出了比较本发明原理和现有技术的信息和速率分配轮廓的图810。图8B中的所有曲线都是针对3dB SNR下的AWGN信道计算的。3dB SNR下的AWGN信道的容量和截止速率分别由I(W)=0.72位和Ro(W)=0.55位给出。
现有技术在图8B中由曲线811、曲线812和曲线813表示,其分别是累积容量i·I(W)、累积截止速率i·R0(W)和累积速率i·R对索引变量i。曲线811、812和813的数值表示速率R=1/2的卷积码。(实际上,用于速率为二分之一的卷积码的累积速率的更精确的绘图将在奇数时间索引处具有1位的跳跃。因此,曲线813是近似。)我们看到,用于速率为二分之一的卷积码的速率轮廓813位于截止速率轮廓812之下;因此,我们预期,顺序解码器可用于在没有过多计算复杂度的情况下解码卷积码。另一方面,截止速率轮廓812和速率轮廓813之间的间隙相当窄;因此,我们还预期偶尔将存在将导致解码器超时和/或缓冲器溢出的长搜索。
本发明原理在图8B中由曲线814、815和816表示,其分别是累积容量
Figure BDA0003515204390000281
Figure BDA0003515204390000282
累积截止速率
Figure BDA0003515204390000283
和累积速率
Figure BDA0003515204390000284
作为索引变量i∈{1,2,…,N}的函数。曲线814、815、816的数值属于TF码,该TF码的性能在上面结合曲线805进行了讨论。曲线814和815分别表现出对于信道容量和截止速率的极化效应(如在外解码器232处所见)。对于索引i的小值,累积容量814和累积截止速率815非常缓慢地上升,指示相应量的极化为0;对于索引i的大值,曲线814和815的斜率接近1,指示相应量极化为1。值得注意的是,TF编码系统在曲线815的最终值显著大于曲线812的最终值的意义上提升了截止速率。由于内变换Gin的效果,TF码提高了截止速率,并且位于外解码器232内的顺序解码器可以利用增加的截止速率。我们观察到,速率曲线816与截止速率曲线815具有加宽的间隙,这转化为顺序解码中的降低的复杂度(就计算的平均和更高阶矩而言)。
图9例示了根据本发明的其中可以实现纠错编码的示例无线网络。图9所示的无线网络900的实施例仅用于例示。在不脱离本发明的范围的情况下,可以使用无线网络900的其它实施例。无线网络900包括eNodeB(eNB)901、eNB 902和eNB 903。eNB 901与eNB 902和eNB 903通信。eNB 901还与至少一个互联网协议(Internet Protocol,IP)网络930通信,例如互联网、专有IP网络或其他数据网络。
根据网络类型,可以使用其他公知的术语来代替“eNodeB”或“eNB”,例如“基站”或“接入点”。为了方便起见,在本专利文献中使用术语“eNodeB”和“eNB”来指代向远程终端提供无线接入的网络基础设施组件。而且,根据网络类型,可以使用其他公知术语来代替“用户设备”或“(User Equipment)UE”,例如“移动站”(或“Mobile Station,MS”)、“用户站”(或“Subscriber Station,SS”)、“远程终端”、“无线终端”或“用户装置”。为了方便起见,术语“用户设备”和“UE”在本专利文献中用来指代无线地接入eNB的远程无线设备,而不管UE是移动设备(例如移动电话或智能电话)还是通常被认为是固定设备(例如台式计算机或自动售货机)。
eNB 902为eNB 902的覆盖区域920内的多个第一用户设备(UE)提供对网络930的无线宽带接入。多个第一UE包括:UE 911,其可以位于小型企业(Small Business,SB)中;UE912,其可以位于企业(Enterprise,E)中;UE 913,该其可以位于WiFi热点(Hotspot,HS)中;UE 914,其可以位于第一住宅(Residence,R)中;UE 915,其可以位于第二住宅(R)中;以及UE 916,其可以是移动设备(M)(如蜂窝电话、无线膝上型电脑、无线个人数字助理(Personal Digital Assistant,PDA)、平板电脑等)。eNB 903为eNB 903的覆盖区域925内的多个第二UE提供对网络930的无线宽带接入。多个第二UE包括UE 915和UE 916。在一些实施例中,eNB 901-903中的一者或多者可以使用3G、4G或5G、长期演进(Long-TermEvolution,LTE)、LTE-A、WiMAX或其它高级无线通信技术来彼此通信以及与UE 911-916通信。
虚线示出了覆盖区域920和925的大致范围,它们仅出于说明和解释的目的而被示出为大致圆形。应当清楚地理解,与eNB相关联的覆盖区域(例如覆盖区域920和925)可以具有其他形状,包括不规则形状,这取决于eNB的配置以及与自然和人为障碍相关联的无线电环境的变化。
如下面更详细地描述的,BS(基站)901、BS 902和BS 903中的一者或多者包括如本发明的实施例中描述的2D天线阵列。在一些实施例中,BS 901、BS 902和BS 903中的一者或多者支持用于具有2D天线阵列的系统的码本设计和结构。
尽管图9例示了无线网络900的一个示例,但是可以对图9进行各种改变。例如,无线网络900可以包括任何合适的布置的任何数量的eNB和任何数量的UE。而且,eNB 901可以直接与任意数量的UE进行通信,并且向这些UE提供对网络930的无线宽带接入。类似地,各个eNB 902-903可以直接与网络930通信,并且向UE提供对网络930的直接无线宽带接入。进一步地,eNB 901、902和/或903可以提供对其他或额外外部网络(例如外部电话网络或其他类型的数据网络)的接入。
如下面进一步详细描述的,图中描绘的以及上文描述的示例信道解码系统可以在eNB(例如eNB 902)和/或UE(例如UE 916)中实现。
图10A例示了根据本发明的其中可以实现纠错编码的示例用户设备网络。图10A所例示的UE 916的实施例仅用于例示,并且图9的UE 911-915可具有相同或类似的配置。然而,UE以各种各样的配置出现,并且图10A不将本发明的范围限制于UE的任何特定实现。
UE 916包括天线1005、射频(Radio Frequency,RF)收发器1010、发送(TX)处理电路1015(可以是图1中的发送子系统110的一部分)、麦克风1020和接收(RX)处理电路1025(可以是图1中的接收子系统130的一部分)。UE 916还包括扬声器1030、主处理器1040、输入/输出(Input/Output,I/O)接口(Interface,IF)1045、小键盘1050、显示器1055和存储器1060。存储器1060包括基本操作系统(Operating System,OS)程序1061和一个或多个应用1062。OS程序1061、应用1062中的一者或其某种组合可以实现如图1至图8的各个实施例中描述的用于采用纠错编码的编程。
RF收发器1010从天线1005接收由网络1000的eNB发送的输入RF信号。RF收发器1010可对输入RF信号进行下变频转换,以生成将发送到接收器(Rx)处理电路1025的中频(Intermediate Frequency,IF)或基带信号。Rx处理电路1025将经处理的信号发送到扬声器1030(例如用于语音数据)或发送到主处理器1040,以用于进一步处理(例如用于网络浏览数据)。
发送(Tx)处理电路1015从麦克风1020接收模拟或数字语音数据或从主处理器1040接收其它输出基带数据(例如网络数据、电子邮件或交互式视频游戏数据),作为源数据块的至少一些输入数据。Tx处理电路1015实现编码。RF收发器1010从Tx处理电路1015接收输出的处理后的基带或IF信号,并将基带或IF信号上变频转换为经由天线1005发送的RF信号。
主处理器1040可以包括一个或多个处理器或其他处理设备,并且执行存储在存储器1060中的基本OS程序1061,以便控制UE 916的整体操作。例如,主处理器1040可以根据公知的原理控制由RF收发器1010、Rx处理电路1025和Tx处理电路1015进行的前向信道信号的接收和反向信道信号的发送。在一些实施例中,主处理器1040包括至少一个可编程微处理器或微控制器,而在其他实施例中,主处理器包括专用电路(例如,用于系统和/或非系统编码或解码过程、穿孔过程、数据映射等)以及(可选地)可编程逻辑或处理电路。
主处理器1040还能够执行驻留在存储器1060中的其它进程和程序,例如用于具有2D天线阵列的系统的信道质量测量和报告的操作。主处理器1040可以根据执行过程的需要将数据和/或指令移入或移出存储器1060。在一些实施例中,主处理器1040被配置成基于OS程序1061或者响应于从eNB或运营商接收的信号来执行应用1062。主处理器1040还耦合到I/O接口1045,该接口向UE 916提供连接到其它设备(例如膝上型计算机和手持式计算机)的能力。I/O接口1045是这些附件与主控制器1040之间的通信路径。
主处理器1040还耦合到小键盘1050(该小键盘可以简单地是单个按钮或者可以是按钮阵列或其它组按钮)和显示单元1055。UE 916的操作者可以使用小键盘1050来将数据录入到UE 916中。显示器1055可以是触摸屏显示器或能够呈现文本和/或至少有限的图形(例如来自网站)并且根据已知实践接收用户的触摸输入的其他显示器。存储器1060耦合到主处理器1040,并且存储器1060的至少一部分可以包括随机存取存储器(Random AccessMemory,RAM),并且存储器1060的另一部分可以包括闪存或其它只读存储器(Read-OnlyMemory,ROM)。
尽管图10A例示了UE 916的一个示例,但是可以对图10A进行各种改变。例如,图10A中的各种组件可以被组合、进一步细分或省略,并且可以根据特定需要添加附加组件。作为特定示例,主处理器1040可以被分成多个处理器,例如一个或多个中央处理单元(Central Processing Unit,CPU)和一个或多个图形处理单元(Graphics ProcessingUnit,GPU)。而且,虽然图10A例示了UE 916被配置成移动电话或智能电话,但是UE可以被配置成作为其他类型的移动或固定设备来操作。
图10B例示了根据本发明的其中可以实现纠错编码的示例增强节点B(eNB)网络。图10B所示的eNB 902的实施例仅用于例示,并且图9的其他eNB可具有相同或类似的配置。然而,eNB以各种各样的配置出现,并且图10B不将本发明的范围限制于eNB的任何特定实现。注意,eNB 901和eNB 903可以包括与eNB 1002相同或类似的结构。
如图10B所示,eNB 902包括多个天线1070a-1070n、多个RF收发器1072a-1072n、发送(Tx)处理电路1074和接收(Rx)处理电路1076。在某些实施例中,多个天线1070a-1070n中的一个或多个包括2D天线阵列。eNB 902还包括控制器/处理器1078、存储器1080以及回程或网络接口1082。
RF收发器1072a-1072n从天线1070a-1070n接收输入RF信号,例如由UE或其它eNB发送的信号。RF收发器1072a-1072n对输入的RF信号进行下变频转换,以生成IF或基带信号。IF或基带信号被发送到Rx处理电路1076,该电路通过滤波、解码和/或数字化基带或IF信号来生成经处理的信号。Rx处理电路1076将经处理的信号发送到控制器/处理器1078,以供进一步处理。
Tx处理电路1074从控制器/处理器1078接收模拟或数字数据(例如语音数据、网络数据、电子邮件或交互式视频游戏数据)作为源数据块11的至少一些输入数据。Tx处理电路1074实现编码、复用和/或数字化输出的基带数据以生成经处理的信号的电路。RF收发器1072a-1072n从Tx处理电路1074接收输出的经处理信号,并且将基带或IF信号上变频转换为经由天线1070a-870n发送的RF信号。
控制器/处理器1078可以包括控制eNB 902的整体操作的一个或多个处理器或其他处理设备。例如,控制器/处理器1078可以根据公知的原理控制由RF收发器1072a-1072n、Rx处理电路1076和Tx处理电路1074进行的前向信道信号的接收和反向信道信号的发送。控制器/处理器878也可支持额外功能(例如更高级的无线通信功能)。控制器/处理器1078可以在eNB 902中支持多种其他功能中的任何功能。在一些实施例中,控制器/处理器1078包括至少一个微处理器或微控制器,而在其他实施例中,主处理器包括专用电路(例如,用于系统和/或非系统编码过程、穿孔过程、数据映射等)以及(可选地)可编程逻辑或处理电路。
控制器/处理器1078还能够执行驻留在存储器1080中的程序和其它进程,例如基本OS。控制器/处理器1078还能够支持具有2D天线阵列的系统的信道质量测量和报告。在一些实施例中,控制器/处理器1078支持实体之间的通信。控制器/处理器1078可以根据执行过程的需要将数据和/或指令移入或移出存储器1080。
控制器/处理器1078还耦合到回程或网络接口1082。回程或网络接口1082允许eNB902通过回程连接或通过网络与其他设备或系统通信。接口1082可支持通过任何合适的有线或无线连接的通信。例如,当eNB 902被实现为蜂窝通信系统(例如支持3G、4G、5G、LTE或LTE-A的蜂窝通信系统)的一部分时,接口1082可允许eNB 902通过有线或无线回程连接与其它eNB通信。当eNB 902被实现为接入点时,接口1082可允许eNB 702通过有线或无线局域网或通过到更大网络(例如因特网)的有线或无线连接进行通信。接口1082包括支持通过有线或无线连接的通信的任何合适的结构(例如以太网或RF收发器)。
存储器1080耦合到控制器/处理器1078。存储器1080的一部分可以包括RAM,并且存储器1080的另一部分可以包括闪存或其他ROM。在某些实施例中,多个指令存储在存储器中。指令被配置成使控制器/处理器1078执行系统和/或非系统编码或解码过程、穿孔过程、数据映射等。
尽管图10B例示了eNB 902的一个示例,但是可以对图10B进行各种改变。例如,eNB902可以包括任意数量的所示的各个组件。作为特定示例,接入点可以包括多个接口1082,并且控制器/处理器1078可以支持路由功能以在不同网络地址之间路由数据。作为另一特定示例,虽然被示出为包括Tx处理电路1074的单个实例和Rx处理电路1076的单个实例,但是eNB 902可以包括每个的多个实例(例如每个RF收发器一个)。
与现有技术的比较。在本发明的这一部分中,我们将本发明原理与现有技术进行比较,并且指出一些关键差异。
从实际的观点来看,本发明原理的最重要方面是它们提供了优于现有技术的显著性能增益,如图8所示。这种改进是通过组合几种技术获得的。使用内变换作为创建信道极化的手段。使用外变换来创建树码。使用一种数据索引集选择方法(基于新颖的得分函数方法)来根据解码器处的深度优先树搜索算法可用的极化信息的量来调节源数据位的摄入。本发明原理使用三角分解作为当方程被噪声破坏时求解线性方程组的高效且强大的方法。
极化编码的现有技术通过各种级联方案、特别是通过使用CRC作为外码和用于解码内极化码的列表解码器实现了最佳的已知性能结果。在这样的CRC辅助的列表解码方法中,外码具有接近1的速率Rout,而内码具有略高于整个码的目标速率R的速率Rin,这服从于约束R=RoutRin;复杂度几乎完全存在于内解码器内,而外解码器执行简单的CRC校验。本发明原理在某些重要方面不同于现有技术中的级联方案。首先,本发明原理在其优选实施例中采用速率Rin接近1的内码和速率Rout接近R的外码。换言之,内码不增加显著的冗余(因此作为独立的代码不具有显著的纠错能力)。本发明原理主要依赖于强外码来进行纠错,现有技术级联方法主要依赖于内码的强度来进行纠错。
在现有技术中,使用极化变换作为独立编码方案,其中冻结极化变换输入的一些坐标;本发明原理采用极化变换作为创建信道极化的手段。本发明原理在其优选实施例中利用由内解码器提供的极化互信息来构造树码,该树码可以使用树搜索算法来解码。
为了低复杂度,使用卷积运算来构造树码。与现有技术中的卷积码不同,卷积运算的输入是数据符号和冻结符号的混合。数据符号和冻结符号的混合是根据一种算法来完成的,该算法将所提供的数据速率与通过内变换来自信道的极化信息相匹配。在它们的优选实施例中,TF码享有用于解码外码的强解码器(顺序解码器)的益处和用于提高由内变换提供的顺序解码的截止速率的极化的有益效果。
现有技术中的卷积编码使用时不变速率轮廓,其适用于无记忆信道。当冻结了外变换的输入的坐标的子集时,本发明原理采用一种类型的卷积编码;然而,所得到的卷积码具有时变速率轮廓,该时变速率轮廓与外变换所见的有效信道的时变信息轮廓相匹配。现有技术中的卷积码需要终止;根据本发明原理的外变换不使用终止。
现有技术中的顺序解码器主要用于无记忆信道;本发明原理采用顺序解码来利用存储器对信道上的代码进行解码(由内极化变换创建的信道具有存储器)。现有技术中的顺序解码器使用不依赖于节点深度的时不变偏项;根据本发明原理的顺序解码器使用依赖于节点在码树中的深度的时变偏项。
本发明原理的扩展。在此我们指出了本发明原理可以容易地扩展的一些方向。所有这些扩展对于本领域技术人员来说是清楚的,并且它们被本发明所覆盖。
如上所述,本发明原理可以与作为外解码器232的一部分的任何树搜索算法一起应用。一种可能性是使用维特比解码,其是用于对无记忆信道上的卷积码进行解码的ML过程。维特比解码对于解码TF码是次优的,因为外编码器232由于在信道120和外解码器232之间存在内解码器231而看到具有存储器的信道。然而,仍然可以使用具有或不具有列表的维特比解码器来解码TF码。
为了简化说明,我们定义了TF码,以便外变换Gout是严格上三角矩阵,而内变换Gin是严格下三角矩阵。本领域技术人员将清楚,即使使用形式Gout=PUQ的外变换或形式Gin=P′LQ′的内变换,本发明原理的益处也可以保留,其中,P、Q、P′、Q′是置换矩阵,并且U和L分别是严格上三角和严格下三角矩阵。本发明原理预见了引入这种置换可以有助于以硬件或软件实现本发明的原理。本发明原理覆盖了本发明中的方法的所有这样的变型。
在本发明原理的优选实施例中,外变换矩阵Gout和内变换矩阵Gin是非奇异矩阵。然而,我们预见在本发明原理的一些实施例中,Gout或者Gin可以是奇异的或者甚至是非正方形的。例如,如果TCB的一些元素被穿孔(这等同于丢弃Gin的一些列),则这种情况可能发生。
本领域技术人员应当清楚,即使当外变换Gout和内变换Gin不具有相同的尺寸时,也可以应用本发明原理背后的基本思想。例如,如果Gin的行数大于Gout的列数,则能够将第二源数据块或第二冻结数据块插入到内变换Gin的输入中。
虽然本文详细描述且在附图中描绘了用生成矩阵的三角分解进行纠错编码的方法和装置的特定实施例,但应理解,本公开所涵盖的主题仅由权利要求书限制。尽管已经用示例性实施例描述了本发明,但是本领域技术人员可以提出各种改变和修改。本发明旨在涵盖落入所附权利要求的范围内的这种改变和修改。本申请中的描述不应被理解为暗示任何特定的元件、步骤或功能是必须包括在权利要求范围中的必要或关键元件:专利主题的范围仅由允许的权利要求限定。而且,这些权利要求都不旨在关于所附权利要求或权利要求要素中的任一个来调用35 USC§112(f),除非确切的词语“用于……的装置”或“用于……的步骤”被明确地用在特定权利要求中,随后是标识功能的分词短语。术语,例如(但不限于)“机构”、“模块”、“设备”、“单元”、“组件”、“元件”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”在权利要求内的使用被理解为并旨在指代相关领域的技术人员已知的结构,如由权利要求本身的特征进一步修改或增强的,并且不旨在调用35 U.S.C.§112(f)。

Claims (24)

1.一种在通信系统中使用的用于可靠传送源数据块d的编码器装置,所述编码器装置是根据变换矩阵G和数据索引集
Figure FDA00035152043800000110
配置的,所述变换矩阵G具有到严格的上三角矩阵和严格的下三角矩阵的乘积的三角分解,所述编码器包括:
数据插入器和变换编码器;
其中,所述数据插入器被配置成接收所述源数据块d,生成数据容器块v,并且将所述数据容器块v传递到所述变换编码器,所述数据容器块包括数据部分
Figure FDA0003515204380000011
所述数据部分包括由所述数据索引集
Figure FDA0003515204380000012
指示的所述数据容器块的元素,所述数据部分
Figure FDA0003515204380000013
是由所述源数据块d确定的,
其中,所述变换编码器被配置成接收所述数据容器块v并且计算发送码块x,由此,x=vG。
2.根据权利要求1所述的编码器装置,其中,所述变换编码器包括:
外变换编码器,其被配置成接收所述数据容器块v并计算外变换块u,由此,对于外变换矩阵Gout,u=vGout;和
内变换编码器,其被配置成接收所述外变换块u并计算所述发送码块x,由此,对于内变换矩阵Gin,x=uGin
其中,所述外变换矩阵Gout和所述内变换矩阵Gin形成所述变换矩阵的三角分解,由此,G=GoutGin
3.根据权利要求2所述的编码器装置,其中,所述外变换矩阵Gout是由因果脉冲响应c=(c0,c1,…,cm)定义的托普利兹矩阵,其中,m>0,c0≠0,并且cm≠0。
4.根据权利要求2所述的编码器装置,其中,所述内变换矩阵Gin具有克罗内克乘积形式
Figure FDA0003515204380000014
其中,Li是针对各个i=1,…,n的下三角矩阵。
5.根据权利要求4所述的编码器装置,其中,对于各个i=1,…,n,
Figure FDA0003515204380000015
6.根据权利要求1所述的编码器装置,其中,所述数据索引集
Figure FDA0003515204380000016
是通过窗口大小大于一的窗口得分函数方法来选择的。
7.根据权利要求3所述的编码器装置,其中,所述数据索引集
Figure FDA0003515204380000017
是通过逐点得分函数方法来选择的。
8.一种用于对接收码块y进行解码的解码器装置,所述接收码块y呈现发送码块x的噪声版本,所述发送码块x是通过由用于预定码的编码器对源数据块d进行编码所获得的,所述用于预定码的编码器接收所述源数据块d并计算所述发送码块x,由此,对于预定的生成矩阵G′和预定的偏移块b,x=dG′+b,所述解码器装置配置有外变换矩阵Gout、内变换矩阵Gin、数据索引集
Figure FDA0003515204380000018
和冻结数据块a,所述外变换矩阵Gout、所述内变换矩阵Gin、所述数据索引集
Figure FDA0003515204380000019
和所述冻结数据块a定义了所述预定码的等效码,由此,对于具有
Figure FDA0003515204380000021
Figure FDA0003515204380000022
的数据容器块v,x=vG,所述解码器装置包括:
内解码器和外解码器;
其中,所述内解码器被配置成接收所述接收码块y、从所述外解码器接收节点度量请求、根据所述内变换矩阵Gin计算节点度量、以及将所计算的节点度量发送到所述外解码器;
其中,所述外解码器被配置成将节点度量请求发送到所述内解码器、从所述内解码器接收计算的节点度量、以及根据所述外变换矩阵Gout、所述数据索引集
Figure FDA0003515204380000023
和所述冻结数据块a计算解码的数据容器块
Figure FDA0003515204380000024
其中,所述解码器装置还被配置成根据所述数据索引集
Figure FDA0003515204380000025
从所述解码的数据容器块
Figure FDA0003515204380000026
提取解码的源数据块
Figure FDA0003515204380000027
9.根据权利要求8所述的解码器装置,其中,所述内解码器根据用于极化码的连续消除解码器生成节点度量值。
10.根据权利要求8所述的解码器装置,其中,所述外解码器通过使用树搜索算法计算所述解码的数据容器块。
11.根据权利要求10所述的解码器装置,其中,所述树搜索算法是深度优先树搜索算法。
12.根据权利要求11所述的解码器装置,其中,所述节点度量是费诺度量。
13.一种利用编码器装置在通信系统中使用的用于可靠传送源数据块d的编码方法,所述编码器装置包括数据插入器和变换编码器,并且是根据变换矩阵G和数据索引集
Figure FDA0003515204380000028
配置的,所述变换矩阵G具有到严格的上三角矩阵和严格的下三角矩阵的乘积的三角分解,所述编码方法包括:
在所述数据插入器处接收所述源数据块d;
在所述数据插入器内生成数据容器块v;
将所述数据容器块v从所述数据插入器传递到所述变换编码器;
在所述变换编码器处从所述数据插入器接收所述数据容器块v;以及
在所述变换编码器中计算发送码块x,由此,x=vG,
其中,所述数据容器块包括数据部分
Figure FDA0003515204380000029
所述数据部分包括由所述数据索引集
Figure FDA00035152043800000210
指示的所述数据容器块的元素,所述数据部分
Figure FDA00035152043800000211
是由所述源数据块d确定的。
14.根据权利要求13所述的编码方法,其中,所述变换编码器包括:
外变换编码器,其接收所述数据容器块v并计算外变换块u,由此,对于外变换矩阵Gout,u=vGout;和
内变换编码器,其接收所述外变换块u并计算所述发送码块x,由此,对于内变换矩阵Gin,x=uGin
其中,所述外变换矩阵Gout和所述内变换矩阵Gin形成所述变换矩阵的三角分解,由此,G=GoutGin
15.根据权利要求14所述的编码方法,其中,所述外变换矩阵Gout是由因果脉冲响应c=(c0,c1,…,cm)定义的托普利兹矩阵,其中,m>0,c0≠0,并且cm≠0。
16.根据权利要求14所述的编码方法,其中,所述内变换矩阵Gin具有克罗内克乘积形式
Figure FDA0003515204380000031
其中,Li是针对各个i=1,…,n的下三角矩阵。
17.根据权利要求16所述的编码方法,其中,对于各个i=1,…,n,
Figure FDA0003515204380000032
18.根据权利要求13所述的编码方法,其中,所述数据索引集
Figure FDA0003515204380000033
是通过窗口大小大于一的窗口得分函数方法来选择的。
19.根据权利要求15所述的编码方法,其中,所述数据索引集是通过逐点得分函数方法来选择的。
20.一种对接收码块y进行解码的解码方法,所述接收码块y呈现发送码块x的噪声版本,所述发送码块x是通过由用于预定码的编码器对源数据块d进行编码所获得的,所述用于预定码的编码器接收所述源数据块d并计算所述发送码块x,由此,对于预定的生成矩阵G′和预定的偏移块b,x=dG′+b,解码器装置包括内解码器和外解码器,并且配置有外变换矩阵Gout、内变换矩阵Gin、数据索引集
Figure FDA0003515204380000034
和冻结数据块a,所述外变换矩阵Gout、所述内变换矩阵Gin、所述数据索引集
Figure FDA0003515204380000035
和所述冻结数据块a定义了所述预定码的等效码,由此,对于具有
Figure FDA0003515204380000036
Figure FDA0003515204380000037
的数据容器块v,x=vG,所述解码方法包括:
在所述内解码器处接收所述接收码块y;
从所述外解码器向所述内解码器发送节点度量请求;
在所述内解码器处从所述外解码器接收所述节点度量请求;
在所述内解码器中根据所述内变换矩阵Gin计算节点度量;
将计算的节点度量从所述内解码器发送到所述外解码器;
在所述外解码器处从所述内解码器接收所述计算的节点度量;
在所述外解码器中根据所述外变换矩阵Gout、所述数据索引集
Figure FDA0003515204380000038
和所述冻结数据块a来计算解码的数据容器块
Figure FDA0003515204380000039
以及
根据所述数据索引集
Figure FDA00035152043800000310
从所述解码的数据容器块
Figure FDA00035152043800000311
提取解码的源数据块
Figure FDA00035152043800000312
21.根据权利要求19所述的解码方法,其中,还包括:
在所述内解码器中根据用于极化码的连续消除解码器生成节点度量值。
22.根据权利要求19所述的解码方法,其中,还包括:
在所述外解码器内通过使用树搜索算法来计算所述解码的数据容器块。
23.根据权利要求21所述的解码方法,其中,所述树搜索算法是深度优先树搜索算法。
24.根据权利要求22所述的解码方法,其中,所述节点度量是费诺度量。
CN202080059428.7A 2019-06-26 2020-06-15 用生成矩阵的三角分解进行纠错编码的方法和装置 Active CN114342266B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/453,887 US11405055B2 (en) 2019-06-26 2019-06-26 Methods and apparatus for error correction coding with triangular factorization of generator matrix
US16/453,887 2019-06-26
PCT/IB2020/055588 WO2020261038A1 (en) 2019-06-26 2020-06-15 Methods and apparatus for error correction coding with triangular factorization of generator matrix

Publications (2)

Publication Number Publication Date
CN114342266A true CN114342266A (zh) 2022-04-12
CN114342266B CN114342266B (zh) 2022-12-20

Family

ID=71728786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080059428.7A Active CN114342266B (zh) 2019-06-26 2020-06-15 用生成矩阵的三角分解进行纠错编码的方法和装置

Country Status (7)

Country Link
US (1) US11405055B2 (zh)
EP (2) EP4293918A3 (zh)
JP (1) JP7525170B2 (zh)
KR (1) KR102684139B1 (zh)
CN (1) CN114342266B (zh)
TW (1) TW202107857A (zh)
WO (1) WO2020261038A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664583A (zh) 2017-01-09 2023-01-31 中兴通讯股份有限公司 一种数据处理方法和装置
US11126895B2 (en) * 2019-05-22 2021-09-21 Lawrence Livermore National Security, Llc Mimicking of corruption in images
US11271593B2 (en) * 2019-12-02 2022-03-08 Polaran Yazilim Bilisim Danismanlik Ithalatihracat Sanayi Ticaret Limited Sirketi Methods and apparatus for systematic encoding of data in error correction coding using triangular factorization of generator matrix
CN115398809A (zh) * 2020-03-16 2022-11-25 加利福尼亚大学董事会 极化调整卷积码的列表解码
US11418220B2 (en) * 2020-03-20 2022-08-16 Huawei Technologies Co., Ltd. Method, system, and apparatus for a segmented polarization-adjusted convolutional (PAC) code
CN116711219A (zh) * 2021-01-04 2023-09-05 日本电信电话株式会社 解码装置、解码方法、及程序
WO2022174884A1 (en) * 2021-02-16 2022-08-25 Huawei Technologies Co., Ltd. Automorphism-based polar encoding and decoding
US11689218B2 (en) * 2021-02-19 2023-06-27 Electronics And Telecommunications Research Institute Decoding method and apparatus based on polar code in communication system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993892A (zh) * 2004-08-10 2007-07-04 三星电子株式会社 用于编码和解码块低密度奇偶校验码的装置和方法
JP2008258774A (ja) * 2007-04-02 2008-10-23 Sumitomo Electric Ind Ltd 符号化装置および符号化プログラム
US20180121286A1 (en) * 2016-11-01 2018-05-03 Cisco Technology, Inc. Efficient repair of erasure coded data based on coefficient matrix decomposition
WO2018196765A1 (zh) * 2017-04-25 2018-11-01 华为技术有限公司 Polar码传输方法及装置
US20190165887A1 (en) * 2017-11-29 2019-05-30 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9362956B2 (en) * 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
EP3520223B1 (en) 2016-09-30 2023-06-14 Telefonaktiebolaget LM Ericsson (PUBL) Spatially coupled polar codes
WO2018104822A1 (en) * 2016-12-08 2018-06-14 Celeno Communications (Israel) Ltd. Establishing a secure uplink channel by transmitting a secret word over a secure downlink channel
CN110999094B (zh) * 2017-01-10 2024-03-29 瑞典爱立信有限公司 通过与外系统码交织而级联的极化码的制码和解码
CN108933641B (zh) 2017-05-22 2022-10-11 中兴通讯股份有限公司 数据发送、处理方法及装置,网络侧设备和终端
GB2563419B (en) * 2017-06-15 2020-04-22 Accelercomm Ltd Polar decoder, communication unit, integrated circuit and method therefor
JPWO2019064550A1 (ja) 2017-09-29 2020-12-10 株式会社Nttドコモ ユーザ端末及び無線通信方法
US10700829B2 (en) * 2018-02-14 2020-06-30 Qualcomm Incorporated Combining decision metrics of a scrambled payload

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993892A (zh) * 2004-08-10 2007-07-04 三星电子株式会社 用于编码和解码块低密度奇偶校验码的装置和方法
JP2008258774A (ja) * 2007-04-02 2008-10-23 Sumitomo Electric Ind Ltd 符号化装置および符号化プログラム
US20180121286A1 (en) * 2016-11-01 2018-05-03 Cisco Technology, Inc. Efficient repair of erasure coded data based on coefficient matrix decomposition
WO2018196765A1 (zh) * 2017-04-25 2018-11-01 华为技术有限公司 Polar码传输方法及装置
US20190165887A1 (en) * 2017-11-29 2019-05-30 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder

Also Published As

Publication number Publication date
WO2020261038A4 (en) 2021-02-25
JP7525170B2 (ja) 2024-07-30
WO2020261038A1 (en) 2020-12-30
US20200412385A1 (en) 2020-12-31
EP3991328B1 (en) 2024-08-14
EP3991328A1 (en) 2022-05-04
JP2022544645A (ja) 2022-10-20
CN114342266B (zh) 2022-12-20
KR102684139B1 (ko) 2024-07-12
US11405055B2 (en) 2022-08-02
EP4293918A2 (en) 2023-12-20
TW202107857A (zh) 2021-02-16
EP4293918A3 (en) 2024-03-06
KR20220028031A (ko) 2022-03-08

Similar Documents

Publication Publication Date Title
CN114342266B (zh) 用生成矩阵的三角分解进行纠错编码的方法和装置
EP3217662B1 (en) Rate matching method and apparatus for polar code, and wireless communication device
CN110999094B (zh) 通过与外系统码交织而级联的极化码的制码和解码
KR102548215B1 (ko) 압축된 채널 출력 정보를 사용하여 데이터를 디코딩하기 위한 시스템 및 방법
US11323727B2 (en) Alteration of successive cancellation order in decoding of polar codes
EP4222869A1 (en) Serial concatenated codes with outer block codes and inner polarization adjusted convolutional codes
US12074713B2 (en) Polar code encoding method, polar code decoding method, and apparatuses thereof
US20200127686A1 (en) Apparatus and method for decoding polar codes
Wu et al. Polar codes for low-complexity forward error correction in optical access networks
Cuc et al. Performances Comparison between Low Density Parity Check Codes and Polar Codes
WO2018184493A1 (zh) 数据编码和译码的方法和装置
US20070198905A1 (en) Transmitter for a communications network
US11271593B2 (en) Methods and apparatus for systematic encoding of data in error correction coding using triangular factorization of generator matrix
WO2023125061A1 (zh) 级联码的编码和译码的方法以及通信装置
Oliveira et al. Polarization-driven puncturing for polar codes in 5g systems
SHI et al. Design of Raptor-Like Rate Compatible SC-LDPC Codes
Zolotarev et al. Algorithm of multithreshold decoding for Gaussian channels
Shao Advanced Channel Coding for 5G Wireless System
EP4066388A1 (en) Device and method for encoding or decoding messages by means of a polar code
Liu Novel LDPC coding and decoding strategies: design, analysis, and algorithms
King et al. Joint weighted bit-flipping decoder for use in diversity network coding

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