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

一种极化码编码方法及装置

文献发布时间:2023-06-19 11:11:32


一种极化码编码方法及装置

技术领域

本申请实施例涉及编解码领域,尤其涉及一种极化码编码方法及装置。

背景技术

通信系统通常采用信道编码提高数据传输的可靠性,保证通信的质量。例如可以采用极化码(Polar)码、里德-穆勒(Reed-Muler,RM)码等编码方法。其中,Polar码是可以取得香农容量且具有低编译码复杂度的编码方式。RM码由David Muller于1954年首次提出,RM码快速的译码算法非常适合于光纤通信系统。RM码和Polar码的构造方式相结合生成一种编码方法,可以称为RM-Polar码。

如何通过码字构造来提高编码的性能,是业界持续关注的问题。

发明内容

本申请实施例提供一种极化码编码方法及装置,用以提高编码性能。

本申请实施例提供的具体技术方案如下:

第一方面,提供一种极化码编码方法,该方法的执行主体可以是编码设备。编码设备可以是终端,也可以是网络设备。该方法的步骤包括:获取K个待编码的信息比特,K为正整数;根据所述K个待编码的信息比特,确定第一比特序列,所述第一比特序列的长度为N,N为2的正整数次幂,所述第一比特序列包括固定比特和所述K个待编码的信息比特;根据第一比特序列和上三角矩阵,确定第二比特序列,所述上三角矩阵为N行N列的矩阵;对所述第二比特序列进行极化码编码,得到并输出编码后的序列。通过在编码过程中增加上三角矩阵的构造方法,这样能够提升码谱,优化码的构造,Polar能够从理论上证明,当码长趋于无限时能够“达到”信道容量,但是在许多实际的场景中,码长并不是无限的,因此性能受限。本申请实施例提供的方法能够有助于提高有限码长下Polar码的性能。

在一个可能的设计中,所述上三角矩阵为上三角托普利兹(Toeplitz)矩阵。

在一个可能的设计中,在根据所述K个待编码的信息比特,确定第一比特序列时,可以通过以下方式实现:根据极化码N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,其中,所述极化码生成矩阵为N行N列的矩阵,所述极化码生成矩阵的N行一一对应于所述第一比特序列的N个比特位,所述N个极化信道一一对应于所述第一比特序列的N个比特位;将所述K个待编码的信息比特映射到所述K个信息比特位,得到所述第一比特序列。在选择Polar码的信息比特位时,综合考虑极化信道的可靠性以及生成矩阵的行重,能够更进一步增大码字的最小汉明距离,能够改善Polar码的性能。其中,最小汉明距离为构造码形成的码字集合中所有码字间相互的距离中最小的距离。另一方面,由于编码性能提高,所以能够在一定程度上提高译码性能。

在一个可能的设计中,根据极化码N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,可以通过方式一或方式二来实现。

方式一:选择极化码生成矩阵中行重由大到小排序靠前的行,且极化信道的可靠度排序不低于第二阈值的极化信道,对应的比特位作为所述K个信息比特位。

可以按照极化码N个极化信道的可靠度由高到低的顺序,确定第一排序序列,所述第一排序序列的N个序号一一对应于所述第一比特序列的N个比特位;在所述第一排序序列中从第一个序号开始,选择所述极化码生成矩阵中重量大于或等于第一阈值的K行对应的比特位,作为所述K个信息比特位。

方式二:选择极化码生成矩阵中行重由大到小排序靠前的行,且极化信道的可靠度排序不低于第二阈值的极化信道,对应的比特位作为所述K个信息比特位。

可以按照所述极化码生成矩阵的N行中每一行的重量由高到低的顺序,确定第二排序序列,所述第二排序序列的N个序号一一对应于所述第一比特序列的N个比特位;在所述第二排序序列中从第一个序号开始,选择极化码N个极化信道的可靠度由高到低的K个极化信道对应的比特位,作为所述K个信息比特位。

在一个可能的设计中,按照可靠度排序,是从N个极化信道速率匹配后的极化信道后进行的。按照生成矩阵的行重排序,是从生成矩阵的N行对应的N个极化信道速率匹配后的极化信道后进行的。速率匹配的方式可以包括:打孔、缩短或者预冻结。

例如,根据极化码N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,可以通过以下方式实现:根据极化码N个极化信道去除速率匹配相关的极化信道的可靠度排序,和根据极化码生成矩阵的N行去除速率匹配相关的行之后的每一行的重量,确定K个信息比特位。可选的,所述速率匹配相关的极化信道包括打孔、缩短或预冻结的极化信道,所述速率匹配相关的行包括打孔、缩短或预冻结的极化信道对应的行。

在一个可能的设计中,在根据所述K个待编码的信息比特,确定第一比特序列时,可以考虑极化信道的可靠性来确定K个信息比特位,例如:按照极化码N个极化信道的可靠度由高到低的顺序,确定K个信息比特位,其中,所述N个极化信道一一对应于所述第一比特序列的N个比特位;将所述K个待编码的信息比特映射到所述K个信息比特位,得到所述第一比特序列。

又例如,按照极化码N个极化信道的可靠度由高到低的顺序,确定K个信息比特位,可以通过以下方式实现:按照极化码N个极化信道去除速率匹配相关的极化信道的可靠度由高到低的顺序,确定K个信息比特位。可选的,所述速率匹配相关的极化信道包括打孔、缩短或预冻结的极化信道。

在一个可能的设计中,在根据所述K个待编码的信息比特确定第一比特序列时,还可以考虑生成矩阵的行重来确定K个信息比特位。例如:根据极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,其中,所述极化码生成矩阵为N行N列的矩阵,所述极化码生成矩阵的N行一一对应于所述第一比特序列的N个比特位;将所述K个待编码的信息比特映射到所述K个信息比特位,得到所述第一比特序列。

在一个可能的设计中,根据极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,包括:根据极化码生成矩阵的N行去除速率匹配相关的行之后的每一行的重量,确定K个信息比特位。可选的,所述速率匹配相关的行包括打孔、缩短或预冻结的极化信道对应的行。

在一个可能的设计中,根据第一比特序列和上三角矩阵,确定第二比特序列,包括:将所述第一比特序列与所述上三角矩阵相乘,得到所述第二比特序列。

在一个可能的设计中,对所述第二比特序列进行极化码编码,得到编码后的序列,包括:将所述第二比特序列与极化码生成矩阵相乘,得到所述编码后的序列。

在一个可能的设计中,所述信息比特包括校验比特。当待编码的信息比特中包括校验比特时,译码设备能够使用预先给定的校验关系译码,提高译码性能。

第二方面,提供一种极化码编码装置,该装置具有实现上述第一方面和第一方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。一种设计中,该装置可以包括获取单元、确定单元和编码单元。示例性地:

获取单元,用于获取K个待编码的信息比特,K为正整数;确定单元,用于根据所述K个待编码的信息比特,确定第一比特序列,所述第一比特序列的长度为N,N为2的正整数次幂,所述第一比特序列包括固定比特和所述K个待编码的信息比特;编码单元,用于根据第一比特序列和上三角矩阵,确定第二比特序列,所述上三角矩阵为N行N列的矩阵;以及用于对所述第二比特序列进行极化码编码,得到并输出编码后的序列。通过在编码过程中增加上三角矩阵的构造方法,这样能够提升码谱,优化码的构造,Polar能够从理论上证明,当码长趋于无限时(N→∞)能够“达到”信道容量,但是在许多实际的场景中,码长并不是无限的,因此性能受限。本申请实施例提供的方法能够有助于提高有限码长下Polar码的性能。

在一个可能的设计中,所述上三角矩阵为上三角Toeplitz矩阵。

在一个可能的设计中,所述确定单元用于:根据极化码N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,其中,所述极化码生成矩阵为N行N列的矩阵,所述极化码生成矩阵的N行一一对应于所述第一比特序列的N个比特位,所述N个极化信道一一对应于所述第一比特序列的N个比特位;将所述K个待编码的信息比特映射到所述K个信息比特位,得到所述第一比特序列。在选择Polar码的信息比特位时,综合考虑极化信道的可靠性以及生成矩阵的行重,能够更进一步增大码字的最小汉明距离,能够改善Polar码的编码性能,并且由于编码性能提高,也能够在译码时提高译码性能。

在一个可能的设计中,所述确定单元用于:选择可靠度按从大到小的排序方式时排序靠前的极化信道、且重量不低于第一阈值的极化码生成矩阵的行,对应的比特位作为所述K个信息比特位。

例如,按照极化码N个极化信道的可靠度由高到低的顺序,确定第一排序序列,所述第一排序序列的N个序号一一对应于所述第一比特序列的N个比特位;在所述第一排序序列中从第一个序号开始,选择所述极化码生成矩阵中重量大于或等于第一阈值的K行对应的比特位,作为所述K个信息比特位。

在一个可能的设计中,所述确定单元用于:选择极化码生成矩阵中行重由大到小排序靠前的行,且极化信道的可靠度排序不低于第二阈值的极化信道,对应的比特位作为所述K个信息比特位。

例如,按照所述极化码生成矩阵的N行中每一行的重量由高到低的顺序,确定第二排序序列,所述第二排序序列的N个序号一一对应于所述第一比特序列的N个比特位;在所述第二排序序列中从第一个序号开始,选择极化码N个极化信道的可靠度由高到低的K个极化信道对应的比特位,作为所述K个信息比特位。

在一个可能的设计中,所述确定单元用于:根据极化码N个极化信道去除速率匹配相关的极化信道的可靠度排序,和根据极化码生成矩阵的N行去除速率匹配相关的行之后的每一行的重量,确定K个信息比特位,所述速率匹配相关的极化信道包括打孔、缩短或预冻结的极化信道,所述速率匹配相关的行包括打孔、缩短或预冻结的极化信道对应的行。

在一个可能的设计中,所述确定单元用于:按照极化码N个极化信道的可靠度由高到低的顺序,确定K个信息比特位,其中,所述N个极化信道一一对应于所述第一比特序列的N个比特位;将所述K个待编码的信息比特映射到所述K个信息比特位,得到所述第一比特序列。

在一个可能的设计中,在按照极化码N个极化信道的可靠度由高到低的顺序,确定K个信息比特位时,所述确定单元用于:按照极化码N个极化信道去除速率匹配相关的极化信道的可靠度由高到低的顺序,确定K个信息比特位。可选的,所述速率匹配相关的极化信道包括打孔、缩短或预冻结的极化信道。

在一个可能的设计中,所述确定单元用于:根据极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,其中,所述极化码生成矩阵为N行N列的矩阵,所述极化码生成矩阵的N行一一对应于所述第一比特序列的N个比特位;将所述K个待编码的信息比特映射到所述K个信息比特位,得到所述第一比特序列。

在一个可能的设计中,在根据极化码生成矩阵的N行中每一行的重量,确定K个信息比特位时,所述确定单元用于:根据极化码生成矩阵的N行去除速率匹配相关的行之后的每一行的重量,确定K个信息比特位。可选的,所述速率匹配相关的行包括打孔、缩短或预冻结的极化信道对应的行。

在一个可能的设计中,所述编码单元用于:将所述第一比特序列与所述上三角矩阵相乘,得到所述第二比特序列。

在一个可能的设计中,所述编码单元用于:将所述第二比特序列与极化码生成矩阵相乘,得到所述编码后的序列。

在一个可能的设计中,所述信息比特包括校验比特。当待编码的信息比特中包括校验比特时,译码设备能够使用预先给定的校验关系译码,提高译码性能。

第三方面,提供一种极化码编码装置,该装置具有实现上述第一方面和第一方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,当所述功能的部分或全部通过硬件实现时,所述极化码编码装置包括:输入接口电路,用于获取K个待编码的信息比特,K为正整数;逻辑电路,用于执行上述第一方面和第一方面的任一种可能的设计中所述的(除获取K个待编码的信息比特和输出编码后的序列之外)行为;输出接口电路,用于输出编码后的序列。

可选的,所述极化码编码装置可以是芯片或者集成电路。

在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述极化码编码装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述极化码编码装置可以实现如上述第一方面和第一方面的任一种可能的设计中所述的方法。

可选的,上述存储器可以是物理上独立的单元,也可以与处理器集成在一起。

在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述极化码编码装置包括处理器。用于存储程序的存储器位于所述编码装置之外,处理器通过电路/电线与存储器连接,用于读取并执行所述存储器中存储的程序。

第四方面,提供了一种计算机可读存储介质,存储有计算机可读指令,当所述计算机可读指令在计算机上运行时,使得计算机执行如第一方面和第一方面的任一可能设计中任一种所述的方法。

第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面和第一方面的任一可能设计所述的方法。

第六方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面或第一方面中任一种可能的设计中所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

附图说明

图1为本申请实施例中通信系统架构示意图;

图2为本申请实施例中极化码编码方法示意图之一;

图3为本申请实施例中(256,128)的RM-Polar码构造方法示意图;

图4为本申请实施例中极化码编码方法示意图之二;

图5为本申请实施例中码字性能对比示意图之一;

图6为本申请实施例中码字性能对比示意图之二;

图7为本申请实施例中码字性能对比示意图之三;

图8为本申请实施例中极化码编码装置结构示意图之一;

图9为本申请实施例中极化码编码装置结构示意图之二;

图10为本申请实施例中极化码编码装置结构示意图之三。

具体实施方式

本申请实施例提供一种极化码编码及装置。其中,方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。本申请实施例的描述中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请中所涉及的至少一个是指一个或多个;多个,是指两个或两个以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”、“第三”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

本申请实施例提供的译码方法可以应用于第五代(5th generation,5G)通信系统,例如5G新空口(new radio,NR)系统,设备到设备(device to device,D2D)通信系统,或应用于未来的各种通信系统。

下面将结合附图,对本申请实施例进行详细描述。

图1示出了本申请实施例提供的译码方法适用的一种可能的通信系统的架构,参阅图1所示,通信系统100中包括:网络设备101和一个或多个终端102。当通信系统100包括核心网时,网络设备101还可以与核心网相连。网络设备101为覆盖范围内的终端102提供服务。例如,参见图1所示,网络设备101为网络设备101覆盖范围内的一个或多个终端102提供无线接入。除此之外,网络设备之间的覆盖范围可以存在重叠的区域,例如网络设备101和网络设备101’。网络设备之间还可以互相通信,例如,网络设备101可以与网络设备101’之间进行通信。

网络设备101为无线接入网(radio access network,RAN)中的节点,又可以称为基站,还可以称为RAN节点(或设备)。目前,一些网络设备101的举例为:下一代基站(nextgeneration nodeB,gNB)、下一代演进的基站(next generation evolved nodeB,Ng-eNB)、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(basestation controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wifi)接入点(access point,AP),网络设备101还可以是卫星,卫星还可以称为高空平台、高空飞行器、或卫星基站。网络设备101还可以是其他具有网络设备功能的设备,例如,网络设备101还可以是D2D通信中担任网络设备功能的设备。网络设备101还可以是未来可能的通信系统中的网络设备。

在一些部署中,网络设备可以包括集中式单元(centralized unit,CU)和(distributed unit,DU)。网络设备还可以包括有源天线单元(active antenna unit,AAU)。CU实现网络设备的部分功能,DU实现网络设备的部分功能,比如,CU负责处理非实时协议和服务,实现无线资源控制(radio resource control,RRC),分组数据汇聚层协议(packet data convergence protocol,PDCP)层的功能。DU负责处理物理层协议和实时服务,实现无线链路控制(radio link control,RLC)层、媒体接入控制(media accesscontrol,MAC)层和物理(physical,PHY)层的功能。AAU实现部分物理层处理功能、射频处理及有源天线的相关功能。由于RRC层的信息最终会变成PHY层的信息,或者,由PHY层的信息转变而来,因而,在这种架构下,高层信令,如RRC层信令,也可以认为是由DU发送的,或者,由DU+AAU发送的。可以理解的是,网络设备可以为包括CU节点、DU节点、AAU节点中一项或多项的设备。此外,可以将CU划分为接入网(radio access network,RAN)中的网络设备,也可以将CU划分为核心网(core network,CN)中的网络设备,本申请对此不做限定。

终端102,又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音和/或数据连通性的设备。例如,终端102包括具有无线连接功能的手持式设备、车载设备等。目前,终端102可以是:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备(例如智能手表、智能手环、计步器等),车载设备(例如,汽车、自行车、电动车、飞机、船舶、火车、高铁等)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、智能家居设备(例如,冰箱、电视、空调、电表等)、智能机器人、车间设备、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端,或智慧家庭(smart home)中的无线终端、飞行设备(例如,智能机器人、热气球、无人机、飞机)等。终端102还可以是其他具有终端功能的设备,例如,终端102还可以是D2D通信中担任终端功能的终端。

基于图1所示的通信系统架构,以下具体介绍一下本申请实施例提供的极化码编码方法。该极化码编码方法的执行主体可以为编码设备,编码设备可以是网络设备101,也可以是终端102。编码设备对待编码的信息比特进行编码,获得编码码字发送给译码设备。编码设备也可以称为发送端,译码设备为接收端。当发送端或编码设备是网络设备101时,接收端或译码设备为终端102,当发送端或编码设备为终端102时,接收端或译码设备为网络设备101。

首先介绍几种编码方法可能的实现方式。

编码方法一:传统的极化码(Polar码)编码方式。

Polar码也是一种线性块码,生成矩阵为G

Polar码的编码过程中,

Polar码的构造过程即集合A的选取过程,决定了Polar码的性能。Polar码的构造过程通常是,根据母码码长N确定共存在N个极化信道,分别对应生成矩阵的N个行,计算极化信道可靠度,将可靠度较高的前K个极化信道的索引作为集合A的元素,剩余(N-K)个极化信道对应的索引作为固定比特的索引集合A

如图2所示,展示了一个8×8的生成矩阵,其中向量u用(0,0,0,U

假设生成矩阵G为:

编码方法二:RM码编码方式。

给定参数r和m,其中r≤m。则存在一个r阶的RM码,可以表示为:(r,m)。RM码字长度为N=2

RM码可以采用和polar码相同的生成矩阵G的构造,即N×N的生成矩阵

例如,生成矩阵G为:

在生成矩阵G中,第1行到第4行的行重分别为1、2、2、4。

假设K=1,即选择1个信息比特位。可以选择行重最大的第4行对应的比特位作为信息比特位。

假设K=2,即选择2个信息比特位。可以选择行重从大到小排序的2行对应的比特位作为信息比特位。行重最大的行为第4行,行重最大的第4行对应的比特位为一个信息比特位。第2行和第3行的行重相同,确定另一个比特位时,可以选择第2行和第3行中的任意一行对应的比特位作为信息比特位,也可以按照自然序从前往后选择,也可以按照离最大行重对应的行最近的行来确定信息比特位。若按照自然序从前往后选择的方式确定另一个比特位,则选择第2行,这种方式下编码端较简易些。若按照离最大行重对应的行最近的行来确定信息比特位,比如这里行重最大的是第4行,那就在第2行和第3行中选择第3行,这种方式下数据更为集中,较为有利于译码。

又例如,生成矩阵G为:

在生成矩阵G中,第1行到第8行的行重分别为1、2、2、4、2、4、4、8。第8行的行重最大,第4、6、7行的行重次之,第2、3、5行的行重第三,第1行的行重最小。按照行重从大到小排序为8、(4、6、7)、(2、3、5)、1。

假设K=4,即选择4个信息比特位。可以选择行重从大到小排序,选择第8、4、6、7行对应的比特位作为信息比特位。

假设K=6,即选择6个信息比特位。可以选择行重从大到小排序,先选择第8、4、6、7行对应的比特位作为4个信息比特位。还需要选择2个信息比特位,行重排序第三的行有3行,可以选择2、3、5行中的任意两行对应的比特位作为信息比特位,也可以按照自然序从前往后选择两行对应的比特位作为信息比特位,也可以按照离最大行重对应的行最近的两行来确定信息比特位。若按照自然序从前往后选择两行对应的比特位作为信息比特位,可以选第2、3行,这种方式下编码端较简易些。若按照离最大行重对应的行最近的两行来确定信息比特位,比如这里行重最大的是第8行,则在第2、3、5行中选择第3、5行,这种方式下数据更为集中,较为有利于译码。

编码方法三:RM-Polar码编码方式。

RM-Polar码的构造流程如下:获取N×N的生成矩阵G,

在第一种可能的实施方式中,以N个极化信道可靠度由大到小的顺序为主要参考因素,以生成矩阵的行重由大到小的顺序为辅助参考因素,确定K个信息比特位。

可以选择可靠度按从大到小的排序方式时排序靠前的极化信道、且重量不低于第一阈值的极化码生成矩阵的行,对应的比特位作为K个信息比特位。即可以选择极化信道的可靠度排序靠前且行重不低于第一阈值的比特位作为信息比特位。其余比特位作为固定比特位。

可以按照N个极化信道可靠度由大到小的顺序选择K个极化信道对应的K个信息比特位,判断该K个信息比特位对应的生成矩阵中的K行是否行重均大于或等于第一阈值,若是,则确定该K个信息比特位。否则按照下述过程确定K个信息比特位。若在所选择的K个信息比特位对应的生成矩阵中K行中,有K1行的行重小于第一阈值,则除去所选择的K个信息比特位中该K1行所对应的K1个信息比特位,即可以确定(K-K1)个信息比特位。并在N个极化信道中除去所选的K个极化信道之外的(N-K)个极化信道中,按照该(N-K)个极化信道的可靠度由大到小的顺序选择K1个极化信道对应的K1个信息比特位,判断该K1个信息比特位对应的生成矩阵中K1行是否行重均大于或等于第一阈值,若是,则将该K1个信息比特位与上述确定的(K-K1)个信息比特位,确定为K个信息比特位;否则:若在所选择的K1个信息比特位对应的生成矩阵中K1行中,有K2行的行重小于第一阈值,则除去所选择的K1个信息比特位中该K2行所对应的K2个信息比特位,即可以确定(K-K2)个信息比特位。并在N个极化信道中除去所选的(K+K1)个极化信道之外的(N-K-K1)个极化信道中,按照该(N-K-K1)个极化信道的可靠度由大到小的顺序选择K2个极化信道对应的K2个信息比特位,判断该K2个信息比特位对应的生成矩阵中K2行是否行重均大于或等于第一阈值,若是,则将该K2个信息比特位与上述确定的(K-K2)个信息比特位,确定为K个信息比特位;否则按照上述同理的操作执行,直到选择出K个信息比特位为止。

可以按照N个极化信道可靠度由大到小的顺序,依次选择极化信道,每选择一个极化信道,判断该极化信道对应的生成矩阵中的行的行重是否大于或等于第一阈值。若是则将该极化信道对应的比特位确定为信息比特位,否则将该极化信道对应的比特位确定为固定比特位。并继续选择下一个极化信道,按照相同的方法判断该极化信道对应的比特位为固定比特位还是信息比特位。直到确定出K个信息比特位,剩余未判断的比特位确定为固定比特位。

如图3所示,示出了(256,128)的RM-Polar码,即RM-Polar码的码长为256,信息比特序列长为128。横轴表示按照可靠性由高到低排序获得的排序序列的序号,排序序列的序号对应极化码的极化信道的序号,也对应比特位置。纵轴表示生成矩阵中每一行的行重。中间的实线竖线左侧代表极化信道可靠性较高的128个比特位,右边代表信道可靠性较低的128个比特位。若按照极化信道可靠性高低来确定K个信息比特位,则选定实线竖线左侧的128个比特位即可。当结合行重来选择信息比特位时,还需要参考行重是否不低于阈值。假设设定的阈值为16,由图3可以看出,靠近实线竖线左侧存在两个比特位对应行重小于16。因此这两个比特位将不会被选为该RM-polar码的信息比特位,可以选择离实线竖线右侧最近的两个对应行重大于或等于16比特位,作为两个信息比特位,以代替行重小于16的两个比特位。

在第二个可能的实施方式中,以生成矩阵的行重由大到小的顺序为主要参考因素,以N个极化信道可靠度由大到小的顺序为辅助参考因素,确定K个信息比特位。

选择极化码生成矩阵中行重由大到小排序靠前的行,且极化信道的可靠度排序不低于第二阈值的极化信道,对应的比特位作为K个信息比特位。即可以选择生成矩阵中行重大小排序靠前且极化信道的可靠度排序不低于第二阈值的比特位,作为信息比特位,其余比特位为固定比特位。

可以按照生成矩阵的N行中各行的行重由大到小的顺序,选择K行对应的K个信息比特位。若已选择(K-K0)个信息比特,在按照行重排序选择第(K-K0+1)到第K个信息比特时,存在大于K0的X个行(X>K0)的行重相同。则可以在该X个行中选择对应的极化信道可靠度从高到低依次排列的前K0行,将这K0行对应的比特位作为第(K-K0+1)个到第K个信息比特位。例如:若已选择(K-1)信息比特,在按照行重排序选择第K个信息比特时,存在多个行的行重相同。则可以在该多个行重选择对应的极化信道可靠度最高的行,将该行对应的比特位作为第K个信息比特位。类似的,若已选择(K-2)信息比特,在按照行重排序选择第K-1个和第K个信息比特时,存在大于2的多个行的行重相同。则可以在该多个行重选择对应的极化信道可靠度最高和次高的行,将这两行对应的比特位作为第K-1个和第K个信息比特位。依次类推。

生成矩阵G为:

在生成矩阵G中,第1行到第8行的行重分别为1、2、2、4、2、4、4、8。第8行的行重最大,第4、6、7行的行重次之,第2、3、5行的行重第三,第1行的行重最小。按照行重从大到小排序为8、(4、6、7)、(2、3、5)、1。

假设K=6,即选择6个信息比特位。可以选择行重从大到小排序,先选择第8、4、6、7行对应的比特位作为4个信息比特位。还需要选择2个信息比特位,可以按照第(2、3、5)行对应的极化信道的可靠度排序,选择可靠度排序最高和次高的两行对应的比特位作为信息比特位。

在另一个可能的实施方式中,选择生成矩阵行重靠前且极化信道可靠度排序不低于第二阈值的比特位作为信息比特位,其余比特位作为固定比特位。

Polar能够从理论上证明,当码长趋于无限时(N→∞)能够“达到”信道容量,但是在许多实际的场景中,码长并不是无限的,因此性能受限。本申请实施例提供的方法能够有助于提高有限码长下Polar码的性能。

如图4所示,本申请实施例提供的一种极化码编码方法具体流程如下所述。

S401、获取K个待编码的信息比特。

K为正整数。例如K=1、2、3……。

S402、根据K个待编码的信息比特,确定第一比特序列。

其中,第一比特序列的长度为N,N为2的正整数次幂,第一比特序列包括固定比特和K个待编码的信息比特。K个待编码的信息比特可以简述为K个信息比特。

N可以是极化码的母码长度。K小于等于N。在根据K个信息比特确定第一比特序列时,可以先确定K个信息比特位,信息比特位即N长的序列中用于放置或映射信息比特的位置。N长的序列中除去用于放置信息比特的位置的其余位置,为固定比特位,即用于放置或映射固定比特的位置。固定比特一般为0。将K个信息比特映射到K个信息比特位,或者将K个信息比特放置到N长的序列中的K个信息比特位,其余位置设为固定比特,即可获得第一比特序列。N长的序列用于表征N个比特位置。例如N=8,K=4。(K=4)个信息比特为{i

S403、根据第一比特序列和上三角矩阵,确定第二比特序列。

其中,上三角矩阵为N行N列的矩阵。上三角矩阵可以是任意的上三角矩阵。

第一比特序列为大小为N的向量,包括信息比特和固定比特。可选的,可以将第一比特序列与上三角矩阵相乘,获得第二比特序列。第二比特序列的长度为N。

S404、对第二比特序列进行极化码编码,得到并输出编码后的序列。

例如,可以将第二比特序列与生成矩阵相乘,得到编码后的序列,输出编码后的序列,完成编码过程。第二比特序列的长度为N,生成矩阵的大小为N×N,编码后的序列的长度为N。

以下举例说明根据第一比特序列和上三角矩阵确定第二比特序列,并根据第二比特序列得到编码后的序列的过程。第一比特序列可以用V表示,第二比特序列用U表示,上三角矩阵用T表示。若第二比特序列为第一比特序列和上三角矩阵的乘积,则表示为U=VT。编码后的序列用X表示,若第二比特序列和生成矩阵G相乘得到X,则表示为X=UG。将U=VT代入,得到X=VTG。

参照S402的例子,仍以N=8,K=4,第一比特序列V=(0,0,0,U

上三角矩阵T可以是任意上三角矩阵。举例来说,

其中,V为1×8的行向量,在公式表示中用8×1的列向量的转置来表示该行向量。

上三角矩阵T也可以是上三角Toeplitz矩阵。Toeplitz矩阵通常也可以称为卷积操作矩阵。

以下给出一个上三角Toeplitz矩阵的例子。

上三角Toeplitz矩阵的该举例具有以下特征:第i+1行为第i行向右平移一位,对角线上的元素相同,i=0、1、2……(N-1)或者,i=1、2……N。

则编码后的序列

通过在编码过程中增加上三角矩阵的构造方法,即相比于现有码字的构造方法,本申请实施例在V和G之间,增加上三角矩阵T,这样能够提升码谱,优化码的构造,进一步提高有限码长下Polar码的性能。

本申请实施例中,第一比特序列中包括K个信息比特和(N-K)个固定比特。在确定第一比特序列时,需要确定K个信息比特的位置,并将K个待编码的信息比特映射到K个信息比特位,从而得到该第一比特序列。将K个信息比特映射到K个信息比特位之后,其余位置必然为固定比特位,用于放置固定比特。也可以说,在确定第一比特序列时,需要确定K个信息比特位之外的(N-K)个位置为固定比特位,并将(N-K)个固定比特映射到(N-K)个固定比特位。

如何确定K个信息比特位,以确定第一比特序列,本申请实施例可以提供一些可能的实现方式。

N长的序列表征N个比特位,包括信息比特位和固定比特位。N个比特位中的信息比特位确定了第一比特序列中哪些位置放置信息比特;N个比特位中的固定比特位确定了第一比特序列中哪些位置放置固定比特。极化码N个极化信道与N个比特位一一对应。极化信道的可靠度越高,表征该极化信道对应的比特位越适合作为信息比特位。极化码生成矩阵的N行与N个比特位一一对应。极化码生成矩阵中一行的行重越大,表征该行对应的比特位越适合作为信息比特位。

实现方式1:根据极化码N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,确定K个信息比特位。

实现方式1确定K个信息比特位的方法可以参照上述编码方式三中确定K个信息比特位的方法。

在实现方式1中,需要结合N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,这两方面的考量,来确定K个信息比特位。可以以N个极化信道可靠度由大到小的顺序为主要参考因素,以生成矩阵的行重由大到小的顺序为辅助参考因素,确定K个信息比特位。也可以以生成矩阵的行重由大到小的顺序为主要参考因素,以N个极化信道可靠度由大到小的顺序为辅助参考因素,确定K个信息比特位。

N个比特位除K个信息比特位之外的位置为固定比特位。在所选择的K个信息比特位映射K个信息比特,其余位置为0。或者在所选择的K个信息比特位映射K个信息比特,其余位置置为0,在固定比特位映射固定比特。从而确定第一比特序列。

实现方式2:按照极化码N个极化信道的可靠度由高到低的顺序,确定K个信息比特位。

实现方式2中,不考虑极化码生成矩阵的行重,而是从极化信道的可靠度排序考量,来确定K个信息比特位。极化码N个极化信道与N个比特位一一对应,极化信道的可靠度越高,越适合被选择为信息比特位。可以按照N个极化信道的可靠度由高到低的顺序,选择K个可靠度排序靠前的极化信道,确定该K个极化信道对应的K个信息比特位。

实现方式3:根据极化码生成矩阵的N行中每一行的重量,确定K个信息比特位。

实现方式3确定K个信息比特位的方法可以参照上述编码方式二中确定K个信息比特位的方法。

实现方式3中,不考虑极化码N个极化信道的可靠度的排序,而是从N行的行重考量,来确定K个信息比特位。极化码生成矩阵N行与N个比特位一一对应,生成矩阵中一行的行重越高,越适合被选择为信息比特位。可以按照生成矩阵N行的行重由高到低的顺序,选择K个极化信道,确定该K个极化信道对应的K个信息比特位。

本申请实施例中,确定第一比特序列的方法或者确定K个信息比特位的方法,还可以有其它方法,对此不作限定。

本申请实施例中,上述待编码的信息比特可以包括校验比特。例如,K个待编码的信息比特包括K1个第一信息比特和K2个校验比特。编码设备首先获取K1个信息比特,对K1个信息比特进行校验编码,获得K2个校验比特。本申请实施例中的校验编码方式可以是循环冗余校验(cyclic redundancy check,CRC)编码,也可能是奇偶校验(parity check,PC)编码,也可以是CRC和PC结合的校验编码方式。例如可以对K1个第一信息比特进行CRC编码,获得K2个CRC校验比特。又例如,例如可以对K1个第一信息比特进行PC编码,获得K2个PC校验比特。又例如,例如可以对K1个第一信息比特先进行CRC编码再进行PC编码,获得K2个校验比特。又例如,例如可以对K1个第一信息比特先进行PC校验编码再进行CRC编码,获得K2个校验比特。当待编码的信息比特中包括校验比特时,译码设备能够使用预先给定的校验关系译码,提高译码性能。

举例来说,校验编码采用CRC校验编码,N=512,K1=256。CRC生成多项式为:g(x)=x

当本申请实施例提供的极化码编码方法应用于RM-polar码时,可以将码字称为变化的RM-polar码(transformed RM-Polar,T-RM-Polar)码。当本申请实施例提供的极化码编码方法应用于polar码时,可以将码字称为变化的polar码(transformed Polar,T-Polar)码。

下面通过图5~图7给出几种码字的性能对比仿真图的示例,这几个仿真图为表示性能增益的示例性的图,本申请实施例的方法不局限于这几个举例所采用的译码器和参数。实际应用中,可以通过本申请实施例提供的方法得到性能增益更好的码字。

图5示出了几种码字的性能对比的仿真图。包括按照编码方法一构造的传统的极化码(Polar码)、T-Polar码、按照编码方法一构造的RM-polar码、T-RM-Polar码。N=256,K=128。横坐标为信噪比(Eb/No),纵坐标为误帧率(frame error rate,FER)。采用逐次消除列表算法(successive cancellation list,SCL)且列表大小(list size)=32的译码器译码。

从图5可以看出,在码长N=256,码率R=1/2参数设置下,相比于按照编码方法三构造的RM-polar码,T-RM-Polar码有0.3dB的性能增益。

RM-polar码在构造时综合考虑极化信道可靠性和生成矩阵行重,这样会带来更进一步的增益。从图5可以看出,相比于T-Polar码,T-RM-Polar码有0.8dB的性能增益。

从图5可以看出,相比于按照编码方法一构造的Polar码,T-RM-Polar码带来了近1dB的增益,有效提高了有限码长下Polar码的性能。

图6示出了几种码字的性能对比。包括按照编码方法一构造的传统的极化码(Polar码)、T-Polar码、按照编码方法三构造的RM-polar码、T-RM-Polar码。N=512,K=256,横坐标为信噪比,纵坐标为误帧率。

从图6可以看出,在码长N=512,码率R=1/2参数设置下,相比于按照编码方法三构造的RM-polar码,T-RM-Polar码有0.2dB的性能增益。

RM-polar码在构造时综合考虑极化信道可靠性和生成矩阵行重,这样会带来更进一步的增益。从图6可以看出,相比于T-Polar码,T-RM-Polar码有0.5dB的性能增益。

从图6可以看出,相比于按照编码方法一构造的Polar码,T-RM-Polar码带来了近0.6dB的增益,有效提高了有限码长下Polar码的性能。

图7示出了几种码字的性能对比。包括按照编码方法三构造的RM-polar码、按照本申请实施例提供的上三角矩阵构造的码字T-RM-Polar码,按照上三角矩阵并且信息比特中包括校验比特的方式构造的码字记为CRC增强的转换RM-Polar码(CRC aided transformedRM-Polar,CA-T-RM-Polar)码。N=512,K=256,横坐标为信噪比,纵坐标为误帧率。

从图7可以看出,在码长N=512,8bit CRC校验的参数设置下,相比于没有CRC校验的信息比特采用上三角矩阵构造的T-RM-Polar码,CA-T-RM-Polar码有0.4dB的性能增益。相比于按照编码方法三构造的RM-polar码,T-RM-Polar码有0.6dB的性能增益,更加接近了有限码长下的性能极限。

基于上述描述,如图8所示,本申请实施例还提供了一种极化码编码装置800,极化码编码装置800用于执行上述极化码编码方法,极化码编码装置800包括:

获取单元801,用于获取K个待编码的信息比特,K为正整数;

确定单元802,用于根据K个待编码的信息比特,确定第一比特序列,第一比特序列的长度为N,N为2的正整数次幂,第一比特序列包括固定比特和K个待编码的信息比特;

编码单元803,用于根据第一比特序列和上三角矩阵,确定第二比特序列,上三角矩阵为N行N列的矩阵;以及用于对第二比特序列进行极化码编码,得到并输出编码后的序列。

上三角矩阵为上三角Toeplitz矩阵。

可选的,确定单元802用于:根据极化码N个极化信道的可靠度排序和极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,其中,极化码生成矩阵为N行N列的矩阵,极化码生成矩阵的N行一一对应于第一比特序列的N个比特位,N个极化信道一一对应于第一比特序列的N个比特位;将K个待编码的信息比特映射到K个信息比特位,得到第一比特序列。

可选的,确定单元802用于:选择可靠度按从大到小的排序方式时排序靠前的极化信道、且重量不低于第一阈值的极化码生成矩阵的行,对应的比特位作为K个信息比特位。

可选的,确定单元802用于:选择极化码生成矩阵中行重由大到小排序靠前的行,且极化信道的可靠度排序不低于第二阈值的极化信道,对应的比特位作为K个信息比特位。

可选的,确定单元802用于:根据极化码N个极化信道去除速率匹配相关的极化信道的可靠度排序,和根据极化码生成矩阵的N行去除速率匹配相关的行之后的每一行的重量,确定K个信息比特位。可选的,速率匹配相关的极化信道包括打孔、缩短或预冻结的极化信道,速率匹配相关的行包括打孔、缩短或预冻结的极化信道对应的行。

可选的,确定单元802用于:按照极化码N个极化信道的可靠度由高到低的顺序,确定K个信息比特位,其中,N个极化信道一一对应于第一比特序列的N个比特位;将K个待编码的信息比特映射到K个信息比特位,得到第一比特序列。

可选的,确定单元802用于:按照极化码N个极化信道去除速率匹配相关的极化信道的可靠度由高到低的顺序,确定K个信息比特位。可选的,速率匹配相关的极化信道包括打孔、缩短或预冻结的极化信道。

可选的,确定单元802用于:根据极化码生成矩阵的N行中每一行的重量,确定K个信息比特位,其中,极化码生成矩阵为N行N列的矩阵,极化码生成矩阵的N行一一对应于第一比特序列的N个比特位;将K个待编码的信息比特映射到K个信息比特位,得到第一比特序列。

可选的,确定单元802用于,根据极化码生成矩阵的N行去除速率匹配相关的行之后的每一行的重量,确定K个信息比特位。可选的,速率匹配相关的行包括打孔、缩短或预冻结的极化信道对应的行。

可选的,编码单元803用于:将第一比特序列与上三角矩阵相乘,得到第二比特序列。

可选的,编码单元803用于:将第二比特序列与极化码生成矩阵相乘,得到编码后的序列。

可选的,信息比特包括校验比特。

如图9所示,本申请实施例中还提供一种极化码编码装置900,该极化码编码装置900可以用于执行上述极化码编码方法。上述极化码编码方法中的部分或全部可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,极化码编码装置900包括:输入接口电路901,用于获取K个待编码的信息比特;逻辑电路902,用于执行上述极化码编码方法中除获取待编码的比特和输出编码后比特的其它操作,具体请见前面方法实施例中的描述,此处不再赘述;输出接口电路903,用于输出编码后的序列。

可选的,极化码编码装置900在具体实现时可以是芯片或者集成电路。

可选的,当上述实施例的极化码编码方法中的部分或全部通过软件来实现时,如图10所示,极化码编码装置900包括:存储器1001,用于存储程序;处理器1002,用于执行存储器1001存储的程序,当程序被执行时,使得极化码编码装置900可以实现上述实施例提供的极化码编码方法。

可选的,上述存储器1001可以是物理上独立的单元,也可以存储器1001与处理器1002集成在一起。

可选的,当上述极化码编码方法中的部分或全部通过软件实现时,极化码编码装置900也可以只包括处理器1002。用于存储程序的存储器1001位于极化码编码装置900之外,处理器1002通过电路/电线与存储器1001连接,用于读取并执行存储器1001中存储的程序。

处理器1002可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。

处理器1002还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。

存储器1001可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1001也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1001还可以包括上述种类的存储器的组合。

极化码编码装置900还可以是芯片、集成电路或者芯片系统。

本申请实施例还可提供一种芯片,包括处理器,用于支持该极化码编码装置900实现上述方法实施例中所涉及的功能。在一种可能的设计中,该芯片与存储器连接或者该芯片包括存储器,该存储器用于保存该极化码编码装置900必要的程序指令和数据。

本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例的指令。

本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种极化码级联空时码系统及其级联极化码编码方法
  • 一种极化码的编码方法、装置及计算机可读存储介质
技术分类

06120112833274