CN108540141A - Polar码编译码方法及装置 - Google Patents
Polar码编译码方法及装置 Download PDFInfo
- Publication number
- CN108540141A CN108540141A CN201710121488.7A CN201710121488A CN108540141A CN 108540141 A CN108540141 A CN 108540141A CN 201710121488 A CN201710121488 A CN 201710121488A CN 108540141 A CN108540141 A CN 108540141A
- Authority
- CN
- China
- Prior art keywords
- bit
- lpc
- crc
- lcrc
- information
- 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.)
- Granted
Links
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/27—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 using interleaving techniques
- H03M13/2792—Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
-
- 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
-
- 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
-
- 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/27—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 using interleaving techniques
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例提供一种Polar编码方法,包括:对信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N‑B个极化信道对应的位置,N为Polar码母码长度。该编码方法能够进一步提高CA‑Polar码的性能。
Description
技术领域
本发明实施例涉及无线通信领域,更具体地,涉及Polar码编译码方法及装置。
背景技术
通信系统通常采用信道编码提高数据传输的可靠性,以保证通信的质量。土耳其教授Arikan提出的极化码(英文:Polar codes)是第一个理论上证明可以达到香农容量且具有低编译码复杂度的好码。Polar码是一种线性块码,其编码矩阵为GN,编码过程为其中是一个二进制的行矢量,长度为N(即母码长度);GN是一个N×N的矩阵,且 定义为log2N个矩阵F2的克罗内克(Kronecker)乘积。
上述矩阵
传统Polar码的编码过程中,中的一部分比特用来携带信息,称为信息比特,这些比特的索引的集合记作另外的一部分比特设置为收发端预先约定的固定值,称之为固定比特或冻结比特(frozen bits),其索引的集合用的补集表示。Polar码的编码过程相当于:这里,GN.(A)是GN.中由集合A中的索引对应的那些行得到的子矩阵,GN(AC)是GN中由集合AC中的索引对应的那些行得到的子矩阵。为中的信息比特集合,信息比特个数为K;为中的冻结比特集合,冻结比特个数为(N-K),是已知比特。这些冻结比特的值通常被设置为0,但是只要收发端预先约定,固定比特可以被任意设置。固定比特设置为0时,Polar码的编码输出可简化为:是一个K×N的矩阵。
Polar码的构造过程即集合的选取过程,决定了Polar码的性能。Polar码的构造过程通常是,根据母码码长N确定共存在N个极化信道,分别对应编码矩阵的N个行,计算极化信道可靠度,将可靠度较高的前K个极化信道的索引作为集合A的元素,剩余(N-K)个极化信道对应的索引作为固定比特的索引集合的元素。集合A决定了信息比特的位置,集合决定了固定比特的位置。
在译码端,Polar码可以采用串行抵消(英文:Successive Cancellation,简称SC)译码算法,从第1个比特开始顺序译码。串行抵消列表(英文Successive CancellationList,简称SCL)译码算法是对SC译码算法的改进,在译码过程中保留多个候选译码结果。SCL把译码过程看成一个路径搜索过程,即以第1个比特作为根结点进行路径扩展,采用一个度量值对该路径进行评估,该度量值随着路径的扩展按照预定的规则动态更新。每一次扩展(译码下一个比特)时,保留当前层中具有最优路径度量的L条候选路径,直到扩展到最后一层(译码最后一个比特)。最终输出L条候选路径中度量值最优的路径作为译码输出。SCL译码算法可以获得最大似然译码性能。
为了提高Polar码的性能,现有技术对Polar码进行改进,提出了CA-Polar码。CA-Polar码是级联CRC(英文:Cyclic Redundancy Check,循环冗余校验)的Polar码,简称CA-Polar码。通过对信息块进行CRC编码,再将CRC编码后的比特映射到信息比特中。相应的,译码的时候采用CA-SCL(CRC-Aided Successive Cancellation List)译码算法进行译码,即在SCL译码输出的L条候选路径中选择CRC通过的候选路径作为译码输出。如果在CA-SCL译码的中间节点,正确路径因为度量值较差而被删除,则后续的CRC校验无法提升SCL译码的性能。
发明内容
本申请实施例提供Polar码编码方法及编码装置、译码方法及译码装置,能够进一步提高CA-Polar码的性能。
第一方面,提供一种Polar编码方法,包括:
对信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;
对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;
将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
第二方面,提供一种编码装置,包括:
CRC编码单元,用于对信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;
交织单元,对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;
Polar编码单元,用于将所述交织单元交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中,所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
第三方面,提供一种编码装置,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于对信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
第四方面,提供一种编码装置,包括:
至少一个输入端,用于接收信息块;
信号处理器,用于对所述信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度;
至少一个输出端,用于输出信号处理器得到的Polar编码码字。
第五方面,提供一种Polar译码方法,包括:
获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;
采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;
对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;
对所述T个候选路径进行CRC校验,将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
第六方面,提供一种译码装置,包括:
获取单元,用于获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;
译码单元,采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;
交织单元,对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;
CRC校验单元,用于对所述T个候选路径进行CRC校验,将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
第七方面,提供一种译码装置,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;对所述T个候选路径进行CRC校验,将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
第八方面、提供一种译码装置,包括:
至少一个输入端,用于接收待译码比特信息;
信号处理器,用于获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;对所述T个候选路径进行CRC校验;
至少一个输出端,用于将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
结合以上所有方面,在第一种可能的实现方式中,所述对CRC编码后的编码块进行交织包括:采用交织序列π=[π1,π2,...,πn]对CRC编码后的编码块进行交织,将CRC编码后的比特序列[b1,b2,...,bn]变换为bπ1,bπ2,...,bπn;其中n为大于0小于等于B的整数,πn的值表示交织后的编码块中的第n个比特在交织之前的编码块中的比特位置序号。
结合以上所有方面以及第一种可能的实现方式,在第二种可能的实现方式中,Lpc、Lcrc、T以及通信系统规定的虚警概率上限FAR满足以下关系:
Lpc≤Lcrc-log2T+log2FAR。
结合以上所有方面以及所有可能的实现方式,在第三种可能的实现方式中,所述Lcrc为27,Lpc为8;或者Lcrc为24,Lpc为6;或者,Lcrc为22,23,14或15,Lpc为4;或者。
结合第五至第八方面的任意方面,在第四种可能的实现方式中,所述度量值为路径值PM。
结合第五至第八方面的任意方面或第四种可能的实现方式,在第五种可能的实现方式中,若T条候选路径的CRC校验均未通过,T条候选路径中度量值最优的路径的信息块作为译码输出或者确定为译码失败。
结合第一至第四方面,在第六种可能的实现方式中,所述CRC编码为:一次CRC编码。只需要按照Lcrc的长度进行一次CRC编码,得到CRC编码后的编码块。
结合以上所有方面以及所有可能的实现方式,在第六种可能的实现方式中,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
结合以上所有方面以及所有可能的实现方式,在第七种可能的实现方式中,Lpc=1,Lcrc=11;或者Lpc=2,Lcrc=12;或者Lpc=4,Lcrc=14;或者Lpc=6,Lcrc=16;或者Lpc=8,Lcrc=18。
结合以上所有方面以及所有可能的实现方式,在第八种可能的实现方式中,Lpc=1,Lcrc=19;或Lpc=2,Lcrc=20;或Lpc=4,Lcrc=22;或Lpc=6,Lcrc=24;或Lpc=8,Lcrc=26。
本申请的第九方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面或各种可能的实现方式所述的编码方法或译码方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面或各种可能的实现方式所述的编码方法或译码方法。
本申请的又一方面提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述各方面或各种可能的实现方式所述的编码方法或译码方法。
本申请实施例在CRC编码后,对CRC编码后的编码块进行交织,使得交织后的编码块中的部分CRC比特分布于信息块的比特之间,且该部分CRC比特中的每个CRC比特位于其所校验的所有比特之后,也就是说该部分CRC比特仅校验位于其之前的信息块的比特。在译码过程中,该部分CRC比特当做奇偶校验比特译码,如果前面的信息比特译码有错,根据前面的信息比特计算得到的CRC比特的值与接收到的LLR不符的可能性更大,使得该路径的度量值变劣,从而在候选路径的度量值排序时更可能把该错误路径删除,提高了CA-SCL译码的性能。
附图说明
图1是无线通信发送端和接收端的基本流程示意图;
图2a是本申请实施例中当前比特的LLR大于0的情况下,路径扩展及度量值计算示意图;
图2b是本申请实施例中当前比特的LLR小于0情况下,路径扩展及度量值计算示意图;
图3是SCL译码的一种路径扩展和PM值更新的示意图;
图4是CA-Polar编码的过程示意图;
图5是CA-Polar构造的示意图;
图6是本申请实施例提供的编码过程示意图;
图7是本申请实施提供的一种编码装置的结构示意图;
图8是本申请实施提供的一种编码方法的流程示意图;
图9是本申请实施例的各个特殊CRC比特与其之前信息比特的校验关系示意图;
图10是本申请实施例提供的一种CA-Polar构造的示意图;
图11是本申请实施例提供的另一种编码方法的流程图;
图12是本申请实施提供的又一种编码装置的结构示意图;
图13是本申请实施提供的又一种编码装置的结构示意图;
图14是本申请实施提供的一种译码装置的结构示意图;
图15是本申请实施提供的一种译码方法的流程示意图;
图16是本申请实施例提供的SCL译码的一种路径扩展和路径值更新的示意图;
图17(a)是List=8,K=32时,本申请的方案与传统的CA-Polar在AWGN信道下的性能对比;
图17(b)是K=48时本申请的方案与传统的CA-Polar在AWGN信道下的性能对比;图18是本申请实施提供的又一种译码装置的结构示意图;
图19是本申请实施提供的又一种译码装置的结构示意图;
具体实施方式
本申请实施例的技术方案可以应用5G通信系统或未来的通信系统,也可以用于其他各种无线通信系统,例如:全球移动通讯(GSM,Global System of Mobilecommunication)系统、码分多址(CDMA,Code Division Multiple Access)系统、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)系统、通用分组无线业务(GPRS,General Packet Radio Service)、长期演进(LTE,Long Term Evolution)系统、LTE频分双工(FDD,Frequency Division Duplex)系统、LTE时分双工(TDD,Time Division Duplex)、通用移动通信系统(UMTS,Universal Mobile Telecommunication System)等。
图1是无线通信的基本流程,在发送端,信源依次经过信源编码、信道编码、数字调制后发出。在接收端,依次经过数字解调、信道译码、信源解码输出信宿。信道编解码可以采用Polar码,而在信道解码的时候,可以采用SC译码以及SCL译码。SCL译码算法是对SC译码算法的改进,在译码过程中保留多个候选路径,最后根据每个候选路径的度量值选择一个路径作为译码结果。
第l条路径的度量值PMl(i),即路径值(英文:path metric,简称PM)在译码到第i个比特时的度量值的如公式(1)所示(设定LLR>0对应的值为0,LLR<0对应的值为1):
其中,LLR(i)是当前比特的对数似然比(英文:Log-likelihood Ratio,简称LLR)。LLR对应的值可以是0也可以是1,例如,当LLR<0时对应的值为1,当LLR>0时对应的值为0。当然,在实际应用时也可以采用其它的方式,例如将LLR<0对应的值设置为0,将LLR>0对应的值设置为1。LLR=0时,可以认为其对应的值是0也可以认为其对应的值是1,在实际应用时可以根据需要进行设置。如果当前比特的LLR对应的值与判决结果一致,PM不变;如果当前比特的LLR对应的值(0或1)与判决结果不一致,PM增加惩罚值|LLR(i)|,即惩罚值为当前比特的LLR的绝对值。从PM的计算公式可以看出,PM越小,表示该路径对应的码字与接收信号越近,代表该路径的度量值越优,因此最后可以输出PM最小的路径作为译码结果。公式(1)中如果当前比特的LLR对应的值(0或1)与判决结果不一致,PM也可以改为减去惩罚值|LLR(i)|,即PMl(i)=PMl(i-1)-|LLR(i)|,相应的,选择最优度量值的路径即表示选择PM最大的路径。本申请以公式(1)为例进行描述。
在SCL译码过程,如果当前比特是信息比特,每条路径会扩展成2条路径,总共扩展出2L条路径,L是最终需要保留的候选路径个数。每个节点的判决结果分别为0和1,并根据上式计算各路径的PM,然后对扩展后的路径根据PM进行排序,保留PM最小的L条路径,删除其余L条路径,也叫做剪枝。如果当前比特是冻结比特,各条路径中的相应节点不进行扩展,直接判决为相应的已知的固定值,并根据式(1)计算各路径的PM。
为方便描述,下面都以LLR<0时对应的值为1,LLR>0时对应的值为0作为例子进行描述。如图2(a)所示,若当前译码比特的LLR(i)大于0(对应的值为0),在路径扩展过程中,若当前比特是信息比特,则需要扩展两条路径,若判决结果也为0,则判决结果与LLR对应的值一致(图2中以“√”表示),此种情况下PM(i)=PM(i-1);若判决结果为1,则判决结果与LLR对应的值不一致(图2中以“x”表示),此种情况下PM(i)=PM(i-1)+|LLR(i)|。若当前比特是冻结比特,则对路径不进行扩展,按照已知的固定值计算PM,若已知的固定值是0,LLR对应的值也为0,则该已知的固定值与LLR对应的值一致,此种情况下PM(i)=PM(i-1);若已知的固定值是1,则该已知的固定值与LLR对应的值不一致,此种情况下PM(i)=PM(i-1)+|LLR(i)|。如图2(b)所示,若当前译码比特的LLR(i)小于0(对应的值为1),在路径扩展过程中,若当前比特是信息比特,则需要扩展两条路径,若判决结果为0,则判决结果与LLR对应的值不一致,此种情况下PM(i)=PM(i-1)+|LLR(i)|;若判决结果为1,则判决结果与LLR对应的值一致,此种情况下PM(i)=PM(i-1)。若当前比特是冻结比特,不进行扩展,按照已知的固定值计算PM,若已知的固定值是0,LLR对应的值也为1,则该已知的固定值与LLR对应的值不一致,PM(i)=PM(i-1)+|LLR(i)|;若已知的固定值是1,则该已知的固定值与与LLR对应的值一致,PM(i)=PM(i-1)。
图3是SCL译码算法List=2的示例,在译码过程中保留2个候选路径。通常前面的几个比特是冻结比特,设置为固定的值,如0。因此实际上从第一个信息比特开始译码。图2中通过在每次扩展的时候,保留PM值最小的路径,最后得到如箭头所示的两条候选路径L1和L2。路径L1最终的PM值为0.0,另一条路径L2的PM值最终为0.2,因此选择PM较小的0.0那条路径L1作为译码输出,译码得到的信息比特的值为0011。对Polar码级联CRC(CyclicRedundancy Check,循环冗余校验),简称CA-Polar,并通过CRC 校验在SCL译码输出的候选路径中选择CRC通过的路径作为译码输出,CA-SCL(CRC-Aided Successive CancellationList)译码算法,能显著提高Polar码的性能。
CA-Polar码构造过程:假设信息块大小为Kinfo,CRC长度为Kcrc,Polar编码的母码码长为N,则需要从N个极化信道中选择Kinfo+Kcrc个可靠度最高的作为信息比特,其余的作为冻结比特。CA-Polar编码过程如图4所示,先对信息块进行CRC编码,然后将CRC编码后的比特映射到信息比特的位置,在冻结比特的位置放置发送端和接收端约定的固定值,然后再进行Polar编码,得到CA-Polar的编码块。SCL译码过程中,信息块和CRC比特均未知,按照正常的SCL译码过程进行译码。在SCL译码结束后,得到L个候选译码结果,译码结果中包括信息块和CRC比特。从PM最小的路径开始,对每个候选结果进行CRC校验,如果校验通过,则将该路径的信息块作为译码输出;如果CRC校验均未通过,将PM最小的路径的信息块作为译码输出,或者也可以直接指示译码失败。
如图5所示,在CA-Polar的编译码过程中,CRC比特均作为信息比特处理,在SCL译码结束时CRC比特用于辅助选择路径。但是在SCL的中间节点,正确路径可能因为PM较大被删除。
本申请实施例在CA-Polar中,通过交织将使得部分CRC比特被移动到信息块的比特中间,该部分CRC比特的值由其前面的信息块的比特的值确定,也就是说,利用该CRC比特对前面的信息比特进行奇偶校验,用于辅助CA-Polar的SCL译码,在中间节点提高删除错误路径的概率,提高CA-Polar的性能。这部分CRC比特也可以叫做奇偶校验(PC)比特或者特殊CRC比特,无论如何称呼,这些特殊CRC比特满足这样的条件:按照编码顺序(交织后的顺序),位于信息块的比特中间,仅校验其之前的信息块的比特。特殊CRC比特的校验方程通过CRC编码确定,即它们用于校验哪些比特是在CRC编码过程中确定的。交织并不会改变某个特殊CRC比特所校验的比特,只是改变了所校验的比特的位置,使得某个特殊CRC比特所校验的比特都位于该特殊CRC比特之前。这样在译码的时候,译到该特殊CRC比特的时候,该特殊CRC比特的值直接根据其之前所校验的比特确定。每次发送的信息块长度、CRC长度、CRC生成多项式等参数不同,特殊CRC比特所处的位置会改变,并不一定总是固定在某个位置。特殊CRC比特的个数也可以根据实际需要设定不同的数量。为了便于描述,以下统一称作特殊CRC比特。
如图6所示,编码过程包括:
(1)CRC编码:对信息块进行CRC编码,得到CRC编码后的编码块。
(2)交织:对CRC编码后的编码块进行交织。由于使用串行的SCL译码算法,部分CRC比特当做PC校验的话,这些CRC比特仅与之前的译码比特相关。通过交织可以确保部分分布在信息块的比特中间的CRC比特校验的信息比特在该CRC比特之前。
(3)Polar编码:将交织后的编码块映射到信息比特的位置上(极化信道可高度较高的比特位置)。剩余的极化信道对应冻结比特的位置,设置为约定的固定值,例如都是0或者都是1。对信息比特和冻结比特进行Polar编码,得到Polar编码码字。
接收端译码时,采用SCL译码算法进行译码,对信息比特进行路径扩展,根据路径值进行判决,但是对于分布在信息块中间且校验的信息比特都在其之前的特殊CRC比特,不需要进行路径扩展,该特殊CRC比特的值由其前面译码得到的信息比特确定。对冻结比特作不进行路径扩展,直接译为约定的固定值。SCL译码结束后,得到L条候选路径,对L条候选路径的部分或者全部进行解交织,得到信息块和CRC比特,对每条路径进行CRC校验,从候选路径中选择CRC校验通过的最优路径作为译码输出。译码时,CRC比特既可以用于从候选路径中挑选译码结果,也可以用于检错即判断译码结果正确与否。特殊CRC比特可以在译码的过程中当作PC比特译码辅助SCL译码,提高删除错误路径的概率。也可以在译码过程中进行检错,一旦发现所有的扩展路径均无法通过CRC比特的校验,停止后续的译码,即终止译码,并确定为译码失败
由于特殊CRC比特的值由前面译码得到的信息比特的值确定,一旦前面译码的信息比特有误,那么在译码该特殊CRC比特时,该特殊CRC比特通过信息比特计算得到的值与接收的LLR对应的值不一致性的可能增大,相应的在计算该条路径的PM值时,根据前述公式(1)的计算,PM值会加上该特殊CRC比特LLR的绝对值,从而加大了该路径的PM值,该路径在后续译码过程中被删除的可能性加大。
如图7所示的编码装置700可以执行如图7所示的编码方法,该编码装置700包括CRC编码单元701,交织单元702和Polar编码单元703。如图7所示,本申请实施例的编码方法可以包括以下过程:
801、对信息块进行循环冗余校验CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc。
CRC编码单元701对待发送的信息块进行CRC编码,得到K+Lcrc个CRC编码比特。CRC的生成多项式为[C0,C1,...,Cn-K],K为信息块长度,n=K+Lcrc,CRC编码的一种原始生成矩阵是K*n的矩阵:
通过高斯消元法,对上述生成矩阵简化为:G=[I P],I是K*K的单位矩阵,P是K*Lcrc的矩阵。矩阵G是K*n的矩阵,每一行的行号可以理解为对应信息块的一个比特的序号,每一列的列号可以理解为对应CRC编码后输出的比特序号,CRC编码后的每个比特的值为该列中值为1的所有行对应的比特值相加。因此,矩阵P每一列对应CRC比特,每一列中1所在的行号对应的比特作为该CRC比特所校验的信息块的比特。以Lcrc=4,K=12为例,根据CRC-4的生成多项式[1 0 0 1 1],计算生成矩阵G=[I P]如表1所示。这里对信息块进行一次CRC编码即可。
表1 K=12,CRC长度为4的CRC生成矩阵
序列[a1,a2,...,a12]表示信息块,[b1,b2,...b16]表示CRC编码后的编码块,其中b13,b14,b15,b16为CRC比特,从表中可以看出来,b13所在列的值为1对应的信息块的比特分别为a2,a3,a4,a5,a7,a9,a10,对应的CRC编码后的比特是b2,b3,b4,b5,b7,b9,b10,因此b13=b2+b3+b4+b5+b7+b9+b10,校验方程为:b2+b3+b4+b5+b7+b9+b1+b13=0,可以用序列[2,3,4,5,7,9,10,13]表示校验方程。同理,对于b14,b15,b16,根据表1可得校验方程分别表示为:[3,4,5,7,9,10,11,14],[4,5,6,7,9,11,12],和[1,2,3,4,6,8,9,12]。
不同的CRC长度,具有不同的CRC生成多项式;同一种CRC长度,也可以有多种不同的多项式。以下列举几种CRC长度和对应的生成多项式。
假设Lcrc长度为14,对应的CRC生成多项式包括:
[100111110011111]
[101000101010011]
[110111111011111]
[100000000101011]
[111010101110111]
[110100100101111]
[100111011010011]
[101010010011111]
[100011001000101]
[100011000111101]
[110011101010111]
[100000000000111]
[110111111111111]
[100100000000101]
[110111001010111]
[101111111110111]
[100001111010001]
[101000111011101]
[101010110011101]
[111110111011111]
[100001001011011]
[100011011100011]
[101110111111011]
假设Lcrc长度为15,对应的CRC生成多项式包括:
[1001111001000111]
[1011111111111111]
[1001111010100011]
[1011011010101111]
[1001011111110011]
[1001101001111001]
[1010100110101101]
[1000000000000011]
[1011010010001111]
[1000011000001101]
[1010111111001111]
[1110111101111111]
[1100111101001011]
[1100011000010111]
[1000000000101001]
[1011100110111101]
[1001001011101101]
[1001101011001011]
[1011011110101011]
[1101010100011011]
[1010111001110101]
[1100010110011001]
[1001000010111001]
[1110100000010101]
假设Lcrc长度为18,对应的CRC生成多项式包括:
[1000111001011110011]
[1000000000000100111]
[1000111000101111101]
[1011010000100111111]
[1000011011101010111]
[1010111110110101101]
[1011101110010010011]
[1001101010001111011]
[1010000111101110011]
[1000000000000110001]
[1001011111010100111]
[1011100111110111101]
[1001111011101111001]
[1100101100011010011]
[1110010101010100111]
[1001011111011010101]
假设Lcrc长度为19,对应的CRC生成多项式包括:
[11011111011010101111]
[10010000000100111111]
[10000001001101110101]
[11011010001001100111]
[10001011111000111001]
[11101010111001111111]
[10011110110101000101]
[10000000000000100111]
[10010111010110011001]
[11101111011000011111]
[10000000000000101001]
[10100011101011110011]
[10001001111011101011]
[10101101000010110101]
[10100001011010010011]
[11101111001110001111]
假设Lcrc长度为22,对应的CRC生成多项式包括:
[11000010001111110100111]
[11011011100100000000001]
[10100101001101010101001]
[11100100010101111010011]
[10011100101001101101011]
[11101111000011000101101]
[11111011111000101100011]
[10010111101111011111011]
[11011011100000100110001]
[11100010110000110100101]
[10000000000000000000011]
[10101011101101110100111]
[11011011110110001001111]
[10010010000111100101001]
[10000000000000010001111]
[11100101011011010100111]
[10101010010101001010101]
[10110111001110100100011]
[10100010011100111111101]
[10010001111011110001001]
[10001011101111101101111]
假设Lcrc长度为23,对应的CRC生成多项式包括:
[101010000001101111100001]
[100101101011000010110001]
[101101100111100101001001]
[110011100110001011100011]
[100011010110001101010111]
[100001010010111101100001]
[100001001001111001110111]
[101111001111011001000111]
[100000000000000000100001]
[100000000000001010101001]
[100000000000000000110111]
[100100110101101010100101]
[101001111011111011011101]
[100101101111001110100011]
[110101111000000111101011]
[101111000100100000110011]
[100011010011101011111001]
[100011000111011011101111]
假设Lcrc长度为26,对应的CRC生成多项式包括:
[110011110000011001111011111]
[111010011001101110010011111]
[100111111010110111101100111]
[101001000010100010111110101]
[110110010010101010110010111]
[111011011000010100011001111]
[111110100110010001001010111]
[101001010011110111100111101]
[101110100000001111101001111]
[101101100000111011100111111]
[111010010010111110010011111]
[100000000000000000001000111]
[110000011011111110011101011]
[100111100010110100100101011]
[100000000000000000000010011]
[100011101110110110000100101]
[110001000111101001101011011]
[100101000111110110011010111]
[100001100001101100001100001]
[101100010001010100010001101]
[101011110110001001001110111]
[100100100011010011101111101]
[101011111110111101100011111]
[110010110111101111011010011]
假设Lcrc长度为27,对应的CRC生成多项式包括:
[1011110000001000110001101011]
[1000100001010010110100001101]
[1000000000000000000000100111]
[1101001100001100011000100111]
[1110100010111101000101111111]
[1000000000000000000000100011]
[1101010011000010001101111111]
[1010001101011111111100110101]
[1100101101111010101000100111]
[1011000011010010101111000111]
[1101100001111111111000011011]
[1001100101101100101100011111]
[1010010000111110110010010111]
[1000010010110001100000011111]
[1000111010011111101010001111]
802、对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后。
交织单元702对CRC编码后的编码块进行交织,交织的结果使得其中有Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,Lpc为大于0小于Lcrc的整数。交织单元702可以所述对CRC编码后的编码块进行交织包括:采用交织序列π=[π1,π2,...,πn]对CRC编码后的编码块进行交织,将CRC编码后的比特序列[b1,b2,...,bn]变换为bπ1,bπ2,...,bπn;其中n为大于0小于等于B的整数,πn的值表示交织后的编码块中的第n个比特在交织之前的编码块中的比特位置序号。如图9所示,交织后部分CRC比特分布于信息块的比特之间,且部分CRC比特中的每一个CRC比特校验其之前的信息块的比特,如图9中的箭头所示。
部分特殊CRC比特数量Lpc的设置,可以是大于0小于Lcrc中的任意整数。例如,Lcrc=27,则Lpc可以选1-26的任意数值,例如可以选8。例如Lcrc为22,23,14或15,Lpc为4。也可以规定为,如果Lcrc在某个范围之间,Lpc的值是固定的,例如Lcrc小于等于23的话,Lpc统一取为4。
如果考虑虚警概率(FAR),则Lpc的值与CRC长度Lcrc、SCL译码后通过CRC辅助译码的路径数T、对虚警概率(false alarm rate,FAR)的要求有关。虚警概率指译码结果出错,但CRC校验通过的事件出现的概率。例如,Lpc的值可以参考以下公式(2)选取:
Lpc≤Lcrc-log2T+log2FAR (2)
公式(2)中,Lpc是部分CRC长度,Lcrc是CRC总长度,其中T是预先约定的在译码时需通过CRC校验而选择译码结果的候选路径数量。若候选路径有L个,则T为大于0小于等于L的整数。
通信系统中可能规定有虚警概率上限。举例而言,假设5G NR中的下行控制信道要求的虚警概率小于等于2-16(不考虑盲检),Polar码的SCL译码后通过CRC进行辅助译码的路径数T为4,CRC长度Lcrc为24,则可用作奇偶校验的CRC比特的数量为Lpc≤(24-2-16)=6个;上行控制信道要求的虚警概率小于等于2-8,Polar码的SCL译码后通过CRC进行辅助译码的路径数T为8,CRC长度为Lcrc24,则可用作奇偶校验的CRC比特的数量为Lpc≤24-3-8=13个。
在一个实施方式中,Lcrc和Lpc可以通过Lpc=Lcrc-log2T+log2FAR计算出固定的值,也就是Lcrc-Lpc=log2T-log2FAR,例如,若FAR=2-16,T=4,则Lcrc-Lpc=18;若FAR=2-8,T=4,则Lcrc-Lpc=10;FAR=2-16,T=8,则Lcrc-Lpc=19;若FAR=2-8,T=8,则Lcrc-Lpc=11。当然,T和FAR取不同的值,(Lcrc-Lpc)的值也会不同。也可以根据(Lcrc-Lpc)的值设置不同的组合,并保存在编译码端。例如,当Lcrc-Lpc=10时,Lpc和Lcrc可以为:Lpc=1,Lcrc=11;或者Lpc=2,Lcrc=12;或者Lpc=4,Lcrc=14;或者Lpc=6,Lcrc=16;或者Lpc=8,Lcrc=18。当Lcrc-Lpc=18时,Lpc和Lcrc可以为Lpc=1,Lcrc=19;或Lpc=2,Lcrc=20;或Lpc=4,Lcrc=22;或Lpc=6,Lcrc=24;或Lpc=8,Lcrc=26。
CRC编码后的CRC比特位于通常位于编码块的最后位置,如表1所示,b13,b14,b15,b16位于b1,b2,...,b12的后面。在译码端等所有信息块和CRC比特译码结束之后,再进行CRC校验。为了使得部分CRC比特能在译码结束之前就能进行校验,可以通过交织改变信息块的比特和CRC比特的位置,使得部分CRC比特位于信息比特之间,并且所校验的信息块的比特也在该CRC比特之前。
交织可以采用交织序列π=[π1,π2,...,πn]对CRC编码后的编码块[b1,b2,...bn]进行交织,其中π中每个元素的取值是CRC编码后的编码块的序号,表示交织后的编码块C=[C1,C2,...,Cn]=[bπ1,bπ2,...,bπn]。以表1所示的例子为例,交织序列可以为:π=[2,3,4,5,7,9,10,13,8,6,11,14,12,1,15,16],表示交织后的序列C=[C1,C2,...,C12]=[b2,b3,b4,b5,b7,b9,b10,b13,b8,b6,b11,b14,b12,b1,b15,b16],其中划线的比特是CRC比特,交织前后的比特对应关系如表2所示。可以看到,CRC比特b13被交织到了C8的位置,C8之前的b2,b3,b4,b5,b7,b9,b10是b13校验的所有比特,分别对应C1,C2,C3,C4,C5,C6,C7。b14被交织到了C12的位置,b3,b4,b5,b7,b9,b10,b11是b14校验的所有比特,分别对应交织后的C2,C3,C4,C5,C6,C7,C9,C10,C11,也都位于b14之前。b15和b16的位置没有变动,但其所校验的比特位置发生了变动,b15校验的比特b4,b5,b6,b7,b9,b11,b12对应交织后的C3,C4,C10,C5,C6,C11,C13。b16校验的比特b1,b2,b3,b4,b6,b8,b9,b12对应交织后的C14,C1,C2,C3,C10,C9,C6,C13。针对交织后的编码块的序号,校验方程分别更新为:
C1+C2+C3+C4+C5+C6+C7+C8=0;
C2+C3+C4+C5+C6+C7+C9+C10+C11+C12=0;
C3+C4+C10+C5+C6+C11+C13+C15=0;
C14+C1+C2+C3+C10+C9+C6+C13+C16=0;
用序列表示的校验方程分别为:
[1,2,3,4,5,6,7,8];[2,3,4,5,6,7,9,10,11,12];[3,4,10,5,6,11,13,15];[14,1,2,3,10,9,6,13,16]。
b2 | b3 | b4 | b5 | b7 | b9 | b10 | b13 | b8 | b6 | b11 | b14 | b12 | b1 | b15 | b16 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | C16 |
表2
表2的例子中,b13是移动到了其校验的所有比特之后中尽量靠前的位置,但并不限制于此,例如b13也可以移动到靠后一些的位置,例如移动到b8之后。b14也是如此,也可以移动到b12之后。b13和b14称为特殊CRC比特,经过交织后他们分布于信息块的比特之间,并且其所校验的信息块的比特均在该特殊CRC比特之前。剩余的CRC比特b15和b16可不做特殊CRC比特,当做正常的CRC比特,用于CRC校验。由于CRC校验是在译码结束后用于挑选候选路径,那么交织过程中这两个CRC比特的位置位于最后,也可以移动到任何其他的位置。例如,可以采用交织序列π=[2,3,15,4,5,16,7,9,10,8,13,6,11,14,12,1],相比于表3所示的交织方式,b13移动到了b8之后,b15和b16也分布于信息块的比特之间。
b2 | b3 | b15 | b4 | b5 | b16 | b7 | b9 | b10 | b8 | b13 | b6 | b11 | b14 | b12 | b1 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | C16 |
表3
803、将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字。
Polar编码单元703将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,并对信息比特、冻结比特进行Arikan Polar编码,得到Polar编码的码字。编码得到的码字也可以叫做编码块、编码序列等。信息比特的位置对应Polar码的极化信道中按照可靠度高低排序后的前B个极化信道,剩余的(N-B)个极化信道对应的比特作为冻结比特,设置为约定的固定值,这里N是Polar码的母码长度。
如图10所示,本申请实施例构造的Polar码,信息块和CRC比特一起分布在最可靠的极化信道上,冻结比特分布在可靠度低于信息比特的极化信道上;经过交织后的编码块,映射到极化信道对应的信息比特位置后,CRC比特分布于信息块的比特之间。在译码的时候将部分CRC比特作为奇偶校验比特,可以提高在CA-SCL译码过程中删除错误路径的概率,另外剩余的CRC仍然可以用于CRC校验。由于特殊CRC比特的校验方程是通过CRC校验过程确定的,不需要单独设置校验方程。
步骤802中,交织序列可以是计算好后预先设置好,也可以在编码过程中实时计算。确定交织序列的方式有多种,下面举一些例子。
根据CRC的生成矩阵、CRC长度Lcrc、信息比特长度K和特俗CRC比特个数Lpc,计算交织序列π,过程可以包括如下:
(1)对CRC生成矩阵G=[I P]进行初等行交换,得到G=[I’P’]。
a)、通过行交换,使得P’的第1列的前p1行为1,之后所有元素为0;第2列的第(p1+1)到第(p1+p2)行为1,之后所有元素为0;以此类推,第n-1列的(p1+p2...+pn-1+1)的行为1,之后所有元素为0。
b)、根据I’每一行的元素1的列序号,得到初始交织序列π0。
(2)对P’插入Lpc行,得到P”。选择P’中的Lpc列对应特殊CRC比特,然后针对所有CRC比特对应的列按照以下方式逐列处理P’:
a)若第i列对应特殊CRC比特,在第i列最后一个元素1所在的行之后插入行,记录插入行号;插入的行的第i个元素为1,其余为0。
b)若第i列对应普通CRC比特,在任意行后插入一行,记录插入行号,插入的行的第i个元素为1,其余为0。
(3)读取P”。对P”中与特殊CRC比特的Lpc列,逐列读取元素1所在的行序号集合。对第i列,读取的集合为代表校验方程PCFi。
(4)根据步骤(2)中记录的插入行的行号,将序列πp=[K+1,K+2,...,K+Lcrc],依次插入初始交织序列π0,获得最终的交织序列π=[π1,π2,...,πn],并得到最终的校验方程。
注意到,步骤(1)-(2)中对矩阵P的操作过程并不唯一,只需保证其中与特殊CRC比特对应的Lpc列的每一列,最后一个元素1位于步骤(2)中插入的行。
下面以CRC-4举例,介绍交织序列的一种生成过程。
(1)根据CRC-4的生成多项式[1 0 0 1 1],对K=12,计算生成矩阵G=[IP],如表1所示。对生成矩阵G进行行交换。根据第13列中元素1所在的行号将第2,3,4,5,7,9,10行交换到第1,2,3,4,5,6,7行,根据第14列中1所在的行号将11行交换到第10行;根据第15列中1所在的行号将第12行交换到第11行,最后得到G=[I’P’],如表4所示。根据G’左侧方阵I’,逐行读取元素1所在的列序号,得到初始交织序列π0=[2,3,4,5,7,9,10,8,6,11,12,1],π0表示对信息块的初始交织。
表4
(2)对P’插入行,得到P”。插入行的元素1可与P′中该列最后一个元素1相邻,也可与P’中该列最后一个元素1间隔若干行。插入的行代表的是交织后CRC比特的位置,例如依次对矩阵P’在第8、12、14、16行插入行,插入的行号序列是[8,12,14,16],如表5所示。
(3)将CRC比特[13,14,15,16]按照[8,12,14,16]的位置插入到初始交织序列,得到最终的交织序列π=[2,3,4,5,7,9,10,13,8,6,11,14,12,15,1,16]。四个CRC比特的校验方程可依次表示为:[1,2,3,4,5,6,7,8]、[2,3,4,7,9,10,11,12]、[3,4,5,6,10,11,13,14]、[1,2,3,6,9,10,13,15,16]。
插入行的位置不做限定,可以在满足校验的信息块的比特在特殊CRC比特之前,尽量向前,对于普通CRC比特则插入位置是可以任意的。例如,还可以依次对矩阵P’在第9、13、14、16行插入行,插入的行号序列是[9,13,14,16],如表6所示。将CRC比特[13,14,15,16]按照[9,13,14,16]的位置插入到初始交织序列,得到最终的交织序列π=[2,3,4,5,7,9,10,8,13,6,11,12,14,15,1,16]。四个CRC比特的校验方程可依次表示为:[1,2,3,4,5,6,7,9]、[2,3,4,7,8,10,11,13]、[3,4,5,6,10,11,13,14]、[1,2,3,6,9,10,13,15,16]。
表5
表6
图11是本申请实施例提供的又一种编码方法的流程示意图,该方法可以由图7、图12或图13所示的编码装置执行。该方法包括:
1101:获取CRC长度Lcrc和CRC多项式,该步骤可以由图7的获取单元701、图12的处理器1202或图13的信号处理器1302执行。CRC长度Lcrc通常可以在通信系统的收发端中预先配置好。
1102:对信息块进行CRC编码。该步骤可以由图7的CRC编码单元701、图12的处理器1202或图13的信号处理器1302执行。
假设A=K,B=K+Lcrc,CRC编码的输入是序列a0,a1,a2,...,aA-1,CRC编码后生成的校验比特是p0,p1,...,pLcrc-1,CRC编码后输出序列是b1,b2,...,bB-1。CRC编码得到的序列满足公式(3)。
1103:获取交织序列π=[π1,π2,...,πB],交织序列可以是预先设置好的,也可以是根据CRC生成矩阵、信息块长度和CRC长度Lcrc计算得到。通过交织,可以使得Lpc个CRC比特位于信息块的比特之间,且其校验的信息比特位于该CRC比特之前。Lpc可以选取小于Lcrc的数量,也可以可以根据公式(2)确定的范围选择。Lpc根据预定的规则选好,可以配置在通信系统的收发端中。
1104:根据交织序列对CRC编码后输出序列是b1,b2,...,bB-1进行交织,得到交织后的序列C0,C1,..,CC-1,C=B。C0,C1,C2,...,CC-1序列的值对应bπ1,bπ2,...,bπB。
1105:设置信息比特和冻结比特的值,得到d0,d1,d2,dD-1,D=N,N为Polar编码的母码长度。该步骤可以由图7的Polar编码单元703、图12的处理器1202或图13的信号处理器1302执行。设置信息比特和冻结比特的值根据公式(4)获得。
1106:Arikan Polar编码,输出的编码序列为e0,e1,e2,...,eE-1其中E=N。Polar编码的计算过程可以由以下公式(5)表示。该步骤可以由图7的Polar编码单元703执行。
可选的,该方法还可以包括步骤1105:对编码序列进行速率匹配,输出速率匹配后的编码序列F0,F1,F2,...,FF-1,F=M,M为目标码长。若目标码长M与母码长度N不相同,则对1105得到的编码序列进行速率匹配,例如通过重复、缩短或者打孔的方法进行速率匹配。当母码长度N小于目标码长M时,可以将编码序列重复(M-N)个比特,得到目标码长M的编码序列。若母码长度N大于目标码长M,可以通过打孔或者缩短(N-M)个比特,得到目标码长M的编码序列,打孔或者缩短的的方案可以预先设置好。步骤2105可以由图7的编码装置中的速率匹配单元(图中未示出)、图11的处理器1102或图12的信号处理器1202执行。
如图12所示,本申请提供了另一种可以实施本申请的编码方法的编码装置1200。该编码装置1200包括:
存储器1201,用于存储程序;
处理器1202,用于执行所述存储器存储的所述程序,当所述程序被执行时,执行图8所示的编码方法。例如,该方法包括:对信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
有关特殊CRC比特的数量Lpc、交织序列及生成方式等内容可以参照前述的编码方法。存储器1201可以是物理上独立的单元,也可以与处理器1202集成在一起。涉及编码方法的其他内容,可以参见图8以及图8对应实施例相关部分,此处不再赘述。
图12的编码装置还可以进一步包括发送器(图中未示出),用于发送处理器1102对所述信息比特和冻结比特进行Polar编码后得到的编码块。
如图13所示,本申请提供了另一种可以实施本申请的编码方法的编码装置1300。该编码装置1300包括:
至少一个输入端(inPut)1301,用于接收信息块;
信号处理器1302,用于对信息块进行CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度;
至少一个输出端(outPut)1303,用于输出信号处理器1302得到的编码块。
有关特殊CRC比特的数量Lpc、交织序列及生成方式、等内容可以参照前述的编码方法。可选的,上述信号处理器1302可以是通过硬件实现的,例如,基带处理器,处理电路,编码器,或者编码电路。涉及编码方法的其他内容,可以参见图8以及图8对应实施例相关部分,此处不再赘述。
图12的编码装置还可以进一步包括发送器(图中未示出),用于发送输出端(outPut)1303输出的编码块。
本申请中的编码装置可以是任何具有无线通信功能的设备,例如接入点、站点、用户设备、基站等。
图14所示的译码装置1400可以用来执行本申请的译码方法。如图15所示,译码过程包括以下过程:
1501、获取待译码比特中信息比特和冻结比特的位置。
获取单元1401获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后。获取单元1401可以根据极化信道的可靠度排序获取信息比特和冻结比特的位置,所述信息比特对应的极化信道的可靠度高于所述冻结比特对应的极化信道的可靠度。具体的,获取单元1401根据极化信道的可靠度排序,从中选择K+Lcrc个最可靠的作为信息比特,剩余的极化信道作为冻结比特,K是信息块的大小,Lcrc是CRC比特的个数。
1502、采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径。
译码单元1402采用串行抵消列表SCL译码算法按顺序对所述待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码。
在SCL译码过程中,将CRC比特作为信息比特译码,是未知比特,在译码过程中需要进行路径扩展。由于在编码端,通过交织使得部分CRC比特的值是只由其前面的信息比特确定的,因此若该部分CRC比特作为奇偶校验比特,译码同冻结比特一样,作为已知比特进行译码,在译码过程中不进行路径扩展,只是该部分CRC比特译码结果用前面已经译码的信息比特和校验方程确定。冻结比特则不需要进行路径扩展,只要在译码过程中将对应的比特直接设置为约定的固定值。具体的译码过程参考图2和图3及其相应的描述。
1503、对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数。
解交织单元1403对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数。也就是说,解交织单元1403可以对全部的L个候选路径都进行解交织(T=L),也可以选择部分路径进行解交织(T<L)。在给定的Lrc,Lpc和虚警概率的上限下,T的数值可以参考公式(2)确定。
1504、对所述T个候选路径进行CRC校验。
CRC校验单元1404可以从度量值最优的候选路径开始,依次对T条候选路径进行CRC校验。CRC校验单元1404可以对所有T条候选路径都分别进行CRC校验,得出校验通过或者校验失败的结果。也可以得到第一个CRC校验通过的候选路径后,不再校验剩余的候选路径。
1505、将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
输出单元1405选择将通过CRC校验且路径度量最优的候选路径,其中的信息比特对应的信息块作为本次译码的输出。若CRC校验单元1404是从度量值最优的候选路径开始进行CRC校验,则可以直接将CRC校验通过的第一个候选路径作为译码结果,输出其中的信息块。
步骤1501还可以包括获取校验方程。校验方程的确定可以通过CRC多项式和交织序列确定。CRC多项式确定的生成矩阵决定了各个CRC校验的信息比特,而交织序列可以确定每个CRC校验的信息比特在交织后的位置,从而得到交织后的校验方程。
图16是SCL译码算法List=2的示例,在译码过程中保留2个候选路径。通常前面的几个比特是冻结比特,设置为固定的值,如0或者1。因此实际上从第一个信息比特开始译码。图16中,PM值的计算采用公式(1)计算,通过在每次扩展的时候保留PM值最小的路径,后得到如箭头所示的两条候选路径L1和L2。路径L1最终的PM值为0.3,另一条路径L2的PM值最终为0.2。从PM最小(度量值最优)的路径L2先进行CRC校验,若校验通过则选择L2作为译码输出。若L2路径校验不通过,继续校验L1路径,若校验通过,选择L1作为译码输出。若L1和L2均校验未通过,可以选择PM较小的(度量值最优)的L2路径作为译码结果输出。若L1和L2均校验未通过,也可以确认为本次译码失败。在译码过程中,List的取值可以不同,比如List=8,16,32,或64等。
图16中标示的第i个比特是本申请所说的部分CRC比特(特殊CRC比特),两个箭头1601表示该特殊CRC比特的值是由第i-3个比特(信息比特)确定。可以看到在译码第i个比特的时候,不需要进行路径扩展,第i个比特的值由该路径中第i-3个比特的值确定,因此路径L1中的特殊CRC比特的值是0,L2中的特殊CRC比特的值是1。图16和图3的区别在于,第i个比特在图3中对应的是冻结比特,而在图15中对应的是特殊CRC比特。图16中,PM值在译码到校特殊CRC比特的时候,PM值与图3相比发生了变化。具体的,图16中假设L1和L2路径的特殊CRC比特的LLR(i)小于0,假设LLR(i)小于0对应的值是1,L1路径中的i比特的译码结果0与LLR(i)的结果不一致,根据公式(1)PM值加|LLR(i)|,假设为0.3。L2路径中,i比特的译码结果1与LLR(i)对应的值一致,根据公式(1),PM(i)=PM(i-1)=0.2。如果L1前面的译码有误,那么该特殊CRC比特i根据前面译码得到的结果确定,也可能是有误的,这样就会导致i比特的译码结果与LLR(i)对应的值不一致的概率增加,PM(i)就会加上惩罚值|LLR(i)|,导致该路径的PM值加大,在译码过程中该错误路径被删除的概率也加大,因为本例中PM值越小,表示所在的路径才是越优的,PM值越大,表示所在的路径越劣。
图17(a)是List=8,K=32时,本申请的方案与传统的CA-Polar在AWGN信道下的性能对比。图17(b)是K=48时本申请的方案与传统的CA-Polar在AWGN信道下的性能对比。在传统的CA-Polar中,所有的CRC比特均用做CRC校验,进行纠错或者检错。本申请的方案则是将部分CRC比特交织到信息块之间的比特,并且所校验的信息块的比特均在CRC比特之前,在译码的时候当做PC比译码特。在图17(a)和图17(b)中,实线所表示的性能曲线对应CRC长度27,其中的8比特交织并作为PC比特辅助SCL译码,剩余的CRC比特用于在SCL译码后挑选路径;虚线为CRC长度27,全部用于在SCL译码后挑选路径。可以看到,本申请方案相对CA-Polar,对K=32的情况有超过0.4dB的性能增益,对K=48的情况有超过0.1dB的增益。
如图18所示的译码装置1800也可以用于执行译码方法,该译码装置1800包括:
存储器1801,用于存储程序;
处理器1802,用于执行所述存储器存储的所述程序,当所述程序被执行时,执行图15所示的译码方法。该方法包括:获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,其中Lpc为大于0小于Lcrc的整数;采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;对所述T个候选路径进行CRC校验,将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
若T条候选路径的CRC校验均未通过,可以选择度量值最优的路径作为译码输出,也可以确认为译码失败。
有关特殊CRC比特的数量Lpc、交织序列及生成方式、CRC校验数量等内容可以参照前述的编码方法和译码方法的实施例。存储器1801可以是物理上独立的单元,也可以与处理器1802集成在一起。
图18的译码装置还可以进一步包括接收器(图中未示出),用于接收待译码的比特信息。
如图19所示,本申请提供了另一种可以实施本申请的编码方法的译码装置1900。该译码装置1900包括:
至少一个输入端(input)1901,用于接收待译码比特信息;
信号处理器1902,用于获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;对所述T个候选路径进行CRC校验;
至少一个输出端(output)1903,用于将CRC校验通过的第一个候选路径中的信息块作为译码输出。
有关特殊CRC比特的数量Lpc、交织序列及生成方式、CRC校验数量等内容可以参照前述的编码方法和译码方法的实施例。
可选的,上述信号处理器1902可以是通过硬件实现的,例如,基带处理器,处理电路,解码器,或者解码电路。
图19的译码装置还可以进一步包括接收器(图中未示出),用于接收待译码的比特信息。
本申请实施例的译码装置可以是任何具有无线通信功能的设备,例如接入点、站点、用户设备、基站等。
本申请实施例所说的信息块,指的是待发送的信息比特(information bits),也可以叫做信息比特序列(Information bit sequence)、待编码比特序列(to-be-coded bitsequence)、数据块(data block)、数据比特(data bits)、信息比特集合(information bitset)、信息比特向量(information bit vector)等。相应的,信息块长度可以叫做信息块大小,指的是信息比特序列中的比特个数、待编码比特序列中待编码比特的个数、数据块中的比特个数、数据比特个数或信息比特集合中的元素个数。本申请实施例所说的编码块(codedblock),也可以称作编码比特(coded bits)、编码比特序列(coded bit sequence)等。
本申请实施例所说的串行抵消列表SCL译码算法,包括其他按顺序译码、提供多条候选路径的类似SCL的译码算法或者对SCL译码算法的改进算法。
本申请实施例所说的编码装置或译码装置,在实际使用中可能是分别独立的设备;也可能是集成在一起的设备,用于待发送信息进行编码后发送,或者对接收到的信息进行译码。
本申请实施例描述的各示例的单元及方法过程,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统。方法中的一些步骤可以忽略,或不执行。此外,各个单元相互之间的耦合或直接耦合或通信连接可以是通过一些接口实现,这些接口可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到多个网络单元上。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心、等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、U盘、ROM、RAM等)、光介质(例如,CD、DVD等)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (34)
1.一种Polar编码方法,其特征在于,包括:
对信息块进行循环冗余校验CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;
对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;
将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
2.根据权利要求1所述的方法,其特征在于,所述对CRC编码后的编码块进行交织包括:采用交织序列π=[π1,π2,...,πn]对CRC编码后的编码块进行交织,将CRC编码后的比特序列[b1,b2,...,bn]变换为bπ1,bπ2,...,bπn;其中n为大于0小于等于B的整数,πn的值表示交织后的编码块中的第n个比特在交织之前的编码块中的比特位置序号。
3.根据权利要求1或2所述的方法,其特征在于,Lpc满足以下条件:Lpc≤Lcrc-log2T+log2FAR,
其中T是预先约定的在译码时需通过CRC校验而选择译码结果的候选路径数量,FAR是通信系统规定的虚警概率上限。
4.根据权利要求1-3任意一项所述的方法,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
5.根据权利要求1-4任意一项所述的方法,其特征在于,Lpc=1,Lcrc=11;或者Lpc=2,Lcrc=12;或者Lpc=4,Lcrc=14;或者Lpc=6,Lcrc=16;或者Lpc=8,Lcrc=18。
6.根据权利要求1-4任意一项所述的方法,其特征在于,Lpc=1,Lcrc=19;或Lpc=2,Lcrc=20;或Lpc=4,Lcrc=22;或Lpc=6,Lcrc=24;或Lpc=8,Lcrc=26。
7.一种编码装置,其特征在于,包括:
CRC编码单元,用于对信息块进行循环冗余校验CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;
交织单元,对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;
Polar编码单元,用于将所述交织单元交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中,所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
8.根据权利要求7所述的装置,其特征在于,所述交织单元采用交织序列π=[π1,π2,...,πn]对CRC编码后的编码块进行交织,将CRC编码后的比特序列[b1,b2,...,bn]变换为bπ1,bπ2,...,bπn;其中n为大于0小于等于B的整数,πn的值表示交织后的编码块中的第n个比特在交织之前的编码块中的比特位置序号。
9.根据权利要求7或8所述的装置,Lpc满足以下条件:Lpc≤Lcrc-log2T+log2FAR,
其中T是预先约定的在译码时需通过CRC校验而选择译码结果的候选路径数量,FAR是通信系统对虚警概率的上限。
10.根据权利要求7-9任意一项所述的装置,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
11.根据权利要求7-10任意一项所述的装置,其特征在于,Lpc=1,Lcrc=11;或者Lpc=2,Lcrc=12;或者Lpc=4,Lcrc=14;或者Lpc=6,Lcrc=16;或者Lpc=8,Lcrc=18。
12.根据权利要求7-10任意一项所述的装置,其特征在于,Lpc=1,Lcrc=19;或Lpc=2,Lcrc=20;或Lpc=4,Lcrc=22;或Lpc=6,Lcrc=24;或Lpc=8,Lcrc=26。
13.一种编码装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于对信息块进行循环冗余校验CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度。
14.根据权利要求13所述的装置,Lpc满足以下条件:Lpc≤Lcrc-log2T+log2FAR,
其中T是预先约定的在译码时需通过CRC校验而选择译码结果的候选路径数量,FAR是通信系统规定的虚警概率上限。
15.根据权利要求13-14任意一项所述的装置,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
16.根据权利要求13-15任意一项所述的装置,其特征在于,Lpc=1,Lcrc=11;或者Lpc=2,Lcrc=12;或者Lpc=4,Lcrc=14;或者Lpc=6,Lcrc=16;或者Lpc=8,Lcrc=18。
17.根据权利要求13-15任意一项所述的装置,其特征在于,Lpc=1,Lcrc=19;或Lpc=2,Lcrc=20;或Lpc=4,Lcrc=22;或Lpc=6,Lcrc=24;或Lpc=8,Lcrc=26。
18.一种编码装置,其特征在于,包括:
至少一个输入端,用于接收信息块;
信号处理器,用于对所述信息块进行循环冗余校验CRC编码,得到长度为B的CRC编码后的编码块,其中CRC长度为Lcrc,信息块长度为K,B=K+Lcrc;对CRC编码后的编码块进行交织,交织后的编码块中的Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中Lpc为大于0小于Lcrc的整数;将交织后的编码块映射到信息比特,冻结比特设置为约定的固定值,对所述信息比特和所述冻结比特进行Polar编码,得到Polar编码码字;其中所述信息比特的位置为可靠度最优的B个极化信道对应的位置;所述冻结比特的位置为剩下的N-B个极化信道对应的位置,N为Polar码母码长度;
至少一个输出端,用于输出信号处理器得到的Polar编码码字。
19.根据权利要求18所述的装置,其特征在于,Lpc满足以下条件:
Lpc≤Lcrc-Log2T+log2FAR,
其中T是预先约定的在译码时需通过CRC校验而选择译码结果的候选路径数量,FAR是通信系统规定的虚警概率上限。
20.根据权利要求18-19任意一项所述的装置,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
21.根据权利要求18-20任意一项所述的装置,其特征在于,Lpc=1,Lcrc=11;或者Lpc=2,Lcrc=12;或者Lpc=4,Lcrc=14;或者Lpc=6,Lcrc=16;或者Lpc=8,Lcrc=18。
22.根据权利要求18-20任意一项所述的装置,其特征在于,Lpc=1,Lcrc=19;或Lpc=2,Lcrc=20;或Lpc=4,Lcrc=22;或Lpc=6,Lcrc=24;或Lpc=8,Lcrc=26。
23.一种Polar译码方法,其特征在于,包括:
获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个循环冗余校验CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,其中Lpc为大于0小于Lcrc的整数;
采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;
对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;
对所述T个候选路径进行CRC校验,将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
24.根据权利要求23所述的方法,其特征在于,Lpc、Lcrc、T以及通信系统规定的虚警概率上限FAR满足以下关系:Lpc≤Lcrc-log2T+log2FAR。
25.根据权利要求23-24任意一项所述的方法,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
26.一种译码装置,其特征在于,包括:
获取单元,用于获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个循环冗余校验CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;
译码单元,采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;交织单元,对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;
CRC校验单元,用于对所述T个候选路径进行CRC校验;
输出单元,用于将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
27.根据权利要求26所述的装置,其特征在于,Lpc,Lcrc,T以及通信系统规定的虚警概率上限FAR满足以下关系:Lpc≤Lcrc-log2T+log2FAR。
28.根据权利要求25-26任意一项所述的装置,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
29.一种译码装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个循环冗余校验CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;对所述T个候选路径进行CRC校验,将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
30.根据权利要求29所述的装置,其特征在于,Lpc,Lcrc,T以及通信系统规定的虚警概率上限FAR满足以下关系:Lpc≤Lcrc-log2T+log2FAR。
31.根据权利要求29-30任意一项所述的装置,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
32.一种译码装置,其特征在于,包括:
至少一个输入端,用于接收待译码比特信息;
信号处理器,用于获取待译码比特中信息比特和冻结比特的位置,信息比特包括信息块的K个比特和Lcrc个循环冗余校验CRC比特,其中,Lpc个CRC比特位于信息块的比特之间,且Lpc个CRC比特中的每个CRC比特位于其所校验的所有比特之后,其中,Lpc为大于0小于Lcrc的整数;采用串行抵消列表SCL译码算法按顺序对待译码比特进行译码,输出度量值最优的L条候选路径,其中,在译码过程中每条候选路径中的冻结比特的值设为约定的固定值,Lpc个CRC比特中的每个CRC比特的值根据位于该CRC比特之前的其所校验的信息块的比特的值确定,剩余的(Lcrc-Lpc)个CRC比特按照信息比特进行译码;对L个候选路径中的度量值最优的T个候选路径进行解交织,T为大于0小于等于L的整数;对所述T个候选路径进行CRC校验;
至少一个输出端,用于将通过CRC校验且路径度量最优的候选路径中的信息块作为译码输出。
33.根据权利要求32所述的装置,其特征在于,Lpc,Lcrc,T以及通信系统规定的虚警概率上限FAR满足以下关系:Lpc≤Lcrc-log2T+log2FAR。
34.根据权利要求31-33任意一项所述的装置,其特征在于,Lcrc和Lpc满足以下关系:Lcrc-Lpc=10;或者Lcrc-Lpc=18。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210076727.2A CN114553243A (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
CN201710121488.7A CN108540141B (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
EP18761250.2A EP3579423B1 (en) | 2017-03-02 | 2018-03-02 | Polar code encoding and decoding methods and devices |
BR112019018177-6A BR112019018177A2 (pt) | 2017-03-02 | 2018-03-02 | Método de codificação/decodificação de código polar e aparelho de codificação/decidificação |
PCT/CN2018/077853 WO2018157854A1 (zh) | 2017-03-02 | 2018-03-02 | Polar码编译码方法及装置 |
US16/556,920 US11095312B2 (en) | 2017-03-02 | 2019-08-30 | Polar code encoding/decoding method and encoding/decoding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710121488.7A CN108540141B (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210076727.2A Division CN114553243A (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108540141A true CN108540141A (zh) | 2018-09-14 |
CN108540141B CN108540141B (zh) | 2022-02-01 |
Family
ID=63370257
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210076727.2A Pending CN114553243A (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
CN201710121488.7A Active CN108540141B (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210076727.2A Pending CN114553243A (zh) | 2017-03-02 | 2017-03-02 | Polar码编译码方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11095312B2 (zh) |
EP (1) | EP3579423B1 (zh) |
CN (2) | CN114553243A (zh) |
BR (1) | BR112019018177A2 (zh) |
WO (1) | WO2018157854A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412749A (zh) * | 2017-08-17 | 2019-03-01 | 华为技术有限公司 | 数据传输方法及装置 |
US10536240B2 (en) | 2017-08-07 | 2020-01-14 | Huawei Technologies Co., Ltd. | Channel encoding method and apparatus in wireless communications |
CN111384977A (zh) * | 2018-12-27 | 2020-07-07 | 北京展讯高科通信技术有限公司 | Polar码的奇偶校验比特生成方法及装置、可读存储介质 |
CN111446969A (zh) * | 2019-01-17 | 2020-07-24 | 华为技术有限公司 | 一种级联crc码的极化码编码方法及装置 |
CN112703687A (zh) * | 2018-09-28 | 2021-04-23 | 华为技术有限公司 | 信道编码方法及装置 |
CN114978416A (zh) * | 2022-03-22 | 2022-08-30 | 安徽大学 | 一种抗间断性反射通信方法和系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018165843A1 (en) * | 2017-03-14 | 2018-09-20 | Qualcomm Incorporated | Mutual information based polar code construction |
US10887050B2 (en) * | 2017-03-24 | 2021-01-05 | Lg Electronics Inc. | Downlink signal reception method and user equipment, and downlink signal transmission method and base station |
WO2019000366A1 (en) * | 2017-06-30 | 2019-01-03 | Qualcomm Incorporated | SELECTING CODE TYPES FOR ENCODING INFORMATION BITS |
ES2950625T3 (es) * | 2017-10-03 | 2023-10-11 | Ericsson Telefon Ab L M | Entrelazado previo a la codificación CRC de una carga útil de NR PBCH que incluye bits conocidos para mejorar el rendimiento del código polar |
CN110808815B (zh) * | 2019-10-30 | 2021-10-22 | 紫光展锐(重庆)科技有限公司 | 数据存储方法及装置 |
CN116711219A (zh) * | 2021-01-04 | 2023-09-05 | 日本电信电话株式会社 | 解码装置、解码方法、及程序 |
CN114285525B (zh) * | 2021-12-28 | 2023-10-03 | 哲库科技(北京)有限公司 | 关于极化码共享资源译码的方法、装置、终端设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219019A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 编码方法及编码设备 |
US20160182187A1 (en) * | 2013-08-20 | 2016-06-23 | Lg Electronics Inc. | Method for transmitting data by using polar coding in wireless access system |
CN106452460A (zh) * | 2016-09-21 | 2017-02-22 | 华中科技大学 | 一种极化码与重复码级联的纠错编码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115549856A (zh) * | 2017-03-22 | 2022-12-30 | Idac控股公司 | 用于极性编码系统、过程及信令的子块式交织 |
US11196445B2 (en) * | 2017-05-04 | 2021-12-07 | Nokia Technologies Oy | Distributed CRC polar codes |
-
2017
- 2017-03-02 CN CN202210076727.2A patent/CN114553243A/zh active Pending
- 2017-03-02 CN CN201710121488.7A patent/CN108540141B/zh active Active
-
2018
- 2018-03-02 EP EP18761250.2A patent/EP3579423B1/en active Active
- 2018-03-02 BR BR112019018177-6A patent/BR112019018177A2/pt unknown
- 2018-03-02 WO PCT/CN2018/077853 patent/WO2018157854A1/zh unknown
-
2019
- 2019-08-30 US US16/556,920 patent/US11095312B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219019A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 编码方法及编码设备 |
US20160182187A1 (en) * | 2013-08-20 | 2016-06-23 | Lg Electronics Inc. | Method for transmitting data by using polar coding in wireless access system |
CN106452460A (zh) * | 2016-09-21 | 2017-02-22 | 华中科技大学 | 一种极化码与重复码级联的纠错编码方法 |
Non-Patent Citations (2)
Title |
---|
ERICSSON: "Design of CRC-assisted Polar Code", 《3RD GENERATION PARTNERSHIP PROJECT,MOBILE COMPTETNCE CENTRE》 * |
HUA WEI等: "Parity-Check polar and CRC-aided polar evaluation", 《3RD GENERATION PARTNERSHIP PROJECT,MOBILE COMPTETNCE CENTRE》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10536240B2 (en) | 2017-08-07 | 2020-01-14 | Huawei Technologies Co., Ltd. | Channel encoding method and apparatus in wireless communications |
US11121809B2 (en) | 2017-08-07 | 2021-09-14 | Huawei Technologies Co., Ltd. | Channel coding method and apparatus in wireless communications |
CN109412749B (zh) * | 2017-08-17 | 2020-09-04 | 华为技术有限公司 | 数据传输方法及装置 |
CN109412749A (zh) * | 2017-08-17 | 2019-03-01 | 华为技术有限公司 | 数据传输方法及装置 |
US11496245B2 (en) | 2018-09-28 | 2022-11-08 | Huawei Technologies Co., Ltd. | Channel encoding method and apparatus |
CN112703687A (zh) * | 2018-09-28 | 2021-04-23 | 华为技术有限公司 | 信道编码方法及装置 |
CN112703687B (zh) * | 2018-09-28 | 2022-07-22 | 华为技术有限公司 | 信道编码方法及装置 |
US11705990B2 (en) | 2018-09-28 | 2023-07-18 | Huawei Technologies Co., Ltd. | Channel encoding method and apparatus |
CN111384977A (zh) * | 2018-12-27 | 2020-07-07 | 北京展讯高科通信技术有限公司 | Polar码的奇偶校验比特生成方法及装置、可读存储介质 |
CN111384977B (zh) * | 2018-12-27 | 2023-01-24 | 北京紫光展锐通信技术有限公司 | Polar码的奇偶校验比特生成方法及装置、可读存储介质 |
CN111446969A (zh) * | 2019-01-17 | 2020-07-24 | 华为技术有限公司 | 一种级联crc码的极化码编码方法及装置 |
CN111446969B (zh) * | 2019-01-17 | 2023-10-20 | 华为技术有限公司 | 一种级联crc码的极化码编码方法及装置 |
CN114978416A (zh) * | 2022-03-22 | 2022-08-30 | 安徽大学 | 一种抗间断性反射通信方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US11095312B2 (en) | 2021-08-17 |
EP3579423A4 (en) | 2020-01-22 |
BR112019018177A2 (pt) | 2020-03-31 |
CN114553243A (zh) | 2022-05-27 |
WO2018157854A1 (zh) | 2018-09-07 |
EP3579423B1 (en) | 2024-10-02 |
CN108540141B (zh) | 2022-02-01 |
EP3579423A1 (en) | 2019-12-11 |
US20200028524A1 (en) | 2020-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540141A (zh) | Polar码编译码方法及装置 | |
US10886950B2 (en) | Method and apparatus for generating a code word | |
CN108365914A (zh) | Polar码编译码方法及装置 | |
KR102621627B1 (ko) | 순환 중복 검사와 극 부호를 이용하는 부호화를 위한 장치 및 방법 | |
CN107370560B (zh) | 一种极化码的编码和速率匹配方法、装置及设备 | |
JP3451221B2 (ja) | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 | |
CN101867379B (zh) | 一种循环冗余校验辅助的卷积码译码方法 | |
CN108574561A (zh) | 极化码编码的方法和装置 | |
CN107017892A (zh) | 一种校验级联极化码编码方法及系统 | |
CN109802713B (zh) | 信道状态信息csi编码方法及装置、存储介质和处理器 | |
CN109150383A (zh) | 一种Polar码的编码方法及装置 | |
CN107453807A (zh) | 一种大气光通信信道模型的极化方法、装置及电子设备 | |
CN110535560A (zh) | 一种极化码结合编码和译码方法 | |
CN110233698A (zh) | 极化码的编码及译码方法、发送设备、接收设备、介质 | |
CN109672498B (zh) | 译码方法和装置 | |
CN100433836C (zh) | 使用冗余对视/音频和语音数据进行解码的方法和系统 | |
Tonnellier et al. | Length-compatible polar codes: a survey | |
CN112039634A (zh) | 一种极化码的译码方法、装置、计算机设备及存储介质 | |
CN108540140A (zh) | 一种极化码译码方法及装置 | |
CN108833057B (zh) | 一种基于3gpp 5g-nr极化码的分布式crc处理方法 | |
CN113395139A (zh) | 一种基于高斯列消元的卷积码码长盲识别方法 | |
Liu et al. | A novel hamming check concatenated polarization-adjusted convolutional (PAC) codes | |
Fereydounian | Learning, Privacy, and Reliable Communication in Large Data Networks | |
Charandabi | On Polarization Adjusted Convolutional Codes over Fading and Additive White Gaussian Noise Channels | |
KR100997668B1 (ko) | 채널 코딩 복호방법 및 복호기 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |