大游中国股份有限公司-BG大游官方网站-DNA存储纠错编码技术专家

基于CRC的纠错编码的方法、装置、终端与流程

作者:小编 日期:Apr.22.2026 点击数:  

  

基于CRC的纠错编码的方法、装置、终端与流程(图1)

  本专利针对传统通信中纠错需重传导致效率低的问题,提出融合CRC编码与奇偶校验的纠错方法。通过CRC生成校验元序列,再对分组数据进行奇偶校验编码,使接收端可直接纠错而无需重传,提升通信可靠性与实时性,降低信道资源占用。

  1.本发明涉及通信领域,尤其涉及一种基于crc的纠错编码的方法、装置、终端。

  2.通信数据经过通信信道传输以后,会受到信道的影响产生差错误码,因此,需要采取信道编码来进行差错控制。图1为差错控制编码通信系统的原理图。图中,x为信源编码器(或加密器、码型变换器、扰码器)的输出信号,y为信道译码器的输出信号。信道编码器在信息码元中按照一定的规律插入一些监督码元(亦称作校验码元),得到序列x。经编码信道传输后x变为y,y经过信道传输时影响经常会产生噪声和误码,需要译码器进行检查,确认是否存在噪声和误码。具体地,信道译码器检查信息码元和监督码元(亦称作校验码元)之间的关系是否被破坏,若被破坏,则说明有误码,就要采取一定措施减少误码率。

  3.循环冗余校验(crc,cyclic redundancy check)是利用多项式除法及其余数的原理来进行错误检测的一种差错控制编解码方法。它将要发送的数据比特序列当做一个信息多项式u(x)的系数,发送时去除以约定的生成多项式g(x),得到一个余数多项式v(x),将余数多项式加到信息多项式之后发送到接收端,接收端同样用生成多项式g(x)去除接收到的接受多项式r(x),如果能够整除,则说明没有误码,如果不能整除,则说明有误码。crc利用除法及余数的原理,实现错误侦测的功能,具有原理清晰、实现简单等优点。

  4.但是crc只有检测错误的功能,不能纠正错误,因此如果直接使用crc,则需要通信双方保持双工链路,如图2所示,在接收方检测出有误码时,通知发送方进行重传,这样导致通信的实时性差,无法满足实时性要求较高的通信领域的需求。

  5.为了解决以上基于crc的差错控制编解码方案无法进行实时纠错的问题,本发明提供一种基于crc的纠错编码的方法、装置、终端,不需要通知发送方重传,只需要单向信道即可在接收端进行纠错处理,提高了通信的可靠性和实时性(通信原理如图3所示)。所述技术方案如下:

  6.一方面,本发明提供了一种基于crc的纠错编码的方法,该方法包括以下步骤:

  7.s101:对长度为n的原始信息序列进行crc编码,获得长度为n+m的第一编码序列,m为校验元序列长度;

  8.s102:对第一编码序列进行分组,获得一或多个长度相等的第一分组;

  10.s104:将第二分组按顺序组合,获得第二编码序列,并送入传输信道。

  14.s1013:根据m设置生成多项式g(x),生成多项式g(x)的最高阶数与m相等;

  15.s1014:将原始信息序列多项式v(x)与生成多项式g(x)进行除法计算,获得校验元多项式r(x);

  16.s1015:将校验元多项式r(x)和原始信息序列多项式v(x)进行加法计算,获得编码多项式a(x);

  17.s1016:根据编码多项式a(x)获得长度为n+m的第一编码序列a。

  其中,n为原始信息序列的长度,vi是原始信息序列多项式v(x)中第i位的系数,对应原始信息序列的第i位的编码值。

  其中,多项式p(x)为原始信息序列多项式v(x)被生成多项式g(x)整除的部分。

  其中,编码多项式a(x)是一个能够被生成多项式g(x)整除的多项式,ai是编码多项式a(x)中第i位的系数。

  进一步地,步骤s1016包括:将编码多项式a(x)的系数ai按顺序排列获得第一编码序列a,第一编码序列a是原始信息序列[v0v1...v

  另一方面,本发明提供一种基于crc的纠错编码的装置,其特征在于,包括:crc编码模块,编码分组模块,奇偶校验编码模块,编码合并模块;

  编码分组模块将第一编码序列进行分组,获得一到多个长度为q的第一分组,当最后一个第一分组长度小于q,则在末尾补零使得最后一个第一分组长度等于q,其中,q为正整数;

  奇偶校验编码模块将每一个第一分组进行奇偶校验编码,转换为第二分组,第二分组的长度比第一分组的长度多1位奇偶校验位;

  编码合并模块将多个第二分组合并,转换为第二编码序列,第二编码序列就是最终送入通信信道的编码序列。

  本发明的有益效果是:利用本发明方案,在利用crc编码的基础上,增加了奇偶校验和纠错编码,使得接收端不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少信道资源的占用。

  为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

  需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体地实施例的目的,不是用于限制本发明。

  如图3所示,本发明提供的方案能够实现单向通信的差错控制,接收端检测到差错时,不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据。

  如图4所示,一方面,本发明提供一种基于crc的纠错编码的方法,该方法在利用crc编码的基础上,增加了奇偶校验和纠错编码,使得接收端不需要通知发送端进行重传,直接进行纠错获取正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少了信道资源的占用。

  s101:对长度为n的原始信息序列进行crc编码,获得长度为n+m的第一编码序列,m为校验元序列长度;

  s1013:根据所述m设置生成多项式,所述生成多项式的最高阶数与m相等;

  s1014:将所述原始信息序列多项式与所述生成多项式进行除法计算,获得校验元多项式;

  s1015:将所述校验元多项式和所述原始信息序列多项式进行加法计算,获得编码多项式;

  具体地,对于步骤s1011:待传输的原始信息序列v中的每一比特位的取值为0或1,不同的原始信息序列v会包括不同的信息比特,具体表现为1001

  11这种形式。当原始信息序列v的长度为n时,则在伽罗华域(galois dield,gf(2))内可以使用原始信息多项式v(x)表示原始信息序列v:

  具体地,是将原始信息序列v中的每一位的编码值按顺序赋值给原始信息多项式v(x)的系数。

  原始信息序列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时,则其生成多项式可以为:

  对于步骤s1014:校验元多项式r(x)为原始信息多项式v(x)除以生成多项式g(x)得到的余式,表示为:

  其中,多项式p(x)为原始信息序列多项式v(x)被生成多项式g(x)整除的部分。

  其中,编码多项式a(x)是一个能够被生成多项式g(x)整除的多项式,ai是所述多项式编码多项式a(x)中第i位的系数。

  通过以上计算,可以保证该编码多项式a(x)是可以被生成多项式g(x)整除的。实际上,当解码端解码出该编码多项式时,使用与编码端相同的生成多项式g(x)去除这个编码多项式,理论上如果能够整除,则说明毫无差错地将信息接收到了。

  进一步地,第一编码序列a是原始信息序列v和校验元序列r的组合,表示为:

  因此,第一编码序列a的长度为n+m。实际上,第一编码序列a就是在原始信息序列v的后面增加了m位的校验元序列r,其中,校验元序列r就来自于校验元多项式r(x)的系数。

  将长度为n+m的第一编码序列a进行分组获得第一分组,每个第一分组的长度为q,设为向上取整运算,则一共获得组数h为:

  补零后的数据为补零序列b,总长度为h*q,分组索引为h,则补零序列b可表示为:

  其中a为q*q的单位矩阵,b是长度为q的全1列向量。例如,当q=4时,生成矩阵为:

  将以上获得的h个第二分组ch按顺序合并,获得第二编码序列c,如下所示:

  另一方面,参考图5、图6,本发明提供一种基于crc的纠错解码的方法,该方法在利用crc进行检错的基础上,增加了奇偶校验和纠错解码,使得接收端不需要通知发送端进行重传,而是直接进行纠错,获得正确的通信数据,从而提高了通信的可靠性和实时性,并支持单向通信,减少信道资源的占用。

  s202:对接收到的原始比特序列d进行分组奇偶校验解码,获得第一校验结果d和第一解码序列e;

  s203:对第一解码序列e进行crc校验,获得第二校验结果δr(x);对第二校验结果δr(x)进行判断:若第二校验结果δr(x)为零,表示传输无差错,跳转至步骤s204,若第二校验结果δr(x)不为零,表示传输有差错,跳转至步骤s205;

  s205:根据校验图样f对第一解码序列e进行纠错处理,获得纠错后的第二原始信息序列v

  在接收端,可以预先计算生成多组校验图样f,每一组校验图样长度为m。其中,校验图样是通信领域中在接收端用以差错控制的本地序列样本。预先生成校验图样可以节省实时数据处理的时间,提升数据处理的效率。进一步地,也可以实时生成校验图样,这样可以更灵活地适配不同长度的序列的解码,同时也节省存储空间,因为不需要生成大量的校验图样,因而适用于存储空间较小的场景。

  进一步地,校验图样f的组数取值为m+p(p≥n),m和p为正整数,p≥n,每组的长度为m,其中,n为原始比特序列长度,校验图样f包含crc校验元和信息数据两部分。对应的校验图样多项式fk(x)为:

  (x)-r0(x)对应于信息数据部分,是多项式第i位的系数,也是所述crc校验元序列的第i位。

  crc校验元部分的图样本质是m个crc校验元信息序列中每一位单独出错时对应的错误图样,因此共有m组。对于每一组fk(k=1,

  ,m),其对应的比特序列为第m-k+1个比特为1,其他比特均为零,因此所有组别的集合是一个对角线]

  用来生成校验图样的信息数据为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)是一样的。具体计算方法如下:

  其中,r0(x)是u为全零时得到的余式,也即代表传输过程信息数据部分无差错出现时对应的余式。将以上步骤中得到的其它各个余式,在gf(2)域内分别与r0(x)进行多项式相减,获得信息数据部分的校验图样多项式为:

  其本质是信息数据的每一比特错误对应的余式与无错误时对应的余式的差值。因此,每一组校验图样fk(x),均按一定顺序与信息数据一一对应。

  因此,结合以上crc校验元和信息数据两部分的内容,完整的校验图样多项式fk(x)为:

  接收端接收到的原始比特序列为d,对应地,d是发送端发送的第二编码序列c的观

  其中,c是将所有组别组合以后获得的,具体是一个h行q列的信息序列矩阵,设奇偶校验译码完成后得到的第一解码序列为e,则有:

  其中,第一解码序列e中的分组ch的长度比接收到的比特序列d中的第三分组dh的长度少一位,因为去掉了奇偶校验位。

  对于奇偶校验译码的第一解码序列e,其长度为q*h,则其包含的第一原始信息序列v

  对应地,在gf(2)域上的原始信息多项式和原始校验元多项式分别为v(x)和r(x)。

  的校验元多项式,方法是将原始信息多项式v(x)除以g(x)获得余式r(x

  对以上的第二校验结果δr(x)进行判断,当第二校验结果δr(x)为零,表示传输无差错,跳转至步骤s204;当第二校验结果δr(x)不为零,表示传输有差错,跳转至步骤s205。

  s2052:根据校验图样f和第二校验结果δr(x)确定出错分组的组内出错的比特位;

  纠错处理要根据奇偶校验译码时得到的第一校验结果d,来确定出错码字组别。设出错组别的集合为t,如下所示:

  则获得出错分组的序号,也就是第一校验结果d中值为1的比特位,对应地,t是出错分组的组号。

  设t的元素个数为j,tj表示第j个出错分组,zj表示第j个出错分组里的出错比特位。

  确定有哪些分组出错后,便可在特定的分组里遍历每一个比特位对应的校验图样。由校验图样f的生成原理可知,每一组校验图样均与信息数据一一对应,这种对应关系可转化成出错分组和出错比特位表示的函数。即当tj个分组出错时,遍历到该出错分组内第zj个比特时,其对应的校验图样分组为:

  本发明方案以出错分组为大框架,以每个出错分组只有一个比特位错误为前提,分别在每个出错分组内取一个比特位对应的校验图样,将其在gf(2)域内进行相加,当每个组遍历的比特位刚好全都是出错比特位时,得到的和即为上面所计算得到的第二校验结果δr(x)。

  ,zj的取值,将第一解码序列e中对应的出错位zj的取值进行取反,即可获得纠正后的第二解码序列e

  例如,对于第一解码序列e,其出错的比特位分别为对其进行比特取反后即可完成纠错,取反包括:如果是0,则变为1,如果是1则变为0。

  提取所述第二解码序列中的第二原始信息序列,即可得到错误纠正后的原始信息序列v。

  设纠错完成后的数据序列为g,则纠错译码完成后获得的信息序列即为发送端原始序列v:

  进一步地,对于步骤s2053和步骤s2054,还可以增加判断,如果出错的不是原始信

  息序列的的序号,而是校验元序列的序号,则可以不处理,直接处理下一个出错比特位。这是因为,解码的最终目的只是要获取携带了通信数据的原始信息序列,不需要对校验元再进行取反操作。这样可以节省数据处理时间,进一步提升性能。

  为了更直观地说明本发明的基于crc的纠错解码方法和编码方法,下面举一个实际例子:

  待传输的原始信息序列v是4个字节的aa(十六进制),则其总的比特长度n=8*4=32比特,其对应的原始信息多项式为:

  +x9+x7+x4+x2+1,也即由v生成的16比特crc校验元序列为0001_1110_1001_0101

  =[101011_010100_101011_010100_101011_010100_100001_111100_100100_101000],将第二编码序列c送入传输信道。

  在接收端,生成m+p=48组(其中,p=32,m=16)比特宽度为m=16的校验图样,用于生成此校验图样的信息数据u为33行32列的矩阵u:

  接收端接收到的原始比特序列为d有10组,将原始比特序列d进行分组,获得第三分组dh,,如下所示:

  =[001011_110100_101011_010100_101011_010100_100001_011100_100100_101000],对dh进行分组奇偶校验译码,校验矩阵g

  则奇偶校验译码完成后,得到的第一解码序列为e和第一校验结果d d分别为:

  e=[00101_11010_10101_01010_10101_01010_10000_01110_10010_10100]

  t1=1,t2=2,t3=8,z1=z2=z3=0,n=32,m=16,q=5

  最终得到z1=z2=z3=0后,那么对于第一解码序列e,出错比特位置即为:e0、e5、e

  可以看出,通过发送端和接收端的校验和纠错方法,使得接收端可以直接获取正确的发送端发送的原始数据,并且只需要一次通信,无需通知发送端重传。

  再一方面,请参考图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的纠错解码的方法进行通信,从而实现差错控制。

  以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

  针对传统CRC校验无法检测多比特错误及定位纠错的缺陷,提出三维CRC校验方法。通过将数据构建成三维立体图,分别在三维方向生成校验码,并在交棱处计算合校验码,实现多维度交叉校验。该方法显著提升检...

  针对QC-LDPC码在传输效率与接收质量间的平衡问题,提出通过智能删截图案设定与切换的解决方案。删截图案设定单元基于子块矩阵列数的整数倍或公约数周期搜索最优删截方案,删截单元据此动态调整删截位...

  1.数字信号处理 2.传感器技术及应用 3.机电一体化产品开发 4.机械工程测试技术 5.逆向工程技术研究

  1.振动信号时频分析理论与测试系统设计 2.汽车检测系统设计 3.汽车电子控制系统设计BG大游娱乐平台BG大游娱乐平台