CN117336395B - 一种井下通讯数据处理方法、装置及电子设备 - Google Patents
一种井下通讯数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117336395B CN117336395B CN202311633460.3A CN202311633460A CN117336395B CN 117336395 B CN117336395 B CN 117336395B CN 202311633460 A CN202311633460 A CN 202311633460A CN 117336395 B CN117336395 B CN 117336395B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- frame data
- code
- frame header
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/0057—Block codes
-
- 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/24—Testing correct operation
- H04L1/245—Testing correct operation by using the properties of transmission codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请涉及井下通讯技术领域,公开了一种井下通讯数据处理方法、装置及电子设备。通过检测帧头信息,以确定帧数据的开始位置;获取至少两组待校验的帧数据,基于该至少两组待校验的帧数据,进行数据校验和纠错操作,获得校准后的帧数据;基于获得的校准后的帧数据,进行进一步的井下通讯数据处理。本申请通过帧头信息的检测、数据校验和纠错操作,可以确保接收到的数据的完整性,防止数据传输过程中的错误或丢失,提高了井下通讯系统的数据可靠性和准确性,从而确保了有效的数据传输和通讯,以满足井下通讯的特定需求和目的。
Description
技术领域
本申请涉及井下通讯技术领域,特别涉及一种井下通讯数据处理方法、装置及电子设备。
背景技术
井下通讯利用的是一种通过载波方式将模拟或数字信号进行长距离传输的技术,其中使用了现有的动力线路作为传输介质。然而,在电机运行时,电机所产生的干扰可能会对通信信号造成干扰。尽管经过带通滤波器处理后可以减少一部分干扰,但仍然可能存在一些残留的干扰。当存在干扰时,经过比较器处理后,原本的低电平信号可能会被误判为高电平信号,从而导致传输的数据从0变为1。
这种情况下,原始信号的信息可能会发生错误。由于传输错误,接收端可能会接收到错误的数据,导致数据的准确性和完整性受到损害。如果错误的数据传输导致接收端设备无法正确理解或处理数据,可能会导致系统的故障或不正常运行。在某些情况下,错误的数据传输可能会引发安全风险。例如,在井下通讯应用中,错误的数据传输可能导致误解或错误的指令传达给操作人员或井下设备,这可能导致事故、损害设备或危及人员安全。因此,解决井下通讯过程中数据传输错误的问题,是非常有必要的。
发明内容
本申请实施方式主要解决的技术问题是如何解决井下通讯过程中数据传输错误的问题,从而提高井下通讯的可靠性和数据的准确性。
为解决上述技术问题,本申请实施方式采用的一个技术方案是:提供一种井下通讯数据处理方法,包括:接收帧数据,并根据所述帧数据检测帧头信息;当确定了所述帧头信息时,基于所述帧头信息确定待校验的帧数据;获取至少两组所述待校验的帧数据;基于所述至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据;根据所述校准后的帧数据进行井下通讯数据处理。
为解决上述技术问题,本申请实施方式采用的另一个技术方案是:提供一种井下通讯数据处理装置,包括:帧头确定模块,用于接收帧数据,并根据所述帧数据检测帧头信息;第一待校验帧数据获取模块,用于当确定了所述帧头信息时,基于所述帧头信息确定待校验的帧数据;第二待校验帧数据获取模块,用于获取至少两组所述待校验的帧数据;帧数据校准模块,用于基于所述至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据;井下通讯数据处理模块,用于根据所述校准后的帧数据进行井下通讯数据处理。
为解决上述技术问题,本申请实施方式采用的又一个技术方案是:提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
为解决上述技术问题,本申请实施方式采用的还一个技术方案是:提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行如上所述的方法。
区别于相关技术的情况,本申请实施例提供了一种井下通讯数据处理方法、装置及电子设备。通过接收井下通讯中的帧数据,对接收到的帧数据进行分析和解析,从而检测帧头信息,以确定帧数据的开始位置和格式,以及确定待进行数据校验的帧数据范围,即需要进行校验和纠错的数据部分。然后获取至少两组待校验的帧数据,基于获取到的至少两组待校验的帧数据,进行数据校验和纠错操作,经过数据校验和纠错操作后,获得校准后的帧数据,其中可能已经修复了部分错误或丢失的数据。基于获得的校准后的帧数据,进行进一步的井下通讯数据处理。本申请实施例提供的井下通讯数据处理方法、装置及电子设备,通过帧头信息的检测、数据校验和纠错操作,可以确保接收到的数据的完整性,防止数据传输过程中的错误或丢失,提高了井下通讯系统的数据可靠性和准确性,从而确保了有效的数据传输和通讯,以满足井下通讯的特定需求和目的。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种井下通讯数据处理方法的流程图;
图2是本申请实施例提供的根据所述帧数据检测帧头信息的方法的流程图;
图3是本申请实施例提供的基于所述至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据的方法的流程图;
图4是本申请实施例提供的一种井下通讯数据处理装置的结构示意图;
图5是本申请实施例提供的执行井下通讯数据处理方法的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互组合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。
井下通讯是指在地下或水下环境中进行数据传输和通信的技术,其被广泛应用于各个领域。例如,石油和天然气勘探,在石油和天然气勘探过程中,井下通讯用于传输地质勘探数据、井底传感器数据、井下设备状态等信息,这些数据对于油田开发和生产决策具有重要意义。水下探测和监测,比如在海洋科学研究中,井下通讯用于传输海洋生物数据、海洋底质数据、水下地形数据等,以帮助科学家了解海洋环境和进行生态监测。矿山监测和安全,井下通讯在矿山行业中用于矿井监测和安全管理,通过井下通讯系统,可以实时传输矿井的气体浓度、温度、湿度等数据,以及矿工的位置信息和紧急情况报警,从而提高矿山的安全性和生产效率。地铁和隧道通信,在地铁和隧道工程中,井下通讯用于车辆控制、信号传输、通信系统和安全监测等方面,通过井下通讯,可以实现地铁列车之间的通信、信号控制系统的远程监控和故障诊断,确保地铁和隧道的安全运行。水力发电和水利工程,在水力发电和水利工程中,井下通讯用于传输水位、水流、压力等监测数据,以及水电站设备的状态和控制指令,这些数据对于水力发电的运行管理和水利工程的安全运行至关重要。
在井下通讯过程中,涉及到发送方和接收方,它们可以是各种设备、传感器或系统。例如,井下传感器和地面控制中心,在石油和天然气勘探中,井下传感器可以测量地下油气储藏的温度、压力、流量等参数,并将这些数据发送给地面控制中心,地面控制中心作为接收方,接收并处理来自井下传感器的数据,并做出相应的决策和操作。水下探测器和地面站,在海洋科学研究中,水下探测器(如浮标、水下机器人)可以收集水下环境的数据,例如海洋温度、盐度、海洋生物信息等,这些数据通过井下通讯系统发送给地面站作为接收方,地面站可以分析和解释这些数据以获取关于海洋环境的信息。井下传感器和矿山监控中心,在矿山监测和安全中,井下传感器可以监测矿井的气体浓度、温度、湿度等参数,并将数据发送给矿山监控中心,矿山监控中心作为接收方,接收和分析来自井下传感器的数据,及时发出警报或采取措施以确保矿山的安全。地铁列车和控制中心,在地铁系统中,地铁列车作为发送方,将运行状态、位置和故障信息发送给控制中心,控制中心作为接收方,接收并监控地铁列车的数据,通过发送指令和控制信号来确保地铁系统的安全和顺畅运行。水电站设备和监控中心,在水力发电和水利工程中,水电站设备(如涡轮发电机、水位计)可以将设备状态、水位、水流等数据发送给监控中心,监控中心作为接收方,接收并分析这些数据,对水电站进行监测、控制和运行管理。
本申请实施例提供的井下通讯数据处理方法和装置可以应用于上述场景中,数据通讯的设备可以包括上述发送方和接收方。下面实施例提供的井下通讯数据处理方法和装置具体由该接收方执行。
请参阅图1,图1是本申请实施例提供的一种井下通讯数据处理方法的流程图。该方法包括以下步骤:
S11、接收帧数据,并根据所述帧数据检测帧头信息。
该帧数据可以是井下通讯场景中由发送方发送给接收方的数据。可以使用特定的协议和数据格式来传输数据。这些数据可以被划分为帧,每个帧包含特定的控制信息和有效载荷数据。发送方将有效载荷数据打包成帧,并在帧头中包含必要的控制信息,例如帧的起始标识符、帧的类型、校验和等。接收方接收到帧数据后,可以通过检测帧头信息来解析和处理数据。井下通讯场景中的帧数据通常用于在地下环境中传输各种信息,例如传感器数据、指令、监控信息等。通过使用帧数据,可以实现可靠的通讯和数据交换,确保数据的完整性和正确性。
帧头信息用于帮助接收方确定帧的起始位置。通过检测帧头信息,接收方可以准确地提取和解析每个帧的数据内容,确保正确处理接收到的数据。根据所述帧数据检测帧头信息的方法可以包括接收方从接收到的帧数据中提取相应长度的字节,并与预定义的字节序列进行比较来检测帧头的匹配;还可以包括接收方检查接收到的帧数据中是否存在与预定义的标识符匹配的字节序列,以确定帧头信息的存在;还可以包括接收方根据通信规范中定义的帧同步信号或特定的帧起始位来检测帧头的开始位置;等。
在本申请的一些实施例中,如图2所示,所述根据所述帧数据检测帧头信息包括:
S111、根据接收的所述帧数据周期性的检测数字信号,所述数字信号包括高电平信号和低电平信号。
其中,可以确定数字信号在帧数据中的表示方式,数字信号可以使用特定的字节值或位模式来表示高电平信号和低电平信号。根据数字信号的表示方式,从接收到的帧数据中提取相应的字节或位数据,以获取数字信号信息。其中可以通过截取数据的特定字节或位来实现。对于每个提取的字节或位数据,将其解析为对应的数字信号。数字信号包括高电平信号(用1表示)和低电平信号(用0表示)。
其中,周期可以为0.5毫秒,即每0.5毫秒进行一次0或1的采集和确认。0.5毫秒的周期进行数字信号的采集和确认是根据当前的应用场景、信号特性和系统要求来确定的,还可以选择其他周期。
S112、当检测到低电平信号,并且在所述低电平信号前接收的连续的高电平信号的次数等于第一预设阈值时,则进入帧头判断模式。
当检测到低电平信号,并且在所述低电平信号前接收的连续的高电平信号的次数等于第一预设阈值时,则确定当前是帧的起始位置,因此进入帧头判断模式。该第一预设阈值可以根据具体的通信协议和信号特性进行设定,比如第一预设阈值为7,也可以是大于7的整数。
帧头判断模式指的是检测帧头信息的模式。帧头信息是指在通信中用于标识和解析帧数据的字段或数据。进入帧头判断模式后,检测当前接收到的帧数据是否是用于标识和解析帧数据的字段或数据。
S113、在所述帧头判断模式中,根据获得的数字信号检测所述数字信号出现的顺序和频率是否与预定义的帧头模式匹配。
所述根据获得的数字信号检测所述数字信号出现的顺序和频率是否与预定义的帧头模式匹配包括:当获得的数字信号中高电平信号和低电平信号的出现顺序和频率满足下述状态时,则确定与所述预定义的帧头模式匹配,否则不匹配。其中,所述状态为:依次检测到n次高电平信号,1次低电平信号,n-1次高电平信号,1次低电平信号,n-2次高电平信号,1次低电平信号,……,2次高电平信号,1次低电平信号,1次高电平信号,1次低电平信号,n是正整数。
其中,定义一个整数变量n,其值为正整数,这个参数n表示高电平信号的出现次数的递减序列。n的值为第一预设阈值减去1,比如,当上述第一预设阈值为7时,该n=6。可以理解的是,在一些其他实施例中,n的值可以根据实际需求设置,比如设置于大于、小于、等于第一预设阈值均可,在此不予限定。
如果数字信号出现的顺序和频率与预定义的帧头模式匹配,则执行下述步骤S114。如果不匹配,则跳转执行上述步骤S111。
S114、确定检测到正确的帧头,获取帧头信息。
例如,首先,初始化参数:定义一个整数变量count_high为0,用于计算连续出现的高电平信号数量。同时,定义一个整数变量count_zero为0,用于计算连续出现的低电平信号数量。还定义一个布尔变量match为假,用于表示是否找到了正确的帧头。
然后,迭代检测:对于每个0.5ms的数据采样,执行以下步骤:如果当前采样值为高电平信号(数字1),则将count_high递增1;如果当前采样值为低电平信号(数字0),则将count_zero递增1,并检查count_zero的值;如果count_zero大于等于2,表示之前的高电平信号为干扰信号,将count_high和count_zero重置为0,并继续下一步骤;如果count_zero等于1,表示可能找到了帧头的分界点,执行下一步骤。
然后,帧头确认:在检测到可能的帧头分界点后,执行以下步骤:
检查count_high的值。如果count_high大于等于7,则表示有连续7个及以上的高电平信号,进入帧头判断阶段;如果count_high小于7,则表示连续高电平信号不足7个,重新进入迭代检测阶段;统计接下来的数字1出现的频率,计算count_zero的值;根据count_zero的位置和数字1的顺序和频率(7/6/5/4/3/2/1)进行比较,如果比对正确,则表示找到了正确的帧头,将match设置为真,如果比对不正确,则表示帧头不匹配,重新进入迭代检测阶段。
最后,匹配结果:在迭代检测阶段或帧头确认阶段结束后,检查match的值。如果match为真,则表示找到了正确的帧头;如果match为假,则表示未找到正确的帧头。具体地,详见下述表1,表1表示了一种正确的帧头信息。
表1
表1中,使用数组A[1023]获取每位接收的数值0或1,根据前面0的位置解析出00前面1的个数为7、6、5、4、3、2、1,从而得到帧数据的起始位置为36,用数组A[36]表示。其中,如果数字信号中连续出现2个及以上的0时,意味着之前出现连续的高电平为干扰信号,需要重新检测是否进入帧头判断模式。
在所述帧头判断模式中,如果连续出现的低电平信号的次数大于或等于第二预设阈值,则确定检测到的连续的所述高电平信号为干扰信息,重新检测是否存在连续为高电平信号的次数大于所述第一预设阈值的情况,以重新进入所述帧头判断模式。其中,第二预设阈值可以是2,当检测到连续两个0时,意味着之前出现连续的高电平为干扰信号,需要重新开始确定帧头。
本申请实施例通过上述方法检测了帧数据的帧头信息,通过连续的数据采集和确认,可以实时地确定帧头的位置和传输数据的开始位置,通过统计数字1的频率和比对的方式,可以提高帧头的识别准确性,减少误判。
S12、当确定了所述帧头信息时,基于所述帧头信息确定待校验的帧数据。
确定了帧头信息后,可以使用该信息来确定待校验的帧数据。帧头通常包含了一些关键的元数据,例如帧的长度、校验位类型、数据类型等,可以使用帧头信息中的字段来解析和提取帧数据。可以知道,帧头信息通常位于数据的前部分,可以通过固定的长度或特定的标识符来确定。将帧头信息中的各个字段解析出来,例如长度字段、校验位类型字段等,这些字段的位置和格式通常在通信协议或相关规范中定义。然后使用帧头中的长度字段,确定待校验的帧数据的起始位置和长度。长度字段指示了帧数据的字节数或位数。根据确定的帧数据范围,从接收到的数据中提取相应的数据段作为待校验的帧数据。其中可以根据长度字段来截取数据段。
S13、获取至少两组所述待校验的帧数据。
获取至少两组所述待校验的帧数据,是指连续的获取至少两组待校验的帧数据。获得的至少两组待校验的帧数据用于进行下述步骤中的按位校验、CRC校验和BCD码校验修正。
其中,获取至少两组所述待校验的帧数据具体包括:连续获取四组所述待校验的帧数据。将获得的四组所述待校验的帧数据进行下述的按位校验、CRC校验和BCD码校验修正,从而可以增加对数据的可靠性和准确性的评估,并提供更全面的数据分析和优化的基础。需要说明的是,还可以获取两组或三组或大于四组的所述待校验的帧数据。
S14、基于所述至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据。
在本实施例中,将获得的至少两组待校验的帧数据进行按位校验、CRC校验和BCD码校验修正,下述提供了实施按位校验、CRC校验和BCD码校验修正的详细步骤。需要说明的是,在一些实施例中,也可以选择按位校验、CRC校验和BCD码校验修正的一种或两种来对所述待校验的帧数据进行数据校验和纠错。
如图3所示,所述基于所述至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据,包括:
S141、基于所述至少两组所述待校验的帧数据,分别在每组帧数据的末尾依次增加其对应的第一CRC校验码、第二CRC校验码,以获得至少两个第一数据组,即每个第一数据组包括一组待校验的帧数据、第一CRC校验码和第二CRC校验码。其中,所述第二CRC校验码是按照BCD码进行传输的。
其中,在每组帧数据的末尾附加相应的CRC校验码,生成第一数据组。在本实施例中分别增加一组CRC校验码和一组按照BCD码传输的CRC校验码。可选的,还能设置更多组CRC校验码。比如,分别在每组帧数据的末尾依次增加其对应的第一CRC校验码、第二CRC校验码、第三CRC校验码和第四CRC校验码,其中,第三CRC校验码和第四CRC校验码是按照BCD码进行传输。
CRC(Cyclic Redundancy Check)校验码是一种常用的数据校验方法,用于检测数据传输或存储过程中的错误。它通过对数据进行计算,生成一段校验码,然后将该校验码附加到数据中,接收方可以使用相同的CRC算法对接收到的数据进行校验,以验证数据的完整性和准确性。CRC校验码的长度可以根据需求选择不同的位数,常见的CRC校验位数包括8位、16位、32位等。
第二CRC校验码按照BCD码进行传输,即CRC校验码的传输方式采用了BCD(Binary-Coded Decimal)码表示。BCD码是一种用二进制编码表示十进制数的方法,它使用四位二进制数来表示一个十进制数的每一位,范围从0000到1001,分别对应0到9这十个十进制数。当BCD码表示的数值大于9时,需要进行修正。比如,如果一个BCD码的四位二进制数大于等于1010(即十进制数10),则需要进行修正。在一些情况下,当BCD码表示的数值大于0且小于或等于9时,也可能需要进行修正。
例如,进行修正的规则可以是基于以下假设:将收到的CRC校验码A转换成BCD码A1;接收到的BCD码为B;使用A1和B生成修正数据A2。修正规则是将CRC校验码转换成BCD码和接收到的BCD码进行比较,相同位置只有所有数据都为1则认为传输数据为1,只要相同位置上的数据中存在0则认为传输数据为0。这种修正规则的目的是在CRC校验码和接收到的BCD码之间引入时间差,以避免在相同位上发生干扰,由于干扰信号只能将0变为1,这样的修正方法可以增加数据传输的可靠性,通过引入时间差和对特定位的修正,减少干扰对数据的影响。修正过程中只允许将0变为1,从而确保修正后的数据位在与原始数据位进行比较时不会被错误地判定为相同。
在CRC校验中,通常使用二进制数来表示校验码。其中第二CRC校验码按照BCD码进行传输,那么这个校验码的每一位都用四位二进制数来表示,形成BCD码的形式。例如,对于十进制数12,它的BCD码表示为0001 0010,其中每一位都由四位二进制数表示。类似地,如果第二CRC校验码按照BCD码进行传输,那么它们的每一位都用四位二进制数来表示。传输过程中使用BCD码表示CRC校验码可以增加数据的可靠性和减少传输错误的可能性,特别适用于某些应用领域或通信协议中对数据精度和可靠性要求较高的情况,比如井下通讯领域。
S142、将所述至少两个第一数据组中的相同位置的数据按位进行校验,以获得校验后的第二数据组。其中,所述第二数据组包括所述待校验的帧数据按位进行校验后生成的帧数据、所述第一CRC校验码按位进行校验后生成的第三CRC校验码、所述第二CRC校验码按位进行校验后生成的第四CRC校验码。
将所述至少两个第一数据组中的相同位置的数据按位进行校验包括:将所述至少两个第一数据组中的相同位置的数据进行比较,如果相同位置的数据均为1,则相同位置的数据的比较结果为1,如果相同位置的数据中存在0,则相同位置的数据的比较结果为0。
采用上述按位校验的方法进行校验时,相应地,至少两个第一数据组中的待校验的帧数据、第一CRC校验码、第二CRC校验码分别按位进行校验,从而得到一组校验后生成的帧数据、第三CRC校验码、第四CRC校验码。其中,校验后生成的帧数据是至少两个第一数据组中的所述待校验的帧数据按位进行校验后生成的,第三CRC校验码是至少两个第一数据组中的第一CRC校验码按位进行校验生成的,第四CRC校验码是至少两个第一数据组中的第二CRC校验码按位进行校验生成的。
值得说明的是,所述第一CRC校验码可以对应为两个相同的8位CRC校验,比如,如下述表2中的CRC1和CRC2;第二CRC校验码也可以对应为两个相同的8位CRC校验,并且两个相同的8位CRC校验都是以BCD码传输的,比如,如下述表2中的BCDH和BCDL。
例如,第一数据组详见下述表2,其包含四组所述待校验的帧数据(即数据0、数据1、数据2和数据3)以及各自对应的CRC校验码。
表2
上述表2中,1、2、3、4对应的是第一数据组,包括四组第一数据组,每一第一数据组包括数据0、数据1、数据2和数据3,以及其分别对应是第一CRC校验码(即CRC1和CRC2)、第二CRC校验码(即BCDH和BCDL)。通过按位校验,相同位置都为1时的校验结果为1,相同位置存在0时的校验结果为0,由此获得上述第二数据组,该第二数据组包括四组数据,以及对应的第三CRC校验码(即CRC1和CRC2的校验结果)、第四CRC校验码(即BCDH和BCDL的校验结果),第二数据组的校验结果为:10101010 10100000 00010110 11001101 01000100 0100010000000110 00001000。
除了上述按位校验的方式,还可以采用其他校验方法,比如,奇偶校验,在奇偶校验中,每个数据字节的最高位或最低位被用作校验位,校验位的值(0或1)被选为使得数据字节中的所有位(包括校验位)中1的个数为奇数或偶数。
S143、将所述第四CRC校验码按照BCD码反向解析生成第一校验值。
具体的,将第四CRC校验码转换为二进制形式;将每个BCD码的4位二进制数拆分出来;将拆分的二进制数按位从高位到低位进行组合,得到对应的十进制数值;将得到的十进制数值按照校验值的格式进行组合,生成第一校验值。
假设第四CRC校验码对应的是00000110 00001000,根据第四CRC校验码按照BCD码反向解析生成第一校验值包括:
00000110 00001000。接下来,按照BCD码的解析规则将每个BCD码的4位二进制数拆分出来:
第四CRC校验码对应的BCD码为:
0000 0000 0000 0001 0110;
0000 0000 0000 0001 0000;
然后,将拆分的二进制数按位从高位到低位进行组合,得到对应的十进制数值:
第四CRC校验码的BCD码解析结果:
0000 0000 0000 0001 0110 ->0110(十进制数值:6);
0000 0000 0000 0001 0000 ->0001(十进制数值:1);
最后,将得到的十进制数值按照校验值的格式进行组合,生成第一校验值为:61。
S144、基于按位与规则将所述第一校验值与所述第三CRC校验码进行按位与操作,生成第二校验值。
首先,将第一校验值61转换为二进制形式:第一校验值:61 ->0011 1101;
再将第一校验值与所述第三CRC校验码进行按位与操作,即:
0011 1101
0100 0100
0100 0100
按位与操作的结果: 0000 0100
即第二校验值为:0000 0100。
S145、将所述第二数据组中的除了所述第三CRC校验码、第四CRC校验码之外的数据进行计算,获得第三校验值。
将所述第二数据组中的除了所述第三CRC校验码、第四CRC校验码之外的数据进行计算,例如,具体是按照CRC计算公式计算上述第二数据组中的10101010 1010000000010110 11001101,该过程可以根据所使用的CRC多项式进行计算,最后计算获得的CRC值就是所述第三校验值。
S146、比较所述第二校验值和所述第三校验值,如果所述第二校验值与所述第三校验值相同,则确定所述第二数据组中的帧数据为校准后的帧数据。
如果上述计算获得的第三校验值与上述第二校验值相同,则确定所述第二数据组中的帧数据为校准后的帧数据,比如,即确定10101010 10100000 00010110 11001101为正确的帧数据。
在本实施例中,通过添加CRC校验码到帧数据末尾,可以验证数据的完整性,校验过程可以检测到数据中的位错误或损坏,包括单个位翻转或多个位错误。通过比较校验后的第二数据组中的第二校验值和第三校验值,可以检测出数据是否经历了错误或损坏,如果第二校验值与第三校验值相同,可以确定帧数据是校准后的,可以在后续处理中使用。该方法利用CRC校验码提供了一种有效的数据校验和纠错机制,可以增加数据的完整性和可靠性。
在一些实施例中,根据上述实施例获得所述第三CRC校验码、所述第四CRC校验码和所述第二数据组中的帧数据后,还可以采用另外一种方法对待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据,具体包括:将所述第三CRC校验码转换成BCD码;基于按位与规则将所述BCD码与所述第四CRC校验码进行按位与操作,生成第四校验值;对所述第二数据组中的所述帧数据进行计算,获得第五校验值;比较所述第四校验值和所述第五校验值,如果所述第四校验值与所述第五校验值相同,则确定所述第二数据组中的帧数据为校准后的帧数据。
S15、根据所述校准后的帧数据进行井下通讯数据处理。
在获得校准后的帧数据后,可以解析帧数据,包括根据协议规范提取各个字段和数据信息;然后还可以根据协议定义的编码方式,对提取的数据进行解码;对解码后的数据进行进一步处理和分析,根据具体需求进行各种操作,例如计算指标、提取特征、进行统计分析、生成图表等。可以基于井下通讯应用的具体场景执行对应的操作。
本申请实施例提供了一种井下通讯数据处理方法,通过帧头信息的检测、数据校验和纠错操作,可以确保接收到的数据的完整性,防止数据传输过程中的错误或丢失,提高了井下通讯系统的数据可靠性和准确性,从而确保了有效的数据传输和通讯,以满足井下通讯的特定需求和目的。
请参阅图4,图4是本申请实施例提供的一种井下通讯数据处理装置的结构示意图。如图4所示,该井下通讯数据处理装置20包括:
帧头确定模块21,用于接收帧数据,并根据所述帧数据检测帧头信息;
第一待校验帧数据获取模块22,用于当确定了所述帧头信息时,基于所述帧头信息确定待校验的帧数据;
第二待校验帧数据获取模块23,用于获取至少两组所述待校验的帧数据;
帧数据校准模块24,用于基于所述至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据;
井下通讯数据处理模块25,用于根据所述校准后的帧数据进行井下通讯数据处理。
需要说明的是,上述井下通讯数据处理装置可执行本申请实施例所提供的井下通讯数据处理方法,具备执行方法相应的功能模块和有益效果。未在井下通讯数据处理装置实施例中详尽描述的技术细节,可参见本申请实施例所提供的井下通讯数据处理方法。
图5是本申请实施例提供的执行井下通讯数据处理方法的电子设备的硬件结构示意图,该电子设备具体可以是上述实施例中的接收端。如图5所示,该电子设备30包括:
一个或多个处理器31以及存储器32,图5中以一个处理器31为例。
处理器31和存储器32可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的井下通讯数据处理方法对应的程序指令/模块(例如,附图4所示的各个模块)。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例井下通讯数据处理方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据井下通讯数据处理装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至井下通讯数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的井下通讯数据处理方法,例如,执行以上描述的图1、图2和图3中的方法步骤,实现图4中的模块的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图5中的一个处理器31,可使得上述一个或多个处理器可执行上述任意方法实施例中的井下通讯数据处理方法,例如,执行以上描述的图1、图2和图3中的方法步骤,实现图4中的模块的功能。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被所述电子设备执行时,使所述电子设备能够执行上述任意方法实施例中的井下通讯数据处理方法,例如,执行以上描述的图1、图2和图3中的方法步骤,实现图4中的模块的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种井下通讯数据处理方法,其特征在于,包括:
接收帧数据,并根据所述帧数据检测帧头信息;
当确定了所述帧头信息时,基于所述帧头信息确定待校验的帧数据;
获取至少两组所述待校验的帧数据;
基于至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据;
根据所述校准后的帧数据进行井下通讯数据处理;
其中,所述根据所述帧数据检测帧头信息,包括:根据接收的所述帧数据周期性的检测数字信号,所述数字信号包括高电平信号和低电平信号;当检测到低电平信号,并且在所述低电平信号前接收的连续的高电平信号的次数等于第一预设阈值时,则进入帧头判断模式;在所述帧头判断模式中,根据获得的数字信号检测所述数字信号出现的顺序和频率是否与预定义的帧头模式匹配;如果匹配,则确定检测到正确的帧头,获取帧头信息;
其中,所述根据获得的数字信号检测所述数字信号出现的顺序和频率是否与预定义的帧头模式匹配,包括:当获得的数字信号中高电平信号和低电平信号的出现顺序和频率满足下述状态时,则确定与所述预定义的帧头模式匹配,否则不匹配;其中,所述状态为:依次检测到n次高电平信号,1次低电平信号,n-1次高电平信号,1次低电平信号,n-2次高电平信号,1次低电平信号,……,2次高电平信号,1次低电平信号,1次高电平信号,1次低电平信号,n是正整数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述帧头判断模式中,如果连续出现的低电平信号的次数大于或等于第二预设阈值,则确定检测到的连续的所述高电平信号为干扰信息,重新检测是否存在连续为高电平信号的次数大于所述第一预设阈值的情况,以重新进入所述帧头判断模式。
3.根据权利要求1或2所述的方法,其特征在于,所述基于至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据,包括:
基于至少两组所述待校验的帧数据,分别在每组帧数据的末尾依次增加其对应的第一CRC校验码、第二CRC校验码,以获得至少两个第一数据组,其中,所述第二CRC校验码是按照BCD码进行传输的;
将所述至少两个第一数据组中的相同位置的数据按位进行校验,以获得校验后的第二数据组,其中,所述第二数据组包括校验后生成的帧数据、第三CRC校验码和第四CRC校验码,所述校验后生成的帧数据是所述至少两个第一数据组中的所述待校验的帧数据按位进行校验后生成的,所述第三CRC校验码是所述至少两个第一数据组中的所述第一CRC校验码按位进行校验后生成的,所述第四CRC校验码是所述至少两个第一数据组中的所述第二CRC校验码按位进行校验后生成的;
基于所述第三CRC校验码和所述第四CRC校验码对所述第二数据组中所述校验后生成的帧数据进行校验,以获得校准后的帧数据。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第三CRC校验码和所述第四CRC校验码对所述第二数据组中所述校验后生成的帧数据进行校验,以获得校准后的帧数据,包括:
将所述第四CRC校验码按照BCD码反向解析生成第一校验值,基于按位与规则将所述第一校验值与所述第三CRC校验码进行按位与操作生成第二校验值,对所述第二数据组中的所述校验后生成的帧数据进行计算生成第三校验值;比较所述第二校验值和所述第三校验值,如果所述第二校验值与所述第三校验值相同,则确定所述第二数据组中的所述校验后生成的帧数据为校准后的帧数据;
或者,
将所述第三CRC校验码转换成BCD码,基于按位与规则将所述BCD码与所述第四CRC校验码进行按位与操作生成第四校验值,对所述第二数据组中的所述校验后生成的帧数据进行计算生成第五校验值,比较所述第四校验值和所述第五校验值,如果所述第四校验值与所述第五校验值相同,则确定所述第二数据组中所述校验后生成的帧数据为校准后的帧数据。
5.根据权利要求3所述的方法,其特征在于,所述将所述至少两个第一数据组中的相同位置的数据按位进行校验,包括:
将所述至少两个第一数据组中的相同位置的数据进行比较,当相同位置的全部数据都为1时,则确定所述第二数据组中所述位置对应的数据为1;当相同位置的全部数据中存在0时,则确定所述第二数据组中所述位置对应的数据为0。
6.一种井下通讯数据处理装置,其特征在于,包括:
帧头确定模块,用于接收帧数据,并根据所述帧数据检测帧头信息;
第一待校验帧数据获取模块,用于当确定了所述帧头信息时,基于所述帧头信息确定待校验的帧数据;
第二待校验帧数据获取模块,用于获取至少两组所述待校验的帧数据;
帧数据校准模块,用于基于至少两组所述待校验的帧数据进行数据校验和纠错,以获得校准后的帧数据;
井下通讯数据处理模块,用于根据所述校准后的帧数据进行井下通讯数据处理;
所述井下通讯数据处理装置用于执行权利要求1至5任一项所述的方法。
7.一种电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5任一项所述的井下通讯数据处理方法。
8.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行权利要求1-5任一项所述的井下通讯数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311633460.3A CN117336395B (zh) | 2023-12-01 | 2023-12-01 | 一种井下通讯数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311633460.3A CN117336395B (zh) | 2023-12-01 | 2023-12-01 | 一种井下通讯数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117336395A CN117336395A (zh) | 2024-01-02 |
CN117336395B true CN117336395B (zh) | 2024-03-12 |
Family
ID=89277808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311633460.3A Active CN117336395B (zh) | 2023-12-01 | 2023-12-01 | 一种井下通讯数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117336395B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355382A (zh) * | 2011-09-28 | 2012-02-15 | 东南大学 | 一种控制器局域网总线分析与触发的方法 |
CN109005009A (zh) * | 2018-07-24 | 2018-12-14 | 北京新宇航星科技有限公司 | 数据包校验错误的处理方法及系统 |
CN112217599A (zh) * | 2019-07-12 | 2021-01-12 | 天地融科技股份有限公司 | 数据帧接收方法和装置以及通信方法和系统 |
CN114679300A (zh) * | 2022-02-28 | 2022-06-28 | 福思(杭州)智能科技有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN114710224A (zh) * | 2022-03-01 | 2022-07-05 | 西安领创电子科技有限公司 | 帧同步方法及装置、计算机可读介质、电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3016099B1 (fr) * | 2013-12-26 | 2017-05-05 | Grdf | Procede de reception utilisant un codage de controle d'integrite |
-
2023
- 2023-12-01 CN CN202311633460.3A patent/CN117336395B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355382A (zh) * | 2011-09-28 | 2012-02-15 | 东南大学 | 一种控制器局域网总线分析与触发的方法 |
CN109005009A (zh) * | 2018-07-24 | 2018-12-14 | 北京新宇航星科技有限公司 | 数据包校验错误的处理方法及系统 |
CN112217599A (zh) * | 2019-07-12 | 2021-01-12 | 天地融科技股份有限公司 | 数据帧接收方法和装置以及通信方法和系统 |
CN114679300A (zh) * | 2022-02-28 | 2022-06-28 | 福思(杭州)智能科技有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN114710224A (zh) * | 2022-03-01 | 2022-07-05 | 西安领创电子科技有限公司 | 帧同步方法及装置、计算机可读介质、电子设备 |
Non-Patent Citations (2)
Title |
---|
A multiple bits error correction method based on cyclic redundancy check codes.IEEE.2018,全文. * |
以太网光接入系统中帧校验码的实现;何霄鹏;;通信技术(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117336395A (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108599896B (zh) | 一种基于冗余编码系统的crc校验系统及方法 | |
JP2018501706A5 (zh) | ||
CN117336395B (zh) | 一种井下通讯数据处理方法、装置及电子设备 | |
CN108337069B (zh) | 一种改进的降低误码率的末端并行分组crc校验系统 | |
Rahim | Bit error detection and correction with hamming code algorithm | |
CN111464267B (zh) | 通信数据校验方法、装置、计算机设备和存储介质 | |
US10009040B2 (en) | Method and apparatus for identification and compensation for inversion of input bit stream in LDPC decoding | |
Isroil et al. | Increasing the Reliability of Full Text Documents Based on the Use of Mechanisms for Extraction of Statistical and Semantic Links of Elements | |
EP3526901B1 (en) | Recording and playback devices with avoidance of missynchronisation by scrambling a payload with a modified payload checksum | |
CN113923274A (zh) | 一种判断传输数据是否被干扰的方法、装置及存储介质 | |
JPH06324719A (ja) | プログラマブルコントローラ | |
CN114186583A (zh) | 一种储油罐罐壁腐蚀检测异常信号恢复方法及系统 | |
CN114285734A (zh) | 基于光缆接续盒的输电线路的通信监测系统 | |
CN118449969B (zh) | 一种建筑设计用数据采集方法 | |
SU560355A1 (ru) | Способ передачи данных -позиционны ми сигналами | |
CN117708514B (zh) | 一种基于多传感器的数据处理方法 | |
RU2563033C2 (ru) | Сети и способы для надежной передачи информации между промышленными системами | |
CN117885538B (zh) | 新能源车辆动力电池预警方法、系统、设备及存储介质 | |
CN119697283A (zh) | 基于rfid标签的数据处理容错方法、装置、设备及介质 | |
RU2752525C1 (ru) | Способ исправления ошибок в сообщениях подвижных средств радиационной разведки на пункт сбора и обработки данных | |
CN113746631B (zh) | 基于安全编码的安全通信方法 | |
CN1091535A (zh) | 用于纠错码数据传输的方法和设备 | |
CN107688633A (zh) | 基于快速字符串匹配的智能变电站二次安措信息处理方法 | |
CN117879701A (zh) | 一种光纤通信校验方法及光纤通信系统 | |
CN117201632A (zh) | 基于电网的分时通信系统 |
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 |