一种在物联网环境下减少自动重传次数的差错控制方法技术

技术编号:24254123 阅读:55 留言:0更新日期:2020-05-23 00:58
本发明专利技术提出了一种在物联网环境下减少自动重传次数的差错控制方法。在许多物联网应用中,在进行数据融合或者数据分析时,并不要求接受到的传感器传来的数据完全无差错,即容忍一定范围的传输差错,例如城市温度检测系统等。基于这个前提,本发明专利技术通过对常用的物联网通信协议的数据帧进行改造,将数据位划分为高优先级位与低优先级位并分别计算它们的CRC校验和,然后将两个校验和添加到去掉数据位的数据帧中再计算CRC校验和并将该校验和添加到数据帧末尾,最后将数据位拼接到数据帧中。当接收端接收到该数据帧时,可以只校验高优先级的数据位,若校验结果正确,则认为此次传输无误,接受该数据帧。

An error control method to reduce the number of automatic retransmissions in the Internet of things environment

【技术实现步骤摘要】
一种在物联网环境下减少自动重传次数的差错控制方法
本专利技术属于物联网通信领域,具体是一种在物联网环境下利用循环冗余校验技术进行差错控制并减少重传的方法。
技术介绍
差错指的就是在接收端收到的数据与发送端实际发送的数据出现不一致的情况,导致差错的原因是不理想的信道频率特性,乘性干扰会造成码间串扰导致误码,信道中的各种噪声会造成加性干扰导致误码。为了降低误码率来保证通信系统的传输质量,就需要采取差错控制方案。差错控制的目的是为了避免多种原因导致的数据传输错误,也是为了将传输错误限制在所能允许的范围内。物联网中由于一些特殊的应用场景,对数据传输的实时性和传输的准确性可靠性的要求非常严格,差错控制是保证这种传输可靠性的最重要的方案之一。因此,合理的利用差错控制,提高数据传输的准确性对现代通信系统具有非常重要的意义。差错检测和对于差错的处理是差错控制的主要组成部分。目前的差错控制大多是检测数据包在传输过程中产生的误码并且对其进行处理。具体的检错方法大致是发送端在各层协议的首部中加入校验和,然后对数据进行信道编码,从而使得接收端可以检测出接收到的数据在传输过程中产生的误码。自动请求重传是物联网应用中最常用的差错控制方法。自动请求重传的基本原理是在发送端和接收端之间加入反馈的机制,利用在发送端和接收端之间存在的一条信道来反馈传输差错情况。首先在发送端对数据进行编码处理,编码后的数据拥有很强的检错能力。然后通过前向信道将数据发送到接收端,在接收端进行差错检测,若没有检测出差错,就通过反向信道给发送端反馈一个确认的信号,表数据已经成功无误送达接收端。若检测出差错,就会通过反向信道进行反馈信号,请求发送端把该数据再重新发送一遍,如此反复进行直到接收端准确接收该数据或者到达最大重传次数为止。自动请求重传的优点有以下几点:编码和解码设备简单,尤其是解码设备,当冗余度确定的情况下,自动请求重传的检错能力比前向纠错的纠错码的纠错能力要强很多。非常适用于干扰因素复杂的短波和散射等信道,以及要求极低误码率的场景。但是自动请求重传的缺点也很明显,为自动请求重传的次数与信道的状态的好坏密切相关,当信道状态较差的时候,信道误码率较大就会导致系统常常处在请求重传的情况。因此数据传输的实时性较差,无法保证传输的连贯性,传输效率低。物联网设备所处的通信环境往往存在各种各样的干扰,如果频繁的进行重传不仅会大量消耗物联网设备的计算资源与电池电量还会造成无线信道的拥塞,从而影响其他物联设备的通信。因此,本专利技术提出了一种在物联网环境下减少自动重传次数的差错控制的方法。
技术实现思路
本专利技术提出了一种在物联网环境下减少自动重传次数的差错控制方法。在许多物联网应用中,在进行数据融合或者数据分析时,并不要求接受到的传感器传来的数据完全无差错,即容忍一定范围的传输差错,例如城市温度检测系统等。基于这个前提,本专利技术通过对常用的物联网通信协议(例如IEEE802.15.4)的数据帧进行改造,将数据位划分为高优先级位与低优先级位并分别计算它们的CRC校验和,然后将两个校验和添加到去掉数据位的数据帧中再计算CRC校验和并将该校验和添加到数据帧末尾,最后将数据位拼接到数据帧中。当接收端接收到该数据帧时,可以只校验高优先级的数据位,若校验结果正确,则认为此次传输无误,接受该数据帧。假设在数据帧的无线传输过程中各位发生错误的概率相等,尤其是在高误码率的环境中,使用该方法可显著减少数据的重传次数,从而减少设备的能耗与时延。附图说明图1是本专利技术的总体流程图。图2是本专利技术的发送端的数据帧操作。图3是本专利技术的接收端的数据帧操作。图4是本专利技术的帧操作所产生的中间帧。具体实施方式下面结合附图,说明本专利技术的实施方式,其中中间帧ndframe1,ndframe2,ndframe3,frame的帧结构如图4所示。步骤A,B,C如图2所示。步骤E,F,G如图3所示。A.发送端数据帧分离:将发送端待发送的原始数据帧中的数据位从原始数据帧中分离,将分离出数据位的原始数据帧记作ndframe1,数据位记作databits。B.发送端数据位划分:将databits划分为2部分,分别记为highpri-bits与lowpri-bits。具体划分位置需根据具体的应用场景所能容忍的误差范围确定,例如某一应用的数据帧的数据位固定为16位,其误差容忍范围为0-7,则将其高13位作为highpri-bits,低3位作为lowpri-bits。C.发送端CRC校验和计算:使用生成多项式G(X)分别计算highpri-bits与lowpri-bits的CRC校验和。将生成的校验和分别记作S1与S2并将S1,S2添加到ndframe1中并将其记作ndframe2。使用生成多项式G(X)计算ndframe2的CRC校验S3和并将S3追加到ndframe2的结尾处,得到ndframe3。D.发送端发送改造后的数据帧:将数据位拼接在ndframe3的结尾处得到最终的frame,发送端将frame发送给接收端。E.接收端数据帧分离:接收端将接收到的frame切分为ndframe3与databits(切分的依据信息已提前存储于接收端)。F.接收端非数据位验证:用生成多项式G(X)对ndframe3做模2除运算,若余数不为零即ndframe3存在差错则请求发送端重传该frame。G.接收端数据位验证:若余数为零则证明ndframe3传输无误,从而保证了S1与S2传输无误。从ndframe3中获取S1,S2(CRC校验和为定长码即S1与S2的长度为确定值x,ndframe3中最后2x位即为S1与S2)。将databits切分为highpri-bits与lowpri-bits,并分别将S1,S2拼接在highpri-bits与lowpri-bits的结尾获得L1与L2。使用生成多项式G(X)对L1做模2除运算,若余数不为零即highpri-bits存在差错则请求发送端重传该frame。若余数为零则证明highpri-bits传输无误。接下来使用生成多项式G(X)对L2做模2除运算,若余数不为0即lowpri-bits存在差错,但因为highpri-bits无差错,所以接收端认为差错在可容忍范围内,不必请求重传,但需要记录该databits在传输中发生过可容忍的差错。若余数为0则认为传输不存差错,该databits为准确值,也不必请求重传。本文档来自技高网
...

【技术保护点】
1.A.发送端数据帧分离:将发送端待发送的原始数据帧中的数据位从原始数据帧中分离,将分离出数据位的原始数据帧记作ndframe1,数据位记作databits。/nB.发送端数据位划分:将databits划分为2部分,分别记为highpri-bits与lowpri-bits。具体划分位置需根据具体的应用场景所能容忍的误差范围确定,例如某一应用的数据帧的数据位固定为16位,其误差容忍范围为0-7,则将其高13位作为highpri-bits,低3位作为lowpri-bits。/nC.发送端CRC校验和计算:使用生成多项式G(X)分别计算highpri-bits与lowpri-bits的CRC校验和。将生成的校验和分别记作S1与S2并将S1,S2添加到ndframe1中并将其记作ndframe2。使用生成多项式G(X)计算ndframe2的CRC校验S3和并将S3追加到ndframe2的结尾处,得到ndframe3。/nD.发送端发送改造后的数据帧:将数据位拼接在ndframe3的结尾处得到最终的frame,发送端将frame发送给接收端。/nE.接收端数据帧分离:接收端将接收到的frame切分为ndframe3与databits(切分的依据信息已提前存储于接收端)。/nF.接收端非数据位验证:用生成多项式G(X)对ndframe3做模2除运算,若余数不为零即ndframe3存在差错则请求发送端重传该frame。/nG.接收端数据位验证:若余数为零则证明ndframe3传输无误。从ndframe3中获取S1,S2(CRC校验和为定长码即S1与S2的长度为确定值x,ndframe3中最后2x位即为S1与S2)。将databits切分为highpri-bits与lowpri-bits,并分别将S1,S2拼接在highpri-bits与lowpri-bits的结尾获得L1与L2。使用生成多项式G(X)对L1做模2除运算,若余数不为零即highpri-bits存在差错则请求发送端重传该frame。若余数为零则证明highpri-bits传输无误。接下来使用生成多项式G(X)对L2做模2除运算,若余数不为0即lowpri-bits存在差错,但因为highpri-bits无差错,所以接收端认为差错在可容忍范围内,不必请求重传,但需要记录该databits在传输中发生过可容忍的差错。若余数为0则认为传输不存差错,该databits为准确值,也不必请求重传。/n...

【技术特征摘要】
1.A.发送端数据帧分离:将发送端待发送的原始数据帧中的数据位从原始数据帧中分离,将分离出数据位的原始数据帧记作ndframe1,数据位记作databits。
B.发送端数据位划分:将databits划分为2部分,分别记为highpri-bits与lowpri-bits。具体划分位置需根据具体的应用场景所能容忍的误差范围确定,例如某一应用的数据帧的数据位固定为16位,其误差容忍范围为0-7,则将其高13位作为highpri-bits,低3位作为lowpri-bits。
C.发送端CRC校验和计算:使用生成多项式G(X)分别计算highpri-bits与lowpri-bits的CRC校验和。将生成的校验和分别记作S1与S2并将S1,S2添加到ndframe1中并将其记作ndframe2。使用生成多项式G(X)计算ndframe2的CRC校验S3和并将S3追加到ndframe2的结尾处,得到ndframe3。
D.发送端发送改造后的数据帧:将数据位拼接在ndframe3的结尾处得到最终的frame,发送端将frame发送给接收端。
E.接收端数据帧分离:接收端将接收到的frame切分为ndframe3与data...

【专利技术属性】
技术研发人员:徐九韵郝壮远
申请(专利权)人:中国石油大学华东
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1