一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

极化码的译码方法和译码装置与流程

2021-10-08 18:38:00 来源:中国专利 TAG:译码 极化 信道 装置 编码


1.本技术涉及信道编码领域,更具体地,涉及一种极化码的译码方法和译码装置。


背景技术:

2.极化码(polar code)作为目前唯一可理论证明达到香浓极限,并且具有可实用的线性复杂度编译码能力的信道编码技术,被确定为第五代(the 5th generation,5g)通信系统的控制信道的编码方案。串行抵消(successive cancellation,sc)译码算法是极化码最基本的译码算法。当码长趋近于无穷时,可获得很好的渐进性能。但是在中、短码长时,sc译码算法的性能并不理想。为了提高sc译码算法的译码性能,串行抵消列表(successive cancellation list,scl)译码算法被提出。scl译码算法将广度优先搜索策略引入码树搜索机制,每次译码判决保留一个很小的候选路径列表。最终从候选路径列表中选择似然概率最大的路径作为判决路径。
3.循环冗余校验(cyclic redundancy check,crc)是一种信道检错技术,在实际数字通信系统中已经得到了广泛应用。对于polar码而言,在scl译码结束时得到一组候选路径,能够以非常低的复杂度与crc进行联合检测译码,选择能够通过crc检测的候选序列作为译码器输出序列,从而提高译码算法的纠错能力,由此,crc辅助的scl译码算法(crc-aided scl,ca-scl)译码算法被提出。
4.但是,ca-scl译码算法的译码性能受到列表大小l的影响。当l较小时,误码率较高,译码性能依旧不够理想。并且,根据ca-scl译码算法,每译1比特,译码器需要对2l个度量值进行排序操作。如果为了提升译码性能而增大l,排序操作的规模快速增加,这将带来译码延迟并直接影响到译码器的吞吐率。因此,亟需提供一种译码方法提高译码性能。


技术实现要素:

5.有鉴于此,本技术提供一种极化码的译码方法和译码装置,有助于提高译码性能。
6.第一方面,提供了一种极化码的译码方法,包括:获取信息比特序列的p条极化码码字;根据所述p条极化码码字对极化码的第一信道接收值进行符号处理,得到第二信道接收值;对所述第二信道接收值进行译码,得到多条候选路径;对所述多条候选路径进行循环冗余校验crc校验,并输出第一候选路径作为译码结果。
7.在本技术实施例中,译码端首先获取p条极化码码字(也可称作错误图样),然后利用p条极化码码字对待译码的码字(比如第一信道接收值)进行符号处理,得到第二信道接收值,并对第二信道接收值进行译码,得到多条候选路径。这里,本技术可以并行运行多个sc译码器或多个ca-scl(l较小)译码器,与sc译码方案相比,可获得更好的译码性能,也可解决ca-scl(l较大)译码器需要排序过多度量值造成的延迟问题。
8.如果所述多条候选路径中存在一条路径通过crc校验,则所述第一候选路径为所述通过crc校验的路径;如果所述多条候选路径中存在两条或两条以上路径通过crc校验,则所述第一候选路径为通过crc校验的路径中路径度量值最好的路径。
9.译码端获取p条极化码码字可以是在线获取的,也可以是离线获得的。
10.作为一种可能的实现方式,获取p条极化码码字,包括:对所述信息比特序列的信道接收值进行串行抵消列表scl译码,得到信息比特序列的l条候选路径;对所述l条候选路径进行编码,得到l条极化码码字;在所述l条极化码码字中选择所述p条极化码码字,p小于l。
11.可选地,所述l条候选路径表示为所述l条极化码码字表示为其中,所述l条极化码码字满足下式:
[0012][0013]
其中,表示克罗内克积,其中n=log2n,n表示码长。
[0014]
作为一种可能的实现方式,在所述l条极化码码字中选择所述p条极化码码字,包括:
[0015]
计算所述l条极化码码字的每条极化码码字的码重,并选择码重最小的p条极化码码字。
[0016]
作为一种可能的实现方式,所述根据所述p条极化码码字对第一信道接收值进行符号处理,得到第二信道接收值,包括:计算所述p条极化码码字中每条极化码码字的度量值;根据所述p条极化码码字的度量值,确定d条极化码码字,d≤p;利用所述d条极化码码字对所述第一信道接收值进行符号翻转,得到第二信道接收值。
[0017]
作为一种可能的实现方式,所述d表示为:d=m*k,m∈n
*
,k∈n
*
,所述第一信道接收值表示为y;其中,利用所述d条极化码码字对所述第一信道接收值进行符号翻转,得到第二信道接收值,包括:取所述d条极化码码字中的m条极化码码字对所述y进行符号翻转,得到m组信道接收值{y0,y1,...,y
m-1
},其中,
[0018]
作为一种可能的实现方式,所述对所述多条候选路径进行循环冗余校验crc校验,并输出第一候选路径作为译码结果,包括:如果所述多条候选路径中存在一条路径通过crc校验,则所述第一候选路径为所述通过crc校验的路径;如果所述多条候选路径中存在两条或两条以上路径通过crc校验,则所述第一候选路径为通过crc校验的路径中路径度量值最好的路径。
[0019]
第二方面,本技术提供一种极化码的译码装置,所述译码装置具有实现第一方面或其任意可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
[0020]
第三方面,本技术提供一种译码器,包括一个或多个处理器,所述一个或多个处理器与一个或多个存储器耦合。所述一个或多个存储器用于存储计算机程序,所述一个或多个处理器用于调用并运行所述一个或多个存储器中存储的计算机程序,以执行第一方面或其任意可能的实现方式中的方法。
[0021]
可选地,所述芯片可以为信道解码器。
[0022]
第四方面,本技术提供一种芯片,包括一个或多个处理器。所述一个或多个处理器
用于读取并执行一个或多个存储器中存储的计算机程序,以执行第一方面或其任意可能的实现方式中的方法。所述一个或多个存储器独立设置于所述芯片之外。
[0023]
可选地,所述芯片还包括一个或多个存储器,所述一个或多个存储器与所述一个或多个处理器通过电路或电线与所述一个或多个存储器连接。
[0024]
进一步可选地,所述芯片还包括通信接口。
[0025]
第五方面,本技术还提供一种译码装置,包括处理器和接口电路,所述接口电路用于接收计算机代码或指令,并传输至所述处理器,所述处理器用于运行所述计算机代码或指令,以执行第一方面或其任意可能的实现方式中的方法。
[0026]
第六方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面或其任意可能的实现方式中的方法。
[0027]
第七方面,本技术提供一种计算机程序产品,包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行第一方面或其任意可能的实现方式中的方法。
[0028]
第八方面,本技术提供一种通信设备,包括第三方面所述的译码器。
[0029]
第九方面,本技术提供一种无线通信系统,包括第八方面所述的通信设备。
附图说明
[0030]
图1为适用于本技术的无线通信系统的架构示意图;
[0031]
图2为无线通信的基本流程示意图;
[0032]
图3为l=2的scl译码算法的示例;
[0033]
图4为本技术提供的极化码的译码方法400的流程图;
[0034]
图5是本技术提供的确定p条极化码码字的流程图;
[0035]
图6是本技术提供的利用p条极化码码字进行译码的一个示意流程图;
[0036]
图7为本技术实施例的ep-sc算法与其他算法的仿真结果图;
[0037]
图8为本技术实施例的ep-scl算法与其他算法的仿真结果图;
[0038]
图9为本技术提供的译码装置900的示意图;
[0039]
图10为本技术提供的译码装置900的一个示意性结构图;
[0040]
图11为本技术实施例的译码器1000的示意性结构图。
具体实施方式
[0041]
下面将结合附图,对本技术中的技术方案进行描述。
[0042]
参见图1,图1为适用于本技术的无线通信系统的架构示意图。如图1所示,无线通信系统可以包括至少一个网络设备110和至少一个终端设备(例如,图1中所示的111,112以及113)。网络设备110和终端设备进行无线通信。当网络设备110向终端设备发送信号时,网络设备110为编码端,终端设备为译码端。当终端设备向网络设备110发送信号时,终端设备为编码端,网络设备为译码端。
[0043]
本技术实施例提及的无线通信系统包括但不限于:无线局域网(wireless local access network,wlan)系统、窄带物联网(narrow band-internet of things,nb-iot)系
统、长期演进(long term evolution,lte)系统、第五代(the 5
th generation,5g)通信系统或者5g之后的通信系统等。
[0044]
本技术提及的网络设备,可以是任意一种具有无线收发功能的设备。所述网络设备包括但不限于:节点b(node b,nb)、长期演进(long term evolution,lte)系统中的演进节点b(evolved node base,enb)、无线网络控制器(radio network controller,rnc)、演进的(evolved lte,elte)基站、5g系统中的下一代节点b(next generation node b,gnb),还可以为基站控制器(base station controller,bsc)、基站收发台(base transceiver station,bts)、接入点(access point,ap)、无线回传节点、传输点(transmission point,tp)、发送接收点(transmission and reception point,trp)、家庭基站(home node b,hnb)等。或者,还可以为构成gnb或传输点的网络节点,例如,基带单元(building baseband unit,bbu)或分布式单元(distributed unit,du)等,本技术不作限定。
[0045]
本技术提及的终端设备也可以称为用户设备(user equipment,ue)、移动台、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、终端、无线通信设备、用户代理、wlan中的站点(station,sta)、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字处理(personal digital assistant,pda)、具有无线通信功能的手持设备、计算设备、连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、5g网络中的移动台以及未来演进的公共陆地移动网络(public land mobile network,plmn)网络中的终端设备等。
[0046]
参见图2,图2为无线通信的基本流程示意图。如图2所示,在信号的发送端,信源依次信源编码、信道编码、数字调制后发出。信号的接收端对接收到的信号依次经过数字解调、信道译码、信源解码输出信宿。信道编解码是无线通信领域的核心技术之一。目前,极化码(polar code)是可理论证明达到香农极限,并且具有可实用的线性复杂度编译码能力的信道编码技术。
[0047]
polar码是一种线性分组码。在polar码的译码算法中,串行抵消(successive cancellation,sc)译码算法是最基本的译码算法。在码长趋近于无穷时,sc译码算法可以获得很好的渐进性能。在有限码长时,由于极化信道并不完全,依然会存在一些信息比特无法被正确译码。根据极化码(polar code)的编码原理可以知道,由于各个极化信道之间并不是相互独立的,而是具有依赖关系的:信道序号大的极化信道依赖于所有比其序号小的极化信道。基于极化信道之间的这种依赖关系,sc译码算法按照信道序号从小到大的顺序依次对每个比特进行译码判决。并且,在对第i个比特进行判决时,是基于之前所有(i-1)个比特的译码判决的结果都是正确的假设条件。当码长趋近于无穷时,由于分裂信道接近于完全极化(信道容量或者为0,或者为1),每个信息比特都会被正确译码。但是,在有限码长下,由于信道极化并不完全,依然会存在一些信息比特无法被正确译码。由于sc译码算法在对后面的信息比特译码时,需要使用前面的信息比特的估计值,并且,sc译码算法是一种贪婪算法,在码树的每一层仅仅搜索到最优路径就进行下一层。因此,如果前面的i-1个信息比特的译码发生错误,就会导致较为严重的错误传递。
[0048]
针对sc译码算法的缺点,串行抵消列表(successive cancellation list,scl)译码算法被提出。在scl译码算法中,在码树的每一层增加允许保留的候选路径数量,从sc译码算法的每一层仅允许选择“最优的一条路径进行下一层扩展”改为“最大允许选择最好的
路径进行下一层扩展”。具体地,scl译码算法在进行译码时,从译码树的根节点开始,逐层依次向叶子节点层进行路径搜索。与sc不同的是,scl译码算法是广度优先的,它将广度优先搜索策略引入码树搜索机制,先扩展、再剪枝,最终到达叶子节点。每一层的译码判决保留一个很小的幸存路径列表,最终从幸存路径列表中选择似然概率最大的路径作为判决路径。给定列表长度l,scl译码算法的复杂度为o(lnlogn),其性能可以逼近最大似然(maximum likelihood,ml)译码性能。
[0049]
参见图3,图3为l=2的scl译码算法的示例。如图3所示,假定scl译码算法的列表大小为l,译码端在进行scl译码时,从码树的根节点开始,每一层保留l条幸存路径,进入下一层的路径扩展,直至到达码树的叶子节点。当完成polar码的scl译码时,会得到一组候选路径。最后,译码端从l条候选路径中选择度量值最好的一条路径作为译码路径输出。应理解,在码树中,从根节点到任意一个节点所形成的路径,都对应一个路径度量(path metric,pm)值,pm值可以作为判断路径的优劣的参考。译码端在码树的每一层参考pm值保留l条候选路径。因此,根据scl译码算法,polar码的译码过程也就是在图3所示的满二叉树上寻找合适的译码路径。如图3所示,当scl译码算法的列表大小l=2时,在从根节点开始,在每一层保留2条候选路径向下一层扩展,直至到达叶子节点。以图3中所示作为示例,根据scl译码算法完成译码时,候选列表中保留了两条候选路径,分别为[0011]和[1000]。最终,译码端可以从这2条候选路径中选择度量值最优的一条作为译码路径。
[0050]
而crc辅助的scl(crc aided-scl,ca-scl)译码算法,是在scl译码算法的基础上,在信息比特序列中增加了crc校验比特。在译码时,译码端采用scl译码算法进行译码,正常获得l条候选路径,然后借助“正确信息比特可以通过crc”的先验信息,对这l条候选路径进行挑选,从而输出最佳的译码路径作为译码结果。
[0051]
以图3所示为例,译码端将保留的2条候选路径输入crc模块进行crc,并将通过crc的候选路径作为译码结果输出。假定图3中所示的候选路径0011通过了crc,而候选[1000]未通过crc,则候选路径[0011]会作为译码结果输出。
[0052]
ca-scl译码算法的性能受搜索路径l的大小影响,译码性能仍有待提高。
[0053]
因此,本技术提供一种极化码的译码方法,旨在降低ca-scl译码算法的误码率。
[0054]
参见图4,图4为本技术提供的极化码的译码方法400的流程图。方法400可以由译码端(也即,译码设备)执行,或者也可以由安装在译码端中的芯片、处理电路等具备实现下述方法的功能的器件或部件等执行。可选地,译码端可以为图1中所示的网络设备,也可以为终端设备。
[0055]
s401,获取信息比特序列的p条极化码码字。
[0056]
p条极化码码字可以作为错误图样(pattern)。这里,可以通过选择纠错性能最好的p条极化码码字作为错误图样。示例性地,可以在l条极化码码字中选择码重最小的p条极化码码字作为错误图样。码字中非零码元的数目,称为该码的重量,简称码重。
[0057]
可以理解,本技术实施例中获取p条极化码码字的过程可以是离线完成的,也可以是在线完成的,本技术实施例对此不作限定。若采用离线方式获取p条极化码码字,那么获取p条极化码码字的过程可以是在另一设备(比如计算机设备)上完成的。
[0058]
可选地,s401包括:对所述信息比特序列的接收值进行串行抵消列表scl译码,得到信息比特序列的l条候选路径;对所述l条候选路径进行编码,得到l条极化码码字;在所
述l条极化码码字中选择所述p条极化码码字,p小于l。
[0059]
其中,信息比特序列的接收值是对数似然比(log-likelihood ratio,llr)形式的信道接收值。可选地,信息比特序列的信道接收值可以采用下式计算:
[0060][0061]
其中,接收序列为发送序列为1
n
表示长度为n的全1向量,表示加性高斯白噪声(additive white gaussian noise,awgn)噪声序列。这里可以将噪声设为全0,即
[0062]
具体而言,发送端发送序列中的所有比特为0的全0码字,假设噪声方差为0。接收端将信息比特序列的接收值输入scl译码器,使用scl译码器即可获得接近全0码字的l条候选路径(l条候选路径可表示为l个估计序列),然后对l条候选路径进行编码,获得l条极化码码字。接着,接收端计算l条极化码码字的码重,然后基于l条极化码码字的码重选择p条极化码码字。比如,在l条极化码码字中选择码重最小的p条极化码码字作为错误图样。
[0063]
示例性地,将信息比特序列的接收值y输入scl译码器,初始路径设为空路径,这里以译码后得到的l条候选路径表示为为例进行描述,假设对l条候选路径进行编码后得到l条极化码码字可选地,l条极化码码字可以满足下式:
[0064]
这里,接收端可以基于极化码码字的码重,从l条极化码码字中选择p条极化码码字。或者,接收端也可以对l条极化码码字进行仿真实验,选取纠错性能最好的p条极化码码字作为错误图样。比如,接收端通过计算l条极化码码字中每个码字的码重,然后按照升序进行排序,并选择码重最小的p条极化码码字作为错误图样。本技术实施例对极化码码字的码重的计算方式不作限定。可选地,假设第i条极化码码字的码重为w
i
,为第i条极化码码字的第j个元素,那么码重{w0,w1,...,w
l-1
}可以满足公式:其中,的取值为0或者1。
[0065]
接收端在得到上述p条极化码码字后,可以利用p条极化码码字进行译码。换句话说,译码端借助p条错误图样的辅助进行译码。本技术实施例对译码器不作具体限定。若采用sc译码器,本技术实施例借助错误图样进行辅助译码的方法可以称为错误图样辅助sc(error pattern aided sc,ep-sc);若采用scl译码器,本技术实施例借助错误图样进行辅助译码的方法可以称为错误图样辅助scl(error pattern aided scl,ep-scl)。
[0066]
s402,根据所述p条极化码码字对极化码的第一信道接收值进行符号处理,得到第二信道接收值。
[0067]
这里,第一信道接收值是待译码的码字,即实际需要译码的码字。
[0068]“符号处理”可以理解为根据p条极化码码字对第一信道接收值进行符号翻转。这里的符号翻转是指:根据p条极化码码字,码字中标记为1的比特对应的接收值需要做符号
反转,标记为0的比特对应的接收值不需要做符号反转。例如,可以在p条极化码码字中确定出多条极化码码字,然后利用多条极化码码字对第一信道接收值进行符号翻转,得到第二信道接收值。可以理解,这里引入第一信道接收值与第二信道接收值只是为了便于区分符号处理前后的信道接收值,并无特殊含义。
[0069]
这里,可以考虑p条极化码码字的度量值,在p条极化码码字中选择多条极化码码字,用以在译码中使用。可选地,s402包括:计算所述p条极化码码字中每条极化码码字的度量值;根据所述p条极化码码字的度量值,确定d条极化码码字,d≤p;根据所述d条极化码码字对所述第一信道接收值进行符号翻转,得到第二信道接收值。
[0070]
示例性地,译码器通过计算p条极化码码字中每条极化码码字的度量值,然后对p条极化码码字的度量值进行升序排列,并在p条极化码码字中选择度量值从大到小排序的前d条极化码码字,利用d条极化码码字对第一信道接收值进行符号翻转。
[0071]
这里,在利用d条极化码码字对第一信道接收值进行符号翻转时,可以对d条极化码码字作进一步处理。比如,将d条极化码码字分为多组极化码码字,d=m*k,m∈n
*
,k∈n
*
,n
*
表示正整数,m表示循环k次时极化码码字的条数。这样,译码器基于译码过程可循环k次,每次可以利用m条极化码码字对第一信道值y进行符号翻转,获得m组信道接收值。
[0072]
s403,对所述第二信道接收值进行译码,得到多条候选路径。
[0073]
比如,可以将m组信道接收值分别输入并行运行的m个译码器,得到多条候选路径。
[0074]
s404,对所述多条候选路径进行循环冗余校验crc校验,并输出第一候选路径作为译码结果。
[0075]
译码器对多条候选路径极化进行crc校验。如果多条候选路径中存在一条路径通过crc校验,则停止译码,并输出该通过crc校验的路径作为译码结果,即所述第一候选路径为该通过crc校验的路径。如果多条候选路径中存在两条或两条以上路径通过crc校验,则选择路径度量值最好的路径作为译码结果,即所述第一候选路径为该路径度量值最好的路径。
[0076]
当然,如果不存在通过crc校验的候选路径,则译码器可以重复执行s402-s404,以便得到第一候选路径。示例性地,译码器重复执行s402-s404可能存在两种情况:情况1,在p条极化码码字(或者d条极化码码字)中每次选择一条极化码码字翻转,执行s402-s404,若无通过crc的候选路径,则在p条极化码码字中选择另一条极化码码字,继续执行s402-s404;情况2,在p条极化码码字(或者d条极化码码字)中每次选择m条极化码码字翻转,执行s402-s404,若无通过crc的候选路径,则在p条极化码码字中选择另一条,继续执行s402-s404。
[0077]
本技术实施例的译码方法,可以包括获取p条极化码码字的过程,以及利用p条极化码码字进行译码的过程。
[0078]
下面结合图5描述确定p条极化码码字的过程的一个示例。
[0079]
如图5所示,图5示出了本技术提供的确定p条极化码码字的流程图。其中,图5所示的流程可以由另一个设备或计算机执行。
[0080]
510、初始化。
[0081]
初始化主要包括信道模型的初始化。例如,极化码的码长为n=2
n
,信息位长度为k
的极化码,其编码结构为表示克罗内克积,其中,n=log2n。
[0082]
此外,s510还可以包括信道类型(channel model)的选择,调制方式的选择等。例如,信道类型可以为加性高斯白噪声(additive white gaussian noise,awgn),调制方式可以为二进制相移键控(binary phase shift keying,bpsk)。
[0083]
可选地,作为一个示例,对于awgn信道,bpsk调制,发送比特序列可以为接收比特序列可以为其中,1
n
表示长度为n的全1向量,表示awgn的噪声序列。这里可以将信道噪声设为全0,即
[0084]
520、计算llr形式的信道接收值y。
[0085]
可选地,这里可以在高信噪比假设下计算llr形式的信道接收值。虽然信道噪声这里可以假设一个较大的具体信噪比值,比如6db或10db等,以使信道接收值的llr形式有意义。llr形式的信道接收值y可以采用公式计算,σ2表示噪声方差。
[0086]
530、运行列表大小为l的scl译码器。
[0087]
具体而言,可以将信道接收值y输入译码器,初始路径设为空路径。所有的候选路径按比特0或1拓展,并更新路径度量值。每译码1比特都只保留度量值最大的l条路径,当路径长度达到n时停止译码,输出当前保留的l条候选路径:
[0088]
540、对l条候选路径重新编码得到l条极化码码字。
[0089]
示例性地,l条极化码码字表示为可选地,l条极化码码字采用下式计算:
[0090]
550、计算l条极化码码字的码重,并进行排序。
[0091]
对于l条极化码码字假设第i条码字的码重为w
i
,为第i条码字的第j个元素,l条极化码码字的码重{w0,w1,...,w
l-1
}的计算如下式所示:
[0092]
对码重{w0,w1,...,w
l-1
}进行升序排列,排序后对应的索引表示为{γ0,γ1,...,γ
l-1
}。
[0093]
560,在l条极化码码字中选取码重最小的p条极化码码字。
[0094]
这里,译码端可以在l条极化码码字,选择码重最小的p条极化码码字作为后续译码的错误图样。码重最小的p条极化码码字表示为
[0095]
下面结合图6描述译码端借助p条极化码码字进行译码的一个示例。
[0096]
如图6所示,图6示出了本技术提供的利用p条极化码码字进行译码的一个示意流程图。其中,图6所示的流程可以由译码端执行。
[0097]
610、初始化。
[0098]
例如,对于一个码长为n=2
n
,信息位长度为k的极化码,其编码结构为其中b表示比特置换矩阵(可以理解为与错误图样相关的置换矩阵,即与p条极化码码字相关的置换矩阵),表示克罗内克积,其中n=log2n。设crc编码前序列长度为k
pre
,编码后序列长度为k,那么crc校验位长度为k
crc
=k-k
pre
,crc的生成多项式为g(x)。
[0099]
可选地,作为一个示例,对于awgn信道,bpsk调制,发送比特序列可以为接收比特序列可以为其中,1
n
表示长度为n的全1向量,表示awgn的噪声序列。
[0100]
620、计算信道接收值以及p条极化码码字的度量值。
[0101]
类似于步骤520计算信道接收值的方法,这里也可以采用公式计算信道接收值。这里的p条极化码码字是通过图5中的流程得到的p条极化码码字为了便于描述,将图5中得到的p条极化码码字表示为错误图样{e0,e1,...,e
p-1
},第i个错误图样的度量值em
i
采用如下公式计算:
[0102][0103]
其中,为e
i
的第j个元素,y
j
是y的第j个元素,w
i
为e
i
的码重。
[0104]
630、在p条极化码码字中选择d条极化码码字。
[0105]
在通过步骤620得到p条极化码码字的度量值后,译码端对p条极化码码字的度量值进行升序排列,将排序后的p条极化码码字的度量值通过索引{λ0,λ1,...,λ
p-1
}表示,然后在{λ0,λ1,...,λ
p-1
}中选择前d条极化码码字用以在译码中使用。
[0106]
640、初始化k=d/m。
[0107]
这里,设d=m*k,m∈n
*
,k∈n
*
,初始化t=0。t为循环次数。
[0108]
可以理解,当k的取值为1时,相当于使用一个译码器全并行计算。
[0109]
650,判断t是否小于k。
[0110]
如果t小于k,则译码结束。如果t不小于k,则执行步骤660。
[0111]
660,取m个错误图样对y进行符号翻转,获得m组不同的信道接收值{y0,y1,...,y
m-1
}。
[0112]
这里,符号翻转可以通过如下公式实现:
[0113]
670,将得到的m组信道接收值分别输入并行的m个译码器。
[0114]
译码器可以是sc译码器或scl译码器,对此不作限定。如果是sc译码器,则输出m条候选路径;如果是scl译码器,则输出m*l条候选路径。
[0115]
这里,本技术可以并行运行多个sc译码器或多个ca-scl(l较小)译码器,与sc译码方案相比,可获得更好的译码性能,也可解决ca-scl(l较大)译码器需要排序过多度量值造
成的延迟问题。
[0116]
可以理解,m的取值不对实际设备中部署的译码器个数构成限制,即m组信道接收值既可以由m个译码器并行译码,也可以只有一个译码器串行执行m次完成译码。如果k的取值为1,则这里可以利用一个译码器进行全并行译码。
[0117]
680,对候选路径进行crc校验。
[0118]
示例性地,sc译码器输出的m条或scl译码器输出的m*l条候选路径构成了候选译码路径集合,对集合中的序列进行crc校验。
[0119]
690,判断是否通过crc校验。
[0120]
如果没有通过crc校验的候选路径,则执行步骤691,令t=t 1,并返回步骤650。如果存在crc校验的候选路径,则执行步骤692。
[0121]
692,输出译码结果。
[0122]
如果步骤690中存在一条候选路径通过crc校验,则译码器停止译码,并输出该候选路径作为译码结果;如果步骤690中存在两条或两条以上的候选路径通过crc校验,则分别计算通过crc校验的候选路径的度量值,并输出路径度量值最好的路径作为译码结果。
[0123]
参见图7,图7为本技术实施例的ep-sc算法与其他算法的仿真结果图。在图7中,假定极化码的码长n=256,码率r=0.5,crc比特序列的长度为16。
[0124]
从图7中可以看出,若本技术实施例的ep-sc算法配置的参数为p=256,d=128,m=8,则当块差错率(block error ratio,bler)为10-2
时,本技术实施例的ep-sc算法与原始sc译码算法相比,存在0.7db的增益。并且,本技术实施例的ep-sc算法与ca-scl(l=2)相比,当信噪比大于2.5db后,出现增益,并且增益随信噪比增大而逐渐增大。
[0125]
参见图8,图8为本技术实施例的ep-scl算法与其他算法的仿真结果图。
[0126]
从图8中可以看出,若本技术实施例的ep-scl算法配置的参数为p=256,d=128,m=8,则当bler为10-3
时,本技术实施例的ep-scl算法与原始ca-scl(l=2)相比,ep-scl(l=2)存在0.5db的增益。并且,随着信噪比的增加,本技术实施例的ep-scl算法与ca-scl(l=4)相比,也出现增益,并且增益逐渐增加。
[0127]
由此可见,本技术实施例提供的借助错误图样辅助译码的算法可以提高polar码的译码性能。
[0128]
以上对本技术提供的极化码的译码方法进行了详细说明,下面说明本技术提供的译码装置。
[0129]
参见图9,图9为本技术提供的译码装置900的示意图。如图9所示,译码装置900包括处理单元910和通信单元920。
[0130]
处理单元910,用于获取信息比特序列的p条极化码码字;根据所述p条极化码码字对极化码的第一信道接收值进行符号处理,得到第二信道接收值;对所述第二信道接收值进行译码,得到多条候选路径;
[0131]
通信单元920,用于对所述多条候选路径进行循环冗余校验crc校验,并输出第一候选路径作为译码结果。
[0132]
可选地,所述处理单元910用于获取p条极化码码字,包括:对所述信息比特序列的信道接收值进行串行抵消列表scl译码,得到信息比特序列的l条候选路径;对所述l条候选路径进行编码,得到l条极化码码字;在所述l条极化码码字中选择所述p条极化码码字,p小
于l。
[0133]
可选地,所述l条候选路径表示为所述l条极化码码字表示为其中,所述l条极化码码字满足下式:
[0134][0135]
其中,表示克罗内克积,其中n=log2n,n表示码长。
[0136]
可选地,所述处理单元910用于在所述l条极化码码字中选择所述p条极化码码字,包括:计算所述l条极化码码字的每条极化码码字的码重,并选择码重最小的p条极化码码字。
[0137]
可选地,所述处理单元910用于根据所述p条极化码码字对第一信道接收值进行符号处理,得到第二信道接收值,包括:计算所述p条极化码码字中每条极化码码字的度量值;根据所述p条极化码码字的度量值,确定d条极化码码字,d≤p;利用所述d条极化码码字对所述第一信道接收值进行符号翻转,得到第二信道接收值。
[0138]
可选地,所述d表示为:d=m*k,m∈n
*
,k∈n
*
,所述第一信道接收值表示为y;其中,所述处理单元910用于利用所述d条极化码码字对所述第一信道接收值进行符号翻转,得到第二信道接收值,包括:取所述d条极化码码字中的m条极化码码字对所述y进行符号翻转,得到m组信道接收值{y0,y1,...,y
m-1
},其中,
[0139]
可选地,所述通信单元920用于对所述多条候选路径进行循环冗余校验crc校验,并输出第一候选路径作为译码结果,包括:如果所述多条候选路径中存在一条路径通过crc校验,则所述第一候选路径为所述通过crc校验的路径;如果所述多条候选路径中存在两条或两条以上路径通过crc校验,则所述第一候选路径为通过crc校验的路径中路径度量值最好的路径。
[0140]
在一个可能的设计中,译码装置900的上述功能可以通过硬件实现,或者通过硬件执行相应的软件实现。
[0141]
作为一个实施例,译码装置900可以包括一个或多个处理器,所述一个或多个处理器用于执行存储器中存储的计算机程序,以使译码装置900执行本技术提供的任意一个方法实施例。
[0142]
可选地,所述用于存储计算机程序的存储器位于译码装置900之外,所述一个或多个处理器通过电路和/或电线与所述存储器连接。所述存储器可以为一个或多个。
[0143]
可选地,译码装置900还包括一个或多个存储器。
[0144]
进一步可选地,译码装置900还包括一个或多个通信接口。
[0145]
作为一些示例,所述一个通信或多个通信接口可以为输入输出接口,或者输出输出电路,本技术对此不作限定。
[0146]
作为另一个实施例中,译码装置900还可以通过硬件实现。
[0147]
参见图10,图10为本技术提供的译码装置900的一个示意性结构图。如图10所示,译码装置900包括输入接口电路901、逻辑电路902和输出接口电路903。
[0148]
其中,输入接口电路901,用于获取llr序列;逻辑电路902,用于采用本技术提供的极化码的译码方法进行译码;输出接口电路903,用于输出译码结果。
[0149]
可选的,译码装置900可以是芯片或者集成电路。例如,所述芯片可以为片上系统(system on chip,soc),也可以是基带芯片等。
[0150]
可选地,译码装置900也可以为译码端中用于实现信道解码的器件或模块。例如,信道解码器或信道解码电路等。
[0151]
图11为本技术实施例的译码器1000的示意性结构图。如图11所示,译码器1000包括:一个或多个处理器1100,一个或多个存储器1200以及一个或多个通信接口1300。通信接口1300用于获取llr序列,存储器1200用于存储计算机程序,处理器1100用于从存储器1200中调用并运行所述计算机程序,使得译码器1000采用本技术提供的极化码的译码方法,完成对llr序列的译码。
[0152]
进一步地,通信接口1300还用于输出译码结果。
[0153]
另外,图9中所示的译码装置900可以通过图11中所示的译码器1000实现。
[0154]
例如,通信单元930可以由图11中的通信接口1300实现,处理单元910可以由处理器1100实现等。
[0155]
可选地,装置实施例中的存储器和处理器可以集成在一起,也可以物理上相互单独的单元。
[0156]
此外,本技术还提供一种译码装置,包括处理器和接口电路,所述接口电路用于接收计算机代码或指令,并传输至所述处理器,所述处理器用于运行所述计算机代码或指令,以执行本技术提供的极化码的译码方法。
[0157]
此外,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得本技术的极化码的译码方法被实现。
[0158]
本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使本技术的极化码的译码方法被实现。
[0159]
本技术还提供一种芯片,包括一个或多个存储器以及一个或多个处理器。所述一个或多个存储器用于存储计算机程序,所述一个或多个处理器用于从所述一个或多个存储器中调用并运行所述计算机程序,使得安装有所述芯片的设备执行使本技术的极化码的译码方法。
[0160]
本技术还提供一种通信设备,包括上述译码器1000。
[0161]
本文中的译码端,也即信号和/或数据的接收端。相应地,发送信号和/或数据的一方为发送端。可选地,译码端可以为通信系统中的网络设备(例如,5g的gnb),也可以为终端设备,本技术的方案不作限定。
[0162]
以上实施例中,处理器可以为中央处理器(central processing unit,cpu)、通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、微处理器或一个或多个用于控制本技术方案程序执行的集成电路等。例如,处理器可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。处理器可以根据这些设备
各自的功能在这些设备之间分配移动设备的控制和信号处理的功能。此外,处理器可以包括操作一个或多个软件程序的功能,软件程序可以存储在存储器中。处理器的所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
[0163]
存储器可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
[0164]
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,部件可以是在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中。部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可从上面存储有各种数据结构的各种计算机可读介质执行。部件可根据具有一个或多个数据分组(例如,来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
[0165]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现,具体取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0166]
在本技术所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例也仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0167]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例的目的。
[0168]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0169]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤
[0170]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜