CN114513285B - 传输数据检测与校正的方法、装置、设备及可读存储介质 - Google Patents
传输数据检测与校正的方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114513285B CN114513285B CN202210090058.4A CN202210090058A CN114513285B CN 114513285 B CN114513285 B CN 114513285B CN 202210090058 A CN202210090058 A CN 202210090058A CN 114513285 B CN114513285 B CN 114513285B
- Authority
- CN
- China
- Prior art keywords
- data packet
- coded data
- error
- coded
- encoded
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请涉及一种传输数据检测与校正的方法、装置、设备及可读存储介质,涉及网络数据传输技术领域,包括接收发送端发送的x个编码后数据包及对应的第一校验码,基于第一校验码对对应的编码后数据包进行校验检测;当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;基于CRC线性性质、存在错误的编码后数据包的第二校验码、存在错误的编码后数据包对应的第一校验码及出错位置确定出错误向量;基于错误向量对存在错误的编码后数据包进行校正,得到存在错误的编码后数据对应的原始编码后数据包。本申请可准确定位出传输数据的出错位置,降低传输过程中的数据量、开销和延迟。
Description
技术领域
本申请涉及网络数据传输技术领域,特别涉及一种传输数据检测与校正的方法、装置、设备及可读存储介质。
背景技术
在无线通信中,数据传输的错误往往是不可避免的,其可以归因于信号波动、衰减或干扰。不过,不同类型的应用程序对错误的容忍度是不同的,比如音频和视频类的应用程序能够容忍少量错误,以保证没有明显的失真,而数据类应用程序对数据的准确性要求极为严苛,其需要保证无错误传输。由此可见,不同类型的应用程序对错误的容忍度虽然不同,但是,不管哪种类型的应用程序都对数据传输的可靠性具有一定的要求。因此,为了尽可能提高接收端收到数据的正确率,通常会在接收端接收数据之前对数据进行错误检测和校正。
相关技术中,往往通过奇偶校验和循环冗余校验(CRC)方法实现数据的正确与否的检测,不过其只能针对某一数据包是否正确进行判断,而无法准确定位出该数据包中具体出错的位置。此外,为了解决误码问题,通常通过前向纠错(FEC)或自动重复请求(ARQ)方法来进行错误数据的校正,其中,基于FEC的方法一般会向传输的数据包中添加大量冗余信息,以使得数据包即使存在一些损坏的比特,该数据包也可以被恢复;而基于ARQ的方法中,当在数据包内部检测到错误时,ARQ会请求发送端重传出错的数据报文来恢复出错的报文。但是,由于FEC包含了大量的冗余信息,其不可避免的会给传输的负载造成较大的开销;而ARQ则由于需要发送端重复发送出错的数据报文,以致出现传输延迟问题。
发明内容
本申请提供一种传输数据检测与校正的方法、装置、设备及可读存储介质,以解决相关技术中无法准确定位传输数据的出错位置以及存在较大的校正开销和延迟的问题。
第一方面,提供了一种传输数据检测与校正的方法,包括以下步骤:
接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;
当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;
基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;
基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。
一些实施例中,在所述接收发送端发送的x个编码后数据包及其对应的第一校验码的步骤之前,还包括:
基于预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵,所述原始数据矩阵包括k个原始数据包,所述编码后矩阵包括与各个原始数据包线性相关的编码后数据包,其中,k为正整数,且k小于x;
对每个编码后数据包进行循环冗余校验,得到与编码后数据包对应的第一校验码;
将各个编码后数据包及其对应的第一校验码发送至接收端。
一些实施例中,所述当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置,包括:
当检测到其中一个编码后数据包存在错误时,从x个编码后数据包中选取出k+1个编码后数据包形成第一数据包集合,所述第一数据包集合包括存在错误的编码后数据包;
从所述第一数据包集合中选取出k个编码后数据包形成第二数据包集合,所述第二数据包集合包括存在错误的编码后数据包;
将所述第二数据包集合中各个编码后数据包的第j列的实际编码数据与第一编码矩阵的逆矩阵进行运算,得到第二数据包集合中各个编码后数据包的第j列的预估原始数据,所述第一编码矩阵包含所述预设的编码矩阵中与第二数据包集合的各个编码后数据包对应的元素,其中,j为自然数;
基于第二编码矩阵对第二数据包集合中各个编码后数据包的第j列的预估原始数据进行编码,得到第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据,所述第二编码矩阵包含所述预设的编码矩阵中与第一数据包集合的第k+1个编码后数据包对应的元素;
当所述第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据不等于所述第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据,则存在错误的编码后数据包的第j列的数据出错。
一些实施例中,所述基于所述第一校验码对对应的编码后数据包进行校验检测,包括:
将接收到的第一编码后数据包与其对应的第一校验码作为校验对象进行CRC校验;
若所述校验对象能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包不存在错误;
若所述校验对象不能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包存在错误。
一些实施例中,所述基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量,包括:
利用CRC线性性质并基于存在错误的编码后数据包的第二校验码和所述存在错误的编码后数据包对应的第一校验码计算出第三校验码;
根据存在错误的编码后数据包的出错位置确定出与存在错误的编码后数据包中的出错的实际编码数据对应的错误基向量;
利用CRC线性性质并根据第三校验码和错误基向量计算出用于确定错误向量的与错误基向量对应的待定系数;
根据待定系数和错误基向量计算出错误向量。
第二方面,提供了一种传输数据检测与校正的装置,包括:
校验单元,其用于接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;
检测单元,其用于当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;
校正单元,其用于基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。
一些实施例中,所述装置还包括编码单元,其用于:
基于预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵,所述原始数据矩阵包括k个原始数据包,所述编码后矩阵包括与各个原始数据包线性相关的编码后数据包,其中,k为正整数,且k小于x;
对每个编码后数据包进行循环冗余校验,得到与编码后数据包对应的第一校验码;
将各个编码后数据包及其对应的第一校验码发送至接收端。
一些实施例中,所述检测单元具体用于:
当检测到其中一个编码后数据包存在错误时,从x个编码后数据包中选取出k+1个编码后数据包形成第一数据包集合,所述第一数据包集合包括存在错误的编码后数据包;
从所述第一数据包集合中选取出k个编码后数据包形成第二数据包集合,所述第二数据包集合包括存在错误的编码后数据包;
将所述第二数据包集合中各个编码后数据包的第j列的实际编码数据与第一编码矩阵的逆矩阵进行运算,得到第二数据包集合中各个编码后数据包的第j列的预估原始数据,所述第一编码矩阵包含所述预设的编码矩阵中与第二数据包集合的各个编码后数据包对应的元素,其中,j为自然数;
基于第二编码矩阵对第二数据包集合中各个编码后数据包的第j列的预估原始数据进行编码,得到第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据,所述第二编码矩阵包含所述预设的编码矩阵中与第一数据包集合的第k+1个编码后数据包对应的元素;
当所述第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据不等于所述第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据,则存在错误的编码后数据包的第j列的数据出错。
第三方面,提供了一种传输数据检测与校正的设备,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现前述的传输数据检测与校正的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现前述的传输数据检测与校正的方法。
本申请提供的技术方案带来的有益效果包括:不仅可准确定位出传输数据的出错位置,且在一定程度上降低了传输过程中的数据量,有效降低了开销和延迟。
本申请提供了一种传输数据检测与校正的方法、装置、设备及可读存储介质,包括接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。本申请的接收端通过利用代数一致性校验可准确定位出存在错误的数据包的具体出错位置,并利用CRC线性性质对存在错误的数据包进行校正,从而得到原始编码后数据包,无需发送端进行出错重传且无需携带大量冗余信息。因此,本申请不仅可以准确定位出传输数据的出错位置,且在一定程度上降低了传输过程中的数据量,有效降低了开销和延迟。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种传输数据检测与校正的方法的流程示意图;
图2为本申请实施例提供的一种传输数据检测与校正的设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种传输数据检测与校正的方法、装置、设备及可读存储介质,其能解决相关技术中无法准确定位传输数据的出错位置以及存在较大的校正开销和延迟的问题。
图1是本申请实施例提供的一种传输数据检测与校正的方法,包括以下步骤:
步骤S10:接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;
进一步的,在所述接收发送端发送的x个编码后数据包及其对应的第一校验码的步骤之前,还包括以下步骤:
基于预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵,所述原始数据矩阵包括k个原始数据包,所述编码后矩阵包括与各个原始数据包线性相关的编码后数据包,其中,k为正整数,且k小于x;
对每个编码后数据包进行循环冗余校验,得到与编码后数据包对应的第一校验码;
将各个编码后数据包及其对应的第一校验码发送至接收端。
进一步的,所述基于所述第一校验码对对应的编码后数据包进行校验检测,包括:
将接收到的第一编码后数据包与其对应的第一校验码作为校验对象进行CRC校验;
若所述校验对象能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包不存在错误;
若所述校验对象不能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包存在错误。
示范性的,本实施例中,由于数据在传输的过程中往往存在信号波动、衰减或干扰等因素,以致接收端接收到的数据容易存在错误,因此接收端在接收到发送端发送的数据包时,需要对该数据包进行校验检测和校正,以保证数据的准确性。因此,发送端在将待发送的原始数据包发送至接收端之前,会对待发送的原始数据矩阵进行编码和校验。本实施例中,可以令原始数据包共有10个,经编码后得到15个编码后数据包,然后利用随机数生成器,随机产生随机数从而决定编码包中出错的数据包,并在出错的数据包中通过随机数来随机选取列作为发生错误的列。
具体的,以预设的编码矩阵待发送的原始数据矩阵(该原始数据矩阵包含k个待发送的数据包p)/>为例,基于该预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵/>即:
由此可见,编码后矩阵内包含了m个编码后数据包p′。然后对每个需要发送至接收端的编码后数据包p′(该编码后数据包p′中包含了l个原始编码数据p′mi,p′mi表示第m个编码后数据包中的第i列的原始编码数据)进行循环冗余校验,得到与编码后数据包p′对应的第一校验码;再将各个编码后数据包p′及其对应的第一校验码发送至接收端。其中,当一个编码后矩阵中的全部数据发送完毕后,将继续发送下一个编码后矩阵中的数据。其中,m、l、i均为正整数。
接收端在接收发送端发送的编码后数据包p′时,会对接收到的每个编码后数据包p′进行错误校验,即检测接收到的每个编码后数据包p′是否正确,由于每个编码后数据包p′的校验方法均是一样的,本实施例以某一个编码后数据包p′的校验过程为例进行阐述:比如,将接收到的某一编码后数据包p′和其对应的第一校验码作为整体形成一个校验对象进行CRC校验,如果该校验对象能够被该某一编码后数据包p′对应的生成多项式(该生成多项式为CRC多项式,例如生成多项式可以为X8+X2+X+1)整除,即余数为零,则说明该某一编码后数据包p′是正确的,即该某一编码后数据包p′中的实际编码数据p″mi与其原始编码数据p′mi是一致的;如果不能被生成多项式整除,即余数不为零,则说明该某一编码后数据包p′存在错误,即该某一编码后数据包p′中的实际编码数据p″mi与其原始编码数据p′mi是不一致的,因此需要进一步判定该某一编码后数据包p′中具体哪个位置上的编码数据出现错误。不过要想确定该某一编码后数据包p′的出错位置,就需要基于接收到的其他编码后数据包p′进行辅助判定。
步骤S20:当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;
进一步的,所述步骤S20具体包括:
当检测到其中一个编码后数据包存在错误时,从x个编码后数据包中选取出k+1个编码后数据包形成第一数据包集合,所述第一数据包集合包括存在错误的编码后数据包;
从所述第一数据包集合中选取出k个编码后数据包形成第二数据包集合,所述第二数据包集合包括存在错误的编码后数据包;
将所述第二数据包集合中各个编码后数据包的第j列的实际编码数据与第一编码矩阵的逆矩阵进行运算,得到第二数据包集合中各个编码后数据包的第j列的预估原始数据,所述第一编码矩阵包含所述预设的编码矩阵中与第二数据包集合的各个编码后数据包对应的元素,其中,j为自然数;
基于第二编码矩阵对第二数据包集合中各个编码后数据包的第j列的预估原始数据进行编码,得到第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据,所述第二编码矩阵包含所述预设的编码矩阵中与第一数据包集合的第k+1个编码后数据包对应的元素;
当所述第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据不等于所述第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据,则存在错误的编码后数据包的第j列的数据出错。
示范性的,以存在错误的编码后数据包是P′中的第一个编码后数据包Q,且该Q中第j列出现错误为例,当接收端接收到x个编码后数据包p′后,开始利用代数一致性原理和其他编码后数据包检测出Q的出错位置是第j列。其中,x的具体数值根据实需求确定,在此不作限定。
具体的,从x个编码后数据包中选取出k+1个编码后数据包p′形成第一数据包集合,该第一数据包集合中包含有Q和正确的编码后数据包p′。然后随机的从第一数据包集合中选取k个编码后数据包形成第二数据包集合,然后对Q进行按列逐个的校验。
下面将以对Q的第j列进行校验为例具体阐述。
将第二数据包集合中的各个编码后数据包的第j列的实际编码数据和对应的第一编码矩阵/>的逆矩阵/>进行运算,解码得到第二数据包集合中各个编码后数据包的第j列的预估原始数据/>即:
然后,基于第二编码矩阵C2=[c(k+1)1 … c(k+1)k]对第j列的预估原始数据进行编码,得到第一数据包集合中的第k+1个编码后数据包的第j列的预估编码数据/>即:
将预估编码数据与第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据P′(k+1)j进行比较,若两者相等,则说明Q中的第j列的实际编码数据是正确的,而若不相等,则说明Q中的第j列的实际编码数据是错误的,即Q出错位置是第j列。
步骤S30:基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;
进一步的,所述步骤S30具体包括:
利用CRC线性性质并基于存在错误的编码后数据包的第二校验码和所述存在错误的编码后数据包对应的第一校验码计算出第三校验码;
根据存在错误的编码后数据包的出错位置确定出与存在错误的编码后数据包中的出错的实际编码数据对应的错误基向量;
利用CRC线性性质并根据第三校验码和错误基向量计算出用于确定错误向量与错误基向量对应的待定系数;
根据待定系数和错误基向量计算出错误向量。
示范性的,本实施例中,步骤S20中已经检测出Q的出错位置是第j列,此时就可以利用CRC线性性质来纠正Q中的第j列数据,进而恢复原始矩阵。
具体的,由于通过错误向量E(E表示错误的位置和内容,其由基向量e构成)可以对Q(假设Q为P′i *)进行纠正得到正确的编码后数据包Q′(即原始编码后数据包,假设Q′为P′i),即其中,/>n为待定系数,由此可见,要想求得E,就需要先计算出n。其中,Q中未出错的实际编码数据对应的基向量的待定系数为0,相当于已知数,不需要进行求解,而对于出错的实际编码数据对应的错误基向量的待定系数就需要进行求解。
根据CRC的性质:可以得出:
其中,CRC(P′i)为Q的第一校验码,CRC(P′i *)为Q的第二校验码(该第二校验码基于接收到的编码后数据包中的实际编码数据计算得到),联立式(1)和式(2)即可求出待定系数n1至nj,进而可以求出错误向量E。
步骤S40:基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。
示范性的,本实施例中,根据步骤S30中求出的错误向量E对Q进行校正,即可得到校正后的Q′;然后再根据该Q′以及编码后数据包与原始数据包之间的线性相关关系,即可求出Q′对应的原始数据包,进而实现错误数据包的校正。因此,本实施例通过利用代数一致性的性质对发生错误的数据包进行检验,从而确定产生错误的列,又利用了CRC的性质,对错误进行纠正,从而有效解决了出现错误重传的问题,并且加快了错误检测和纠正的速度。
由此可见,本申请实施例的接收端通过利用代数一致性校验可准确定位出存在错误的数据包的具体出错位置,并利用CRC线性性质对存在错误的数据包进行校正,从而得到原始编码后数据包,无需发送端进行出错重传且无需携带大量冗余信息。因此,本申请实施例不仅可以准确定位出传输数据的出错位置,且在一定程度上降低了传输过程中的数据量,有效降低了开销和延迟。
本申请实施例还提供了一种传输数据检测与校正的装置,包括:
校验单元,其用于接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;
检测单元,其用于当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;
校正单元,其用于基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。
本申请实施例的接收端通过利用代数一致性校验可准确定位出存在错误的数据包的具体出错位置,并利用CRC线性性质对存在错误的数据包进行校正,从而得到原始编码后数据包,无需发送端进行出错重传且无需携带大量冗余信息。因此,本申请实施例不仅可以准确定位出传输数据的出错位置,且在一定程度上降低了传输过程中的数据量,有效降低了开销和延迟。
进一步的,所述装置还包括编码单元,其用于:
基于预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵,所述原始数据矩阵包括k个原始数据包,所述编码后矩阵包括与各个原始数据包线性相关的编码后数据包,其中,k为正整数,且k小于x;
对每个编码后数据包进行循环冗余校验,得到与编码后数据包对应的第一校验码;
将各个编码后数据包及其对应的第一校验码发送至接收端。
进一步的,所述检测单元具体用于:
当检测到其中一个编码后数据包存在错误时,从x个编码后数据包中选取出k+1个编码后数据包形成第一数据包集合,所述第一数据包集合包括存在错误的编码后数据包;
从所述第一数据包集合中选取出k个编码后数据包形成第二数据包集合,所述第二数据包集合包括存在错误的编码后数据包;
将所述第二数据包集合中各个编码后数据包的第j列的实际编码数据与第一编码矩阵的逆矩阵进行运算,得到第二数据包集合中各个编码后数据包的第j列的预估原始数据,所述第一编码矩阵包含所述预设的编码矩阵中与第二数据包集合的各个编码后数据包对应的元素,其中,j为自然数;
基于第二编码矩阵对第二数据包集合中各个编码后数据包的第j列的预估原始数据进行编码,得到第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据,所述第二编码矩阵包含所述预设的编码矩阵中与第一数据包集合的第k+1个编码后数据包对应的元素;
当所述第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据不等于所述第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据,则存在错误的编码后数据包的第j列的数据出错。
进一步的,所述校验单元具体用于:
将接收到的第一编码后数据包与其对应的第一校验码作为校验对象进行CRC校验;
若所述校验对象能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包不存在错误;
若所述校验对象不能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包存在错误。
进一步的,所述校正单元具体用于:
利用CRC线性性质并基于存在错误的编码后数据包的第二校验码和所述存在错误的编码后数据包对应的第一校验码计算出第三校验码;
根据存在错误的编码后数据包的出错位置确定出与存在错误的编码后数据包中的出错的实际编码数据对应的错误基向量;
利用CRC线性性质并根据第三校验码和错误基向量计算出用于确定错误向量的与错误基向量对应的待定系数;
根据待定系数和错误基向量计算出错误向量。
需要说明的是,所属本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各单元的具体工作过程,可以参考前述传输数据检测与校正的方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图2所示的传输数据检测与校正的设备上运行。
本申请实施例还提供了一种传输数据检测与校正的设备,包括:通过系统总线连接的存储器、处理器和网络接口,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现前述的传输数据检测与校正的方法的全部步骤或部分步骤。
其中,网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
处理器可以是CPU,还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件分立硬件组件等。通用处理器可以是微处理器,或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如视频播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如视频数据、图像数据等)等。此外,存储器可以包括高速随存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(SmartMedia Card,SMC)、安全数字(Secure digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现前述的传输数据检测与校正的方法的全部步骤或部分步骤。
本申请实施例实现前述的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only memory,ROM)、随机存取存储器(Random Accessmemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种传输数据检测与校正的方法,其特征在于,包括以下步骤:
接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;
当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;
基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;
基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。
2.如权利要求1所述的传输数据检测与校正的方法,其特征在于,在所述接收发送端发送的x个编码后数据包及其对应的第一校验码的步骤之前,还包括:
基于预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵,所述原始数据矩阵包括k个原始数据包,所述编码后矩阵包括与各个原始数据包线性相关的编码后数据包,其中,k为正整数,且k小于x;
对每个编码后数据包进行循环冗余校验,得到与编码后数据包对应的第一校验码;
将各个编码后数据包及其对应的第一校验码发送至接收端。
3.如权利要求2所述的传输数据检测与校正的方法,其特征在于,所述当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置,包括:
当检测到其中一个编码后数据包存在错误时,从x个编码后数据包中选取出k+1个编码后数据包形成第一数据包集合,所述第一数据包集合包括存在错误的编码后数据包;
从所述第一数据包集合中选取出k个编码后数据包形成第二数据包集合,所述第二数据包集合包括存在错误的编码后数据包;
将所述第二数据包集合中各个编码后数据包的第j列的实际编码数据与第一编码矩阵的逆矩阵进行运算,得到第二数据包集合中各个编码后数据包的第j列的预估原始数据,所述第一编码矩阵包含所述预设的编码矩阵中与第二数据包集合的各个编码后数据包对应的元素,其中,j为自然数;
基于第二编码矩阵对第二数据包集合中各个编码后数据包的第j列的预估原始数据进行编码,得到第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据,所述第二编码矩阵包含所述预设的编码矩阵中与第一数据包集合的第k+1个编码后数据包对应的元素;
当所述第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据不等于所述第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据,则存在错误的编码后数据包的第j列的数据出错。
4.如权利要求1所述的传输数据检测与校正的方法,其特征在于,所述基于所述第一校验码对对应的编码后数据包进行校验检测,包括:
将接收到的第一编码后数据包与其对应的第一校验码作为校验对象进行CRC校验;
若所述校验对象能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包不存在错误;
若所述校验对象不能被所述第一编码后数据包对应的生成多项式整除,则确定所述第一编码后数据包存在错误。
5.如权利要求1所述的传输数据检测与校正的方法,其特征在于,所述基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量,包括:
利用CRC线性性质并基于存在错误的编码后数据包的第二校验码和所述存在错误的编码后数据包对应的第一校验码计算出第三校验码;
根据存在错误的编码后数据包的出错位置确定出与存在错误的编码后数据包中的出错的实际编码数据对应的错误基向量;
利用CRC线性性质并根据第三校验码和错误基向量计算出用于确定错误向量的与错误基向量对应的待定系数;
根据待定系数和错误基向量计算出错误向量。
6.一种传输数据检测与校正的装置,其特征在于,包括:
校验单元,其用于接收发送端发送的x个编码后数据包及其对应的第一校验码,并基于所述第一校验码对对应的编码后数据包进行校验检测,其中,x为正整数;
检测单元,其用于当检测到其中一个编码后数据包存在错误时,基于代数一致性原理和其他编码后数据包检测出存在错误的编码后数据包的出错位置;
校正单元,其用于基于CRC线性性质、存在错误的编码后数据包的第二校验码、所述存在错误的编码后数据包对应的第一校验码以及出错位置确定出错误向量;基于所述错误向量对所述存在错误的编码后数据包进行校正,得到所述存在错误的编码后数据包对应的原始编码后数据包。
7.如权利要求6所述的传输数据检测与校正的装置,其特征在于,所述装置还包括编码单元,其用于:
基于预设的编码矩阵对待发送的原始数据矩阵进行编码,得到编码后矩阵,所述原始数据矩阵包括k个原始数据包,所述编码后矩阵包括与各个原始数据包线性相关的编码后数据包,其中,k为正整数,且k小于x;
对每个编码后数据包进行循环冗余校验,得到与编码后数据包对应的第一校验码;
将各个编码后数据包及其对应的第一校验码发送至接收端。
8.如权利要求7所述的传输数据检测与校正的装置,其特征在于,所述检测单元具体用于:
当检测到其中一个编码后数据包存在错误时,从x个编码后数据包中选取出k+1个编码后数据包形成第一数据包集合,所述第一数据包集合包括存在错误的编码后数据包;
从所述第一数据包集合中选取出k个编码后数据包形成第二数据包集合,所述第二数据包集合包括存在错误的编码后数据包;
将所述第二数据包集合中各个编码后数据包的第j列的实际编码数据与第一编码矩阵的逆矩阵进行运算,得到第二数据包集合中各个编码后数据包的第j列的预估原始数据,所述第一编码矩阵包含所述预设的编码矩阵中与第二数据包集合的各个编码后数据包对应的元素,其中,j为自然数;
基于第二编码矩阵对第二数据包集合中各个编码后数据包的第j列的预估原始数据进行编码,得到第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据,所述第二编码矩阵包含所述预设的编码矩阵中与第一数据包集合的第k+1个编码后数据包对应的元素;
当所述第一数据包集合中第k+1个编码后数据包的第j列的预估编码数据不等于所述第一数据包集合中第k+1个编码后数据包的第j列的实际编码数据,则存在错误的编码后数据包的第j列的数据出错。
9.一种传输数据检测与校正的设备,其特征在于,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1至5中任一项所述的传输数据检测与校正的方法。
10.一种计算机可读存储介质,其特征在于:所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现权利要求1至5中任一项所述的传输数据检测与校正的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210090058.4A CN114513285B (zh) | 2022-01-25 | 2022-01-25 | 传输数据检测与校正的方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210090058.4A CN114513285B (zh) | 2022-01-25 | 2022-01-25 | 传输数据检测与校正的方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114513285A CN114513285A (zh) | 2022-05-17 |
CN114513285B true CN114513285B (zh) | 2023-09-22 |
Family
ID=81549609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210090058.4A Active CN114513285B (zh) | 2022-01-25 | 2022-01-25 | 传输数据检测与校正的方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513285B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987460B (zh) * | 2023-03-21 | 2023-06-16 | 深圳华锐分布式技术股份有限公司 | 基于校验码的数据传输方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828066A (zh) * | 2016-04-19 | 2016-08-03 | 广东威创视讯科技股份有限公司 | 一种传输信号的检测方法及系统 |
CN109660320A (zh) * | 2019-01-17 | 2019-04-19 | 北京航空航天大学 | 网络端到端差错控制传输方法、装置及电子设备 |
CN113938248A (zh) * | 2020-07-14 | 2022-01-14 | 华为技术有限公司 | 数据报文纠错方法和数据报文纠错装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8806295B2 (en) * | 2012-05-24 | 2014-08-12 | International Business Machines Corporation | Mis-correction and no-correction rates for error control |
WO2018140316A1 (en) * | 2017-01-24 | 2018-08-02 | Arizona Board Of Regents On Behalf Of The University Of Arizona | A method and system utilizing quintuple parity to provide fault tolerance |
-
2022
- 2022-01-25 CN CN202210090058.4A patent/CN114513285B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828066A (zh) * | 2016-04-19 | 2016-08-03 | 广东威创视讯科技股份有限公司 | 一种传输信号的检测方法及系统 |
CN109660320A (zh) * | 2019-01-17 | 2019-04-19 | 北京航空航天大学 | 网络端到端差错控制传输方法、装置及电子设备 |
CN113938248A (zh) * | 2020-07-14 | 2022-01-14 | 华为技术有限公司 | 数据报文纠错方法和数据报文纠错装置 |
Non-Patent Citations (1)
Title |
---|
适用于空间机器人遥操作系统数据通信的纠错编码;张平;刘佑轩;;机器人(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114513285A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743621B (zh) | 基于极化码的harq信号发送、接收方法及装置 | |
US20040117722A1 (en) | Performance of communication systems using forward error correction | |
US20100287441A1 (en) | Signal segmentation method and crc attachment method for reducing undetected error | |
CN102136887A (zh) | 传输块循环冗余校验方法及装置 | |
CN114513285B (zh) | 传输数据检测与校正的方法、装置、设备及可读存储介质 | |
US20130151932A1 (en) | Method for recovery of lost data and for correction of corrupted data | |
JPH11510982A (ja) | 自動繰り返し要求法における、コンピュータ支援されたバックシグナリング方法 | |
US20040015767A1 (en) | Transmission apparatus and reception apparatus | |
US20170077952A1 (en) | Sensor interface that provides a long package crc to improve functional safety | |
US8386877B2 (en) | Communication system, transmitter, error correcting code retransmitting method, and communication program | |
CN102427398B (zh) | 一种基于双向奇偶校验的纠检错方法和系统及装置 | |
US7516393B2 (en) | System and method of error detection for unordered data delivery | |
CN102415010A (zh) | 用于重发返回信道检错的系统和方法 | |
CN108988990A (zh) | 一种处理链路层数据错误的方法 | |
JP2012170062A (ja) | 通信システムにおいてデータパケット内の検出不可能な誤りを最小にする方法 | |
CN111246428A (zh) | 一种网络可靠通信方法、系统、装置及存储介质 | |
CN112769436A (zh) | 编码器、译码器、编码方法及译码方法 | |
CN114978417B (zh) | 一种基于两路blvds总线的数据通信校验方法及系统 | |
CN114696963A (zh) | 一种用于多核处理器系统片上网络的高可靠通信系统 | |
CN112564858B (zh) | 卫星导航用crc纠错方法及系统 | |
CN112865918B (zh) | 一种信息解码方法、装置、设备及介质 | |
US7424667B2 (en) | Digital data transmission error checking method and system | |
JP3794800B2 (ja) | データ通信方法及び装置 | |
US20020124220A1 (en) | Transmission data loss detection system | |
JP6552776B1 (ja) | 誤り訂正復号装置および誤り訂正復号方法 |
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 |