一种极化码译码方法及装置
技术领域
本发明涉及通信技术领域,特别涉及一种极化码译码方法及装置。
背景技术
目前,随着4G(the 4th Generation mobile communication technology,第四代移动通信技术)进入规模商用阶段,面向未来的第五代移动通信技术5G(5th Generation,第五代)已成为全球研发的热点。确定统一的5G概念,制定全球统一的5G标准,已经成为业界的共同呼声。作为5G的eMBB(Enhanced Moblie Broad Band,增强移动宽带)场景控制信道编码方案的极化码(Polar Codes),是一种可以达到二进制对称信道容量的新型编码方式,且具有优异的译码性能。
现有技术中的极化码编译码方式包括CRC(Cyclic Redundancy Check,循环冗余校验)辅助的极化码编译码和PC(Parity Check,奇偶校验)辅助的极化码编译码。图1为现有技术中CRC辅助的极化码编译码的示意图,CRC辅助的极化码编译码过程包括:将待编码的信息序列首先经过CRC编码器编码,生成对应的CRC序列,再将信息序列和CRC序列一起送入Polar编码器,编码后经过调制器调制,再通过信道发送给接收端;译码时针对解调器解调后的比特流采用Polar-CRC联合译码器进行译码,主要是采用CRC辅助的连续删除列表(Successive Cancellation List,SCL)译码算法,在译码中选择最终译码的译码结果时,Polar-CRC联合译码器先将所有候选码字还原成含有CRC的候选信息序列,对所有候选信息序列做CRC译码处理,将通过CRC译码并且可靠度最高的候选信息序列作为最终的译码结果。
图2为现有技术中PC辅助的极化码编译码的示意图,PC辅助的极化码编译码过程包括:将待编码的信息序列首先经过CRC编码器编码,生成对应的CRC序列,再将信息序列和CRC序列一起送入PC-Polar编码器,编码后通过调制器调制,再通过信道发送给接收端;译码时针对调制器解调后的比特流采用Polar译码器进行译码,主要是采用PC辅助的SCL译码算法,在译码中选择最终译码的译码结果时,Polar译码器先将所述候选码字还原成含有PC的候选信息序列,对所有候选信息序列做PC译码处理,将通过PC译码并且可靠度最高的候选信息序列作为最终的译码结果。
控制信道的性能评估标准(metric)除了块出错率(Block Error Rate,BLER)以外,另一个重要的性能指标为虚警率(false alarm rates)。虚警率的计算方法有多种定义,常用的两种计算方法为:虚警率=错误且通过CRC校验的帧数/总的传输帧数,或者虚警率=错误且通过CRC校验的帧数/总的出错帧数。低的虚警率有利于降低UE(UserEquipment,用户终端设备)上行碰撞概率,降低UE功耗,提高系统性能。
为了提高Polar译码的性能,一般采用SCL的列表译码(list decoding)算法。对于CRC辅助的极化码译码(aided polar codes),由于译码时利用附加的CRC比特进行listdecoding译码的路径选择,会导致虚警率的提高。如果虚警率Pfa,path由N个CRC比特决定的虚警率,当采用列表大小(list size)为L的CRC辅助译码算法时,在最差的情况下,L条候选路径都需要用CRC进行校验选择,这就导致虚警率变为pfa,block=1-(1-pfa,path)L,且随着L的增大而增大,其中,Pfa,path为虚警率。
对于PC-polar来说最后附加的N个比特只用于检测错误(error detection)并不用于路径选择,故虚警率不会变差,但PC-polar需要较多的校验比特开销,才能保证虚警率的需求,因此该方法将导致BLER性能变差。对hash polar来说,虽然在信息比特比较短时明显优于PC-polar,但是要想采用较大的list size译码,如L=32,哈希hash序列的开销也要相应增加。
发明内容
本发明提供一种极化码译码方法及装置,用以提供一种新的极化译码方案。
为达到上述目的,本发明实施例公开了一种极化码译码方法,所述方法包括:
对接收到的极化码编码后的序列进行连续删除列表SCL译码;
根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径。
进一步地,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;
根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径。
进一步地,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
根据SCL译码中的每条路径的信息序列及确定出的第二校验序列,确定候选路径;
根据每条候选路径中的信息序列及确定出的第一校验序列,确定目标译码路径。
进一步地,所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为CRC序列、hash序列、奇偶校验PC序列和随机序列中的任意一种。
进一步地,当所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为CRC序列、hash序列和随机序列中的任意一种时,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;
确定每条待译码路径中第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径。
进一步地,当所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为CRC序列、hash序列和随机序列中的任意一种时,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
确定每条候选路径中的第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;
确定每条待译码路径中第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径。
进一步地,当所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为奇偶校验PC序列时,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第二数量的候选路径作为目标译码路径。
进一步地,所述根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径之前,所述方法还包括:
采用与发送端对应的算法对所述第一校验序列进行更新;和/或
采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
进一步地,所述采用与发送端对应的算法对所述第一校验序列进行更新和/或采用与发送端对应的算法对所述第二校验序列进行更新包括:
采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
进一步地,所述方法还包括:
根据所述第一校验序列和\或第二校验序列,确定译码结果。
本发明实施例公开了一种极化码译码装置,所述装置包括:
极化码Polar译码器,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;
校验序列译码器,用于根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径。
进一步地,所述校验序列译码器,用于针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径。
进一步地,所述校验序列译码器,具体用于根据SCL译码中的每条路径的信息序列及确定出的第二校验序列,确定候选路径;根据每条候选路径中的信息序列及确定出的第一校验序列,确定目标译码路径。
进一步地,所述校验序列译码器,具体用于确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;确定每条待译码路径中第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径,其中所述第一序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二序列为CRC序列、hash序列和随机序列中的任意一种。
进一步地,所述校验序列译码器,具体用于确定每条候选路径中的第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;确定每条待译码路径中第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径,其中所述第一序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二序列为CRC序列、hash序列和随机序列中的任意一种。
进一步地,所述校验序列译码器,具体用于确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第二数量的候选路径作为目标译码路径,其中所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为CRC序列、hash序列和随机序列中的任意一种。
进一步地,所述装置还包括:
更新模块,用于采用与发送端对应的算法对所述第一校验序列进行更新;和/或采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
进一步地,所述更新模块,具体用于采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
进一步地,所述校验序列译码器,还用于根据所述第一校验序列和\或第二校验序列,确定译码结果。
本发明实施例公开了一种极化码译码方法及装置,所述方法包括:对接收到的极化码编码后的序列进行连续删除列表SCL译码;根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径。由于在本发明实施例中,根据第一校验序列和第二校验序列,进行路径选择,从而降低了虚警率,提高了系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中CRC辅助的极化码编译码的示意图;
图2为现有技术中PC辅助的极化码编译码的示意图;
图3为本发明实施例提供一种极化码译码过程示意图;
图4A为本发明实施例提供一种极化码编码过程示意图;
图4B为本发明实施例提供一种极化码编码过程示意图;
图5A为本发明实施例提供一种极化码编码过程示意图;
图5B为本发明实施例提供一种极化码编码过程示意图;
图6为本发明实施例提供一种极化码编码装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种极化码译码方法,包括:对接收到的极化码编码后的序列进行连续删除列表SCL译码;根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径。
本发明实施例提供的极化码译码方法应用于接收端,所述接收端可以是基站,也可以是UE。
具体的,在本发明实施例中,在进行译码路径选择时,根据两个序列进行选择,从而降低了虚警率,提高了系统的性能。
实施例1:
为了有效的提高系统的性能,在本发明实施例中所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;
根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径。
所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为CRC序列、hash序列和随机序列中的任意一种。
图3为本发明实施例提供一种极化码译码过程示意图,该过程包括以下步骤:
S301:对接收到的极化码编码后的序列进行连续删除列表SCL译码。
通常情况下,极化码编码后的序列会做速率匹配(rate matching)处理和调制,再进行发送,接收端在接收到码字后需要解调和解速率匹配处理后,确定接收到的码字对应的极化码编码后的序列。在进行解速率匹配时,所采用的rate matching序列较佳的可以利用高斯方法获得,或者采用对信噪比(Signal Noise Ratio,SNR)不敏感的其他ratematching序列。接收端的解速率方法与发送端的速率匹配方法是相对应的。
所述对接收到的极化码编码后的序列进行SCL译码的过程属于现有技术,在本发明实施例中对该过程不做赘述。
所述极化码编码后的序列经过SCL译码后,会根据预先设定的数量,保留多条候选路径,每条候选路径中包括对应的候选序列。
S302:针对SCL译码保留的多条候选路径中的候选序列,确定候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列。
为了能够重构出与发送端相同的第一序列和第二序列,使确定的译码的结果的更加准确,在确定候选序列中的信息序列、第一序列和第二序列的过程中,需要根据与发送端对应的编码方式来确定,即确定候选序列中的信息序列、第一序列和第二序列的过程,需要与发送端极化码编码时,确定信息序列、第一序列和第二序列的过程相同。
发送端在进行极化码编码时,将信息序列、第一序列和第二序列分别映射到比特信道容量不同的子信道上,实现信息序列、第一序列和第二序列与比特信道映射,其余子信道对应的位置作为冻结位置0,然后进行极化码编码,具体的映射后在哪个子信道上映射了什么信息发送端已知。则接收端在候选序列中确定信息序列、第一序列和第二序列时,需要根据与发送端对应的映射方法,在候选序列中确定出信息序列、第一序列和第二序列。具体的,接收端也预先获知有发送端映射方法,即接收端已知在哪个子信道上映射了什么信息,因此接收端在译码后的候选路径中可以确定出信息序列、第一序列和第二序列。
接收端中在确定SCL译码保留的多条候选路径的过程包括:开始译码时,路径数是1,每译码出一个比特位,路径数加倍,当路径数大于设定的数量时,根据每条路径中译出的比特位的概率确定路径的概率,选择概率较高的设定数量的路径作为候选路径,进行下一比特位的译码,并在译码后,判断针对该下一比特位的译码结果对应的路径数量是否大于设定的数量,如果是,重复上述过程,直到最后一个比特位译码成功,并选择出最终的候选路径。一般的,SCL译码中保存有预先设定的数量,例如可以是4。
同理,为了使得译码的结果更加准确,在确定第一校验序列的过程中,根据与发送端对应的第一序列生成算法来确定,即确定第一校验序列的过程与发送端生成第一序列的过程相同。在确定第二校验序列的过程中,根据与发送端对应的第二序列生成算法来确定的,即确定第二校验序列的过程与发送端生成第二序列的过程相同。
具体的可以是接收端保存有与发送端对应的第一序列生成算法和第二序列生成算法。针对每条候选路径,接收端根据该候选路径中信息序列的属性信息及与发送端对应的第一序列生成算法,确定第一校验序列,并根据该候选路径中信息序列的属性信息及与发送端对应的第二序列生成算法,确定第二校验序列。
信息序列的属性信息可以是信息序列的长度,可以是信息序列的内容,也可以是信息序列的长度和内容。所述信息序列的内容可以是信息序列的全部内容,也可以是信息序列的部分内容。
或者,在本发明实施例中,如果第一序列或第二序列为CRC序列,可以采用上述方式重构出与第一序列和第二序列对应的第一校验序列和第二校验序列,但为了进一步提高路径选择的效率,可以直接将第一序列或第二序列作为第一校验序列或第二校验序列。例如第一序列为CRC序列,则可以将第一序列作为第一校验CRC序列。
S303:根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径。
在确定出每条候选路径中的第一校验序列和第二校验序列后,可以根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径。
在根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径时,可以是根据第一序列与第一校验序列的第一匹配度,以及第二序列与第二校验序列的第二匹配度,确定出总匹配度,按照总匹配度由高至低的顺序,将每条候选路径进行排序,选择排序靠前的预设数量的候选路径作为目标译码路径,从而通过第一校验序列和第二校验序列选择路径。
如果第一序列或第二序列为CRC校验序列,则在进行目标译码路径选择时,还可以是将信息序列和第一序列或第二序列输入到CRC译码器中,根据译码器的输出,确定每条候选路径的第一匹配度,例如可以根据为零的比特位的数量与总的比特位数量的比值,确定该第一匹配度,然后确定第二序列或第一序列,与对应的第二校验序列或第一校验序列的第二匹配度,确定出总匹配度,按照总匹配度由高至低的顺序,将每条候选路径进行排序,选择排序靠前的预设数量的候选路径作为目标译码路径,从而通过第一校验序列和第二校验序列选择路径。例如第一序列为CRC序列,第二序列为HASH序列时,则将信息序列和第一序列输入到CRC译码器中,根据译码器的输出,确定每条候选路径的第一匹配度,例如可以根据为零的比特位的数量与总的比特位数量的比值,确定该第一匹配度,确定HASH序列与对应的第二校验序列的第二匹配度,确定出总匹配度,按照总匹配度由高至低的顺序,选择排序靠前的预设数量的候选路径作为目标译码路径。
由于在本发明实施例中,根据第一校验序列和第二校验序列,进行路径选择,从而降低了虚警率,提高了系统的性能。
实施例2:
所述第一序列可以是CRC序列、可以是hash序列,也可以是随机序列。所述第二序列可以是CRC序列,可以是hash序列,也可以是随机序列。第一序列和第二序列可以相同,也可以不同。
接收端根据所述信息序列的属性信息及与发送端对应的第一序列生成算法,确定第一校验序列,并根据信息序列的属性信息及与发送端对应的第二序列生成算法,确定第二校验序列。
在生成第一校验序列和第二校验序列时,接收端根据与发送端对应的序列生成算法来确定校验序列。具体包括:
如果与发送端对应的序列生成算法为CRC处理算法,接收端可以根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列。
如果与发送端对应的序列生成算法为Hash函数,接收端可以根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列。
如果与发送端对应的序列生成算法为随机函数,接收端可以根据所述信息序列的长度及与发送端对应的随机函数,生成校验序列。
上述生成校验序列的过程可以在生成第一校验序列时使用,也可以是在生成第二校验序列时使用,也可以在生成第一校验序列和第二校验序列时同时使用。
接收端在根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列时,可以是先根据所述信息序列的属性信息及与发送端对应的初始处理算法,生成初始校验序列,再根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列。其中该初始处理算法可以是CRC算法,可以是Hash函数,还可以是随机函数。
接收端在根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列时,可以是先根据所述信息序列的属性信息及与发送端对应的初始处理算法,生成初始校验序列,再根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列。其中该初始处理算法可以是CRC算法,可以是Hash函数,还可以是随机函数。
接收端在根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列包括时,可以是在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的校验序列。
上述生成校验序列的过程可以在生成第一校验序列时使用,也可以是在生成第二校验序列时使用,也可以在生成第一校验序列和第二校验序列时同时使用。
具体的,在本发明实施例中如果发送端在生成第二序列时,是根据第一序列、信息序列的属性信息及预设的第二序列生成算法生成的,则接收端在生成第二校验序列时,也根据第一校验序列、信息序列的属性信息及与发送端对应的第二序列生成算法生成。
确定了第一校验序列和第二校验序列后,在根据第一校验序列和第二校验序列确定目标译码路径时,可以是第一校验序列与第二校验序列同时进行路径选择。为了减小校验时的复杂度,也可以是先用一个校验序列筛选出待译码路径,再通过另一个校验序列确定目标译码路径。
在上述各实施例的基础上,在本发明实施例中,当所述第一序列为CRC序列、hash序列和随机序列中的任意一种,所述第二序列为CRC序列、hash序列和随机序列中的任意一种时,所述根据该候选路径中的第一序列、第二序列与对应的第一校验序列、第二校验序列,确定目标译码路径包括:确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;确定每条待译码路径中第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径。
在本发明实施例中,接收端中预先保存有第一数量和第二数量,在根据第一序列、第二序列与对应的第一校验序列、第二校验序列,确定目标译码路径时,可以是先确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,根据第一匹配度由高至低的顺序对每条候选路径进行排序,在多条候选路径中选择排序靠前的第一数量的候选路径作为待译码路径。然后再确定每条待译码路径中的第二序列与第二校验序列的第二匹配度,根据第二匹配度由高至低的顺序对每条待译码路径进行排序,在所述第一数量的待译码路径中选择排序靠前的第二数量的待译码路径作为目标译码路径。第一数量大于第二数量,或者第一数量等于第二数量。
因为第一序列和第一校验序列的长度相同,因此根据第一序列和第一校验序列对应的比特位的信息相同的数量,及第一序列的总的比特位数量,可以确定第一匹配度;同理第二匹配度也可以根据该方式确定。例如总的比特位为8,如果有7个比特位的信息都对应相同,则匹配度为7/8。
以第一序列为CRC序列,第二序列为hash序列为例进行说明。
图4A为本发明实施例提供一种极化码编码过程示意图,发送端在进行极化码编码时,首先将待编码的信息序列送入CRC编码器,即对待编码的信息序列采用CRC处理算法生成CRC序列,所述CRC序列作为第一序列。较佳的CRC序列的长度位于10比特-20比特之间,并不排除其他长度。将第一序列即CRC序列与待编码信息序列进行组合之后送入hash状态生成器,即对待编码的信息序列和第一序列组合后的序列采用hash函数,得到hash序列,所述hash序列作为第二序列。较佳的,该hash序列的长度位于1比特-10比特之间,当然并不排除其他长度。将待编码的信息序列与第一序列与第二序列串行级联,分别映射到比特信道容量不同的子信道,实现信息序列、第一序列与第二序列与比特信道映射,其余子信道对应的位置作为冻结位置0,然后一起送入polar编码器,进行编码。
具体的映射后在哪个子信道上映射了什么信息发送端已知。Polar母码的长度一定是2的整数次幂,而输出码字的长度可能是任意的,故需要rate matching操作,即执行减缩(shortening)或者打孔(puncturing)操作。rate matching操作对应的rate matching序列较佳的可以利用高斯近似方法获得,或者采用对SNR不敏感的其他rate matching序列,polar编码器输出的是rate matching后的序列。polar编码器编码后的序列通过调制器调制,就可以通过信道发送给接收端了。
图4B为本发明实施例提供一种极化码译码过程示意图,由图4B可以看出,接收端在接收到发送端发送的码字后,需要将该码字送入解调器解调,并进行解速率匹配,针对调制器解调后的比特流采用Polar-hash联合译码器进行译码,主要采用SCL译码。若采用SCL译码的list size为L时,保留了N=2L条候选路径,得到N条候选路径中的N个候选序列,所述候选序列包括信息序列,第一序列和第二序列。
接收端在进行路径选择时,一种情况为,首先将信息序列采用与发送端对应的CRC处理算法,生成第一校验序列,将第一校验序列与信息序列进行组合之后的序列采用与发送端对应的hash函数,生成第二校验序列。利用每条候选路径中第一序列即CRC序列与第一检验序列的第一匹配度,从N条候选路径中选择第一匹配度较高的M(M<N)条待译码路径,其中M为第一数量。然后利用第二序列即hash序列与第二校验序列的第二匹配度,在第一数量M条待译码路径选择第二匹配度较高的第二数量的目标译码路径。这样带来的好处在于,由于hash序列的校验比CRC序列校验的复杂度更高,直接先利用CRC序列选择待译码路径,将第一数量M值降到较小,有利于降低hash序列校验过程的复杂度。
另一种情况为:所述根据该候选路径中第一校验序列和第二校验序列,确定目标译码路径包括:
确定每条候选路径中的第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;
确定每条待译码路径中第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径。
接收端中预先保存有第一数量和第二数量,在根据第一序列、第二序列与对应的第一校验序列、第二校验序列,确定目标译码路径时,可以是,先确定每条候选路径中的第二序列与对应的第二校验序列的第二匹配度,根据第二匹配度由高至低的顺序对每条候选路径进行排序,在多条候选路径中选择排序靠前的第一数量的候选路径作为待译码路径。然后再确定每条待译码路径中的第一序列与第一校验序列的第一匹配度,根据第一匹配度由高至低的顺序对每条待译码路径进行排序,在所述第一数量的待译码路径中选择排序靠前的第二数量的待译码路径作为目标译码路径。第一数量大于第二数量,或者第一数量等于第二数量。
还是以第一序列为CRC序列,第二序列为hash序列为例进行说明。
极化码编码过程与上述图4A描述的编码过程相同,在此不再进行赘述。译码过程如图4B所示,由图4B可以看出,接收端在接收到发送端发送的码字后,需要将该码字送入解调器解调,并进行解速率匹配,针对调制器解调后的比特流采用Polar-hash联合译码器进行译码,主要采用SCL译码。若采用SCL译码的list size为L时,保留了N=2L条候选路径,得到N条候选路径中的N个候选序列,所述候选序列包括信息序列,第一序列和第二序列。
接收端在进行路径选择时,另一种情况为:首先将信息序列采用与发送端对应的CRC处理算法,生成第一校验序列,将第一校验序列与信息序列进行组合之后的序列采用与发送端对应的hash函数,生成第二校验序列。利用每条候选路径中第二序列即hash序列与第二检验序列的第二匹配度,从N条候选路径中选择第二匹配度较高的M(M<N)条待译码路径,其中M为第一数量。然后利用第一序列即CRC序列与第一校验序列的第一匹配度,在第一数量M条待译码路径选择第一匹配度较高的第二数量的目标译码路径。
假定N=8,第一数量M=4,第二数量为2,可以用第二序列即hash序列与对应的第二校验序列的第二匹配度,选择4条第二匹配度较高的待译码路径,送给第一序列即CRC序列。然后利用CRC序列与第一校验序列的第一匹配度,在这4条待译码路径中选择第一匹配度较高的2条待译码路径作为目标译码路径。
实施例3:
所述根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径之前,所述方法还包括:
采用与发送端对应的算法对所述第一校验序列进行更新;和/或
采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
一般发送端在进行极化码编码时,可能还会对第一序列和/或第二序列进行更新,为了能够重构出与发送端相同的第一序列和第二序列,接收端在根据该候选路径中的第一序列、第二序列与对应的第一校验序列和第二校验序列,确定目标译码路径之前,也可以采用与发送端对应的算法对所述第一校验序列进行更新;和/或采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
如果发送端只采用预设的算法对所述第一序列进行更新,则接收端可以是只采用与发送端对应的算法对所述第一校验序列进行更新。如果发送端只采用预设的算法对所述第二序列进行更新,则接收端可以是只采用与发送端对应的算法对所述第二校验序列进行更新。如果发送端采用预设的算法对所述第一序列和所述第二序列均进行更新,则接收端采用与发送端对应的算法对所述第一校验序列和第二校验序列均进行更新。
所述采用与发送端对应的算法对所述第一校验序列进行更新和/或采用与发送端对应的算法对所述第二校验序列进行更新包括:
采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
由于发送端在采用预设的算法对所述第一序列进行更新和/或第二序列进行更新时,会采用加扰序列对第一序列和/或第二序列进行更新。接收端为了使得到的第一校验序列和/或第二校验序列更加准确,使确定的译码的结果更加准确,在采用与发送端对应的算法对第一校验序列进行更新和/或采用与发送端对应的算法对第二校验序列进行更新时,需要采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
由于是两个校验序列,当发送端只对一个序列进行加扰时,例如对第一序列hash序列加扰,采用8比特的UEID与8比特的hash序列加扰,则接收端采用与发送端对应的8比特的UEID与8比特的第二校验序列即hash序列加扰。
当然数字8只是UEID长度不大于hash序列时的一个列子,如果UEID的长度大于hash序列,也大于第二序列即CRC序列,发送端将UEID按照预设的方法分成两段分别与第一序列即hash序列个第二序列CRC序列加扰,如UEID的第一段与hash序列等长,该第一段对hash序列加扰,UEID剩余的比特作为第二段对CRC加扰。
则接收端将与发送端对应的UEID按照与发送端对应的方法分成两段分别与第一校验序列即hash序列和第二校验序列即CRC校验序列加扰,如UEID的第一段与第一校验序列即hash序列等长,该第一段对第一校验序列即hash序列加扰,UEID剩余的比特作为第二段对第二校验序列即CRC校验加扰。
对于上行控制信道中的上行链路信息(UP link Information,UCI)可以进行与DCI相同的处理。
实施例4:
在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
根据所述第一校验序列和\或第二校验序列,确定译码结果。
在本发明实施例中,第一序列可以是CRC序列、可以是hash序列,也可以是随机序列。所述第二序列为CRC序列,可以是hash序列,可以是PC序列,也可以是随机序列。第一序列和第二序列可以相同,也可以是不同。
当所述第一序列为CRC序列、hash序列和随机序列中的任意一种,所述第二序列为CRC序列、hash序列、和随机序列中的任意一种时,接收端可以是根据每条候选路径中的第一序列与对应的第一校验序列以及第二序列与对应的第二校验序列是否相同,确定译码结果,如果该候选路径中的第一序列与第一校验序列相同,并且第二序列与第二校验序列也相同,该候选路径上的信息序列即为译码结果。如果第一序列与第二序列中至少有一个不相同,则译码失败。
当第二序列为PC序列时,接收端可以是根据每条候选路径中的第一序列与对应的第一校验序列是否相同,确定译码结果,如果该候选路径中的第一序列与第一校验序列相同,则可以将该候选路径作为译码结果输出路径,该候选路径上的信息序列即为译码结果。
如图4B所示的极化码译码过程示意图,因为只有当第一序列与第一校验序列相同,并且第二序列与第二校验序列相同,则认为该目标译码路径译码结果正确,否则判断译码结果错误。
当第二序列为hash序列,第一序列为CRC序列时,因为hash序列的校验较复杂,根据第二序列与第二校验序列的第二匹配度选择后的第一数量为M的待译码路径里面一般包含polar码能够译码正确的目标译码路径。针对每条待译码路径,判断该待译码路径中第一序列与对应的第一校验序列是否相同,从而选出第一序列与第一校验序列相同的目标译码路径作为polar码的译码结果输出,显然这种译码算法具有更好的性能,同时由于需要两个序列都要满足校验关系才认为正确,故提高了系统的false alarm性能。
在先根据第一序列与第一校验序列的第一匹配度选择M条待译码路径,再根据第二序列与第二校验序列的第二匹配度选择目标译码路径时,一种特例,当M=1时,只利用第一序列即简单的CRC序列与对应的第一校验序列的第一匹配度,选择出1条待译码路径,该待译码路径为第一匹配度最高的候选路径,最有可能是译码输出路径。再利用第二序列与第二校验序列是否相同,确定最终的译码输出路径,由于还是两个序列都满足校验才判断为译码正确,故同样可以降低CRC比特开销,但是这种操作降低了系统复杂度。
实施例5:
当极化码编码时其中一个序列为PC序列时,为了进行路径选择,在本发明实施例中,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
根据SCL译码中的每条路径的信息序列及确定出的第二校验序列,确定候选路径;
根据每条候选路径中的信息序列及确定出的第一校验序列,确定目标译码路径。
所述极化码编码后的序列经过SCL译码后,会根据预先设定的数量,保留多条候选路径,当该序列中包含PC序列时,保留的候选路径是通过PC序列的,因此在进行目标译码路径选择时,只需要采用除PC之外的序列再进行选择即可。
为了简单,将该序列中的第二序列作为PC序列,因此具体在进行目标译码路径选择时,可以能够重构出与发送端相同的第一序列,使确定的译码的结果的更加准确。在确定候选序列中的信息序列、第一序列的过程中,需要根据与发送端对应的编码方式来确定,即确定候选序列中的信息序列、第一序列的过程,需要与发送端极化码编码时,确定信息序列和第一序列的过程相同。
同理,为了使得译码的结果更加准确,在确定第一校验序列的过程中,根据与发送端对应的第一序列生成算法来确定,即确定第一校验序列的过程与发送端生成第一序列的过程相同。
信息序列的属性信息可以是信息序列的长度,可以是信息序列的内容,也可以是信息序列的长度和内容。所述信息序列的内容可以是信息序列的全部内容,也可以是信息序列的部分内容。
其中,该第一序列可以是CRC序列、可以是hash序列,也可以是随机序列。
在本发明实施例中,如果第一序列为CRC序列,可以采用上述实施例中描述的方式重构出与第一序列对应的第一校验序列,但为了进一步提高路径选择的效率,可以直接将第一序列作为第一校验序列。
当所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为奇偶校验PC序列时,所述根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径包括:
确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第二数量的候选路径作为目标译码路径。
在根据每条候选路径中的第一校验序列,确定目标译码路径时,可以是将第一序列与第一校验序列的第一匹配度确定为总匹配度,按照总匹配度由高至低的顺序,将每条候选路径进行排序,选择排序靠前的预设数量的候选路径作为目标译码路径,从而通过第一校验序列选择路径。
如果第一序列为CRC校验序列,则在进行目标译码路径选择时,还可以是将信息序列和第一序列输入到CRC译码器中,根据译码器的输出,确定每条候选路径的第一匹配度,例如可以根据为零的比特位的数量与总的比特位数量的比值,确定该第一匹配度,将该第一匹配度确定为总匹配度,按照总匹配度由高至低的顺序,将每条候选路径进行排序,选择排序靠前的预设数量的候选路径作为目标译码路径,从而通过第一校验序列选择路径。
在本发明实施例中,接收端预先保存有第二数量,当第二序列为PC序列时,在根据第一校验序列,确定目标译码路径时,可以是,确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,将第一匹配度由高至低进行排序,也就是对每条候选路径进行排序,在多条候选路径中选择排序靠前的第二数量的候选路径作为目标译码路径。第一序列可以是CRC序列、可以是hash序列,也可以是随机序列。
以第一序列为CRC序列,第二序列为PC序列为例进行说明。
图5A为本发明实施例提供一种极化码编码过程示意图,发送端在进行极化码编码时,首先将待编码的信息序列送入CRC编码器,即对待编码的信息序列采用CRC处理算法生成CRC序列,所述CRC序列作为第一序列。CRC处理算法为第一序列生成算法。较佳的CRC序列的长度位于16比特-20比特之间,并不排除其他长度。将第一序列即CRC序列与待编码信息序列进行组合之后送入PC序列生成器,即对待编码的信息序列和第一序列组合后的序列采用PC处理算法,得到PC序列,所述PC序列作为第二序列。PC处理算法为第二序列生成算法。将待编码的信息序列与第一序列与第二序列串行级联,分别映射到比特信道容量不同的子信道,实现信息序列、第一序列与第二序列与比特信道映射,其余子信道对应的位置作为冻结位置0,然后一起送入polar码编码器,进行编码。
具体的映射后在哪个子信道上映射了什么信息发送端已知。Polar母码的长度一定是2的整数次幂,而输出码字的长度可能是任意的,故需要rate matching操作及执行shortening或者puncturing操作。rate matching操作对应的rate matching序列较佳的可以利用高斯近似方法获得,或者采用对SNR不敏感的其他rate matching序列,polar编码器输出的是rate matching后的编码序列。polar编码器编码后的序列通过调制器调制,就可以通过信道发送给接收端了。
图5B为本发明实施例提供一种极化码译码过程示意图,由图5B可以看出,接收端在接收到发送端发送的码字后,需要将该码字送入解调器解调,并进行解速率匹配,针对调制器解调后的比特流采用PC-Polar译码器进行译码时,主要采用PC辅助的SCL译码算法。若采用SCL译码的list size为L时,保留了N=2L条候选路径,则得到N条候选路径中的N个候选序列,所述候选序列包括信息序列,第一序列和第二序列。接收端在进行路径选择时,根据所述信息序列,及与发送端对应的第一序列生成算法,生成第一校验序列,利用第一序列即CRC序列与第一校验序列的第一匹配度,在N条候选路径选择第二数量M的目标译码路径。假设第二数量M为1,则在N条候选路径中选择第一匹配度较高的1条候选路径作为目标译码路径。
注意到,CRC辅助译码为了维持false alarm性能,所采用的最小CRC比特数受限于SCL译码的list size,以LTE控制信道的false alarm性能要求为例,如采用list size为L,就要在原16比特CRC基础上增加log2(L)个CRC,但这大大限制了接收端的解码能力。以L=8为例,附加CRC个数为3共19个比特CRC,当控制信令较短时,采用比8更大的list size译码能够取得更好的性能,同时由于控制信息比特长度小,复杂度低很容易被接受,但是采用比8更大的list size会导致false alarm性能无法满足要求。本方案中无论采用多大的listsize进行polar译码首先根据PC序列选择路径,只保留M条路径让CRC参与路径选择,其中,M=4或M=2,既可以发挥CRC译码性能好的优点还可以确保false alarm性能,对于PC-polar来说由于CRC也参与了路径选择,完全可以降低PC序列的长度来进一步提高系统性能。
其中,在本发明实施例中,还可以根据所述第一校验序列确定译码结果,即该第一校验序列可以用于检测错误。
当第二序列为PC序列时,接收端可以是根据每条候选路径中的第一序列与对应的第一校验序列是否相同,确定译码结果,如果该候选路径中的第一序列与第一校验序列相同,则可以将该候选路径作为译码结果输出路径,该候选路径上的信息序列即为译码结果。
另外,在本发明实施例中,当生成了第一序列后,也可以采用与发送端对应的算法对所述第一校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。具体的采用与发送端对应的算法对所述第一校验序列进行更新包括:采用与发送端对应的加扰序列对第一校验序列进行更新。该加扰的过程与上述实施例中相同,在本发明实施例中对该过程不进行赘述。
图6为本发明实施例提供的一种极化码译码装置,所述装置包括:
极化码Polar译码器61,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;
校验序列译码器62,用于根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径。
所述校验序列译码器62,用于针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;根据每条候选路径中的第一校验序列和第二校验序列,确定目标译码路径
所述校验序列译码器62,具体用于根据SCL译码中的每条路径的信息序列及确定出的第二校验序列,确定候选路径;根据每条候选路径中的信息序列及确定出的第一校验序列,确定目标译码路径.
所述校验序列译码器62,具体用于确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;确定每条待译码路径中第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径,其中所述第一序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二序列为CRC序列、hash序列和随机序列中的任意一种。
所述校验序列译码器62,具体用于确定每条候选路径中的第二序列与对应的第二校验序列的第二匹配度,按照第二匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第一数量的候选路径作为待译码路径;确定每条待译码路径中第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条待译码路径进行排序,选择排序在前的预设第二数量的待译码路径作为目标译码路径,其中所述第一序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二序列为CRC序列、hash序列和随机序列中的任意一种。
所述校验序列译码器62,具体用于确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第二数量的候选路径作为目标译码路径,其中所述第一校验序列为循环冗余校验CRC序列、哈希hash序列和随机序列中的任意一种,所述第二校验序列为CRC序列、hash序列和随机序列中的任意一种。
所述装置还包括:
更新模块,用于采用与发送端对应的算法对所述第一校验序列进行更新;和/或采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述更新模块,具体用于采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
所述校验序列译码器62,还用于根据所述第一校验序列和\或第二校验序列,确定译码结果。
本发明实施例提供了另一种极化码译码装置,所述装置包括:
PC极化码Polar译码器,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;其中所述序列采用奇偶校验PC极化码编码方式编码;
校验序列译码器,针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列;根据每条候选路径中的第一校验序列,确定目标译码路径。
所述校验序列译码器,具体用于确定每条候选路径中的第一序列与对应的第一校验序列的第一匹配度,按照第一匹配度由高至低的顺序对每条候选路径进行排序,选择排序在前的预设第二数量的候选路径作为目标译码路径。
所述装置还包括:
更新模块,用于采用与发送端对应的算法对所述第一校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述更新模块,具体用于采用与发送端对应的加扰序列对第一校验序列进行更新。
本发明实施例公开了一种极化码译码方法及装置,所述方法包括:对接收到的极化码编码后的序列进行连续删除列表SCL译码;根据SCL译码中每条路径中的信息序列,及每条路径中第一校验序列和第二校验序列,确定目标译码路径。由于在本发明实施例中,根据第一校验序列和第二校验序列,进行路径选择,从而降低了虚警率,提高了系统的性能。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一序列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。