用于解码极化码和乘积码的解码器和方法与流程

文档序号:24352629发布日期:2021-03-19 12:38阅读:173来源:国知局
用于解码极化码和乘积码的解码器和方法与流程

通常,本发明涉及信道编码领域。更具体地,本发明涉及用于解码极化码码字以及乘积码码字的解码器和相应方法。



背景技术:

信道码在所有数字通信系统中都是必不可少的。前向纠错(forwarderrorcorrection,fec)编码系统(也称为编码方案)由发送器侧的编码器和接收器侧的解码器组成。编码器将冗余添加到待发送的数据,即附加冗余数据,并且解码器利用此冗余来纠正传输错误,从而尽管存在有噪通信信道,接收器仍可以获得没有错误的所发送的数据。图1示出了这样的通信系统100,其中将待发送的数据u,称为信息字,提供给编码器101,编码器101产生包含冗余的码字x。然后,在通常引入错误的有噪通信信道103上对其进行发送。输出向量y被提供给解码器105,解码器105产生所发送的码字和所发送的数据的估计。可能的码字的集合c被称为码或信道码,并且以下特别涉及这种码。

极化码是依赖于极化效应的线性分组码,极化效应允许按照可靠性的顺序对u的比特位置(称为比特信道)进行排序。随着码长趋于无穷大,极化现象会影响比特信道的可靠性,这些比特信道要么完全有噪,要么完全无噪。此外,无噪比特信道的比例等于信道容量。有关极化码的更多详细信息,参见2009年7月的ieee信息理论学报第55卷第7期第3051页中e.arikan的“信道极化:一种为对称的二进制输入无记忆信道构造容量实现码的方法”(e.arikan,“channelpolarization:amethodforconstructingcapacityachievingcodesforsymmetricbinary-inputmemorylesschannels,”ieeetransactionsoninformationtheory,vol.55,no.7,pp.3051,july2009)。

对于有限的实际码长,比特信道的极化是不完全的。因此,存在部分有噪的比特信道。极化编码过程包括将u中的比特信道分为两组:将携带信息比特并由信息集i索引的k个良好比特信道;和固定为预定义值(通常为0)并且由冻结集f索引的n-k个不良比特信道。在码长有限的情况下,选择k个最佳比特信道,即具有最高可靠性的比特信道以形成信息集,而其余比特信道则被冻结。冻结集f对编码器和解码器均可用(见图1)。

arikan极化码基于核矩阵这种长度为n=2n且信息长度为k的极化码的编码如下。如上所述,选择大小为n-k的冻结集f。对于i∈f,输入向量u的比特ui设置为0,否则将其设置为信息比特。利用变换矩阵将码字x计算为x=ut,表示n倍(n-fold)kronecker积。作为概括,可以使用不同的核,并且可以以替代方式定义冻结集。

大多数极化码解码算法都基于连续取消(successivecancellation,sc)解码算法,该算法本质上是顺序的。可以将其视为二叉树搜索,其中,估计叶节点处的比特,以深度优先的方式遍历该树,并优先考虑左分支。在sc解码时,解码器首先进行对比特u1的决策,并将该决策反馈回解码过程;然后,其做出对比特u2的决策,并将该决策反馈回解码过程;它以这种方式进行,直到获得最后一个比特un的设计为止。除了普通的sc解码,还可以应用sc列表解码、sc堆栈解码或类似的解码算法。

乘积码是一类通过使用行分量码逐行编码信息符号矩阵,然后使用列分量码逐列编码信息符号矩阵来构造的纠错码,如图2所示。双重编码充当行和列分量码的级联。在通用乘积码中,行可以使用不同的分量码,列可以使用不同的分量码。

极化乘积码已在2018年光纤通信会议及展览中t.koike-akino等人的“用于高吞吐量光接口的不规则极化涡轮乘积编码”一文中提出(t.koike-akinoet.al.,“irregularpolarturboproductcodingforhigh-throughputopticalinterface,”inopticalfibercommunicationconferenceandexhibition,2018),其中,系统极化码用作分量码。

在乘积码中,信息比特按kc×kr数组排列,然后使用码cr独立编码kc行。之后,使用码cc对在上一步中获得的nr列进行编码。结果是一个nr×nc数组,其中行是码cr的码字,列是码cc的码字。可以通过顺序解码行和列分量码来解码乘积码。乘积码解码器通常首先解码所有行码字,这可以并行完成。接下来,使用行解码的结果,解码器对所有列码字进行解码,这可以并行完成。解码器以此方式进行一定数量的迭代,并产生所发送的比特的估计。软输入/软输出解码器通常用于通过迭代行和列的解码以及交换两个解码器之间的软信息来提高解码性能。

可以以高度的并行度对乘积码进行解码,但是良好的纠错性能是以复杂的软输入软输出解码为代价的。另一方面,由于基于sc的解码的顺序性质,极化码解码经历长的解码延迟。

使用极化码作为组成码引出了有效地组合乘积解码和分量码解码的问题。为了进行有效的乘积解码,从分量码解码输出的信息必须是软的。但是,基于sc解码的最有效的极化码解码器返回的是硬信息。极化码的软输出解码本质上是次优的,因为极化码在sc解码下实现容量,并且针对基于sc的解码算法进行构建。

鉴于上述情况,仍然需要改进的解码器和相应的方法,该解码器和方法尤其允许更有效地解码极化码码字和乘积码码字。



技术实现要素:

本发明的目的是提供改进的解码器和相应的方法,该解码器和相应的方法尤其实现更有效地解码极化码码字和乘积码码字。

通过独立权利要求的主题实现前述和其它目的。根据从属权利要求、说明书和附图,进一步的实施形式是显而易见的。

极化码可以使用基于连续取消(sc)的算法进行解码,纠错性能良好且复杂度有限;但是,基于sc的解码不能很好地并行化。另一方面,乘积解码很容易并行化,但是为了改善乘积解码的纠错性能,需要使用软输入软输出解码算法,这对极化码在计算上是复杂且次优的。在现有技术中,这两种方法之间目前尚无折衷方案。

本发明实施例解决了如何以低延迟解码极化码以及如何以增强的纠错性能解码乘积极化码的问题,这通过观察极化码属性并将乘积极化码解释为极化码来实现,反之亦然。本发明实施例允许并行化极化码的解码,并对极化码解释为乘积码进行利用,以将极化解码用作强大的后处理步骤。这允许将乘积解码的速度与对极化码最佳的解码算法(例如,连续取消(sc)解码算法)的效率相结合。

更具体地,根据第一方面,本发明涉及一种解码器,用于解码极化码码字,该极化码码字通过使用极化码编码方案对信息数据进行编码而得到,该极化码码字包括多个码值,该解码器包括处理器,该处理器被配置为:选择第一连续码值以获得第一子码字;选择第二连续码值以获得第二子码字,第二连续码值跟随第一连续码值;排列该第一子码字和该第二子码字以形成乘积码矩阵,该乘积码矩阵包括:具有第一连续码值的第一矩阵行、具有第二连续码值的第二矩阵行、包括该第一子码字和该第二子码字的码值的第一矩阵列以及包括该第一子码字和该第二子码字的码值的第二矩阵列;和使用乘积码解码方案解码该乘积码矩阵,以从该极化码码字中恢复(retrieve)该信息数据。

因此,提供了一种改进的解码器,该解码器尤其允许更有效地解码极化码码字。

在第一方面的另一可能的实现形式中,该处理器被配置为确定指示解码该乘积码矩阵时的解码质量的解码量度,并且如果该解码量度超过或等于预定阈值,则使用极化码解码方案解码该极化码码字。

在第一方面的另一可能的实现形式中,该解码量度是指示解码该乘积码矩阵时的解码错误的错误量度。

在第一方面的另一可能的实现形式中,该处理器被配置为通过分别解码该乘积码矩阵的行和/或列来解码该乘积码矩阵。

在第一方面的另一可能的实现形式中,该处理器被配置为并行解码该乘积码矩阵的至少两行,和/或并行解码该乘积码矩阵的至少两列。

在第一方面的另一可能的实现形式中,该极化码码字基于包括冻结比特的位置的冻结比特集,该冻结比特不携带信息,其中该乘积码矩阵的每一行或每一列均基于冻结比特子集,其中该处理器被配置为通过复制包括逻辑1和逻辑零的比特向量以获得复制的比特向量来确定每个冻结比特子集中的冻结比特,并将该复制的比特向量与冻结比特子集进行比较,其中该逻辑1位于该比特向量的检测到冻结比特的位置处,该逻辑零位于该比特向量的其它位置处。

根据第二方面,本发明涉及一种解码器,用于解码乘积码码字,其中该乘积码码字通过使用乘积码编码方案对信息数据进行编码而得到,该乘积码编码方案提供乘积码矩阵,该乘积码矩阵包括由该乘积码码字的值构成的矩阵行和矩阵列,每个矩阵行和矩阵列包括分量码字。该解码器包括处理器,该处理器被配置为级联分量码字以获得具有串行排列码值的级联码字,并使用极化码解码方案解码该级联码字。

因此,提供了一种改进的解码器,该解码器尤其允许更有效地解码乘积码码字。

在第二方面的另一可能的实现形式中,该处理器被配置为级联在后续矩阵行中或后续矩阵列中排列的分量码字,以获得该级联码字。

在第二方面的另一可能的实现形式中,每个分量码码字基于具有冻结比特的冻结比特子集,其中该处理器被配置为复制在行和列中排列的冻结比特子集,并且比较该复制的冻结比特子集以获得极化码码字的冻结比特集。

在第二方面的另一可能的实现形式中,该处理器被配置为:如果不同冻结比特子集的相应比特值相等,则为该冻结比特集选择比特值。特别是逻辑1。

根据第三方面,本发明涉及一种解码方法,用于解码极化码码字,其中该极化码码字通过使用极化码编码方案对信息数据进行编码而得到,该极化码码字包括多个码值。该解码方法包括以下步骤:选择第一连续码值以获得第一子码字;选择第二连续码值以获得第二子码字,第二连续码值跟随第一连续码值;排列该第一子码字和该第二子码字以形成乘积码矩阵,该乘积码矩阵包括:具有第一连续码值的第一矩阵行、具有第二连续码值的第二矩阵行、包括该第一子码字和该第二子码字的码值的第一矩阵列以及包括该第一子码字和该第二子码字的码值的第二矩阵列;和使用乘积码解码方案解码该乘积码矩阵,以从该极化码码字中恢复该信息数据。

因此,提供了一种改进的解码方法,该解码方法尤其允许更有效地解码极化码码字。

在第三方面的另一可能的实现形式中,该解码方法还包括以下步骤:确定指示解码该乘积码矩阵时的解码质量的解码量度,并且如果该解码量度超过或等于预定阈值,则使用极化码解码方案解码该极化码码字。

根据第四方面,本发明涉及一种解码方法,用于解码乘积码码字,其中该乘积码码字通过使用乘积码编码方案对信息数据进行编码而得到,该乘积码编码方案提供乘积码矩阵,该乘积码矩阵包括由该乘积码码字的值构成的矩阵行和矩阵列,每个矩阵行和矩阵列包括分量码字。该解码方法包括以下步骤:级联分量码字以获得具有串行排列码值的级联码字,以及使用极化码解码方案解码该级联码字。

因此,提供了一种改进的解码方法,该解码方法尤其允许更有效地解码乘积码码字。

根据第五方面,本发明涉及一种计算机程序,该计算机程序包括用于在计算机上运行时执行根据第二方面所述方法或根据第四方面所述方法的程序代码。

本发明可以硬件和/或软件来实现。

附图说明

将参考以下附图描述本发明的其它实施例,其中:

图1示出了包括编码器、通信信道和解码器的通信系统的示意图;

图2示出了乘积码的编码方案的示意图;

图3示出了根据实施例的用于对极化码码字进行解码的解码器和根据实施例的用于对乘积码码字进行解码的解码器的示意图;

图4示出了根据实施例的由解码器执行的极化码到乘积码的转换的示意图;

图5示出了通信系统的示意图,该通信系统包括编码器、通信信道、根据实施例的乘积码解码器和根据实施例的极化码解码器;

图6示出了根据实施例的对极化码码字进行解码的方法的示意图;和

图7示出了根据实施例的对乘积码码字进行解码的方法的示意图。

在各个附图中,相同的附图标记将用于相同或至少在功能上等同的特征。

具体实施方式

在下面的描述中,参考构成本公开的一部分的附图,附图以图解的方式示出了可以放置本发明的具体方面。应该理解,可以利用其它方面并且可以在不脱离本发明范围的情况下进行结构或逻辑上的改变。因此,以下详细描述不应被理解为限制性的,因为本发明的范围由所附权利要求书限定。

例如,应当理解,与所描述的方法有关的公开对于配置为执行该方法的相应设备或系统也可以成立,反之亦然。例如,如果描述了特定的方法步骤,则相应的设备可以包括执行所描述的方法步骤的单元,即使该单元未在图中明确描述或示出。此外,应理解,除非另外特别指出,否则本文所述的各个示例性方面的特征可以彼此组合。

如下面将更详细地描述的,本发明实施例特别提供了以低延迟解码极化码和以增强的纠错性能解码乘积极化码的优点,这通过观察极化码属性并将乘积极化码解释为极化码来实现,反之亦然。

图3示出了根据实施例的用于对极化码码字进行解码的解码器301和根据实施例的用于对乘积码码字进行解码的解码器311的示意图。

假设通过对长度为n的信息和冻结比特向量u进行编码而获得的长度为n的极化码码字x,可以从x的第一比特开始将x分为均具有nr个连续比特的nc段,并且x可以以nc×nr的矩阵x排列,使得第一列由nc段的第一比特组成,第二列由第二比特组成,等等。此外,第一行对应于第一nr比特段,第二行对应于第二段,依此类推。

给定极化码的递归性质,x的行和列分别是nr比特和nc比特长极化码的码字,被称为分量码。这种矩阵状结构是乘积码的特征,并且允许同时解码行(列)分量码。因此,可以将乘积解码应用于极化码。

更具体地说,如图3所示的解码器301可以解码使用极化码编码方案对信息数据进行编码而得到的极化码码字,并且包括处理器303,处理器303被配置为:选择第一连续码值以获得第一子码字;选择第二连续码值以获得第二子码字,第二连续码值跟随第一连续码值;排列第一子码字和第二子码字以形成乘积码矩阵,乘积码矩阵包括:具有第一连续码值的第一矩阵行、具有第二连续码值的第二矩阵行、包括第一子码字和第二子码字的码值的第一矩阵列以及包括第一子码字和第二子码字的码值的第二矩阵列;和使用乘积码解码方案解码乘积码矩阵,以从极化码码字中恢复信息数据。

在一个实施例中,处理器303被配置为确定指示解码乘积码矩阵时的解码质量的解码量度,并且如果解码量度超过或等于预定阈值,则使用极化码解码方案解码极化码码字。解码量度是指示解码乘积码矩阵时的解码错误的错误量度。

在一个实施例中,处理器303被配置为通过分别解码乘积码矩阵的行和/或列来解码乘积码矩阵,并且并行解码乘积码矩阵的至少两行,和/或并行解码乘积码矩阵的至少两列。

在另一实施例中,极化码码字基于包括冻结比特的位置的冻结比特集,冻结比特不携带信息,其中乘积码矩阵的每一行或每一列基于冻结比特子集。处理器(303)被配置为通过复制包括逻辑1和逻辑零的比特向量以获得复制的比特向量来确定每个冻结比特子集中的冻结比特,并将复制的比特向量与冻结比特子集进行比较,其中逻辑1位于比特向量的将检测到冻结比特的位置处,逻辑零位于比特向量的其它位置处。

在图4中示出了由解码器301执行的极化码到乘积码的示例性转换400。给定长度为n的极化码,可以将码字x分成长度均为个部分,并且可以将这些部分重新排列为一个在另一个下面。所得的矩阵是一个非系统的乘积码矩阵,其中每一行和每一列都是长度为的有效极化码码字。图4示出了对于n=16的极化码码字的示例400。即使长度不同于的段也适用;所得的矩阵nr×nc为矩形,但此属性仍然适用。

另一方面,乘积码的编码过程可以表示为其中是列分量码的变换矩阵的转置,tr是行分量码的变换矩阵。它们将信息矩阵u编码为乘积码字x。通过将tc和tr分别视为长度为nc和nr的两个极化码的变换矩阵,所得乘积码为乘积极化码。

x的nc行可以链接为nc×nr向量x的段,以便第一行构成第一段,第二行构成第二段,等等。给定极化码作为较小码乘积的构造,向量x是长度为nc×nr的极化码的码字。因此,极化解码可以应用于具有极化分量码的乘积码。

更具体地说,如图3所示的解码器311可以对乘积码码字进行解码,其中乘积码码字通过使用乘积码编码方案对信息数据进行编码而得到,乘积码编码方案提供乘积码矩阵,乘积码矩阵包括由乘积码码字的值构成的矩阵行和矩阵列,每个矩阵行和矩阵列包括分量码字。

此外,解码器311包括处理器313,处理器313被配置为级联分量码字以获得具有串行排列码值的级联码字,并且使用极化码解码方案解码级联码字。

在一个实施例中,处理器313被配置为级联在后续矩阵行或后续矩阵列中排列的分量码字,以获得级联码字。

在另一个实施例中,每个分量码码字基于具有冻结比特的冻结比特子集,并且处理器313被配置为复制在行和列中排列的冻结比特子集,并比较复制的冻结比特子集以获得极化码码字的冻结比特集。此外,处理器313被配置为:如果不同的冻结比特子集的相应比特值相等,则为冻结比特集选择比特值,特比是选择逻辑1。

给定上述等效性,所提出的解码方法将解码行和列分量极化码预见为第一步,其中在行和列解码阶段之间以乘积类似(product-like)方式交换信息。乘积解码可以很容易地并行化,因为所有行可以并行处理且所有列可以并行处理,这大大减少了长度为n的极化码的解码延迟。

作为第二步骤,在第一解码步骤之后仍然存在错误的情况下,使用极化解码算法对总长度为n的码进行解码。为了限制复杂度并最大化硬件重用性,可以在第一步中将相同的解码算法用于分量码,在第二步中用于整体码。可以在两个阶段的任何一个阶段中使用任何解码算法,例如硬输出算法,如基于sc的解码算法,和软输出解码算法,如置信传播或软消除(scan)算法。

所提出的解码过程的速度和实现复杂度取决于实例化的并行分量码解码器的数量、乘积类似迭代次数以及激活第二解码步骤的次数百分比。

图5示出了图示通信系统500的示意图,通信系统500包括编码器501、通信信道503、根据实施例的乘积码解码器311和根据实施例的极化码解码器301。图5中的修改的传输系统500示出了如上所述的新解码架构。

本发明实施例提供了三种新颖的解码方法。它们基于上述观察结果,即可以将极化码码字分为具有行和列极化分量码的乘积码行,反之亦然。

首先,可以使用极化码解码算法对极化乘积码进行解码。其次,可以使用乘积码解码算法来解码极化码。第三,可以通过以下步骤执行混合解码方法:第一步是将码视为乘积码并应用乘积码解码,即对行和列极化分量码进行迭代解码以及在两个阶段之间交换信息;第二步是将码视为长度为n的单个极化码,并在第一步之后存在错误的情况下应用极化解码。

如上所述的第一解码步骤允许极化码解码过程的并行化,从而减少延迟。可以根据实例化的并行分量码解码器的数量来调整实现复杂性。第二解码步骤通过对较长码的解码来加强解码过程从而改进纠错性能。它以概率γ激活。随着信道条件的改善,γ趋于为0,因此对平均解码延迟的影响可忽略不计。为了限制第二步的实现复杂度,可以将相同的解码算法用于第二步,也可以将其用于第一步的分量码,从而使资源共享最大化。

图6示出了对极化码码字进行解码的方法600的示意图,其中极化码码字通过使用极化码编码方案对信息数据进行编码而得到,并且极化码码字包括多个码值。

解码方法600包括以下步骤:第一步骤601,选择第一连续码值以获得第一子码字;第二步骤603,选择第二连续码值以获得第二子码字,第二连续码值跟随第一连续码值;第三步骤605,排列第一子码字和第二子码字以形成乘积码矩阵,该乘积码矩阵包括具有第一连续码值的第一矩阵行和具有第二连续码值的第二矩阵行以及包括第一子码字和第二子码字的码值的第一矩阵列、包括第一子码字和第二子码字的码值的第二矩阵列;第四步骤607,使用乘积码解码方案解码乘积码矩阵,以从极化码码字中恢复信息数据。

图7示出了对乘积码码字进行解码的方法700的示意图,其中乘积码码字通过使用乘积码编码方案对信息数据进行编码而得到,乘积码编码方案提供乘积码矩阵,乘积码矩阵包括由乘积码码字的值构成的矩阵行和矩阵列,每个矩阵行和矩阵列包括分量码字。

解码方法700包括:步骤701,级联分量码字以获得具有串行排列码值的级联码字;以及步骤703,使用极化码解码方案解码级联码字。

虽然本公开的特定特征或方面可以仅就几个实现方式或实施例中的一个来公开,但是这种特征或方面可以与其它实现方式或实施例的一个或多个其它特征或方面组合,这是期望的并且对任何给定或特定应用有利的。此外,详细的说明书或权利要求书中使用的术语“包括”、“具有”、“伴随”或其其它变形旨在以类似于术语“包括”的方式不排它地包含。同样,术语“示例性”、“例如”和“如”仅作为示例,而不是最佳或最优。可能已经使用了术语“耦合”和“连接”以及派生词。应当理解,这些术语可能已经被用于指示两个元件彼此协作或相互作用,而不管它们是直接物理接触还是电接触,或者它们不是彼此直接接触。

尽管本文已经图示和描述了特定方面,但是本领域普通技术人员将理解,在不脱离本公开范围的情况下,各种替代和/或等效实现方式可以替代所示出和描述的特定方面。本申请旨在覆盖本文讨论的特定方面的任何改编或变型。

尽管以下权利要求中的元件以带有相应标记的特定顺序来叙述,除非权利要求陈述另外暗示用于实现那些元件中的一些或全部的特定顺序,否则那些元件不必旨在限于以该特定顺序来实现。

根据上述教导,对于本领域技术人员来说,许多备选方案、修改和变型将是显而易见的。当然,本领域技术人员可以容易地认识到,除了本文所述的以外,本发明还有许多应用。尽管已经参考一个或多个特定实施例描述了本发明,但是本领域技术人员认识到可以在不脱离本发明范围的情况下对其进行许多改变。因此,应当理解,在所附权利要求及其等同物的范围内,本发明可以不同于本文具体描述的方式实践。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1