一种极化Polar码的译码方法及通信设备与流程

文档序号:19010070发布日期:2019-10-30 00:15阅读:471来源:国知局
一种极化Polar码的译码方法及通信设备与流程

本申请涉及通信技术领域,尤其涉及一种极化polar码的译码方法及通信设备。



背景技术:

近年来,随着极化码(polarcode)被列入无线通信5g标准,对polar码的译码研究成为了通信方向的热点问题。目前主流的polar码译码方法可按其译码输出分了两类,即polar码硬比特译码和polar码软比特译码。polar码硬比特译码,是指译码器根据接收信号直接判决发送信息比特。而polar码软比特译码,是指译码器根据接收信号计算发送信息的软比特值(如对数似然比log-likelihood-ratio)。之后也可对得到的软比特值做最终硬判决以实现硬比特输出。因此,软比特译码较硬比特译码而言更灵活,具有更强的适应性。目前主要的polar码硬比特译码方法有连续取消(successivecancellation,sc)译码,连续取消列表(successivecancellationlist,scl)译码以及带循环奇偶校验的列表式连续消除(crc-aidedsuccessivecancellationlist,ca-scl)译码等。而软比特译码方法主要有置信度传播(beliefpropagation)译码和软比特消除(softcancellation,scan)译码。就译码性能而言,sc译码最差,bp译码和scan译码的性能接近,均略好于sc译码。scl译码较前者有很大提升,加上crc校验之后的ca-scl可以使polar码的性能比ldpc码和turbo码更好。因此目前实际系统中主要采用scl译码和ca-scl译码。

但由于scl译码和ca-scl译码均为polar硬比特译码,不能直接输出软比特值,这使得这两种方案在应用场景上具有一定的局限性。在一些特定的场景,需要使用polar软比特译码才能匹配。在这种情况下,目前只能采用性能一般的bp译码或者scan译码才能到达软比特输出的目的。因此,如何设计一种既能够满足软比特输出又能保证高译码性能的译码方式是目前需要解决的技术问题。



技术实现要素:

本申请提供了一种极化polar码的译码方法及通信设备,既能够满足软比特输出又能保证高译码性能。

第一方面,本发明实施例提供了一种极化polar码的译码方法,包括:获取待译码序列,待译码序列的长度为n,n为正整数。将待译码序列进行连续消除-列表sc-list译码,得到l条第一路径以及l条第一路径中的每一条路径的权重值,l为正整数,l条第一路径中的每一条路径包括m个比特,m为小于或等于n的正整数。根据l条第一路径以及l条第一路径中的每一条路径的权重值计算第一阶段译码序列的软比特值,第一阶段译码序列的长度为p,p为小于或等于m的正整数。对第一阶段译码序列的软比特值进行译码得到译码结果。实施本发明实施例,可以从译码性能更好的scl的硬比特输出中进一步提取软比特值以达到软比特输出的效果,从而使硬比特译码方式适应更多的应用场景,既能够满足软比特输出又能保证高译码性能。

在一种可能的设计中,第一阶段译码序列中的第i位比特为ui,1≤i≤p。若第一阶段译码序列中的第i位比特ui为固定比特,则第一阶段译码序列中的第i位比特ui的软比特值为第一预设值。若第一阶段译码序列中的第i位比特ui为信息比特,且l条第一路径中每一条路径的第i位比特全为0,则第一阶段译码序列中的第i位比特ui的软比特值为第二预设值,第二预设值与第一预设值之积为正数。若第一阶段译码序列中的第i位比特ui为信息比特,且l条第一路径中每一条路径的第i位比特全为1,则第一阶段译码序列中的第i位比特ui的软比特值为第三预设值,第三预设值与第二预设值之积为负数。若第一阶段译码序列中的第i位比特ui为信息比特,且l条第一路径中每一条路径的第i位比特不全为0也不全为1,则第一阶段译码序列中的第i位比特ui的软比特值由l条第一路径中第i位比特为0的路径的权重值和l条第一路径中第i位比特为1的路径的权重值确定。

在一种可能的设计中,第一预设值与第二预设值均为正数,第三预设值为负数。

在一种可能的设计中,第一预设值、第二预设值和第三预设值的绝对值相等。

在一种可能的设计中,若第一阶段译码序列中的第i位比特ui为信息比特,且l条第一路径中每一条路径的第i位比特不全为0且不全为1,则第一阶段译码序列中的第i位比特ui的软比特值等于第一权重值与第二权重值的比值的对数,第一权重值为l条第一路径中第i位比特为0的路径的权重值之和,第二权重值为l条第一路径中第i位比特为1的路径的权重值之和。

在一种可能的设计中,n=m=p。在计算了上述第一阶段译码序列的软比特值后,还可以基于第一阶段译码序列的软比特值进一步计算第二阶段译码序列的软比特值。也即是说,在根据l条第一路径以及l条第一路径中的每一条路径的权重值计算第一阶段译码序列的软比特值之后,还包括:对第一阶段译码序列的软比特值进行软比特迭代译码得到第二阶段译码序列的软比特值,第二阶段译码序列的长度为n。

在一种可能的设计中,上述对第一阶段译码序列的软比特值进行软比特迭代译码得到第二阶段译码序列的软比特值的实现方式可以为:对第一阶段译码序列的软比特值逐层进行2×2因子图(factorgraph)软比特迭代译码得到第二阶段译码序列的软比特值。或者,对第一阶段译码序列的软比特值进行n×n因子图软比特迭代译码得到第二阶段译码序列的软比特值。

在一种可能的设计中,n=m=p,即待译码序列、第一路径以及第一阶段译码序列的码长全部相等。则上述将待译码序列进行sc-list译码,得到l条第一路径以及l条第一路径中的每一条路径的权重值具体为:将待译码序列进行sc-list译码,得到l条第二路径,第二路径中的每一条路径包括n个比特。对l条第二路径中的每一条路径进行polar编码得到l条第一路径。根据l条第一路径中的每一条路径与待译码序列的欧氏距离计算l条第一路径中的每一条路径的权重值。

在一种可能的设计中,上述根据l条第一路径中的每一条路径与待译码序列的欧氏距离计算l条第一路径中的每一条路径的权重值具体为:根据如下公式计算所述l条第一路径中的每一条路径的权重值,所述公式为:pm=ln(|wm-y1n|2),其中,pm为所述l条第一路径中的第m条路径的权重值,为所述待译码序列,wm为所述l条第一路径中的第m条路径,|wm-y1n|2为所述第m条路径与所述待译码序列的欧氏距离,1≤m≤l。

在一种可能的设计中,上述第一阶段译码序列中的第i位比特为xi,1≤i≤n。若l条第一路径中的第i位全为0,则第一阶段译码序列中的第i位比特xi的软比特值由l条第一路径中第i位为0的路径的最小权重值确定,其中1≤i≤n。若l条第一路径中的第i位全为1,则第一阶段译码序列中的第i位比特xi的软比特值由l条第一路径中第i位为1的路径的最小权重值确定。否则,第一阶段译码序列中的第i位比特xi的软比特值由l条第一路径中第i位为0的最小权重值和l条第一路径中第i位为1的路径的最小权重值确定。

在一种可能的设计中,若l条第一路径中的第i位全为0,则第一阶段译码序列中的第i位比特xi的软比特值等于第四预设值与l条第一路径中第i位为0的路径的最小权重值之积。若l条第一路径中的第i位全为1,则第一阶段译码序列中的第i位比特ui的软比特值等于第五预设值与l条第一路径中第i位为1的路径的最小权重值之积。否则,第一阶段译码序列中的第i位比特ui的软比特值等于l条第一路径中第i位为0的路径的权重值中最小权重值与l条第一路径中第i位为1的路径的最小权重值之差。

在一种可能的设计中,n=m=p,即待译码序列、第一路径以及第一阶段译码序列的码长全部相等。即在scl译码结束后,再计算第一阶段译码序列的软比特值。

在一种可能的设计中,m<n,p<m,即第一路径的长度小于待译码序列的长度,第一阶段译码序列的长度小于第一路径的长度。即可以在scl译码过程中计算第一阶段译码序列的软比特值。相较于前述在scl译码结束后,再计算第一阶段译码序列的软比特值的方式来说,在scl译码过程中计算第一阶段译码序列的软比特值可以提高译码性能。

第二方面,本申请提供了一种通信设备,该通信设备可包括多个功能模块或单元,用于相应的执行第一方面所提供的极化polar码的译码方法,或者第一方面可能的实施方式中的任意一种所提供的极化polar码的译码方法。

第三方面,本申请提供了一种通信设备,该用于执行第一方面描述的极化polar码的译码方法。所述通信设备可包括:存储器以及与所述存储器耦合的处理器、收发器,其中:所述收发器用于与其他通信设备(如终端或网络设备)通信。所述存储器用于存储第一方面描述的极化polar码的译码方法的实现代码,所述处理器用于执行所述存储器中存储的程序代码,即执行第一方面所提供的极化polar码的译码方法,或者第一方面可能的实施方式中的任意一种所提供的极化polar码的译码方法。

第四方面,提供了一种计算机可读存储介质,所述可读存储介质上存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面描述的极化polar码的译码方法。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面描述的极化polar码的译码方法。

第六方面,本申请提供了一种通信芯片,该通信芯片可包括:处理器,以及耦合于所述处理器的一个或多个接口。其中,所述处理器可用于从存储器中调用第一方面所提供的极化polar码的译码方法,或者第一方面可能的实施方式中的任意一种所提供的极化polar码的译码方法的实现程序,并执行该程序包含的指令。所述接口可用于输出所述处理器的处理结果。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1是本申请实施例提供的通信系统的架构示意图;

图2是本申请实施例提供的终端设备的硬件架构示意图;

图3是本申请实施例提供的网络设备的硬件架构示意图;

图4是本申请实施例提供的通信链路中的信道编码示意图;

图5是本申请实施例提供的码长n=8的polar码所对应的因子图;

图6是本申请实施例提供的polar码2×2因子图的计算过程示意图;

图7是本申请实施例提供的scl译码的树结构示意图;

图8是本申请实施例提供的两用户mac通信系统下接收端干扰消除译码方案示意图;

图9是本申请实施例提供的极性polar码的译码方法的流程示意图;

图10是本申请实施例提供的根据scl译码算法得到候选路径以及权重值的原理示意图;

图11是本申请实施例提供的polar码的8×8因子图的示意图;

图12是本申请实施例提供的一种对scl译码得到候选路径进行编码得到编码后的候选路径的原理示意图;

图13是本申请实施例提供的在scl译码过程中计算软比特值的原理示意图;

图14是本申请实施例提供的级联的编码方案对应的译码示意图;

图15是本申请实施例提供的扩展译码算法流程图;

图16是本申请实施例提供的一种干扰消除算法流程图;

图17是本申请实施例提供的另一种干扰消除算法流程图;

图18是本申请实施例提供的通信设备的功能框图;

图19是本申请实施例提供的一种通信芯片的结构示意图。

具体实施方式

下面结合本申请实施例中的附图对本申请实施例进行描述。

图1为本申请实施例提供的一种通信系统示意图。该通信系统100可以包括至少一个网络设备101(仅示出1个)以及与网络设备101连接的一个或多个终端设备102。

网络设备101可以通过一个或多个天线来和终端设备102进行无线通信。各个网络设备101均可以为各自对应的覆盖范围104提供通信覆盖。网络设备101对应的覆盖范围104可以被划分为多个扇区(sector),其中,一个扇区对应一部分覆盖范围(未示出)。

在本申请实施例中,网络设备101可以包括:基站收发台(basetransceiverstation),无线收发器,一个基本服务集(basicserviceset,bss),一个扩展服务集(extendedserviceset,ess),节点b(nodeb),演进的节点b(evolvednodeb,enb或者enodeb),或下一代节点(next-generationnodeb,gnb)等等。通信系统100可以包括几种不同类型的网络设备101,例如宏基站(macrobasestation)、微基站(microbasestation)等。网络设备101还可以是小站,传输节点(transmissionreferencepoint,trp)等。网络设备101可以应用不同的无线技术,例如小区无线接入技术,或者wlan无线接入技术。

在本申请实施例中,终端设备102是一种具有无线收发功能的设备可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobilephone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtualreality,vr)终端设备、增强现实(augmentedreality,ar)终端设备、工业控制(industrialcontrol)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remotemedical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportationsafety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smarthome)中的无线终端等等。本申请的实施例对应用场景不做限定。终端设备有时也可以称为用户设备(userequipment,ue)、终端(terminal)、接入终端、ue单元、ue站、移动设备、移动站、移动台(mobilestation)、移动终端、移动客户端、移动单元(mobileunit)、远方站、远程终端设备、远程单元、无线单元、无线通信设备、用户代理或用户装置等。

需要说明的是,本申请实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。

参考图2,图2示出了本申请实施例提供的终端设备。如图2所示,终端设备200可包括:输入输出模块(包括音频输入输出模块218、按键输入模块216以及显示器220等)、用户接口202、一个或多个处理器204、发射器206、接收器208、耦合器210、天线214以及存储器212。这些部件可通过总线或者其它方式连接,图2以通过总线连接为例。其中:

天线214可用于将电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。耦合器210用于将天线214接收到的移动通信信号分成多路,分配给多个的接收器208。

发射器206可用于对处理器204输出的信号进行发射处理。

接收器208可用于对天线214接收的移动通信信号进行接收处理。

在本申请实施例中,发射器206和接收器208可看作一个无线调制解调器。在终端设备200中,发射器206和接收器208的数量均可以是一个或者多个。

除了图2所示的发射器206和接收器208,终端设备200还可包括其他通信部件,例如gps模块、蓝牙(bluetooth)模块、无线高保真(wirelessfidelity,wi-fi)模块等。不限于上述表述的无线通信信号,终端设备200还可以支持其他无线通信信号,例如卫星信号、短波信号等等。不限于无线通信,终端设备200还可以配置有有线网络接口(如lan接口)201来支持有线通信。

所述输入输出模块可用于实现终端设备200和用户/外部环境之间的交互,可主要包括音频输入输出模块218、按键输入模块216以及显示器220等。具体的,所述输入输出模块还可包括:摄像头、触摸屏以及传感器等等。其中,所述输入输出模块均通过用户接口202与处理器204进行通信。

存储器212可以和处理器204通过总线或者输入输出端口耦合,存储器212也可以与处理器204集成在一起。存储器212用于存储各种软件程序和/或多组指令。具体的,存储器212可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器212可以存储操作系统(下述简称系统),例如android,ios,windows,或者linux等嵌入式操作系统。存储器212还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。存储器212还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。

在本申请实施例中,存储器212可用于存储本申请的一个或多个实施例提供的极化polar码的译码方法在终端设备200侧的实现程序。关于本申请的一个或多个实施例提供的极化polar码的译码方法的实现,请参考后续实施例。

处理器204可用于读取和执行计算机可读指令。具体的,处理器204可用于调用存储于存储器212中的程序,例如本申请的一个或多个实施例提供的极化polar码的译码方法在终端设备200侧的实现程序,并执行该程序包含的指令以实现后续实施例涉及的方法。处理器204可支持:全球移动通信系统(globalsystemformobilecommunication,gsm)(2g)通信、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)(3g)通信,以及长期演进(longtermevolution,lte)(4g)通信、以及5g通信等等中的一个或多个。可选地,当处理器204发送任何消息或数据时,其具体通过驱动或控制发射器206做所述发送。可选地,当处理器204接收任何消息或数据时,其具体通过驱动或控制接收器208做所述接收。因此,处理器204可以被视为是执行发送或接收的控制中心,发射器206和接收器208是发送和接收操作的具体执行者。

可以理解的,终端设备200可以是图1示出的通信系统100中的终端设备102,可实施为用户设备(userequipment,ue)、终端(terminal)、接入终端、ue单元、ue站、移动设备、移动站、移动台(mobilestation)、移动终端等等。

需要说明的,图2所示的终端设备200仅仅是本申请实施例的一种实现方式,实际应用中,终端设备200还可以包括更多或更少的部件,这里不作限制。

参考图3,图3示出了本申请实施例提供的网络设备。如图3所示,网络设备300可包括:一个或多个处理器301、存储器302、网络接口303、发射器305、接收器306、耦合器307和天线308。这些部件可通过总线304或者其他方式连接,图3以通过总线连接为例。其中:

网络接口303可用于网络设备300与其他通信设备,例如其他网络设备,进行通信。具体的,网络接口303可以是有线接口。

发射器305可用于对处理器301输出的信号进行发射处理,例如信号调制。接收器306可用于对天线308接收的移动通信信号进行接收处理。例如信号解调。在本申请的一些实施例中,发射器305和接收器306可看作一个无线调制解调器。在网络设备300中,发射器305和接收器306的数量均可以是一个或者多个。天线308可用于将传输线中的电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。耦合器307可用于将移动通信号分成多路,分配给多个的接收器306。

存储器302可以和处理器301通过总线304或者输入输出端口耦合,存储器302也可以与处理器301集成在一起。存储器302用于存储各种软件程序和/或多组指令。具体的,存储器302可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器302可以存储操作系统(下述简称系统),例如ucos、vxworks、rtlinux等嵌入式操作系统。存储器302还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。

处理器301可用于进行无线信道管理、实施呼叫和通信链路的建立和拆除,并为本控制区内的用户提供小区切换控制等。具体的,处理器301可包括:管理/通信模块(administrationmodule/communicationmodule,am/cm)(用于话路交换和信息交换的中心)、基本模块(basicmodule,bm)(用于完成呼叫处理、信令处理、无线资源管理、无线链路的管理和电路维护功能)、码变换及子复用单元(transcoderandsubmultiplexer,tcsm)(用于完成复用解复用及码变换功能)等等。

本申请实施例中,处理器301可用于读取和执行计算机可读指令。具体的,处理器301可用于调用存储于存储器302中的程序,例如本申请的一个或多个实施例提供的极化polar码的译码方法在网络设备300侧的实现程序,并执行该程序包含的指令。

可以理解的,网络设备300可以是图1示出的通信系统100中的网络设备101,可实施为基站、无线收发器、一个基本服务集(bss)、一个扩展服务集(ess)、nodeb、enodeb、gnb等等。

需要说明的是,图3所示的网络设备300仅仅是本申请实施例的一种实现方式,实际应用中,网络设备300还可以包括更多或更少的部件,这里不作限制。

需要说明的是,下述各实施例中所描述的接收装置可以为上述终端设备,发送装置可以为上述网络设备。或者,下述各实施例中所描述的接收装置可以为上述网络设备,发送装置可以为上述终端设备。

图4为通信链路中的信道编码示意图,发送装置将待发送信号(即信源)经过信源编码、信道编码得到编码信号再将编码信号进行速率匹配、数字调制,通过信道将编码信号发送出去。接收装置从信道接收信道输出信号进行数字解调、解速率匹配、信道解码和信源解码,最终还原信号(即信宿)。其中,待发送信号包括u1,u2…un共n个比特,n为待发送信号的长度,或称码长。相应的,编码信号包括x1,x2…xn共n个比特。信道输出信号包括y1,y2…yn共n个比特。本申请中,待发送信号也可以称为编码前信号,编码信号即为编码后信号。待发送信号也可称为待发送序列或者待恢复序列,信道输出信号也可以称为接收序列或者待译码序列,编码信号也可称为编码序列。其中,编码前信号包括固定比特(frozenbits)和信息比特(informationbits)。polar码的编码过程中,中的一部分比特用来携带信息,称为信息比特,这些比特的索引的集合可以记作另外的一部分比特置为收发端预先约定的固定值,称之为固定比特,其索引的集合可以用的补集表示。信息比特索引集合的选取方式本申请不进行限定。其中,信息比特中还可以包括各类校验比特。

在一些特定的场景,如级联polar码的软译码迭代,多用户场景下的迭代译码干扰消除等,都需要使用polar软比特译码才能匹配。在这种情况下,通常是采用性能一般的bp译码或者scan译码达到达软比特输出的目的。下面介绍一下bp软比特译码算法,图5为码长n=8的polar码所对应的因子图(factorgraph)。图5中,左边为u端,右边为x端。u端包括u1,u2…un共n个比特。x端包括x1,x2…xn共n个比特。为编码前的信号,则为编码后的信号。其关系可由描述,gn为polar码生成矩阵,与图5中的因子图相对应。bp译码器首先从信道接收信号计算的初始化对数似然比(logarithmlikelihoodratio,llr),再根据因子图从x端向u端逐层更新对数似然比,其更新过程由图5中虚线框的2×2模块(即2×2因子图)描述,其计算过程如图6所示,具体公式如下:

li,j+n/2=g(ri,j,li+1,2j-1)+li+1,2j(公式2)

ri+1,2j=g(ri,j,li+1,2j-1)+ri,j+n/2(公式4)

其中g(x,y)=ln((1+xy)/(x+y))。

在完成从x端向u端的对数似然比更新后,再根据固定比特和信息比特的设定从u端向x端更新,依然使用上述公式1-公式4。这样往复更新后到达一定的迭代次数ibp后结束,并得到的最终软比特值。由此可见bp软比特译码性能一般,需要多次迭代(ibp典型值为200),计算复杂度和存储复杂度较高。

现有的scan软比特译码算法的核心思想和bp软比特译码类似,只是更新对数似然比的过程不再是逐层计算每个节点的软比特值,而是采用类似于sc译码一样的树形结构依次计算u端各信息位的软比特值。因此该算法较bp译码算法具有更低的计算和存储复杂度,但同样需要反复迭代,且译码性能和bp相近。

本申请中,针对目前polar软比特译码性能一般的缺点,提出从译码性能更好的scl或ca-scl等译码得到的硬比特输出中进一步提取相应的软比特值以达到软比特输出的效果,从而使得性能高的硬比特译码方式适应更多的应用场景。

其中,ca-scl译码方法是对scl译码方法的增强,scl译码的内核不变,只是在polar编码之前给信息比特添加crc,在scl译码获得候选路径之后,进行crc校验辅助路径选择,以较低的复杂度提升了polar译码性能。下面介绍scl硬比特译码方式。

参见图7,是本申请实施例提供的scl译码的树结构示意图。scl译码器在接收到信道输出信号后对发送信号逐位判决,即从u1到un。每个比特ui由第i层表示,其中1≤i≤n。对每一层的ui,scl译码器根据之前的判决比特分别对ui=0和ui=1进行概率计算。因此随着i的增大,得到的层数也不断增加,形成图7中的树形结构。每条路径都有相应的权重,其值由该路径上对应u值的概率决定。权重可理解为当前候选路径对应的候选序列的后验概率值。当路径数量大于一定值l,即列表list大小限定值,将按路径权重选择权重最大的l条路径。在最终输出的l条路径中选择权重最大的路径作为scl译码器的最终输出。其中,列表list为polar码scl译码时存放候选路径的寄存器。由l个大小为n的候选路径单元组成。由于采用顺序译码,每条候选序列的判决比特从标号1到n逐位产生,再按每条路径所附权重值作修剪,最终得到的l条权重值较高的候选路径。如图7所示,路径1的比特序列为11000,码长为5,路径1对应的权重为0.36。路径2的比特序列为10011,码长为5,路径2对应的权重为0.20。

本申请基于scl硬比特译码方式,根据scl译码所得到的硬比特得到所需译码软比特,以使scl译码方式适用于需要使用polar码软比特迭代译码的场景。其中,需要使用polar码软比特迭代译码的场景可例如:将polar码和其他译码方式(例如但不限于低密度奇偶校验(lowdensityparitycheck,ldpc)码或者turbo码)进行级联时,为匹配ldpc码或者turbo码本身的迭代译码需要polar码译码器输出软比特值。再如在多接入信道(multipleaccesschannel,mac)下接收端进行多用户间的干扰消除时,也需要用到polar码的软比特输出。以两用户mac系统为例,两用户mac通信系统下接收端干扰消除译码方案示意图可参见图8所示。用户1和用户2的编码信号分别由表示,经过各自的信道增益g1和g2以及加性高斯噪声o后得到接收信号在接收端有两个polar译码器通过计算各自用户发送信号的软比特值,反馈给干扰消除模块不断迭代修正译码结果,达到一定的迭代次数后输出译码信号因此图8中的polar译码器均须输出软比特。图8中的polar编码器可以是终端的编码器也可以是网络设备的编码器。在具体应用中,编码器可以由终端或网络设备的处理器实现。

需要说明的是,本申请中涉及的需要使用polar码软比特迭代译码的场景包括但不限于上述提到的两种场景。

基于前述通信系统100、终端设备200以及网络设备300分别对应的实施例,本申请实施例提供了一种极性polar码的译码方法。参见图9,该极性polar码的译码方法包括但不限于如下步骤。

s101:获取待译码序列,待译码序列的长度为n,n为正整数。

本发明实施例中,待译码序列即为上述信道接收信号即通信设备从信道中接收到的信号。信道接收信号的码长为n。本发明实施例中,通信设备可以为终端或者终端芯片,也可以为网络设备或者网络设备的芯片。

s102:将待译码序列进行scl译码,得到l条第一路径以及l条第一路径中的每一条路径的权重值,l为正整数,l条第一路径中的每一条路径包括m个比特,m为小于或等于n的正整数。

s103:根据l条第一路径以及l条第一路径中的每一条路径的权重值计算第一阶段译码序列的软比特值,第一阶段译码序列的长度为p,p为小于或等于m的正整数。

在第一种实现方式中,n=m=p,即待译码序列第一路径以及第一阶段译码序列的码长全部相等。

具体的,通信设备对接收到的信道输出信号进行polar码scl译码得到l条译码候选路径r1,r2…rl以及每一条候选路径对应的权重值p。每一条候选路径均有n个比特r1-rn。例如,候选路径r1均包括这n个比特。其中l为scl译码中的列表list大小。这里,l条候选路径r1,r2…rl即为上述l条第一路径。scl译码方法的原理示意图可参见图10所示。其中,scl译码器可以是终端的译码器或者网络设备的译码器。

之后根据得到的l条译码候选路径和其相应权重值计算u端比特位的软比特值,这里,u端的比特位即为上述第一阶段译码序列,u端比特位的软比特值也即上述第一阶段的译码序列的软比特值。将u端比特位的软比特值记为s(u1,...,un)。记为第j条候选序列rj中的第i位比特,其中1≤i≤n,1≤j≤l。记pj为候选路径j的权重值,如候选路径j所对应的后验概率值。记为polar码固定比特(frozenbits)集合,记为polar码信息比特(informationbits)集合。因此,u端的第i位比特ui的软比特值计算公式可例如但不限于如下公式5。

上述公式5中s表示软比特值,公式5可以理解为,当在计算第i位比特ui的软比特值时(图10中虚线椭圆内),如果第i位为固定比特,则其软比特输出为v。如果第i位为信息比特,且所有候选路径中该位均为0,则其软比特输出也为y。反之,如果第i位为信息比特,且所有候选路径中该位均为1,则其软比特输出也为z。如果第i位为信息比特,且候选路径中该位既不是全0也不是全1,则输出软比特为该位0,1概率加权的对数比。实际应用中,可以将v、y和z设置为一个较大的对数似然比。其中,v、y和z的绝对值可以相等,也可以不相等。且v和y的乘积为正,v和z的乘积为负,也即是说,若v为正数,则y也为正数,且z为负数。例如,可以将v和y设置为50,将z设置为-50。

可选的,在得到的软比特值之后,还可以基于的软比特值计算x端,即的软比特值,以便进行后续反馈迭代。这里,x端的比特位为第二阶段译码序列,x端比特位的软比特值也即第二阶段译码序列的软比特值。

可选的,可以采用polar码bp软比特译码算法,即根据图5、图6所示polar码2×2的因子图(factorgraph)逐层由u端向x端计算软比特值。可选的,还可以根据n×n的因子图直接反推x端的软比特值,从而省去了逐层计算的过程,相较于2×2因子图逐层计算的方式,n×n因子图方式的计算效率更高。以n=8为例,的8×8因子图如图11所示。其节点连接关系和polar码生成矩阵gn一一对应。记gj,i为生成矩阵gn中第j行第i列元素,第i位编码比特xi的软比特计算公式为:

公式6可理解为校验节点处的置信度传播公式,与ldpc码类似。与节点xi相连的ui对应于生成矩阵中的gj,i=1。之后再按照公式算出,其中,s(xi)相当于vout,与节点xi相连的uj对应的软比特值s(uj)相当于vin,atanh()是tanh的反函数。其中,π表示连乘。

上述第一种实现方式是先计算u端的软比特值,再根据polar码因子图计算x端的软比特值。在第二种实现方式中可直接计算x端的比特序列的软比特值。这里,x端的比特序列即为上述第一阶段译码序列,x端的比特序列的软比特值即为上述第一阶段译码序列的软比特值。在第二种实现方式中,n=m=p,即待译码序列第一路径以及第一阶段译码序列的码长全部相等。

具体的,在polar码scl译码后对所得到的l条候选路径r1,r2…rl进行polar编码得到对应的l条候选路径w1,w2…wl。在第二种实现方式中,scl译码得到的l条候选路径r1,r2…rl为第二路径,对l条候选路径r1,r2…rl进行编码得到的l条候选路径w1,w2…wl即为上述l条第一路径。每一条候选路径w都有n个比特,例如,第一条候选路径w1包括这n个比特。再根据每一条候选路径w与接收信号间的欧氏距离来计算每一条候选路径w对应的权重,最后根据每一条候选路径w及其权重计算x端的软比特值。该方法原理示意图如图12所示。

由于gn是polar码生成矩阵,可用关系w=r×gn计算候选路径w。对于l条候选路径w1,w2…wl中的第m(1≤m≤l)条候选路径wm,其权重pm可根据其与接收信号间的欧氏距离计算,即下述公式7。

pm=ln(|wm-y1n|2)(公式7)

其中wm为第m条候选路径。

设xi为x端的第i个编码比特,1≤i≤n。当在计算第i位比特xi的软比特值时,如果l条候选路径w1,w2…wl中的每一条路径的第i位均为0,则xi的软比特值由所述l条候选路径w1,w2…wl中第i位为0的路径的最小权重值确定。如果l条候选路径w1,w2…wl中的每一条路径的第i位均为1,则xi的软比特值由所述l条候选路径w1,w2…wl中第i位为1的路径的最小权重值确定。否则,所述第一阶段译码序列中的第i位比特xi的软比特值由所述l条第一路径w1,w2…wl中第i位为0的最小权重值和所述l条第一路径w1,w2…wl中第i位为1的路径的最小权重值确定。

在一种可选的实现方式中,令pp为l条候选路径w1,w2…wl中对应于xi=0的最小权重值。pq为l条候选路径w1,w2…wl中对应于xi=1的最小权重值。则xi的软比特值s(xi)的计算公式如下:

上述公式8中c为一固定缩放参数(scalingfactor)。公式8可以理解为,当在计算第i位比特xi的软比特值时,如果l条候选路径w1,w2…wl中的每一条路径的第i位均为0,则xi的软比特值等于所述l条候选路径w1,w2…wl中第i位为0的路径的最小权重值pp与一固定参数的乘积。如果l条候选路径w1,w2…wl中的每一条路径的第i位均为1,则xi的软比特值等于所述l条候选路径w1,w2…wl中第i位为1的路径的最小权重值pq与一固定参数的乘积。否则,所述第一阶段译码序列中的第i位比特xi的软比特值等于pp与pq的差值。需要说明的是,上述c可以为预设的数值。

可选的,在得到了x端的软比特值后,如果需要得到u端软比特值,也可以采用polar码因子图由反推出例如,可以采用前述2×2因子图或者n×n因子图方式由反推出相较于上述第一种实现方式,第二种实现方式省去了由u端向x端反向更新软值时逐层计算的过程,因此更简便,计算效率更高。

上述第一种实现方式、第二种实现方式中,若遇到全0或者全1的信息位就将软比特置为y或者z会带来一定的误差,当list较大时,这样的处理会使得误差较小,而当list较小时,需要改用回溯的办法计算,以免一些路径随着解码过程而被丢弃。前述两种实现方式都是在polar码scl译码过程结束后再进行软比特值的计算。对于scl译码,难免会在译码过程中修剪候选路径,有些路径可能在译码过程中被舍弃。因此,从scl译码最终结果在计算软比特会带来一定的性能损失,尤其是在list大小较小时。针对这种情况,可以采用下述第三种实现方式来计算软比特值。

第三种实现方式中,m<n,p<m,即第一路径的长度小于待译码序列的长度,第一阶段译码序列的长度小于第一路径的长度。

具体的,通信设备的译码器在scl译码过程中不断回溯,尽量在候选路径被修剪前计算软比特值,从而提高准确性。设scl译码进行到第k位时,即译码池中已有l条候选路径r1,...,rl。图13中箭头标示当前scl译码器解码位置。此时将回溯计算前面第i位的软比特值。可选的,i=k-log2l。例如,l=32,k=7,以计算u端的软比特值为例,当译码器解码到第7位时,需要计算u端第1位u1的软比特值。由于同样是在u端计算,软比特值s(ui)的计算公式和上述公式5一致,这里不再赘述。在得到u端的软比特值后,若需要x端的软比特值,则可以采用2×2因子图或者n×n因子图方式进行反向更新,从而获得x端的软比特值。若需要直接计算x端的软比特值,可以参考前述第二种实现方式的计算过程,此处不再赘述。

s104:对第一阶段译码序列的软比特值进行译码得到译码结果。

本发明实施例中,在得到上述第一阶段译码序列的软比特值后,通信设备根据该第一阶段译码序列的软比特值进行译码最终获得译码结果。

下面结合两个具体实施例对步骤s104中通信设备对第一阶段译码序列的软比特值进行译码得到译码结果的方式进行详细介绍。

(一)实施例一

实施例一中,单用户场景下将polar码与ldpc或者turbo码或者其他编码方式作级联以提高其性能。在有限码长的情况下,经过polar码信道极化过程后仍存在一部分未完全极化的信道。为提高polar码译码性能,可以对这部分未完全极化的信道上的传输比特再作编码。以ldpc码为例,可以将未完全极化的比特用ldpc码进行再编码。也即是说,构建了一个由polar码和ldpc码级联的编码方案。其中ldcp码为内码,polar码为外码。该级联的编码方案对应的译码示意图如图14所示。图14中显示由于ldpc码通常采用软比特译码方法,要求polar译码器也输出软比特以匹配,从而可以在polar码的原因子图基础上进行扩展译码。该扩展译码算法流程图如图15所示。在接收到信道输出信号后,首先初始化x端的软比特值再利用前述实现方式所介绍的polar码软比特译码方案计算u端的软比特值例如,采用2×2因子图方式由x端的软比特值反向迭代计算u端的软比特值。接着根据ldpc码的变量节点和校验节点的连接信息,即根据ldpc码的因子图图更新再由2×2因子图方式由u端的软比特值迭代计算x端的软比特值,重复循环多次迭代后,最终判决其中,根据ldpc码的因子图图更新的实现方式为现有技术,本申请对此不进行详细赘述。对进行判决也即是说,根据的软比特值来判定中的每个比特为0还是为1。

现有级联方案主要使用polarbp译码实现软比特输出。相较而言,实施例一中使用的基于scl的软译码算法具有更优的性能,而且不需要polar码的bp迭代,系统设计更为简洁,算法更高效。

(二)实施例二

实施例二中,将polar码软比特译码方案应用于两用户mac系统做干扰消除的应用场景。系统框图如图8所示。用户1和用户2的编码信号分别由表示,经过各自的信道增益g1和g2以及加性高斯噪声后得到接收信号在接收端有两个polar译码器通过计算各自用户发送信号的软比特值,反馈给干扰消除模块不断迭代修正译码结果,达到一定的迭代次数后输出译码信号

若采用传统polar码软比特译码方法,以bp算法为例。其干扰消除算法流程如图16所示。接收端先根据接收信号计算用户1的初始软比特值再根据bp译码算法计算用户1的u端的软比特值并反复更新此过程为标准polar码bp译码过程,也称为内环迭代,由图16中虚线框标出。完成内环迭代后,再根据和最新的计算用户2的软比特值类似的,针对用户2的polar码进行bp译码内环迭代,结束后更新用户1的软比特值再重复外环迭代过程,如图16中虚线框所示。两个bp内环迭代模块只是针对不同的用户,其算法流程保持一致。

采用本申请提出的基于scl译码的软比特输出方案,迭代干扰消除译码算法将被简化,如图17中的流程图所示。与图16的区别在于,bp内环迭代过程由本发明提出的软比特输出方案所替代。图17中以上述第一种实现方式中的软比特计算方法为例,本发明实施例中采用scl译码方式首先得到用户1的l条候选路径以及l条候选路径中的每一条候选路径的权重值。根据获得的l条候选路径中的每一条候选路径的权重值计算用户1的u端的软比特值进而采用前述bp2×2因子图或者n×n因子图方式由u端的软比特值反向更新计算用户1的x端的软比特值再根据和最新的计算用户2的软比特值类似的,针对用户2,采用scl译码方式得到用户2的l条候选路径以及l条候选路径中的每一条候选路径的权重值。根据获得的l条候选路径中的每一条候选路径的权重值计算用户2的u端的软比特值进而采用前述bp2×2因子图或者n×n因子图方式由u端的软比特值反向更新用户2的x端的软比特值之后再重复外环迭代过程。

现有干扰消除方案主要使用polar码bp译码实现软比特输出在进行外环迭代。相较而言,本发明实施例二中使用的基于scl的软译码算法具有更优的性能,而且不需要polar码的bp迭代,系统设计更为简洁,算法更高效。

参见图18,图18示出了本申请实施例提供的通信设备的功能框图。其中,通信设备可以为图1实施例中的网络设备101或终端设备102。下面分别描述。

如图18所示,通信设备500可包括:获取单元501、第一译码单元502、第一计算单元503和第二译码单元504。

其中,获取单元501,用于获取待译码序列,所述待译码序列的长度为n,n为正整数;

第一译码单元502,用于将所述待译码序列进行sc-list译码,得到l条第一路径以及所述l条第一路径中的每一条路径的权重值,l为正整数,所述l条第一路径中的每一条路径包括m个比特,m为小于或等于n的正整数;

第一计算单元503,用于根据所述l条第一路径以及所述l条第一路径中的每一条路径的权重值计算第一阶段译码序列的软比特值,所述第一阶段译码序列的长度为p,p为小于或等于m的正整数;

第二译码单元504,用于对所述第一阶段译码序列的软比特值进行译码得到译码结果。

可选的,所述第一阶段译码序列中的第i位比特为ui,1≤i≤p;

若所述第一阶段译码序列中的第i位比特ui为固定比特,则所述第一阶段译码序列中的第i位比特ui的软比特值为第一预设值;

若所述第一阶段译码序列中的第i位比特ui为信息比特,且所述l条第一路径中每一条路径的第i位比特全为0,则所述第一阶段译码序列中的第i位比特ui的软比特值为第二预设值,所述第二预设值与所述第一预设值之积为正数;

若所述第一阶段译码序列中的第i位比特ui为信息比特,且所述l条第一路径中每一条路径的第i位比特全为1,则所述第一阶段译码序列中的第i位比特ui的软比特值为第三预设值,所述第三预设值与所述第二预设值之积为负数;

若所述第一阶段译码序列中的第i位比特ui为信息比特,且所述l条第一路径中每一条路径的第i位比特不全为0也不全为1,则所述第一阶段译码序列中的第i位比特ui的软比特值由所述l条第一路径中第i位比特为0的路径的权重值和所述l条第一路径中第i位比特为1的路径的权重值确定。

可选的,若所述第一阶段译码序列中的第i位比特ui为信息比特,且所述l条第一路径中每一条路径的第i位比特不全为0且不全为1,则所述第一阶段译码序列中的第i位比特ui的软比特值等于第一权重值与第二权重值的比值的对数,所述第一权重值为所述l条第一路径中第i位比特为0的路径的权重值之和,所述第二权重值为所述l条第一路径中第i位比特为1的路径的权重值之和。

可选的,所述n=m=p;所述通信设备500还包括:

第三译码单元,用于在所述第一计算单元503根据所述l条第一路径以及所述l条第一路径中的每一条路径的权重值计算第一阶段译码序列的软比特值之后,对所述第一阶段译码序列的软比特值进行软比特迭代译码得到第二阶段译码序列的软比特值,所述第二阶段译码序列的长度为n。

可选的,所述第三译码单元具体用于:

对所述第一阶段译码序列的软比特值逐层进行2×2因子图软比特迭代译码得到所述第二阶段译码序列的软比特值;

或者,对所述第一阶段译码序列的软比特值进行n×n因子图软比特迭代译码得到所述第二阶段译码序列的软比特值。

可选的,所述n=m=p;所述第一译码单元502包括:

第四译码单元,用于将所述待译码序列进行sc-list译码,得到l条第二路径,所述第二路径中的每一条路径包括n个比特;

编码单元,用于对所述l条第二路径中的每一条路径进行polar编码得到所述l条第一路径;

第二计算单元,用于根据所述l条第一路径中的每一条路径与所述待译码序列的欧氏距离计算所述l条第一路径中的每一条路径的权重值。

可选的,所述第二计算单元具体用于:

根据如下公式计算所述l条第一路径中的每一条路径的权重值,所述公式为:

pm=ln(|wm-y1n|2),

其中,pm为所述l条第一路径中的第m条路径的权重值,为所述待译码序列,wm为所述l条第一路径中的第m条路径,|wm-y1n|2为所述第m条路径与所述待译码序列的欧氏距离,1≤m≤l。

可选的,所述第一阶段译码序列中的第i位比特为xi,1≤i≤n;

若所述l条第一路径中的第i位全为0,则所述第一阶段译码序列中的第i位比特xi的软比特值由所述l条第一路径中第i位为0的路径的最小权重值确定,其中1≤i≤n;

若所述l条第一路径中的第i位全为1,则所述第一阶段译码序列中的第i位比特xi的软比特值由所述l条第一路径中第i位为1的路径的最小权重值确定;

否则,所述第一阶段译码序列中的第i位比特xi的软比特值由所述l条第一路径中第i位为0的最小权重值和所述l条第一路径中第i位为1的路径的最小权重值确定。

可选的,若所述l条第一路径中的第i位全为0,则所述第一阶段译码序列中的第i位比特xi的软比特值等于第四预设值与所述l条第一路径中第i位为0的路径的最小权重值之积;

若所述l条第一路径中的第i位全为1,则所述第一阶段译码序列中的第i位比特ui的软比特值等于第五预设值与所述l条第一路径中第i位为1的路径的最小权重值之积;

否则,所述第一阶段译码序列中的第i位比特ui的软比特值等于所述l条第一路径中第i位为0的路径的权重值中最小权重值与所述l条第一路径中第i位为1的路径的最小权重值之差。

可以理解的,关于通信设备500包括的各个功能单元的具体实现,可以参考前述实施例,这里不再赘述。

参见图19,图19示出了本申请提供的一种通信芯片的结构示意图。如图19所示,通信芯片190可包括:处理器1901,以及耦合于处理器1901的一个或多个接口1902。其中:

处理器1901可用于读取和执行计算机可读指令。具体实现中,处理器1901可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器1901的硬件架构可以是专用集成电路(applicationspecificintegratedcircuits,asic)架构、mips架构、arm架构或者np架构等等。处理器1901可以是单核的,也可以是多核的。

接口1902可用于输入待处理的数据至处理器1901,并且可以向外输出处理器1901的处理结果。具体实现中,接口1902可以是通用输入输出(generalpurposeinputoutput,gpio)接口,可以和多个外围设备(如显示器(lcd)、摄像头(camara)、射频(radiofrequency,rf)模块等等)连接。接口1902通过总线1903与处理器1901相连。

本申请中,处理器1901可用于从存储器中调用本申请的一个或多个实施例提供的极化polar码的译码方法在通信设备侧的实现程序,并执行该程序包含的指令。存储器可以和处理器1901集成在一起,也可以通过接口1902与通信芯片190相耦合。接口1902可用于输出处理器1901的执行结果。本申请中,接口1902可具体用于输出处理器1901的译码结果。关于本申请的一个或多个实施例提供的极化polar码的译码方法可参考前述各个实施例,这里不再赘述。

需要说明的,处理器1901、接口1902各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1