译码方法和装置与流程

文档序号:17488308发布日期:2019-04-23 20:10阅读:175来源:国知局
译码方法和装置与流程

本发明涉及数据处理领域,具体而言,涉及一种译码方法和装置。



背景技术:

zigzag码是一种采用“之”形结构构造的奇偶校验码。级联结构的zigzag码可通过多维度的并行级联方式进行构造,其编码结构可如图1所示。在此结构中,一个k维级联结构的zigzag码可以有参数(i,j,k)进行描述。信息序列首先可排列为一个i×j的信息矩阵d,而后此信息矩阵经过不同的k个交织器后再进行zigzag编码,将编码后产生的校验比特提取出来,组成校验向量p1,p2,…,pk,而后,完成级联编码后的信息矩阵与校验向量可组成一个新的码字矩阵,其结构可如图2所示。

然而单一的zigzag码的最小距离为2,因此,其纠错能力较弱。通常zigzag码往往配合级联结构进行使用,而在级联结构中,zigzag码有着非常优异的性能。级联结构对信道编码的构造提供了极大的灵活性,现在通信领域中有着广泛的应用。

而在译码端,级联的zigzag编码通常采用迭代译码的方式,迭代译码的核心思想即为通过低相关度的互信息交换来提升译码码字的后验概率。通常,max-log-app算法所谓一种次优算法较为广泛的应用于级联的zigzag编码中,由于其复杂度较低,具有较好的工程实现前景。

然而在另一方面,在迭代译码的级联zigzag码中,其相对于最优的后验信息的译码算法如map算法等,仍然具有一定的性能损失,此部分性能损失主要表现在:

1、在同一信噪比条件下,达到某一误码率指标所需的译码迭代次数较高;

2、在相同的译码迭代次数下,达到某一误码率指标所需的信噪比条件较高。

针对现有技术中译码器在使用次优方法译码的过程中性能损失较大的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种译码方法和装置,以至少解决现有技术中译码器在使用次优方法译码的过程中性能损失较大的技术问题。

根据本发明实施例的一个方面,提供了一种译码方法,包括:确定译码器在迭代译码过程中的互信息调整参数;通过互信息调整参数调整第一互信息,得到第二互信息,其中,第一互信息根据当前支路在译码后所得的后验信息和当前支路的先验信息确定;使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。

进一步地,获取预设的互信息调整参数;或根据当前支路的先验信息和第一互信息确定自适应互信息调整参数。

进一步地,获取待译码矩阵中每个元素对应的中间值,其中,中间值根据当前支路的先验信息和第一互信息确定;获取每个元素与对应的中间值的第一乘积,以及待译码矩阵的行和列的第二乘积;确定第一乘积与第二乘积之比为自适应互信息调整参数。

进一步地,在当前支路的先验信息和第一互信息均大于零或均小于零的情况下,确定元素的中间值为1,否则,确定中间值为0。

进一步地,确定互信息调整参数与第一互信息的乘积作为第二互信息。

进一步地,将当前支路的先验信息与其他支路的第二互信息相加,得到当前支路在下一级支路时的先验信息。

进一步地,将交织后的此次迭代时的先验信息和当前支路对应的校验信息进行译码,得到当前迭代译码的译码结果,其中,校验信息从待译码矩阵中划分得到;将译码结果进行解交织;对解交织后的译码结果进行判决,其中,判决用于确定当前迭代译码的译码结果是否为待译码矩阵的译码结果。

进一步地,在不进行校验的情况下,当迭代译码次数达到目标迭代次数时,确定目标次数迭代译码得到的译码结果为待译码矩阵的译码结果;在进行校验的情况下,如果在达到目标迭代次数之前校验成功,则确认校验成功时的译码结果为待译码矩阵的译码结果。

进一步地,在进行校验的情况下,如果当达到目标迭代次数时未校验成功的情况下,则确定最后一次迭代译码的译码结果为待译码矩阵的译码结果。

根据本发明实施例的另一方面,还提供了一种译码装置,包括:第一确定模块,用于确定译码器在迭代译码过程中的互信息调整参数;调整模块,用于通过互信息调整参数调整第一互信息,得到第二互信息,其中,第一互信息根据当前支路在译码后所得的后验信息和当前支路的先验信息确定;译码模块,用于使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的译码方法。

根据本发明实施例的另一方面,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行上述的译码方法。

在本发明实施例中,确定译码器在迭代译码过程中的互信息调整参数,通过互信息调整参数调整第一互信息,得到第二互信息,使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。上述方案通过确定互信息调整参数来调整用于下一级支路的互信息,从而在不断的迭代与互信息交换的过程中,不断提升其输出信息的可靠度,进而解决了现有技术中译码器在使用次优方法译码的过程中性能损失较大的技术问题。使得在同一信噪比条件下,达到某一误码率指标所需的译码迭代次数将减少,提高了工程中的整体译码延时与资源消耗,在相同的译码迭代次数下,达到某一误码率指标所需的信噪比条件较低,提高了整体性能,加强了相应的级联译码的纠错能力。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种级联zigzag码编码结构示意图;

图2是根据现有技术的一种完成级联zigzag编码后的码字矩阵示意图;

图3是根据本发明实施例的译码方法的流程图;

图4是根据本发明实施例的一种互信息自适应调整的迭代译码器的结构示意图;以及

图5是根据本发明实施例的译码装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种译码方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

基于级联zigzag编码的特点,其具有较强的纠错性能,然而,部分最优算法的复杂程度较高,在这样的情况下,可以使用具有较低复杂度的max-log-app算法,使得实现时的资源消耗较低,但其性能相较于使用最优算法译码的级联zigzag编码来说较差。因此本申请提出一种译码方法,能在使用较低复杂度的max-log-app算法的同时,保证其译码性能。

图3是根据本发明实施例的译码方法的流程图,如图3所示,该方法包括如下步骤:

步骤s31,确定译码器在迭代译码过程中的互信息调整参数。

具体的,互信息是一种信息度量,可以用于表征一个随机变量中包含的关于另一个随机变量的信息量,也即一个随机变量由于已知另一个随机变量而减少的不肯定性。在译码的过程中,互信息会在进行下一级支路译码时与输入信息叠加,从而进行下一级支路的译码。

上述互信息调整参数用于在每一级迭代结束之后,进行下一级迭代之前,对下一及迭代所用的互信息进行调整,得到用于下一级支路的新的互信息。互信息调整成参数的取值范围可以是是0≤α≤1。

步骤s33,通过互信息调整参数调整第一互信息,得到第二互信息,其中,第一互信息根据当前支路在译码后所得的后验信息和当前支路的先验信息确定。

在上述步骤中,第一互信息可以为当前支路在译码后所得的后验信息与当前支路的先验信息之差,需要说明的是,在初次迭代过程中所使用的互信息可以为0。

在一种可选的实施例中,可以通过如下公式确定第一互信息:

其中,为第一互信息,为当前支路在译码后所得的后验信息,为当前支路的先验信息,k表示第k条支路,it为表示迭代次数。

步骤s35,使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。

此处需要说明的是,对待译码矩阵,根据信道条件计算经信道传输后的信道条件转移概率,而后计算该信道条件转移概率的对数似然比(llr),并进行信息比特和校验比特的划分,由于首次迭代译码时的互信息为0,在编码端信息比特为独立同分布的情况下,对于首次迭代译码,经信道传输后即可得到信道条件转移概率的对数似然比(llr)信息即为首次迭代译码的先验信息。

在进行非首次迭代译码时,则需要使用第二互信息确定当前支路的先验信息,并根据当前支路的先验信息进行迭代译码。

由上可知,本申请上述实施例确定译码器在迭代译码过程中的互信息调整参数,通过互信息调整参数调整第一互信息,得到第二互信息,使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。上述方案通过确定互信息调整参数来调整用于下一级支路的互信息,从而在不断的迭代与互信息交换的过程中,不断提升其输出信息的可靠度,进而解决了现有技术中译码器在使用次优方法译码的过程中性能损失较大的技术问题,使得在同一信噪比条件下,达到某一误码率指标所需的译码迭代次数将减少,提高了工程中的整体译码延时与资源消耗,在相同的译码迭代次数下,达到某一误码率指标所需的信噪比条件较低,提高了整体性能,加强了相应的级联译码的纠错能力,在不增加整体结构及算法的复杂程度的基础上提高译码算法的性能。

可选的,根据本申请上述实施例,确定译码器在迭代译码过程中的互信息调整参数,包括:

步骤s311,获取预设的互信息调整参数;或根据当前支路的先验信息和第一互信息确定自适应互信息调整参数。

具体的,上述方案提出了两种获取互信息调整参数的方式,下面依次进行描述:

第一种方式:获取预设的互信息调整参数,在这种方式中,互信息调整参数的取值可根据实际工程经验与仿真进行调整,也即每次迭代时均选取相同的互信息调整参数α,α<1。

第二种方式:根据当前支路的先验信息和第一互信息确定自适应互信息调整参数,每次迭代中在互信息的交换过程中,α的取值由小变大,并最终达到1并保持。

第二种方式实际为一种自适应的互信息调整方式,根据当前支路的先验信息与第一互信息来确定互信息调整参数,能够根据此次迭代结果的可靠性来确定进行下一级支路时,调整互信息的互信息调整参数。

可选的,根据本申请上述实施例,根据当前支路的先验信息和第一互信息确定自适应互信息调整参数,包括:

步骤s3111,获取待译码矩阵中每个元素对应的中间值,其中,中间值根据当前支路的先验信息和第一互信息确定。

步骤s3113,获取每个元素与对应的中间值的第一乘积,以及待译码矩阵的行和列的第二乘积。

步骤s3115,确定第一乘积与第二乘积之比为自适应互信息调整参数。

在一种可选的实施例中,仍以zigzag码为例,可以通过如下公式确定自适应互信息调整参数:

其中,αk,it为自适应互信息调整参数,βk,it(di,j)为每个元素对应的中间值,i和j为级联zigzag码的两个参数,即为第一乘积,ij即为第二乘积。

可选的,根据本申请上述实施例,获取待译码矩阵中每个元素对应的中间值,包括:

在当前支路的先验信息和第一互信息均大于零或均小于零的情况下,确定元素的中间值为1,否则,确定中间值为0。

在一种可选的实施例中,可以通过如下公式确定每个元素对应的中间值:

其中,βk,it(di,j)表示中间值,表示信息比特(di,j)对应的当前支路的先验信息,sign为符号函数,用于取函数的符号,当元素的先验信息与第一互信息均大于零或均小于零时,即符号相同时,中间值βk,it(di,j)为1,在其他情况下中间值βk,it(di,j)为0。

结合上述步骤可以知晓,上述确定自适应互信息调整参数的方式实际是一种确定互信息可靠性的方式,自适应互信息调整参数用于评估互信息的可靠性。当前支路的先验信息和第一互信息的符号相同的元素越多,得到的自适应互信息调整参越大,也即互信息的可靠性越高。

可选的,根据本申请上述实施例,根据互信息调整参数和第一互信息确定第二互信息,包括:

步骤s331,确定互信息调整参数与第一互信息的乘积作为第二互信息。

在一种可选的实施例中,可以通过如下公式确定第二互信息:

其中,为第二互信息,αk,it为互信息调整参数,为第一互信息,k表示第k条支路,it为表示迭代次数。

可选的,根据本申请上述实施例,使用第二互信息确定下一级支路的先验信息,包括:将当前支路的先验信息与其他支路的第二互信息相加,得到当前支路在下一级支路时的先验信息。

需要说明的是,初始互信息为0,对于首次迭代译码,进行交织的先验信息即为道条件转移概率的对数似然比。对于非首次迭代译码,在一种可选的实施例中,可以通过如下公式确定下一级支路译码时的先验信息:

其中,为当前支路所需获取的先验信息,lch(d)为信道条件转移概率的似然比,为其他支路的第二互信息。

在一种可选的实施例中,以基于max-log-app算法的迭代译码作为示例进行说明。图4是根据本发明实施例的一种互信息自适应调整的迭代译码器的结构示意图,结合图4所示,lch表示不同校验比特和信息比特经过信道后所得的信道条件转移概率的对数似然比。

首先,所对应信息比特的先验信息将按级联支路所对应的交织器进行顺序匹配得到然后将与校验比特信信息共同输入至译码器。此处校验比特的信息在迭代译码的过程中均不会被更新,由lch中所对应的校验比特部分决定。经过基于max-log-app算法的zigzag译码器进行支路所对应的zigzag码译码,并进行解交织得到再根据互信息调整参数进行互信息的调整,而调整后的互信息将通过如上方法处理后作为下一级支路译码器的先验信息。

可选的,根据本申请上述实施例,根据下一级支路的先验信息进行迭代译码,包括:

步骤s351,将交织后的下一级支路的先验信息和下一级支路对应的校验信息进行译码,得到下一级支路的译码结果,其中,校验信息从待译码矩阵中划分得到。

在上述步骤中,在进行首次迭代时,从第1级级联所对应的交织器对先验信息进行交织,同理,在进行之后的第it次迭代,第k级级联支路译码时,依次按照第k级级联所对应的交织器对先验信息进行交织。

步骤s353,将译码结果进行解交织。

步骤s355,对解交织后的译码结果进行判决,其中,判决用于确定当前迭代译码的译码结果是否为待译码矩阵的译码结果。

具体的,上述判决步骤可以用于确定将此次解交织后的译码结果作为待译码矩阵的译码结果,还是继续进行下一级支路的迭代译码。作为一种可选的实施例,可以根据对解交织后的译码结果进行校验,来进行判决,作为一种可选的实施例,对解交织后的下一级支路译码的译码结果进行判决,包括:

步骤s3571,在不进行校验的情况下,当迭代译码次数达到目标迭代次数时,确定目标次数迭代译码得到的译码结果为待译码矩阵的译码结果。

具体的,上述目标迭代次数可以是预先设定的迭代次数,采用本申请的译码方法,在设定目标迭代次数的情况下,与现有技术中的译码方法相比,当迭代次数达到目标迭代次数时,能够达到较好的误码率,同时,达到某一误码率指标所需的信噪比条件较低。

步骤s3573,在进行校验的情况下,如果在达到目标迭代次数之前校验成功,则确认校验成功时的译码结果为待译码矩阵的译码结果。

由于本申请上述译码方法提高了译码性能,因此与现有技术中的译码方法相比,在同一信噪比条件下,达到某一误码率指标所需的译码迭代次数将减少。当在达到目标迭代次数之前就校验成功时,可以停止迭代,将解交织后的译码结果作为待译码矩阵的译码结果。

可选的,根据本申请上述实施例,在进行校验的情况下,在进行校验的情况下,如果当达到目标迭代次数时未校验成功,则确定最后一次迭代译码的译码结果为待译码矩阵的译码结果。

下面以图4中示出的译码器为示例,对其译码流程进行说明,在该示例中,译码器的待译码矩阵为y,k表示第k条支路,it为表示迭代次数:

1)根据待译码矩阵y,进行相应的对数似然比(llr)计算,并划分得到信息比特和校验比特,可得根据信道传输后所得的[lch(d),lch(p1),…,lch(pk)]。此处可以设置最大译码迭代次数。

2)获得初次译码时的信息比特先验信息,若假设原始信息比特为独立同分布的,则首次译码先验信息的llr为初始化译码级联计数器与迭代计数器,均为k=1,it=1。

3)经过第1级级联所对应的交织器得到交织后的结果

4)利用交织后的结果联合第k级级联所对应的校验比特信息进行max-log-app译码,其中,中分离得到。

5)译码后的输出经过相应的解交织器得到

6)进行译码所得的互信息计算,互信息

7)根据互信息调整参数进行互信息的调整,得到调整后的互信息也即用于进行下一级支路的互信息。

8)译码级联计数器与迭代计数器进行更新,k=k+1,当k=k(大写k表示总的支路数量)时,则k=1,it=it+1。此时,针对第1路级联第1次译码,更新为k=2,it=1(设k>1)。

9)对译码结果进行判决,此处可有进行校验或不进行校验两种选择。

若进行检验,则校验通过且未达到最大译码迭代次数时,译码截止,硬判决后输出结果;若达到最大译码迭代次数时校验仍不通过,进入译码步骤10。

若不进行校验,则达到最大译码迭代次数,译码截止,硬判决后输出结果;在未达到最大译码迭代次数时,进入译码步骤10。

10)通过公式,计算用于下一级支路的先验信息,而后返回步骤3,进行迭代译码。

实施例2

根据本发明实施例,提供了一种译码装置的实施例,图5是根据本发明实施例的译码装置的示意图,如图5所示,该装置包括:

确定模块50,用于确定译码器在迭代译码过程中的互信息调整参数。

调整模块52,用于通过互信息调整参数调整第一互信息,得到第二互信息,其中,第一互信息根据当前支路在译码后所得的后验信息和当前支路的先验信息确定。

译码模块54,用于使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。

由上可知,本申请上述实施例通过确定模块确定译码器在迭代译码过程中的互信息调整参数,采用调整模块通过互信息调整参数调整第一互信息,得到第二互信息,通过译码模块使用第二互信息确定下一级支路的先验信息,并根据下一级支路的先验信息进行迭代译码。上述方案通过确定互信息调整参数来调整用于下一级支路的互信息,从而在不断的迭代与互信息交换的过程中,不断提升其输出信息的可靠度,进而解决了现有技术中译码器在使用次优方法译码的过程中性能损失较大的技术问题。使得在同一信噪比条件下,达到某一误码率指标所需的译码迭代次数将减少,提高了工程中的整体译码延时与资源消耗,在相同的译码迭代次数下,达到某一误码率指标所需的信噪比条件较低,提高了整体性能,加强了相应的级联译码的纠错能力。

实施例3

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备实施例1中所述的译码方法。

实施例4

根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,所述程序运行时执行实施例1中所述的译码方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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