无人航行器数据链传输质量评估方法、系统及存储介质
文献发布时间:2023-06-19 19:27:02
技术领域
本发明涉及通信技术领域,特别涉及无人航行器数据链传输质量评估方法、系统及存储介质。
背景技术
无人航行器(包括无人机、无人船及无人车)通常采用各种无线传输设备(最常见的是点对点微波传输及通过公共移动通信系统进行传输)连接无人航行器和控制地面站。与其他应用场景不同,无人航行器对于信道传输要求,不仅需要传输准确性高,还需要传输时延尽量低。由于无线通信容易受到信号快衰落及信号干扰等影响,其传输质量并不稳定,因此就需要一种及时、准确的评估方法来评估无人航行器当前传输信道的质量及其他传输信道的质量。
目前,绝大多数通信设备不提供底层传输特性的报告,部分设备仅提供RSSI等简单信号强度指示,因此,需要一种在无法获取底层通信协议的QoS报告,以及具备多级网络级联传输的通信系统下,能够及时、准确的针对无人航行器无线通信传输质量进行评估的无人航行器数据链传输质量评估方法、系统及存储介质。
发明内容
本发明的目的之一在于,提供无人航行器数据链传输质量评估系统,能够及时、准确的针对无人航行器无线通信传输质量进行评估。
为了解决上述技术问题,本申请提供如下技术方案:
无人航行器数据链传输质量评估系统,包括发送端和接收端;发送端用于判断当前是否能获取授时信号,如果能,获取授时信号,发送端还用于发出数据包时,基于授时信号在数据包最后补充时间戳信息T1;
数据包达到接收端时,接收端用于获取授时信号,根据授时信号记录接收时间T2,计算此次数据包传输时延T2-T1;然后计算接收的数据长度Ld,最后计算此通道的实时传输速率:
S=Ld/(T2-T1)。
基础方案原理及有益效果如下:
由于无人航行器几乎都是基于地理位置信息进行服务的,因此本方案中,如果地理位置服务设备(如GPS或北斗接收机)带授时功能,可以通过该设备可以获得授时信号,即本地绝对时间信息(通常时间精度达到±20ns),再基于本地绝对时间信息补充时间戳信息T1。因为数据包一次传输,不存在业务层分包操作,因此不存在业务层上的数据分包延迟,通过此方式计算的传输速率为当前传输通道的真实的满载传输速率。从而能够及时、准确的对无线通信传输质量进行评估。
进一步,所述发送端判断当前不能获取授时信号时,用于在发出数据包时,根据本地时钟在数据包最后补充本地时间Ta
数据包到达接收端时,接收端用于根据本地时钟记录接收时间Tb
接收端还用于根据相邻两包数据包计算此时的传输速率:
S=(Ld
其中,Ld
在节省成本的情况下,地理位置服务设备不带授时功能,可以采用本优选方案进行传输速率的实时评估。发送端和接收端都是本地微处理的本地时钟,其相对计时精度能够达到10ns级(通常微处理器的时钟频率在100MHz左右或更高),其时钟精度能够满足传输速率的评估要求。
进一步,所述发送端还用于判断数据包的长度是否超过预设值,如果超过,将数据包分割为若干长度小于或等于预设值的数据包,对分割后的数据包添加循环冗余校验码再进行传输;
接收端还用于在接收数据包后,进行CRC校验,并记录CRC校验结果。
针对一些大数据包传输的情况下,将数据包分割为若干个小的数据包,增加多级CRC加密,当传输通道异常导致部分数据传输错误的时候,可以针各数据包独立校验,这样除了个别传输错误的数据包不可用之外,其他数据包还可以利用起来。换句话说,本优选方案针对大数据包,在整包数据出现少许传输错误的情况下,能够有效找回其余未传输错误的数据包,有效降低了传输误码率。
进一步,所述发送端还用于在发送分割后的最后一个数据包时,在数据包最后增加累计发送数据量信息;
接收端还用于根据累计发送数据量信息统计间隔时间内累计发送的数据量:
LTxn-LTxm;
还用于根据CRC校验结果统计累计正确接收的数据量LRx;并计算误码率:
R=((LTxn-LTxm)-LRx)/(LTxn-LTxm)*100%。
由于无人航行器的数据在无线传输过程中,部分数据会因为信号太弱而导致接收端完全无法接收,因此会影响总数据量的评估。通过本优选方案能够有效对误码率进行监测。
进一步,所述接收端还用于计算传输质量:
Q=Kt*((1-R)+(S/Smax))
其中Q为最终计算的传输质量,R为误码率,S为当前传输速率,Smax为当前传输通道最大传输速率,Kt为时延传输系数;Kt=1-at,其中a为滑降系数,t为数据包平均延时,Kt为负的情况下取0。
鉴于无人航行器的数据链在低时延的时候对误码率敏感,而高时延的时候对时延更敏感的特性,本优选方案采用动态时延权重的传输质量评价方式,针对不同延时强度的情况下采用不同的权重设计,可以更好的匹配无线航行器数据链的实际需求。
进一步,所述时间戳信息T1仅包含秒级、毫秒级、微妙级或纳秒级中的一种时间信息,并进行压缩编码。
可以减少数据包的长度。
进一步,所述接收端还用于获得一段时间的传输速率进行算数平均计算,得到最终的传输速率。
即利用多包数据联合评估实时传输速率。
进一步,所述预设值为50Byte。
本发明的目的之二在于,提供无人航行器数据链传输质量评估方法,包括如下步骤:
S1、发送端判断数据包的长度是否超过预设值;如果未超过,转跳至步骤S3,如果超过,转跳至步骤S2;
S2、将数据包分割为若干长度小于或等于预设值的数据包;
S3、发送端判断当前是否能获取授时信号;如果能转跳至步骤S4,如果不能,转跳至步骤S5;
S4、通过地理位置服务设备获取授时信号,基于授时信号在数据包最后补充时间戳信息T1;转跳至步骤S6;
S5、根据本地时钟在数据包最后补充本地时间Ta
S6、判断是否为发送的分割后的最后一个数据包,如果不是,转跳至步骤S7;如果是,在数据包最后增加累计发送数据量信息后,转跳至步骤S7;
S7、对数据包添加循环冗余校验码,发送数据包;
S8、接收端接收数据包后,进行CRC校验,并记录CRC校验结果;
S9、接收端判断当前是否能获取授时信号,如果能,转跳至S11,如果不能,转跳至S12;
S10、接收端通过地理位置服务设备获取授时信号,根据授时信号记录接收时间T2;计算此次数据包传输时延T2-T1;然后计算接收的数据长度Ld,最后计算此通道的实时传输速率:
S=Ld/(T2-T1);
转跳转步骤S12;
S11、接收端根据本地时钟记录接收时间Tb
S=(Ld
其中,数据包的数据长度为Ld
转跳转步骤S12;
S12、接收端根据累计发送数据量信息统计间隔时间内累计发送的数据量:LTxn-LTxm;根据CRC校验结果统计累计正确接收的数据量LRx;并计算误码率:
R=((LTxn-LTxm)-LRx)/(LTxn-LTxm)*100%;
S13、接收端计算传输质量:
Q=Kt*((1-R)+(S/Smax))
其中Q为最终计算的传输质量,R为误码率,S为当前传输速率,Smax为当前传输通道最大传输速率,Kt为时延传输系数;Kt=1-at,其中a为滑降系数,t为数据包平均延时,Kt为负的情况下取0。
本发明的目的之二在于,提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
附图说明
图1为实施例一无人航行器数据链传输质量评估系统中补充时间戳信息的示意图;
图2为实施例一无人航行器数据链传输质量评估系统中补充本地时间的示意图;
图3为实施例一无人航行器数据链传输质量评估系统中添加循环冗余校验码的示意图;
图4为实施例一无人航行器数据链传输质量评估系统中增加累计发送数据量信息的示意图;
图5为实施例二无人航行器数据链传输质量评估系统的示意图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
本实施例的无人航行器数据链传输质量评估系统,包括发送端和接收端;
如图1所示,发送端用于判断当前是否能获取授时信号,如果能,通过地理位置服务设备获取授时信号,发送端还用于发出数据包时,基于授时信号在数据包最后补充时间戳信息T1;为了减少数据包长度,时间戳信息T1可以仅包含秒/毫秒/微妙/纳秒级时间信息,并进行压缩编码;
数据包达到接收端时,接收端用于通过地理位置服务设备获取授时信号,根据授时信号记录接收时间T2,计算此次数据包传输时延T2-T1;然后计算接收的数据长度Ld,最后计算此通道的实时传输速率:
S=Ld/(T2-T1)。
由于无人航行器几乎都是基于地理位置信息进行服务的,因此本实施例中,在选取地理位置服务设备(如GPS或北斗接收机)的时候可以选取带授时功能的设备,这样通过该设备可以获得授时信号,即本地绝对时间信息(通常时间精度达到±20ns),再基于本地绝对时间信息补充时间戳信息T1。
因为数据包一次传输,不存在业务层分包操作,因此不存在业务层上的数据分包延迟,可以认为此方法计算的传输速率为当前传输通道的真实的满载传输速率。
如图2所示,判断当前不能获取授时信号,发送端用于发出数据包时,根据本地时钟在数据包最后补充本地时间Ta
数据包到达接收端时,接收端用于根据本地时钟记录接收时间Tb
例如发送端第1包数据包的数据长度为Ld
利用相邻两包数据包的计算出此时的传输速率:
S=(Ld
其中,数据包的数据长度为Ld
为了加强评估值的准确性并降低变化,在其他实施例中,可以将获得一段时间(例如1分钟)的传输速率进行算数平均计算,即利用多包数据联合评估实时传输速率。
为了节省成本,在不能引入授时信号的时候,可以采用此方式进行传输速率的实时评估。发送端和接收端都是本地微处理的本地时钟,其相对计时精度能够达到10ns级(通常微处理器的时钟频率在100MHz左右或更高),其时钟精度能够满足传输速率的评估要求。
通过以上两种方式(采用地理位置服务设备授时的绝对延时及无统一授时的相对延时评估),可以将数据包的传输时延精确到纳秒级,而且传输速率的计算更加真实和准确(端到端传输的数据长度及数据时延统计)。
如图3所示,发送端还用于判断数据包的长度是否超过预设值,如果超过,将数据包分割为若干长度小于或等于预设值的数据包,对分割后的小数据包添加循环冗余校验码(CRC)再进行传输;本实施例中,预设值为50Byte;将大的数据包分割为若干50Byte长度的小数据包;如果最后分割的小数据包不满足50Byte的长度,以实际长度为准。
接收端还用于在接收数据包后,进行CRC校验,并记录CRC校验结果。
通常无线传输系统会提供数据包的CRC校验结果通知用户该数据包是否传输正确。但是在无人航行器下传输的数据包长度变化比较大,针对一些大数据包(超过50Byte)传输的情况下(如周期性状态包,任务及路径规划控制数据包等),将数据包根据其物理特性(如位置信息,姿态信息,电池电量等)分割为若干个小的数据包,增加多级CRC加密,当传输通道异常导致部分数据传输错误的时候,可以针各数据包独立校验,这样除了个别传输错误的数据包不可用之外,其他数据包还可以利用起来。换句话说,本实施例针对大数据包,在整包数据出现少许传输错误的情况下,能够有效找回其余未传输错误的数据包,有效降低了传输误码率。
如图4所示,发送端还用于在发送分割后的最后一个数据包时,在数据包最后增加累计发送数据量信息,本实施例中,累计发送数据量信息长度为16bit。
接收端还用于根据累计发送数据量信息统计间隔时间(T)内累计发送的数据量:LTxn-LTxm;其中,LTx为累积发送的数据量;
根据CRC校验结果统计累计正确接收的数据量LRx;并计算误码率:
R=((LTxn-LTxm)-LRx)/(LTxn-LTxm)*100%。
由于无人航行器的数据在无线传输过程中,部分数据会因为信号太弱而导致接收端完全无法接收,因此会影响总数据量的评估。通过本实施例能够有效对误码率进行监测。
接收端还用于计算传输质量:
Q=Kt*((1-R)+(S/Smax))
其中Q为最终计算的传输质量,R为误码率,S为当前传输速率,Smax为当前传输通道最大传输速率,Kt为时延传输系数;Kt=1-at,其中a为滑降系数,与无人航行器允许的最大时延相关,通常取指范围为0.1-0.001之间,t为数据包平均延时,单位ms,Kt为负的情况下取0。例如a取0.001时,1/a=1000ms,也就是当时延大于1000ms时,认为该路信道不可用。那么对于时延要求高的场景,可以将a在范围0.1-0.001内尽量的设置大些,这样对应的时延时间阈值就尽可能的小了,反之亦然。t通过前述获取时延方式实时获取,所以称之为动态时延权重。
鉴于无人航行器的数据链在低时延的时候对误码率敏感,而高时延的时候对时延更敏感的特性,本实施例采用动态时延权重的传输质量评价方式,不同延时强度的情况下采用不同的权重设计,以匹配无线航行器数据链的实际需求。
基于无人航行器数据链传输质量评估系统,本实施例还提供无人航行器数据链传输质量评估方法,包括如下内容:
S1、发送端判断数据包的长度是否超过预设值;如果未超过,转跳至步骤S3,如果超过,转跳至步骤S2;
S2、将数据包分割为若干长度小于或等于预设值的数据包;
S3、发送端判断当前是否能获取授时信号;如果能转跳至步骤S4,如果不能,转跳至步骤S5;
S4、通过地理位置服务设备获取授时信号,基于授时信号在数据包最后补充时间戳信息T1;转跳至步骤S6;
S5、根据本地时钟在数据包最后补充本地时间Ta
S6、判断是否为发送的分割后的最后一个数据包,如果不是,转跳至步骤S7;如果是,在数据包最后增加累计发送数据量信息后,转跳至步骤S7;
S7、对数据包添加循环冗余校验码,发送数据包;
S8、接收端接收数据包后,进行CRC校验,并记录CRC校验结果;
S9、接收端判断当前是否能获取授时信号,如果能,转跳至S11,如果不能,转跳至S12;
S10、接收端通过地理位置服务设备获取授时信号,根据授时信号记录接收时间T2;计算此次数据包传输时延T2-T1;然后计算接收的数据长度Ld,最后计算此通道的实时传输速率:
S=Ld/(T2-T1);
转跳转步骤S12;
S11、接收端根据本地时钟记录接收时间Tb
S=(Ld
其中,数据包的数据长度为Ld
转跳转步骤S12;
S12、接收端根据累计发送数据量信息统计间隔时间内累计发送的数据量:LTxn-LTxm;根据CRC校验结果统计累计正确接收的数据量LRx;并计算误码率:
R=((LTxn-LTxm)-LRx)/(LTxn-LTxm)*100%;
S13、接收端计算传输质量:
Q=Kt*((1-R)+(S/Smax))
其中Q为最终计算的传输质量,R为误码率,S为当前传输速率,Smax为当前传输通道最大传输速率,Kt为时延传输系数;Kt=1-at,其中a为滑降系数,与无人航行器允许的最大时延相关,通常取指范围为0.01-0.001之间,t为数据包平均延时,单位ms,Kt为负的情况下取0。
上述无人航行器数据链传输质量评估方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
实施例二
本实施例以机器狗作为无人航行器为例进行说明,远程操作人员和机器狗之间的数据链路有两条,分别是4G网络链路和点对点微波通信链路。在本实施例中在机器狗接收端采用了大数据包(超过50Byte)增加多级CRC加密方法,还对误码率进行监测并对传输质量进行评估,经过实测无线通信的传输时延评估可以达到纳秒级别,相比一般的QoS评估方式更准确,机器狗接收到的数据通过校验有效利用其中一部分传输正确的数据,误码率的计算会更加准确、精细。
以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
- 一种信息传输方法、系统、服务器和存储介质
- 银行网点选址的评估方法和系统、服务器、存储介质
- 一种存储容量评估方法、装置、服务器及存储介质
- 代码质量检测方法、服务器、系统、设备及存储介质
- 无人机数据链通视评估方法、可读存储介质及终端设备
- 一种基于QoS评估的无人航行器数据传输方法