掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本说明书一个或多个实施例涉及通信技术领域,尤其涉及一种译码方法及装置。

背景技术

第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)已将超可靠低延迟通信(ultra-reliable low-latency communications,URLLC)定义为5G和6G以上网络的关键通信场景,URLLC要求译码算法同时具备高性能和低复杂度。有序统计译码(Ordered Statistic Decoding,OSD)被提出作为URLLC的候选通用译码算法,传统的有序统计译码算法能够获得最大似然译码性能(Maximum Likelihood,ML),但是复杂度较高。

发明内容

有鉴于此,本说明书一个或多个实施例的目的在于提出一种译码方法及装置,能够提高译码性能,并降低复杂度。

基于上述目的,本说明书一个或多个实施例提供了一种译码方法,包括:

对接收序列进行硬判决译码,得到硬判决译码序列;

对生成矩阵进行置换处理,得到置换后的生成矩阵;

响应于未达到预设的译码结束条件,基于预设的错误图样集合选取目标错误图样,根据所述目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果。

可选的,对接收序列进行硬判决译码,得到硬判决译码序列,包括:

对所述接收序列进行置换处理,得到置换后的接收序列;

对所述置换后的接收序列进行硬判决译码,得到所述硬判决译码序列。

可选的,选取目标错误图样之后,还包括:

扩展可能的错误图样,将扩展的错误图样添加于所述错误图样集合中,形成更新的错误图样集合。

可选的,所述选取目标错误图样,包括:

对于所述错误图样集合中的每个错误图样:

按照该错误图样对所述硬判决译码序列进行翻转,得到翻转后的译码序列;

计算所述翻转后的译码序列与所述置换后的接收序列之间的欧氏距离;

确定所述欧氏距离最小的错误图样为所述目标错误图样。

可选的,初始化的错误图样集合中包括初始化错误图样,所述初始化错误图样为全零序列;

所述扩展可能的错误图样,将扩展的错误图样添加于所述错误图样集合中,包括:

响应于所述错误图样集合为初始化的错误图样集合,将所述初始化错误图样中比特序号最大的比特的比特值修改为1,将修改之后的错误图样添加于所述错误图样集合中;

响应于所述错误图样集合为非初始化的错误图样集合,查找所述目标错误图样中比特值为1且比特序号最小的目标比特,响应于所述目标比特的序号不为1,将所述目标比特的比特值修改为0,得到修改后的一个错误图样,基于该修改后的错误图样,将所述目标比特的前一比特的比特值修改为1,得到修改后的另一个错误图样,将修改后的两个错误图样添加于所述错误图样集合中。

可选的,根据所述目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果,包括:

按照所述目标错误图样对所述硬判决译码序列进行翻转,得到翻转后的译码序列;

利用所述置换后的生成矩阵对所述翻转后的译码序列进行重新编码,得到候选序列;

响应于所述候选序列通过预设编码方式的校验,对所述候选序列进行调制,得到调制序列;

计算所述调制序列与所述置换后的接收序列之间的欧氏距离;

响应于所述欧氏距离小于预设的最小欧氏距离,对所述候选序列进行逆置换处理,得到所述译码结果。

可选的,所述方法还包括:

响应于所述候选序列未通过所述校验,或者所述欧氏距离大于所述最小欧氏距离,更新所述当前译码次数;

响应于未达到预设的译码结束条件,重新选取目标错误图样,根据重新选取的目标错误图样、所述硬判决译码序列和置换后的生成矩阵,生成更新后的当前译码次数对应的译码结果。

可选的,所述编码方式为CRC级联的极化码;响应于所述候选序列通过预设编码方式的校验,包括:

所述候选序列通过冻结位校验;

所述候选序列符合CRC约束关系;

或者,所述编码方式为除CRC级联的极化码外的其他线性分组码;响应于所述候选序列通过预设编码方式的校验,包括:

利用预设的校验矩阵对所述候选序列校验通过。

可选的,所述译码结束条件为译码次数达到预设的最大译码次数,或者通过校验的译码序列达到预定数量。

本申请实施例还提供一种译码装置,包括:

接收序列处理模块,用于对接收序列进行硬判决译码,得到硬判决译码序列;

生成矩阵处理模块,用于对生成矩阵进行置换处理,得到置换后的生成矩阵;

译码模块,用于响应于未达到预设的译码结束条件,基于预设的错误图样集合选取目标错误图样,根据所述目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果。

从上面所述可以看出,本说明书一个或多个实施例提供的译码方法及装置,通过对接收序列进行硬判决译码,得到硬判决译码序列,对生成矩阵进行置换处理,得到置换后的生成矩阵,如果当前译码次数未达到预设的最大译码次数,基于预设的错误图样集合选取目标错误图样,根据目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果。本实施例的译码方法能够保证译码性能,降低译码复杂度。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一个或多个实施例的方法流程示意图;

图2为本说明书一个或多个实施例的硬判决译码方法流程示意图;

图3为本说明书一个或多个实施例的生成矩阵处理方法流程示意图;

图4为本说明书另一实施例的方法流程示意图;

图5为本说明书一个或多个实施例的译码流程示意图;

图6为本说明书一个或多个实施例的装置结构示意图;

图7为本说明书一个或多个实施例的电子设备结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

如背景技术部分所述,OSD译码算法作为URLLC的候选通用译码算法,能够对任何线性分组码进行译码。OSD译码算法先基于可靠性度量进行硬判决译码,然后重新处理硬判决得到的译码码字,直到达到最大似然性能。对于码长长度小于64的码,OSD译码算法的复杂度较低,而在URLLC通信场景下,短码会降低通信可靠性,且当码率较高时,OSD译码算法的复杂度会随之增加。因而,在URLLC通信场景下,如何保证通信性能,同时降低译码复杂度,是所需解决的问题。

有鉴于此,本申请实施例提供一种译码方法,对接收序列进行硬判决译码,得到硬判决译码序列,对生成矩阵进行置换处理,得到置换后的生成矩阵,然后进行最大译码次数的译码,译码过程中,有序的选取目标错误图样,根据目标错误图样、硬判决译码序列和置换后的生成矩阵进行译码,得到译码结果。本申请通过对OSD译码方法进行改进,既能够保证译码性能,又可降低复杂度,而且适合短码和中长码的译码处理。

以下,通过具体的实施例进一步详细说明本申请的技术方案。

如图1所示,本说明书实施例提供一种译码方法,包括:

S101:对接收序列进行硬判决译码,得到硬判决译码序列;

S102:对生成矩阵进行置换处理,得到置换后的生成矩阵;

S103:响应于未达到预设的译码结束条件,基于预设的错误图样集合选取目标错误图样,根据目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果。

本实施例提供的译码方法,首先对接收序列进行硬判决译码,得到硬判决译码序列,对生成矩阵进行置换处理,得到置换后的生成矩阵;之后进行译码,每次译码时,从错误图样集合选取出目标错误图样,根据目标错误图样、硬判决译码序列和置换后的生成矩阵进行译码,当达到译码结束条件时,得到最终的译码结果。通过有序选取目标错误图样,能够尽快找到正确的码字序列,提高译码效率,降低译码复杂度,保证译码性能。

一些实施例中,对接收序列进行硬判决译码,得到硬判决译码序列,包括:

对接收序列进行置换处理,得到置换后的接收序列;

对置换后的接收序列进行硬判决译码,得到硬判决译码序列。

结合图2所示,本实施例中,对接收序列进行硬判决译码的方法是,先对接收序列进行置换处理,然后对置换后的接收序列进行硬判决译码,从而得到硬判决译码序列。其中,对接收序列进行置换处理,得到置换后的接收序列,包括:利用第一置换函数对接收序列进行置换处理,得到第一次置换后的接收序列;利用第二置换函数对第一次置换后的接收序列进行置换处理,得到第二次置换后的接收序列。在此基础上,对第二次置换后的接收序列的前K位进行硬判决译码,得到硬判决译码序列。

具体的,若信息序列

对于接收序列

利用第二置换函数对第一次置换后的接收序列r

一些实施例中,对生成矩阵进行置换处理,得到置换后的生成矩阵,包括:利用第一置换函数对生成矩阵进行置换处理,得到第一次置换后的生成矩阵;利用第二置换函数对第一次置换后的生成矩阵进行置换处理,得到第二次置换后的生成矩阵;对第二次置换后的生成矩阵进行高斯消元处理,得到置换后的生成矩阵。

结合图3所示,本实施例中,对于生成矩阵G,利用第一置换函数对生成矩阵的列向量进行置换处理,得到第一次置换后的生成矩阵G′,表示为G′=λ

一些实施例中,选取目标错误图样之后,还包括:

扩展可能的错误图样,将扩展的错误图样添加于错误图样集合中,形成更新的错误图样集合。

如图4所示,本实施例中,选取出目标错误图样之后,对错误图样集合中的错误图样进行扩展,更新错误图样集合,然后根据目标错误图样进行译码,如果没有达到译码结束条件,则从更新的错误图样集合中重新选取目标错误图样,再对错误图样集合进行扩展,更新错误图样集合,根据重新选取的目标错误图样、硬判决译码序列和置换后的生成矩阵,生成对应的译码结果。重复上述选取目标错误图样、更新错误图样集合和译码过程,直至达到译码结束条件,得到最终的译码结果。这样,通过有序选取目标错误图样,能够降低译码复杂度,提升译码效率。

一些实施例中,选取目标错误图样,包括:

对于错误图样集合中的每个错误图样:

按照该错误图样对硬判决译码序列进行翻转,得到翻转后的译码序列;

计算翻转后的译码序列与置换后的接收序列之间的欧氏距离;

确定欧氏距离最小的错误图样为目标错误图样。

本实施例提供从错误图样集合中选取目标错误图样的方法,对于集合中的第n个错误图样

一些实施例中,初始化的错误图样集合中包括初始化错误图样,初始化错误图样为全零序列;

扩展可能的错误图样,将扩展的错误图样添加于错误图样集合中,包括:

响应于错误图样集合为初始化的错误图样集合,将初始化错误图样的比特序号最大的比特的比特值修改为1,将修改之后的错误图样添加于错误图样集合中;

响应于错误图样集合为非初始化的错误图样集合,查找目标错误图样中比特值为1且比特序号最小的目标比特,响应于目标比特的序号不为1,将目标比特的比特值修改为0,得到修改后的一个错误图样,基于该修改后的错误图样,将目标比特的前一比特的比特值修改为1,得到修改后的另一个错误图样,将修改后的两个错误图样添加于错误图样集合中。

本实施例中,第一次译码基于初始化的错误图样集合选取目标错误图样,初始化的错误图样集合中包括全零序列的初始化错误图样,将初始化错误图样作为目标错误图样。之后,将初始化错误图样从错误图样集合中删除,然后对初始化错误图样进行修改,将修改后的错误图样作为扩展的错误图样添加于错误图样集合中。对初始化错误图样进行修改时,将其最右边的比特的比特值由0修改为1,如果按照从左到右的顺序,比特序号为升序排列,则是将比特序号最大的比特的比特值修改为1,得到扩展的错误图样。

每次选取目标错误图样之后,均对错误图样集合进行扩展形成更新的错误图样集合,除第一次译码之外,后续的每次译码均基于更新的错误图样集合选取目标错误图样。扩展错误图样时,对于选取出的目标错误图样,查找目标错误图样中比特值为1的比特,如果有多个比特值为1的比特,则选取出其中最左边的比特作为目标比特,即选取出其中比特序号最小的比特作为目标比特,确定目标比特之后,将目标比特的比特值由1修改为0,得到修改后的一个错误图样,基于修改后的该错误图样,将目标比特的前一个比特(比特序号小1的比特)的比特值由0修改为1,得到修改后的另一个错误图样,将修改后的两个错误图样添加于错误图样集合中。如果选取出的比特序号最小的比特为第一个比特,不再扩展错误图样。本实施例中,由于置换后的接收序列是按照可靠性从高到低排序的,在选取目标错误图样时,按照倒序(即可靠性从低到高的顺序)搜索可能的错误图样,能够尽快找到正确的错误图样,从而提高译码效率。

一些实施例中,根据目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果,包括:

按照目标错误图样对硬判决译码序列进行翻转,得到翻转后的译码序列;

利用置换后的生成矩阵对翻转后的译码序列进行重新编码,得到候选序列;

响应于候选序列通过预设编码方式的校验,对候选序列进行调制,得到调制序列;

计算调制序列与置换后的接收序列之间的欧氏距离;

响应于欧氏距离小于预设的最小欧氏距离,对候选序列进行逆置换处理,得到译码结果。

如图5所示,本实施例中,确定目标错误图样之后,根据目标错误图样、硬判决译码序列和置换后的生成矩阵,进行译码。具体的,先按照目标错误图样

一些方式中,对候选序列进行逆置换处理,包括,利用第二逆置换函数对候选序列进行逆置换处理,得到第一次逆置换处理的候选序列,之后,利用第一逆置换函数对第一次逆置换处理的候选序列进行逆置换处理,得到逆置换处理后的候选序列,即译码序列。其中,第一逆置换函数是第一置换函数的逆运算函数,第二逆置换函数是第二置换函数的逆运算函数。举例来说,置换处理时,利用第一置换函数将位置i的码元变换到位置j

一些实施例中,预设的译码结束条件可以是译码次数达到预设的最大译码次数,或者是通过校验的译码序列达到预定数量。一种情况下,译码次数未达到最大译码次数时,所获得的通过校验的译码序列的数量已经达到预定数量,判断已经得到预期的译码结果,则结束译码;例如,通过校验的译码序列的数量为2或3时,可以停止译码;另一种情况下,达到最大译码次数时,通过校验的译码序列的数量并未达到预定数量,则结束译码,通过设置有限次的译码次数,能够降低译码复杂性。可选的,最大译码次数可以根据分组码的码长N和数据位K进行设置,具体取值不做限定。

一些实施例中,译码方法还包括:

响应于候选序列未通过校验,或者欧氏距离大于最小欧氏距离,更新当前译码次数;

响应于未达到预设的译码结束条件,重新选取目标错误图样,根据重新选取的目标错误图样、硬判决译码序列和置换后的生成矩阵,生成更新后的当前译码次数对应的译码结果。

本实施例中,在译码过程中,如果得到的候选序列校验未通过,或者计算出的欧氏距离大于等于最小欧氏距离,需要重新选取目标错误图样,根据重新选取的目标错误图样、硬判决译码序列和置换后的生成矩阵,重新进行译码。

一些实施例中,编码方式为CRC级联的极化码;响应于候选序列通过预设编码方式的校验,包括:

候选序列通过冻结位校验;

候选序列符合CRC约束关系。

本实施例中,在译码过程中,根据所采用的编码方式对候选序列进行校验。对于CRC级联的极化码,利用冻结位校验方式对候选序列进行校验(除了除了信息比特,其余的N-K个比特均为冻结比特,值应为0。校验时,判断冻结比特的位置是否出现1,如果出现1则判断未通过冻结位校验),同时判断候选序列是否符合CRC约束关系(接收端按照预定方法计算CRC校验位,通过CRC校验位判断数据传输是否正确完整)。如果候选序列通过冻结位校验,同时符合CRC约束关系,则候选序列校验通过。

一些实施例中,编码方式为除CRC级联的极化码外的其他线性分组码;响应于候选序列通过预设编码方式的校验,包括:利用预设的校验矩阵对候选序列校验通过。即,对于除CRC级联的极化码之外的其他线性分组码,按照特定校验矩阵对候选序列进行校验,将候选序列与校验矩阵相乘,如果计算结果为0,则候选矩阵校验通过。

本说明书实施例提供的改进OSD译码方法,在未满足译码结束条件时进行译码,译码过程中,根据可靠性有序猜测可能的目标错误图样,能够尽快确定正确的码字序列,降低译码复杂度,提高译码效率;同时,通过对候选序列进行校验,校验通过的序列进一步进行欧氏距离的判断,可以提高译码准确性,进而提高译码性能;且,该译码方法同时适用于短码和中长码。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

如图6所示,本说明书实施例还提供一种译码装置,包括:

接收序列处理模块,用于对接收序列进行硬判决译码,得到硬判决译码序列;

生成矩阵处理模块,用于对生成矩阵进行置换处理,得到置换后的生成矩阵;

译码模块,用于响应于未达到预设的译码结束条件,基于预设的错误图样集合选取目标错误图样,根据目标错误图样、硬判决译码序列和置换后的生成矩阵,生成当前译码次数对应的译码结果。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 信息编译码方法和装置、信息处理系统
  • 一种信号控制装置及方法、显示控制装置及方法、显示装置
  • 声音编码装置、声音译码装置及声音编码译码装置、以及声音编码方法、声音译码方法及声音编码译码方法
  • 涡轮码纠错译码器、涡轮码纠错译码方法、涡轮码译码装置及涡轮码译码系统
技术分类

06120115574068