掌桥专利:专业的专利平台
掌桥专利
首页

一种测距方法及装置、设备、存储介质

文献发布时间:2023-06-19 11:45:49


一种测距方法及装置、设备、存储介质

技术领域

本发明涉及定位技术,尤其涉及一种测距方法及装置、设备、存储介质。

背景技术

基于IEEE 802.15.4a/f/z标准的超宽带(Ultra-wideband,UWB)技术是一种利用纳秒级的窄脉冲进行数据传输的无线通信技术。UWB技术可实现厘米级别的精准位置测量,提供速率高达27兆位每秒(Mbps)的安全数据通信,且功耗和延迟非常低,而极高的带宽和极低的功率谱密度可以使其与其他窄带和宽带无线通信系统共享频谱且具备一定的抗干扰性。UWB利用纳秒级的非正弦波窄脉冲传输数据,因此,占用的频谱范围很宽,UWB时域信号较窄,使得时间分辨率增强,接收多径反射延时信号与直达信号的时间差一般大于脉冲宽度,因此,延时信号与直达信号在时域上是可分离的,系统可快速提取出直达信号,实现精确定位。

相关技术中,基于UWB测距的方案包括:单边双向测距(Single-sided Two-wayRanging,SS-TWR)和双边双向测距(Double-sided Two-way Ranging,DS-TWR),SS-TWR能够节省功耗,但测距误差大,DS-TWR测距误差小,但无法适用于功耗需求高的场景。

发明内容

本发明实施例提供一种测距方法及装置、设备、存储介质,能够节省功耗且测距误差小。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种测距方法,第一设备发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳;

所述第一设备接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳;其中,所述第一响应的发送为所述第二设备的硬件行为;

所述第一设备根据所述发送时间戳和所述接收时间戳,确定目标距离;所述目标距离为所述第一设备与所述第二设备之间的距离。

第二方面,本发明实施例提供一种测距方法,所述方法包括:

所述第二设备接收所述第一设备发送的第一测距帧;

所述第二设备向所述第一设备发送用于响应所述第一测距帧的第一响应;所述第一响应的发送为所述第二设备的硬件行为;其中,所述第一设备发送所述第一测距帧的发送时间戳和接收所述第一响应的接收时间戳用于所述第一设备确定目标距离,所述目标距离为所述第一设备与所述第二设备之间的距离。

第三方面,本发明实施例提供一种测距装置,应用于第一设备,所述装置包括:

第一测距模块,用于发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳;

第二测距模块,用于接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳;其中,所述第一响应的发送为所述第二设备的硬件行为;

确定模块,用于根据所述发送时间戳和所述接收时间戳,确定目标距离;所述目标距离为所述第一设备与所述第二设备之间的距离。

第四方面,本发明实施例提供一种测距装置,应用于第二设备,所述装置包括:

接收模块,用于接收所述第一设备发送的第一测距帧;

发送模块,用于向所述第一设备发送用于响应所述第一测距帧的第一响应;所述第一响应的发送为所述第二设备的硬件行为;其中,所述第一设备发送所述第一测距帧的发送时间戳和接收所述第一响应的接收时间戳用于所述第一设备确定目标距离,所述目标距离为所述第一设备与所述第二设备之间的距离。

第五方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述测距方法中的步骤。

第六方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述测距方法。

本发明实施例提供的测距方法,包括:第一设备发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳;所述第一设备接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳;其中,所述第一响应的发送为所述第二设备的硬件行为;所述第一设备根据所述发送时间戳和所述接收时间戳,确定目标距离;所述目标距离为所述第一设备与所述第二设备之间的距离。如此,在第一设备向第二设备发送第一测距帧后,第二设备基于不需要软件介入的硬件行为回复第一设备第一响应,从而减少第二设备回复第一测距帧所需要的回复时延,从而尽可能地降低测距的误差,提高测距精度,同时,在第一设备和设备之间进行两条消息的交互实现测距,因此,更加节省功耗,尤其是在需要大量测距的应用场景中,满足类似场景的功耗需求高的场景。

附图说明

图1是本发明实施例提供的测距系统的一个可选的架构示意图;

图2是本发明实施例提供的测距方法的一个可选的流程示意图;

图3是本发明实施例提供的测距方法的一个可选的流程示意图;

图4是本发明实施例提供的测距方法的一个可选的流程示意图;

图5是本发明实施例提供的测距方法的一个可选的流程示意图;

图6是本发明实施例提供的第一测距帧的帧结构示意图;

图7是本发明实施例提供的第一测距帧的MAC数据帧的帧结构示意图;

图8是本发明实施例提供的测距方法的一个可选的流程示意图;

图9是本发明实施例提供的测距方法的一个可选的流程示意图;

图10是本发明实施例提供的信号传输的一个可选的场景示意图;

图11是本发明实施例提供的UWB信号传输波形示意图;

图12是本发明实施例提供的测距方法的一个可选的流程示意图;

图13是本发明实施例提供的测距方法的一个可选的流程示意图;

图14是本发明实施例提供的测距方法的一个可选的流程示意图;

图15是本发明实施例提供的第一测距帧的MAC帧头的帧结构示意图;

图16是本发明实施例提供的测距方法的一个可选的流程示意图;

图17是本发明实施例提供的测距装置的一个可选地结构示意图;

图18是本发明实施例提供的测距装置的一个可选地结构示意图;

图19是本发明实施例提供的电子设备的可选地结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例可提供为测距方法及装置、设备和存储介质。实际应用中,测距方法可由测距装置实现,测距装置中的各功能实体可以由计算机设备(如耳机、终端设备)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。

当然,本发明实施例不局限于提供为方法和硬件,还可有多种实现方式,例如提供为存储介质(存储有用于执行本发明实施例提供的测距方法的指令)。

本发明实施例提供的测距方法可应用于图1所示的测距系统,如图1所示,测距系统包括:第一设备10和第二设备20,其中,第一设备10为具有UWB能力的电子设备。第二设备为具有UWB能力的电子设备。第一设备与第二设备之间可基于UWB使用网络30进行通信。

第一设备10发送第一测距帧至第二设备20,并记录发送所述第一测距帧的发送时间戳;第二设备20接收第一设备10发送的第一测距帧,并向第一设备10发送用于响应所述第一测距帧的第一响应;其中。所述第一响应的发送为第二设备20的硬件行为;第一设备10接收第二设备20发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳;第一设备10根据所述发送时间戳和所述接收时间戳,确定第一设备10与第二设备20之间的距离。

在实际应用中,测距系统中可包括多个第二设备,第一设备分别向各第二设备发送第一测距帧,并接收各第二设备返回的第一响应,并根据发送第一测距帧的发送时间戳和接收第一响应的接收时间戳,确定第一设备与各第二设备之间的距离。

本发明实施例中的第一设备和第二设备是相对的,发送第一测距帧的电子设备为第一设备,接收第一测距帧的设备为第二设备。对于同一电子设备,既可作为第一设备,向其他电子设备发送第一测距帧,也可作为第二设备,接收其他设备电子发送的第一测距帧。

测距系统中的第一设备和第二设备可基于各种通信系统进行通信,例如:全球移动通讯(Global System of Mobile communication,GSM)系统、码分多址(Code DivisionMultiple Access,CDMA)系统、宽带码分多址(Wideband Code Division MultipleAccess,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal MobileTelecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperabilityfor Microwave Access,WiMAX)通信系统或5G系统等。

第一设备10和第二设备20可为终端设备,终端设备可以指接入终端、用户设备(User Equipment,UE)、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless LocalLoop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、5G网络中的终端设备或者未来演进的PLMN中的终端设备等。终端设备还可为传感器、激光扫描系统和智能家电等物联网设备。

在一示例中,第一设备为物联网(Internet of Things,IOT)设备,其中,第二设备为手机,其中,第一设备可设置有UWB标签,且第一设备中的UWB标签向第二设备发送第一测距帧。

下面,结合图1所示的测距系统的示意图,对本发明实施例提供的测距方法、装置、设备和存储介质的各实施例进行说明。

本实施例提供一种测距方法,该方法应用于第一设备,图2为本发明实施例的一种测距方法的实现流程示意图,如图2所示,该方法可以包括如下步骤:

S201、第一设备发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳。

这里,第一设备在发送(Tx)状态下向发送第一测距帧。当第一设备在第一状态下发出第一测距帧后,从发送状态切换至接收(Rx)状态,等待接收响应第一测距帧的第一响应。其中,第一设备可通过第一设备中的第一UWB芯片使用UWB向第二设备发送第一测距帧。其中,当第一UWB芯片处于发送(Tx)状态,则第一设备处于发送(Tx)状态;当第一UWB芯片处于接收(Rx)状态,则第一设备处于接收(Rx)状态。

本发明实施例中,电子设备在发送(Tx)状态下的功耗小于在接收(Rx)状态下的功耗。

本发明实施例中,第一设备可至少在以下时机进行第一测距帧的发送:

情况一、接收到用户的测距操作;

情况二、当前时间达到指定时间。

在情况一下,第一设备在接收到用户的测距操作的情况下,触发第一测距帧的发送。

在情况二下,第一设备中设置有指定时间,当当前时间得到指定时间,触发第一测距帧的发送。其中,指定时间可为一固定时间,也可为基于测距周期触发的时间。

本发明实施例中对第一设备发送第一测距帧的时机不进行限定。

第一设备在发送第一测距帧的同时,记录发送第一测距帧的发送时间戳(Tx Timestamp),记为Time1。

本发明实施例中,第一设备和第二设备之间的交互如图3所示,包括:

S301、第一设备向第二设备发送第一测距帧;

S302、第二设备向第一设备发送第一响应。

第二设备接收到第一设备的第一测距帧的情况下,基于硬件行为向第一设备发送第一响应以响应所接收的第一测距帧。

S202、所述第一设备接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳。

其中,所述第一响应的发送为所述第二设备的硬件行为。

第一设备通过第一UWB芯片接收第一响应。

第一设备在接收第一响应的同时,记录接收第一响应的接收时间戳(Rx Timestamp),记为Time2。

在一示例中,第一响应为负载中不包括帧负载(payload)即媒体接入控制(MediumAccess Control,MAC)负载的确认(ACK)帧。

S203、所述第一设备根据所述发送时间戳和所述接收时间戳,确定目标距离。

所述目标距离为所述第一设备与所述第二设备之间的距离。

第一设备接收第一响应的情况下,根据发送第一测距帧的发送时间戳和接收第一响应的接收时间戳,确定第一设备发送第一测距帧与接收第一响应的时间差即响应间隔Tround,并获取第二设备接收第一测距帧与发送第一响应的时间差即回复间隔Treply即回复时延,通过Tround和Treply确定信号的飞行时间Tof,并根据Tof和光速得到第一设备和第二设备之间的距离。

如图4所示,第一设备在Time1发送第一测距帧401,并在Time2接收第一响应402,Time1与Time2之间的时间间隔为响应间隔Tround,信号的飞行时间TOF为第一测距帧和第一响应的传输时间Tprop,第二设备接收到第一测距帧401至发送第一响应402的时间间隔为回复间隔Treply,则可通过公式(1)计算Tof:

Tof=(T

T

T

本申请实施例中,Treply与所述第二设备发送第一响应的时间和接收所述第一测距帧的时间有关。在一示例中,Treply可为预先设置的时长。在一示例中,Treply为根据第一测距帧的长度和第一响应的长度计算得到。在一示例中,Treply为根据第一测距帧的长度、第一响应的长度以及第二设备从第一状态切换至第二状态的切换时长计算得到,其中,第二设备在第一状态下接收第一测距帧,第二设备在第二状态下发送第一响应。

本申请实施例中,第一响应的回复为第二设备的硬件行为,第一设备能够根据发送的第一测距帧和接收的第一响应确定第二设备回复第一响应的回复时延。在实际应用中,第二设备的硬件行为不需要软件的介入,第二设备基于硬件行为回复第一响应的回复时延小于第二设备基于软件介入进行消息回复所需的回复时延。

本发明实施例提供的测距方法,包括:第一设备发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳;所述第一设备接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳;其中,所述第一响应的发送为所述第二设备的硬件行为;所述第一设备根据所述发送时间戳和所述接收时间戳,确定目标距离;所述目标距离为所述第一设备与所述第二设备之间的距离。如此,在第一设备向第二设备发送第一测距帧后,第二设备基于不需要软件介入的硬件行为回复第一设备第一响应,从而减少第二设备回复第一测距帧所需要的回复时延,从而尽可能地降低测距的误差,提高测距精度,同时,在第一设备和设备之间进行两条消息的交互实现测距,因此,更加节省功耗,尤其是在需要大量测距的应用场景中,满足类似场景的功耗需求高的场景。

本发明实施例提供一种测距方法,该方法应用于第二设备,图5为本发明实施例的一种测距方法的实现流程示意图,如图5所示,该方法可以包括如下步骤:

S501、所述第二设备接收所述第一设备发送的第一测距帧。

第二设备可在第一状态下通过第二设备中的第二UWB芯片接收第一设备发送的第一测距帧。第二设备接收到第一测距帧后,从第一状态切换至第二状态,一发送第一响应。

在一示例中,第一状态为接收(Rx)状态,第二状态为发送(Tx)状态。

本申请实施例中,第二设备可通过第二设备中的第二UWB芯片使用UWB接收第二设备发送的第一测距帧。其中,当第二UWB芯片处于发送(Tx)状态,则第二设备处于发送(Tx)状态;当第二UWB芯片处于接收(Rx)状态,则第二设备处于接收(Rx)状态。

第二设备可在以下模式下接收第一设备发送的第一测距帧:

模式一、参数接收模式;

模式二、过滤模式;

模式三、自动回复模式。

在参数接收模式下,第二设备通过软件控制第二UWB芯片一直进入第一状态。

在一示例中,在参数接收模式下,如果没有软件的介入,第二UWB芯片在接收到第一测距帧后,且不需要进行第一响应的回复,或完成第一响应的回复后,进入空闲状态。

在过滤模式下,第二UWB芯片在底层可以根据设定的过滤规则,确定所接收的帧中的不感兴趣的帧,并不感兴趣的帧将在物理层就丢掉,不再上报至MAC层进行处理。

在自动回复模式下,第二UWB芯片在接收到感兴趣的帧后,会自动回复确认帧。

本发明实施例中,第二设备感兴趣的帧包括第一测距帧。

S502、所述第二设备向所述第一设备发送用于响应所述第一测距帧的第一响应。

所述第一响应的发送为所述第二设备的硬件行为;其中,第二设备的硬件行为不需要软件介入。本申请实施例中,第二设备可在自动回复模式下通过第二UWB芯片接收第一测距帧,在第二UWB芯片接收到第一测距帧的情况下,直接通过第二UWB芯片发送第一响应,以通过第二UWB芯片执行第一响应的自动回复。本申请实施例中,不需要软件介入的硬件行为情况下发送第一响应的回复时延,小于需要软件介入情况下发送第一响应的回复时延。其中,回复时延为第二设备接收到第一测距帧至发送第一响应的时间。

所述第一设备发送所述第一测距帧的发送时间戳和接收所述第一响应的接收时间戳用于所述第一设备确定目标距离,所述目标距离为所述第一设备与所述第二设备之间的距离。

第二设备可在第一状态下通过第二UWB芯片对接收的帧进行解析,确定接收的帧为第一测距帧后,从第一状态切换至第二状态,并在第二状态下向第一设备回复第一响应,以响应第一测距帧。

在一示例中,第一响应为确认(ACK)帧。确认帧的负载中不包括MAC负载。

第一设备接收到第二设备发送的第一响应,通过发送第一测距帧的发送时间戳和接收第一响应的接收时间戳,以及第二UWB芯片回复第一响应的回复时长来确定第一设备和第二设备之间的距离即目标距离。

相关技术中,第二UWB芯片在第一状态下接收其他设备发送的帧,并在接收到其他设备发送的帧后,进入第三状态,第二UWB芯片在接收到第二设备的软件的指示第二UWB芯片切换至第二状态的状态切换指示后,进入第二状态,并在第二状态下发送信息。

本申请实施例中,第二UWB芯片在第一状态下接收第一设备发送的第一测距帧,并在接收到第一测距帧后,直接切换至第二状态,在第二状态下向第一设备发送第一响应,从而不需要第二设备的软件的介入,

本发明实施例提供的测距方法,包括:所述第二设备接收所述第一设备发送的第一测距帧;所述第二设备向所述第一设备发送用于响应所述第一测距帧的第一响应;所述第一响应的发送为所述第二设备的硬件行为;其中,所述第一设备发送所述第一测距帧的发送时间戳和接收所述第一响应的接收时间戳用于所述第一设备确定目标距离,所述目标距离为所述第一设备与所述第二设备之间的距离。如此,在第一设备向第二设备发送第一测距帧后,第二设备基于不需要软件介入的硬件行为回复第一设备第一响应,从而减少第二设备回复第一测距帧所需要的回复时延,从而尽可能地降低测距的误差,提高测距精度,同时,在第一设备和设备之间进行两条消息的交互实现测距,因此,更加节省功耗,尤其是在需要大量测距的应用场景中,满足类似场景的功耗需求高的场景。

在一些实施例中,所述第一测距帧至少包括以下子字段:响应请求子字段;所述响应请求子字段用于指示所述第二设备是否向所述第一设备发送所述第一响应;在S201之前,第一设备还执行以下步骤:所述第一设备设置所述响应请求子字段的值为目标值,以指示所述第二设备向所述第一设备发送所述第一响应。

在S502之前,所述第二设备确定所述响应请求子字段的值为目标值,则确定向所述第一设备发送所述第一响应;所述响应请求子字段的值为所述目标值,指示所述第二设备向所述第一设备发送所述第一响应。

第一测距帧中的响应请求子字段用于指示接收第一测距帧的第二设备是否向第一设备回复第一响应。当响应请求子字段的取值为目标值,则指示接收第一测距帧的第二设备向第一设备回复第一响应。当响应请求子字段的取值为目标值之外的值,则指示接收第一测距帧的第二设备不向第一设备回复第一响应。

在一示例中,目标值为1。此时,第一设备使能第一测距帧中的响应请求子字段,则指示第二设备回复第一响应。

本申请实施例中,响应请求子字段可包含在第一测距帧的MAC帧头中,其中,MAC帧头位于第一测距帧的负载中。

本发明实施例中,第一测距帧的MAC帧头中的子字段可至少包括:帧类型子字段和响应请求子字段。帧类型子字段表征该帧的类型,当帧类型子字段的取值为指定值时,该帧为第一测距帧。响应请求子字段用于指示接收端是否进行响应发送端,当响应请求子字段的取值为目标值时,指示接收端响应发送端,此时,接收第一测距帧的第二设备需向第一设备回复第一响应。

本申请实施例中,第一测距帧的帧格式可如图6所示,至少包括以下字段:前导码(Preamble)、帧首定界符(Start Frame Delimiter,SFD)、物理层报头(PhysicalLayerHeader,PHR)和负载(Payload)。其中,前导码用于唤醒第二设备,使第二设备与第一测距帧同步。SFD用于标识数据报文的开始。PHR包括了与数据传输相关的物理参数,比如:负载的长度。负载包括了物理层的报文信息和MAC数据帧。

如图7所示,字段MAC数据帧中包括MAC帧头、MAC负载和MAC帧尾。MAC帧头包括指示帧的类型的帧类型子字段,帧的类型决定了帧的MAC负载的长度和内容,帧尾是帧头和MAC负载的循环冗余校验(Cyclic Redundancy Check,CRC)校验序列。

本申请实施例中,第一响应的帧格式同第一测距帧,第一响应的负载中不包括MAC负载。

在一些实施例中,在S203之前,

所述第一设备获取参考时长;所述参考时长与所述第一测距帧的长度和所述第一响应的长度有关;对应的,S203的实施包括:

S2031、所述第一设备根据所述发送时间戳、所述接收时间戳和所述参考时长,确定所述目标距离。

这里,获取的参考时长Tref与所述第二设备发送所述第一响应的时间和接收所述第一测距帧的时间有关。这里,参考时长Tref为第二UWB芯片接收到第一测距帧至发送第一响应的时长即回复时长Treply。

在一些实施例中,S2031的实施包括:根据所述发送时间戳和所述接收时间戳,确定响应间隔;根据所述接收时间间隔和所述参考时长,确定信号传输时间;根据所述信号传输时间,确定所述目标距离。

这里,利用公式(3)计算飞行时间Tof即信号传输时间:

Tof=(T

其中,响应间隔T

T

本申请实施例中,参考时长可为第一设备计算获得,也可从第二设备接收获得。

在一些实施例中,所述第一设备根据所述第一测距帧的长度,确定第一处理子时长;所述第一设备根据所述第一响应的长度,确定第二处理子时长;所述第一设备根据所述第一处理子时长和所述第二处理子时长,确定所述参考时长。

第一测距帧的帧格式中包括字段:Preamble、SFD、PHR和payload1,其中,将第一测距帧中的负载记为payload1,第一响应的帧格式中包括字段:Preamble、SFD、PHR和payload2,其中,将第一响应中的负载记为payload2。第一设备根据第一测距帧中的标记字段确定第一处理子时长,并根据第二测距帧中的标记字段确定第二处理子时长。这里,以标记字段为记录点,确定第二设备接收第一测距帧的时间戳和发送第一响应的时间戳。

在一示例中,标记字段为SFD字段。此时,第一处理子时长T1=T

在一示例中,Preamble的长度为64个符号,则T

本申请实施例中,第一测距帧和第一响应中的Preamble、SFD、PHR的长度相同,则参考时长实际为一个第一测距帧长的时间。

在一实施例中,所述第一设备确定所述第二设备从第一状态切换至第二状态下的切换时长;所述第二设备在所述第一状态下接收所述第一测距帧;所述二设备在所述第二状态下发送收所述第一响应;对应的,所述第一设备根据所述第一处理子时长和所述第二处理子时长,确定所述参考时长,包括:所述第一设备根据所述第一处理子时长、所述第二处理子时长和所述切换时长,确定所述参考时长。

这里,参考时长除了包括一个第一测距帧长的时间,还包括第二设备从第一状态切换至第二状态所需的切换时长,其中,这里的切换时长为第二UWB从第一状态切换至第二状态所需的时长。这里,切换时长Tcha可为设定的时长、在一示例中,第一处理子时长T1=T

在一示例中,Preamble的长度为64个符号,则T

本申请实施例中,对Tcha为6.5μs。

本申请实施例中,基于第二设备的第二UWB芯片进行第一响应的回复,且根据第一测距帧和第一响应的时长确定第二设备回复第一响应的时间,从而能够减少第二设备回复第一响应的时间的同时,精确的确定第二设备回复第一响应的时间,提高测距精度。

本申请实施例中,当参考时长为第一设备从第二设备接收的,则第二设备确定参考时长的方式同第一设备确定参考时长的方式,这里不再赘述。

在一些实施例中,基于图3所示的交互,如图8所示,在S302之后,还包括S303、所述第一设备向所述第二设备发送携带所述目标距离的第二测距帧。

此时,第二设备接收第一设备发送的携带目标距离的第二测距帧。

这里,第一设备确定目标距离后,将目标距离填充在第二测距帧中,并向第二设备发送第二测距帧。其中,第二测距帧可为第一设备发起的新的一轮测距,使得第二设备在接收到第二测距帧后,通过解析第二测距帧,得到前一轮测距的测距结果即目标距离。

目标距离可填充在第一测距帧的MAC负载中。

本申请实施例中,通过图8中的S301和S302的交互,使得第一设备能够确定第一设备和第二设备之间的距离,将S301和S302的测距结果通过图8中的S303,发送至第二设备,使得第二设备能够直接确定第一设备和第二设备之间的距离。

在一些实施例中,在S303之前,第一设备还实施以下步骤:所述第一设备确定当前时间与接收所述第一响应的时刻之间的时间间隔;如果所述时间间隔大于设定的时间阈值,则所述第一设备确定向所述第二设备发送携带所述目标距离的第二测距帧。

第一设备在接收到第一响应之后,开始计时,确定当前时间距离接收第一响应的时长,即与接收到第一响应的时刻之间的时间间隔,当当前时间距离接收第一响应的时长大于时间阈值,则向第二设备发送第二测距帧,以发起新一轮的测距。

在一示例中,时间阈值为5毫秒(ms)。时间阈值的大小可根据实际需求确定。

本发明实施例提供一种测距方法,该方法应用于测距系统,其中,测距系统中包括:第一设备和第二设备,图9为本发明实施例的一种测距方法的实现流程示意图,如图9所示,该方法可以包括如下步骤:

S901、第一设备发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳。

S902、第二设备接收所述第一设备发送的第一测距帧,向所述第一设备发送用于响应所述第一测距帧的第一响应。

所述第一响应的发送为所述第二设备的硬件行为。

S903、所述第一设备接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳。

S904、所述第一设备根据所述发送时间戳和所述接收时间戳,确定目标距离。

所述目标距离为所述第一设备与所述第二设备之间的距离。

其中,图9所示的测距方法中,第一设备的实施可参考图2所示的测距方法中的描述,第二设备的实施可参考图5所示的测距方法中的描述,这里不再赘述。

本发明实施例提供的测距方法,包括:第一设备发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳。第二设备接收所述第一设备发送的第一测距帧,向所述第一设备发送用于响应所述第一测距帧的第一响应。所述第一响应的发送为所述第二设备的硬件行为。所述第一设备接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳。所述第一设备根据所述发送时间戳和所述接收时间戳,确定目标距离。所述目标距离为所述第一设备与所述第二设备之间的距离。如此,在第一设备向第二设备发送第一测距帧后,第二设备基于不需要软件介入的硬件行为回复第一设备第一响应,从而减少第二设备回复第一测距帧所需要的回复时延,从而尽可能地降低测距的误差,提高测距精度,同时,在第一设备和设备之间进行两条消息的交互实现测距,因此,更加节省功耗,尤其是在需要大量测距的应用场景中,满足类似场景的功耗需求高的场景。

下面,以第一设备为具有UWB芯片的UWBIOT设备,第二设备为具有UWB芯片的UWB手机为例,对本发明实施例提供的信息处理方法进行进一步说明。

这里,先对UWB测距进行介绍。

定位系统的关键在与测量距离的误差,误差越小,定位精度就越高,电磁波在空中传输的时间近似为光速,因此距离的误差也就是测量到的电磁波在空中飞行的时间误差,假设测量精度要达到0.1米(m),那么根据以下公式(4)的计算可知,测量电磁波飞行时间的误差必须在0.3纳秒(ns)内;

Δt=ΔD/C=0.1m/(3×10

要能达到如此精度,关键在与对于信号的捕捉,要在很短的时间内区分出直达信号与反射信号,从而得到精确的飞行时间,而在实际的无线传输环境中,电磁波会受到周围环境如墙壁、玻璃、金属等物体的反射(类似于可见光的反射),产生多径信号。如图10所示,接收节点102往往不仅能接收到发射节点101的直达信号1001,还能接收到反射路径传播的反射信号1002,并且直达路径的直达信号1001和反射路径的反射信号1002是相加的关系。

假设信号直达的路径长5m,反射信号需要传播的距离总共为7m,那么直达信号的时间是16ns,反射信号的时间为23ns,也就是说要在7ns的时间内区分出直达信号和反射信号,传统的统窄带信号为正弦载波通信,且带宽较窄,完成信号传输所需的时间为几十毫秒,直达信号在7ns时间内不能完成传输,因此,直达信号与反射信号会在时域上重叠,使信号延迟,并在幅值和相位等方面发生了变化,从而产生能量衰减,信噪比下降,导致首达信号并非直达信号,引起测距误差,定位精度也随之下降。

UWB技术是一种无线载波通信技术,即不采用正弦载波,而利用纳秒级的非正弦波窄脉冲传输数据,如图11所示,其所占的频谱范围很宽,UWB时域信号较窄,使得时间分辨率增强,接收的反射路径的反射信号1002与直达信号1001的时间差一般大于脉冲宽度,因此,信号在时域上是可分离的。而上述的7ns的时间差,足够完成UWB直达信号的传输(传输时长约2ns),因此系统可快速提取出直达信号,实现精确定位。

相关技术中,UWB手机与UWB IOT设备进行测距时,使用时间飞行(Time ofFlight,TOF)的方法,即测量出信号在空中的飞行时间,用该飞行时间乘以光速得到距离。

目前,使用TOF测距的方案包括:SS-TWR和DS-TWR,其中,SS-TWR是对单个往返消息时间上的简单测量,设备A主动发送数据到设备B,设备B返回数据响应设备A。DS-TWR是SS-TWR的一种扩展测距方法,记录了两个往返的时间戳,最后得到飞行时间,虽然增加了响应的时间,但会降低测距误差。相对于DS-TWR,SS-TWR只需要两帧的空中交互,即可完成测距,因此更加节省功耗,尤其是在需要大量测距的应用场景中,考虑到IOT设备的低功耗要求,优先采用SS-TWR进行测距。

SS-TWR的实现如图12所示,包括:

S1201、设备A向设备B发送测距帧(Range)。

其中,设备A可为UWB标签,作为客户端(Client),设备B为UWB手机,作为主机端(Host)。

设备A在Tx状态下发送测距帧,设备B在Rx状态下接收测距帧。

S1202、设备B向设备A发送回复帧(Reply)。

设备B在Tx状态下发送回复帧,设备A在Rx状态下接收回复帧。

设备A在发送测距帧时,记录发送时间戳,设备B接收到测距帧之后记录接收时间戳;延时Treply之后,设备B发送回复帧,同时记录发送时间戳,设备A接收回复帧,同时记录接收时间戳。

其中,SS-TWR的测距原理如图13所示,设备A向设备B主动发送测距帧的同时,记录发送时间戳T1。设备B接收到设备A发送的测距帧之后记录接收时间戳T2;延时Treply之后,设备B发送回复帧,同时记录发送时间戳T3,设备A接收回复帧,同时记录接收时间戳T4。

时刻T1到时刻T2就是信号的传播时间Tprop,假如二者时钟可以同步,那么可以直接传播时间Tprop换算的距离能够作为设备A和设备B之间的距离。但是,设备A和设备B都有独立的时钟,并没有同步,因此,无法将时刻T1到时刻T2之间的时间差作为信号的传播时间Tprop来进行测距。

这里,通过设备A的信号时间差:响应间隔Tround和设备B的信号时间差:回复间隔Treply,最终得到无线信号的飞行时间Tprop,如(5)所示:

两个时间差Tround和Treply都是基于本地的时钟计算得到的,本地时钟误差可以抵消,但是不同设备之间会存在微小的时钟偏移,假设设备A和B的时钟偏移分别为eA和eB,得到的飞行时间会随着Treply的增加而增加,测距误差入如公式(6)所示:

Treply越小,测距越准确。另外Treply不仅仅是设备B接收到发送的时间,也包括装载数据和发送数据耗费的时间(UWB除了支持定位之外,也可以传输数据,标准可以装载128字节,扩展模式可以装载1024字节数据)。典型的SS-TWR的误差关系如表1所示。

表1、典型的SS-TWR的误差关系

基于表1可以确定,随着Treply和时钟偏移的增加,会增加飞行时间的误差,从而使得测距不准确。当晶振的误差在10PPM时,1ms的回复时延(reply delay)则会带来5ns,即1.5m的测距误差。

reply delay主要来自于系统控制UWB芯片从RX状态切换到TX状态时所带来的系统时延,对于IOT设备而言,都是单片机单任务系统,系统时延可以控制在100us以内,但是由于电子设备的操作系统是一个多任务非实时处理的操作系统,从RX状态切换到TX状态,如果通过系统软件的形式进行切换,则存在以下两个问题:

1、手机软件切换存在时间不可控;

2、切换时间一般在3ms以上。

为解决上述问题,本发明实施例提出一种通过UWB芯片自动进行ACK回复功能的方式,手动计算reply delay的精确时间,完成SS-TWR的交互,显著提升的SS-TWR的测距精度。本发明实施例中,UWBITO设备与UWB手机的交互,如图14所示,包括:

S1401、UWBIOT设备向UWB手机发送测距帧。

由于UWB接收端(RX)的功耗远远大于UWB发送端(TX),而IOT设备对功耗的要求更高,因此,UWBITO设备首先发送测距帧(Range Frame),同时记录此Range Frame的发送时间戳(Tx Time stamp):time1。

在Range Frame中的Mac Header中使能ACK Request的标志位,其中,Mac帧头的结构如图15所示,包括有:位0至2的帧类型子字段、位3的保全子字段、位4的帧挂起子字段、位5的响应请求子字段即ACK请求子字段、位6的个域网标识符子字段、位7至9的保留子字段、位10至11的目的地址模式子字段、位12至13的帧版本子字段和位14至15的源地址模式子字段。

其中,帧类型子字段可以表示为Frame Type,表征该帧的帧类型,其中,帧的帧类型可包括:测距帧(Range Frame)、回复帧(Reply Frame)和最终帧(Final Frame)。保全子字段可以表示为Security Enabled,表征代表该帧是否加密;帧挂起子字段可以表示为Frame Pending,表征发送方是否有帧持续要发送;ACK请求子字段可以表示为ACK Request子字段,当ACK Request子字段使能,表示发送端告知接收端在收到该帧后,立即发送ACK,当ACK Request子字段不使能,接收端不会主动发送ACK,其中,ACK的发送时硬件行为,不需要软件介入;个域网标识符子字段可以表示为PAN ID Compress,用来指示该帧中是否同时包含目的和源地址;保留子字段可以表示为Reversed,表征自定义内容;目的地址模式子字段可以表示为Dest.Address Mode,帧版本子字段可以表示为Frame Version,源地址模式子字段可以表示为Source Address Mode;目的地址模式子字段和源地址模式子字段用来指示目的地址和源地址采用长地址模式(64bits)还是短地址模式(16bits)。

S1402、UWB手机向UWBITO设备回复ACK。

手机UWB模块开启永久接收(permanent receive)模式,过滤(filter)模式和自动响应(Auto ACK)模式,UWB手机在收到正确的Range Frame之后,将会自动回复ACK,并自动进入到RX状态,整个过程不再需要系统软件的介入。

UWBITO设备在接收到ACK后,UWBITO设备计算测距误差。

UWBITO设备记录接收到ACK的接收时间戳(Rx Time Stamp):Time2,根据公式(1)计算Tof:

Tof=(T

T

T

T

T

其中,Tpreamble与UWB的前导码(Preamble)的长度有关,为了得到更短的延迟时间,设定为IEEE标准长度64,则Tpreamble=64us,

Tsfd与UWB的开始分隔符(Start Of Frame Delimiter,SFD)字段的长度有关;SFD设定为8个symbols,Tsfd约为8us。

Tphr与物理层报头(PHY Header,PHR)字段的长度有关,PHR固定为19bits,按照6.8M的速率进行发送,Tphr时间为2.8us。

Tpayload与物理层载荷的长度有关,第一测距帧的MAC层载荷(mac payload)为5个byte,因此可以计算出Tpayload=5.88us。

从而可以得出Treply=81.5us。

至此,通过上述公式(1)可以计算Tof,Tof乘以光速进而可以得到UWB手机与UWBITO设备之间的距离。

根据表1的SS-TWR误差估计,当晶振误差在10PPM时,按照图8所示的上述方法计算的SS-TWR测距误差将低于1ns,即30CM,远远低于传统SS-TWR 150CM的误差精度。

在图14所示的信息处理方法中,UWBITO设备能够计算出与UWB手机之间的距离,为了让UWB手机也能获取到SS-TWR的测距结果,可以在Range frame中填充SS-TWR的结果其中,,UWBITO设备能与UWB手机的交互如图16所示:

S1401、UWBITO设备向UWB手机发送测距帧。

S1402、UWB手机向UWBITO设备回复ACK。

S1403、UWBITO设备向UWB手机发送新一轮的测距帧。

其中,当S1401、S1402所示的一轮SS-TWR结束之后,IOT标签延迟大于5ms的时间,执行S1403,以发起第二轮SS-TWR测距,当手机收到Range Frame之后,通过解析该RangeFrame中SS-TWR的结果信息,可以得到上一轮SS-TWR的测距结果。

图17为本发明实施例的一种测距装置的实现流程示意图,应用于第一设备,如图17所示,装置1700包括:

第一测距模块1701,用于发送第一测距帧至第二设备,并记录发送所述第一测距帧的发送时间戳;

第二测距模块1702,用于接收所述第二设备发送的用于响应所述第一测距帧的第一响应,并记录接收所述第一响应的接收时间戳;其中,所述第一响应的发送为所述第二设备的硬件行为;

确定模块1703,用于根据所述发送时间戳和所述接收时间戳,确定目标距离;所述目标距离为所述第一设备与所述第二设备之间的距离。

在一些实施例中,装置1700还包括:设置模块,用于:设置第一测距帧的响应请求子字段的值为目标值,以指示所述第二设备向所述第一设备发送所述第一响应;所述响应请求子字段用于指示所述第二设备是否向所述第一设备发送所述第一响应。

在一些实施例中,装置1700还包括:获取模块,用于获取参考时长;所述参考时长与所述第二设备发送所述第一响应的时间和接收所述第一测距帧的时间有关;

对应的,确定模块1703,用于根据所述发送时间戳、所述接收时间戳和所述参考时长,确定所述目标距离。

在一些实施例中,确定模块1703,还用于:

根据所述发送时间戳和所述接收时间戳,确定响应间隔;

根据所述接收时间间隔和所述参考时长,确定信号传输时间;

根据所述信号传输时间,确定所述目标距离。

在一些实施例中,装置1700还包括:时长确定模块,用于:

根据所述第一测距帧的长度,确定第一处理子时长;

根据所述第一响应的长度,确定第二处理子时长;

根据所述第一处理子时长和所述第二处理子时长,确定所述参考时长。

在一些实施例中,时长确定模块,还用于:

确定所述第二设备从第一状态切换至第二状态下的切换时长;所述第二设备在所述第一状态下接收所述第一测距帧;所述二设备在所述第二状态下发送收所述第一响应;

对应的,时长确定模块,还用于根据所述第一处理子时长、所述第二处理子时长和所述切换时长,确定所述参考时长。

在一些实施例中,装置1700还包括:二次发送模块,用于向所述第二设备发送携带所述目标距离的第二测距帧。

在一些实施例中,装置1700还包括:确定发送模块,用于向所述第二设备发送第二测距帧之前,确定当前时间与接收所述第一响应的时刻之间的时间间隔;如果所述时间间隔大于设定的时间阈值,则确定向所述第二设备发送携带所述目标距离的第二测距帧。

图18为本发明实施例的一种测距装置的实现流程示意图,应用于第二设备,如图18所示,装置1800包括:

接收模块1801,用于接收所述第一设备发送的第一测距帧;

发送模块1802,用于向所述第一设备发送用于响应所述第一测距帧的第一响应;所述第一响应的发送为所述第二设备的硬件行为;其中,所述第一设备发送所述第一测距帧的发送时间戳和接收所述第一响应的接收时间戳用于所述第一设备确定目标距离,所述目标距离为所述第一设备与所述第二设备之间的距离。

在一些实施例中,装置1800还包括:确定响应模块,用于确定所述第一测距帧的响应请求子字段的值为目标值,则确定向所述第一设备发送所述第一响应;所述响应请求子字段的值为所述目标值,指示所述第二设备向所述第一设备发送所述第一响应;其中,所述第一测距帧至少包括以下所述响应请求子字段;所述响应请求子字段用于指示所述第二设备是否向所述第一设备发送所述第一响应。

在一些实施例中,接收模块1801还用于接收所述第一设备发送的携带所述目标距离的第二测距帧。

需要说明的是,本发明实施例提供的测距装置包括所包括的各模块,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。

需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的测距方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。

对应地,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的测距方法中的步骤。其中,该电子设备可为第一设备,也可为第二设备。

对应地,本发明实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的测距方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明存储介质和设备实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。

需要说明的是,图19为本发明实施例电子设备的一种硬件实体示意图,如图19所示,所述电子设备1900包括:一个处理器1901、至少一个通信总线1902、至少一个外部通信接口1904和存储器1905。其中,通信总线1902配置为实现这些组件之间的连接通信。在一示例中,电子设备1900还包括:用户接口1903、其中,用户接口1903可以包括显示屏,外部通信接口1904可以包括标准的有线接口和无线接口。

存储器1905配置为存储由处理器1901可执行的指令和应用,还可以缓存待处理器1901以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种激光测距抗干扰方法、装置、激光测距设备及可读存储介质
  • 激光测距的方法、装置、激光测距设备及可读存储介质
技术分类

06120113048922