一种译码方法和译码装置

申请号 CN201280000205.9 申请日 2012-02-14 公开(公告)号 CN102742164A 公开(公告)日 2012-10-17
申请人 华为技术有限公司; 发明人 李扬; 金丽丽; 赵羽; 肖治宇;
摘要 本 发明 实施例 提供了一种译码方法和装置,能够降低输出误码率,译码简单,从而提升了系统的抗干扰能 力 。该方法包括:对多维码进行 迭代 译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量;确定所述对多维码进行迭代译码获得的不可纠码字中的错误比特 位置 ,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置;根据确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量;在纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的多维码进行迭代译码。本发明实施例适用译码技术领域。
权利要求

1.一种译码方法,其特征在于,包括:
对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量;
确定所述对多维码进行迭代译码获得的不可纠码字中的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置;
根据确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量;
在纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的多维码进行迭代译码。
2.根据权利要求1所述的方法,其特征在于,所述确定所述对多维码进行迭代译码获得的不可纠码字中的错误比特位置包括:确定所述不可纠码字中错误比特数最多的不可纠码字的错误比特位置;
根据确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特包括:根据确定的所述不可纠码字中错误比特数最多的不可纠码字的错误比特位置纠正所述不可纠码字中错误比特数最多的不可纠码字的错误比特。
3.根据权利要求2所述的方法,其特征在于,所述迭代译码具体为采用BCH或RS译码方法对所述多维码进行译码。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述多维码具体为卷积交织码。
5.一种译码装置,其特征在于,包括:
第一译码单元,用于对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量;
位置确定单元,用于确定所述第一译码单元获得的不可纠码字中的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置;
错误纠正单元,用于根据所述位置确定单元确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量;
第二译码单元,用于在错误纠正单元纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的多维码进行迭代译码。
6.根据权利要求5所述的装置,其特征在于,所述位置确定单元具体用于确定所述不可纠码字中错误比特数最多的不可纠码字的错误比特位置;
所述错误纠正单元具体用于根据所述位置确定单元确定的所述错误比特数最多的某一维的码字的错误比特位置纠正所述不可纠码字中错误比特数最多的不可纠码字的错误比特。
7.根据权利要求6所述的装置,其特征在于,所述第一译码单元和第二译码单元采用BCH或RS译码方法对所述多维码进行译码。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述多维码具体为卷积交织码。

说明书全文

一种译码方法和译码装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及到一种译码方法和译码装置。

背景技术

[0002] 通信系统中,我们希望尽可能的减少数据传输过程中的误码率,如采用前向误码纠错(Forward error Correction,简称:FEC)算法。FEC是一种使用预定算法,将冗余与被传输的数据一起传送的技术。接收设备具有根据所述冗余来检测和纠正可能在传输期间所产生的多个比特错误的能。但是由于某些固定错误模式的存在,使得系统的输入误码率减小的情况下,系统的输出误码率会仍然不会变化。这种输入误码率减小输出误码率几乎不变的情况称为错误平层error floor,从而致使系统无法容忍。
[0003] 为了对抗error floor,现有技术中有通过提取译码软信息给下一级参考、增加纠错准确率或者增加单次译码正确率或限制译码初期的容量避免错误繁殖等方案,但是总体来说以上方案很难将error floor降低至系统的要求,且译码纠错方法复杂。

发明内容

[0004] 本发明的实施例提供一种译码的方法和装置,能够降低输出误码率,译码简单,从而提升了系统的抗干扰能力。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 一种译码方法,包括:
[0007] 对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量;
[0008] 确定所述对多维码进行迭代译码获得的不可纠码字中的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置;
[0009] 根据确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量;
[0010] 在纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的多维码进行迭代译码。
[0011] 一种译码装置,包括:
[0012] 第一译码单元,用于对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量;
[0013] 位置确定单元,用于确定所述第一译码单元获得的不可纠码字中的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置;
[0014] 错误纠正单元,用于根据所述位置确定单元确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量;
[0015] 第二译码单元,用于在错误纠正单元纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的不可纠码字进行迭代译码。
[0016] 本发明实施例提供了一种译码方法和装置,首先通过对码字进行迭代译码,获得不可纠的码字,然后确定获得的所述不可纠码字的错误比特位置,然后实时的对确定的所述不可纠码字的部分错误比特进行纠正,从而能够降低输出误码率,同时该译码方法简单,从而提升了系统的抗干扰能力。附图说明
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1为本发明实施例提供的一种译码方法的流程图
[0019] 图2为本发明实施例提供的另一种译码方法的流程图;
[0020] 图3(a)为一种码字的固定模式错误示意图;
[0021] 图3(b)为另一种码字的固定模式错误示意图;
[0022] 图4为又一种码字的固定模式错误示意图;
[0023] 图5为本发明实施例提供的一种译码装置的结构框图

具体实施方式

[0024] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025] 实施例一、
[0026] 本发明实施例一提供了一种译码方法,如图1所示,包括:
[0027] S101、对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量。
[0028] 具体的,多维码可以是卷积交织码,多维码为二维以上的编码,包括二维码。所述不可纠码字具体是某些固定错误模式形成的码字,如“井”形。举例来说,如图3(a)、图3(b)所示,示例性的一个圆圈表示1比特。图3(a)中,该二维码的容量为1,该多维码中的错误比特A、B对应的平方向的码字1的错误比特数为2,该错误比特A、B对应的垂直方向的码字3和4的错误比特数也分别为2,码字1、码字2、码字3、码字4的错误比特的数量都大于二维码的容量,采用BCH(Bose、Ray-Chaudhuri、Hocquenghem)、RS(Reed-solomon codes,里所码)译码方法进行迭代译码无法纠正这个多维码的错误比特。这样译码器则认为这个二维码中的码字1、码字2、码字3和码字4是不可纠的码字。图3(b)中,该多维码的容量为1,图中实线穿过的圆圈组成码字1,长虚线穿过的圆圈组成码字2,短虚线穿过的圆圈组成码字3,其中实线圆圈表示错误比特,该多维码的错误比特对应的每一维码字的错误比特数都大于1,即码字1-3也是不可纠码字。
[0029] S102、确定所述对多维码进行迭代译码获得的不可纠码字中的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置。
[0030] 译码器获得所述不可纠码字后,译码器可以采用现有技术的BCH、RS等译码方法来确定,也可以采用封闭解法计算错误比特的位置和值,在此不再赘述。当然该不可纠码字的错误比特的位置具体为该错误比特在所述多维码中的多维坐标值。如图3(a)所示,码字1的错误比特的二维坐标值分别为(4,4)、(4,6),码字2的错误比特的二维坐标值分别为(6,4)、(6、6),码字3的错误比特的二维坐标值分别为(4,4)、(6,4),码字4的错误比特的二维坐标值分别为(4,6)、(6、6)。图3(b)所述,码字1的错误比特的二维坐标值分别为(9,4)和(9,7);码字2的错误比特的二维坐标值为(9,4)和(12,4);码字3的错误比特的二维坐标值为(9,7)和(12,4)。
[0031] S103、根据确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量。
[0032] 在确定所述不可纠码字中的错误比特位置后,译码器可以只纠正该多维码中的部分不可纠码字的错误比特。如图3(b)的多维码,译码器可以只纠正码字1中的错误比特,或者纠正码字2中的错误比特,或者纠正码字1,2,3的两个码字或三个码字的任意组合的错误比特,从而可以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量。
[0033] S104、在纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的多维码进行迭代译码。
[0034] 进一步的,在译码器对所述多维码中的部分不可纠码字进行错误纠正后,对所述多维码字中剩余的其它错误比特可以采用现有的译码器,如BCH、RS译码器对该不可纠码字进行迭代译码,从而完成译码。
[0035] 本发明实施例提供了一种译码方法和装置,首先通过对码字进行迭代译码,获得不可纠的码字,然后确定获得的所述不可纠码字的错误比特位置,然后实时的对确定的所述不可纠码字的部分不可纠码字的错误比特进行纠正,从而能够降低输出误码率,同时该译码方法简单,从而提升了系统的抗干扰能力。
[0036] 实施例二、
[0037] 本发明实施例提供了一种译码方法,如图2所示,包括:
[0038] S201、对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量。
[0039] 数据信息在信道传输前为了防止数据信息丢失或受到干扰,需要对数据信息编码。在接收端,译码器对进行信道n维编码的信息纠错并恢复原码字,这个过程称为译码,其中n>=2。现有技术中通常首先沿着码字的第一维译码,然后沿着第二维,然后沿着第三维至第n维译码。进一步的为了改进错误纠正的能力,一般执行类似于上述的方法(即在第一、第二、第三、……、第n维中译码)的许多次(m)迭代。
[0040] 具体的,在接收端,译码方法可以是BCH、RS等译码方法对码字进行m次迭代译码。不同的译码器具有不同的码字容量,即表示不同的译码器具有不同的纠错能力。例如,译码器的码字容量为3,即译码器的纠错能力t=3。这样在译码器对多维码进行m次迭代译码后,若多维码的某一错误比特所在的多维方向的码字中都存在多个错误比特,且该多维码的某一错误比特所在的每一维的错误比特数都大于译码器的容量,这样译码器认为该错误比特所在的每一维的码字为不可纠的码字。具体如图3(a)、图3(b)所示,示例性的一个圆圈表示1比特。图3(a)中,该二维码的容量为1,该多维码中的错误比特A、B对应的水平方向的码字1的错误比特数为2,该错误比特A、B对应的垂直方向的码字的错误比特数也分别为2,码字1、码字2、码字3、码字4的错误比特的数量都大于二维码的容量,采用BCH、RS译码器进行迭代译码无法纠正这个多维码的错误比特。这样译码器则认为这个二维码中的码字1、码字2、码字3和码字4是不可纠的码字。图3(b)中,该多维码的容量为1,图中实线穿过的圆圈组成码字1,长虚线穿过的圆圈组成码字2,短虚线穿过的圆圈组成码字3,其中实线圆圈表示错误比特,该多维码的错误比特对应的每一维码字的错误比特数都大于1,即码字1-3也是不可纠码字。
[0041] S202、确定所述对多维码进行迭代译码获得的不可纠码字中错误比特数最多的不可纠码字的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置。
[0042] 在获得所述不可纠码字后,译码器确定该不可纠码字的错误比特位置。译码器确定该不可纠码字中的错误比特位置可以采用现有技术的BCH、RS等译码方法来确定,也可以采用封闭解法计算错误比特的位置和值,在此不再赘述。当然该不可纠码字中的错误比特位置具体为该错误比特在所述不可纠码字中的多维坐标位置。如图3(a)所示,码字1的错误比特的二维坐标值分别为(4,4)、(4,6),码字2的错误比特的二维坐标值分别为(6,4)、(6、6),码字3的错误比特的二维坐标值分别为(4,4)、(6,4),码字4的错误比特的二维坐标值分别为(4,6)、(6、6)。图3(b)所述,码字1的错误比特的二维坐标值分别为(9,4)和(9,7);码字2的错误比特的二维坐标值为(9,4)和(12,4);码字3的错误比特的二维坐标值为(9,7)和(12,4)。
[0043] 进一步的,为了提高译码的速率,译码器可以只确定该不可纠码字中错误比特数最多的不可纠码字的错误比特位置,实时纠正错误比特数最多的不可纠码字的错误比特,从而不需要对该不可纠码字进行存储,快速有效的打破error floor的模式。
[0044] 例如,卷积交织码可以根据概率统计计算出误码相对多的错误比特较多的码字,通常在卷积交织码中,错误比特数最多的码字为第一个码字。
[0045] S203、根据确定的所述不可纠码字中的错误比特位置纠正所述不可纠码字中错误比特数最多的不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量。
[0046] 当然为了降低译码的复杂度,在确定所述不可纠码字中的错误比特位置后,可以只纠正错误比特数最多的不可纠码字。若每一维的码字的错误比特数相同,则任意确定某一维的码字的错误比特的位置。
[0047] 如图4所示,该卷积交织码的不可纠码字的容量为3,图4中的每条连续实线穿过的圆圈组成一个码字,如图4中的码字1-5。其中码字1的错误比特数为5,码字2、3、4、5的错误比特数都为4个。其中码字1的错误比特数最多,译码器可直接对码字1进行纠正。对码字1进行纠正后,码字2、3、4的错误比特数变为3个,该译码器则可以采用现有的译码方法对该码字进行译码。
[0048] S204、在纠正了所述多维码中的部分不可纠码字的错误比特后,对所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的多维码进行迭代译码。
[0049] 进一步的,在对所述多维码进行错误纠正后,可以采用现有的译码方法,如BCH、RS译码方法对该不可纠码字进行迭代译码,从而完成译码。
[0050] 本发明实施例提供的译码方法,首先通过对码字进行迭代译码,获得不可纠的码字,并确定多维码中的错误比特数最多的不可纠码字和错误比特的位置,然后实时的对错误比特数最多的不可纠码字进行纠正,从而能够降低输出误码率,同时该译码方法简单,从而提升了系统的抗干扰能力。
[0051] 实施例三、
[0052] 本发明实施例提供了一种译码装置50,如图5所示,包括:第一译码单元51、位置确定单元52、错误纠正单元53和第二译码单元54。
[0053] 第一译码单元51,用于对多维码进行迭代译码获得不可纠码字,所述不可纠码字的错误比特所在的每一维的码字的错误比特数大于所述多维码的容量。
[0054] 数据信息在信道传输前为了防止数据信息丢失或受到干扰,需要对数据信息编码。在接收端,译码装置对进行信道n维编码的信息纠错并恢复原码字,这个过程称为译码,其中n>=2。现有技术中通常首先沿着码字的第一维译码,然后沿着第二维,然后沿着第三维至第n维译码。进一步的为了改进错误纠正的能力,一般执行类似于上述的方法(即在第一、第二、第三、……、第n维中译码)的许多次(m)迭代。
[0055] 具体的,在接收端,第一译码单元51可以采用BCH、RS等译码方法对码字进行m次迭代译码。第一译码单元51具有一定的码字容量,即表示第一译码单元51具有一定的纠错能力。例如,第一译码单元51的码字容量为3,即第一译码单元51的纠错能力t=3。这样在第一译码单元51对多维码进行m次迭代译码后,若多维码的某一错误比特所在的多维方向的码字中都存在多个错误比特,且该多维码的某一错误比特所在的每一维的错误比特数都大于第一译码单元51的容量3,这样第一译码单元51认为该错误比特所在的每一维的码字都为不可纠的码字。具体如图3(a)、图3(b)所示,示例性的一个圆圈表示1比特。图3(a)中,该二维码的容量为1,该多维码中的错误比特A、B对应的水平方向的码字1的错误比特数为2,该错误比特A、B对应的垂直方向的码字的错误比特数也分别为2,码字1、码字
2、码字3、码字4的错误比特的数量都大于二维码的容量,第一译码单元51若采用BCH、RS译码方法进行迭代译码则无法纠正这种多维码的错误比特。这样第一译码单元51则认为这样的二维码中的码字1、码字2、码字3和码字4是不可纠的码字。图3(b)中,该多维码的容量为1,图中实线穿过的圆圈组成码字1,长虚线穿过的圆圈组成码字2,短虚线穿过的圆圈组成码字3,其中实线圆圈表示错误比特,该多维码的错误比特对应的每一维码字的错误比特数都大于1,即码字1-3也是不可纠码字。
[0056] 位置确定单元52,用于确定所述第一译码单元51获得的不可纠码字中的错误比特位置,所述不可纠码字中的错误比特位置为所述错误比特在所述多维码中的多维坐标位置。
[0057] 在获得所述不可纠码字后,位置确定单元52确定该不可纠码字的错误比特位置。位置确定单元52确定该不可纠码字中的错误比特位置可以采用现有技术的BCH、RS等译码方法来确定,也可以采用封闭解法计算错误比特的位置和值,在此不再赘述。当然该不可纠码字中的错误比特位置具体为该错误比特在所述不可纠码字中的多维坐标位置。如图3(a)所示,码字1的错误比特的二维坐标值分别为(4,4)、(4,6),码字2的错误比特的二维坐标值分别为(6,4)、(6、6),码字3的错误比特的二维坐标值分别为(4,4)、(6,4),码字4的错误比特的二维坐标值分别为(4,6)、(6、6)。图3(b)所述,码字1的错误比特的二维坐标值分别为(9,4)和(9,7);码字2的错误比特的二维坐标值为(9,4)和(12,4);码字3的错误比特的二维坐标值为(9,7)和(12,4)。
[0058] 进一步的,为了提高译码的速率,位置确定单元52可以只确定不可纠码字中错误比特数最多的不可纠码字的错误比特位置,实时纠正错误比特数最多的不可纠码字的错误比特,从而不需要对该不可纠码字进行存储,快速有效的打破error floor的模式。
[0059] 例如对于卷积交织码,位置确定单元52可以根据概率统计计算出误码相对多的错误比特较多的码字,通常在卷积交织码中,错误比特数最多的码字为第一个码字。
[0060] 错误纠正单元53,用于根据所述位置确定单元52确定的所述不可纠码字中的错误比特位置纠正所述多维码中的部分不可纠码字的错误比特,以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量。
[0061] 在确定单元52确定所述不可纠码字中的错误比特位置后,错误纠正单元53可以只纠正该多维码中的部分不可纠码字的错误比特。如图3(b)的多维码,错误纠正单元53可以只纠正码字1中的错误比特,或者纠正码字2中的错误比特,或者纠正码字1,2,3的两个码字或三个码字的任意组合的错误比特,从而可以使得所述不可纠码字的错误比特所在的每一维的码字的错误比特数小于所述多维码的容量。
[0062] 进一步,为了降低译码的复杂度,在确定所述不可纠码字中的错误比特位置后,错误纠正单元53可以只纠正错误比特数最多的不可纠码字。若每一维的码字的错误比特数相同,则任意确定某一维的错误比特的位置。
[0063] 如图4所示,该卷积交织码的不可纠码字的容量为3,图4中的每条连续实线穿过的圆圈组成一个码字,如图4中的码字1-5。其中码字1的错误比特数为5,码字2、3、4、5的错误比特数都为4个。其中码字1的错误比特数最多,错误纠正单元53可直接对码字1进行纠正。
[0064] 第二译码单元54,用于在错误纠正单元纠正了所述多维码中的部分不可纠码字的错误比特后,对所述错误比特所在的每一维的码字的错误比特数小于所述多维码的容量的不可纠码字进行迭代译码。
[0065] 进一步的,在对所述多维码进行错误纠正后,可以采用现有的译码方法进行译码,如BCH、RS译码方法对该不可纠码字进行迭代译码,从而完成译码。例如,如图4所示,在对码字1进行纠正后,码字2、3、4的错误比特数变为3个,则可以采用现有的译码方法进行译码。
[0066] 本发明实施例提供的译码装置,首先通过第一译码单元对码字进行迭代译码,获得不可纠的码字;然后位置确定单元确定比特错误最多的不可纠码字和错误比特的位置,然后错误纠正单元实时的对比特错误最多的不可纠码字进行纠正,从而能够降低输出误码率,同时该译码方法简单,从而提升了系统的抗干扰能力。
[0067] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0068] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
QQ群二维码
意见反馈