CN111756384A - 译码方法、装置及设备 - Google Patents
译码方法、装置及设备 Download PDFInfo
- Publication number
- CN111756384A CN111756384A CN201910241817.0A CN201910241817A CN111756384A CN 111756384 A CN111756384 A CN 111756384A CN 201910241817 A CN201910241817 A CN 201910241817A CN 111756384 A CN111756384 A CN 111756384A
- Authority
- CN
- China
- Prior art keywords
- llr
- llrs
- sum
- bits
- group
- 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
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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1125—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- 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
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例提供一种译码方法、装置及设备,接收到的数据对应P组比特,每组比特中包括M个比特,方法包括:获取第i组比特对应的M个对数似然比LLR,M个LLR为极化码蝶形译码网络中从左向右的、M个比特对应的第a+1列LLR,P为大于1的整数,i为整数,1≤i≤P,M为大于1的整数,a为大于0的正整数,a=log2M;根据M的大小和M个比特中冻结比特的位置,确定译码规则,译码规则用于指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作;根据译码规则和M个LLR,确定第i组比特的译码结果。提高了译码效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种译码方法、装置及设备。
背景技术
在通信技术领域,通信设备(例如终端设备、基站等)可以通过极化码(Polar码)的方式进行信道编码和译码。
在通过极化码进行译码时,可以通过并行译码方法进行译码。在并行译码的过程中,接收端接收到的数据可以对应多组待译码比特,可以分别对该多组待译码比特进行译码。在现有技术中,针对每一组待译码比特,可以通过采用最大似然(Maximum Likelihood,ML)算法获取每组待译码比特的译码结果,该过程可以包括:获取所有可能的编码前的比特,获取所有可能的编码前的比特对应的对数似然比(Likelihood Rate,LLR),在所有可能的编码前的比特对应的LLR中、确定与接收端接收到的该组待译码比特对应的LLR最接近的目标LLR,将目标LLR对应的编码前的比特确定为该组待译码比特对应的译码结果。
然而,上述方法,译码速度慢,复杂度较高。
发明内容
本申请提供一种译码方法、装置及设备,提高了译码效率,降低了译码复杂度。
第一方面,本申请实施例提供一种译码方法,接收设备接收到数据(该数据对应P组比特,每组比特中包括M个比特,P为大于1的整数,M为大于1的整数)之后,针对该P比特中的任意第i(i为整数,1≤i≤P)组比特,可以通过如下可行的实现方式进行译码:
获取第i组比特对应的M个对数似然比LLR,M个LLR为极化码蝶形译码网络中从左向右的、M个比特对应的第a+1列LLR,a为大于0的正整数,a=log2M;根据M的大小和M个比特中冻结比特的位置,确定译码规则,译码规则用于指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作;并根据译码规则和M个LLR,确定第i组比特的译码结果。
在上述过程中,译码规则可以指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作,因此,在对第i组比特进行译码时,可以根据译码规则快速的获取得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,可以通过如下可行的实现方式根据译码规则和M个LLR,确定第i组比特的译码结果:根据译码规则和M个LLR,确定M个比特对应的M个编码比特,并对M个编码比特进行反编码,得到译码结果。
在上述过程中,译码规则指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作,因此,对M个LLR进行获取硬判值、分组、排序中的一种或多种操作即可获取得到M个编码比特,使得可以快速获取得到M个编码比特,对M个编码比特进行反编码的速度较快,因此,通过上述方法可以快速得到译码结果。
在一种可能的实施方式中,当M个比特为M个信息比特时,根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:获取M个LLR的硬判值;将M个LLR的硬判值确定为M个编码比特。
在上述过程中,先获取M个LLR的硬判值,根据M个LLR的硬判值即可确定得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,冻结比特的位置为1;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:对M个LLR进行大小排序;从M个LLR排序后的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一组LLR,得到M/2组LLR;根据每组LLR中的两个LLR之和,确定每组LLR对应的硬判值,一组LLR对应的硬判值包括两个比特;根据每组LLR对应的硬判值,确定M个编码比特。
在上述过程中,对M个LLR执行排序、分组、求和、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,冻结比特的位置分别为1和2;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:将M个LLR分为两组,一组LLR的中的LLR的编号为奇数,另一组LLR中的LLR的编号为偶数;分别对每组LLR中的LLR进行大小排序;针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;根据每子组LLR对应的硬判值,确定M个编码比特。
在上述过程中,对M个LLR执行分组、排序、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,冻结比特的位置分别为1和3;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:将M个LLR分为两组,一组LLR中的LLR的编号为4K-2或4K-3,另一组LLR中的LLR的编号为4K或者4K-1,K为大于或等于1的整数,4K小于或等于M;分别对每组LLR中的LLR进行大小排序;针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;根据每子组LLR对应的硬判值,确定M个编码比特。
在上述过程中,对M个LLR执行分组、排序、求和、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,冻结比特的位置分别为1、2、……、M-1;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:获取M个LLR的和;根据M个LLR的和,确定M个LLR对应的硬判值,M个LLR对应的硬判值包括M个比特;将M个LLR对应的硬判值确定为M个编码比特。
在上述过程中,对M个LLR执行求和、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特为M个冻结比特;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:确定M个编码比特均为0。
在上述过程中,可以直接确定得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在上述可能的实施方式中,M可以为4或者8。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M大于4,冻结比特的位置分别为1、2和3;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:将M个LLR分为四组,四组LLR中的LLR的编号分别为4K-3、4K-2、4K-1和4K,K为大于或等于1的整数,4K小于或等于M;分别对每组LLR中的LLR进行大小排序;针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR,根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,根据每子组LLR对应的硬判值确定第一目标函数值,一子组LLR对应的硬判值包括两个比特,第一目标函数值用于指示根据每子组对应的硬判值确定得到的译码结果的可靠度;对每子组LLR对应的硬判值中、绝对值最小的LLR对应的硬判值进行翻转,并根据每子组LLR对应的翻转后的硬判值确定第二目标函数值,第二目标函数值用于指示根据每子组LLR对应的翻转后的硬判值确定得到的译码结果的可靠度;根据第一目标函数值、第二目标函数值、每子组LLR对应的硬判值和每子组对应的翻转后的硬判值确定M个编码比特。
在上述过程中,对M个LLR执行分组、排序、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在该种可能的实施方式中,M可以为8。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3和5;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
dif1=LLR1-LLR5
dif2=LLR2-LLR6
dif3=LLR3-LLR7
dif4=LLR4-LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
对dif1、dif2、dif3、dif4进行大小排序,得到dife≤diff≤difg≤difh,e,f,g,h∈{1,2,3,4};
确定第一硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定第二硬判结果为:
其中,若dife=LLRi-LLRj,则e1=i,e2=j,若diff=LLRi-LLRj,则f1=i,f2=j,若difg=LLRi-LLRj,则g1=i,g2=j,若difh=LLRi-LLRj,则h1=i,h2=j;
根据第一硬判结果确定第一目标函数值,根据第二硬判结果确定第二目标函数值,并根据第一目标函数值、第二目标函数值、第一硬判结果和第二硬判结果确定M个编码比特,第一目标函数值用于指示根据第一硬判结果确定得到的译码结果的可靠度,第二目标函数值用于指示根据第二硬判结果确定得到的译码结果的可靠度。
在上述过程中,对M个LLR执行求和、求差、分组、排序、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、4和5;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据硬判结果确定M个编码比特。
在上述过程中,对M个LLR执行求和、排序、分组、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、5和6;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR3
sum2=LLR2+LLR4
sum3=LLR5+LLR7
sum4=LLR6+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据硬判结果确定M个编码比特。
在上述过程中,对M个LLR执行求和、排序、分组、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、5和7;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR2
sum2=LLR3+LLR4
sum3=LLR5+LLR6
sum4=LLR7+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据硬判结果确定M个编码比特。
在上述过程中,对M个LLR执行求和、排序、分组、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、4、5和7;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR3+LLR4+LLR7+LLR8
sum4=LLR1+LLR2+LLR5+LLR6
在上述过程中,对M个LLR执行求和、获取最大值、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
在一种可能的实施方式中,M个比特中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、4、5和6;根据译码规则和M个LLR,确定M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR2+LLR4+LLR6+LLR8
sum4=LLR1+LLR3+LLR5+LLR7
在上述过程中,对M个LLR执行求和、获取最大值、获取硬判值操作,即可获取得到M个编码比特,译码过程简单,提高了译码速度,降低了译码复杂度。
第二方面,本申请实施例提供一种译码装置,接收到的数据对应P组比特,每组比特中包括M个比特,所述装置包括:获取模块、第一确定模块和第二确定模块,其中,
所述获取模块用于,获取第i组比特对应的M个对数似然比LLR,所述M个LLR为极化码蝶形译码网络中从左向右的、所述M个比特对应的第a+1列LLR,所述P为大于1的整数,所述i为整数,1≤i≤P,所述M为大于1的整数,所述a为大于0的正整数,a=log2M;
所述第一确定模块用于,根据所述M的大小和所述M个比特中冻结比特的位置,确定译码规则,所述译码规则用于指示对所述M个LLR执行获取硬判值、分组、排序中的一种或多种操作;
所述第二确定模块用于,根据所述译码规则和所述M个LLR,确定所述第i组比特的译码结果。
在一种可能的实施方式中,所述第二确定模块具体用于:
根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特;
对所述M个编码比特进行反编码,得到所述译码结果。
在一种可能的实施方式中,所述M个比特为M个信息比特;所述第二确定模块具体用于:
获取所述M个LLR的硬判值;
将所述M个LLR的硬判值确定为所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置为1;所述第二确定模块具体用于:
对所述M个LLR进行大小排序;
从所述M个LLR排序后的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一组LLR,得到M/2组LLR;
根据每组LLR中的两个LLR之和,确定每组LLR对应的硬判值,一组LLR对应的硬判值包括两个比特;
根据每组LLR对应的硬判值,确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和2;所述第二确定模块具体用于:
将所述M个LLR分为两组,一组LLR的中的LLR的编号为奇数,另一组LLR中的LLR的编号为偶数;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和3;所述第二确定模块具体用于:
将所述M个LLR分为两组,一组LLR中的LLR的编号为4K-2或4K-3,另一组LLR中的LLR的编号为4K或者4K-1,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1、2、……、M-1;所述第二确定模块具体用于:
获取所述M个LLR的和;
根据所述M个LLR的和,确定所述M个LLR对应的硬判值,所述M个LLR对应的硬判值包括M个比特;
将所述M个LLR对应的硬判值确定为所述M个编码比特。
在一种可能的实施方式中,M个比特为M个冻结比特;所述第二确定模块具体用于:
确定所述M个编码比特均为0。
在一种可能的实施方式中,所述M为4或者8。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M大于4,所述冻结比特的位置分别为1、2和3;所述第二确定模块具体用于:
将所述M个LLR分为四组,四组LLR中的LLR的编号分别为4K-3、4K-2、4K-1和4K,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR,根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,根据每子组LLR对应的硬判值确定第一目标函数值,一子组LLR对应的硬判值包括两个比特,所述第一目标函数值用于指示根据所述每子组对应的硬判值确定得到的译码结果的可靠度;
对每子组LLR对应的硬判值中、绝对值最小的LLR对应的硬判值进行翻转,并根据每子组LLR对应的翻转后的硬判值确定第二目标函数值,所述第二目标函数值用于指示根据所述每子组LLR对应的翻转后的硬判值确定得到的译码结果的可靠度;
根据第一目标函数值、第二目标函数值、每子组LLR对应的硬判值和每子组对应的翻转后的硬判值确定所述M个编码比特。
在一种可能的实施方式中,所述M为8。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3和5;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
dif1=LLR1-LLR5
dif2=LLR2-LLR6
dif3=LLR3-LLR7
dif4=LLR4-LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
对dif1、dif2、dif3、dif4进行大小排序,得到dife≤diff≤difg≤difh,e,f,g,h∈{1,2,3,4};
确定第一硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定第二硬判结果为:
其中,若dife=LLRi-LLRj,则e1=i,e2=j,若diff=LLRi-LLRj,则f1=i,f2=j,若difg=LLRi-LLRj,则g1=i,g2=j,若difh=LLRi-LLRj,则h1=i,h2=j;
根据所述第一硬判结果确定第一目标函数值,根据所述第二硬判结果确定第二目标函数值,并根据所述第一目标函数值、所述第二目标函数值、所述第一硬判结果和所述第二硬判结果确定所述M个编码比特,所述第一目标函数值用于指示根据所述第一硬判结果确定得到的译码结果的可靠度,所述第二目标函数值用于指示根据所述第二硬判结果确定得到的译码结果的可靠度。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4和5;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和6;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR3
sum2=LLR2+LLR4
sum3=LLR5+LLR7
sum4=LLR6+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和7;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR2
sum2=LLR3+LLR4
sum3=LLR5+LLR6
sum4=LLR7+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4、5和7;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR3+LLR4+LLR7+LLR8
sum4=LLR1+LLR2+LLR5+LLR6
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4、5和6;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR2+LLR4+LLR6+LLR8
sum4=LLR1+LLR3+LLR5+LLR7
第三方面,本申请实施例提供一种译码装置,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现第一方面任一项所述的译码方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于实现第一方面任一项所述的译码方法。
本申请实施例提供的译码方法,接收到的数据对应P组比特,每组比特中包括M个比特,针对任意第i组比特,可以获取第i组比特对应的M个对数似然比LLR,根据M的大小和M个比特中冻结比特的位置确定译码规则,并根据译码规则和M个LLR,确定第i组比特的译码结果。译码规则用于指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作,因此,在对第i组比特进行译码时,可以根据译码规则快速的获取得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
附图说明
图1为本申请提供的通信系统的架构图;
图2为本申请实施例提供的并行译码方法的流程示意图;
图3为本申请实施例提供的译码方法的流程示意图;
图4A为本申请实施例提供的蝶形译码网络示意图一;
图4B为本申请实施例提供的蝶形译码网络示意图二;
图4C为本申请实施例提供的蝶形译码网络示意图三;
图4D为本申请实施例提供的蝶形译码网络示意图四;
图5为本申请实施例提供的另一种译码方法的流程示意图;
图6为本申请实施例提供的又一种译码方法的流程示意图;
图7为本申请实施例提供的另一种译码方法的流程示意图;
图8为本申请实施例提供的又一种译码方法的流程示意图;
图9为本申请实施例提供的另一种译码方法的流程示意图;
图10为本申请实施例提供的再一种译码方法的流程示意图;
图11为本申请实施例提供的译码装置的结构示意图;
图12为本申请提供的译码装置的硬件结构示意图。
具体实施方式
本申请实施例可以应用于各种采用Polar编码的领域,例如:数据存储领域、光网络通信领域,无线通信领域等等。其中,本申请实施例提及的无线通信系统包括但不限于:窄带物联网系统(Narrow Band-Internet of Things,NB-IoT)、Wimax、长期演进系统(LongTerm Evolution,LTE)以及下一代5G移动通信系统新空口(new radio,NR)的三大应用场景增强型移动宽带(enhanced Mobile Broad Band,eMBB)、超高可靠与低延迟的通信(UltraReliable Low Latency Communication,URLLC)以及大规模机器通信(massive Machine-Type Communications,mMTC)。当然,采用Polar编码的领域还可以为其它,本申请对此不作具体限定。
本申请涉及的通信装置主要包括网络设备或者终端设备。本申请中的发送设备可以为网络设备,则接收设备为终端设备。本申请中的发送设备为终端设备,则接收设备为网络设备。
在本申请实施例中,终端设备(terminal device)包括但不限于移动台(MobileStation,MS)、移动终端(Mobile Terminal,MT)、移动电话(Mobile Telephone,MT)、手机(handset)及便携设备(portable equipment)等,该终端设备可以经无线接入网(RadioAccess Network,RAN)与一个或多个核心网进行通信。例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置或设备。
本申请结合网络设备描述了各个实施例。网络设备可以是LTE系统中的演进型基站(Evolutional Node B,eNB或eNodeB),或者,网络设备可以是5G通信系统中的gNB或者传输和接收点(transmission reception point,TRP)、微基站等,或者网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来演进的公共陆地移动网络(Public LandMobile Network,PLMN)中的网络设备,或者在其他多种技术融合的网络中,或者在其他各种演进网络中的基站等。
图1为本申请提供的通信系统的架构图。请参见图1,包括发送设备101和接收设备102。
可选的,当发送设备101为终端设备时,则接收设备102为网络设备。当发送设备101为网络设备时,则接收设备为终端设备。
请参见图1,发送设备101包括编码器,从而发送设备101可以进行polar编码并输出编码后序列。编码后序列经过速率匹配、交织以及调制后在信道上传输至接收设备102。接收设备102包括译码器,接收设备102可以接收发送设备101发送的信号,对接收到的信号进行译码。
需要说明的是,图1只是以示例的形式示意一种通信系统的架构图,并非对通信系统的架构图的限定。
在通信过程中,发送端对信息比特和冻结比特进行编码,得到待发送比特序列,并发送待发送比特序列,可选的,冻结比特为填充比特,冻结比特通常可以为0。待发送比特序列经过速率匹配、交织以及调制后经过信道传输至接收端。接收端对接收到的信号进行解调等处理,得到一组对数似然比(Likelihood Rate,LLR),该组LLR中包括的LLR的个数与待发送比特序列中包括的比特个数相同。接收端根据接收到的一组LLR进行Polar码译码。其中,不管发送端发比特1还是比特0,接收端都可能误判。对于信号r,在接收端正确判为0的概率p(r|b=0)与正确判为1的概率p(r|b=1)]的比值就是似然比。为了方便计算处理,对似然比取自然对数,则可以得到对数似然比,也即LLR=ln[p(r|b=0)/p(r|b=1)]。LLR可以是浮点数。
下面,通过具体实施例对本申请所示的译码方法进行详细说明。需要说明的是,下面几个实施例可以独立存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
本申请所示的译码方法可以适用于并行译码,例如,可以适用于串行抵消列表(Successive Cancellation List,SCL)并行译码等。为了便于对本申请的理解,下面,通过图2所示的实施例,对并行译码方法进行说明。
图2为本申请实施例提供的并行译码方法的流程示意图。请参见图2,该方法可以包括:
S201、获取到2s个LLR,2s个LLR对应2s个比特,2s个比特包括P组比特。
其中,s为大于或等于1的正整数。
可选的,在接收设备接收到信息之后,对信息进行解调得到2s个LLR。
可选的,当发送设备发送的比特序列包含打孔、截断或者重复时,接收设备接收到的LLR的个数可能大于或者小于2s,此时,接收设备可以通过速率匹配得到个2s个LLR。
可选的,接收设备获取到的LLR的个数,与发送设备发送的比特的个数相同。
例如,假设发送设备发送的比特序列中包括2s个比特,则接收设备获取到2s个LLR。
其中,2s个比特为编码前的比特,2s个比特中包括信息比特和/或冻结比特。
其中,每组比特包括M个比特,2s=P×M,P为大于1的正整数,M为大于或等于1的正整数。
可选的,每组比特中包括信息比特和/或待译码的冻结比特。
可选的,还可以将每组比特中包括的比特个数M称为并行译码的并行度。
在接收设备中,译码器将2s个LLR作为输入进行译码。
S202、根据2s个LLR,以P组比特为译码对象进行P步译码,直至获取得到译码结果。
可选的,在第i步译码时,以第i组比特为译码对象,得到第i组比特的译码结果。其中,第i组比特的译码结果包括第i组比特中的信息比特和冻结比特。
其中,i为正整数,1≤i≤P。
需要说明的是,该P步译码中的每一步译码过程相同,下面,通过图3所示的实施例,对第i(1≤i≤P)组比特的译码过程进行说明。
图3为本申请实施例提供的译码方法的流程示意图。请参见图3,该方法可以包括:
S301、获取第i组比特对应的M个LLR。
其中,i为正整数,1≤i≤P。
可选的,当并行译码的并行度为s(一组比特中包括s个比特)时,极化码蝶形译码网络中包括s+1列LLR。例如,假设并行译码的并行度s为4,则极化码蝶形译码网络中包括4+1=5列LLR。
其中,第i组比特中包括M个比特,M个LLR为极化码蝶形译码网络中从左向右的、M个比特对应的第x+1列LLR,M为大于1的整数,x为大于0的正整数,x=log2M,其中,s个比特的极化码蝶形译码网络从左到右是指,最左边是译码得到的s个比特u0,u1,…us,最右边是接收端接收到的s个LLR:LLR0,LLR1,…,LLRs。
M个比特对应的第x+1列LLR是指,极化码蝶形译码网络中与该M个比特位于同一行的、第x+1列LLR。例如,假设一组比特中包括M=4个比特,则x=log24=2,相应的,该M=4个LLR为极化码蝶形译码网络中从左向右的、与该4个比特位于同一行的第3(x+1=2+1)列LLR。
下面,结合图4A-图4B,对蝶形译码网络进行说明。
图4A为本申请实施例提供的蝶形译码网络示意图一。图4B为本申请实施例提供的蝶形译码网络示意图二。图4C为本申请实施例提供的蝶形译码网络示意图三。图4D为本申请实施例提供的蝶形译码网络示意图四。
在极化码采用基于碟形译码网络译码方法时,比如SC(SuccessiveCancellation)译码算法或者SCL译码算法,碟形译码网络中每个节点会有一个对应的LLR值,这个值会基于译码算法规定的顺序,在译码过程中得到。
请参见图4A-图4D,接收端接收到16个LLR,分别记为LLR0、LLR1、……、LLR15,位于蝶形网络的右侧作为输入,该16个LLR对应16个比特,分别记为u0、u1、……、u15,位于蝶形网络的左侧作为输出,其中,u0-u15中包括信息比特和冻结比特。将16个比特分为4组,每组比特包括4个比特,该4组比特中包括的比特如表1所示:
表1
第一组比特 | u0、u1、u2、u3 |
第二组比特 | u4、u5、u6、u7 |
第三组比特 | u8、u9、u10、u11 |
第四组比特 | u12、u13、u14、u15 |
请参见图4A-图4D,在极化码蝶型译码网络中包括5列LLR(或5级LLR),从左向右第一列LLR为第一级LLR,第二列LLR为第二级LLR,以此类推,第五列LLR为第五级LLR。
请参见图4A,由于第一组比特中包括4个比特,x=log24=2,因此,第一组比特(u0、u1、u2、u3)对应4个LLR,第一组比特对应的4个LLR为极化码蝶形译码网络中、与u0、u1、u2、u3位于同一行的第3列LLR,即,第一组比特对应的4个LLR为图4A中所示的A、B、C、D所示的LLR。
请参见图4B,由于第二组比特中包括4个比特,x=log24=2,因此,第二组比特(u4、u5、u6、u7)对应4个LLR,第二组比特对应的4个LLR为极化码蝶形译码网络中、与u4、u5、u6、u7位于同一行的第3列LLR,即,第二组比特对应的4个LLR为图4B中所示的E、F、G、H所示的LLR。
请参见图4C,由于第三组比特中包括4个比特,x=log24=2,因此,第三组比特(u8、u9、u10、u11)对应4个LLR,第三组比特对应的4个LLR为极化码蝶形译码网络中、与u8、u9、u10、u11位于同一行的第3列LLR,即,第三组比特对应的4个LLR为图4C中所示的I、J、K、L所示的LLR。
请参见图4D,由于第四组比特中包括4个比特,x=log24=2,因此,第四组比特(u12、u13、u14、u15)对应4个LLR,第四组比特对应的4个LLR为极化码蝶形译码网络中、与u12、u13、u14、u15位于同一行的第3列LLR,即,第三组比特对应的4个LLR为图4D中所示的M、N、O、P所示的LLR。
S302、根据M的大小和M个比特中冻结比特的位置,确定译码规则。
其中,译码规则用于指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作。
可选的,译码规则还可以用于指示对M个LLR执行其它操作,例如,执行求和、求差、获取最大值等操作。
可选的,当对M个LLR执行多种操作时,可以是在前一种操作的基础上,执行下一种操作。
可选的,一个LLR的硬判值为0或1。
可选的,对M个LLR执行分组操作可以是按照预设规则,对M个LLR进行分组。例如,预设规则可以指示将编号为奇数的LLR分为一组,将编号为偶数的LLR分为一组;或者,预设规则可以指示将第一个LLR和第二个LLR分为一组,将第三个LLR和第四个LLR分为一组。在实际应用过程中,可以根据实际需要设置预设规则,本申请实施例对此不作具体限定。
可选的,对M个LLR执行排序操作可以是从小到大排序,也可以是从大到小排序。
可选的,可以预先设置M的大小和M个比特中冻结比特的位置与译码规则的对应关系,相应的,可以根据M的大小、M个比特中冻结比特的位置以及该对应关系,确定译码规则。
S303、根据译码规则和M个LLR,确定第i组待译码比特的译码结果。
可选的,可以先根据译码规则和M个LLR,确定M个比特对应的M个编码比特,再对M个编码比特进行反编码,得到译码结果。
可选的,M个编码比特是指对M个比特进行编码后的比特。
对M个编码比特进行反编码是指根据编码比特(还可以称为编码后的比特)得到编码前比特的过程。
可选的,可以通过如下可行的实现方式对M个编码比特进行反编码:可以将M个编码比特和极化码编码矩阵做矩阵乘法,以得到第i组待译码比特的译码结果。
本申请实施例提供的译码方法,接收到的数据对应P组比特,每组比特中包括M个比特,针对任意第i组比特,可以获取第i组比特对应的M个对数似然比LLR,根据M的大小和M个比特中冻结比特的位置确定译码规则,并根据译码规则和M个LLR,确定第i组比特的译码结果。译码规则用于指示对M个LLR执行获取硬判值、分组、排序中的一种或多种操作,因此,在对第i组比特进行译码时,可以根据译码规则快速的获取得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
需要说明的是,针对任意的第i组比特,当第i组比特中包括的比特个数M不同时,或者包括的冻结比特的位置不同时,译码规则不同,相应的,获取第i组比特的译码结果的过程也不同,下面,对不同译码规则下的译码方法进行说明。
第一种可能的译码规则:当第i组比特中的M个比特为M个信息比特时,可以通过图5实施例所示的方法获取第i组比特的译码结果。
图5为本申请实施例提供的另一种译码方法的流程示意图。请参见图5,该方法可以包括:
S501、获取第i组比特对应的M个LLR。
在图5所示的实施例中,第i组比特(包括M个比特)中的M个比特为M个信息比特,即,第i组比特中不包括冻结比特。
可选的,M可以为4、8等。
需要说明的是,S501的执行过程可以参见S301的执行过程,此处不再进行赘述。
S502、获取M个LLR的硬判值。
可选的,当LLR大于0时,则LLR的硬判值大于或等于0。当LLR小于0时,则LLR的硬判值为1。
S503、将M个LLR的硬判值确定为M个编码比特。
S504、对M个编码比特进行反编码,得到第i组比特的译码结果。
需要说明的是,S504的执行过程可以参见S303的执行过程,此处不再进行赘述。
在图5所示的实施例中,当第i组比特中不包括冻结比特时,根据上述方法可以快速确定得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
第二种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置为1时,可以通过图6实施例所示的方法获取第i组比特的译码结果。
需要说明的是,本申请实施例所示的位置均从1开始计数。当然,位置还可以从0开始计数,当位置从0开始计数时,可以对本申请所示的方法进行适应性调整。
图6为本申请实施例提供的又一种译码方法的流程示意图。请参见图6,该方法可以包括:
S601、获取第i组比特对应的M个LLR。
在图6所示的实施例中,第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置为1。
可选的,M可以为4、8等。
需要说明的是,S601的执行过程可以参见S301的执行过程,此处不再进行赘述。
S602、对M个LLR进行大小排序。
可选的,可以对M个LLR进行从小到大排序。或者,对M个LLR进行从大到小排序。
S603、从M个LLR排序后的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一组LLR,得到M/2组LLR。
例如,假设M为4,获取得到的4个LLR,对该4个LLR的排序结果为:LLRa≤LLRb≤LLRc≤LLRd,则可以将LLRa和LLRb分为一组,将LLRc和LLRb分为一组。
例如,假设M为8,获取得到8个LLR,对该8个LLR的排序结果为:LLRa≤LLRb≤LLRc≤LLRd≤LLRe≤LLRf≤LLRg≤LLRh,则可以将LLRa和LLRb分为一组,将LLRc和LLRb分为一组,将LLRe和LLRf分为一组,将LLRg和LLRh分为一组。
S604、根据每组LLR中的两个LLR之和,确定每组LLR对应的硬判值。
其中,一组LLR对应的硬判值包括两个比特。
可选的,当一组LLR中的两个LLR之和大于或等于0时,则该组LLR对应的硬判值为00。当一组LLR中的两个LLR之和小于0时,则该组LLR对应的硬判值为11。
需要说明的是,每组LLR对应的硬判值中包括该组LLR中每个LLR的硬判值。例如,假设一组LLR中包括LLR1和LLR2,该组LLR的硬判值为10,则1为LLR1的硬判值,0为LLR的硬判值。
S605、根据每组LLR对应的硬判值,确定M个编码比特。
可选的,M个编码比特中第i个编码比特为该组LLR中第i个LLR的硬判值,i依次为1、2、……、M。一组LLR中的LLR顺序为输入LLR的自然顺序。
例如,假设一组LLR中包括4个LLR,分别记为LLR1、LLR2、LL3和LLR4,相应的,可以得到4个编码比特,其中,第一个编码比特为LLR1的硬判值,第二个编码比特为LLR2的硬判值,第三个编码比特为LLR3的硬判值,第四个编码比特为LLR4的硬判值。
S606、对M个编码比特进行反编码,得到第i组比特的译码结果。
需要说明的是,S606的执行过程可以参见S303的执行过程,此处不再进行赘述。
下面,以M为4为例,对图6实施例所示的译码方法进行说明。
例如,当M为4时,第i组比特中包括4个比特,获取该4个比特对应的4个LLR,分别记为LLR1、LLR2、LLR3、LLR4,假设对该4个LLR进行排序的排序结果如下:
LLRa≤LLRb≤LLRc≤LLRd;a,b,c,d∈{1,2,3,4};
对该4个LLR进行分组如下:LLRa和LLRb为一组,LLRc和LLRd为一组。
每组LLR的硬判结果如下:
确定4个编码比特为:q1q2q3q4,对该4个编码比特进行反编码得到第i组比特的译码结果。
下面,以M为8为例,对图6实施例所示的译码方法进行说明。
例如,当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,假设对该8个LLR进行排序的排序结果如下:
LLRa≤LLRb≤LLRc≤LLRd≤LLRe≤LLRf≤LLRg≤LLRh;
a,b,c,d,e,f,g,h∈{1,2,3,4,5,6,7,8};
对该8个LLR进行分组如下:LLRa和LLRb为一组,LLRc和LLRd为一组,LLRe和LLRf为一组,LLRg和LLRh为一组。
每组LLR的硬判结果如下:
确定8个编码比特为:q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
在图6所示的实施例中,当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置为1时,根据上述方法可以快速确定得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
第三种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1和2时,可以通过图7实施例所示的方法获取第i组比特的译码结果。
图7为本申请实施例提供的另一种译码方法的流程示意图。请参见图7,该方法可以包括:
S701、获取第i组比特对应的M个LLR。
在图7所示的实施例中,第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置为1和2。
可选的,M可以为4、8等。
需要说明的是,S701的执行过程可以参见S301的执行过程,此处不再进行赘述。
S702、将M个LLR分为两组,一组LLR的中的LLR的编号为奇数,另一组LLR中的LLR的编号为偶数。
例如,假设M为4,接收到的4个LLR分别为LLR1、LLR2、LLR3和LLR4,则可以将LLR1和LLR3分为一组,将LLR2和LLR4分为一组。
S703、分别对每组LLR中的LLR进行大小排序。
其中,对每组LLR中的LLR进行大小排序是指,对组内的LLR进行大小排序。
例如,假设一组LLR为LLR1和LLR3,另一组LLR为LLR2和LLR4,则对LLR1和LLR3进行大小排序,以及对LLR2和LLR4进行大小排序。
可选的,对组内的LLR进行大小排序可以为从小到大排序,也可以为从大到小排序。
S704、针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR。
需要说明的是,当M等于4时,每组LLR中包括两个LLR,因此,对一组LLR进行子组划分时,一组LLR可以划分得到一子组LLR,即一组LLR与一子组LLR相同。
需要说明的是,对每组LLR进行子组划分,可以得到每组LLR对应的M/4子组LLR。相应的,一共可以得到M/2子组LLR。
例如,当M等于8时,先对8个LLR分成两组,每组中包括4个LLR。再分别将每组LLR分为两个子组,每个子组中包括两个LLR。
S705、根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值。
其中,一子组LLR对应的硬判值包括两个比特。
可选的,当一子组LLR中的两个LLR之和大于或等于0时,则该子组LLR对应的硬判值为00。当一子组LLR中的两个LLR之和小于0时,则该子组LLR对应的硬判值为11。
S706、根据每子组LLR对应的硬判值,确定M个编码比特。
可选的,可以按照每子组LLR中LLR的编号从小到大的顺序,对每子组LLR对应的硬判值进行排序,得到M个编码比特。即,M个编码比特为:LLR1的硬判值、LLR2的硬判值、……、LLRM的硬判值的组合。
S707、对M个编码比特进行反编码,得到第i组比特的译码结果。
需要说明的是,S707的执行过程可以参见S303的执行过程,此处不再进行赘述。
下面,以M为4为例,对图7实施例所示的译码方法进行说明。
例如,当M为4时,第i组比特中包括4个比特,获取该4个比特对应的4个LLR,分别记为LLR1、LLR2、LLR3、LLR4,将该4个LLR分为两组,LLR1和LLR3为一组,将LLR2和LLR4为一组。
每组LLR的硬判结果如下:
确定4个编码比特为:q1q2q3q4,对该4个编码比特进行反编码得到第i组比特的译码结果。
下面,以M为8为例,对图7实施例所示的译码方法进行说明。
例如,当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,将该8个LLR分为两组,其中,LLR1、LLR3、LLR5和LLR7为一组,LLR2、LLR4、LLR6和LLR8为一组。
对LLR1、LLR3、LLR5和LLR7进行排序的排序结果如下:
LLRa≤LLRb≤LLRc≤LLRd;a,b,c,d∈{1,3,5,7}
对LLR1、LLR3、LLR5和LLR7划分子组,LLRa和LLRb为一子组,LLRc和LLRd为一子组。
对LLR2、LLR4、LLR6和LLR8进行排序的排序结果如下:
LLRe≤LLRf≤LLRg≤LLRh;e,f,g,h∈{2,4,6,8}
对LLR2、LLR4、LLR6和LLR8划分子组,LLRe和LLRf为一子组,LLRg和LLRh为一子组。
每子组LLR的硬判结果如下:
确定8个编码比特为:q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
在图7所示的实施例中,当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1和2时,根据上述方法可以快速确定得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
第四种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1和3时,可以通过图8实施例所示的方法获取第i组比特的译码结果。
图8为本申请实施例提供的又一种译码方法的流程示意图。请参见图8,该方法可以包括:
S801、获取第i组比特对应的M个LLR。
在图8所示的实施例中,第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1和3。
可选的,M可以为4、8等。
需要说明的是,S801的执行过程可以参见S301的执行过程,此处不再进行赘述。
S802、将M个LLR分为两组。
其中,一组LLR中的LLR的编号为4K-2或4K-3,另一组LLR中的LLR的编号为4K或者4K-1,K为大于或等于1的整数,4K小于或等于M。
例如,当M为4时,K等于1,假设获取到的4个LLR分别为LLR1、LLR2、LLR3、LLR4,则可以将LLR1和LLR2分为一组,将LLR3和LLR4分为一组。
例如,当M为8时,则K等于1或2,假设获取到的8个LLR分别为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,则可以将LLR1、LLR2、LLR5和LLR6分为一组,将LLR3、LLR4、LLR7和LLR8分为一组。
S803、分别对每组LLR中的LLR进行大小排序。
其中,对每组LLR中的LLR进行大小排序是指,对组内的LLR进行大小排序。
例如,假设一组LLR为LLR1和LLR2,另一组LLR为LLR3和LLR4,则对LLR1和LLR2进行大小排序,以及对LLR3和LLR4进行大小排序。
可选的,对组内的LLR进行大小排序可以为从小到大排序,也可以为从大到小排序。
S804、针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR。
需要说明的是,S804的执行过程可以参见S704的执行过程,此处不再进行赘述。
S805、根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值。
其中,一子组LLR对应的硬判值包括两个比特。
可选的,当一子组LLR中的两个LLR之和大于或等于0时,则该子组LLR对应的硬判值为00。当一子组LLR中的两个LLR之和小于0时,则该子组LLR对应的硬判值为11。
S806、根据每子组LLR对应的硬判值,确定M个编码比特。
可选的,可以按照每子组LLR中LLR的编号从小到大的顺序,对每子组LLR对应的硬判值进行排序,得到M个编码比特。即,M个编码比特为:LLR1的硬判值、LLR2的硬判值、……、LLRM的硬判值的组合。
S807、对M个编码比特进行反编码,得到第i组比特的译码结果。
需要说明的是,S707的执行过程可以参见S303的执行过程,此处不再进行赘述。
下面,以M为8为例,对图8实施例所示的译码方法进行说明。
例如,当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,将该8个LLR分为两组,其中,LLR1、LLR2、LLR5和LLR6为一组,LLR3、LLR4、LLR7和LLR8为一组。
对LLR1、LLR2、LLR5和LLR6进行排序的排序结果如下:
LLRa≤LLRb≤LLRc≤LLRd;a,b,c,d∈{1,2,5,6}
对LLR1、LLR2、LLR5和LLR6划分子组,LLRa和LLRb为一子组,LLRc和LLRd为一子组。
对LLR3、LLR4、LLR7和LLR8进行排序的排序结果如下:
LLRe≤LLRf≤LLRg≤LLRh;e,f,g,h∈{3,4,7,8}
对LLR3、LLR4、LLR7和LLR8划分子组,LLRe和LLRf为一子组,LLRg和LLRh为一子组。
每子组LLR的硬判结果如下:
确定8个编码比特为:q1q2q2q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
在图8所示的实施例中,当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1和3时,根据上述方法可以快速确定得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
第五种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1、2、……、M-1时,可以通过图9实施例所示的方法获取第i组比特的译码结果。
图9为本申请实施例提供的另一种译码方法的流程示意图。请参见图9,该方法可以包括:
S901、获取第i组比特对应的M个LLR。
在图9所示的实施例中,第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1、2、……、M-1。
可选的,M可以为4、8等。当M为4时,冻结比特的位置分别为1、2、3。当M为8时,冻结比特的位置分别为1、2、3、4、5、6、7。
需要说明的是,S901的执行过程可以参见S301的执行过程,此处不再进行赘述。
S902、获取M个LLR的和。
S903、根据M个LLR的和,确定M个LLR对应的硬判值。
其中,M个LLR对应的硬判值包括M个比特。
可选的,当M个LLR的和大于或等于0时,M个LLR对应的硬判值为M个0。当M个LLR的和小于0时,M个LLR对应的硬判值为M个1。
例如,假设M为4时,当4个LLR的和大于或等于0时,4个LLR对应的硬判值为0000。当4个LLR的和小于0时,4个LLR对应的硬判值为1111。
S904、将M个LLR对应的硬判值确定为M个编码比特。
S905、对M个编码比特进行反编码,得到第i组比特的译码结果。
需要说明的是,S905的执行过程可以参见S303的执行过程,此处不再进行赘述。
下面,以M为4为例,对图9实施例所示的译码方法进行说明。
例如,当M为4时,第i组比特中包括4个比特,获取该4个比特对应的4个LLR,分别记为LLR1、LLR2、LLR3、LLR4,获取该4个LLR之和如下:
sum=LLR1+LLR2+LLR3+LLR4
该4个LLR的硬判值如下:
确定4个编码比特为:q1q2q3q4,对该4个编码比特进行反编码得到第i组比特的译码结果。
下面,以M为8为例,对图9实施例所示的译码方法进行说明。
例如,当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,获取该8个LLR之和如下:
sum=LLR1+LLR2+LLR3+LLR4+LLR5+LLR6+LLR7+LLR8
该8个LLR的硬判值如下:
确定8个编码比特为:q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
在图9所示的实施例中,当第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1、2、……、M-1时,根据上述方法可以快速确定得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
第六种可能的译码规则:当第i组比特中的M个比特为M个冻结比特时,确定M个编码比特均为0,对该M个编码比特进行反编码得到第i组比特的译码结果。可选的,M为4或8。
第七种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M大于4,冻结比特的位置分别为1、2和3时,可以通过图10实施例所示的方法获取第i组比特的译码结果。
图10为本申请实施例提供的再一种译码方法的流程示意图。请参见图10,该方法可以包括:
S1001、获取第i组比特对应的M个LLR。
在图10所示的实施例中,第i组比特(包括M个比特)中包括信息比特和冻结比特,冻结比特的位置分别为1、2和3。
其中,M大于4。
可选的,M可以为8。
需要说明的是,S1001的执行过程可以参见S301的执行过程,此处不再进行赘述。
S1002、将M个LLR分为四组。
其中,四组LLR中的LLR的编号分别为4K-3、4K-2、4K-1和4K,K为大于或等于1的整数,4K小于或等于M。
可选的,当M等于8时,K等于1或2,假设获取到的8个LLR分别为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,则可以将LLR1和LLR5分为一组,将LLR2和LLR6分为一组,将LLR3和LLR7分为一组,将LLR4和LLR8分为一组。
S1003、分别对每组LLR中的LLR进行大小排序。
S1004、针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR。
需要说明的是,S1004的执行过程可以参见S704的执行过程,此处不再进行赘述。
S1004、根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值。
其中,一子组LLR对应的硬判值包括两个比特。
可选的,当一子组LLR中的两个LLR之和大于或等于0时,则该子组LLR对应的硬判值为00。当一子组LLR中的两个LLR之和小于0时,则该子组LLR对应的硬判值为11。
S1005、根据每子组LLR对应的硬判值确定第一目标函数值。
其中,第一目标函数值用于指示根据每子组对应的硬判值确定得到的译码结果的可靠度。
可选的,可以通过如下可行的实现方式确定第一目标函数值PQ2:
假设每子组LLR对应的硬判值为q1、q2、q3、……、qM-1、qM,Pi,0表示第i比特是0的概率,Pi,1表示第i比特是1的概率。
对于码字Q来说,编码前码字为q1q2…qM-1qM的概率为:
因为编码前的Pi,0和Pi,1可由LLRi求得,因此,可以认为是常数,同时取对数不改变单调性,可以得到第一目标函数值PQ2为:
其中,{a,b}表示该求和项只能从a和b中选择一个加入到求和式中,当qi=1时,将加0到求和式中,而当qi=0时,将加LLRi到求和式中。
需要注意的是,上述只是以示例的形式示意一种可能的目标函数值的计算方法,本申请实施例对确定目标函数值的方法不作具体限定。
S1006、对每子组LLR对应的硬判值中、绝对值最小的LLR对应的硬判值进行翻转。
例如,假设一个LLR1和LLR5为一个子组,假设该子组对应的硬判值为00(该硬判值中第一位为LLR1对应的硬判值,第二位为LLR5对应的硬判值),当|LLR1|≥|LLR5|时,则对该子组对应的硬判值(00)中的第二位进行翻转,得到01。
S1007、根据每子组LLR对应的翻转后的硬判值确定第二目标函数值。
其中,第二目标函数值用于指示根据每子组LLR对应的翻转后的硬判值确定得到的译码结果的可靠度。
需要说明的是,确定第二目标函数值的过程可以参见S1005中确定第一目标函数值的过程,此处不再进行赘述。
S1008、根据第一目标函数值、第二目标函数值、每子组LLR对应的硬判值和每子组对应的翻转后的硬判值确定M个编码比特。
可选的,若第一目标函数值大于第二目标函数值,则根据每子组LLR对应的硬判值确定M个编码比特。若第二目标函数值大于第一目标函数值,则根据每子组对应的翻转后的硬判值确定M个编码比特。
S1009、对M个编码比特进行反编码,得到第i组比特的译码结果。
需要说明的是,S1009的执行过程可以参见S303的执行过程,此处不再进行赘述。
下面,以M为8为例,对图10实施例所示的译码方法进行说明。
例如,当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,将该8个LLR分为四组,其中,LLR1和LLR5一组,LLR2和LLR6一组,LLR3和LLR7一组,LLR4和LLR8一组。
需要说明的是,由于一组LLR中包括两个LLR,因此,无需对每组LLR再划分子组。
确定每组LLR的第一硬判结果如下:
根据第一硬判结果中的q1、q2、q3、q4、q5、q6、q7和q8确定第一目标函数值。
确定每组LLR的第二硬判结果如下:
根据第二硬判结果中的q1、q2、q3、q4、q5、q6、q7和q8确定第二目标函数值。
当第一目标函数值大于第二目标函数值时,则确定8个编码比特为第一硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
当第二目标函数值大于第一目标函数值是,则确定8个编码比特为第二硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
在图10所示的实施例中,当第i组比特(包括M个比特)中包括信息比特和冻结比特,M大于4,且冻结比特的位置分别为1、2和3时,根据上述方法可以快速确定得到第i组比特的译码结果,提高了译码速度,降低了译码复杂度。
第八种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3和5时,可以通过如下可能的实现方式获取第i组比特的译码结果:
当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,对该8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
dif1=LLR1-LLR5
dif2=LLR2-LLR6
dif3=LLR3-LLR7
dif4=LLR4-LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
对dif1、dif2、dif3、dif4进行大小排序,得到dife≤diff≤difg≤difh,e,f,g,h∈{1,2,3,4};
确定第一硬判结果为:
其中,若suma=LLRi+LLRj则a1=i,a2=j,若sumb=LLRi+LLRj则b1=i,b2=j,若sumc=LLRi+LLRj则c1=i,c2=j,若sumd=LLRi+LLRj则d1=i,d2=j;
确定第二硬判结果为:
其中,若dife=LLRi-LLRj则e1=i,e2=j,若diff=LLRi-LLRj则f1=i,f2=j,若difg=LLRi-LLRj则g1=i,g2=j,若difh=LLRi-LLRj则h1=i,h2=j;
根据第一硬判结果确定第一目标函数值,根据第二硬判结果确定第二目标函数值。其中,第一目标函数值用于指示根据第一硬判结果确定得到的译码结果的可靠度,第二目标函数值用于指示根据第二硬判结果确定得到的译码结果的可靠度。需要说明的是,确定第一目标函数值和第二目标函数值的过程可以参见S1005,此处不再进行赘述。
当第一目标函数值大于第二目标函数值时,则确定8个编码比特为第一硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
当第二目标函数值大于第一目标函数值是,则确定8个编码比特为第二硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
第九种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、4和5时,可以通过如下可能的实现方式获取第i组比特的译码结果:
当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,对该8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定8个编码比特为硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
第十种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、5和6时,可以通过如下可能的实现方式获取第i组比特的译码结果:
当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,对该8个LLR进行如下运算:
sum1=LLR1+LLR3
sum2=LLR2+LLR4
sum3=LLR5+LLR7
sum4=LLR6+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定8个编码比特为硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
第十一种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、5和7时,可以通过如下可能的实现方式获取第i组比特的译码结果:
当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,对该8个LLR进行如下运算:
sum1=LLR1+LLR2
sum2=LLR3+LLR4
sum3=LLR5+LLR6
sum4=LLR7+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定8个编码比特为硬判结果中的q1q2q3q4q5q6q7q8,对该8个编码比特进行反编码得到第i组比特的译码结果。
第十二种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、4、5和7时,可以通过如下可能的实现方式获取第i组比特的译码结果:
当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,对该8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR3+LLR4+LLR7+LLR8
sum4=LLR1+LLR2+LLR5+LLR6
对该8个编码比特Q进行反编码得到第i组比特的译码结果。
第十三种可能的译码规则:当第i组比特(包括M个比特)中包括信息比特和冻结比特,M为8,冻结比特的位置分别为1、2、3、4、5和6时,可以通过如下可能的实现方式获取第i组比特的译码结果:
当M为8时,第i组比特中包括8个比特,获取该8个比特对应的8个LLR,分别记为LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7、LLR8,对该8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR2+LLR4+LLR6+LLR8
sum4=LLR1+LLR3+LLR5+LLR7
对该8个编码比特Q进行反编码得到第i组比特的译码结果。
需要说明的是,本申请实施例所示的译码方法还可以应用于打孔极化码的译码算法中。
可选的,对于将准均匀打孔(Quasi-Uniform Puncturing,QUP)算法,被打孔位置认为x的值是0、1等概率的,那么被打孔的位置LLR=0,通过上述实施例所示的方法可以实现快速译码。
可选的,对于Shorten打孔算法,被打孔位置认为x的值只能是0,那么被打孔的位置LLR=+∞,由于极限在计算机中很难实现,故令对应的LLR取值为一个足够大的正数值,如10000,将其带入表中算法可实现快速译码。
在本申请实施例所示的译码方法中,在保证算法纠错性能的同时,降低了传统极化码译码算法(例如ML译码算法)的复杂度。针对多种极化码编码前码字进行了方案设计,使其对码长、码率等参数的敏感度较小,适应性较强,易于硬件实现。进一步的,由于给出了在打孔情况下的计算方式,使得算法可以实现速率匹配。
图11为本申请实施例提供的译码装置的结构示意图。译码装置10接收到的数据对应P组比特,每组比特中包括M个比特,所述装置包括:获取模块11、第一确定模块12和第二确定模块13,其中,
所述获取模块11用于,获取第i组比特对应的M个对数似然比LLR,所述M个LLR为极化码蝶形译码网络中从左向右的、所述M个比特对应的第a+1列LLR,所述P为大于1的整数,所述i为整数,1≤i≤P,所述M为大于1的整数,所述a为大于0的正整数,a=log2M;
所述第一确定模块12用于,根据所述M的大小和所述M个比特中冻结比特的位置,确定译码规则,所述译码规则用于指示对所述M个LLR执行获取硬判值、分组、排序中的一种或多种操作;
所述第二确定模块13用于,根据所述译码规则和所述M个LLR,确定所述第i组比特的译码结果。
可选的,获取模块11可以执行图3实施例中的S301、图5实施例中的S501、图6实施例中的S601、图7实施例中的S701、图8实施例中的S801、图9实施例中的S901和图10实施例中的S1001。
可选的,第一确定模块12可以执行图3实施例中的S302。
可选的,第二确定模块13可以执行图3实施例中的S303、图5实施例中的S502-S504、图6实施例中的S602-S606、图7实施例中的S702-S707、图8实施例中的S802-S807、图9实施例中的S902-S905和图10实施例中的S1001-S1009。
需要说明的是,本申请实施例所示的译码装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不在进行赘述。
在一种可能的实施方式中,所述第二确定模块13具体用于:
根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特;
对所述M个编码比特进行反编码,得到所述译码结果。
在一种可能的实施方式中,所述M个比特为M个信息比特;所述第二确定模块13具体用于:
获取所述M个LLR的硬判值;
将所述M个LLR的硬判值确定为所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置为1;所述第二确定模块13具体用于:
对所述M个LLR进行大小排序;
从所述M个LLR排序后的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一组LLR,得到M/2组LLR;
根据每组LLR中的两个LLR之和,确定每组LLR对应的硬判值,一组LLR对应的硬判值包括两个比特;
根据每组LLR对应的硬判值,确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和2;所述第二确定模块13具体用于:
将所述M个LLR分为两组,一组LLR的中的LLR的编号为奇数,另一组LLR中的LLR的编号为偶数;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和3;所述第二确定模块13具体用于:
将所述M个LLR分为两组,一组LLR中的LLR的编号为4K-2或4K-3,另一组LLR中的LLR的编号为4K或者4K-1,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1、2、……、M-1;所述第二确定模块13具体用于:
获取所述M个LLR的和;
根据所述M个LLR的和,确定所述M个LLR对应的硬判值,所述M个LLR对应的硬判值包括M个比特;
将所述M个LLR对应的硬判值确定为所述M个编码比特。
在一种可能的实施方式中,M个比特为M个冻结比特;所述第二确定模块13具体用于:
确定所述M个编码比特均为0。
在一种可能的实施方式中,所述M为4或者8。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M大于4,所述冻结比特的位置分别为1、2和3;所述第二确定模块13具体用于:
将所述M个LLR分为四组,四组LLR中的LLR的编号分别为4K-3、4K-2、4K-1和4K,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR,根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,根据每子组LLR对应的硬判值确定第一目标函数值,一子组LLR对应的硬判值包括两个比特,所述第一目标函数值用于指示根据所述每子组对应的硬判值确定得到的译码结果的可靠度;
对每子组LLR对应的硬判值中、绝对值最小的LLR对应的硬判值进行翻转,并根据每子组LLR对应的翻转后的硬判值确定第二目标函数值,所述第二目标函数值用于指示根据所述每子组LLR对应的翻转后的硬判值确定得到的译码结果的可靠度;
根据第一目标函数值、第二目标函数值、每子组LLR对应的硬判值和每子组对应的翻转后的硬判值确定所述M个编码比特。
在一种可能的实施方式中,所述M为8。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3和5;所述第二确定模块13具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
dif1=LLR1-LLR5
dif2=LLR2-LLR6
dif3=LLR3-LLR7
dif4=LLR4-LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
对dif1、dif2、dif3、dif4进行大小排序,得到dife≤diff≤difg≤difh,e,f,g,h∈{1,2,3,4};
确定第一硬判结果为:
其中,若suma=LLRi+LLRj则a1=i,a2=j,若sumb=LLRi+LLRj则b1=i,b2=j,若sumc=LLRi+LLRj则c1=i,c2=j,若sumd=LLRi+LLRj则d1=i,d2=j;
确定第二硬判结果为:
其中,若dife=LLRi-LLRj则e1=i,e2=j,若diff=LLRi-LLRj则f1=i,f2=j,若difg=LLRi-LLRj则g1=i,g2=j,若difh=LLRi-LLRj则h1=i,h2=j;
根据所述第一硬判结果确定第一目标函数值,根据所述第二硬判结果确定第二目标函数值,并根据所述第一目标函数值、所述第二目标函数值、所述第一硬判结果和所述第二硬判结果确定所述M个编码比特,所述第一目标函数值用于指示根据所述第一硬判结果确定得到的译码结果的可靠度,所述第二目标函数值用于指示根据所述第二硬判结果确定得到的译码结果的可靠度。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4和5;所述第二确定模块13具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj则a1=i,a2=j,若sumb=LLRi+LLRj则b1=i,b2=j,若sumc=LLRi+LLRj则c1=i,c2=j,若sumd=LLRi+LLRj则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和6;所述第二确定模块13具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR3
sum2=LLR2+LLR4
sum3=LLR5+LLR7
sum4=LLR6+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj则a1=i,a2=j,若sumb=LLRi+LLRj则b1=i,b2=j,若sumc=LLRi+LLRj则c1=i,c2=j,若sumd=LLRi+LLRj则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和7;所述第二确定模块13具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR2
sum2=LLR3+LLR4
sum3=LLR5+LLR6
sum4=LLR7+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj则a1=i,a2=j,若sumb=LLRi+LLRj则b1=i,b2=j,若sumc=LLRi+LLRj则c1=i,c2=j,若sumd=LLRi+LLRj则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4、5和7;所述第二确定模块13具体用于:
对8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR3+LLR4+LLR7+LLR8
sum4=LLR1+LLR2+LLR5+LLR6
在一种可能的实施方式中,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4、5和6;所述第二确定模块13具体用于:
对8个LLR进行如下运算:
sum1=LLR1+…+LLR8
sum2=0
sum3=LLR2+LLR4+LLR6+LLR8
sum4=LLR1+LLR3+LLR5+LLR7
需要说明的是,本申请实施例所示的译码装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不在进行赘述。
图12为本申请提供的译码装置的硬件结构示意图。请参见图12,该译码装置20包括:存储器21和处理器22,其中,存储器21和处理器22通信;示例性的,存储器21和处理器22通过通信总线23通信,所述存储器21用于存储计算机程序,所述处理器22执行所述计算机程序实现上述实施例所示的方法。
可选的,译码装置20还可以包括发送器和/或接收器。
可选的,处理器22具有图11实施例中获取模块11、第一确定模块12和第二确定模块13的功能,并可以执行图11实施例中获取模块11、第一确定模块12和第二确定模块13可执行的相关操作。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤(图2实施例中的S201-S202、图3实施例中的S301-S303、图5实施例中的S501-S504、图6实施例中的S601-S606、图7实施例中的S701-S707、图8实施例中的S801-S807、图9实施例中的S901-S905、以及图10实施例中的S1001-S1009)可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于实现上述任意方法实施例所述的译码方法。
本申请提供一种芯片,该芯片用于支持接收设备(例如终端设备、网络设备等)实现本申请实施例所示的功能(例如,获取M个LLR、确定译码规则、确定译码结果等),该芯片具体用于芯片系统,该芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。当实现上述方法的为接收设备内的芯片时,芯片包括处理单元,进一步的,芯片还可以包括通信单元,所述处理单元例如可以是处理器,当芯片包括通信单元时,所述通信单元例如可以是输入/输出接口、管脚或电路等。处理单元执行本申请实施例中各个处理模块(例如图11中的获取模块11、第一确定模块12和第二确定模块13)所执行的全部或部分动作,通信单元可执行相应的接收或发送动作,例如,在获取第i组比特对应的M个LLR之前,接收待译码比特等。在另一具体的实施例中,本申请中的接收设备的处理模块可以是芯片的处理单元,控制设备的接收模块或发送模块是芯片的通信单元。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
Claims (36)
1.一种译码方法,接收到的数据对应P组比特,每组比特中包括M个比特,其特征在于,所述方法包括:
获取第i组比特对应的M个对数似然比LLR,所述M个LLR为极化码蝶形译码网络中从左向右的、所述M个比特对应的第a+1列LLR,所述P为大于1的整数,所述i为整数,1≤i≤P,所述M为大于1的整数,所述a为大于0的正整数,a=log2M;
根据所述M的大小和所述M个比特中冻结比特的位置,确定译码规则,所述译码规则用于指示对所述M个LLR执行获取硬判值、分组、排序中的一种或多种操作;
根据所述译码规则和所述M个LLR,确定所述第i组比特的译码结果。
2.根据权利要求1所述的方法,其特征在于,根据所述译码规则和所述M个LLR,确定所述第i组比特的译码结果,包括:
根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特;
对所述M个编码比特进行反编码,得到所述译码结果。
3.根据权利要求2所述的方法,其特征在于,所述M个比特为M个信息比特;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
获取所述M个LLR的硬判值;
将所述M个LLR的硬判值确定为所述M个编码比特。
4.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置为1;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
对所述M个LLR进行大小排序;
从所述M个LLR排序后的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一组LLR,得到M/2组LLR;
根据每组LLR中的两个LLR之和,确定每组LLR对应的硬判值,一组LLR对应的硬判值包括两个比特;
根据每组LLR对应的硬判值,确定所述M个编码比特。
5.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和2;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
将所述M个LLR分为两组,一组LLR的中的LLR的编号为奇数,另一组LLR中的LLR的编号为偶数;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
6.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和3;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
将所述M个LLR分为两组,一组LLR中的LLR的编号为4K-2或4K-3,另一组LLR中的LLR的编号为4K或者4K-1,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
7.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1、2、……、M-1;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
获取所述M个LLR的和;
根据所述M个LLR的和,确定所述M个LLR对应的硬判值,所述M个LLR对应的硬判值包括M个比特;
将所述M个LLR对应的硬判值确定为所述M个编码比特。
8.根据权利要求2所述的方法,其特征在于,M个比特为M个冻结比特;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
确定所述M个编码比特均为0。
9.根据权利要求3-8任一项所述的方法,其特征在于,所述M为4或者8。
10.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M大于4,所述冻结比特的位置分别为1、2和3;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
将所述M个LLR分为四组,四组LLR中的LLR的编号分别为4K-3、4K-2、4K-1和4K,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR,根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,根据每子组LLR对应的硬判值确定第一目标函数值,一子组LLR对应的硬判值包括两个比特,所述第一目标函数值用于指示根据所述每子组对应的硬判值确定得到的译码结果的可靠度;
对每子组LLR对应的硬判值中、绝对值最小的LLR对应的硬判值进行翻转,并根据每子组LLR对应的翻转后的硬判值确定第二目标函数值,所述第二目标函数值用于指示根据所述每子组LLR对应的翻转后的硬判值确定得到的译码结果的可靠度;
根据第一目标函数值、第二目标函数值、每子组LLR对应的硬判值和每子组对应的翻转后的硬判值确定所述M个编码比特。
11.根据权利要求10所述的方法,其特征在于,所述M为8。
12.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3和5;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
dif1=LLR1-LLR5
dif2=LLR2-LLR6
dif3=LLR3-LLR7
dif4=LLR4-LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
对dif1、dif2、dif3、dif4进行大小排序,得到dife≤diff≤difg≤difh,e,f,g,h∈{1,2,3,4};
确定第一硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定第二硬判结果为:
其中,若dife=LLRi-LLRj,则e1=i,e2=j,若diff=LLRi-LLRj,则f1=i,f2=j,若difg=LLRi-LLRj,则g1=i,g2=j,若difh=LLRi-LLRj,则h1=i,h2=j;
根据所述第一硬判结果确定第一目标函数值,根据所述第二硬判结果确定第二目标函数值,并根据所述第一目标函数值、所述第二目标函数值、所述第一硬判结果和所述第二硬判结果确定所述M个编码比特,所述第一目标函数值用于指示根据所述第一硬判结果确定得到的译码结果的可靠度,所述第二目标函数值用于指示根据所述第二硬判结果确定得到的译码结果的可靠度。
13.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4和5;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
14.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和6;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR3
sum2=LLR2+LLR4
sum3=LLR5+LLR7
sum4=LLR6+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
15.根据权利要求2所述的方法,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和7;所述根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特,包括:
对8个LLR进行如下运算:
sum1=LLR1+LLR2
sum2=LLR3+LLR4
sum3=LLR5+LLR6
sum4=LLR7+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
18.一种译码装置,接收到的数据对应P组比特,每组比特中包括M个比特,其特征在于,所述装置包括:获取模块、第一确定模块和第二确定模块,其中,
所述获取模块用于,获取第i组比特对应的M个对数似然比LLR,所述M个LLR为极化码蝶形译码网络中从左向右的、所述M个比特对应的第a+1列LLR,所述P为大于1的整数,所述i为整数,1≤i≤P,所述M为大于1的整数,所述a为大于0的正整数,a=log2M;
所述第一确定模块用于,根据所述M的大小和所述M个比特中冻结比特的位置,确定译码规则,所述译码规则用于指示对所述M个LLR执行获取硬判值、分组、排序中的一种或多种操作;
所述第二确定模块用于,根据所述译码规则和所述M个LLR,确定所述第i组比特的译码结果。
19.根据权利要求18所述的装置,其特征在于,所述第二确定模块具体用于:
根据所述译码规则和所述M个LLR,确定所述M个比特对应的M个编码比特;
对所述M个编码比特进行反编码,得到所述译码结果。
20.根据权利要求19所述的装置,其特征在于,所述M个比特为M个信息比特;所述第二确定模块具体用于:
获取所述M个LLR的硬判值;
将所述M个LLR的硬判值确定为所述M个编码比特。
21.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置为1;所述第二确定模块具体用于:
对所述M个LLR进行大小排序;
从所述M个LLR排序后的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一组LLR,得到M/2组LLR;
根据每组LLR中的两个LLR之和,确定每组LLR对应的硬判值,一组LLR对应的硬判值包括两个比特;
根据每组LLR对应的硬判值,确定所述M个编码比特。
22.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和2;所述第二确定模块具体用于:
将所述M个LLR分为两组,一组LLR的中的LLR的编号为奇数,另一组LLR中的LLR的编号为偶数;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
23.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1和3;所述第二确定模块具体用于:
将所述M个LLR分为两组,一组LLR中的LLR的编号为4K-2或4K-3,另一组LLR中的LLR的编号为4K或者4K-1,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR;
根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,一子组LLR对应的硬判值包括两个比特;
根据每子组LLR对应的硬判值,确定所述M个编码比特。
24.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述冻结比特的位置分别为1、2、……、M-1;所述第二确定模块具体用于:
获取所述M个LLR的和;
根据所述M个LLR的和,确定所述M个LLR对应的硬判值,所述M个LLR对应的硬判值包括M个比特;
将所述M个LLR对应的硬判值确定为所述M个编码比特。
25.根据权利要求19所述的装置,其特征在于,M个比特为M个冻结比特;所述第二确定模块具体用于:
确定所述M个编码比特均为0。
26.根据权利要求20-25任一项所述的装置,其特征在于,所述M为4或者8。
27.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M大于4,所述冻结比特的位置分别为1、2和3;所述第二确定模块具体用于:
将所述M个LLR分为四组,四组LLR中的LLR的编号分别为4K-3、4K-2、4K-1和4K,所述K为大于或等于1的整数,所述4K小于或等于所述M;
分别对每组LLR中的LLR进行大小排序;
针对每组LLR,从组内的第一个LLR起,将排序后的LLR中相邻的两个LLR分为一子组LLR,根据每子组LLR中两个LLR之和确定每子组LLR对应的硬判值,根据每子组LLR对应的硬判值确定第一目标函数值,一子组LLR对应的硬判值包括两个比特,所述第一目标函数值用于指示根据所述每子组对应的硬判值确定得到的译码结果的可靠度;
对每子组LLR对应的硬判值中、绝对值最小的LLR对应的硬判值进行翻转,并根据每子组LLR对应的翻转后的硬判值确定第二目标函数值,所述第二目标函数值用于指示根据所述每子组LLR对应的翻转后的硬判值确定得到的译码结果的可靠度;
根据第一目标函数值、第二目标函数值、每子组LLR对应的硬判值和每子组对应的翻转后的硬判值确定所述M个编码比特。
28.根据权利要求27所述的装置,其特征在于,所述M为8。
29.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3和5;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
dif1=LLR1-LLR5
dif2=LLR2-LLR6
dif3=LLR3-LLR7
dif4=LLR4-LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
对dif1、dif2、dif3、dif4进行大小排序,得到dife≤diff≤difg≤difh,e,f,g,h∈{1,2,3,4};
确定第一硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
确定第二硬判结果为:
其中,若dife=LLRi-LLRj则e1=i,e2=j,若diff=LLRi-LLRj则f1=i,f2=j,若difg=LLRi-LLRj则g1=i,g2=j,若difh=LLRi-LLRj则h1=i,h2=j;
根据所述第一硬判结果确定第一目标函数值,根据所述第二硬判结果确定第二目标函数值,并根据所述第一目标函数值、所述第二目标函数值、所述第一硬判结果和所述第二硬判结果确定所述M个编码比特,所述第一目标函数值用于指示根据所述第一硬判结果确定得到的译码结果的可靠度,所述第二目标函数值用于指示根据所述第二硬判结果确定得到的译码结果的可靠度。
30.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、4和5;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR5
sum2=LLR2+LLR6
sum3=LLR3+LLR7
sum4=LLR4+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
31.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和6;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR3
sum2=LLR2+LLR4
sum3=LLR5+LLR7
sum4=LLR6+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
32.根据权利要求19所述的装置,其特征在于,所述M个比特中包括信息比特和冻结比特,所述M为8,所述冻结比特的位置分别为1、2、3、5和7;所述第二确定模块具体用于:
对8个LLR进行如下运算:
sum1=LLR1+LLR2
sum2=LLR3+LLR4
sum3=LLR5+LLR6
sum4=LLR7+LLR8
对sum1、sum2、sum3、sum4进行大小排序,得到suma≤sumb≤sumc≤sumd,a,b,c,d∈{1,2,3,4};
确定硬判结果为:
其中,若suma=LLRi+LLRj,则a1=i,a2=j,若sumb=LLRi+LLRj,则b1=i,b2=j,若sumc=LLRi+LLRj,则c1=i,c2=j,若sumd=LLRi+LLRj,则d1=i,d2=j;
根据所述硬判结果确定所述M个编码比特。
35.一种译码装置,其特征在于,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现权利要求1-17任一项所述的译码方法。
36.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序用于实现权利要求1-17任一项所述的译码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910241817.0A CN111756384B (zh) | 2019-03-28 | 2019-03-28 | 译码方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910241817.0A CN111756384B (zh) | 2019-03-28 | 2019-03-28 | 译码方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756384A true CN111756384A (zh) | 2020-10-09 |
CN111756384B CN111756384B (zh) | 2022-08-26 |
Family
ID=72672101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910241817.0A Active CN111756384B (zh) | 2019-03-28 | 2019-03-28 | 译码方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756384B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050220197A1 (en) * | 2001-10-03 | 2005-10-06 | Makoto Noda | Coding method and decoding method |
CN103546239A (zh) * | 2013-09-24 | 2014-01-29 | 东南大学 | 一种用于lte下行控制信道的盲检系统及其盲检方法 |
CN104038234A (zh) * | 2013-03-07 | 2014-09-10 | 华为技术有限公司 | 极性码的译码方法和译码器 |
CN104242957A (zh) * | 2013-06-09 | 2014-12-24 | 华为技术有限公司 | 译码处理方法及译码器 |
CN106685656A (zh) * | 2017-01-18 | 2017-05-17 | 北京邮电大学 | 一种基于极化码的连续变量量子密钥分发系统中的数据纠错方法 |
US20170149531A1 (en) * | 2015-11-24 | 2017-05-25 | Coherent Logix, Incorporated | Memory Management and Path Sort Techniques in a Polar Code Successive Cancellation List Decoder |
CN107565980A (zh) * | 2017-09-26 | 2018-01-09 | 北京北方烽火科技有限公司 | 一种译码方法及译码器 |
WO2018032986A1 (en) * | 2016-08-19 | 2018-02-22 | Huawei Technologies Co., Ltd. | Reduced-stage polar decoding |
US20180076922A1 (en) * | 2016-09-15 | 2018-03-15 | Huawei Technologies Co., Ltd. | Method and Apparatus for Encoding Data Using a Polar Code |
CN108063649A (zh) * | 2017-12-14 | 2018-05-22 | 东南大学 | 一种低时延低复杂度的极化码译码方法 |
US20180205496A1 (en) * | 2017-01-17 | 2018-07-19 | Qualcomm Incorporated | Design of robust and universal polar codes |
CN109428607A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 极化码的译码方法、译码器及译码设备 |
-
2019
- 2019-03-28 CN CN201910241817.0A patent/CN111756384B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050220197A1 (en) * | 2001-10-03 | 2005-10-06 | Makoto Noda | Coding method and decoding method |
CN104038234A (zh) * | 2013-03-07 | 2014-09-10 | 华为技术有限公司 | 极性码的译码方法和译码器 |
CN104242957A (zh) * | 2013-06-09 | 2014-12-24 | 华为技术有限公司 | 译码处理方法及译码器 |
CN103546239A (zh) * | 2013-09-24 | 2014-01-29 | 东南大学 | 一种用于lte下行控制信道的盲检系统及其盲检方法 |
US20170149531A1 (en) * | 2015-11-24 | 2017-05-25 | Coherent Logix, Incorporated | Memory Management and Path Sort Techniques in a Polar Code Successive Cancellation List Decoder |
WO2018032986A1 (en) * | 2016-08-19 | 2018-02-22 | Huawei Technologies Co., Ltd. | Reduced-stage polar decoding |
US20180076922A1 (en) * | 2016-09-15 | 2018-03-15 | Huawei Technologies Co., Ltd. | Method and Apparatus for Encoding Data Using a Polar Code |
US20180205496A1 (en) * | 2017-01-17 | 2018-07-19 | Qualcomm Incorporated | Design of robust and universal polar codes |
CN106685656A (zh) * | 2017-01-18 | 2017-05-17 | 北京邮电大学 | 一种基于极化码的连续变量量子密钥分发系统中的数据纠错方法 |
CN109428607A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 极化码的译码方法、译码器及译码设备 |
CN107565980A (zh) * | 2017-09-26 | 2018-01-09 | 北京北方烽火科技有限公司 | 一种译码方法及译码器 |
CN108063649A (zh) * | 2017-12-14 | 2018-05-22 | 东南大学 | 一种低时延低复杂度的极化码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111756384B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114884610B (zh) | 用于极化编码的方法、装置和设备 | |
CN107204779B (zh) | 极性码的编码方法和编码装置 | |
CN107113090B (zh) | 极化Polar码的生成方法和设备 | |
CN107078748B (zh) | 极性码的编码方法和编码装置 | |
CN103684477B (zh) | 混合极性码的生成方法和生成装置 | |
CN108574561B (zh) | 极化码编码的方法和装置 | |
CN106416083B (zh) | 一种打孔的极化码的构造方法和装置 | |
WO2017101631A1 (zh) | 用于处理极化码的方法和通信设备 | |
JP2020536432A (ja) | Polar符号化方法および装置ならびにPolar復号方法および装置 | |
CN108347301B (zh) | 数据的传输方法和装置 | |
WO2016172940A1 (zh) | 极性码的译码方法和译码装置 | |
CN108574494B (zh) | 编译码方法及装置 | |
CN104124979A (zh) | 极性码的译码方法和译码装置 | |
EP3614701A1 (en) | Polar code transmission method and device | |
CN109257140B (zh) | 一种极化信道可靠度排序的方法、极化码编码方法及装置 | |
CN109428607B (zh) | 极化码的译码方法、译码器及译码设备 | |
CN108494527B (zh) | 一种基于LoRa的数据发送和接收方法 | |
WO2016141544A1 (zh) | 传输信息的方法和通信设备 | |
CN108809332B (zh) | 一种Polar码传输方法及装置 | |
CN110999095A (zh) | 用于极化码的按块并行冻结位生成 | |
WO2019024594A1 (zh) | 极化码的编译码方法、装置及设备 | |
CN110391874B (zh) | 极化码的速率匹配、解速率匹配方法及设备 | |
CN111756384B (zh) | 译码方法、装置及设备 | |
CN114079530A (zh) | 编码方法及装置 | |
CN110622426A (zh) | 用互补序列打孔极性码 |
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 |