CN116866451A - 一种基于多级修正的采样数据传输方法 - Google Patents
一种基于多级修正的采样数据传输方法 Download PDFInfo
- Publication number
- CN116866451A CN116866451A CN202310907576.5A CN202310907576A CN116866451A CN 116866451 A CN116866451 A CN 116866451A CN 202310907576 A CN202310907576 A CN 202310907576A CN 116866451 A CN116866451 A CN 116866451A
- Authority
- CN
- China
- Prior art keywords
- data
- correction
- check
- hamming
- cyclic redundancy
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005070 sampling Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 title claims abstract description 28
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 84
- 238000012795 verification Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel 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
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明属于电力系统的继电保护技术领域,具体涉及一种基于多级修正的采样数据传输方法。获取采样数据,发送侧使用循环冗余校验对采样数据进行整体编码,将整体编码后的采样数据进行分组,再使用汉明码对分组后的数据进行编码,形成发送数据帧;在接收侧接收发送数据帧,并对接收到的数据帧进行校验和修正,若校验和修正失败,则进行数据重发,最多重发两次。重发数据校验和修正不是独立的,随着重传次数的增加,校验和修正的成功率也会得到提升;由于错误出现在相同分组的概率较低,所以分组处理能有效的抑制随着数据长度的增加而降低运算效率和出错的概率。
Description
技术领域
本发明属于电力系统的继电保护技术领域,具体涉及一种基于多级修正的采样数据传输方法。
背景技术
继电保护装置是电力系统安全稳定运行的关键。在电力系统中,继电保护装置通过采集一次设备的数据或者通过二次设备间接获得采集数据,运算得到电力系统的运行状态,并在电力系统出现故障的时候及时做出有效控制和隔离,保护电力系统的安全。
在继电保护装置中,采样数据需要在多个板件之间传输,在电磁干扰严重的环境下容易对传输的数据产生影响,造成接收侧收到的数据错误。所以往往需要对传输数据进行校验,使用的校验方法一般是循环冗余校验,将校验错误的数据帧丢弃,并进行重新传输。但是在采样间隔固定的情况下,重传次数受制于传输带宽,往往重传次数很有限,在电磁环境恶劣的条件下,多次重传很可能造成数据时延过大,甚至重传数据超过采样间隔影响后续数据传输,造成丢失的采样点严重等问题。
发明内容
为了克服现有技术中的问题,本发明提出了一种基于多级修正的采样数据传输方法。
本发明解决上述技术问题的技术方案如下:
本发明提供了一种基于多级修正的采样数据传输方法,包括以下步骤:
步骤100.发送侧获取采样数据,使用循环冗余校验对采样数据进行整体编码,将编码后的采样数据进行分组,再使用汉明码对分组后的数据进行编码,形成发送数据帧;
步骤200.在接收侧接收发送数据帧,并对接收到的数据帧进行校验和修正,若校验和修正失败,则进行数据重发,最多重发两次。
进一步地,所述步骤100具体包括以下步骤:
步骤101:发送侧获取数据域,即获取一组采样数据;
步骤102:循环冗余校验计算:对采样数据进行CRC运算,生成CRC校验码,形成循环冗余校验域;
步骤103:将数据域和循环冗余校验域作为一个整体进行分组;
步骤104:分别计算每组数据的汉明校验码,依次排列形成汉明码校验域;
步骤105:将数据域、循环冗余校验域和汉明码校验域组成最终的发送数据帧,并发送给接收侧。
进一步地,所述步骤200具体包括以下步骤:
步骤210:接收侧接收发送数据帧,根据接收到的数据帧的数据长度,识别出数据帧中的数据域、循环冗余校验域和汉明码校验域;
步骤221:对接收的数据帧进行循环冗余校验;若循环冗余校验成功,则数据帧接收正确;
步骤222:若循环冗余校验失败,对接收的数据帧中的每个分组分别进行汉明码校验和汉明修正;若汉明码校验通过,则不进行汉明修正,否则进行汉明修正;汉明修正后,对修正后的数据帧进行循环冗余校验;
步骤223:若循环冗余校验成功,则认为数据修正成功,得到正确数据;若循环冗余校验失败,则认为数据帧修正失败,发送侧重发采样数据;
步骤224:接受侧接收一次重发数据,执行步骤210、步骤221、步骤222,若通过循环冗余校验则认为数据正确,则认为一次重发数据正确,若循环冗余校验失败,则对首帧数据和一次重发数据进行分组穷举修正;
步骤225:对分组穷举修正后得到的数据分别进行汉明码校验和汉明修正,若汉明码校验和汉明修正失败,删除该组数据,若汉明码校验和汉明修正成功,保留该组校验正确的数据和修正后的正确数据,将所有组中的穷举数据进行二次组合穷举,得二次组合穷举数据,对每个分组穷举数据进行循环冗余校验,则最多能得到一个正确的校验结果;若所有的分组穷举结果都无法通过循环冗余校验,则重发采样数据;
步骤226:对接收到的二次重发数据,再次执行步骤210、步骤221、步骤222,若通过循环冗余校验则认为数据正确,若汉明码校验通过,则不进行汉明修正,若汉明码校验和修正失败,则需要对首帧数据、一次重发数据和二次重发数据进行三取二分组修正;
步骤227:对三取二分组修正后的数据,先进行循环冗余校验,若循环冗余校验成功,则得到正确数据;若循环冗余校验失败,则按组分别进行汉明码校验和汉明修正,得到修正后的数据帧,再次进行循环冗余校验,若循环冗余校验成功,则得到正确数据;若循环冗余校验失败,则认为三取二分组修正结果失败,则不再通知采样数据重传。
进一步地,所述循环冗余校验具体包括:使用CRC-32算法对接受侧数据帧进行CRC运算,生成CRC校验码,将此CRC校验码与发送侧数据的CRC校验码比对,若一致,则认为本次数据帧接收正确,否则,则循环冗余校验失败。
进一步地,所述分组穷举修正具体包括:将首帧数据和一次重发数据以组为单位按位进行异或操作,记录每组异或结果为1的数据位个数为{n1,n2,n3……},将数据位异或结果为1的位置进行0和1的穷举,并组成新的数据,每组得到{2n1,2n2,2n3……}个数据帧。
进一步地,对首帧数据、一次重发数据和二次重发数据进行三取二分组修正:将接收到的三次数据,按位进行三取二操作,即每个对应数据位若三个数据的结果不一致,则以多数结果为准,得到一帧修正后的数据帧。
进一步地,所述汉明码校验具体为:将汉明校验位插入到分组数据帧中,将汉明校验位与分组数据帧进行异或解算校验,若解算校验为0,则汉明码校验通过,数据正确,若解算校验不为0,则说明数据中出现了错误位。
进一步地,所述汉明修正是:对错误位取反,以此将错误位进行修正。
进一步地,还包括:分组穷举修正运算时间超过预设时间时,则认为数据修正失败,直接重发数据。
与现有技术相比,本发明具有如下技术效果:
(1)在本发明中,接收侧使用三级修正的方法对数据进行解码和修正,每次修正数据失败后需要对数据进行存储;一级修正对首帧数据进行处理,使用汉明码分组修正可以对数据进行还原;二级修正对首帧和一次重发数据数据进行处理,使用汉明分组修正和穷举分组修正可以对整帧数据进行还原;三级修正对首帧、一次重发数据和二次重发数据进行处理,使用汉明分组修正和按位三取二修正的方法可以对整帧数据进行还原。接收侧每级修正失败的范围:一级修正无法还原数据的范围是:首帧数据的任何单组中出现多比特错误;二级修正无法还原数据的范围是:首帧数据和一次重发数据数据的任何相同单组中出现相同的数据位同时出错,且错误的数据位数量大于1;三级修正无法还原数据的范围是:首帧、一次重发数据和二次重发数据的任何相同单组中出现,相同的数据位在这三帧数据中有两帧以上同时出错,且错误的数据位数量大于1。
(2)本发明中,首帧数据、一次重发数据、二次重发数据的数据的汉明码校验和汉明修正不是独立的,随着重传次数的增加,汉明码校验和汉明分组修正的成功率也会得到提升;由于错误出现在相同分组的概率较低,所以分组处理能有效的抑制随着数据长度的增加而降低运算效率和出错的概率。整帧数据的CRC校验编码能被多级修正,防止传输过程中出现数据正确而CRC校验编码失败导致数据无法通过校验。
(3)本发明中,能自适应各种数据长度的采样数据传输,多级修正的方法既能在干扰较少的情况下进行快速校验,又能在干扰严重的情况下进行数据快速修正;数据修正的速度能随着重传次数的增加有正向增益,针对短时间内的强干扰有较好的效果,且通过多级修正依然无法修正数据的概率是极低的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明的流程示意图;
图2为本发明发送侧数据组帧示意图;
图3为本发明汉明校验示意图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的技术方案的具体实施方式、结构、特征及其功效,详细说明如下。一个或多个实施例中的特定特征、结构或特点可由任何合适形式组合。除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
现有的继电保护装置先对传输数据进行校验,若数据错误则直接丢弃,然后进行数据重发,在外围环境恶劣的情况下,会出现连续多次的数据包丢弃重传,不仅会造成传输带宽的损耗,还会造成数据延时过大等问题。本发明提出了一种基于多级修正的采样数据传输方法,能够根据外围电磁环境对数据影响的程度,采用逐级处理的多级修正方法,将正确的数据还原出来。
参照图1-图3,在本发明的一个实施例中,提供了一种基于多级修正的采样数据传输方法,包括以下步骤:
步骤100.发送侧获取采样数据,使用循环冗余校验对采样数据进行整体编码,将编码后的采样数据进行分组,再使用汉明码对分组后的数据进行编码,形成发送数据帧。
值得说明的是,循环冗余校验(Cyclic Redundancy Check,简称:CRC),是一种根据网络数据包或电脑文件等数据产生简短固定位数校核码的快速算法,主要用来检测或校核数据传输或者保存后可能出现的错误。
在本实施例中,获取一组长度为Ld的采样数据,对所述采样数据使用CRC进行整体编码,将整体编码后的采样数据进行分组,再使用汉明码对分组后的数据进行编码组成发送数据帧。
在具体实施例中,包括:
步骤101:发送侧获取数据域DATA:即获取一组长度为Ld的采样数据。
步骤102:循环冗余校验计算:使用CRC-32算法对采样数据进行CRC运算,生成4字节的CRC校验码,形成循环冗余校验域。
步骤103:将数据域和循环冗余校验域作为一个整体,按照每30个字节为一组进行分组,末尾若不足30字节按1组进行划分。
步骤104:分别计算每组数据的汉明校验码,依次排列形成汉明码校验域HM;
其中,根据汉明码的校验原理,检验位个数k和数据位个数n满足:
2k≥n+k+1
本实施例中,使用8位校验位检测240位数据,8位校验位为:P1、P2、P3、P4、P5、P6、P7、P8,240位数据为:D1、D2、D3、...D240。
根据如下公式得到汉明校验码:
步骤105:数据域、循环冗余校验域和汉明码校验域,组成最终的发送数据帧,并发送给接收侧。其中,数据域(DATA)长度是Ld、循环冗余校验域(CRC)长度是Lc、汉明码校验域(HM)长度是Lh。
步骤200:在接收侧接收发送数据帧,并对接收到的数据帧进行校验和修正,若校验和修正失败,则进行数据重发,最多重发两次。
步骤210:在接收侧接收发送数据帧,根据接收到的数据帧的数据长度,识别出数据帧中的数据域、循环冗余校验域和汉明码校验域。
在接收侧接收发送数据帧,接收侧接收到一帧La长度的数据帧,需要先将数据域长度Ld、循环冗余校验域长度Lc和汉明码校验域长度Lh解析出来。
由于循环冗余校验域长度Lc=4,因此,
Lα=Ld+4+Lh
得到:取最小整数值得到Lh,进而得到Ld。
数据帧中没有设计使用长度来表示数据域或校验域的范围,防止传输过程中长度错误导致无法识别各数据域范围而无法计算,按照该方法中公式对整帧数据运算可以获得各数据域范围,更能保证数据的有效性。
步骤220:对接收到的数据帧进行循环冗余校验、汉明码校验和修正,具体包括以下子步骤:
步骤221:对接收的数据帧进行循环冗余校验,若循环冗余校验成功,则数据帧接收正确。
使用CRC-32算法对数据帧进行CRC运算,生成4字节的CRC校验码,将此4字节的CRC校验码与发送侧数据的4字节CRC校验码比对,若一致,则认为本次数据帧接收正确;若循环冗余校验失败,说明数据帧中有数据位错误,需要对接收的数据帧中的每个分组分别进行汉明码校验和汉明修正。
值得说明的是,CRC校验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列;附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。若因干扰等原因使数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏。因此,通过检查这一关系,就可以实现对数据正确性的检验。
CRC-32算法:发送侧与接收侧需要事先约定一个除数来进行模2除法,除数需要满足生成多项式。CRC32的多项式值为:0x4C11DB7。CRC-32生成校验码的过程为:将需要发送的p位数据左移32位,对p+32位数据进行模2除法,除数为0x4C11DB7,得到的余数R即为CRC校验码。
步骤222:若循环冗余校验失败,对接收的数据帧中的每个分组分别进行汉明码校验和汉明修正;若汉明码校验通过,则不进行汉明修正,说明数据帧正确;否则进行汉明修正;汉明修正后,对修正后的数据帧进行循环冗余校验。
对接收的数据帧中的每个分组分别进行汉明码校验和汉明修正;
汉明码校验和汉明修正基本思想是将数据帧分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(原来是1就变成0,原来是0就变成1)来将其纠正。
校验位个数k和数据位个数n满足如下公式:
2k≥n+k+1
表1校验位位数与数据位位数对应关系
数据位位数 | 1 | 2~4 | 5~11 | 12~26 | 27~57 | 58~120 | 121~247 |
校验位位数 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
在计算过程中,需要将校验码与数据进行混合编码,即将校验码插入到数据中,校验码必须在:2k位置。
校验位使用Pk表示:P1、P2、P3…Pk,数据使用Dn表示:D1、D2、D3…Dn。
所以将校验码插入数据后形成的编码如下表所示。
表2汉明码分组方法
若使用偶校验,则k个校验位形成k个分组及k个公式:
P1组对应的所有数据位置满足:位置的二进制从低到高的第1位为1的所有数据。
P2组对应的所有数据位置满足:位置的二进制从低到高的第2位为1的所有数据。
P3组对应的所有数据位置满足:位置的二进制从低到高的第3位为1的所有数据。
……
Pk组对应的所有数据位置满足:位置的二进制从低到高的第k位为1的所有数据。
即:第k个公式满足,编码后的数据位置能被2k整除的所有数据进行异或,若是偶校验则异或结果为0。
得到
汉明码校验和汉明修正的过程为,按照上述位置要求将校验位和数据位进行计算得到解算校验位G1、G2、G3…Gk。
将解算校验位从高到低进行排列Gk…G3G2G1得到一个二进制数据,该数据即为解算校验,若解算校验为0,则说明数据校验正确,若解算校验不为0,则说明数据中出现了错误,若是单比特错误,则解算校验的值即为错误的数据位置,所以将编码后的数据位置中的对应位置取反,则能获得修正后的正确数据。
步骤223:汉明码校验和汉明修正后,对修正后的数据帧进行循环冗余校验;若循环冗余校验成功,则认为数据修正成功,得到正确数据;若循环冗余校验失败,则认为数据帧修正失败,说明单组中出现了超过1位的数据错误,发送侧重发采样数据。
步骤224:接受侧接收一次重发数据,执行步骤210、步骤221、步骤222,对修正后的数据帧进行循环冗余校验,若循环冗余校验成功,则认为一次重发数据正确,若循环冗余校验失败,则对首帧数据和一次重发数据进行分组穷举修正。
对于首帧数据和一次重发数据均进行汉明码校验和汉明修正都失败的情况下,进行分组穷举修正。具体的,将首帧数据和一次重发数据以组为单位按位进行异或操作,记录每组异或结果为1的数据位个数为{n1,n2,n3……},将数据位异或结果为1的位置进行0和1的穷举,并组成新的数据,每组得到{2n1,2n2,2n3……}个数据帧。
步骤225:对每组穷举修正后得到的{2n1,2n2,2n3……}组数据分别进行汉明码校验和汉明修正,若组中汉明解算校验不为0,则认为修正失败,删除该组数据;将每组校验失败并无法修正的{m1,m2,m3……}个数据帧删掉,保留校验正确的数据和修正后的{2n1-m1,2n2-m2,2n3-m3……}个正确数据帧,则每组数据根据异或结果都会得到穷举后的数据,将所有组中的穷举数据进行二次组合穷举,得到(2n1-m1)(2n2-m2)(2n3-m3)......′个完整包的穷举数据,对每个数据进行循环冗余校验,则最多能得到一个正确的校验结果;
若所有的分组穷举结果都无法通过循环冗余校验,则重发采样数据。
特别的,由于分组穷举的运算时间取决于数据位异或结果为1的数据位个数。所以需要根据实际情况对运算时间设定超时,若时间超时则认为数据修正失败,直接重发数据。
步骤226:对接收到的二次重发数据,再次进行步骤210、步骤221和步骤222中的循环冗余校验、汉明码校验和汉明修正,若通过循环冗余校验则认为数据正确,若汉明码校验和修正都失败,则需要对首帧数据、一次重发数据和二次重发数据进行三取二分组修正。
对于首帧数据、一次重发数据和二次重发数据都无法修正的情况进行三取二分组修正。具体的,将接收到的三次数据,按位进行三取二操作,即每个对应数据位若三个数据的结果不一致,则以多数结果为准,得到一帧修正后的数据帧。
步骤227:三取二分组修正后的数据,先进行循环冗余校验,若循环冗余校验成功,则得到正确数据;若循环冗余校验失败,则按组分别进行汉明码校验和汉明修正,得到一帧修正后的数据帧,再次进行循环冗余校验,若循环冗余校验成功,则得到正确数据;若循环冗余校验失败,则认为三取二分组修正结果失败,则不再通知采样数据重传。
若三取二结果失败,说明此时的外围环境过于恶劣,已经无法通过多级修正的方式得到正确数据,且再次重传后的数据延时过大,无法使用,只能通过软件差值的方式得到正确数据。
在本发明中,接收侧使用三级修正的方法对数据进行解码和修正,每次修正数据失败后需要对数据进行存储;一级修正对首帧数据进行处理,使用汉明码分组修正可以对数据进行还原;二级修正对首帧和一次重发数据进行处理,使用汉明分组修正和穷举分组修正可以对整帧数据进行还原;三级修正对首帧、一次重发数据和二次重发数据进行处理,使用汉明分组修正和按位三取二修正的方法可以对整帧数据进行还原。
接收侧每级修正失败的范围:一级修正无法还原数据的范围是:首帧数据的任何单组中出现多比特错误;二级修正无法还原数据的范围是:首帧数据和一次重发数据数据的任何相同单组中出现相同的数据位同时出错,且错误的数据位数量大于1;三级修正无法还原数据的范围是:首帧、一次重发数据和二次重发数据的任何相同单组中出现,相同的数据位在这三帧数据中有两帧以上同时出错,且错误的数据位数量大于1。
首帧数据、一次重发数据、二次重发数据的数据的汉明码校验和汉明修正不是独立的,随着重传次数的增加,汉明码校验和汉明分组修正的成功率也会得到提升;由于错误出现在相同分组的概率较低,所以分组处理能有效的抑制随着数据长度的增加而降低运算效率和出错的概率。整帧数据的CRC校验编码能被多级修正,防止传输过程中出现数据正确而CRC校验编码失败导致数据无法通过校验。
本发明能自适应各种数据长度的采样数据传输,多级修正的方法既能在干扰较少的情况下进行快速校验,又能在干扰严重的情况下进行数据快速修正;数据修正的速度能随着重传次数的增加有正向增益,针对短时间内的强干扰有较好的效果,且通过多级修正依然无法修正数据的概率是极低的。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于多级修正的采样数据传输方法,其特征在于,包括以下步骤:
步骤100.发送侧获取采样数据,使用循环冗余校验对采样数据进行整体编码,将编码后的采样数据进行分组,再使用汉明码对分组后的数据进行编码,形成发送数据帧;
步骤200.在接收侧接收发送数据帧,并对接收到的数据帧进行校验和修正,若校验和修正失败,则进行数据重发,最多重发两次。
2.根据权利要求1所述的一种基于多级修正的采样数据传输方法,其特征在于,所述步骤100具体包括以下步骤:
步骤101:发送侧获取数据域,即获取一组采样数据;
步骤102:循环冗余校验计算:对采样数据进行CRC运算,生成CRC校验码,形成循环冗余校验域;
步骤103:将数据域和循环冗余校验域作为一个整体进行分组;
步骤104:分别计算每组数据的汉明校验码,依次排列形成汉明码校验域;
步骤105:将数据域、循环冗余校验域和汉明码校验域组成最终的发送数据帧,并发送给接收侧。
3.根据权利要求2所述的一种基于多级修正的采样数据传输方法,其特征在于,所述步骤200具体包括以下步骤:
步骤210:接收侧接收发送数据帧,根据接收到的数据帧的数据长度,识别出数据帧中的数据域、循环冗余校验域和汉明码校验域;
步骤221:对接收的数据帧进行循环冗余校验;若循环冗余校验成功,则数据帧接收正确;
步骤222:若循环冗余校验失败,对接收的数据帧中的每个分组分别进行汉明码校验和汉明修正;若汉明码校验通过,则不进行汉明修正,否则进行汉明修正;汉明修正后,对修正后的数据帧进行循环冗余校验;
步骤223:若循环冗余校验成功,则认为数据修正成功,得到正确数据;若循环冗余校验失败,则认为数据帧修正失败,发送侧重发采样数据;
步骤224:接受侧接收一次重发数据,执行步骤210、步骤221、步骤222,若通过循环冗余校验则认为数据正确,则认为一次重发数据正确,若循环冗余校验失败,则对首帧数据和一次重发数据进行分组穷举修正;
步骤225:对分组穷举修正后得到的数据分别进行汉明码校验和汉明修正,若汉明码校验和汉明修正失败,删除该组数据,若汉明码校验和汉明修正成功,保留该组校验正确的数据和修正后的正确数据,将所有组中的穷举数据进行二次组合穷举,得二次组合穷举数据,对二次组合穷举数据进行循环冗余校验,则最多能得到一个正确的校验结果;
若所有的分组穷举结果都无法通过循环冗余校验,则重发采样数据;
步骤226:对接收到的二次重发数据,再次执行步骤210、步骤221、步骤222,若通过循环冗余校验则认为数据正确,若汉明码校验通过,则不进行汉明修正,若汉明码校验和修正失败,则需要对首帧数据、一次重发数据和二次重发数据进行三取二分组修正;
步骤227:对三取二分组修正后的数据,先进行循环冗余校验,若循环冗余校验成功,则得到正确数据;若循环冗余校验失败,则按组分别进行汉明码校验和汉明修正,得到修正后的数据帧,再次进行循环冗余校验,若循环冗余校验成功,则得到正确数据;若循环冗余校验失败,则认为三取二分组修正结果失败,则不再通知采样数据重传。
4.根据权利要求3所述的一种基于多级修正的采样数据传输方法,其特征在于,所述循环冗余校验具体包括:使用CRC-32算法对接受侧数据帧进行CRC运算,生成CRC校验码,将此CRC校验码与发送侧数据的CRC校验码比对,若一致,则认为本次数据帧接收正确,否则,则循环冗余校验失败。
5.根据权利要求3所述的一种基于多级修正的采样数据传输方法,其特征在于,所述分组穷举修正具体包括:将首帧数据和一次重发数据以组为单位按位进行异或操作,记录每组异或结果为1的数据位个数为{n1,n2,n3……},将数据位异或结果为1的位置进行0和1的穷举,并组成新的数据,每组得到{2n1,2n2,2n3……}个数据帧。
6.根据权利要求3所述的一种基于多级修正的采样数据传输方法,其特征在于,对首帧数据、一次重发数据和二次重发数据进行三取二分组修正:将接收到的三次数据,按位进行三取二操作,即每个对应数据位若三个数据的结果不一致,则以多数结果为准,得到一帧修正后的数据帧。
7.根据权利要求3所述的一种基于多级修正的采样数据传输方法,其特征在于,所述汉明码校验具体为:将汉明校验位插入到分组数据帧中,将汉明校验位与分组数据帧进行异或解算校验,若解算校验为0,则汉明码校验通过,数据正确,若解算校验不为0,则说明数据中出现了错误位。
8.根据权利要求7所述的一种基于多级修正的采样数据传输方法,其特征在于,所述汉明修正是:对错误位取反,以此将错误位进行修正。
9.根据权利要求3所述的一种基于多级修正的采样数据传输方法,其特征在于,还包括:分组穷举修正运算时间超过预设时间时,则认为数据修正失败,直接重发数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310907576.5A CN116866451A (zh) | 2023-07-24 | 2023-07-24 | 一种基于多级修正的采样数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310907576.5A CN116866451A (zh) | 2023-07-24 | 2023-07-24 | 一种基于多级修正的采样数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116866451A true CN116866451A (zh) | 2023-10-10 |
Family
ID=88224919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310907576.5A Pending CN116866451A (zh) | 2023-07-24 | 2023-07-24 | 一种基于多级修正的采样数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116866451A (zh) |
-
2023
- 2023-07-24 CN CN202310907576.5A patent/CN116866451A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8522121B2 (en) | Low complexity error correction using cyclic redundancy check (CRC) | |
US6694478B1 (en) | Low delay channel codes for correcting bursts of lost packets | |
US20080155372A1 (en) | Methods and apparatus for improving error indication performance in systems with low-density parity check codes | |
US10721020B2 (en) | Parity frame | |
US6581178B1 (en) | Error correction coding/decoding method and apparatus | |
US20050010847A1 (en) | Systems and processes for fast encoding of hamming codes | |
US20190081730A1 (en) | Forward error correction with compression coding | |
EP3687072A1 (en) | Coding and decoding with staggered parity | |
US8996962B2 (en) | Chase coding for error correction of encrypted packets with parity | |
WO2008045292A2 (en) | Error correction decoding methods and apparatus | |
US9015565B2 (en) | Method for recovery of lost data and for correction of corrupted data | |
CN111327397B (zh) | 一种信息数据纵向冗余校验纠错编解码方法 | |
EP2264930B1 (en) | Distributed code generation method and device | |
Song et al. | Blind reconstruction of BCH and RS codes using single-error correction | |
KR101531502B1 (ko) | 오류제어방법 | |
JP2012170062A (ja) | 通信システムにおいてデータパケット内の検出不可能な誤りを最小にする方法 | |
US11050440B2 (en) | Encoder, decoder, encoding method and decoding method based on low-density parity-check code | |
US7861137B2 (en) | System for identifying localized burst errors | |
CN116866451A (zh) | 一种基于多级修正的采样数据传输方法 | |
Chaudhary et al. | Error control techniques and their applications | |
US9088483B1 (en) | Packet identification tracker | |
US8196015B2 (en) | Method for transmitting and receiving a data block and a corresponding transmitter and receiver | |
US7313748B2 (en) | FEC decoder and method | |
US7096414B2 (en) | In-line wire error correction | |
RU2342796C1 (ru) | Способ кодовой цикловой синхронизации |
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 |