CN109981112A - 一种部分循环冗余校验辅助的排序统计译码方法 - Google Patents

一种部分循环冗余校验辅助的排序统计译码方法 Download PDF

Info

Publication number
CN109981112A
CN109981112A CN201811124827.8A CN201811124827A CN109981112A CN 109981112 A CN109981112 A CN 109981112A CN 201811124827 A CN201811124827 A CN 201811124827A CN 109981112 A CN109981112 A CN 109981112A
Authority
CN
China
Prior art keywords
decoding
sequence
matrix
check
generator matrix
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
Application number
CN201811124827.8A
Other languages
English (en)
Other versions
CN109981112B (zh
Inventor
姜明
李政熠
赵春明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201811124827.8A priority Critical patent/CN109981112B/zh
Publication of CN109981112A publication Critical patent/CN109981112A/zh
Application granted granted Critical
Publication of CN109981112B publication Critical patent/CN109981112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种部分循环冗余校验辅助的排序统计译码方法,该方法适用于信息位满足循环冗余校验(CRC)的低密度奇偶校验(LDPC)码的软判决译码。在译码前,根据循环冗余校验的生成多项式形成***生成矩阵,并将该矩阵分成两部分,一部分用于检测译码结果,另一部分用于辅助译码;将辅助译码的部分CRC生成矩阵和低密度奇偶校验码的生成矩阵相乘得到联合生成矩阵;译码过程主要采用迭代排序统计译码(BP‑OSD)方法,联合生成矩阵用作OSD算法中的编码矩阵。译码完成后,对码字的信息位做CRC校验,如果满足,该码作为译码输出;否则判决为译码失败。该方法在保留CRC检错功能的同时较大的增强了LDPC码的纠错性能。

Description

一种部分循环冗余校验辅助的排序统计译码方法
技术领域
本发明属于信道纠错编码的译码技术领域,尤其涉及属于信道纠错编码的译码技术领域。
背景技术
1.循环冗余校验码
循环冗余校验码(Cyclic Redundancy Check,CRC)是一种非常重要的检错码,它不但编码简单,而且误判概率很低。CRC实质上就是把长度为K的输入序列,按照一定的规则产生一个长度为L的校验码(CRC码),添加到原始序列的后面,构成一个新的长度为K+L的序列发送出去。接收端把接收序列按照相同的规则进行检验,就可以发现数据传输是否出错。这个规则,在差错控制理论中称为“生成多项式”。CRC的主要作用是用来检测出传输数据块中是否有误码,但对于误码本身并没有纠正的能力。其实现步骤如下:
设输入序列长度为K,表示成二进制多项式:
循环冗余校验的生成多项式表示成:
发送端的编码步骤可以表示为:
步骤1:在输入序列尾部添加L个零,对应的二进制多项式表示就是xLa(x);
步骤2:用生成多项式g(x)除xLa(x),得到余式p(x),该式对应的长度为L的二进制序列即为CRC;
步骤3:联合xLa(x)和p(x),获得码多项式xLa(x)+p(x),该式对应的长度为K+L的二进制序列即为添加了CRC的已编码序列。
接收端在译码时只需用相同的g(x)除接收序列对应的二进制多项式。若余式为零,表示数据传输过程中没有错误,将接收序列的最后L位去掉即得到原始输入序列;否则,表示数据传输出错。
2.低密度奇偶校验码
2.1简介
低密度奇偶校验(LDPC)码是一种比较特殊的线性分组码,特殊性在于它的奇偶校验矩阵中1的数目远远小于0的数目,称为稀疏性,也称为低密度。LDPC码的校验矩阵和码字间满足如下关系式,其中θ为全零列向量:
HCTmod 2=θ。
2.2低密度奇偶校验码的编码
LDPC码的编码过程如下
第一步:为了方便求出生成矩阵G,从而在编码时能够方便的解出校验比特,可通过算法,如高斯消去算法,对任意一个校验矩阵H可以线性变换为典型校验矩阵H′,校验矩阵H或H′的列数代表码字的长度,行数代表奇偶校验位的数目。典型校验矩阵H′如下式所示:
H′=[PT|I];
典型校验矩阵H′可以划分为两部分,其中一部分为单位阵I,另一部分PT为P矩阵的转置矩阵。
第二步:再利用该典型校验矩阵H′可构造出如下式所示的生成矩阵G:
G=[I|P];
利用典型校验矩阵H′构造的典型生成矩阵G同样可以划分为两部分,其中一部分为一个单位阵I,另一部分即为P矩阵。
第三步:在分组编码时,根据生成矩阵G的行数对信源比特U进行分组,每一个分组中包括的信源比特数为生成矩阵G的行数。每一个分组分别和生成矩阵G模2相乘得到编码后的输出码字,各组输出码字根据分组顺序组成输出码字序列。
其中第i组Ui和生成矩阵G相乘得到的输出码字Ci为:
Ci=UiG=[Ui|uiP]
其中:每一组输出码字Ci中包括两部分,其中一部分为该组信源比特Ui和典型生成矩阵G中的单位阵I相乘的结果,称为***位;另一部分UiP为该组信源比特Ui和典型生成矩阵G中的P矩阵相乘的结果,称为校验位。
2.3二分图表示
任何一个低密度奇偶校验码的校验矩阵都可以转化为一张对应的二分(Tanner)图,变量节点和校验节点是校验矩阵转化为Tanner图后的标识,变量节点对应于校验矩阵的列,校验节点对应于校验矩阵的行。
以校验矩阵H4×8为例,其中V和S分别标识对应的变量节点和校验节点:
转化的Tanner图如图1所示,有8个变量节点v1,v2…v8,4个校验节点s1,s2…s4。以方框标识校验节点,圆圈标识变量节点,连接对应行和列的交叉元素为1的校验节点和比特节点,例如v1和s1、v1和s2,这样在Tanner图会形成很多循环,例如其中粗线标识的s1、v3、s3和v7
2.4低密度奇偶校验码的迭代软判决译码
在LDPC码的译码方法当中,基于二分图的迭代软判决译码方法即BP译码具有很好的误码率性能,以标准的和积译码方法为例,译码的主要步骤如下:
定义低密度奇偶校验码的矩阵对应的二分图变量节点和校验节点集合为V={vn,n∈[1,N]},S={sm,m∈[1,M]};定义变量节点vn参与的校验节点集合A(n)={j,hj,n=1},包含于校验节点sm的变量节点集合B(m)={i,hm,i=1};定义校验节点集合A(n)中去除校验节点sm的节点集合A(n)\m,定义变量节点集合B(m)中去除变量节点vn的节点集合B(m)\n,编码序列C={cn,n∈[1,N]};
第一步:初始化:BPSK调制信号xn=1-2cn,n∈[1,N]经过零均值方差σ2的高斯白噪声信道,得到接收信号序列Y={yn|yn=xn+wn,n∈[1,N]},其中wn为零均值方差σ2的高斯白噪声信号,初始的变量节点vn,n∈[1,N]向校验节点sm,m∈[1,M]输出信息并根据Y中信号的符号硬判得到序列C0,同时初始各个变量节点的累积似然比数据以及迭代次数t=1,开始迭代译码;
第二步:校验节点和变量节点的信息输出更新:各校验节点sm将第k-1次迭代的变量节点输出信息按照下式计算第t次迭代节点sm向变量节点vn输出的信息,
各变量节点vn将参与的校验式输出信息相加,作为变量节点vn到校验节点sm将的输出,
第三步:第t次迭代的输出:各个变量节点vn将所有参与的校验节点sm,m∈A(n)的输出相加,作为当前迭代的变量节点总输出
第四步:根据当前迭代各个变量节点的输出信息按照下式作符号硬判得到输出序列Ct
如果该序列满足所有校验方程,则迭代译码结果将作为最终的译码输出同时终止该帧的译码,否则如果当前迭代次数t未达到最大迭代次数,继续迭代译码,迭代次数加一,并跳转至第二步;
对于较长的非规则LDPC码,BP译码可以达到接近香农限的性能。但实际应用中***经常采用中短长度的码块,而有限长度的LDPC码对应的二分图不再具有渐进无圈特性,因此在这种情况下BP译码和最大似然译码(MLD)译码相比仍然具有较大的差距。
2.5基于累积似然比的LDPC码迭代排序统计译码方法
排序统计译码(OSD)方法也是较早被应用于线性分组码的一种软判决译码,适用于具有一定代数结构的短码。对于长度通常在100以上的具有一定随机构造的LDPC码,OSD译码无法作高阶处理,因此其纠错性能也远达不到最大似然译码(MLD)的性能。利用迭代译码的软信息输出,用较低阶数的OSD译码辅助BP译码,可以明显提高LDPC码的纠错能力。由于OSD译码方法复杂度正比于N2,对每次迭代的输出软信息都做OSD译码处理,会给每次迭代增加很多的时延,破坏LDPC码的高速译码特性。如果在BP译码中间的某次迭代启动OSD译码,由于当前迭代输出的软信息存在震荡现象,OSD译码得到的性能增益很小。利用最初的一段迭代译码累积似然比信息,可以部分的克服震荡现象,因此累积似然比的幅度是更为有效的可靠度衡量信息。
辅助BP译码的OSD方法具体步骤如下:
第一步:在迭代译码的第t次输出时,当前迭代的变量节点总输出为按照下式累加各个节点到目前为止的累积似然比输出,其中参数α,0≤α≤1为加权系数:
随着参数α的不同选取方案,有如下几种不同的实现形式:首先α如果不随迭代次数t变化而变化,则似然比累积的过程类似于对各个迭代输出似然比做一个一阶的IIR滤波处理;其次若参数α始终为1或0,累积过程等效于将各次输出完全的相加或只选取当前的似然比输出为可靠度排序依据;最后若α只在某些固定间隔的迭代次数是为零,其余时候满足α∈(0,1],则该累积的过程等效于在这些迭代间隔之间对输出的似然比做固定阶数的FIR滤波处理;
第二步:利用迭代译码得到的似然比输出作为各个比特的可靠度信息作为排序统计译码的排序依据,按照可靠度信息绝对值从大到小的顺序,对节点和生成矩阵对应列作出一个排序π1,得到新的节点序列π1(V)和生成矩阵π1(G);
第三步:对新的生成矩阵作高斯消去,由于生成矩阵列之间的相关特性,需要对列作出第二次重排π2,最后得到新的生成矩阵和节点序列
第四步:将节点序列π21(V))中前N-K-L′个节点根据的符号作出硬判决:
得到信息序列再对前N-K-L′个信息比特符号做阶数为s的遍历翻转,即选取所有可能的0~s个比特组合,共 种做比特翻转,得到Ps个信息序列分别与对应的生成矩阵相乘得到码字再做两次重排得到所有的Ps个码字:
第五步:对利用初始的接收序列Y及其硬判序列C0比较欧氏距,保留欧氏距最小的码字作为排序统计译码的输出
最终的译码输出
基于累积似然比的LDPC码迭代排序统计译码方法,是将固定次数的迭代译码输出似然比累积,在此基础上进行OSD译码处理。在BP迭代译码的过程中,同时完成似然比的累积和OSD译码处理,没有增加额外的时延。基于累积似然比固定的几次OSD译码,可以明显改善BP译码的性能。
OSD译码处理可以从零阶扩展到一阶、二阶和三阶,随着阶数的增加纠错性能逐渐增强,OSD译码复杂度也以阶乘级别上升。在***容许的OSD译码计算量限制条件下,对可靠度不同的节点作部分的混合阶OSD处理,是译码性能和实现复杂度之间一个较好的折中方案。
发明内容
技术问题:本发明的目的是提供一种部分循环冗余校验辅助的排序统计译码方法,利用LDPC码信息位满足循环冗余校验特性,在迭代译码结束后对LDPC码作OSD译码,其中反编码矩阵为循环冗余校验的部分生成矩阵和LDPC***生成矩阵的联合矩阵,在不增加***整体译码时延的条件下,完成性能更优的OSD译码。
技术方案:
一种部分循环冗余校验辅助的排序统计译码方法,其特征在于:具体包含如下步骤:
定义低密度奇偶校验码的***生成矩阵GLDPC和***校验矩阵HLDPC,对应的二分图变量节点的集合为V={vn,n∈[1,N]};信息序列m={mk,k∈[1,K]},其中包括K-L位信息位和L位循环冗余校验位,L位循环冗余校验的生成多项式为编码序列C={cn,n∈[1,N]},且满足C=m·GLDPC
步骤1,初始化:将L位循环冗余校验的生成多项式表示为(K-L)×K的生成矩阵形式:
对生成矩阵进行基于线性变换的高斯消去,将前A=K-L列转换为单位阵,可得到循环冗余校验生成矩阵的***形式:
G'CRC=[IA×A|PA×L];
对应的***形式校验矩阵为:
使用L′(0≤L′≤L)位循环冗余校验的部分生成矩阵为:
其中,A′=K-L′,将G′CRC表示为列向量组{g1,g2,g3,…,gK-1,gK},则PA×L′是G′CRC后L′列组成的矩阵,即PA×L′={gK-L′+1,gK-L′+2,…,gK-1,gK};则部分循环冗余校验和低密度奇偶校验码的A′×N联合生成矩阵为:
G=G″CRC×GLDPC
BPSK调制信号xn=1-2cn,n∈[1,N]经过零均值方差σ2的高斯白噪声信道,得到接收信号序列Y={yn|yn=xn+wn,n∈[1,N]},其中wn为零均值方差σ2的高斯白噪声信号,对应的硬判序列记作
步骤2,对接收信号序列Y采用基于置信传播的迭代译码方法,如标准或修正的和积译码方法或简化的最小和译码方法;迭代次数记为t,每次迭代各个变量节点的似然比输出为按照下式累加到目前为止的累积似然比输出其中累积似然比初始为全零,参数α,0≤α≤1为预先设定的加权系数,
对当前迭代各个变量节点的输出信息按照下式作符号硬判得到输出序列Ct
如果该序列满足所有校验方程且该序列前K比特满足循环冗余校验,即:
其中,θ为全零向量;则迭代译码结果将作为最终的译码输出同时终止该帧的译码;否则如果当前迭代次数t未达到最大迭代次数tmax,则继续迭代译码,并更新累计似然比输出,迭代次数加一,t++,重复步骤2;
步骤3,若迭代译码在达到最大迭代次数tmax后依然不能满足所有校验方程,利用迭代译码中各次迭代累积的似然比输出作为各个比特的可靠度信息,按照各个节点上的累积似然比绝对值从大到小的顺序,对节点和上述的联合生成矩阵对应列作出一个排序π1,得到新的节点序列π1(V)和生成矩阵π1(G);对新的生成矩阵作高斯消去,由于生成矩阵列之间的相关特性,需要对列作出第二次重排π2,最后得到新的生成矩阵:
以及与之相对应的节点序列π21(V));将节点序列π21(V))中前N-K-L′个节点根据的符号作出硬判决:
得到信息序列再对前N-K-L′个信息比特符号做阶数为s的遍历翻转,即选取所有可能的0~s个比特组合,共 种做比特翻转,得到Ps个信息序列分别与对应的生成矩阵相乘得到码字再做两次重排得到所有的Ps个码字:
利用初始的接收序列Y及其硬判序列C0比较欧氏距,保留欧氏距最小的码字作为排序统计译码的输出
对该输出序列前K比特,即信息位mOSD做CRC校验,即:
H'CRCmOsDmod 2=θ;
如上式满足,最终的译码输出如不满足,向上级输出一个无法完成译码的判决错误。
有益效果:本发明的有益效果主要体现在以下几个方面:
1)循环冗余校验分成两部分功能,一部分保留了向上级***反馈检错结果的功能,另一部分辅助OSD纠错,进一步提高了译码的性能。
2)循环冗余校验辅助与LDPC的联合生成矩阵在初始化阶段就可以确定,与普通OSD译码相比不会带来额外的延时和计算复杂度。
3)在BP迭代译码无法得到正确输出的情况下,用CRC辅助低阶OSD译码可以得到原来高阶OSD的性能,避免了高阶OSD带来的运算复杂度,且保证了译码性能。
附图说明
图1(a)是校验节点和变量节点的连接示意图;
图1(b)是某个变量节点与其参与的校验节点连接示意图;
图1(c)是某个校验节点与其包含的变量节点连接示意图;
图2是循环冗余校验辅助的迭代统计排序译码方法流程图;
图3是OSD译码方法的处理流程图;
图4是针对5G定义的BG_2类基矩阵构造的2/3码率(360,240)LDPC码,部分CRC辅助的BP-OSD译码在AWGN信道下的误帧率和误判率曲线;
图5是(180,120)LDPC码在部分CRC辅助的BP-OSD译码以及不同阶数的BP-OSD译码下的误帧率和误判率曲线。
所有的符号注解:
CRC:循环冗余校验;
OSD:排序统计译码方法;
BP:置信传播译码算法;
N:LDPC码的总码块长度;
K:LDPC码的信息比特长度;
W:BP译码的最大迭代次数;
R:LDPC码的码率;
L:CRC总长度;
L′:辅助译码的部分CRC长度;
s:OSD的阶数;
vn:第n个变量节点;
sm:第m个校验节点;
反编码得到的码字;
反编码后两次重排得到的码字;
经过两次排序并完成高斯消去的联合生成矩阵;
G:部分CRC生成矩阵和LDPC生成矩阵构成的联合生成矩阵;
V:变量节点集合。
具体实施方式
以下结合附图对本发明作出进一步的说明:
本发明的目的是提供一种部分循环冗余校验辅助的排序统计译码方法,该方法的特点是对于一个信息位满足循环冗余校验的低密度奇偶校验码,根据循环冗余校验的生成多项式形成***生成矩阵,并将该矩阵分成两部分,一部分用于检测译码结果,另一部分用于辅助译码;将辅助译码的部分CRC生成矩阵和低密度奇偶校验码的生成矩阵相乘得到联合生成矩阵;在迭代译码过程中,根据所有变量节点历次迭代输出的似然比累积值的幅度大小定义节点可靠度,按可靠度大小对节点和上述联合生成矩阵的列做降序排序,对列排序后的矩阵做高斯消去;结合高斯消去得到的联合***生成矩阵,将排序后的可靠节点信息序列进行编码,得到一组候选码字;如果迭代译码没有得到最终的输出,就从前面得到各组候选码字中选取和接收序列欧氏距最小的码;对该码的信息位做CRC校验,如果满足,该码作为译码输出;否则判决为译码失败。在保留CRC检错功能的同时较大的增强了LDPC码的纠错性能。
图1(a)是一个LDPC码二分图结构图,即校验节点和变量节点的连接示意图,变量节点和校验节点分别记为v和s。图1(b)是变量节点vn和其参与的校验节点连接示意,以及节点间传递的似然比信息。图1(c)为校验节点sm与其包含的变量节点连接示意,以及节点间传递的似然比信息。
图2是部分CRC辅助的BP-OSD译码方法流程图。预先根据LDPC码的生成矩阵和CRC的生成多项式计算出联合生成矩阵,并初始化编码序列;在每一次BP译码迭代后,做似然比累加并存储,判定当前结果的硬判序列是否同时满足校验矩阵和CRC,如果满足则输出结果,否则继续迭代直到迭代次数到达预先设定的最大值;将累加的似然比执行OSD译码,其中反编码矩阵选择预先计算的联合生成矩阵,最后以OSD译码输出作为输出结果。
图3将输入的累积似然比即可靠度按照从高到低的顺序排序,为节省存储和运算量,可以仅对索引做排序;对排序后的联合生成矩阵从左向右做高斯消去,如果出现线性相关的列(即全零列),将该列和对应节点值放到矩阵最后,剩余列顺次前移一位,最终新排序的联合生成矩阵得到对应的***生成矩阵。利用排序后的序列和生成矩阵,作编码和欧式矩计算,保留欧式矩最小的对应码字。
图4是针对5G定义的BG_2类基矩阵构造的2/3码率(360,240)LDPC码,部分CRC辅助的BP-OSD译码在AWGN信道下的误帧率性能曲线和对应的CRC误判曲线。由图可以看出,在选用16位CRC辅助译码时,性能优于普通一阶BP-OSD算法约0.08dB,优于普通BP算法约0.2dB;同时,剩余的8位CRC可以对译码的正确性做出判决,并反馈给上级,漏检率控制在1%以内。
图5是AWGN信道下,2/3码率(180,120)LDPC码的部分CRC辅助的BP-OSD算法的误帧率性能曲线。由图中比较可知,在K=120长度下,16位CRC辅助1阶BP-OSD译码的性能与普通2阶BP-OSD译码相当,但前者译码效率远高于后者,例如在2.5dB处,16位CRC辅助1阶BP-OSD译码速率约为5.6ms/帧,而普通2阶BP-OSD译码速率约为55ms/帧,效率提高了近十倍。
本发明针对5G协议中定义的BG_2类基矩阵构造的2/3码率(360,240)和2/3码率(180,120)LDPC码实施部分CRC辅助的排序统计译码,以2/3码率(360,240)LDPC码为例,各项码字和译码参数设定如下:
N=360,K=240,R=2/3,W=100,L=24;
g(D)=D24+D23+D18+D17+D14+Dn+D10
+D7+D6+D5+D4+D3+D+1;
根据循环码的定义,将CRC的生成多项式转换成大小为216×240的生成矩阵,并通过高斯消去化为***生成矩阵。以L′=16为例,16位CRC生成矩阵由一个224×224的单位阵、8×8的全零阵、216×8的矩阵P组成,其中矩阵P由上述***生成矩阵的最后8列组成。
将16位的CRC生成矩阵与大小为240×360的LDPC***生成矩阵相乘,得到一个CRC-LDPC联合矩阵,该矩阵将用作OSD方法的反编码矩阵。
***采用二相移相键控BPSK调制得到发送序列,经过加性高斯白噪声AWGN信道传输,接收端解调得到对数自然比表示的可靠度序列。
对接收序列采用标准的和积迭代(BP)译码,通过LDPC校验矩阵、CRC校验矩阵判定译码是否正确,如正确直接输出;否则进行OSD译码。
OSD译码的方法如前文所述,区别只在反编码矩阵的替换。OSD译码输出结果仍需经过CRC校验,此时真正作用的校验位数只有24-16=8位,校验检错能力比完整的CRC-24下降,但仍可达到1%以下的误判率,如图4,5中虚线所示。如果该结果能满足CRC校验,则输出译码结果;否则输出译码失败,向上级请求重传等操作。
本发明的主要创新点在于保留信息位CRC检错能力的同时,利用提升纠错性能;采用的方式不是利用CRC检错能力辅助判决选码,而是用部分CRC矩阵和生成矩阵相乘生成联合生成矩阵,替换OSD解码中的反编码矩阵;从实验结果来看,在不增加***复杂度的条件下改善了解码性能。

Claims (1)

1.一种部分循环冗余校验辅助的排序统计译码方法,其特征在于:具体包含如下步骤:
定义低密度奇偶校验码的***生成矩阵GLDPC和***校验矩阵HLDPC,对应的二分图变量节点的集合为V={vn,n∈[1,N]};信息序列m={mk,k∈[1,K]},其中包括K-L位信息位和L位循环冗余校验位,L位循环冗余校验的生成多项式为编码序列C={cn,n∈[1,N]},且满足C=m·GLDPC
步骤1,初始化:将L位循环冗余校验的生成多项式表示为(K-L)×K的生成矩阵形式:
对生成矩阵进行基于线性变换的高斯消去,将前A=K-L列转换为单位阵,可得到循环冗余校验生成矩阵的***形式:
G′CRC=[IA×A|PA×L];
对应的***形式校验矩阵为:
使用L′(0≤L′≤L)位循环冗余校验的部分生成矩阵为:
其中,A′=K-L′,将G′CRC表示为列向量组{g1,g2,g3,…,gK-1,gK},则PA×L′是G′CRC后L′列组成的矩阵,即PA×L′={gK-L′+1,gK-L′+2,…,gK-1,gK};则部分循环冗余校验和低密度奇偶校验码的A′×N联合生成矩阵为:
G=G″CRC×GLDPC
BPSK调制信号xn=1-2cn,n∈[1,N]经过零均值方差σ2的高斯白噪声信道,得到接收信号序列Y={yn|yn=xn+wn,n∈[1,N]},其中wn为零均值方差σ2的高斯白噪声信号,对应的硬判序列记作
步骤2,对接收信号序列Y采用基于置信传播的迭代译码方法,如标准或修正的和积译码方法或简化的最小和译码方法;迭代次数记为t,每次迭代各个变量节点的似然比输出为按照下式累加到目前为止的累积似然比输出其中累积似然比初始为全零,参数α,0≤α≤1为预先设定的加权系数,
对当前迭代各个变量节点的输出信息按照下式作符号硬判得到输出序列Ct
如果该序列满足所有校验方程且该序列前K比特满足循环冗余校验,即:
其中,θ为全零向量;则迭代译码结果将作为最终的译码输出同时终止该帧的译码;否则如果当前迭代次数t未达到最大迭代次数tmax,则继续迭代译码,并更新累计似然比输出,迭代次数加一,t++,重复步骤2;
步骤3,若迭代译码在达到最大迭代次数tmax后依然不能满足所有校验方程,利用迭代译码中各次迭代累积的似然比输出作为各个比特的可靠度信息,按照各个节点上的累积似然比绝对值从大到小的顺序,对节点和上述的联合生成矩阵对应列作出一个排序π1,得到新的节点序列π1(V)和生成矩阵π1(G);对新的生成矩阵作高斯消去,由于生成矩阵列之间的相关特性,需要对列作出第二次重排π2,最后得到新的生成矩阵:
以及与之相对应的节点序列π21(V));将节点序列π21(V))中前N-K-L′个节点根据的符号作出硬判决:
得到信息序列再对前N-K-L′个信息比特符号做阶数为s的遍历翻转,即选取所有可能的0~s个比特组合,共 种做比特翻转,得到Ps个信息序列分别与对应的生成矩阵相乘得到码字再做两次重排得到所有的Ps个码字:
利用初始的接收序列Y及其硬判序列C0比较欧氏距,保留欧氏距最小的码字作为排序统计译码的输出
对该输出序列前K比特,即信息位mOSD做CRC校验,即:
H′CRCmOSDmod 2=θ;
如上式满足,最终的译码输出如不满足,向上级输出一个无法完成译码的判决错误。
CN201811124827.8A 2018-09-26 2018-09-26 一种部分循环冗余校验辅助的排序统计译码方法 Active CN109981112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811124827.8A CN109981112B (zh) 2018-09-26 2018-09-26 一种部分循环冗余校验辅助的排序统计译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811124827.8A CN109981112B (zh) 2018-09-26 2018-09-26 一种部分循环冗余校验辅助的排序统计译码方法

Publications (2)

Publication Number Publication Date
CN109981112A true CN109981112A (zh) 2019-07-05
CN109981112B CN109981112B (zh) 2022-11-18

Family

ID=67075996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811124827.8A Active CN109981112B (zh) 2018-09-26 2018-09-26 一种部分循环冗余校验辅助的排序统计译码方法

Country Status (1)

Country Link
CN (1) CN109981112B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912565A (zh) * 2019-11-28 2020-03-24 北京航空航天大学 一种基于奇偶校验的SC-Flip译码方法
WO2020151835A1 (en) * 2019-01-25 2020-07-30 Huawei Technologies Co., Ltd. Combined belief propgation (bp) and ordered statistics decoding (osd) for concatenated codes
CN111917420A (zh) * 2020-08-25 2020-11-10 广东省新一代通信与网络创新研究院 一种ldpc自适应译码方法及ldpc自适应译码器
CN112615765A (zh) * 2021-01-06 2021-04-06 中国人民解放军63863部队 一种新的误码率计算方法
CN113055024A (zh) * 2021-03-10 2021-06-29 东南大学 用于5g-nr***短块长低码率ldpc码的修正译码方法
CN113285722A (zh) * 2021-05-21 2021-08-20 西南大学 一种短极化码的多偏差分段冗余校验辅助统计译码方法
CN113872609A (zh) * 2021-09-30 2021-12-31 东南大学 一种部分循环冗余校验辅助的自适应置信传播译码方法
CN117118462A (zh) * 2023-09-07 2023-11-24 重庆大学 一种基于编码分布式计算的神经网络bp译码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859013A (zh) * 2006-06-09 2006-11-08 东南大学 低密度奇偶校验码迭代排序统计译码方法
US20130055050A1 (en) * 2011-08-24 2013-02-28 Kabushiki Kaisha Toshiba Error correction encoding apparatus, error correction decoding apparatus, nonvolatile semiconductor memory system, and parity check matrix generation method
CN104025459A (zh) * 2012-11-15 2014-09-03 华为技术有限公司 译码处理方法及译码器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859013A (zh) * 2006-06-09 2006-11-08 东南大学 低密度奇偶校验码迭代排序统计译码方法
US20130055050A1 (en) * 2011-08-24 2013-02-28 Kabushiki Kaisha Toshiba Error correction encoding apparatus, error correction decoding apparatus, nonvolatile semiconductor memory system, and parity check matrix generation method
CN104025459A (zh) * 2012-11-15 2014-09-03 华为技术有限公司 译码处理方法及译码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
雷婷等: "LDPC编译码算法分析", 《无线电工程》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020151835A1 (en) * 2019-01-25 2020-07-30 Huawei Technologies Co., Ltd. Combined belief propgation (bp) and ordered statistics decoding (osd) for concatenated codes
CN110912565A (zh) * 2019-11-28 2020-03-24 北京航空航天大学 一种基于奇偶校验的SC-Flip译码方法
CN110912565B (zh) * 2019-11-28 2021-07-06 北京航空航天大学 一种基于奇偶校验的SC-Flip译码方法
CN111917420A (zh) * 2020-08-25 2020-11-10 广东省新一代通信与网络创新研究院 一种ldpc自适应译码方法及ldpc自适应译码器
CN111917420B (zh) * 2020-08-25 2023-07-04 广东省新一代通信与网络创新研究院 一种ldpc自适应译码方法及ldpc自适应译码器
CN112615765A (zh) * 2021-01-06 2021-04-06 中国人民解放军63863部队 一种新的误码率计算方法
CN113055024A (zh) * 2021-03-10 2021-06-29 东南大学 用于5g-nr***短块长低码率ldpc码的修正译码方法
CN113285722A (zh) * 2021-05-21 2021-08-20 西南大学 一种短极化码的多偏差分段冗余校验辅助统计译码方法
CN113285722B (zh) * 2021-05-21 2022-07-22 西南大学 一种短极化码的多偏差分段冗余校验辅助统计译码方法
CN113872609A (zh) * 2021-09-30 2021-12-31 东南大学 一种部分循环冗余校验辅助的自适应置信传播译码方法
CN113872609B (zh) * 2021-09-30 2024-03-26 东南大学 一种部分循环冗余校验辅助的自适应置信传播译码方法
CN117118462A (zh) * 2023-09-07 2023-11-24 重庆大学 一种基于编码分布式计算的神经网络bp译码方法

Also Published As

Publication number Publication date
CN109981112B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN109981112A (zh) 一种部分循环冗余校验辅助的排序统计译码方法
US10673468B2 (en) Concatenated and sliding-window polar coding
CN107026656B (zh) 一种基于扰动的CRC辅助中短码长Polar码有效译码方法
US9231734B2 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
CN107528597B (zh) 一种基于crc校验码的ldpc码后处理译码方法
CN104025459B (zh) 译码处理方法及译码器
CN100539440C (zh) 低密度奇偶校验码迭代排序统计译码方法
WO2014059780A1 (zh) 一种编译码的方法、装置及***
CN103929210B (zh) 一种基于遗传算法与神经网络的硬判决译码方法
CN109347487A (zh) 基于比特冻结辅助的极化码scl译码方法
CN103199874B (zh) 一种低密度奇偶校验码译码方法
WO2018179246A1 (en) Check bit concatenated polar codes
CN111988045A (zh) 一种基于遗传算法的改进的极化码scf译码器
CN106708654A (zh) 一种用于NANDflash的BCH纠错码的电路结构
EP3656058A1 (en) Device and method for generating a multi-kernel polar code
Justesen Bounded distance decoding of unit memory codes
CN109560819A (zh) 一种通用于ldpc码比特翻转译码算法的翻转准则
CN112104379B (zh) 一种基于关键集的极化码置信度传播动态翻转译码方法
CN112332866B (zh) 一种基于dvb-s与dvb-s2信号的级联码参数识别方法
CN112511172B (zh) 一种译码方法、装置、设备及存储介质
JP5523064B2 (ja) 復号装置及び方法
CN105680882A (zh) 一种平方剩余码的硬判决译码方法
CN114337683A (zh) 用于极化码的编码及译码方法、装置以及***、介质
CN113872609B (zh) 一种部分循环冗余校验辅助的自适应置信传播译码方法
KR101267756B1 (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