网络节点的测距定位方法、系统、电子设备及存储介质转让专利

申请号 : CN202111427576.2

文献号 : CN113848543B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李向阳朱冉孙宗海哀薇

申请人 : 华南理工大学

摘要 :

本发明提出一种网络节点的测距定位方法、系统、电子设备及存储介质网络节点的测距定位方法。其中,方法包括:由网络节点中选择出的主动节点选择其它任一节点,为响应节点,主动节点未选择的其它节点,为监听节点;应用双边双向测距方法,得到主动节点与响应节点的距离和测距过程的数据;监听节点监听主动节点和响应节点之间的测距过程,记录测距过程的数据和主动节点和响应节点发送的通信帧到达监听节点的时间戳;根据测距过程的数据和主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出监听节点与响应节点之间的距离。本发明提出的方案能够极大地减少了系统测距周期,能够适合规模较大的网络。

权利要求 :

1.一种网络节点的测距定位方法,其特征在于,适用于大规模UWB网络节点,所述方法包括:

由网络节点中选择出的主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点;

应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据;

所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳;

根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离。

2.根据权利要求1所述的一种网络节点的测距定位方法,其特征在于,所述应用双边双向测距方法,得到所述主动节点与响应节点的距离,包括:所述主动节点与所述响应节点共发生4次通信,分别为poll帧、resp帧、final帧和ack帧,每次通信中,所述主动节点和所述响应节点分别记录自身发出或者收到信息的时间戳,并记录设置的延时发送参数,根据所述时间戳和所述延时发送参数计算所述主动节点与响应节点的距离。

3.根据权利要求2所述的一种网络节点的测距定位方法,其特征在于,记录所述测距过程的数据的步骤中,该数据包括:测距过程计算数据和所述延时发送参数。

4.根据权利要求3所述的一种网络节点的测距定位方法,其特征在于,所述测距过程计算数据包括:

所述主动节点与响应节点之间的电磁波的飞行时间tof;

前次飞行时间tof_to_Initiator,所述前次飞行时间tof_to_Initiator为,所述监听节点前次作为响应节点时,应用双边双向测距方法计算出的所述监听节点与所述主动节点之间的飞行时间。

5.根据权利要求4所述的一种网络节点的测距定位方法,其特征在于,所述延时发送参数包括:

所述响应节点发送resp帧设置的第一延时时间D1;

所述主动节点发送final帧设置的第二延时时间D2;

所述响应节点发送ack帧设置的第三延时时间D3。

6.根据权利要求5所述的一种网络节点的测距定位方法,其特征在于,记录所述主动节点和响应节点发送的通信帧到达监听节点的时间戳的方法包括:收到来自所述主动节点发送的poll帧后,记录所述poll帧到达所述监听节点的天线的时间戳,即第一时间戳t1;

收到来自所述响应节点发送的resp帧后,记录所述resp帧到达所述监听节点的天线的时间戳,即第二时间戳t2;

收到来自所述主动节点发送的final帧后,记录所述final帧到达所述监听节点的天线的时间戳,即第三时间戳t3;

收到来自所述响应节点发送的ack帧后,记录所述ack帧到达所述监听节点的天线的时间戳,即第四时间戳t4。

7.根据权利要求6所述的一种网络节点的测距定位方法,其特征在于,所述根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离的具体计算公式为:其中,

:表示求两时间戳t2与t1之间的时间差;

:表示求两时间戳t3与t2之间的时间差;

:表示求两时间戳t4与t3之间的时间差;

c:表示电磁波在空气中的传播速度;

T1、T2、T3分别表示得到的三次与响应节点之间的飞行时间,表示监听节点与响应节点之间的距离计算值。

8.一种网络节点的测距定位方法系统,其特征在于,适用于大规模UWB网络节点,所述系统包括:

第一处理模块,被配置为,由网络节点中选择出的主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点;

第二处理模块,被配置为,应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据;

第三处理模块,被配置为,所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳;

第四处理模块,被配置为,根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离。

9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至7中任一项所述的网络节点的测距定位方法中的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至7中任一项所述的网络节点的测距定位方法中的步骤。

说明书 :

网络节点的测距定位方法、系统、电子设备及存储介质

技术领域

[0001] 本发明属于无线网络中节点之间的测距与定位领域,尤其涉及一种网络节点的测距定位方法、系统、电子设备及计算机可读存储介质。

背景技术

[0002] UWB(Ultra Wide Band,超宽带)技术是一种全新的通信技术,它不采用正弦载波,而是利用纳秒级的非正弦窄脉冲传输数据。由于UWB脉冲的时间宽度极短,因此配上高精度
定时可以实现高精度距离测算,其定位精度可达厘米级。采用UWB技术进行距离测算是以测
量飞行时间(Time of flight)为基础,即通过测量电磁波在两节点之间传播所需的时间,
将其与光速相乘便可得出两节点间的距离。该方法只能实现两节点之间的测距,当网络中
节点较多时,若使用该方法实现任意两节点之间的测距,一个完整测量周期需进行较大的
通信量,存在造成更新周期过长,测量数据不及时。
[0003] 双边双向测距(Double Sided Two‑way Ranging, DS‑TWR)是一种常用的实现两节点之间的测距方法。在DS‑TWR方法中,两节点之间的一次测距通过4次通信完成,将4次通
信依次称为poll、resp、final、ack。在多节点UWB网络中,假设节点总数为n,在该网络中每
一节点都需测量与其他节点之间的距离。在每一轮距离更新周期中,每一节点都需与其他
节点进行一次DS‑TWR方法测距,则完成所有节点之间的测距所需要的DS‑TWR测距次数为
,显然,该值随n增大而以平方关系快速增加,如n=10时,N=45;n=20时,N=190。
因此,随着n的增长,采用DS‑TWR测距方法的系统距离更新周期急剧增长,该测距定位方法
不适合规模稍微大一些的网络。

发明内容

[0004] 为解决上述技术问题,本发明提出一种适合大规模UWB网络节点的测距定位的技术方案,把原有DS‑TWR方法的网络测距时间随节点个数增长的平方幂关系变为线性增长关
系的方法以解决上述技术问题。
[0005] 本发明第一方面公开了一种网络节点的测距定位方法,适用于大规模UWB网络节点,所述方法包括:
[0006] 由网络节点中选择出的主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点;
[0007] 应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据;
[0008] 所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳;
[0009] 根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离。
[0010] 根据本发明第一方面的方法,应用双边双向测距方法,得到所述主动节点与响应节点的距离,包括:
[0011] 所述主动节点与所述响应节点共发生4次通信,分别为poll帧、resp帧、final帧和ack帧,每次通信中,所述主动节点和所述响应节点分别记录自身发出或者收到信息的时间
戳,并记录设置的延时发送参数,根据所述时间戳和所述延时发送参数计算所述主动节点
与响应节点的距离。
[0012] 根据本发明第一方面的方法,记录所述测距过程的数据的步骤中,该数据包括:
[0013] 测距过程计算数据和所述延时发送参数。
[0014] 根据本发明第一方面的方法,在所述步骤S3中,所述测距过程计算数据包括:
[0015] 所述主动节点与响应节点之间的电磁波的飞行时间tof;
[0016] 前次飞行时间tof_to_Initiator,所述前次飞行时间tof_to_Initiator为,所述监听节点前次作为响应节点时,应用双边双向测距方法计算出的所述监听节点与所述主动
节点之间的飞行时间。
[0017] 根据本发明第一方面的方法,所述延时发送参数包括:
[0018] 所述响应节点发送resp帧设置的第一延时时间D1;
[0019] 所述主动节点发送final帧设置的第二延时时间D2;
[0020] 所述响应节点发送ack帧设置的第三延时时间D3。
[0021] 根据本发明第一方面的方法,记录所述主动节点和响应节点发送的通信帧到达监听节点的时间戳的方法包括:
[0022] 收到来自所述主动节点发送的poll帧后,记录所述poll帧到达所述监听节点的天线的时间戳,第一时间戳t1;
[0023] 收到来自所述响应节点发送的resp帧后,记录所述resp帧到达所述监听节点的天线的时间戳,第二时间戳t2;
[0024] 收到来自所述主动节点发送的final帧后,记录所述final帧到达所述监听节点的天线的时间戳,第三时间戳t3;
[0025] 收到来自所述响应节点发送的ack帧后,记录所述ack帧到达所述监听节点的天线的时间戳,第四时间戳t4。
[0026] 根据本发明第一方面的方法,所述根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的
距离的具体计算公式为:
[0027]
[0028] 其中,
[0029] :表示求两时间戳t2与t1之间的时间差;
[0030] :表示求两时间戳t3与t2之间的时间差;
[0031] :表示求两时间戳t4与t3之间的时间差;
[0032] c:表示电磁波在空气中的传播速度;
[0033] T1、T2、T3分别表示得到的三次与响应节点之间的飞行时间,表示监听节点与响应节点之间的距离计算值。
[0034] 本发明第二方面公开了一种网络节点的测距定位方法系统,适用于大规模UWB网络节点,所述系统包括:
[0035] 第一处理模块,被配置为,由网络节点中选择出的主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点;
[0036] 第二处理模块,被配置为,应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据;
[0037] 第三处理模块,被配置为,所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点
的时间戳;
[0038] 第四处理模块,被配置为,根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离。
[0039] 根据本发明第二方面的系统,所述第二处理模块具体被配置为,应用双边双向测距方法,得到所述主动节点与响应节点的距离具体方法包括:
[0040] 所述主动节点与所述响应节点共发生4次通信,分别为poll帧、resp帧、final帧和ack帧,每次通信中,所述主动节点和所述响应节点分别记录自身发出或者收到信息的时间
戳,并记录设置的延时发送参数,根据所述时间戳和所述延时发送参数计算所述主动节点
与响应节点的距离。
[0041] 根据本发明第二方面的系统,所述第三处理模块具体被配置为,记录所述测距过程的数据的步骤中,该数据包括:
[0042] 测距过程计算数据和所述延时发送参数。
[0043] 所述测距过程计算数据包括:
[0044] 所述主动节点与响应节点之间的电磁波的飞行时间tof;
[0045] 前次飞行时间tof_to_Initiator,所述前次飞行时间tof_to_Initiator为,所述监听节点前次作为响应节点时,应用双边双向测距方法计算出的所述监听节点与所述主动
节点之间的飞行时间。
[0046] 所述延时发送参数包括:
[0047] 所述响应节点发送resp帧设置的第一延时时间D1;
[0048] 所述主动节点发送final帧设置的第二延时时间D2;
[0049] 所述响应节点发送ack帧设置的第三延时时间D3。
[0050] 记录所述主动节点和响应节点发送的通信帧到达监听节点的时间戳的方法包括:
[0051] 收到来自所述主动节点发送的poll帧后,记录所述poll帧到达所述监听节点的天线的时间戳,第一时间戳t1;
[0052] 收到来自所述响应节点发送的resp帧后,记录所述resp帧到达所述监听节点的天线的时间戳,第二时间戳t2;
[0053] 收到来自所述主动节点发送的final帧后,记录所述final帧到达所述监听节点的天线的时间戳,第三时间戳t3;
[0054] 收到来自所述响应节点发送的ack帧后,记录所述ack帧到达所述监听节点的天线的时间戳,第四时间戳t4。
[0055] 根据本发明第二方面的系统,所述第四处理模块具体被配置为,所述根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间,计算出所述
监听节点与所述响应节点之间的距离的具体计算公式为:
[0056]
[0057] 其中,
[0058] :表示求两时间戳t2与t1之间的时间差;
[0059] :表示求两时间戳t3与t2之间的时间差;
[0060] :表示求两时间戳t4与t3之间的时间差;
[0061] c:表示电磁波在空气中的传播速度;
[0062] T1、T2、T3分别表示得到的三次与响应节点之间的飞行时间,表示监听节点与响应节点之间的距离计算值。
[0063] 本发明第三方面公开了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面中任一项的一种网络节
点的测距定位方法中的步骤。
[0064] 本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面中任一项的一种网络节点
的测距定位方法中的步骤。
[0065] 可见,本发明提出的方案,
[0066] (1)全网DS‑TWR的测距方法所消耗的测距次数与网络中节点的个数的平方成正比,而本发明的测距方法所需的测距次数与网络中节点的个数成线性关系,极大地减少了
测距次数,采用本发明的测距方法可以应用于大规模网络测距和组网。
[0067] (2)相对于现有的全网DS‑TWR测距方法,本发明的基于监听测距可以大大减少了一轮测距所需的通信量和通信时间,缩短了距离数据的更新周期,提高了系统的实时性。
[0068] (3)本发明易于实现,在不增加原有系统的硬件成本的基础上,只要增加软件的监听机制即可实现,利于改进现有的UWB无线网络节点测距和推广。
[0069] 综上,本发明提出的方案能够极大地减少了系统测距周期,能够适合规模较大的网络。

附图说明

[0070] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的
附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前
提下,还可以根据这些附图获得其他的附图。
[0071] 图1为根据本发明实施例的一种网络节点的测距定位方法的流程图;
[0072] 图2为根据本发明实施例的网络节点UWB通信硬件结构图;
[0073] 图3为根据本发明实施例的双边双向测距(DS‑TWR)原理图;
[0074] 图4为根据本发明实施例的主动节点与响应节点的测距过程中,监听节点完成监听测距图;
[0075] 图5为根据本发明实施例的监听测距原理中T1和T3的计算方法示意图;
[0076] 图6为根据本发明实施例的监听测距原理中T2的计算方法示意图;
[0077] 图7为根据本发明实施例的一种网络节点的测距定位方法系统的结构图;
[0078] 图8为根据本发明实施例的一种电子设备的结构图。

具体实施方式

[0079] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只
是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080] 图2为网络节点的UWB通信部分结构图,由电源电路、UWB收发电路和MCU及其外围电路组成。电源电路为系统提供电能,MCU采用STM32G431CB,UWB收发芯片采用DW1000,MCU
通过SPI总线与UWB芯片进行芯片之间的有线通信,节点之间的无线UWB通信采用
IEEE802.15.4‑2011 数据链路层协议。在MCU进行DS‑TWR测距过程中,UWB芯片在发送数据
时,加上数据帧的发送时间戳;在接收数据帧时,获得接收数据时刻的时间戳和对方发送时
的时间戳;MCU根据收发的时间戳计算出收发双方之间的距离。电磁波的飞行时间测距法是
根据节点A发送到节点B的电磁波的飞行时间tof按照公式 计算得到,其中c为电
8
磁波在空中的速度为3×10米/秒,d为节点A和节点B之间的距离。
[0081] 本发明第一方面公开了一种网络节点的测距定位方法。图1为根据本发明实施例的一种网络节点的测距定位方法的流程图,如图1所示,适用于大规模UWB网络节点,所述方
法包括:
[0082] 步骤S1、由网络节点中选择出的主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点;
[0083] 步骤S2、应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据;
[0084] 步骤S3、所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳;
[0085] 步骤S4、根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离。
[0086] 在步骤S1,在网络节点中选择一节点为主动节点,所述主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点。
[0087] 具体地,在网络节点中选择一节点为主动节点,主动节点再对其他节点轮流发起测距,主动节点为测距的发起方,主动节点称为Initiator;主动节点选择的其它任一节点
为响应节点,响应节点称为Responder;主动节点未选择的其它节点监听节点,监听节点称
为Listener。
[0088] 在步骤S2,应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据。
[0089] 在一些实施例中,在所述步骤S2中,应用双边双向测距方法,得到所述主动节点与响应节点的距离具体方法包括:
[0090] 如图3所示,所述主动节点与所述响应节点共发生4次通信,分别为poll帧、resp帧、final帧和ack帧,每次通信中,所述主动节点和所述响应节点分别记录自身发出或者收
到信息的时间戳,并记录设置的延时发送参数,根据所述时间戳和所述延时发送参数计算
所述主动节点与响应节点的距离。
[0091] 具体地,Step 0, 主动节点发出poll帧,并在本地记录无线电信号离开天线时的时间戳poll_tx_ts;
[0092] Step 1, 响应节点收到来自主动节点的poll帧后,在本地记录信号到达天线时的时间戳poll_rx_ts;
[0093] Step 2, 响应节点设置延时发送,使得它的时间戳在poll_rx_ts基础上流过D1单位后,resp帧离开天线,记录此时的时间戳resp_tx_ts;
[0094] Step 3, 主动节点收到resp帧后,记录resp信息到达天线时的时间戳resp_rx_ts;
[0095] Step 4, 主动节点设置延时发送,使得它的时间戳在resp_rx_ts基础上流过D2单位后,final帧离开天线,记录此时的时间戳final_tx_ts,在final帧中,主动节点将本地的
poll_tx_ts、resp_rx_ts、final_tx_ts以及D2发送至响应节点,以便响应节点计算距离;
[0096] Step 5, 响应节点收到final帧后,记录fina帧到达天线时的时间戳final_rx_ts, 按照下式计算两节点间的距离:
[0097] (1)
[0098] 其中,算子 表示求两时间戳之间的时间差,表示电磁波在空气中的传播速度,表示两节点之间的距离;tof为主动节点到响应节点的飞行时间;R1为主动节点发送poll帧
到其收到resp帧的时间差;R2为响应节点发送resp帧到其收到final帧的时间差;
[0099] Step 6, 响应节点计算结束后,发送ack帧,该帧同样采用延时发送,使得它的时间戳在final_rx_ts基础上流过D3单位后,ack帧离开天线,记录此时的时间戳为ack_tx_
ts,此外,在该帧中将计算结果发送给主动节点。
[0100] 在步骤S3,所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳。
[0101] 在一些实施例中,在所述步骤S3中,所记录所述测距过程的数据包括:
[0102] 测距过程计算数据和所述延时发送参数。
[0103] 在一些实施例中,在所述步骤S3中,所述测距过程计算数据包括:
[0104] 所述主动节点与响应节点之间的电磁波的飞行时间tof;
[0105] 前次飞行时间tof_to_Initiator,所述前次飞行时间tof_to_Initiator为,所述监听节点前次作为响应节点时,应用双边双向测距方法计算出的所述监听节点与所述主动
节点之间的飞行时间。
[0106] 在一些实施例中,在所述步骤S3中,所述延时发送参数包括:
[0107] 所述响应节点发送resp帧设置的第一延时时间D1;
[0108] 所述主动节点发送final帧设置的第二延时时间D2;
[0109] 所述响应节点发送ack帧设置的第三延时时间D3。
[0110] 在一些实施例中,在所述步骤S3中,记录所述主动节点和响应节点发送的通信帧到达监听节点的时间戳的方法包括:
[0111] 收到来自所述主动节点发送的poll帧后,记录所述poll帧到达所述监听节点的天线的时间戳,第一时间戳t1;
[0112] 收到来自所述响应节点发送的resp帧后,记录所述resp帧到达所述监听节点的天线的时间戳,第二时间戳t2;
[0113] 收到来自所述主动节点发送的final帧后,记录所述final帧到达所述监听节点的天线的时间戳,第三时间戳t3;
[0114] 收到来自所述响应节点发送的ack帧后,记录所述ack帧到达所述监听节点的天线的时间戳,第四时间戳t4。
[0115] 具体地,图4是整个网络内主动节点与其它节点的DS‑TWR通信示意图,当主动节点与其它一个作为响应节点进行DS‑TWR测距时,剩余的节点作为监听节点(图中只画出了一
个监听节点)完成监听测距。
[0116] 在图4的一次主动节点与响应节点的DS‑TWR测距过程中,在ack帧中,需将D1、D2、D3以及计算得出的tof一并发出,而且响应节点在测距完成后应更新与主动节点之间的飞
行时间tof_to_Initiator。在DS‑TWR测距过程中,除主动节点和响应节点以外的节点均称
为监听节点,监听节点监听主动节点和响应节点之间的测距过程,记录各个帧时的时间戳
和接收D1、D2、D3、tof和tof_to_Initiator等数据,记录各个帧时的时间戳的方法包括:
[0117] 收到来自所述主动节点发送的poll帧后,记录所述poll帧到达所述监听节点的天线的时间戳,第一时间戳t1;
[0118] 收到来自所述响应节点发送的resp帧后,记录所述resp帧到达所述监听节点的天线的时间戳,第二时间戳t2;
[0119] 收到来自所述主动节点发送的final帧后,记录所述final帧到达所述监听节点的天线的时间戳,第三时间戳t3;
[0120] 收到来自所述响应节点发送的ack帧后,记录所述ack帧到达所述监听节点的天线的时间戳,第四时间戳t4。
[0121] 在步骤S4,根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距离。
[0122] 在一些实施例中,在所述步骤S4中,所述根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点
之间的距离的具体计算公式为:
[0123]
[0124] 其中,
[0125] :表示求两时间戳t2与t1之间的时间差;
[0126] :表示求两时间戳t3与t2之间的时间差;
[0127] :表示求两时间戳t4与t3之间的时间差;
[0128] c:表示电磁波在空气中的传播速度;
[0129] T1、T2、T3分别表示得到的三次与响应节点之间的飞行时间,表示监听节点与响应节点之间的距离计算值。
[0130] 具体的,图5是一次DS‑TWR中,监听节点与响应节点飞行时间T1和T3的测量;图6是一次DS‑TWR中,监听节点与响应节点飞行时间T2的测量。
[0131] 在步骤S3中,监听节点一共可求出三次与响应节点之间的飞行时间,对三次计算结果求平均值可减小测距误差。
[0132] 计算公式如下:
[0133]
[0134] 其中,
[0135] :表示求两时间戳t2与t1之间的时间差;
[0136] :表示求两时间戳t3与t2之间的时间差;
[0137] :表示求两时间戳t4与t3之间的时间差;
[0138] c:表示电磁波在空气中的传播速度。
[0139]  采用传统的DS‑TWR方法,要实现节点数为n的网络中每两个节点之间距离的测量,完成所有节点之间的测距所需要的DS‑TWR测距次数为 ,N随n的平方关系快速增加,如n
=20时,N=190,测量次数随网络节点个数增长太快,不适合规模稍微大网络内部节点之间的
测距。
[0140] 与传统的DS‑TWR相比,主动节点和响应节点只要增加发送tof、D1、D2、D3,这些数据很容易在IEEE802.15.4数据链路层的数据帧中通过夹带方式实现,并不增加通信次数,
而监听节点只要接收DS‑TWR通信过程的时间数据即可实现监听节点与响应节点的测距。在
具有n个节点的网络中,一个完整网络测距更新周期内只需进行 次DS‑TWR测距就可
以完成所有节点两两测距,测距次数与节点个数呈线性关系,如在n=20时,N=19,与传统方
法(N=190)相比,大大减少了更新时间。本发明还可以通过一定机制(如令牌机制、选举竞争
机制等)周期更换主动节点,具有很大的灵活性,可满足不同应用需求,具有推广应用价值。
[0141] 本发明第二方面公开了一种网络节点的测距定位方法系统。图7为根据本发明实施例的一种网络节点的测距定位方法系统的结构图;如图7所示,所述系统100包括:
[0142] 第一处理模块101,被配置为,在网络节点中选择一节点为主动节点,所述主动节点选择其它任一节点,为响应节点,所述主动节点未选择的其它节点,为监听节点;
[0143] 第二处理模块102,被配置为,应用双边双向测距方法,得到所述主动节点与响应节点的距离和测距过程的数据;
[0144] 第三处理模块103,被配置为,所述监听节点监听所述主动节点和响应节点之间的测距过程,记录所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节
点的时间戳;
[0145] 第四处理模块104,被配置为,根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间戳,计算出所述监听节点与所述响应节点之间的距
离。
[0146] 根据本发明第二方面的系统,所述第二处理模块102具体被配置为,应用双边双向测距方法,得到所述主动节点与响应节点的距离具体方法包括:
[0147] 所述主动节点与所述响应节点共发生4次通信,分别为poll帧、resp帧、final帧和ack帧,每次通信中,所述主动节点和所述响应节点分别记录自身发出或者收到信息的时间
戳,并记录设置的延时发送参数,根据所述时间戳和所述延时发送参数计算所述主动节点
与响应节点的距离。
[0148] 根据本发明第二方面的系统,所述第三处理模块103具体被配置为,所述记录所述测距过程的数据包括:
[0149] 测距过程计算数据和所述延时发送参数。
[0150] 所述测距过程计算数据包括:
[0151] 所述主动节点与响应节点之间的电磁波的飞行时间tof;
[0152] 前次飞行时间tof_to_Initiator,所述前次飞行时间tof_to_Initiator为,所述监听节点前次作为响应节点时,应用双边双向测距方法计算出的所述监听节点与所述主动
节点之间的飞行时间。
[0153] 所述延时发送参数包括:
[0154] 所述响应节点发送resp帧设置的第一延时时间D1;
[0155] 所述主动节点发送final帧设置的第二延时时间D2;
[0156] 所述响应节点发送ack帧设置的第三延时时间D3。
[0157] 记录所述主动节点和响应节点发送的通信帧到达监听节点的时间戳的方法包括:
[0158] 收到来自所述主动节点发送的poll帧后,记录所述poll帧到达所述监听节点的天线的时间戳,第一时间戳t1;
[0159] 收到来自所述响应节点发送的resp帧后,记录所述resp帧到达所述监听节点的天线的时间戳,第二时间戳t2;
[0160] 收到来自所述主动节点发送的final帧后,记录所述final帧到达所述监听节点的天线的时间戳,第三时间戳t3;
[0161] 收到来自所述响应节点发送的ack帧后,记录所述ack帧到达所述监听节点的天线的时间戳,第四时间戳t4。
[0162] 根据本发明第二方面的系统,所述第四处理模块104具体被配置为,所述根据所述测距过程的数据和所述主动节点和响应节点发送的通信帧到达监听节点的时间,计算出所
述监听节点与所述响应节点之间的距离的具体计算公式为:
[0163]
[0164] 其中,
[0165] :表示求两时间戳t2与t1之间的时间差;
[0166] :表示求两时间戳t3与t2之间的时间差;
[0167] :表示求两时间戳t4与t3之间的时间差;
[0168] c:表示电磁波在空气中的传播速度。
[0169] 本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明公开第一方面中任一项的一种网
络节点的测距定位方法中的步骤。
[0170] 图8为根据本发明实施例的一种电子设备的结构图,如图8所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理
器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非
易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作
系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或
无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电
子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显
示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外
接的键盘、触控板或鼠标等。
[0171] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子
设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布
置。
[0172] 本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本发明公开第一方面中任一项的一种网络
节点的测距定位方法中的步骤中的步骤。
[0173] 请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不
存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方
式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的
是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形
和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为
准。