CN115037414B - 基于crc的纠错解码的方法、装置、终端 - Google Patents
基于crc的纠错解码的方法、装置、终端 Download PDFInfo
- Publication number
- CN115037414B CN115037414B CN202210609789.5A CN202210609789A CN115037414B CN 115037414 B CN115037414 B CN 115037414B CN 202210609789 A CN202210609789 A CN 202210609789A CN 115037414 B CN115037414 B CN 115037414B
- Authority
- CN
- China
- Prior art keywords
- sequence
- decoding
- check
- polynomial
- crc
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 53
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 7
- CLOMYZFHNHFSIQ-UHFFFAOYSA-N clonixin Chemical compound CC1=C(Cl)C=CC=C1NC1=NC=CC=C1C(O)=O CLOMYZFHNHFSIQ-UHFFFAOYSA-N 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000009191 jumping Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 31
- 108091026890 Coding region Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 208000011580 syndromic disease Diseases 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/0061—Error detection codes
- H04L1/0063—Single parity check
-
- 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/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于CRC的纠错解码的方法、装置、终端,该方法包括:生成校验图样;对接收到的原始比特序列进行分组奇偶校验解码,获得第一校验结果和第一解码序列;对第一解码序列进行CRC校验,获得第二校验结果;若第二校验结果为零,提取第一解码序列中的第一原始信息序列,若第二校验结果不为零,根据校验图样对第一解码序列进行纠错,获得纠错后的第二原始信息序列;本发明在利用CRC解码的基础上,增加了奇偶校验和纠错解码,使得接收端不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少信道资源的占用。
Description
技术领域
本发明涉及通信领域,尤其涉及一种基于CRC的纠错解码的方法、装置、终端。
背景技术
通信数据经过通信信道传输以后,会受到信道的影响产生差错误码,因此,需要采取信道编码来进行差错控制。图1为差错控制编码通信系统的原理图。图中,X为信源编码器(或加密器、码型变换器、扰码器)的输出信号,Y为信道译码器的输出信号。信道编码器在信息码元中按照一定的规律插入一些监督码元(亦称作校验码元),得到序列X'。经编码信道传输后X'变为Y',Y'经过信道传输时影响经常会产生噪声和误码,需要译码器进行检查,确认是否存在噪声和误码。具体地,信道译码器检查信息码元和监督码元(亦称作校验码元)之间的关系是否被破坏,若被破坏,则说明有误码,就要采取一定措施减少误码率。
循环冗余校验(CRC,Cyclic Redundancy Check)是利用多项式除法及其余数的原理来进行错误检测的一种差错控制编解码方法。它将要发送的数据比特序列当做一个信息多项式u(x)的系数,发送时去除以约定的生成多项式g(x),得到一个余数多项式v(x),将余数多项式加到信息多项式之后发送到接收端,接收端同样用生成多项式g(x)去除接收到的接受多项式r(x),如果能够整除,则说明没有误码,如果不能整除,则说明有误码。CRC利用除法及余数的原理,实现错误侦测的功能,具有原理清晰、实现简单等优点。
但是CRC只有检测错误的功能,不能纠正错误,因此如果直接使用CRC,则需要通信双方保持双工链路,如图2所示,在接收方检测出有误码时,通知发送方进行重传,这样导致通信的实时性差,无法满足实时性要求较高的通信领域的需求。
发明内容
为了解决以上基于CRC的差错控制编解码方案无法进行实时纠错的问题,本发明提供一种基于CRC的纠错解码的方法、装置、终端,不需要通知发送方重传,只需要单向信道即可在接收端进行纠错处理,提高了通信的可靠性和实时性(通信原理如图3所示)。所述技术方案如下:
一方面,本发明提供一种基于CRC的纠错解码的方法,包括以下步骤:
S201:生成校验图样F;
S202:对接收到的原始比特序列d进行分组奇偶校验解码,获得第一校验结果D和第一解码序列e;
S203:对第一解码序列e进行CRC校验,获得第二校验结果ΔR(x);对第二校验结果ΔR(x)进行判断:若第二校验结果ΔR(x)为零,表示传输无差错,跳转至步骤S204,若第二校验结果ΔR(x)不为零,表示传输有差错,跳转至步骤S205;
S204:提取第一解码序列e中的第一原始信息序列v′;
S205:根据校验图样F对第一解码序列e进行纠错处理,获得纠错后的第二原始信息序列v″。
进一步地,步骤S201还包括:校验图样F的组数为M+P,M是每组的长度,M和P为正整数,P≥N,N为原始比特序列长度,校验图样F包含CRC校验元部分和信息数据部分,对应的校验图样多项式Fk(x)为:
其中对应CRC校验元部分,/>是多项式/>中xi的系数,也是CRC校验元序列的第i位,Rk-M(x)-R0(x)对应于信息数据部分。
进一步地,生成Rk-M(x)-R0(x)包括:
设置用以生成校验图样F的信息数据序列u,在伽罗华域内对应的信息数据多项式Un(x)为:
计算信息数据多项式Un(x)与生成多项式g(x)的余式多项式Rn(x):
其中,多项式P(x)为信息数据多项式Un(x)被生成多项式g(x)整除的部分,获得余式多项式Rn(x)为:
多项式R0(x)是信息数据部分无差错时对应的余式多项式,将余式多项式Rn(x)与多项式R0(x)进行多项式相减,获得信息数据部分的校验图样多项式为:
Fn+M(x)=Rn(x)-R0(x),n=1,2,…,P。
进一步地,步骤S202还包括:将原始比特序列d进行分组,获得第三分组dh,如下所示:
d=[d1d2…dh…dH],
对第三分组dh进行分组奇偶校验译码的校验矩阵G′为:
获得第三分组dh的校验结果Eh,如下所示:
其中,C是将所有组别组合以后获得的H行Q列的信息序列矩阵,Ch是矩阵C中的第h行;
根据校验结果Eh获得第一解码序列e和第一校验结果D,如下所示:
e=[C1Ch…CH],
D=[D1Dh…DH]=[d0dh…dH-1]。
进一步地,步骤S203还包括:
第一解码序列e包含的第一原始信息序列v′和原始校验元序列r′分别为:
v′=|e0e1…eN-1],
r′=[eNeN+1…eN+M-1],
对应地,根据第一原始信息序列v′和原始校验元序列r′获得在伽罗华域的原始信息多项式V′(x)和原始校验元多项式R′(x);
将原始信息多项式V′(x)除以生成多项式g(x)获得校验元多项式R″(x),计算方法如下所示:
将校验元多项式R″(x)与原始校验元多项式R′(x)相减后获得第二校验结果ΔR(x),如下所示:
其中,Δri是多项式中的第i个系数。
进一步地,步骤S205还包括:
S2051:根据第一校验结果D确定出错分组的序号;
S2052:根据校验图样F和第二校验结果ΔR(x)确定出错分组的组内出错的比特位;
S2053:将出错的比特位取反,获得纠正后的第二解码序列;
S2054:提取第二解码序列中的第二原始信息序列v″。
进一步地,步骤S2051还包括:
根据第一校验结果D确定出错组别集合T,如下所示:
T={t|D(t)=1}。
进一步地,步骤S2052还包括:
设出错组别集合T的元素个数为J,tj为第j个出错组别,zj为第j个出错组别里对应的比特位,根据下式唯一确定出错分组tj的组内出错的比特位zj:
j∈(1,J),zj∈(0,Q-1,其中Q的取值为步骤S202中所提到的Q的取值。
另一方面,本发明提供一种基于CRC的纠错解码的装置,包括:校验图样产生模块,解码分组模块,奇偶校验解码模块,解码合并模块,CRC校验解码模块,纠错模块,提取模块;
校验图样产生模块预先产生校验图样F;
解码分组模块将原始比特序列分为一或多个长度一致的第三分组;
奇偶校验解码模块对第三分组进行奇偶校验,获得每个第三分组的校验结果和对应的解码序列;
解码合并模块将第三分组的校验结果和解码序列分别按顺序合并,获得第一校验结果和第一解码序列;
CRC校验解码模块对第一解码序列进行CRC校验,获得第二校验结果,CRC校验解码模块对第二校验结果进行判断:若第二校验结果为零,将第一解码序列输出至提取模块,若第二校验结果不为零,将第二校验结果输送至纠错模块;
纠错模块根据第一校验结果确定出错分组的序号,根据校验图样F和第二校验结果确定出错分组的组内出错的比特位,将出错的比特位取反,获得纠正后的第二解码序列,将第二解码序列输出至提取模块。
提取模块将输入的第一解码序列或者第二解码序列进行提取操作,获得原始信息序列。
再一方面,本发明提供一种终端,包括以上的基于CRC的纠错解码的装置。
本发明的有益效果是:利用本发明方案,在利用CRC解码的基础上,增加了奇偶校验和纠错解码,使得接收端不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少信道资源的占用。
附图说明
图1为差错控制的通信系统原理示意图;
图2为只有检错功能的差错控制方法原理示意图;
图3为有纠错功能的差错控制方法原理示意图;
图4为本发明基于CRC的纠错编码的方法一实施例的流程图;
图4a为图4的子流程图;
图5为本发明基于CRC的纠错解码的方法一实施例的流程图;
图6为图5的子流程图;
图7为本发明基于CRC的纠错编码的装置一实施例的结构示意图;
图8为本发明基于CRC的纠错解码的装置一实施例的结构示意图;
具体实施方式
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体地实施例的目的,不是用于限制本发明。
如图3所示,本发明提供的方案能够实现单向通信的差错控制,接收端检测到差错时,不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据。
实施例一
如图4所示,一方面,本发明提供一种基于CRC的纠错编码的方法,该方法在利用CRC编码的基础上,增加了奇偶校验和纠错编码,使得接收端不需要通知发送端进行重传,直接进行纠错获取正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少了信道资源的占用。
所述方法包括以下步骤:
S101:对长度为N的原始信息序列进行CRC编码,获得长度为N+M的第一编码序列,M为校验元序列长度;
S102:对第一编码序列进行分组,获得一或多个长度相等的第一分组;
S103:对每个第一分组进行奇偶校验编码,获得第二分组;
S104:将第二分组按顺序组合,获得第二编码序列,并送入传输信道。
进一步地,参考图4a,步骤S101包括:
S1011:根据原始信息序列获取原始信息序列多项式;
S1012:设置所述校验元序列长度M;
S1013:根据所述M设置生成多项式,所述生成多项式的最高阶数与M相等;
S1014:将所述原始信息序列多项式与所述生成多项式进行除法计算,获得校验元多项式;
S1015:将所述校验元多项式和所述原始信息序列多项式进行加法计算,获得编码多项式;
S1016:根据所述编码多项式获得长度为N+M的第一编码序列。
具体地,对于步骤S1011:待传输的原始信息序列v中的每一比特位的取值为0或1,不同的原始信息序列v会包括不同的信息比特,具体表现为1001…11这种形式。当原始信息序列v的长度为N时,则在伽罗华域(Galois Dield,GF(2))内可以使用原始信息多项式V(x)表示原始信息序列v:
具体地,是将原始信息序列v中的每一位的编码值按顺序赋值给原始信息多项式V(x)的系数。
下面以N=7为例,提供三个多项式的实施例:
原始信息序列v=(1001110),其对应的原始信息多项式为:x6+x3+x2+x1;
原始信息序列v=(1001111),其对应的原始信息多项式为:x6+x3+x2+x1+1;
原始信息序列v=(0001111),其对应的原始信息多项式为:x3+x2+x1+1;
具体地,对于步骤S1012:设置校验元序列长度M,其中,M的取值一般为整数,例如8位,16位,24位,32位等,优选地,M<N,N为原始信息序列v的长度。
对于步骤S1013:根据M设置生成多项式g(x),其中,生成多项式g(x)的最高阶数与M相等。例如,当M=16时,则其生成多项式可以为:
g(x)=x16+x12+x5+x0
对于步骤S1014:校验元多项式R(x)为原始信息多项式V(x)除以生成多项式g(x)得到的余式,表示为:
其中,多项式P(x)为原始信息序列多项式V(x)被生成多项式g(x)整除的部分。
对于步骤S1015:编码多项式A(x)如下所示:
其中,编码多项式A(x)是一个能够被生成多项式g(x)整除的多项式,ai是所述多项式编码多项式A(x)中第i位的系数。
通过以上计算,可以保证该编码多项式A(x)是可以被生成多项式g(x)整除的。实际上,当解码端解码出该编码多项式时,使用与编码端相同的生成多项式g(x)去除这个编码多项式,理论上如果能够整除,则说明毫无差错地将信息接收到了。
对于步骤S1016:根据编码多项式获得长度为N+M的第一编码序列a。
具体地,是将多项式A(x)的系数ai按顺序赋值给第一编码序列a。
进一步地,第一编码序列a是原始信息序列v和校验元序列r的组合,表示为:
a=[v0v1…vN-1r0r1…rM-1]=[a0a1…aN+M-1]
因此,第一编码序列a的长度为N+M。实际上,第一编码序列a就是在原始信息序列v的后面增加了M位的校验元序列r,其中,校验元序列r就来自于校验元多项式R(x)的系数。
进一步地,步骤S102包括:
将长度为N+M的第一编码序列a进行分组获得第一分组,每个第一分组的长度为Q,设为向上取整运算,则一共获得组数H为:
进一步地,最后一组不足Q位时,进行补零,补零个数为:
c(0)=H*Q-N-M
补零后的数据为补零序列b,总长度为H*Q,分组索引为h,则补零序列b可表示为:
b=[a0a1…aN+M-10…0]=b1bh…bH]
bh=[b(h-1)*Q…bh*Q-1]
其中,bh为第一分组,相应地,补零序列b包含H个第一分组bh。
进一步地,步骤S103包括:
对第一分组bh,进行奇偶校验编码,获得第二分组。使用的生成矩阵为:
其中A为Q*Q的单位矩阵,B是长度为Q的全1列向量。例如,当Q=4时,生成矩阵为:
进一步地,奇偶校验编码以后获得的第二分组为:
ch=bh·G=[b(h-1)*Q…bh*Q-1]·G=[c(h-1)*(Q+1)…ch*(Q+1)-1],
h=1,2,…,H
其中,第二分组ch的长度为Q+1,一共获得H个第二分组ch。
进一步地,步骤S104包括:
将以上获得的H个第二分组ch按顺序合并,获得第二编码序列c,如下所示:
c=c1c2…cH
将第二编码序列c送入传输信道。
实施例二
另一方面,参考图5、图6,本发明提供一种基于CRC的纠错解码的方法,该方法在利用CRC进行检错的基础上,增加了奇偶校验和纠错解码,使得接收端不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少信道资源的占用。
具体地,参考图5,所述方法包括以下步骤:
S201:生成校验图样F;
S202:对接收到的原始比特序列d进行分组奇偶校验解码,获得第一校验结果D和第一解码序列e;
S203:对第一解码序列e进行CRC校验,获得第二校验结果ΔR(x);对第二校验结果ΔR(x)进行判断:若第二校验结果ΔR(x)为零,表示传输无差错,跳转至步骤S204,若第二校验结果ΔR(x)不为零,表示传输有差错,跳转至步骤S205;
S204:提取第一解码序列e中的第一原始信息序列v′;
S205:根据校验图样F对第一解码序列e进行纠错处理,获得纠错后的第二原始信息序列v″。
进一步地,步骤S201包括:
在接收端,可以预先计算生成多组校验图样F,每一组校验图样长度为M。其中,校验图样是通信领域中在接收端用以差错控制的本地序列样本。预先生成校验图样可以节省实时数据处理的时间,提升数据处理的效率。进一步地,也可以实时生成校验图样,这样可以更灵活地适配不同长度的序列的解码,同时也节省存储空间,因为不需要生成大量的校验图样,因而适用于存储空间较小的场景。
进一步地,校验图样F的组数取值为M+P(P≥N),M和P为正整数,P≥N,每组的长度为M,其中,N为原始比特序列长度,校验图样F包含CRC校验元和信息数据两部分。对应的校验图样多项式Fk(x)为:
其中对应CRC校验元部分,Rk-M(x)-R0(x)对应于信息数据部分,/>是多项式/>第i位的系数,也是所述CRC校验元序列的第i位。
进一步地,校验图样F的CRC校验元部分的生成方法如下:
CRC校验元部分的图样本质是M个CRC校验元信息序列中每一位单独出错时对应的错误图样,因此共有M组。对于每一组fk(k=1,…,M),其对应的比特序列为第M-k+1个比特为1,其他比特均为零,因此所有组别的集合是一个对角线为1的对角矩阵f:
相应地,CRC校验元部分的校验图样对应的多项式为:
进一步地,校验图样F的信息数据部分Rk-M(x)-R0(x)生成方法如下:
用来生成校验图样的信息数据为u,有P+1组,每组的比特宽度为P,所有组放在一起是一个P+1行P列的信息数据矩阵:
其中,第n组信息数据是信息数据矩阵U内的第n+1行,第一行/>中的各列取值均为0,代表无错情况。相应地,第n组信息数据/>在伽罗华域GF(2)域内的多项式为:
计算Un(x)与生成多项式g(x)的余式Rn(x),生成多项式g(x)与实施例一的发送端编码使用的生成多项式g(x)是一样的。具体计算方法如下:
通过以上方法得到余式Rn(x)为:
其中,R0(x)是u为全零时得到的余式,也即代表传输过程信息数据部分无差错出现时对应的余式。将以上步骤中得到的其它各个余式,在GF(2)域内分别与R0(x)进行多项式相减,获得信息数据部分的校验图样多项式为:
Fn+M(x)=Rk(x)-R0(x),n=1,2,…,P
其本质是信息数据的每一比特错误对应的余式与无错误时对应的余式的差值。因此,每一组校验图样Fk(x),均按一定顺序与信息数据一一对应。
因此,结合以上CRC校验元和信息数据两部分的内容,完整的校验图样多项式Fk(x)为:
进一步地,步骤S202包括:
接收端接收到的原始比特序列为d,对应地,d是发送端发送的第二编码序列c的观测序列,将原始比特序列d进行分组,获得第三分组dh,如下所示:
d=[d1d2…dh…dH]
对dh进行分组奇偶校验译码,Q+1行Q+1列的校验矩阵G′为:
其中,校验矩阵G′与发送端的G是一一对应的。
设第三分组dh校验结果为Eh,则有:
其中,C是将所有组别组合以后获得的,具体是一个H行Q列的信息序列矩阵,设奇偶校验译码完成后得到的第一解码序列为e,则有:
e=[C1C2…CH]=[e0e1…eH*Q-1]
其中,第一解码序列e中的分组Ch的长度比接收到的比特序列d中的第三分组dh的长度少一位,因为去掉了奇偶校验位。
设奇偶校验译码完成后得到的第一校验结果为D,则有:
D=[D1D2…DH]=[d0d1…dH-1]
其中,第一校验结果D是长度为H的向量。
进一步地,步骤S203包括:
对于奇偶校验译码的第一解码序列e,其长度为Q*H,则其包含的第一原始信息序列v′和原始校验元序列r′分别为:
v′=[e0e1…eN-1]
r′=[eNeN+1…eN+M-1]
对应地,在GF(2)域上的原始信息多项式和原始校验元多项式分别为V′(x)和R′(x)。
计算第一原始信息序列v′的校验元多项式,方法是将原始信息多项式V′(x)除以g(x)获得余式R″(x),也就是校验元多项式R″(x),具体如下所示:
将获得的校验元多项式R″(x)与原始校验元多项式R′(x)相减后获得第二校验结果ΔR(x),如下所示:
其中,Δri是多项式中的第i个系数。
对以上的第二校验结果ΔR(x)进行判断,当第二校验结果ΔR(x)为零,表示传输无差错,跳转至步骤S204;当第二校验结果ΔR(x)不为零,表示传输有差错,跳转至步骤S205。
进一步地,参考图6,步骤S205还包括:
S2051:根据第一校验结果D确定出错分组的序号;
S2052:根据校验图样F和第二校验结果ΔR(x)确定出错分组的组内出错的比特位;
S2053:将出错的比特位取反,获得纠正后的第二解码序列;
S2054:提取第二解码序列中的第二原始信息序列v″。
具体地,步骤S2051包括:
纠错处理要根据奇偶校验译码时得到的第一校验结果D,来确定出错码字组别。设出错组别的集合为T,如下所示:
T={t|D(t)=1},
则获得出错分组的序号,也就是第一校验结果D中值为1的比特位,对应地,t是出错分组的组号。
步骤S2052包括:
设T的元素个数为J,tj表示第j个出错分组,zj表示第j个出错分组里的出错比特位。
确定有哪些分组出错后,便可在特定的分组里遍历每一个比特位对应的校验图样。由校验图样F的生成原理可知,每一组校验图样均与信息数据一一对应,这种对应关系可转化成出错分组和出错比特位表示的函数。即当tj个分组出错时,遍历到该出错分组内第zj个比特时,其对应的校验图样分组为:
k=N+M-Q*tj+Q-zj j∈(1,J),zj∈(0,Q-1),其中Q为前面所提到的Q。
本发明方案以出错分组为大框架,以每个出错分组只有一个比特位错误为前提,分别在每个出错分组内取一个比特位对应的校验图样,将其在GF(2)域内进行相加,当每个组遍历的比特位刚好全都是出错比特位时,得到的和即为上面所计算得到的第二校验结果ΔR(x)。
则当下式成立时,可以唯一确定出错分组tj的组内出错的比特位zj:
其中,ΔR(x)为第二校验结果,Fk(x)为校验图样表达式。
步骤S2053包括:
记录下z1,z2,…,zj的取值,将第一解码序列e中对应的出错位zj的取值进行取反,即可获得纠正后的第二解码序列e′。
例如,对于第一解码序列e,其出错的比特位分别为
对其进行比特取反后即可完成纠错,取反包括:如果是0,则变为1,如果是1则变为0。
步骤S2054包括:
提取所述第二解码序列中的第二原始信息序列,即可得到错误纠正后的原始信息序列v。
设纠错完成后的数据序列为g,则纠错译码完成后获得的信息序列即为发送端原始序列v:
v=[g0g1…gN-1]
进一步地,对于步骤S2053和步骤S2054,还可以增加判断,如果出错的不是原始信息序列的的序号,而是校验元序列的序号,则可以不处理,直接处理下一个出错比特位。这是因为,解码的最终目的只是要获取携带了通信数据的原始信息序列,不需要对校验元再进行取反操作。这样可以节省数据处理时间,进一步提升性能。
实施例三
为了更直观地说明本发明的基于CRC的纠错解码方法和编码方法,下面举一个实际例子:
发送端:
待传输的原始信息序列v是4个字节的AA(十六进制),则其总的比特长度N=8*4=32比特,其对应的原始信息多项式为:
CRC校验元的长度为M=16比特,其生成多项式为:
g(x)=x16+x12+x5+x0
计算得到的CRC编码多项式为:
其中R(x)=x12+x11+x10+x9+x7+x4+x2+1,也即由v生成的16比特CRC校验元序列为0001_1110_1001_0101
从而获得第一编码序列a:
a=[101010101010101010101010101010100001111010010101]
将第一编码序列a每Q=5比特进行分组,则全部组数
补零个数为:
c(0)=H*Q-N-M=10*5-32-16=2
每5比特进行奇偶校验编码,使用的生成矩阵为:
奇偶校验编码以后获得的第二分组为:
ch=bh·G=[b(h-1)*5…hh*5-1]·G=[c(h-1)*6…ch*6-1]h=1,2,…,10
将以上获得的H个第二分组ch按顺序合并,获得第二编码序列c为:
c=[c1c2…c10]
=[101011_010100_101011_010100_101011_010100_100001_111100_100100_101000],将第二编码序列c送入传输信道。
接收端:
在接收端,生成M+P=48组(其中,P=32,M=16)比特宽度为M=16的校验图样,用于生成此校验图样的信息数据u为33行32列的矩阵U:
进行CRC校验计算后得到Rk(x),其中
则校验图样为:
Fk(x)=Rk-16(x)-R0(x)k=17,18,…,48
加上CRC校验元部分后,校验图样的具体数据如下:
/>
接收端接收到的原始比特序列为d有10组,将原始比特序列d进行分组,获得第三分组dh,,如下所示:
d=[d1d2…d10]
=[001011_110100_101011_010100_101011_010100_100001_011100_100100_101000],对dh进行分组奇偶校验译码,校验矩阵G′为:
则奇偶校验译码完成后,得到的第一解码序列为e和第一校验结果DD分别为:
e=[00101_11010_10101_01010_10101_01010_10000_01110_10010_10100]
D=[1100000100]
那么对应的错误组别集合T为:
T={t|D(t)=1}={1,2,8}
将e拆开之后,接收端接收到的原始信息序列为
v′=[e0e1…e31]=[00101110101010101010101010101010]
原始校验元序列为:
r′=[e32e33…e47]=[0000111010010101]
原始校验元多项式R′(x)为
R′(x)=x11+x10+x9+x7+x4+x2+1
对信息序列v′计算得到的校验元为:
r″=[0000100101011100]
即获得校验元多项式R″(x)为:
R″(x)=x11+x8+x6+x4+x3+x2
因此,获得的校验元多项式R″(x)与原始校验元多项式R′(x)在GF(2)域内的差值为:
ΔR(x)=R″(x)-R′(x)=x10+x9+x8+x7+x6+x3+1
在执行遍历算法后,当各个变量的取值为以下值:
t1=1,t2=2,t3=8,z1=z2=z3=0,N=32,M=16,Q=5
可使以下公式成立:
最终得到z1=z2=z3=0后,那么对于第一解码序列e,出错比特位置即为:e0、e5、e35,因此将第一解码序列e出错比特位取反,即可得到数据序列g:
g=[10101010101010101010101010101010000111101001010100]
则纠错译码完成后获得的信息序列即为发送端原始序列v,如下所示:
v=[g0g1…gN-1]=[10101010101010101010101010101010]
可以看出,通过发送端和接收端的校验和纠错方法,使得接收端可以直接获取正确的发送端发送的原始数据,并且只需要一次通信,无需通知发送端重传。
实施例四
再一方面,请参考图7,本发明提供一种基于CRC的纠错编码的装置,包括:
该编码装置可实现实施例一的方法,将需要发送的通信数据使用CRC和奇偶校验编码,并发送给基于CRC的纠错解码的装置进行通信,基于CRC的纠错解码的装置的具体实现可参考实施例五。
优选地,基于CRC的纠错编码的装置包括:CRC编码模块,编码分组模块,奇偶校验编码模块,编码合并模块。
具体地,CRC编码模块将原始信息序列进行CRC编码,转换为第一编码序列。
编码分组模块将第一编码序列进行分组,获得一到多个长度为Q的第一分组,当最后一个第一分组长度小于Q,则在末尾补零使得最后一个第一分组长度等于Q,其中,Q为正整数;
奇偶校验编码模块将每一个第一分组进行奇偶校验编码,转换为第二分组,第二分组的长度比第一分组的长度多1位奇偶校验位;
编码合并模块将多个第二分组合并,转换为第二编码序列,该第二编码序列就是最终送入通信信道的编码序列。
对于以上各模块涉及的方法的相关具体流程,请参考前面的方法实施例,在此不再赘述。
实施例五
又一方面,请参考图8,本发明提供一种基于CRC的纠错解码的装置,该基于CRC的纠错解码的装置能够实现实施例二的解码方法,最终获取准确的通信数据。
优选地,基于CRC的纠错解码的装置包括:校验图样产生模块,解码分组模块,奇偶校验解码模块,解码合并模块,CRC校验解码模块,纠错模块,提取模块。
具体地,校验图样产生模块预先产生校验图样,
解码分组模块将接收端获取的原始比特序列进行分组,该原始比特序列就是实施例四中的第二编码序列的观测序列。由于第二编码序列是通过奇偶校验编码,其内部包含一或多个第二分组,因此,在接收端,解码分组模块也是将原始比特序列分为一或多个与第二分组长度一致的第三分组。
奇偶校验解码模块对第三分组进行奇偶校验,获得每个第三分组的校验结果和对应的解码序列。
解码合并模块将第三分组奇偶校验之后获得的校验结果和解码序列分别按顺序合并,获得第一校验结果和第一解码序列。该第一校验结果在后续纠错模块中,用于计算出错分组的组号,该第一解码序列作为后续的CRC校验的输入。
CRC校验解码模块将第一解码序列进行CRC校验,获得第二校验结果。对第二校验结果进行判断:若第二校验结果为零,表示传输无差错,不需要纠错处理,直接将第一解码序列用于后续的提取原始信息序列操作。若第二校验结果不为零,表示传输有差错,则将第二校验结果输送至纠错模块,用于后续的纠错处理。
纠错模块根据第一校验结果确定出错分组的序号,根据校验图样F和第二校验结果确定出错分组的组内出错的比特位,将出错的比特位取反,获得纠正后的第二解码序列,将第二解码序列用于后续的提取原始信息序列操作。
提取模块将输入的第一解码序列或者第二解码序列进行提取操作,获得其中的原始信息序列。该原始信息序列就是发送端的原始信息序列。
对于以上各模块涉及的接收方法的相关具体流程,请参考前面的接收方法实施例,在此不再赘述。
实施例六
又一方面,本发明提供一种纠错终端,包括实施例四的基于CRC的纠错编码的装置和/或实施例五基于CRC的纠错解码的装置,两个纠错终端之间可以通过实施例一的基于CRC的纠错编码的方法和实施例二的基于CRC的纠错解码的方法进行通信,从而实现差错控制。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种基于CRC的纠错解码的方法,其特征在于,所述方法包括以下步骤:
S201:生成校验图样F;
S202:对接收到的原始比特序列d进行分组奇偶校验解码,获得第一校验结果D和第一解码序列e;
S203:对所述第一解码序列e进行CRC校验,获得第二校验结果ΔR(x);对所述第二校验结果ΔR(x)进行判断:若所述第二校验结果ΔR(x)为零,表示传输无差错,跳转至步骤S204,若所述第二校验结果ΔR(x)不为零,表示传输有差错,跳转至步骤S205;
S204:提取所述第一解码序列e中的第一原始信息序列v′;
S205:根据所述校验图样F对所述第一解码序列e进行纠错处理,获得纠错后的第二原始信息序列v″;
其中,所述步骤S205还包括:
S2051:根据所述第一校验结果D确定出错分组的序号;
S2052:根据所述校验图样F和所述第二校验结果ΔR(x)确定所述出错分组的组内出错的比特位;
S2053:将所述出错的比特位取反,获得纠正后的第二解码序列;
S2054:提取所述第二解码序列中的第二原始信息序列v″。
2.根据权利要求1所述基于CRC的纠错解码的方法,其特征在于,所述步骤S201还包括:所述校验图样F的组数为M+P,M是每组的长度,M和P为正整数,P≥N,N为原始比特序列长度,所述校验图样F包含CRC校验元部分和信息数据部分,对应的校验图样多项式Fk(x)为:
其中对应CRC校验元部分,/>是多项式/>中xi的系数,也是所述CRC校验元序列的第i位,Rk-M(x)-R0(x)对应于信息数据部分。
3.根据权利要求2所述基于CRC的纠错解码的方法,其特征在于,生成所述Rk-M(x)-R0(x)包括:
设置用以生成所述校验图样F的信息数据序列u,在伽罗华域内对应的信息数据多项式Un(x)为:
计算所述信息数据多项式Un(x)与生成多项式g(x)的余式多项式Rn(x):
其中,多项式P(x)为所述信息数据多项式Un(x)被所述生成多项式g(x)整除的部分,获得所述余式多项式Rn(x)为:
多项式R0(x)是信息数据部分无差错时对应的余式多项式,将所述余式多项式Rn(x)与多项式R0(x)进行多项式相减,获得信息数据部分的校验图样多项式为:
Fn+M(x)=Rn(x)-R0(x),n=1,2,…,P。
4.根据权利要求3所述基于CRC的纠错解码的方法,其特征在于,所述步骤S202还包括:将所述原始比特序列d进行分组,获得第三分组dh,如下所示:
d=[d1d2…dh…dH],
对所述第三分组dh进行分组奇偶校验译码的校验矩阵G′为:
获得所述第三分组dh的校验结果Eh,如下所示:
其中,c是将所有组别组合以后获得的H行Q列的信息序列矩阵,Ch是矩阵C中的第h行;
根据所述校验结果Eh获得所述第一解码序列e和所述第一校验结果D,如下所示:
e=[C1Ch…CH],
D=[D1Dh…DH]=[d0dh…dH-1]。
5.根据权利要求4所述基于CRC的纠错解码的方法,其特征在于,所述步骤S203还包括:
所述第一解码序列e包含的所述第一原始信息序列v′和原始校验元序列r′分别为:
v′=[e0e1…eN-1],
r′=[eNeN+1…eN+M-1],
对应地,根据所述第一原始信息序列v′和所述原始校验元序列r′获得在伽罗华域的原始信息多项式V′(x)和原始校验元多项式R′(x);
将所述原始信息多项式V′(x)除以生成多项式g(x)获得校验元多项式R″(x),计算方法如下所示:
将所述校验元多项式R″(x)与所述原始校验元多项式R′(x)相减后获得第二校验结果ΔR(x),如下所示:
其中,Δri是多项式中的第i个系数。
6.根据权利要求5所述基于CRC的纠错解码的方法,其特征在于,所述步骤S2051还包括:
根据所述第一校验结果D确定出错组别集合T,如下所示:
T={t|D(t)=1}。
7.根据权利要求6所述基于CRC的纠错解码的方法,其特征在于,所述步骤S2052还包括:
设所述出错组别集合T的元素个数为J,tj为第j个出错组别,zj为第j个出错组别里对应的比特位,根据下式唯一确定出错分组tj的组内出错的比特位zj:
8.一种基于CRC的纠错解码的装置,其特征在于,包括:校验图样产生模块,解码分组模块,奇偶校验解码模块,解码合并模块,CRC校验解码模块,纠错模块,提取模块;
所述校验图样产生模块预先产生校验图样F;
所述解码分组模块将原始比特序列分为一或多个长度一致的第三分组;
所述奇偶校验解码模块对所述第三分组进行奇偶校验,获得每个第三分组的校验结果和对应的解码序列;
所述解码合并模块将所述第三分组的校验结果和所述解码序列分别按顺序合并,获得第一校验结果和第一解码序列;
所述CRC校验解码模块对所述第一解码序列进行CRC校验,获得第二校验结果,所述CRC校验解码模块对所述第二校验结果进行判断:若所述第二校验结果为零,将所述第一解码序列输出至所述提取模块,若第二校验结果不为零,将所述第二校验结果输送至所述纠错模块;
所述纠错模块根据所述第一校验结果确定出错分组的序号,根据所述校验图样F和所述第二校验结果确定出错分组的组内出错的比特位,将所述出错的比特位取反,获得纠正后的第二解码序列,将所述第二解码序列输出至所述提取模块;
所述提取模块将输入的所述第一解码序列或者所述第二解码序列进行提取操作,获得原始信息序列。
9.一种终端,其特征在于,包括如权利要求8所述的基于CRC的纠错解码的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609789.5A CN115037414B (zh) | 2022-05-31 | 2022-05-31 | 基于crc的纠错解码的方法、装置、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609789.5A CN115037414B (zh) | 2022-05-31 | 2022-05-31 | 基于crc的纠错解码的方法、装置、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037414A CN115037414A (zh) | 2022-09-09 |
CN115037414B true CN115037414B (zh) | 2023-12-22 |
Family
ID=83123436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210609789.5A Active CN115037414B (zh) | 2022-05-31 | 2022-05-31 | 基于crc的纠错解码的方法、装置、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037414B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4599722A (en) * | 1984-04-03 | 1986-07-08 | Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee | Apparatus for encoding and decoding digital data to permit error correction |
JP2007288721A (ja) * | 2006-04-20 | 2007-11-01 | Mitsubishi Electric Corp | 通信装置および誤り検出方法 |
CN101174914A (zh) * | 2006-10-30 | 2008-05-07 | 华为技术有限公司 | 误码纠错系统及其发送装置、接收装置和误码纠错方法 |
CN107545289A (zh) * | 2017-09-19 | 2018-01-05 | 闫河 | 矩阵式二维码的编码方法及解码方法 |
WO2018165894A1 (en) * | 2017-03-15 | 2018-09-20 | Nokia Technologies Oy | Early termination with distributed crc polar codes |
CN109428670A (zh) * | 2017-08-23 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种数据差错校验方法及装置、计算机存储介质 |
WO2020075240A1 (en) * | 2018-10-10 | 2020-04-16 | Nec Corporation | Polar coding with distributed-crc and crc-aided successive cancellation decoding |
CN111628780A (zh) * | 2020-05-07 | 2020-09-04 | 中国科学院微电子研究所 | 数据编码、解码方法及数据处理系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2661264C (en) * | 2006-08-11 | 2014-06-10 | Aclara Power-Line Systems Inc. | Method of correcting message errors using cyclic redundancy checks |
US8572460B2 (en) * | 2009-03-17 | 2013-10-29 | Broadcom Corporation | Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein |
JP5509165B2 (ja) * | 2011-08-24 | 2014-06-04 | 株式会社東芝 | 誤り訂正符号化装置、誤り訂正復号装置、不揮発性半導体記憶システム及びパリティ検査行列生成方法 |
-
2022
- 2022-05-31 CN CN202210609789.5A patent/CN115037414B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4599722A (en) * | 1984-04-03 | 1986-07-08 | Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee | Apparatus for encoding and decoding digital data to permit error correction |
JP2007288721A (ja) * | 2006-04-20 | 2007-11-01 | Mitsubishi Electric Corp | 通信装置および誤り検出方法 |
CN101174914A (zh) * | 2006-10-30 | 2008-05-07 | 华为技术有限公司 | 误码纠错系统及其发送装置、接收装置和误码纠错方法 |
WO2018165894A1 (en) * | 2017-03-15 | 2018-09-20 | Nokia Technologies Oy | Early termination with distributed crc polar codes |
CN109428670A (zh) * | 2017-08-23 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种数据差错校验方法及装置、计算机存储介质 |
CN107545289A (zh) * | 2017-09-19 | 2018-01-05 | 闫河 | 矩阵式二维码的编码方法及解码方法 |
WO2020075240A1 (en) * | 2018-10-10 | 2020-04-16 | Nec Corporation | Polar coding with distributed-crc and crc-aided successive cancellation decoding |
CN111628780A (zh) * | 2020-05-07 | 2020-09-04 | 中国科学院微电子研究所 | 数据编码、解码方法及数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115037414A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11201695B2 (en) | Forward error correction with compression coding | |
US7246294B2 (en) | Method for iterative hard-decision forward error correction decoding | |
JP4366463B2 (ja) | 符号化装置及び符号化方法 | |
JP4503613B2 (ja) | 誤り訂正方法及び装置 | |
US20040177312A1 (en) | Parallel decoding of a BCH encoded signal | |
CN103380585B (zh) | 输入位错误率推定方法及其装置 | |
JPH07312560A (ja) | 誤り訂正符号化装置及び誤り訂正復号装置及び誤り訂正符号付きデータ伝送システム及び誤り訂正符号の復号方法 | |
CN107919874A (zh) | 用于非二进制ldpc码解码的校验子计算的基本校验节点处理 | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
CN115037415B (zh) | 基于crc的纠错编码的方法、装置、终端 | |
JP6930090B2 (ja) | 復号化装置、プログラム、及び情報伝送システム | |
US8631307B2 (en) | Method for encoding and/or decoding multimensional and a system comprising such method | |
CN100589359C (zh) | 一种里德索罗蒙码的译码方法及装置 | |
CN115037414B (zh) | 基于crc的纠错解码的方法、装置、终端 | |
JP3329053B2 (ja) | 誤り訂正方式 | |
US9705532B2 (en) | Parallel low-density parity check (LDPC) accumulation | |
WO2020114318A1 (zh) | 一种编码方法、解码方法及装置 | |
JPH08330978A (ja) | 誤り訂正方式 | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
Kim | FPGA implementation of overhead reduction algorithm for interspersed redundancy bits using EEDC | |
Singh et al. | To Investigate the Performance of CRC-Aided Polar Coding Scheme | |
JP6693187B2 (ja) | 復号化装置、プログラム、及び情報伝送システム | |
RU2541844C1 (ru) | Способ декодирования кода-произведения с использованием упорядоченного по весу смежного класса векторов ошибок и устройство его реализующее | |
Farkaš et al. | One error control scheme for ATM header | |
KR20190142991A (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 |