CN113067585A - 极化码的译码方法和译码装置 - Google Patents
极化码的译码方法和译码装置 Download PDFInfo
- Publication number
- CN113067585A CN113067585A CN201911295454.5A CN201911295454A CN113067585A CN 113067585 A CN113067585 A CN 113067585A CN 201911295454 A CN201911295454 A CN 201911295454A CN 113067585 A CN113067585 A CN 113067585A
- Authority
- CN
- China
- Prior art keywords
- sequence
- rearrangement
- decoding
- code
- llr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请提供一种极化码的译码方法和译码装置,在极化码的SCL译码算法的基础上,译码端通过对极化码的LLR序列进行一次或者多次重排,并根据重排得到的重排序列计算译码结果,可以改善极化码的译码性能。
Description
技术领域
本申请涉及信道编码领域,更具体地,涉及一种极化码的译码方法和译码装置。
背景技术
极化码(polar code)作为目前唯一可理论证明达到香浓极限,并且具有可实用的线性复杂度编译码能力的信道编码技术,被确定为第五代(the 5th generation,5G)通信***的控制信道的编码方案。串行抵消(successive cancellation,SC)译码算法是极化码最基本的译码算法。当码长趋近于无穷时,可获得很好的渐进性能。但是在中、短码长时,SC译码算法的性能并不理想。为了提高SC译码算法的译码性能,串行抵消列表(successivecancellation list,SCL)译码算法被提出。SCL译码算法将广度优先搜索策略引入码树搜索机制,每次译码判决保留一个很小的候选路径列表。最终从候选路径列表中选择似然概率最大的路径作为判决路径。
循环冗余校验(cyclic redundancy check,CRC)是一种信道检错技术,在实际数字通信***中已经得到了广泛应用。对于polar码而言,在SCL译码结束时得到一组候选路径,能够以非常低的复杂度与CRC进行联合检测译码,选择能够通过CRC检测的候选序列作为译码器输出序列,从而提高译码算法的纠错能力,由此,CRC辅助的SCL译码算法(CRC-aided SCL,CA-SCL)译码算法被提出。
但是,CA-SCL译码算法的译码性能受到列表大小L的影响。当L较小时,误码率较高,译码性能依旧不够理想。并且,根据CA-SCL译码算法,每译1比特,译码器需要对2L个度量值进行排序操作。如果为了提升译码性能而增大L,排序操作的规模快速增加,这将带来译码延迟并直接影响到译码器的吞吐率。因此,在不增加译码延迟的情况下,如何降低译码的误码率,以进一步改善polar码的译码性能,仍然有待解决。
发明内容
本申请提供一种极化码的译码方法和装置,可以提升polar码的译码性能。
第一方面,本申请提供一种极化码的译码方法,该方法包括:对极化码的LLR序列进行SCL译码,得到信息比特序列的第一估计序列;若第一估计序列未通过CRC,对所述LLR序列进行j次重排,得到所述LLR序列的第j个重排序列;根据所述第j个重排序列,确定所述信息比特序列的第二估计序列;在第二估计序列通过CRC的情况下,输出第二估计序列作为译码结果,其中,j≥1且j为整数。
在本申请的技术方案中,译码端首先对获得的极化码的对数似然比(log-likelihood ratio,LLR)序列进行SCL译码,得到信息比特序列的一个估计值,若这个估计值不能通过CRC,译码端则对LLR序列进行重排,得到LLR序列的重排序列。根据重排序列,译码端重新确定信息比特序列的估计值。如果根据重排序列确定的信息比特序列的估计值可以通过CRC,则译码端输出所述估计值作为译码结果。如果根据重排序列确定的信息比特序列的估计值不能通过CRC,译码端对LLR序列进行又一次重排,并重新确定信息比特序列的估计值,如此循环,直至根据某一次的重排序列确定的信息比特序列的估计值通过CRC,则译码成功。
根据极化码的重排特性,通过对LLR序列进行重排,可以在不增加CA-SCL译码算法的列表大小L的情况下,降低误码率,提升译码性能。
由于不增大L,因此也不会额外带来译码时延,并不会影响译码器的吞吐率。
可以理解的是,本方案中的第j个重排序列,是指对极化码的LLR序列进行第j次重排得到的序列,也可以称为第j次重排对应的序列。
本文中,如果对LLR序列进行第j次重排,说明根据前(j-1)次重排得到的重排序列确定的信息比特序列的估计值,均不能通过CRC。
对于未通过CRC的任意一次重排,其对应的重排序列可以保存,直至根据第j次重排得到的重排序列确定的信息比特序列的估计值(也即,第二估计序列)可以通过CRC,再输出根据第j次重排得到的重排序列确定的信息比特序列的估计值作为译码结果。
或者,译码端经过第一次重排之后,得到第1个重排序列。如果根据第1个重排序列确定的信息比特序列的估计值不能通过CRC,则进行第二次重排,并采用第二次重排得到的第2个重排序列覆盖第1个重排序列。以此类推,如果根据第m次重排对应的重排序列确定的信息比特序列的估计值不能通过CRC,则进行第m+1次重排,得到第m+1个重排序列,并采用第m+1个重排序列覆盖第m个重排序列。再根据第m+1个重排序列确定信息比特序列的估计值,并判断该估计值是否可以通过CRC,直至根据第j次重排对应的重排序列确定的信息比特序列的估计值可以通过CRC。此时,译码端保存的是第j次重排得到的重排序列。其中,1≤m≤j-1,j>1,m为整数。
需要说明的是,本文中,重排序列的编号仅是为了清楚地描述重排的过程,因此,对每一次重排对应的重排序列依次进行编号。例如,第m次重排对应的重排序列称为第m个重排序列,第j次重排对应的重排序列称为第j个重排序列。但是,对于译码端,在译码过程中,j次重排分别得到的j个重排序列在译码过程中可以全部保存,直到译码成功。或者,译码端也可以使用后一次的重排序列覆盖前一次的重排序列,直到译码成功。这种情况下,译码端在译码过程中可以仅保存最新的重排序列。当根据第j次重排得到的重排序列确定的信息比特序列的估计值通过CRC的情况下,译码端保存了第j次重排得到的重排序列,具体可以如上面的过程描述。
再或者,在译码过程中,译码端仅输出最终的译码结果,而不保存重排序列,本文对此不作限定。
结合第一方面,在第一方面的某些实现方式中,所述对所述LLR序列进行j次重排,包括:
(1)对所述LLR序列进行第m次重排,得到所述LLR序列的第m个重排序列;
(2)根据所述第m个重排序列,确定所述信息比特序列的第n个估计序列;
(3)判断所述第n个估计序列是否通过CRC;
(4)若所述第n个估计序列未通过所述CRC,令m=m+1,n=n+1,并返回至(1),其中,1≤m≤j-1,n≥1,j>1,m和n均为整数。
结合第一方面,在第一方面的某些实现方式中,所述对所述LLR序列进行j次重排之前,所述方法还包括:获取所述LLR序列的一组重排矩阵,所述一组重排矩阵中的每个重排矩阵用于唯一确定所述LLR序列的一个重排序列;以及,所述对LLR序列进行j次重排,包括:对所述LLR序列的第m次重排和第q次重排,分别采用所述一组重排矩阵中的不同重排矩阵,并得到不同的重排序列,其中,所述第m次重排和所述第q次重排是指对所述LLR序列的任意两次重排,q≤j,q为整数。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第j个重排序列,确定所述信息比特序列的第二估计序列,包括:根据所述第j个重排序列,确定中间序列;根据所述中间序列、极化码的生成矩阵以及所述一组重排矩阵中的第一重排矩阵,得到所述第二估计序列,其中,第一重排矩阵和前(j-1)次重排的任意一次重排使用的重排矩阵不同。
需要说明的是,本文中,第一重排矩阵是指第j次重排所使用的重排矩阵。其中,第一重排矩阵属于所述一组重排矩阵中的一个。但是,由于每次重排使用所述一组重排矩阵中的一个重排矩阵,而任意两次重排所使用的重排矩阵不同。因此,对于任意一次重排而言,重排所使用的重排矩阵只需要和前面任意一次重排使用的重排矩阵不同即可。
结合第一方面,在第一方面的某些实现方式中,所述根据所述中间序列、极化码的生成矩阵以及所述一组重排矩阵中的第一重排矩阵,得到所述第二估计序列,包括:根据如下公式,计算得到所述第二估计序列:
结合第一方面,在第一方面的某些实现方式中,获取所述LLR序列的一组重排矩阵,包括:将极化码的码字中的第i个比特表示为二进制向量bi,i≤N,N为极化码的码长;根据极化码的重排特性,确定所述第i个比特分别在一组重排后的码字中的位置索引i'的二进制向量bi',其中,所述极化码的重排特性是指对极化码的码字的比特位置进行特定的重新排列,重新排列后得到的码字仍然为所述极化码的码字;根据所述bi和所述一组bi',得到所述一组重排矩阵。
结合第一方面,在第一方面的某些实现方式中,所述bi和所述一组bi'中的每个bi'满足如下公式:
bi'=1-(P·(1-bi)+a)
其中,P为随机的可逆方阵,a为常向量。
结合第一方面,在第一方面的某些实现方式中,所述根据所述bi和所述一组bi',得到所述一组重排矩阵,包括:
根据所述bi和所述一组bi'中的每个bi',获得每个bi'对应的重排函数i'=p(i);
根据所述一组bi'各自对应的重排函数i'=p(i),得到所述一组重排矩阵。
第二方面,本申请提供一种极化码的译码装置,所述译码装置具有实现第一方面或其任意可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
第三方面,本申请提供一种译码器,包括一个或多个处理器,所述一个或多个处理器与一个或多个存储器耦合。所述一个或多个存储器用于存储计算机程序,所述一个或多个处理器用于调用并运行所述一个或多个存储器中存储的计算机程序,以执行第一方面或其任意可能的实现方式中的方法。
可选地,所述芯片可以为信道解码器。
第四方面,本申请提供一种芯片,包括一个或多个处理器。所述一个或多个处理器用于读取并执行一个或多个存储器中存储的计算机程序,以执行第一方面或其任意可能的实现方式中的方法。所述一个或多个存储器独立设置于所述芯片之外。
可选地,所述芯片还包括一个或多个存储器,所述一个或多个存储器与所述一个或多个处理器通过电路或电线与所述一个或多个存储器连接。
进一步可选地,所述芯片还包括通信接口。
第五方面,本申请还提供一种译码装置,包括处理器和接口电路,所述接口电路用于接收计算机代码或指令,并传输至所述处理器,所述处理器用于运行所述计算机代码或指令,以执行第一方面或其任意可能的实现方式中的方法。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面或其任意可能的实现方式中的方法。
第七方面,本申请提供一种计算机程序产品,包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行第一方面或其任意可能的实现方式中的方法。
第八方面,本申请提供一种通信设备,包括第三方面所述的译码器。
第九方面,本申请提供一种无线通信***,包括第七方面所述的通信设备。
附图说明
图1为适用于本申请的无线通信***的架构示意图。
图2为无线通信的基本流程示意图。
图3为L=2的SCL译码算法的示例。
图4为本申请提供的极化码的译码方法300的流程图。
图5示出了本申请提供的极化码的译码方法的流程图。
图6为CRC-polar级联编译码的***结构的示意图。
图7为CA-SCL译码算法和本申请的极化码重排译码算法的BLER的仿真图。
图8为本申请的极化码重排译码算法和CA-SCL译码算法在相同的译码次数下BLER的对比图。
图9为本申请提供的译码装置900的示意图。
图10为本申请提供的译码装置900的一个示意性结构图。
图11为本申请实施例的译码器1000的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
参见图1,图1为适用于本申请的无线通信***的架构示意图。如图1所示,无线通信***可以包括至少一个网络设备110和至少一个终端设备(例如,图1中所示的111,112以及113)。网络设备110和终端设备进行无线通信。当网络设备110向终端设备发送信号时,网络设备110为编码端,终端设备为译码端。当终端设备向网络设备110发送信号时,终端设备为编码端,网络设备为译码端。
本申请实施例提及的无线通信***包括但不限于:无线局域网(wireless localaccess network,WLAN)***、窄带物联网(narrow band-internet of things,NB-IoT)***、长期演进(long term evolution,LTE)***、第五代(the 5th generation,5G)通信***或者5G之后的通信***等。
本申请提及的网络设备,可以是任意一种具有无线收发功能的设备。所述网络设备包括但不限于:节点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 transceiverstation,BTS)、接入点(access point,AP)、无线回传节点、传输点(transmission point,TP)、发送接收点(transmission and reception point,TRP)、家庭基站(home node B,HNB)等。或者,还可以为构成gNB或传输点的网络节点,例如,基带单元(building basebandunit,BBU)或分布式单元(distributed unit,DU)等,本申请不作限定。
本申请提及的终端设备也可以称为用户设备(user equipment,UE)、移动台、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、终端、无线通信设备、用户代理、WLAN中的站点(station,STA)、蜂窝电话、无绳电话、会话启动协议(sessioninitiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、5G网络中的移动台以及未来演进的公共陆地移动网络(public land mobile network,PLMN)网络中的终端设备等。
参见图2,图2为无线通信的基本流程示意图。如图2所示,在信号的发送端,信源依次信源编码、信道编码、数字调制后发出。信号的接收端对接收到的信号依次经过数字解调、信道译码、信源解码输出信宿。信道编解码是无线通信领域的核心技术之一。目前,极化码(polar code)是可理论证明达到香农极限,并且具有可实用的线性复杂度编译码能力的信道编码技术。
Polar码是一种线性分组码。在Polar码的译码算法中,串行抵消(successivecancellation,SC)译码算法是最基本的译码算法。在码长趋近于无穷时,SC译码算法可以获得很好的渐进性能。在有限码长时,由于极化信道并不完全,依然会存在一些信息比特无法被正确译码。根据极化码(polar code)的编码原理可以知道,由于各个极化信道之间并不是相互独立的,而是具有依赖关系的:信道序号大的极化信道依赖于所有比其序号小的极化信道。基于极化信道之间的这种依赖关系,SC译码算法按照信道序号从小到大的顺序依次对每个比特进行译码判决。并且,在对第i个比特进行判决时,是基于之前所有(i-1)个比特的译码判决的结果都是正确的假设条件。当码长趋近于无穷时,由于***信道接近于完全极化(信道容量或者为0,或者为1),每个信息比特都会被正确译码。但是,在有限码长下,由于信道极化并不完全,依然会存在一些信息比特无法被正确译码。由于SC译码算法在对后面的信息比特译码时,需要使用前面的信息比特的估计值,并且,SC译码算法是一种贪婪算法,在码树的每一层仅仅搜索到最优路径就进行下一层。因此,如果前面的i-1个信息比特的译码发生错误,就会导致较为严重的错误传递。
针对SC译码算法的缺点,串行抵消列表(successive cancellation list,SCL)译码算法被提出。在SCL译码算法中,在码树的每一层增加允许保留的候选路劲数量,从SC译码算法的每一层仅允许选择“最优的一条路径进行下一层扩展”改为“最大允许选择最好的路径进行下一层扩展”。具体地,SCL译码算法在进行译码时,从译码树的根节点开始,逐层依次向叶子节点层进行路径搜索。与SC不同的是,SCL译码算法是广度优先的,它将广度优先搜索策略引入码树搜索机制,先扩展、再剪枝,最终到达叶子节点。每一层的译码判决保留一个很小的幸存路径列表,最终从幸存路径列表中选择似然概率最大的路径作为判决路径。给定列表长度L,SCL译码算法的复杂度为O(LNlogN),其性能可以逼近最大似然(maximum likelihood,ML)译码性能。
参见图3,图3为L=2的SCL译码算法的示例。如图3所示,假定SCL译码算法的列表大小为L,译码端在进行SCL译码时,从码树的根节点开始,每一层保留L条幸存路径,进入下一层的路径扩展,直至到达码树的叶子节点。当完成polar码的SCL译码时,会得到一组候选路径。最后,译码端从L条候选路径中选择度量值最好的一条路径作为译码路径输出。应理解,在码树中,从根节点到任意一个节点所形成的路径,都对应一个路径度量(pathmetric,PM)值,PM值可以作为判断路径的优劣的参考。译码端在码树的每一层参考PM值保留L条候选路径。因此,根据SCL译码算法,polar码的译码过程也就是在图3所示的满二叉树上寻找合适的译码路径。如图3所示,当SCL译码算法的列表大小L=2时,在从根节点开始,在每一层保留2条候选路径向下一层扩展,直至到达叶子节点。以图3中所示作为示例,根据SCL译码算法完成译码时,候选列表中保留了两条候选路径,分别为[0011]和[1000]。最终,译码端可以从这2条候选路径中选择度量值最优的一条作为译码路径。
而CRC辅助的SCL(CRC aided-SCL,CA-SCL)译码算法,是在SCL译码算法的基础上,在信息比特序列中增加了CRC校验比特。在译码时,译码端采用SCL译码算法进行译码,正常获得L条候选路径,然后借助“正确信息比特可以通过CRC”的先验信息,对这L条候选路径进行挑选,从而输出最佳的译码路径作为译码结果。
以图3所示为例,译码端将保留的2条候选路径输入CRC模块进行CRC,并将通过CRC的候选路径作为译码结果输出。假定图3中所示的候选路径0011通过了CRC,而候选[1000]未通过CRC,则候选路径[0011]会作为译码结果输出。
相对于SCL译码算法,虽然CA-SCL译码算法能够以较低的复杂度提升译码性能。但是,CA-SCL译码算法的误码率仍然需要降低。
因此,本申请提供一种极化码的译码方法,旨在降低CA-SCL译码算法的误码率。
参见图4,图4为本申请提供的极化码的译码方法400的流程图。方法400可以由译码端(也即,译码设备)执行,或者也可以由安装在译码端中的芯片、处理电路等具备实现下述方法的功能的器件或部件等执行。可选地,译码端可以为图1中所示的网络设备,也可以为终端设备。
410、对极化码的LLR序列进行SCL译码,得到信息比特序列的第一估计序列。
为了描述上的方便,下文将译码端获得的LLR序列记作y,将信息比特序列记作u。
根据极化码的编译码流程,编码端对信息比特序列进行polar编码,得到极化码字(或者说,极化码)。编码端向译码端发送极化码字。译码端通过解调在极化信道上接收到的信号,得到LLR序列(或者,也称为软值序列)。当然,经过polar编码得到的极化码字还可以经过调制、映射等信道编码流程的相应处理,这里不作详述。
译码端对y进行列表大小为L的SCL译码,得到u的一个估计序列,以下称为第一估计序列。
可选地,列表大小L的具体取值不作限定。
步骤410中,对LLR序列进行列表大小为L的SCL译码的过程,可以参见上文对SCL译码算法的介绍,例如图3,这里不再详述。
420、若第一估计序列未通过CRC,对所述LLR序列进行j次重排,得到LLR序列的第j个重排序列。
需要说明的是,在编码理论中,码字的重排特性,是指对一种码的码字的比特位置进行某种特定的重新排列,重新排列后得到的码字仍是这种码的码字。
因此,步骤420中,译码端对LLR序列进行重排,是指译码端对LLR序列中的比特位置进行重新排列,完成重新排列之后的LLR序列称为重排序列。
步骤420中,j≥1,j为整数。换句话说,在第一估计序列未通过CRC的情况下,对LLR序列可以进行一次或者多次重排。其中,每对LLR序列进行一次重排,就会得到一个重排序列。因此,完成第j次重排之后,将得到LLR序列的第j个重排序列。
需要注意的是,LLR序列的所述j次重排是依次执行的。当第j-1次的重排之后得到LLR序列的第j-1个重排序列,是否进行第j次重排,取决于根据第j-1个重排序列得到的信息比特序列的估计值,是否可以通过CRC。
具体地,根据第j-1个重排序列,可以获得信息比特序列的一个估计值,如果该估计值可以通过CRC,则译码端将该估计值作为译码结果输出,译码结束。如果该估计值未通过CRC,且译码次数未达到设定的最大译码次数,则译码端需要对LLR序列进行第j次重排。
因此,如果对LLR序列进行j次重排,说明根据前(j-1)次重排得到的重排序列确定的信息比特序列的估计值,均未通过CRC。
例如,以前(j-1)次重排中的第m次重排为例,对LLR序列进行第m次重排,得到一个重排序列。根据该重排序列计算得到信息比特序列的一个估计序列。如果该估计序列可以通过CRC,则将该估计序列作为译码结果输出,译码结束。如果该估计序列未通过CRC,则执行第m+1次重排,得到LLR序列的又一个重排序列。接着,继续根据第m+1次重排得到的重排序列,计算信息比特序列的又一个估计序列。如果该又一个估计序列通过CRC,则将该又一个估计序列作为译码结果输出,如果该又一个估计序列未通过CRC,则继续下一次重排,以此类推。
当然,每一次重排之前,还需要判断当前译码次数是否达到了设定的最大译码次数。如果当前译码次数未达到设定的最大译码次数,再继续下一次重排。否则,译码失败。
430、根据LLR序列的第j个重排序列,确定信息比特序列的第二估计序列。
这里,第二估计序列是指对LLR序列进行第j次重排,得到LLR序列的第j个重排序列,再根据第j个重排序列确定的信息比特序列的估计序列(或者说,估计值)。
另外,第二估计序列是为了和上文中的第一估计序列相区别而编号,并无其它特别的含义。
还需要说明的是,译码端对LLR序列进行j次重排,每一次重排都会得到LLR序列的一个重排序列。进一步地,根据每一次的重排序列,都可以计算得到信息比特序列的一个估计值。如果译码端通过前(j-1)重排,计算得到的信息比特序列的估计值未通过CRC,则会对LLR序列进行第j次重排,得到第j个重排序列,并根据第j个重排序列,得到信息比特序列的又一个估计值。在本文中,将根据第j个重排序列计算确定的信息比特序列的估计值称为第二估计序列。
关于步骤420-430中提及的对LLR序列进行重排,以及根据重排序列确定信息比特序列的估计值的过程,下文会做详细介绍。
440、在第二估计序列通过CRC的情况下,输出第二估计序列作为译码结果。
如果上文所述,根据第j个重排序列,计算得到信息比特序列的第二估计序列。如果第二估计序列通过CRC,则译码端判定第二估计序列为最佳的译码路径,将第二估计序列作为译码结果输出。
可以理解的是,在另一种情况下,如果第二估计序列未通过CRC,则第j次重排如上文描述的前(j-1)重排中的任意一次重排一样,译码端对LLR序列进行第j+1次重排,如此循环,不再赘述。
如果在第m次重排之后,根据得到的第m个重排序列确定的信息比特序列的估计值未通过CRC,且当前的译码次数已经达到了设定的最大译码次数,译码端判定译码失败。而在第m个重排序列确定的信息比特序列的估计值未通过CRC,且当前的译码次数小于设定的最大译码次数,此时才进行第m+1次重排。
根据以上说明可以知道,本申请的极化码的译码方法,首先对LLR序列进行SCL译码,得到信息比特序列的一个估计值,若这个估计值不能通过CRC,译码端则对LLR序列进行重排,得到LLR序列的重排序列。根据重排序列,译码端重新确定信息比特序列的估计值。如果根据重排序列确定的信息比特序列的估计值可以通过CRC,则译码端输出所述估计值作为译码结果。如果根据重排序列确定的信息比特序列的估计值不能通过CRC,译码端对LLR序列进行又一次重排,并重新确定信息比特序列的估计值,如此循环,直至根据某一次的重排序列确定的信息比特序列的估计值通过CRC,则译码成功。
下面结合图5,给出本申请提出的译码方法的详细流程的一个示例。
如图5所示,图5示出了本申请提供的极化码的译码方法的流程图。其中,图5所示的流程可以由译码端执行。
510、初始化。
初始化主要包括信道模型的初始化。例如,极化码的码长N、极化码的生成矩阵G、信息比特序列的长度K,以及信息比特序列(记作u)中信息位的选择策略。其中,N=2n。
应理解,信息比特序列u包括信息位和冻结位。
此外,步骤510还可以包括信道类型(channel model)的选择,调制方式的选择等。
例如,信道类型可以为加性高斯白噪声(additive white Gaussian noise,AWGN),调制方式可以为二进制相移键控(binary phase shift keying,BPSK)。
可选地,作为一个示例,对于AWGN信道,BPSK调制,发送比特序列可以为x=1-2c,LLR序列可以为y=x+n。其中,n表示AWGN的噪声序列。
520、确定极化码的一组重排矩阵Q。
重排矩阵用于对LLR序列进行重排,获得重排序列。
可以理解的是,重排方式不同,对应的重排矩阵Q也不同,因此,LLR序列的重排矩阵为多个。或者说,译码端需要确定极化码的一组重排矩阵Q,每个重排矩阵Q对应一种具体的重排方式。
其中,重排矩阵的个数等于译码器预设的最大重排尝试次数,可以由译码器的预设能力确定。
译码端每对LLR序列进行一次重排,需要选择和之前不同的重排矩阵。换句话说,译码端对LLR序列进行第j次重排,选择和前(j-1)次重排不同的重排矩阵,从而第j次重排得到的第j个重排序列,和前(j-1)次重排得到的j-1个重排序列互不相同。
例如,上述一组重排矩阵可以分别表示为Q1,Q2,…,Qj,…,QM。采用Q1对LLR序列进行第1次重排,得到第1个重排序列。采用Q2对LLR序列进行第2次重排,得到第2个重排序列。以此类推,采用Qj对LLR序列进行第j次重排,得到第j个重排序列。
在一种实现方式中,译码端可以离线计算极化码的重排矩阵,并预先存储。
在另一种实现方式中,译码端也可以通过在线计算的方式,计算极化码的重排矩阵。
无论采用离线或者在线计算的方式,重排矩阵的计算方法可以是相同的,下面做详细说明。
假设极化码的码字c中第i个比特的重排函数可以表示为:
i'=p(i) (1)
那么,根据重排函数得到重排后的码字c'满足如下公式(2):
c'=(cp(0),cp(1),...,cp(N-1)) (2)
下面给出如何得到重排函数i'=p(i):
假设将i的二进制向量表示为下式(3):
bi=(bi,0,bi,1,...,bi,n-1)T (3)
i'的二进制向量记作bi',根据极化码的重排特性,可以得到:
bi'=1-(P(1-bi)+a) (4)
其中,P为随机的可逆方阵,a为一个常向量。P的大小等于极化码的码长N。
由此,根据公式(4),可以将极化码的重排过程表示为i'=p(i)。
进一步地,根据极化码的重排过程i'=p(i),可以得到极化码的重排矩阵Q,如下公式(5):
c'=c·Q (5)
530、根据极化码重排译码算法进行译码。
如上文所述,在本申请的技术方案中,译码端对LLR序列进行列表大小为L的SCL译码,得到的信息比特序列的估计值如果不能通过CRC,则需要通过对LLR序列进行重排,重新确定信息比特序列的估计值。因此,下文将本申请中提供的极化码的译码算法简称为极化码重排译码算法。
下面结合步骤531-537对步骤530的重排译码的过程进行详细说明。
应理解,步骤530是对步骤531-537的概括说明,或者说,步骤531-537是极化码重排译码算法的具体实现。
531、设定当前的译码次数j=0,最大译码次数为Jmax。
534、判断j是否小于或等于Jmax。
如果j小于Jmax,则执行步骤535,否则执行步骤540。
535、根据步骤420,得到一个极化码的重排矩阵Q,并对极化码的LLR序列y进行重排,得到y'=y·Q。
应理解,y'即为上文描述的LLR序列的重排序列。
可以理解的是,根据上文描述的极化码的重排特性,对于极化码的编码公式为:
c=u·G (6)
而根据极化码的重排矩阵Q,则有c'=c·Q。
假设c'=u'G,u'则表示极化码的重排码字对应的重排后的信息比特序列。
换句话说,极化码重排之后得到的码字c'和极化码的生成矩阵G之间的映射关系可以表示为c'=u'G (7)
如果假定u'和u满足如下公式(8):
u'=uT (8)
而c'=cQ=uGQ=u'G=uTG,由此可以得到:
T=GQG=u'G=uTG (9)
以上对本申请提供的极化码的译码方法进行了详细说明。
下面举一个例子帮助理解。
例如,假设极化码的码字c中各比特的索引分别为i=0,1,2,3,4,5,6,7,若p(i)=0,2,4,6,1,3,5,7。
则,码字c中各比特的位置索引的二进制向量bi'=(000,001,010,011,100,101,110,111),则码字c中各比特在一组重排后的码字中的位置索引的二进制向量bi'=(000,010,100,110,001,011,101,111)。
在一个示例中,上述一组重排矩阵中的一个重排矩阵可以表示为式(10):
矩阵T可以表示为式(11):
在将信道编码技术应用于实际中时,常常需要考虑很多实际的因素,例如,效率、性能和时延等。由信道编码理论可知,随着码长N的增加,译码错误概率以指数方式趋近于零。因此,为提高纠错码的有效性,就必须使用长码。但码长增加,码率会相应下降,译码器的复杂性与计算量也相应增加。级联码正是为了解决这个矛盾而提出,它将编码过程分为几级完成,可以满足信道纠错对编码长度的要求,获得和长码接近甚至相同的纠错能力和高编码增益。而且,随之增加的编译码复杂度并不是很大。换句话说,如果一个***包括多次(至少两次)编码,这多次编码就认为是级联编码。
级联编码包括外码编码和内码编码。其中,外码编码的输入是待编码的信息比特序列,外码的输出作为内码的输入。内码编码的输出即是完成级联编码后的码字。例如,在CRC-polar级联编码中,级联编码的外码采用CRC编码,内码编码采用polar编码。图6示出了CA-SCL编译码的基本流程。
参见图6,图6为CRC-polar级联编译码的***结构的示意图。如图6所示,对CRC和polar进行级联编码时,假设polar码的码长为N,CRC校验码的码长为m,若极化码的信息位的长度为K,编码信息比特的长度为k,则有K=k+m。CA-SCL译码算法首先采用SCL译码算法译码获得L条候选路径,然后借助“正确信息比特可以通过CRC”的先验信息,对这L条候选路径进行挑选,从而输出最佳译码路径。
应理解,CA-SCL译码算法是对SCL算法的增强,SCL的内核不变,只是在Polar编码之前给信息比特添加CRC,在SCL译码获得候选路径之后,进行CRC校验辅助路径选择,能够以较低的复杂度提升Polar译码性能。
在图6所示的CA-SCL译码中,可以采用本申请提供的重排译码算法。
参见图7,图7为CA-SCL译码算法和本申请的极化码重排译码算法的BLER的仿真图。在图7中,假定极化码的码长N=32,信息位长度K=16,CRC比特序列的长度为8。其中,极化码的构造方式为极化度量(polar weight,PW)构造,仿真信道为AWGN信道。极化码重排译码次数为50次。
从图7可以看出,在列表大小L相同的条件下(如图7中所示的L=1,2,4),本申请的极化码重排译码算法的块差错率(block error ratio,BLER),都要低于CA-SCL译码算法的BLER。其中,本申请的极化码重排译码算法在图7中的图例为CA-SCL permutation。
参见图8,图8为本申请的极化码重排译码算法和CA-SCL译码算法在相同的译码次数下BLER的对比图。从图7可以发现,当平均译码次数相同时,极化码的重排译码算法的BLER,都要低于CA-SCL译码算法的BLER。
根据仿真数据来看,相比于传统CA-SCL译码,当列表大小L相同时,极化码重排译码算法可以获得性能增益。此外,在复杂度上,随着信噪比增加,本申请的极化码重排译码算法需要的平均译码次数逐渐减少,并趋向于1。
由此可见,本申请提供的极化码重排译码算法可以提高polar码的译码性能。
以上对本申请提供的极化码重排译码算法进行了详细说明,下面说明本申请提供的译码装置。
参见图9,图9为本申请提供的译码装置900的示意图。如图9所示,译码装置900包括处理单元910和通信单元920。
处理单元910,用于对LLR序列进行SCL译码,得到信息比特序列的第一估计序列;
所述处理单元910,还用于在所述第一估计序列未通过CRC的情况下,对所述LLR序列进行j次重排,得到所述LLR序列的第j个重排序列;以及,根据所述第j个重排序列,确定所述信息比特序列的第二估计序列;
通信单元920,用于在处理单元910确定所述第二估计序列通过CRC的情况下,输出所述第二估计序列作为译码结果。
可选地,在一个实施例中,处理单元910具体用于:
(1)对所述LLR序列进行第m次重排,得到所述LLR序列的第m个重排序列;
(2)根据所述第m个重排序列,确定所述信息比特序列的第n个估计序列;
(3)判断所述第n个估计序列是否通过CRC;
(4)若所述第n个估计序列未通过所述CRC,令m=m+1,n=n+1,并返回至(1),其中,1≤m≤j-1,n≥1,j>1,m和n均为整数。
可选地,在一个实施例中,处理单元910具体用于:
获取所述LLR序列的一组重排矩阵,所述一组重排矩阵中的每个重排矩阵用于唯一确定所述LLR序列的一个重排序列;以及,所述对LLR序列进行j次重排,包括:对所述LLR序列的第m次重排和第q次重排,分别采用所述一组重排矩阵中的不同重排矩阵,并得到不同的重排序列,其中,所述第m次重排和所述第q次重排是指对所述LLR序列的任意两次重排,q≤j,q为整数。
可选地,在一个实施例中,处理单元910具体用于:
根据所述第j个重排序列,确定中间序列;
根据所述中间序列、极化码的生成矩阵以及所述一组重排矩阵中的第一重排矩阵,得到所述第二估计序列,其中,所述第一重排矩阵和前(j-1)次重排的任意一次重排使用的重排矩阵不同。
可选地,在一个实施例中,处理单元910具体用于:
根据如下公式,计算得到所述第二估计序列:
可选地,处理单元910具体用于:
将极化码的码字中的第i个比特表示为二进制向量bi,i≤N,N为极化码的码长;
根据极化码的重排特性,确定所述第i个比特分别在一组重排后的码字中的位置索引i'的二进制向量bi',其中,所述极化码的重排特性是指对极化码的码字的比特位置进行特定的重新排列,重新排列后得到的码字仍然为所述极化码的码字;
根据所述bi和所述一组bi',得到所述一组重排矩阵。
可选地,在一个实施例中,所述bi和所述一组bi'中的每个bi'满足如下公式:
bi'=1-(P·(1-bi)+a)
其中,P为随机的可逆方阵,a为常向量。
可选地,在一个实施例中,处理单元910具体用于:
根据所述bi和所述一组bi'中的每个bi',获得每个bi'对应的重排函数i'=p(i);
根据所述一组bi'各自对应的重排函数i'=p(i),得到所述一组重排矩阵。
在一个可能的设计中,译码装置900的上述功能可以通过硬件实现,或者通过硬件执行相应的软件实现。
作为一个实施例,译码装置900可以包括一个或多个处理器,所述一个或多个处理器用于执行存储器中存储的计算机程序,以使译码装置900执行本申请提供的任意一个方法实施例。
可选地,所述用于存储计算机程序的存储器位于译码装置900之外,所述一个或多个处理器通过电路和/或电线与所述存储器连接。所述存储器可以为一个或多个。
可选地,译码装置900还包括一个或多个存储器。
进一步可选地,译码装置900还包括一个或多个通信接口。
作为一些示例,所述一个通信或多个通信接口可以为输入输出接口,或者输出输出电路,本申请对此不作限定。
作为另一个实施例中,译码装置900还可以通过硬件实现。
参见图10,图10为本申请提供的译码装置900的一个示意性结构图。如图10所示,译码装置900包括输入接口电路901、逻辑电路902和输出接口电路903。
其中,输入接口电路901,用于获取LLR序列;逻辑电路902,用于采用本申请提供的极化码重排译码算法,对所述LLR序列进行译码;输出接口电路903,用于输出译码结果。
可选的,译码装置900可以是芯片或者集成电路。例如,所述芯片可以为片上***(system on chip,SOC),也可以是基带芯片等。
可选地,译码装置900也可以为译码端中用于实现信道解码的器件或模块。例如,信道解码器或信道解码电路等。
图11为本申请实施例的译码器1000的示意性结构图。如图11所示,译码器1000包括:一个或多个处理器1100,一个或多个存储器1200以及一个或多个通信接口1300。通信接口1300用于获取LLR序列,存储器1200用于存储计算机程序,处理器1100用于从存储器1200中调用并运行所述计算机程序,使得译码器1000采用本申请提供的极化码重排译码方法,完成对LLR序列的译码。
进一步地,通信接口1300还用于输出译码结果。
另外,图9中所示的译码装置900可以通过图11中所示的译码器1000实现。
例如,通信单元930可以由图11中的通信接口1300实现,处理单元910可以由处理器1100实现等。
可选地,装置实施例中的存储器和处理器可以集成在一起,也可以物理上相互单独的单元。
此外,本申请还提供一种译码装置,包括处理器和接口电路,所述接口电路用于接收计算机代码或指令,并传输至所述处理器,所述处理器用于运行所述计算机代码或指令,以执行本申请提供的极化码的重排译码方法。
此外,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得本申请的极化码重排译码方法被实现。
本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使本申请的极化码重排译码方法被实现。
本申请还提供一种芯片,包括一个或多个存储器以及一个或多个处理器。所述一个或多个存储器用于存储计算机程序,所述一个或多个处理器用于从所述一个或多个存储器中调用并运行所述计算机程序,使得安装有所述芯片的设备执行使本申请的极化码重排译码方法。
本申请还提供一种通信设备,包括上述译码器1000。
本文中的译码端,也即信号和/或数据的接收端。相应地,发送信号和/或数据的一方为发送端。可选地,译码端可以为通信***中的网络设备(例如,5G的gNB),也可以为终端设备,本申请的方案不作限定。
以上实施例中,处理器可以为中央处理器(central processing unit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、微处理器或一个或多个用于控制本申请方案程序执行的集成电路等。例如,处理器可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。处理器可以根据这些设备各自的功能在这些设备之间分配移动设备的控制和信号处理的功能。此外,处理器可以包括操作一个或多个软件程序的功能,软件程序可以存储在存储器中。处理器的所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
在本说明书中使用的术语“部件”、“模块”、“***”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,部件可以是在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中。部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可从上面存储有各种数据结构的各种计算机可读介质执行。部件可根据具有一个或多个数据分组(例如,来自与本地***、分布式***和/或网络间的另一部件交互的二个部件的数据,例如,通过信号与其它***交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现,具体取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例也仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种极化码的译码方法,其特征在于,包括:
对极化码的对数似然比LLR序列进行串行抵消列表SCL译码,得到信息比特序列的第一估计序列;
若所述第一估计序列未通过循环冗余校验CRC,对所述LLR序列进行j次重排,得到所述LLR序列的第j个重排序列;
根据所述第j个重排序列,确定所述信息比特序列的第二估计序列;
在所述第二估计序列通过所述CRC的情况下,输出所述第二估计序列作为译码结果,其中,j≥1且j为整数。
2.根据权利要求1所述的方法,其特征在于,所述对所述LLR序列进行j次重排,包括:
(1)对所述LLR序列进行第m次重排,得到所述LLR序列的第m个重排序列;
(2)根据所述第m个重排序列,确定所述信息比特序列的第n个估计序列;
(3)判断所述第n个估计序列是否通过CRC;
(4)若所述第n个估计序列未通过所述CRC,令m=m+1,n=n+1,并返回至(1),其中,1≤m≤j-1,n≥1,j>1,m和n均为整数。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述LLR序列进行j次重排之前,所述方法还包括:
获取所述LLR序列的一组重排矩阵,所述一组重排矩阵中的每个重排矩阵用于唯一确定所述LLR序列的一个重排序列;
以及,所述对LLR序列进行j次重排,包括:
对所述LLR序列的第m次重排和第q次重排,分别采用所述一组重排矩阵中的不同重排矩阵,并得到不同的重排序列,其中,所述第m次重排和所述第q次重排是指对所述LLR序列的任意两次重排,q≤j,q为整数。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述第j个重排序列,确定所述信息比特序列的第二估计序列,包括:
根据所述第j个重排序列,确定中间序列;
根据所述中间序列、极化码的生成矩阵以及所述一组重排矩阵中的第一重排矩阵,得到所述第二估计序列,其中,所述第一重排矩阵和前(j-1)次重排的任意一次重排使用的重排矩阵不同。
6.根据权利要求3-5中任一项所述的方法,其特征在于,获取所述LLR序列的一组重排矩阵,包括:
将极化码的码字中的第i个比特表示为二进制向量bi,i≤N,N为极化码的码长;
根据极化码的重排特性,确定所述第i个比特分别在一组重排后的码字中的位置索引i'的二进制向量bi',其中,所述极化码的重排特性是指对极化码的码字的比特位置进行特定的重新排列,重新排列后得到的码字仍然为所述极化码的码字;
根据所述bi和所述一组bi',得到所述一组重排矩阵。
7.根据权利要求6所述的方法,其特征在于,所述bi和所述一组bi'中的每个bi'满足如下公式:
bi'=1-(P·(1-bi)+a)
其中,P为随机的可逆方阵,a为常向量。
8.根据权利要求7所述的方法,其特征在于,所述根据所述bi和所述一组bi',得到所述一组重排矩阵,包括:
根据所述bi和所述一组bi'中的每个bi',获得每个bi'对应的重排函数i'=p(i);
根据所述一组bi'各自对应的重排函数i'=p(i),得到所述一组重排矩阵。
9.一种译码装置,其特征在于,包括:
处理单元,用于:
对极化码的LLR序列进行串行抵消列表SCL译码,得到信息比特序列的第一估计序列;
若所述第一估计序列未通过循环冗余校验CRC,对所述LLR序列进行j次重排,得到所述LLR序列的第j个重排序列;
根据所述第j个重排序列,确定所述信息比特序列的第二估计序列,并判断所述第二估计序列是否通过CRC;以及,
通信单元,用于在所述处理单元确定所述第二估计序列通过CRC的情况下,输出所述第二估计序列作为译码结果,其中,j≥1且j为整数。
10.根据权利要求9所述的译码装置,其特征在于,所述处理单元用于:
(1)对所述LLR序列进行第m次重排,得到所述LLR序列的第m个重排序列;
(2)根据所述第m个重排序列,确定所述信息比特序列的第n个估计序列;
(3)判断所述第n个估计序列是否通过CRC;
(4)若所述第n个估计序列未通过所述CRC,令m=m+1,n=n+1,并返回至(1),其中,1≤m≤j-1,n≥1,j>1,m和n均为整数。
11.根据权利要求9或10所述的译码装置,其特征在于,所述处理单元用于:
获取所述LLR序列的一组重排矩阵,所述一组重排矩阵中的每个重排矩阵用于唯一确定所述LLR序列的一个重排序列;
以及,所述处理单元还用于:
对所述LLR序列的第m次重排和第q次重排,分别采用所述一组重排矩阵中的不同重排矩阵,并得到不同的重排序列,其中,所述第m次重排和所述第q次重排是指对所述LLR序列的任意两次重排,q≤j,q为整数。
12.根据权利要求9-11中任一项所述的译码装置,其特征在于,所述处理单元用于:
根据所述第j个重排序列,确定中间序列;
根据所述中间序列、极化码的生成矩阵以及所述一组重排矩阵中的第一重排矩阵,得到所述第二估计序列,其中,所述第一重排矩阵和前(j-1)次重排的任意一次重排使用的重排矩阵不同。
14.根据权利要求11-13中任一项所述的译码装置,其特征在于,所述处理单元具体用于:
将极化码的码字中的第i个比特表示为二进制向量bi,i≤N,N为极化码的码长;
根据极化码的重排特性,确定所述第i个比特分别在一组重排后的码字中的位置索引i'的二进制向量bi',其中,所述极化码的重排特性是指对极化码的码字的比特位置进行特定的重新排列,重新排列后得到的码字仍然为所述极化码的码字;
根据所述bi和所述一组bi',得到所述一组重排矩阵。
15.根据权利要求14所述的译码装置,其特征在于,所述bi和所述一组bi'中的每个bi'满足如下公式:
bi'=1-(P·(1-bi)+a)
其中,P为随机的可逆方阵,a为常向量。
16.根据权利要求15所述的译码装置,其特征在于,所述处理单元用于:
根据所述bi和所述一组bi'中的每个bi',获得每个bi'对应的重排函数i'=p(i);
根据所述一组bi'各自对应的重排函数i'=p(i),得到所述一组重排矩阵。
17.一种译码装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述译码装置执行如权利要求1-8中任一项所述的方法。
18.一种译码装置,其特征在于,包括处理器和接口电路,所述接口电路用于接收计算机代码或指令,并传输至所述处理器,所述处理器用于运行所述计算机代码或指令,以执行如权利要求1-8中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,如权利要求1-8中任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295454.5A CN113067585A (zh) | 2019-12-16 | 2019-12-16 | 极化码的译码方法和译码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911295454.5A CN113067585A (zh) | 2019-12-16 | 2019-12-16 | 极化码的译码方法和译码装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113067585A true CN113067585A (zh) | 2021-07-02 |
Family
ID=76557853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911295454.5A Pending CN113067585A (zh) | 2019-12-16 | 2019-12-16 | 极化码的译码方法和译码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113067585A (zh) |
-
2019
- 2019-12-16 CN CN201911295454.5A patent/CN113067585A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6817452B2 (ja) | レートマッチング方法、符号化装置、および通信装置 | |
CN106817195B (zh) | 用于极化码的速率匹配的方法和装置 | |
CN108702290B (zh) | 级联极化编码和滑动窗口极化编码 | |
US10361728B2 (en) | Multiple-symbol combination based decoding for general polar codes | |
JP6468526B2 (ja) | Polar符号レートマッチング方法および装置、ならびに無線通信デバイス | |
CN109660264B (zh) | 高性能极化码译码算法 | |
US11432186B2 (en) | Method and device for transmitting data with rate matching | |
RU2715523C1 (ru) | Устройство и способ полярного кодирования и декодирования полярного кода | |
CN108574561B (zh) | 极化码编码的方法和装置 | |
US10560218B2 (en) | Apparatus and methods for decoding assistant bit-based polar code construction | |
CN109478953A (zh) | 用极化码进行盲检测的方法及*** | |
WO2013152605A1 (zh) | 极性码的译码方法和译码装置 | |
CN109565287A (zh) | 降级极化解码 | |
US10666392B2 (en) | Apparatus and methods for rate matching in polar coding | |
US10812107B2 (en) | Apparatus and methods for polar code construction and bit position allocation | |
WO2020048537A1 (zh) | 级联编码的方法和装置 | |
CN115085739A (zh) | 一种编译码方法及装置 | |
CN110391874B (zh) | 极化码的速率匹配、解速率匹配方法及设备 | |
KR20200036338A (ko) | 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법 | |
WO2020088256A1 (zh) | 译码方法及装置 | |
CN113067585A (zh) | 极化码的译码方法和译码装置 | |
WO2021073338A1 (zh) | 译码方法和译码器 | |
KR102338852B1 (ko) | 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법 | |
CN113472360A (zh) | 极化码的译码方法和译码装置 | |
CN113708778A (zh) | Ldpc的速率匹配的方法和通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |