一种编码方法及编码器与流程

文档序号:13424920阅读:270来源:国知局
一种编码方法及编码器与流程
本申请涉及信道编码
技术领域
,更具体地说,涉及一种极化码的编码方法及编码器。
背景技术
:极化码编码是现有的一种在二进制离散无记忆信道下,当码长趋于无穷大时能够达到信道容量的编码方法,但在码长为有限长时,极化码编码对应的串行抵消译码方法和串行抵消列表译码方法的译码性能并不理想。针对此,提出一种改进的极化码编码方法以提高后续的译码性能,该编码方法是将循环冗余校验(crc)编码和极化码编码级联,具体为,针对编码器,确定m位数的crc校验位,在编码时,对待编码信息序列添加m位数的crc校验位,再将添加crc校验位后的编码结果进行极化码编码。上述编码方法中,对于某些信息位数较少的待编码信息序列来说,校验位数m过大,导致极化码编码的码率较大,降低了后续的译码性能。技术实现要素:有鉴于此,本申请提供一种编码方法及编码器,以降低极化码编码的码率,提高后续的译码性能。为了实现上述目的,现提出的方案如下:一种编码方法,所述方法包括:接收待编码信息序列;查找预设的汉明码信息位数集合,确定与所述待编码信息序列匹配的汉明码信息位数;其中,与所述待编码信息序列匹配的汉明码信息位数为,信息位数与所述待编码信息序列的位数相同的汉明码信息位数,或信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数;当与所述待编码信息序列匹配的汉明码信息位数为信息位数与所述待编码信息序列的位数相同的汉明码信息位数时,对所述待编码信息序列进行汉明码编码,获得汉明码编码序列,对所述汉明码编码序列进行极化码编码,获得极化码编码序列;当与所述待编码信息序列匹配的汉明码信息位数为信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数时,计算与所述待编码信息序列匹配的汉明码信息位数与所述待编码信息序列的位数的差值;对所述待编码信息序列补零,获得补零待编码信息序列,补入零的个数等于所述差值;对所述补零待编码信息序列进行汉明码编码,获得汉明码编码序列;删除所述汉明码编码序列中补入的零,对删除补入的零后的汉明码编码序列进行极化码编码,获得极化码编码序列。一种编码器,所述编码器包括:接收单元,用于接收待编码信息序列;查找单元,用于查找预设的汉明码信息位数集合,确定与所述待编码信息序列匹配的汉明码信息位数;其中,与所述待编码信息序列匹配的汉明码信息位数为,信息位数与所述待编码信息序列的位数相同的汉明码信息位数,或信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数;汉明码编码单元,用于当与所述待编码信息序列匹配的汉明码为信息位数与所述待编码信息序列的位数相同时,对所述待编码信息序列进行汉明码编码,获得汉明码编码序列;当与所述待编码信息序列匹配的汉明码信息位数为信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数时,计算与所述待编码信息序列匹配的汉明码信息位数与所述待编码信息序列的位数的差值;对所述待编码信息序列补零,获得补零待编码信息序列,补入零的个数等于所述差值;对所述补零待编码信息序列进行汉明码编码,获得汉明码编码序列,删除所述汉明码编码序列中补入的零;极化码编码单元,用于对所述汉明码编码序列进行极化码编码;或对删除补入的零后的汉明码编码序列进行极化码编码,获得极化码编码序列。从上述的技术方案可以看出,本申请中,接收信待编码信息序列,查找预设的汉明码信息位数集合,确定与所述待编码信息序列匹配的汉明码信息位数;其中,与所述待编码信息序列匹配的汉明码信息位数为,信息位数与所述待编码信息序列的位数相同的汉明码信息位数,或信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数;针对与所述待编码信息序列匹配的汉明码信息位数大于所述待编码信息序列的位数的情况,计算两个位数的差值;对所述待编码信息序列补零,获得补零待编码信息序列,补入零的个数等于差值,此时补零待编码信息序列满足了汉明码的要求,进而对补零待编码信息序列进行汉明码编码,然后在汉明码编码序列中删除之前补入的零,进而再进行极化码编码。上述方案中,通过查找预设的汉明码信息位数集合,将信息位数不等于匹配汉明码信息位数的待编码信息序列的位数,通过补零扩展为匹配汉明码信息位数,进而按照汉明码编码方式对待编码信息序列进行编码,汉明码编码方式具有一个特点,即汉明码的校验位数是随着待编码信息序列的位数的增加而增加的,随着位数的减少而减小的,所以,在对待编码信息序列进行汉明码编码时,在待编码信息序列中加入的汉明码校验位数是随着待编码信息序列的位数的减少而减少的,而crc校验位是不随着待编码信息序列的位数变化的,所以在一定情况下,本方案中对待编码信息序列在进行汉明码编码时所需的校验位数小于crc编码所需的校验位数,如此提高了极化码编码的码率,进而提高了后续的译码性能。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种编码方法基本流程图;图2为本申请实施例公开的一种编码器基本框图;图3为本申请实施例公开的汉明码编码单元基本框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。实际通信系统中,利用循环冗余校验(crc)编码和极化码编码级联的方式进行极化码编码时,通常crc校验位数是不可变的,即一旦crc校验位数确定后,无论输入到编码器中的待编码信息序列的位数如何变化,crc校验位数都将保持不变,因此,在一定情况下,针对信息位数较少的待编码序列来说,确定的crc校验位数过大。因此,本发明实施例提供了一种改进的编码方法,如图1所示,该方法包括:s100、接收待编码信息序列;其中,编码器接收输入的待编码信息序列,该待编码信息序列的位数为k。s110、查找预设的汉明码信息位数集合,确定与所述待编码信息序列匹配的汉明码信息位数;其中,与所述待编码信息序列对应的汉明码信息位数为,信息位数与所述待编码信息序列的位数相同的汉明码信息位数,或信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数;其中,汉明码的码长nham和信息位数kham服从以下规律其中,校验位数mham=nham-kham,为正整数。满足式(1)的汉明码如表1所示,其中i为每一组汉明码的序号,每组汉明码包括信息位数kham、校验位数mham和码长nham,该表1即为汉明码信息位数集合,其存储在编码器中。或者,表1中的汉明码也可以以信息位数从大到小的顺序进行存储,或表1也可只包括信息位数kham。i1234567891011121314…kham41126571202475021013203640838178163693275265519…mham345678910111213141516…nham71531631272555111023204740958191163833276765535…其中,与所述待编码信息序列对应的汉明码信息位数为,信息位数与所述待编码信息序列的位数相同的汉明码信息位数,或信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数;可见,待编码信息序列的位数分为两种情况,一种情况是待编码信息序列的位数是等于表1中所示的某一组汉明码,另一种情况是,待编码信息序列的位数不等于任何一组汉明码,而是位于两组汉明码的信息位数区间中,即位于信息位数区间i≥2中。具体的,在确定与所述待编码信息序列匹配的汉明码信息位数时,可以先从第一组汉明码的信息位数开始匹配,判断k是否小于等于第一组汉明码的信息位数,若小于等于,则确定第一组汉明码的信息位数为与待编码信息序列匹配的汉明码信息位数;若大于,则判断k是否小于等于第二组汉明码的信息位数;若小于等于,则确定第二组汉明码的信息位数为与待编码信息序列匹配的汉明码信息位数;若大于,则继续进行后续判断,直到确定出与待编码信息序列匹配的汉明码信息位数。s1201、当与所述待编码信息序列匹配的汉明码信息位数为信息位数与所述待编码信息序列的位数相同的汉明码信息位数时,对所述待编码信息序列进行汉明码编码,获得汉明码编码序列;然后执行步骤s130;其中,当与所述待编码信息序列匹配的汉明码信息位数与待编码信息序列的位数相同时,直接对待编码信息序列进行汉明码编码,获得汉明码编码序列。而由于进行汉明码编码时,在待编码信息序列中添加了汉明码校验位,该校验位的位数为与所述待编码信息序列匹配的汉明码信息位数对应的校验位数mham,所以获得的汉明码编码序列的位数为:k+mham,即针对极化码编码来说,输入的信息序列的位数是k+mham。优选地,在对获得的汉明码编码序列执行进行极化码编码前,还包括:在所述汉明码编码序列中添加奇偶校验位。如此,便于在译码器端对传输的信息序列的准确性进行校验。具体的,编码器中已预先设置是添加奇校验位还是偶校验位,进而编码器按照设置直接添加相关校验位即可。添加了奇偶校验位的汉明码信息序列的位数为:k+mham+1,即针对极化码编码来说,输入的信息序列的位数是k+mham+1。s1202、当与所述待编码信息序列匹配的汉明码信息位数为信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数时,计算与所述待编码信息序列对应的汉明码信息位数与所述待编码信息序列的位数的差值;s1203、对所述待编码信息序列补零,获得补零待编码信息序列,补入零的个数等于所述差值;s1204、对所述补零待编码信息序列进行汉明码编码,获得汉明码编码序列;其中,补零后的待编码信息序列的位数满足表1中所示的汉明码码长nham进而即可对补零后的待编码信息序列进行汉明码编码,获得汉明码编码序列,汉明码编码序列的位数为:kham+mham,kham和mham分别为与所述待编码信息序列匹配的汉明码信息位数和与该汉明码信息位数对应的校验位数,kham=k+差值。s1205、删除所述汉明码编码序列中补入的零;执行步骤s130;优选地,在步骤s1204和步骤s1205间,还包括:在所述汉明码编码序列中添加奇偶校验位。如此,便于在译码器端对传输的信息序列的准确性进行校验。具体的,在对添加了奇偶校验位的汉明码编码序列进行极化码编码前,则需将之前补入的零从信息序列中删除,删除补零后的信息序列的信息位数为:k+mham+1,即针对极化码编码来说,输入的信息序列的信息位数也是k+mham+1。优选地,本实施例中,将零添加到所述待编码信息序列中的最后一比特位后,将奇偶校验位添加到汉明码编码序列的第一比特位前。s130、对汉明码编码序列进行极化码编码,获得极化码编码序列;即,对步骤1201获得的汉明码编码序列进行极化码编码,或对步骤s1205获得的删除补入的零后的汉明码编码序列进行极化码编码。上述实施例中,经极化码编码后输出的极化码编码序列的码长为n,n=2n,n=1,2,3...,极化码码率为:而现有技术中,与crc级联的极化码编码方案中的极化码码率为mcrc为crc校验位数。经数据验证确定,在极化码编码序列的码长n和crc校验位数mcrc(mcrc>=4)给定的条件下,当待编码信息序列的位数满足时,本实施例中的汉明码编码序列的校验位数总是能够满足mham+1≤mcrc,因此,本实施例中的极化码的码率rham-polar总是小于现有技术中的极化码的码率rcrc-polar。举一例子对该结论进行说明:假设极化码码长n=16,mcrc=8,则当k∈[4,57]时,根据表1可知,mham的取值有{3,4,5,6},如此满足mham+1<mcrc;当k∈(57,120]时,根据表1可知,mham=7,如此满足mham+1=mcrc。下面,通过一个具体的例子对上述编码方案进行说明,其中,待编码信息序列为u=(10101010),位数为k=8,要获得的极化码码长为n=16:1)将待编码信息序列u=(10101010)输入到编码器中;2)查找编码器中存储的表1,发现k大于第一组汉明码的信息位数4,小于第二组汉明码的信息位数11,如此确定第二组汉明码的信息位数是与待编码信息序列匹配的汉明码信息位数。该第二组汉明码的信息位数kham=11、校验位数mham=4和码长nham=15;3)计算第二组汉明码的信息位数与k的差值为3;4)在待编码信息序列u=(10101010)中补入3个零,得到补零的待编码信息序列u′=(10101010000),可见补零后的待编码信息序列的位数与第二组汉明码的信息位数相同;5)获取第二组汉明码对应的汉明码生成矩阵g:6)将u′与g相乘,获得汉明码编码序列u″=(101110101010000),其中,该信息序列中,左数前4位“1011”为汉明码冗余校验位,即在待编码信息序列中添加校验位数为mham=4的校验位;后11位为信息序列u′;7)在u″添加奇校验位,得到信息序列u″′=(0101110101010000),其中,左数第1位“0”即为奇校验位,后15位为汉明码编码序列u″。8)删除u″′=(0101110101010000)中最右端的3个“0”,即删除在步骤4)中补入的零,得到信息序列s=(0101110101010),该信息序列s的位数为k=1+mham+k=1+4+8=13,如此,该信息序列s的构成从左到右依次为:1比特奇校验位,4比特汉明码冗余校验位和8比特原始信息位。9)对信息序列s进行极化码编码,得到码长为n=16的极化码编码序列d=(1011101110000010),极化码码率为r=k/n=13/16。本发明实施例还提供一种编码器,如图2所示,该编码器包括:接收单元200,用于接收待编码信息序列;查找单元210,用于查找预设的汉明码信息位数集合,确定与所述待编码信息序列匹配的汉明码信息位数;其中,与所述待编码信息序列匹配的汉明码信息位数为,信息位数与所述待编码信息序列的位数相同的汉明码信息位数,或信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数;汉明码编码单元220,用于当与所述待编码信息序列匹配的汉明码为信息位数与所述待编码信息序列的位数相同时,对所述待编码信息序列进行汉明码编码,获得汉明码编码序列;当与所述待编码信息序列匹配的汉明码信息位数为信息位数大于所述待编码信息序列的位数的汉明码信息位数中,与所述待编码信息序列的位数的差值最小的汉明码信息位数时,计算与所述待编码信息序列匹配的汉明码信息位数与所述待编码信息序列的位数的差值;对所述待编码信息序列补零,获得补零待编码信息序列,补入零的个数等于所述差值;对所述补零待编码信息序列进行汉明码编码,获得汉明码编码序列,删除所述汉明码编码序列中补入的零;极化码编码单元230,用于对所述汉明码编码序列进行极化码编码;或对删除补入的零后的汉明码编码序列进行极化码编码,获得极化码编码序列。优选地,所述汉明码编码单元220,如图3所示,包括:补零单元300,用于计算与所述待编码信息序列匹配的汉明码信息位数与所述待编码信息序列的位数的差值,并对所述待编码信息序列补零,获得补零待编码信息序列,补入零的个数等于所述差值;获取子单元310,用于获取与所述待编码信息序列匹配的汉明码信息位数对应的汉明码生成矩阵;相乘子单元320,用于将所述补零待编码信息序列或待编码信息序列与所述汉明码生成矩阵相乘,获得汉明码编码序列;删除子单元330,用于当与所述待编码信息序列匹配的汉明码为信息位数大于所述待编码信息序列的位数的汉明码中,与所述待编码信息序列的位数的差值最小的汉明码时,删除所述汉明码编码序列中补入的零。添加子单元340,用于在所述汉明码编码序列中添加奇偶校验位。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1