CN109428672B - 信息编译码方法和装置、信息处理系统 - Google Patents
信息编译码方法和装置、信息处理系统 Download PDFInfo
- Publication number
- CN109428672B CN109428672B CN201710738379.XA CN201710738379A CN109428672B CN 109428672 B CN109428672 B CN 109428672B CN 201710738379 A CN201710738379 A CN 201710738379A CN 109428672 B CN109428672 B CN 109428672B
- Authority
- CN
- China
- Prior art keywords
- crc
- code
- decoding
- information
- check code
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开一种信息编译码方法和装置、信息处理系统,涉及移动通信领域。其中信息编码装置将信息码元序列分为等长的m段子序列,m为2的正整数次幂,利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m,利用对应的CRC校验码计算Di的校验码CCDi,将码字[Ti]进行极化编码,其中Ti=[Di|CCDi],并将极化编码结果发送给接收端以进行译码。本发明在备选路径数L不变的前提下,利用双CRC校验码解决CRC‑SCL译码算法中的漏检,提高译码性能。
Description
技术领域
本发明涉及移动通信领域,特别涉及一种信息编译码方法和装置、信息处理系统。
背景技术
2006年Erdal Arikan发现,通过对离散无记忆信道(Discrete MemorylessChannel,简称:DMC)进行信道组合与信道分解操作,在总的信道容量不变的情况下,使得一部分信道的容量增大,而另一部分信道的容量降低,呈现信道极化现象。Erdal Arikan提出了极化码构造方法,将信道极化后选择一部分容量大的信道传输信息,其他容量小的信道传输固定的信息,并给出了一种译码方案—连续消除算法(Successive Cancellation,简称:SC),SC译码算法在译码时码元是连续按顺序译出,译码延时大,限制了系统的吞吐量。
信道极化是信道编码中普遍存在的现象,不同的是在一般的信道编码中信道是作为一个不变量,与编码无关,而在极化码中信道参数是编码时最重要参数,完全决定编码的结果,极化码的译码则决定了编码的性能。
极化编码的基本思想是,信道发生极化现象,会使得一部分信道容量变为1,另一部分信道容量变为0,还有一部分信道容量介于1和0之间。
其中,在信息码元送入传输信道之前,信息码元u1,u2,…,uN经过一个矩阵GN进行变换,变换为已编码码元x1,x2,…,xN,然后送入信道进行传输,其中GN就是编码时所用到的生成矩阵。
对于码长为N(N=2n,n≥0)的码字,由GN生成矩阵,则可以得到编码公式:x1 N=u1 NGN。
设λ是信道集合{1,2,…,N}的一个子集,则上式可以表达为极化编码公式:x1 N=uλGN(λ)⊕uλ cGN(λ c),式中GN(λ)是从矩阵GN中选出的行组成的子矩阵,与所选择的用来传输信息比特的信道编码相对应。编码时λ和uλ c是固定的,uλ c一般全设置为0。信息码元序列uλ作为自由变量,随着uλ的改变就可以得到从uλ到x1 N的编码。
极化码可以由一些参量唯一表示,其形式为(N,K,λ,uλ c),其中N表示每个码字码元的个数,K表示信息码元的个数(挑选的信道的个数),λ好信道的集合用来标示好信道的位置,uλ c是坏信道传输的比特值,一般全设置为0。
极化码使用SC译码算法,在译码时码元连续按顺序立即判定并译出,译出的过程同时也是删除的过程。由于SC译码算法中后一码元的判定依赖于前一码元,如果前一码元译码出错,将不该删除路径的删除了,就会影响到后一码元的译码结果,并且译码错误没有机会得到纠正。
列表SC译码算法(Successive Cancellation List,简称:SCL)改变SC只保留单一路径的做法,译码时保留l个备选路径,从中选择出现概率最大的作为译码结果。由于扩大了备选路径,大大降低错误删除最优路径的可能性,译码性能得到显著提高,但译码复杂性也同时增加了l倍。为了控制计算复杂度,列表SC译码算法译码时设置一个备选路径数目的最大值L,译码过程中检查备选路径的数目,当备选路径的数目超过L时,就将备选译码路径中出现概率低的路径删除,确保备选译码路径的数目在一定范围内,控制了计算复杂度。L取值越大译码的性能就越好。如果L=2k(k是码字中信息位的长度),则相当于最大似然译码,译码性能最好。
信道分为可靠的信道、不太可靠的信道和固定信道。如果选择不太可靠的信道传输信息位,则译码过程中发生的译码错误比特基本对应着不太可靠信道传输的信息位。内码由不太可靠的信道位和固定位组成。
CRC-SCL算法是在SCL译码算法的基础上,使用CRC(Cyclic Redundancy Check,循环冗余校验)作为辅助进行译码的一种改进SC译码算法。在CRC-SCL算法中,将CRC校验码作为内码加入传输信息中,作为信息码元的一部分进行极化码编码。SCL的内码由不可靠的信息位和固定位组成,CRC-SCL的内码由不可靠的信息位、固定位和CRC校验码组成。
CRC原理为:设编码前的原始信息多项式为P(x),P(x)的最高幂次加1等于k;生成多项式为G(x),G(x)的最高幂次等于r;CRC多项式为R(x);编码后的带CRC的信息多项式为T(x)。则,发送方编码方法为:T(x)=xrP(x)+R(x),xrP(x)表示对应的二进制码序列左移r位,R(x)=xrP(x)/G(x)。接收方的解码方法为:将T(x)除以G(x),得到一个数,如果这个余数为0,则说明传输中无错误发生,否则说明传输有误。
在译码端,先由SCL译码算法产生备选译码码字,在备选码字中再依次进行CRC译码获得全部备选码字的CRC校验码,与备选码字的CRC校验码进行比较,如果一致,则选择该码字作为译码结果。如果有多个一致的CRC校验码或者全部不一致,则依然选取其中出现概率最大的候选码字作为译码结果。
在发生多个一致的CRC校验码时按照概率大小选择候选码字不一定是正确的选择,尤其是当出现概率接近时。
CRC校验码一致表明:1)码字在传输中没有发生错误;或者,2)码字在传输中发生的错误超过CRC的检测能力,其中一种特殊场景是码字中的信息位和CRC校验码在传输中同时发生错误,恰好使得CRC校验码一致。
CRC校验码码不一致表明:1)信息码元在传输中发生错误;或者,2)CRC校验码在传输中发生错误;或者,3)信息码元和CRC校验码在传输中发生错误。
CRC-SCL算法的缺陷是,译码时只需要一个CRC校验码一致即可完成译码,如果出现P个CRC校验码一致,意味着可能多达P个备选路径发生了CRC漏检。
有多个一致的CRC校验码表明发生了漏检,全部不一致则有可能发生了错检。漏检的原因是信息码元和校验码在传输中同时发生错误,并且相互抵消。错检的原因是信息码元在传输中没有发生错误,但因校验码在传输中发生错误所导致。
同一阶数的CRC多项式的漏检率相同,但同一阶数、不同的CRC多项式的校验能力不同,即,如果一个错误被一个CRC多项式检测出来,用同一阶数的另一个CRC多项式则可能发生漏检。
发明内容
本发明实施例提供一种信息编解码方法、装置和系统,通过在备选路径数L不变的前提下,利用双CRC校验码解决CRC-SCL译码算法中的漏检,提高译码性能。
根据本发明的一个方面,提供一种信息编码方法,包括:
将信息码元序列分为等长的m段子序列,m为2的正整数次幂;
利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m;
利用对应的CRC校验码计算第i段子序列Di的校验码CCDi;
将码字[Ti]进行极化编码,其中Ti=[Di|CCDi]。
在一个实施例中,利用对应的CRC校验码计算第i段子序列Di的校验码CCDi包括:
利用CRC校验码CCi、CCi+1、…、CCi+j、…、CCi+n-1计算第i段子序列Di的校验码CCDi;
其中,n≤m/2且n为偶数;若CCi+j不存在,则用CCi+j-m替代。
在一个实施例中,第i段子序列Di的校验码CCDi为:
CCDi=CCi⊕CCi+1⊕…⊕CCi+j⊕…⊕CCi+n-1,其中⊕为异或运算。
在一个实施例中,码字[Ti]的长度为k+m×r,其中k为信息码元序列的长度,r为CRC生成多项式的阶数。
在一个实施例中,将极化编码结果发送给接收端以进行译码。
根据本发明的另一方面,提供一种信息译码方法,包括:
接收编码信息[Ti′],其中Ti′=[Di′|CCDi′],1≤i≤m,m为2的正整数次幂;
利用对应的CRC生成多项式对第i段接收码元序列Di′进行CRC运算以得到相应的CRC校验码CCi″;
对CRC校验码CC1″、CC2″、…、CCm″进行异或运算;
判断运算结果是否为r位0码元序列,其中r为CRC生成多项式的阶数;
若运算结果为r位0码元序列,则对编码信息[Ti′]进行CRC-SCL译码,以获得相应的备选路径;
针对Di′的每条备选路径进行CRC校验;
若Di′有路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为Di′的译码码字DEi。
在一个实施例中,针对Di′的每条备选路径进行CRC校验包括:
针对Di′的每条备选路径,判断相应的CRC校验码CCi″是否与该备选路径对应的CRC校验码CCi′相同;
若CCi″与CCi′相同,则判断该备选路径通过CRC校验;
若CCi″与CCi′不同,则判断该备选路径未通过CRC校验。
在一个实施例中,对CC1″、CC2″、…、CCm″进行异或运算包括:
计算CC1″⊕CC2″⊕…⊕CCm″,其中⊕为异或运算。
在一个实施例中,若异或运算结果不为r位0码元序列,则确定出现传输错误。
在一个实施例中,若出现传输错误,则停止译码,或者
直接进行SCL译码,不再进行CRC校验。
根据本发明的另一方面,提供一种信息编码装置,包括:
序列划分模块,用于将信息码元序列分为等长的m段子序列,m为2的正整数次幂;
第一校验码生成模块,用于利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m;
第二校验码生成模块,用于利用对应的CRC校验码计算第i段子序列Di的校验码CCDi;
编码模块,用于将码字[Ti]进行极化编码,其中Ti=[Di|CCDi]。
在一个实施例中,第二校验码生成模块利用CRC校验码CCi、CCi+1、…、CCi+j、…、CCi+n-1计算第i段子序列Di的校验码CCDi,其中,n≤m/2且n为偶数;若CCi+j不存在,则用CCi+j-m替代。
在一个实施例中,第i段子序列Di的校验码CCDi为:
CCDi=CCi⊕CCi+1⊕…⊕CCi+j⊕…⊕CCi+n-1,其中⊕为异或运算。
在一个实施例中,码字[Ti]的长度为k+m×r,其中k为信息码元序列的长度,r为CRC生成多项式的阶数。
在一个实施例中,发送模块,用于将极化编码结果发送给接收端以进行译码。
根据本发明的另一方面,提供一种信息译码装置,包括:
接收模块,用于接收编码信息[Ti′],其中Ti′=[Di′|CCDi′],1≤i≤m,m为2的正整数次幂;
第三校验码生成模块,用于利用对应的CRC生成多项式对第i段接收码元序列Di′进行CRC运算以得到相应的CRC校验码CCi″;
异或运算模块,用于对CRC校验码CC1″、CC2″、…、CCm″进行异或运算;
识别模块,用于判断运算结果是否为r位0码元序列,其中r为CRC生成多项式的阶数;
译码模块,用于在运算结果为r位0码元序列的情况下,对编码信息[Ti′]进行CRC-SCL译码,以获得相应的备选路径;针对Di′的每条备选路径进行CRC校验,若Di′有路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为Di′的译码码字DEi。
在一个实施例中,译码模块用于针对Di′的每条备选路径,判断相应的CRC校验码CCi″是否与该备选路径对应的CRC校验码CCi′相同,若CCi″与CCi′相同,则判断该备选路径通过CRC校验;若CCi″与CCi′不同,则判断该备选路径未通过CRC校验。
在一个实施例中,异或运算模块用于计算CC1″⊕CC2″⊕…⊕CCm″,其中⊕为异或运算。
在一个实施例中,识别模块还用于在异或运算结果不为r位0码元序列的情况下,确定出现传输错误。
在一个实施例中,译码模块还用于在出现传输错误的情况下停止译码,或者直接进行SCL译码,不再进行CRC校验。
根据本发明的另一方面,提供一种信息处理系统,包括:
如上述任一实施例涉及的信息编码装置;
如上述任一实施例涉及的信息译码装置。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明信息编码方法一个实施例的示意图。
图2为本发明信息译码方法一个实施例的示意图。
图3为本发明信息编码装置一个实施例的示意图。
图4为本发明信息编码装置另一实施例的示意图。
图5为本发明信息译码装置一个实施例的示意图。
图6为本发明信息处理系统一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明信息编码方法一个实施例的示意图。可选地,本实施例的方法步骤可由信息编码装置执行。其中:
步骤101,将信息码元序列分为等长的m段子序列,m为2的正整数次幂。
例如,可将长度为k的信息码元序列D分为等长的m段,即D1、D2、…、Dm。
步骤102,利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m。
例如,可利用r阶的CRC生成多项式Gi r,对Di进行CRC运算以得到相应的CRC校验码CCi。
步骤103,利用对应的CRC校验码计算第i段子序列Di的校验码CCDi。
可选地,可利用CRC校验码CCi、CCi+1、…、CCi+j、…、CCi+n-1计算第i段子序列Di的校验码CCDi,其中n≤m/2且n为偶数。例如,n也可为2的正整数次幂。
例如,CCDi=CCi⊕CCi+1⊕…⊕CCi+j⊕…⊕CCi+n-1,其中⊕为异或运算。
这里需要说明的是,在上述计算过程中,若CCi+j不存在,则用CCi+j-m替代。
例如,若m=4,则将信息码元序列D分为等长的D1、D2、D3和D4。通过CRC运算得到的相应校验码为CC1、CC2、CC3和CC4。
若n=21=2,则:
CCD1=CC1⊕CC2
CCD2=CC2⊕CC3
CCD3=CC3⊕CC4
CCD4=CC4⊕CC5
由于CC5并不存在,且5-4=1,则CC1、CC2、CC3和CC4最终表示为:
CCD1=CC1⊕CC2
CCD2=CC2⊕CC3
CCD3=CC3⊕CC4
CCD4=CC4⊕CC1
此外,由于n为2的正整数次幂,因此可通过调整n,对CCDi进行调整。若m=8,n=22=4,则:
CCD1=CC1⊕CC2⊕CC3⊕CC4
CCD2=CC2⊕CC3⊕CC4⊕CC5
CCD3=CC3⊕CC4⊕CC5⊕CC6
CCD4=CC4⊕CC5⊕CC6⊕CC7
CCD5=CC5⊕CC6⊕CC7⊕CC8
CCD6=CC6⊕CC7⊕CC8⊕CC1
CCD7=CC7⊕CC8⊕CC1⊕CC2
CCD8=CC8⊕CC1⊕CC2⊕CC3
步骤104,将码字[Ti]进行极化编码,其中Ti=[Di|CCDi]。
其中,码字[Ti]的长度为k+m×r,其中k为信息码元序列的长度,r为CRC生成多项式的阶数。
可选地,将极化编码结果发送给接收端以进行译码。
通过本发明上述实施例提供的信息编码方法,通过在编码时生成双CRC校验码,以便在备选路径数L不变的前提下,利用双CRC校验码解决CRC-SCL译码算法中的漏检,提高译码性能。
图2为本发明信息译码方法一个实施例的示意图。可选地,本实施例的方法步骤可由信息译码执行。其中:
步骤201,接收编码信息[Ti′],其中Ti′=[Di′|CCDi′],1≤i≤m,m为2的正整数次幂。
步骤202,利用对应的CRC生成多项式对第i段接收码元序列Di′进行CRC运算以得到相应的CRC校验码CCi″。
例如,可利用r阶的CRC生成多项式Gi r,对Di′进行CRC运算以得到相应的CRC校验码CCi″。
步骤203,对CRC校验码CC1″、CC2″、…、CCm″进行异或运算。
例如,计算CC1″⊕CC2″⊕…⊕CCm″,其中⊕为异或运算。
步骤204,判断运算结果是否为r位0码元序列,其中r为CRC生成多项式的阶数。
若运算结果为r位0码元序列,则执行步骤205;若异或运算结果不为r位0码元序列,则执行步骤208。
步骤205,对编码信息[Ti′]进行CRC-SCL译码,以获得相应的备选路径。
步骤206,针对Di′的每条备选路径进行CRC校验。
其中,针对Di′的每条备选路径,判断相应的CRC校验码CCi″是否与该备选路径对应的CRC校验码CCi′相同。若CCi″与CCi′相同,则判断该备选路径通过CRC校验;若CCi″与CCi′不同,则判断该备选路径未通过CRC校验。
步骤207,若Di′有路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为Di′的译码码字DEi。
需要说明的是,当有单一路径通过CRC校验,则该单一路径就是最优选择;当有多条路径通过CRC校验,则在这多条路径中进行选择。由于如何根据路径校验结果确定译码码字是本领域技术人员所了解的,因此这里不展开描述。
步骤208,确定出现传输错误。
其中,若出现传输错误,则停止译码,或者直接进行SCL译码,不再进行CRC校验。
下面通过具体示例对本发明进行说明。
例如,在编码器端,将长度为k的信息码元序列D分为等长的两段D1、D2。
利用对应的r阶CRC生成多项式G1 r和G2 r对D1和D2进行CRC运算以得到相应的CRC校验码CC1和CC2。
接下来,CCD1=CC1⊕CC2,CCD2=CC2⊕CC1。
根据上述结果,将码字[D1|CCD1|D2|CCD2]进行极化编码,并将极化编码结果发送给接收端以进行译码。
在译码器端,接收到T1′=[D1′|CCD1′]和T2′=[D2′|CCD2′],其中D1′和D2′分别是D1和D2对应的接收码元序列,CCD1′和CCD2′分别是CCD1和CCD2对应的接收码元序列。
利用对应的r阶CRC生成多项式G1 r和G2 r对D1′和D2′进行CRC运算以得到相应的CRC校验码CC1″和CC2″。
接下来,计算CC1″⊕CC2″。若运算结果为r位0码元序列,则分别对编码信息T1′和T2′进行CRC-SCL译码,以获得相应的备选路径,并针对每条备选路径进行CRC校验。若异或运算结果不为r位0码元序列,则确定出现传输错误。
例如,针对D1′的每条备选路径,判断相应的CRC校验码CC1″是否与该备选路径对应的CRC校验码CC1′相同。若CC1″与CC1′相同,则判断该备选路径通过CRC校验;若CC1″与CC1′不同,则判断该备选路径未通过CRC校验。
其中,若D1′和D2′有多条路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为D1′和D2′的译码码字DE1和DE2。
其中,若出现传输错误,则停止译码,或者直接进行SCL译码,不再进行CRC校验。
图3为本发明信息编码装置一个实施例的示意图。如图3所示,信息编码装置可包括序列划分模块31、第一校验码生成模块32、第二校验码生成模块33和编码模块34。其中:
序列划分模块31用于将信息码元序列分为等长的m段子序列,m为2的正整数次幂。
第一校验码生成模块32用于利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m。
第二校验码生成模块33用于利用对应的CRC校验码计算第i段子序列Di的校验码CCDi。
可选地,第二校验码生成模块33利用CRC校验码CCi、CCi+1、…、CCi+j、…、CCi+n计算第i段子序列Di的校验码CCDi,其中,n≤m/2且n为偶数。例如,n也可为2的正整数次幂;若CCi+j不存在,则用CCi+j-m替代。
例如,第i段子序列Di的校验码CCDi为:
CCDi=CCi⊕CCi+1⊕…⊕CCi+j⊕…⊕CCi+n,其中⊕为异或运算。
编码模块34用于将码字[Ti]进行极化编码,其中Ti=[Di|CCDi]。
其中,码字[Ti]的长度为k+m×r,其中k为信息码元序列的长度,r为CRC生成多项式的阶数。
通过本发明上述实施例提供的信息编码装置,通过在编码时生成双CRC校验码,以便在备选路径数L不变的前提下,利用双CRC校验码解决CRC-SCL译码算法中的漏检,提高译码性能。
图4为本发明信息编码装置另一实施例的示意图。与图3所示实施例相比,在图4所示实施例中,除序列划分模块41、第一校验码生成模块42、第二校验码生成模块43和编码模块44之外,还包括发送模块45,用于将极化编码结果发送给接收端以进行译码。
图5为本发明信息译码装置一个实施例的示意图。如图5所示,信息译码装置可包括接收模块51、第三校验码生成模块52、异或运算模块53、识别模块54和译码模块55。其中:
接收模块51用于接收编码信息[Ti′],其中Ti′=[Di′|CCDi′],1≤i≤m,m为2的正整数次幂。
第三校验码生成模块52用于利用对应的CRC生成多项式对第i段接收码元序列Di′进行CRC运算以得到相应的CRC校验码CCi″。
异或运算模块53用于对CRC校验码CC1″、CC2″、…、CCm″进行异或运算。
其中,异或运算模块53可用于计算CC1″⊕CC2″⊕…⊕CCm″,其中⊕为异或运算。
识别模块54用于判断运算结果是否为r位0码元序列,其中r为CRC生成多项式的阶数。
译码模块55用于在运算结果为r位0码元序列的情况下,对编码信息[Ti′]进行CRC-SCL译码,以获得相应的备选路径;针对Di′的每条备选路径进行CRC校验,若Di′有路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为Di′的译码码字DEi。
其中,译码模块55用于针对Di′的每条备选路径,判断相应的CRC校验码CCi″是否与该备选路径对应的CRC校验码CCi′相同,若CCi″与CCi′相同,则判断该备选路径通过CRC校验;若CCi″与CCi′不同,则判断该备选路径未通过CRC校验。
其中,识别模块54还用于在异或运算结果不为r位0码元序列的情况下,确定出现传输错误。
可选地,译码模块55还用于在出现传输错误的情况下停止译码,或者直接进行SCL译码,不再进行CRC校验。
图6为本发明信息处理系统一个实施例的示意图。如图6所示,该系统包括信息编码装置61和信息译码装置62。其中,信息编码装置61可为图3或图4中任一实施例涉及的信息编码装置,信息译码装置62可为图5中任一实施例涉及的信息译码装置。
通过实施本发明,可以得到以下有益效果:
1)本发明在CRC校验码CC1″、CC2″、…、CCm″的异或运算结果不是r位0码元序列时,则确定出现传输错误,可停止译码,节省了大量无效的计算。
2)通过选择校验能力互补的多个生成多项式可以获得最佳的校验性能。
3)本发明采用两个或多个校验码的异或作为校验码,在译码端可有效避免校验码在传输中发生错误导致的漏检,提高译码性能。
4)本发明中的多个信息码元子序列中如果只有一个信息码元序列在传输中发生错误,并且成对的任意两个校验码也同时发生同样的错误,则至少有一个CRC校验会失败,因而提高了译码性能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (17)
1.一种信息编码方法,其特征在于,包括:
将信息码元序列分为等长的m段子序列,所述m为2的正整数次幂;
利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m;
利用相应的CRC校验码计算第i段子序列Di的校验码CCDi;
将码字[Ti]进行极化编码,其中Ti=[Di|CCDi];
其中,利用相应的CRC校验码计算第i段子序列Di的校验码CCDi包括:
利用CRC校验码CCi、CCi+1、…、CCi+j、…、CCi+n-1计算第i段子序列Di的校验码CCDi;
其中,n≤m/2且n为偶数;若CCi+j不存在,则用CCi+j-m替代,第i段子序列Di的校验码CCDi为:
CCDi=CCi⊕CCi+1⊕…⊕CCi+j⊕…⊕CCi+n-1,其中⊕为异或运算。
2.根据权利要求1所述的方法,其特征在于,
所述码字[Ti]的长度为k+m×r,其中k为所述信息码元序列的长度,r为CRC生成多项式的阶数。
3.根据权利要求1-2中任一项所述的方法,其特征在于,还包括:
将极化编码结果发送给接收端以进行译码。
4.一种信息译码方法,其特征在于,包括:
接收编码信息[Ti′],其中Ti′=[Di′|CCDi′],1≤i≤m,m为2的正整数次幂;
利用对应的CRC生成多项式对第i段接收码元序列Di′进行CRC运算以得到相应的CRC校验码CCi″;
对CRC校验码CC1″、CC2″、…、CCm″进行异或运算;
判断运算结果是否为r位0码元序列,其中r为CRC生成多项式的阶数;
若运算结果为r位0码元序列,则对编码信息[Ti′]进行CRC-SCL译码,以获得相应的备选路径;
针对Di′的每条备选路径进行CRC校验;
若Di′有路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为Di′的译码码字DEi。
5.根据权利要求4所述的方法,其特征在于,
针对Di′的每条备选路径进行CRC校验包括:
针对Di′的每条备选路径,判断相应的CRC校验码CCi″是否与该备选路径对应的CRC校验码CCi′相同;
若CCi″与CCi′相同,则判断该备选路径通过CRC校验;
若CCi″与CCi′不同,则判断该备选路径未通过CRC校验。
6.根据权利要求4所述的方法,其特征在于,
对CC1″、CC2″、…、CCm″进行异或运算包括:
计算CC1″⊕CC2″⊕…⊕CCm″,其中⊕为异或运算。
7.根据权利要求4所述的方法,其特征在于,
若异或运算结果不为r位0码元序列,则确定出现传输错误。
8.根据权利要求7所述的方法,其特征在于,还包括:
若出现传输错误,则停止译码,或者
直接进行SCL译码,不再进行CRC校验。
9.一种信息编码装置,其特征在于,包括:
序列划分模块,用于将信息码元序列分为等长的m段子序列,所述m为2的正整数次幂;
第一校验码生成模块,用于利用对应的CRC生成多项式对第i段子序列Di进行CRC运算以得到相应的CRC校验码CCi,其中1≤i≤m;
第二校验码生成模块,用于利用相应的CRC校验码计算第i段子序列Di的校验码CCDi,其中利用CRC校验码CCi、CCi+1、…、CCi+j、…、CCi+n-1计算第i段子序列Di的校验码CCDi,其中,n≤m/2且n为偶数;若CCi+j不存在,则用CCi+j-m替代,第i段子序列Di的校验码CCDi为:CCDi=CCi⊕CCi+1⊕…⊕CCi+j⊕…⊕CCi+n-1,其中⊕为异或运算;
编码模块,用于将码字[Ti]进行极化编码,其中Ti=[Di|CCDi]。
10.根据权利要求9所述的装置,其特征在于,
所述码字[Ti]的长度为k+m×r,其中k为所述信息码元序列的长度,r为CRC生成多项式的阶数。
11.根据权利要求9-10中任一项所述的装置,其特征在于,还包括:
发送模块,用于将极化编码结果发送给接收端以进行译码。
12.一种信息译码装置,其特征在于,包括:
接收模块,用于接收编码信息[Ti′],其中Ti′=[Di′|CCDi′],1≤i≤m,m为2的正整数次幂;
第三校验码生成模块,用于利用对应的CRC生成多项式对第i段接收码元序列Di′进行CRC运算以得到相应的CRC校验码CCi″;
异或运算模块,用于对CRC校验码CC1″、CC2″、…、CCm″进行异或运算;
识别模块,用于判断运算结果是否为r位0码元序列,其中r为CRC生成多项式的阶数;
译码模块,用于在运算结果为r位0码元序列的情况下,对编码信息[Ti′]进行CRC-SCL译码,以获得相应的备选路径;针对Di′的每条备选路径进行CRC校验,若Di′有路径通过CRC校验或者全部路径未通过CRC校验,则将出现概率最大的备选码字作为Di′的译码码字DEi。
13.根据权利要求12所述的装置,其特征在于,
译码模块用于针对Di′的每条备选路径,判断相应的CRC校验码CCi″是否与该备选路径对应的CRC校验码CCi′相同,若CCi″与CCi′相同,则判断该备选路径通过CRC校验;若CCi″与CCi′不同,则判断该备选路径未通过CRC校验。
14.根据权利要求12所述的装置,其特征在于,
异或运算模块用于计算CC1″⊕CC2″⊕…⊕CCm″,其中⊕为异或运算。
15.根据权利要求12所述的装置,其特征在于,
识别模块还用于在异或运算结果不为r位0码元序列的情况下,确定出现传输错误。
16.根据权利要求15所述的装置,其特征在于,
译码模块还用于在出现传输错误的情况下停止译码,或者直接进行SCL译码,不再进行CRC校验。
17.一种信息处理系统,其特征在于,包括:
如权利要求9-11中任一项所述的信息编码装置;
如权利要求12-16中任一项所述的信息译码装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710738379.XA CN109428672B (zh) | 2017-08-25 | 2017-08-25 | 信息编译码方法和装置、信息处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710738379.XA CN109428672B (zh) | 2017-08-25 | 2017-08-25 | 信息编译码方法和装置、信息处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109428672A CN109428672A (zh) | 2019-03-05 |
CN109428672B true CN109428672B (zh) | 2021-06-29 |
Family
ID=65500445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710738379.XA Active CN109428672B (zh) | 2017-08-25 | 2017-08-25 | 信息编译码方法和装置、信息处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109428672B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112994838B (zh) * | 2019-12-16 | 2022-05-24 | 中国电信股份有限公司 | 信道编码及译码方法和装置、信息传输系统 |
CN113708887B (zh) * | 2020-05-20 | 2022-10-04 | 中国电信股份有限公司 | 极化码编码及译码方法和装置、信息传输系统 |
CN114996194B (zh) * | 2022-06-10 | 2024-03-01 | 中国电信股份有限公司 | 并行总线中继方法、系统、装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159514A (zh) * | 2007-10-31 | 2008-04-09 | 中兴通讯股份有限公司 | 一种传输块循环冗余码的添加方法 |
CN103001729A (zh) * | 2011-09-14 | 2013-03-27 | 华为技术有限公司 | 一种编码调制方法以及相关装置 |
CN104283639A (zh) * | 2014-09-16 | 2015-01-14 | 上海卫星工程研究所 | 基于两级校验码的数传分系统的排故系统及其排故方法 |
CN105227189A (zh) * | 2015-09-24 | 2016-01-06 | 电子科技大学 | 分段crc辅助的极化码编译码方法 |
CN105337696A (zh) * | 2015-10-08 | 2016-02-17 | 东南大学 | 基于分段crc校验的极化解码方法 |
CN105575439A (zh) * | 2015-12-15 | 2016-05-11 | 华为技术有限公司 | 一种存储单元失效纠错的方法及存储器 |
CN105933010A (zh) * | 2016-04-15 | 2016-09-07 | 华南理工大学 | 一种基于分段校验辅助的低复杂度极化码译码scl算法 |
CN106888025A (zh) * | 2017-01-19 | 2017-06-23 | 华中科技大学 | 一种基于极化码的级联纠错编译码方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101951663B1 (ko) * | 2012-12-14 | 2019-02-25 | 삼성전자주식회사 | Crc 부호와 극 부호에 의한 부호화 방법 및 장치 |
-
2017
- 2017-08-25 CN CN201710738379.XA patent/CN109428672B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159514A (zh) * | 2007-10-31 | 2008-04-09 | 中兴通讯股份有限公司 | 一种传输块循环冗余码的添加方法 |
CN103001729A (zh) * | 2011-09-14 | 2013-03-27 | 华为技术有限公司 | 一种编码调制方法以及相关装置 |
CN104283639A (zh) * | 2014-09-16 | 2015-01-14 | 上海卫星工程研究所 | 基于两级校验码的数传分系统的排故系统及其排故方法 |
CN105227189A (zh) * | 2015-09-24 | 2016-01-06 | 电子科技大学 | 分段crc辅助的极化码编译码方法 |
CN105337696A (zh) * | 2015-10-08 | 2016-02-17 | 东南大学 | 基于分段crc校验的极化解码方法 |
CN105575439A (zh) * | 2015-12-15 | 2016-05-11 | 华为技术有限公司 | 一种存储单元失效纠错的方法及存储器 |
CN105933010A (zh) * | 2016-04-15 | 2016-09-07 | 华南理工大学 | 一种基于分段校验辅助的低复杂度极化码译码scl算法 |
CN106888025A (zh) * | 2017-01-19 | 2017-06-23 | 华中科技大学 | 一种基于极化码的级联纠错编译码方法和系统 |
Non-Patent Citations (5)
Title |
---|
"Multi-CRC Polar Codes and Their Applications";Jianfeng Guo;Zhiping Shi;Zilong Liu;Zhongpei Zhang;Qiang Liu;《IEEE Communications Letters》;20161230;全文 * |
"Optimization and comparison of Polar code rate-matching design";MediaTek Inc.;《3GPP TSG RAN WG1 RAN1 Meeting Ad-Hoc #2 R1-1710825》;20170630;全文 * |
"Segmented CRC-Aided SC List Polar Decoding";Huayi Zhou等;《2016 IEEE 83rd Vehicular Technology Conference (VTC Spring)》;20161230;全文 * |
"一种基于CRC-SCL的极化码译码算法";何天光; 杜江; 郑郁正;《光通信研究》;20170410;全文 * |
"极化码与奇偶校验码的级联编码:面向5G及未来移动通信的编码方案";江涛; 王涛; 屈代明; 王博;《数据采集与处理》;20170515;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109428672A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10998921B2 (en) | Encoding/decoding method, device, and system | |
US10797826B2 (en) | Polar encoding and rate matching method, apparatus, and device | |
WO2017127973A1 (en) | Generation of polar codes with a variable block length utilizing puncturing | |
US11728829B2 (en) | Error detection in communication systems using polar coded data transmission | |
US20230274750A1 (en) | Multi-mode channel coding | |
US11088780B2 (en) | Low complexity blind detection of code rate | |
CN109428672B (zh) | 信息编译码方法和装置、信息处理系统 | |
EP3602794B1 (en) | Check bit concatenated polar codes | |
CN112994838B (zh) | 信道编码及译码方法和装置、信息传输系统 | |
JP2023547596A (ja) | 連結極性調整畳み込み符号を用いたデータの符号化および復号化のための方法および装置 | |
CN112737729B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
RU2438252C1 (ru) | Декодер с повышенной корректирующей способностью | |
CN108540140B (zh) | 一种极化码译码方法及装置 | |
CN110943745B (zh) | 一种提前终止迭代输出结果的极化码bp译码方法及系统 | |
JP2008118327A (ja) | ビタビ復号方法 | |
US20100306614A1 (en) | Method of error control | |
US10298360B2 (en) | Method and device for determining toggle sequence and error pattern based on soft decision | |
CN111183748B (zh) | 基于循环冗余效验与纠删编码的抗误码方法 | |
CN113242045A (zh) | 一种极化码的高效译码方法、译码装置及计算机可读存储介质 | |
CN112073153A (zh) | 虚检判断方法及装置、存储介质、终端 | |
RU2420870C1 (ru) | Способ кодирования-декодирования каскадной кодовой конструкции в системах передачи данных | |
KR20240028887A (ko) | 무선 통신 시스템에서 블라인드 검출을 수행하는 수신기 및 그 동작 방법 | |
CN113922826A (zh) | 一种3/4Trellis软译码方法、装置、电子设备和介质 | |
RU2575399C1 (ru) | Способ декодирования ldpc-кодов и устройство его реализующее | |
WO2021061058A1 (en) | Noise and cyclic redundancy check aided list decoding of error correcting codes |
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 |