用于使多个设备同步并且基于已同步设备确定定位的方法与流程

文档序号:15050337发布日期:2018-07-31 08:25阅读:406来源:国知局

本申请要求于2015年11月9日提交的标题为methodsforsynchronizinganddetermininglocationforultrawideband(uwb)devices的美国临时申请序号62/252,753(代理人案号1345-3pr)的优先权,其内容特此通过引用并入在本文中,如同被整体地阐述一样。

政府支持声明

本发明是根据由美国农业部(usda)授予的合同号2013-33610-21531在政府支持下做出的。美国政府对本发明具有某些权利。

本发明构思一般地涉及天线,并且更具体地,涉及超宽带天线和相关元件。



背景技术:

在21世纪初,超宽带(uwb)被认为是像“无线通用串行总线(usb)”一样的有前景的技术。然而,市场转向不同的方向。尽管如此,奠定了来自联邦通信委员会(fcc)的基础工作,使得设备能在美国和海外合法地操作。直到近来,在3.1至10ghz范围内操作的uwb设备趋向于由具有相对较高的价格点的分立组件组成。然而,近来,uwb集成电路(ic)芯片已经进入市场,从而允许构建和销售较低成本的uwb收发器。以较低的价格点,这些设备可以以较大的制造量到达更广泛的受众。

uwb技术的固有特性是创建窄脉冲宽度的能力。这些脉冲宽度可用于以非常高的粒度建立射频(rf)信号的到达时间。可确定精确的时间戳以用于接收信号和发送信号。当比较被从一个设备发送到下一个设备的消息的时间戳时,可以基于通过空中的信号的速度和时间差来计算设备之间的距离。

为了使用到达时间差来确定定位,设备通常需要被同步到主时钟。常规设备使用基于电缆的定时系统或无线同步解决方案的形式来解决同步问题。



技术实现要素:

本发明构思的一些实施例提供了用于使多个收发器同步到单个主时钟的方法,所述方法包括:从主设备广播消息,所广播的消息包括向在所述主设备范围内的至少一个已知设备标识所述主设备的设备标识号码;在所述至少一个其他已知设备处接收所述消息并且在所述至少一个其他已知设备处记录到达时间(tarrival-kd);在所述至少一个其他已知设备处重复地广播和接收消息并且记录关联的到达时间;以及对所记录的到达时间应用拟合曲线以估计事件的时间。

在另外的实施例中,可以将所述拟合曲线应用于两个记录的到达时间。

在再另外的实施例中,可以将所述拟合曲线应用于多于两个到达时间。

在一些实施例中,所述广播消息可以包括传输时间(tdepart-md)。

在另外的实施例中,所述主设备和至少一个已知设备两者可以是被配置成在精确的时间发送数据并且在某个精确度内记录接收到的数据的时间戳的射频设备。

在再另外的实施例中,所述方法还可以包括:从所述至少一个已知设备重播所述消息,所述消息包括所述主设备时间单位的发送时间戳;以及在所述主设备的rf范围外的设备处接收,使得即使当在rf范围外使用所述至少一个已知设备作为中间主广播装置时,在范围外的所述设备也被同步到所述主设备。

在一些实施例中,所述方法还可以包括:从在rf范围外的设备重播包括所述主设备时间单位的发送时间戳的所述消息;在所述主设备的rf范围外的第二设备处接收经重播的消息;以及通过使用在rf范围外的所述设备作为中间主广播装置来使在rf范围外的所述第二设备同步。

在另外的实施例中,所述方法还可以包括:在所述至少一个已知设备处从多个主设备接收广播时间同步信号;以及对所述多个信号应用加权算法以确定所述消息的到达时间。

在再另外的实施例中,所述方法还可以包括应用包括平均的加权算法。

本发明构思的一些实施例提供一种包括多个已知设备和主设备的网络中的已知设备,所述已知设备包括:接收器,其被配置成从主设备接收广播消息,所述广播消息被广播到在所述主设备范围内的所述多个已知设备,所述广播消息包括标识所述主设备的设备标识号码;以及处理器,其被配置成:在所述已知设备处记录所述广播消息的到达时间(tarrival-kd),其中,所述接收器接收多个广播消息并且所述处理器记录所述多个广播消息中的每一个的到达时间;以及对所记录的到达时间应用拟合曲线以估计事件的时间。

本发明构思的另外的实施例提供一种包括被同步到单个主时钟的多个设备的系统,所述系统包括:包括处理器的多个已知设备;以及被配置成广播消息的主设备,所广播的消息包括向在所述主设备范围内的所述多个已知设备中的至少一个标识所述主设备的设备标识号码;其中,所述多个已知设备中的所述至少一个接收所广播的消息并且记录到达时间(tarrival-kd);其中,所述主设备被配置成重复地广播消息;并且

其中,所述多个已知设备中的所述至少一个被配置成接收所述消息并且记录关联的到达时间,以及对所记录的到达时间应用拟合曲线以估计事件的时间。

附图说明

图1是图示了依照本发明构思的一些实施例的使设备同步的框图。

图2是图示了依照本发明构思的一些实施例的通过单个重播来使设备同步的框图。

图3是图示了依照本发明构思的一些实施例的通过多个重播来使设备同步的框图。

图4是图示了依照本发明构思的一些实施例的使用平均来使设备同步的框图。

图5是图示了依照本发明构思的一些实施例的通过多个重播和平均来使设备同步的框图。

图6是图示了依照本发明构思的一些实施例的计算定位的框图。

图7是图示了依照本发明构思的一些实施例的计算定位的框图。

图8是图示了依照本发明构思的一些实施例的示例uwb设备的框图。

图9是依照本发明构思的一些实施例的数据处理系统的框图。

图10是图示了将被讨论的依照本发明构思的一些实施例的用于计算定位的方法的图。

图11是图示了将被讨论的依照本发明构思的一些实施例的方法的图。

图12是图示了依照本发明构思的一些实施例的kd和到达时间的图。

图13是图示了依照本发明构思的一些实施例的kd和到达时间的图。

图14是图示了将被讨论的依照本发明构思的一些实施例的kd和方法的图。

图15是图示了将被讨论的依照本发明构思的一些实施例的kd和方法的图。

具体实施方式

将在下文中参考附图更充分地描述本发明构思,在附图中示出了本发明构思的实施例。然而,本发明构思可以被以许多替代形式具体实现,而不应该被解释为限于本文中所阐述的实施例。

因此,虽然本发明构思容许各种修改和替代形式,但是其具体实施例被作为示例示出在附图中并且将在本文中被详细地描述。然而,应该理解的是,不存在将本发明构思限于所公开的特定形式的意图,而是相反,本发明构思将涵盖落入如由权利要求所限定的本发明构思的精神和范围内的所有修改、等同物和替代方案。相似的标号在这些图的描述中自始至终指代相似的元件。

本文中所使用的术语仅用于描述特定实施例的目的,而不旨在限制本发明构思。如本文中所使用的,除非上下文另外清楚地指示,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。应进一步理解的是,术语“含”、“含有”、“包括”和/或“包括有”当用在本说明书中时,指定存在陈述的特征、整数、步骤、操作、元件和/或组件,但是不排除存在或者增加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组。而且,当一个元件被称为“响应于”或者“连接到”另一元件时,它可直接地响应于或者连接到另一元件,或者可以存在中间元件。相比之下,当一个元件被称为“直接地响应于”或者“直接地连接到”另一元件时,不存在中间元件。如本文中所使用的,术语“和/或”包括关联列举的项目中的一个或多个的任何和所有组合,并且可以被缩写为“/”。

除非另外定义,否则本文中所使用的所有术语(包括技术和科学术语)具有与由本发明构思所属领域的普通技术人员通常理解的相同的含义。应进一步理解的是,除非在本文中明确地如此定义,否则本文中所使用的术语应该被解释为具有与其在本说明书和相关领域的上下文中的含义一致的含义,而将不在理想化或过度形式化的意义上进行解释。

应理解的是,尽管术语第一、第二等可以在本文中用于描述各种元件,然而这些元件不应该受这些术语限制。这些术语仅用于区分一个元件和另一元件。例如,在不脱离本公开的教导的情况下,第一元件能被称为第二元件,并且类似地,第二元件能被称为第一元件。尽管一些图包括通信路径上的箭头以示出通信的主方向,然而应当理解的是,在与所描绘的箭头相反的方向上可以发生通信。

尽管本发明构思的实施例针对uwb设备,然而应理解的是,本发明构思的实施例不一定限于此。在不脱离本发明构思的范围的情况下,可以使用可利用本文中所讨论的发明构思的其他无线电频带。例如,本发明构思的实施例可由任何能够包括如本文中所讨论的时间戳的设备使用。

如上所述,超宽带(uwb)射频(rf)技术使rf发送器和接收器能够在精确的时间发送和接收信号。uwb技术可以被用于使用飞行时间(tof)和到达时间差(tdoa)技术的实时定位系统。然而,设备之间的同步在这些应用中的一些中是关键的。因此,本发明构思的一些实施例提供两种方法来使多个uwb收发器同步,使得如将在下面关于图1至图15所讨论的那样,它们全部都参考主时钟并且基于这些设备的同步确定定位。

uwb技术的固有特性是创建非常窄的脉冲宽度的能力。这些脉冲宽度可用于以非常高的粒度建立rf信号到达时间。本发明构思的一些实施例提供了用于为了实时定位系统(rtls)而使多个支持uwb的设备的定时同步的方法。如图8中所图示的,如本文中所使用的,“uwb设备”包括uwb发送器825和接收器815以及数据处理器830,所述数据处理器830包括用于在精确的预定时间开始传输的装置以及用于以rf消息被接收的时间的非常高的精度确定时间的装置。应理解的是,在不脱离本发明构思的范围的情况下,可在uwb设备中包括附加元件。如将在本文中讨论的,多个设备一起可提供用于不仅确定从一个设备到另一设备的距离、而且确定确切的x、y、z位置(定位)的解决方案。

uwb设备可被描述为已知设备(kd)或未知设备(ud)。特别地,已知设备是其定位已知的设备。未知设备是其定位未知的设备。

在本发明构思的一些实施例中,设备被配置成自我校准。考虑到设备测量时间戳并因此测量距离的能力,可以依照本发明构思的一些实施例将设备编程为自动地确定定位。此外,依照本文中所讨论的实施例的设备也可使用时间戳来校准它们的晶体,使得可以实现最佳的信噪比接收。

现在参考图1,将讨论图示了依照本发明构思的一些实施例的用于使与主设备(md)直接地进行通信的设备同步的方法的图。现在参考图1,已知设备(kd)分布在整个区域中。kd具有通过uwb直接地或者通过消息跳转与其他设备进行通信的能力。已知设备(kd)被选择为图1中图示的主设备(md)。可使其他已知设备(kd)与所选择的(md)同步。如本文中所使用的,“同步”意味着对于将来发生或者将发生的任何给定时间点(在其他方面被称作“事件”),kd可直接地从md时钟单位转换到其kd时钟单位,并且反之亦然。例如,对于以md时钟单位描述的事件时间tevent-md,kd可以以kd时钟单位tevent-kd计算事件时间。类似地,对于通过kd时钟单位定义的事件时间tevent-kd,kd可以以md时钟单位tevent-md计算事件时间。

应理解的是,尽管图1图示了单个md和单个kd,然而本发明构思的实施例不限于此配置。如将在下面所讨论的,在不脱离本发明构思的范围的情况下,可存在多于一个md和/或kd。因此,在不脱离本发明构思的范围的情况下,理论上可能存在无限数量的设备发送和接收(侦听)。

如图1中所图示的,md发出广播(rf分组)。广播是不一定具有单个预期接收器的rf消息。多个设备能接收相同的广播消息。该消息包括md标识符号码(设备id#md)。在一些实施例中,广播消息包括广播开始传输的时间,如图1中所图示的tdepart-md。

在一些实施例中,tdepart-md可能未被包括在消息中。在这些实施例中,tdepart-md已经由接收设备预先定义和知道。注意,tdepart-md是以md时钟单位来描述的。

如图示,侦听范围内的kd接收被广播的rf分组并且以它自己的时钟单位记录到达时间tarrival-kd。rf信号从md行进到kd花费的时间是ttravel。通常,ttravel如此小并且md和kd的时钟之间的定时差如此小,以致不必指定ttravel是从md还是kd测量的。在一些实施例中,它们被假定为相同的。

在一些实施例中,ttravel可以被计算如下。因为通常所有kd的定位是已知的,所以md与kd之间的距离(dmd-to-kd)可被计算如下:

等式(1)

其中c是光速。

在一些实施例中,可以使用md与kd之间的飞行时间(tof)方法来计算ttravel。md时钟单位的到达时间tarrival-md基于行进时间ttravel和离开时间tdepart-md被计算如下:

等式(2)。

md发出周期性广播。kd接收周期性广播。广播的到达时间可用如tarrival-kd-1tarrival-kd-2...tarrival-kd-n一样的序列来描述,其中1、2、...、n下标描述个别广播。如上面所讨论的,md时钟单位的到达时间由kd计算:

等式(3)。

根据以上序列,可使用到达时间(tarrival-kd-n,tarrival-md-n)来将任何给定时间从kd时间单位转换为md时间单位,并且反之亦然。在一些实施例中,使用仅仅两个到达时间来做线性插值以将tevent-kd转换为tevent-md或者从tevent-md转换tevent-kd。例如,让broadcast(广播)#1和broadcast(广播)#2表示两个广播。等式可能是如下的线性插值:

在一些实施例中,对(tevent-md-n,tevent-kd-n)可被认为是(xn,yn)数据点并且(tevent-md-1,tevent-kd-i)被认为是x-y曲线图上的已知点(xi,yi)。使用点(xi,yi),创建拟合函数(y=f(x))来计算tevent-kd。可替代地,也可以使用拟合函数(x=g(y))来计算tevent-md。在一些实施例中,拟合函数可能是n次的多项式等式。计算n次多项式等式将需要至少n+1个广播。然而,应理解的是,本发明构思的实施例不限于此拟合函数。

应该注意的是,对于在频率上非常靠近的md和kd时钟来说以下表达式mslope几乎等于1:

等式(5)

对于相差仅百万分之几或更小的时钟,mslope可以具有1.000001的值。取决于这个值在处理器内的表示,存在处理器能截断小部分并且将mslope解释为仅仅“1”的风险。可替代地,这将需要移向16、32或64位浮点类型,从而显著地增加计算的处理。重新排列等式(4)并引入以下术语,tdif和tperiod-md减轻计算中的截断误差。此外,所有值能被表示为整数。tdif是连续的消息分组到达kd之间的时间段内的md时间单位对kd时间单位的差。对于紧密对齐的时钟,tdif将非常小。tperiod-md表示md的连续离开的时间段。存在如在下面所图示的仅一个乘法和一个除法。

等式(6)

等式(7)

等式(8)。

在一些实施例中,tperiodod-md通过为2的固定幂的数字来表示。例如,tperiodod-md可以是216。在像在等式(5)中一样在微控制器内做除法时,这用移位操作改变长除法计算并且可减少用于时间关键活动的微控制器(mcu)指令周期的数量。

现在参考图2,将讨论图示了用于使用单个重播来使设备与主设备同步的方法的图。上面关于图1和等式(1)-(8)所讨论的方法可用于使md的rf范围内的所有kd同步。rf范围可取决于距离或rf屏障(即金属壁)而变化。对于联邦通信委员会(fcc)15.250标准,该范围能从50英尺以下至1000英尺以上的任何地方变化。关于图2所讨论的方法针对不在md的rf范围内的其他kd如何可与主设备同步。

kd被选取为重播设备(rd)。rd与md(在图2中被称为根md)同步。rd在与不直接地与主设备进行通信的kd的某个子集的通信范围内。kd的这个子集加上rd将被称作子网。

参考上面关于图1所讨论的方法,rd变成子网的主设备(md)。进一步地,rd使用广播内的根md离开时间。如图2中所图示的,从根md到rd的广播与上面关于图1所讨论的广播相同。广播#1和#2(rf分组#1和#2)被从根md发送到rd。使用上面关于图1所讨论的方法,rd被同步到根md。rd向kd发送广播#3(rf分组#3)。tdepart-rd-3是rd时间单位的广播#3的离开时间。基于上面关于图1所讨论的方法,rd根据tdepart-rd-3计算tdepart-md-3。广播#3的分组包含根md时间单位的离开时间tdepart-md-3。一旦从kd接收到广播分组,kd就具有md时间单位的tdepart-md-3。即使kd不在直接地与根md进行通信,根据等式(1)至等式(4)的计算也然后可用于直接地使kd与根md同步。在一些实施例中,tdepart-md-3由kd先验知道并且不需要在广播#3的分组内包括时间tdepart-md-3。

现在参考图3,将讨论图示了用于使用多个重播来使设备与主设备同步的方法的图。如上面关于图1所讨论的,可以存在子网的子网,使得每一kd均具有可直接地与它进行通信的至少一个本地md。所有md可直接地或者通过消息跳转与彼此进行通信。

图3描绘了示例网络。根md被标记为md-1。如图3中所图示的,md-1首先与kd-1-1、kd-1-2、md-2和kd-1-3同步。一旦同步,md-2就重播消息,并且在重播时使用md-1时间单位。md-2向kd-2-1、md-3和kd-2-2重播,使得它们可与md-1同步。同样地,因为md-3被同步到md-1,所以它可广播消息,并且在广播时使用md-1时间单位。然后,kd-3-1、kd-3-2、kd-3-3、kd-3-4变为同步到md-1。因此,依照本文中所讨论的一些实施例所有设备被同步到根md。

现在参考图4,将讨论图示了使用平均来同步的方法的图。如图4中所图示的,kd可接收来自两个或更多md的广播。在图4中,kd接收来自md1和md2的广播,两者均被同步到根md(rmd)。在一些实施例中,kd使用来自md中的仅一个(md1或md2)的广播,并且丢弃来自另一个md的广播。这与上面关于图3所讨论的方法类似。

在一些实施例中,kd使用来自两个设备的广播。tdepart-rmd-md1表示来自md1的rmd时间单位的离开时间。tdepart-rmd-md2表示来自md2的rmd单位的离开时间。像上面关于等式(2)所讨论的那样调整行进时间ttravel,kd将具有来自两个md的rmd单位和kd单位两者的两个到达时间。这些可用(x,y)对表达如下:(tarrival-kd-md2,tarrival-rmd-md2)和(tarrival-kd-md1,tarrival-rmd-md1),其中tarrival-kd-md1表示来自md1的广播的kd单位的到达时间并且tarrival-rmd-md1表示来自md1的广播的rmd单位的到达时间。

随着附加广播从两个md进入,kd可使用(x,y)对来进行如上面关于图1所讨论的曲线拟合。通过使用曲线拟合,可计算kd单位和rmd单位的事件时间。如本文中所使用的,“曲线拟合”指代拟合指定点集的曲线的确定。特别地,曲线拟合是构造曲线或数学函数的过程,所述曲线或数学函数具有对一系列数据点的最佳拟合,可能经受约束。曲线拟合可涉及要求对数据的确切拟合的插值或其中构造近似地拟合数据的“平滑”函数的平滑。曲线拟合的一个常见方法是最小二乘法,然而,本发明构思的实施例不限于此。

在一些实施例中,kd可计算两个单独的tevent-kd时间:一个以来自md1的广播为基础并且另一个基于md2,即tevent-kd-md1和tevent-kd-md2。可基于tevent-kd-md1和tevent-kd-md2的组合计算组合的tevent-final。在一些实施例中,数学或加权平均能产生tevent-final。在一些实施例中,基于tevent-kd时间中的每一个的估计准确度选取权重。本发明构思不限于使用仅仅加权平均作为用于确定tevent-final的方法。在一些实施例中,kd可以接收来自三个或更多个md的广播。

现在参考图5,进一步外推上面关于图4所讨论的过程,当kd接收到来自三个或更多个md的广播时这个方法起作用,就像对于两个md一样。图5图示了多个重播和接收到的信号的平均。根md是md-1。md-4和md-2直接地使用上面关于图1所讨论的方法与md-1同步。md-5和md-3两者分别接收来自md-4和md-2的重播。使用关于图4所讨论的方法,这些设备被同步到md-1。同样地,该情形类似地发生在接收到来自md-5和md-3的重播的kd-3-1上。kd-3-2接收来自三个其他kd,md-5,md-4和md-3的重播。kd-3-2可以使用关于图4所讨论的曲线拟合算法采用来自三个kd的数据来确定同步。

在其中已知设备(kd)具有对电力的无拘无束接入的情形下,它们可始终保持开着从而按需侦听和发送。在这些实施例中,固定设备大部分时间或始终继续开着,并且未知设备(ud)短暂地开启以发送广播消息,但是不一定侦听响应。

现在参考图6,将讨论图示了用于当未知设备发送脉冲信号(ping)时计算定位的方法的图。图6图示了一个未知设备ud以及三个已知设备(kd)的示例。假定多个kd(用数字kd1、kd2和kd3单独地表示)使用先前描述的方法来使它们的时钟与主时钟同步以使时钟再同步;ud向所有侦听kd广播;并且kd记录脉冲信号的到达时间(tarrival-i)。

将在下面讨论使用这些假定来基于时间戳确定定位的算法。将确定被称作lguess的x、y和z定位的初始猜测。在一些实施例中,能寻找仅需要x和y但不需要z的二维解。出于本文简单的目的,将讨论三维解决方案,然而,应理解的是,这些方法也适合于两个维度。

从lguess到每个kdi的距离di使用以下等式来计算:

等式(9)

计算基于光速的行进时间,ti=di/c(c是光速,ti是从ud到kdi的行进时间)。基于每个固定设备的到达时间的广播的离开时间被计算如下:

等式(10)。

在理想情况下,如果初始猜测是正确的并且没有定时误差,则tdepart-i时间将全部是基本上相同的。然而,如果情况不是这样的,则计算tdepart-i之中的误差。

等式(11)

其中tavg是所有tdepart-i的平均值。误差函数通过以下等式来表示:

等式(12)

lguess的适合值将使ferror具有最小值,例如,lguess可能是所有kd定位的平均值并且表示远程设备的定位。可使用各种迭代方法来确定最小值。例如,梯度下降方法可被用作迭代方法来确定最小值。梯度下降方法使用函数的负梯度来找到误差中的最快减少。基于上面关于图6所讨论的梯度下降方法和迭代步骤来修正lguess将接近解。一旦达到最小误差,就可以找到解。不仅ud的x、y、z定位被确定,而且原始广播被发送的时间(tdepart-true)是最终迭代的tavg。

尽管图6中图示的本发明构思的实施例讨论了具有三个kd,然而本发明构思的实施例不限于此配置。例如,在不脱离本发明构思的范围的情况下,可以存在少于或多于三个kd。

现在将讨论用于当所有已知设备广播时计算定位的方法。这些方法可以与上面关于图6所讨论的方法非常类似。一个差异是所有kd发送广播,并且未知设备接收那些广播。图7图示了三个kd向一个侦听ud广播的示例。现在将讨论用于确定定位的步骤。

使用上面所讨论的使时钟再同步的方法,所有kd被同步到根md。所有kd周期性地广播消息。在一些实施例中,md时钟单位的广播的离开时间tdepart-i-md被嵌入在广播消息内。在一些实施例中,tdepart-i-md是已知的或者被传送到广播消息之外的ud。此外,广播消息包含kd的标识符和/或kd的定位坐标。ud为每个接收到的广播记录到达时间戳tarrival-i-ud。ud的x、y、z定位的初始猜测(lguess)被确定。在一些实施例中,可以在其中猜测像上面所讨论的那样仅使用x和y坐标的两个维度上应用该方法。

可以使用上面所讨论的等式(9)来计算从ud到其他kd的距离di,di=sqrt((x-xi)2+(y-yi)2+(z-zi)2)。如上面所讨论的行进时间基于光速,ti=di/c(c是光速,ti是从ud到kdi的行进时间)。来自kdi的广播的离开时间tdepart-i-ud按照等式(10)被计算。md主时钟与ud的时钟之间的偏移ti被计算如下:

等式(13)

在理想情况下,如果初始猜测是正确的并且没有定时误差,则toffset-i时间将全部是基本上相同的。这假定ud和md的时钟频率也是几乎相同的。toffset-i之中的误差被计算如下:

等式(14)

其中tavg是所有tdepart-i的平均值并且误差函数被表示如下:

等式(15)

lguess的适合值将使ferror具有最小值并且表示远程设备的定位。可使用各种迭代方法来确定最小值。例如,梯度下降方法可被用作迭代方法来确定最小值。梯度下降方法使用函数的负梯度来找到误差中的最快下降。基于上面所讨论的梯度下降方法和迭代操作来修正lguess将接近解。一旦达到最小误差,就可以找到解。不仅ud的x、y、z定位被确定,而且ud到md的偏移时间也被计算为最终迭代的tavg。

将讨论用于在ud和md的时钟频率稍微偏离时计算定位的方法。当ud的时钟频率和md的时钟频率几乎相同或者在ud接收广播的时间期间不提供可感知的差异时上面所讨论的方法被使用。在其中情况不是这样的实施例中,应该考虑到这些差异。因此,与上面所讨论的不同,对于所有kdi来说toffset-i将不是几乎相同的,而是替代地可以被建模为线性关系。tcalculated-offset-i是当像在以下等式中所图示的那样选取用于toffset-const和kclock-dif的适合值时toffset-i的计算值:

等式(16)

toffset-i与其关联的计算值tcalculated-offset-i之间的差表示被馈送到误差函数中的误差:

等式(17)

因此,在等式(13)和(14)中将像在下面所图示的那样使用其中tavg被用tcalculatedoffset-i替换的修改的误差函数:

误差函数,等式(18)

存在为toffset-const和kclock-dif选取值的多于一个方式。在一些实施例中,toffset-const和kclock-dif被选取为使得tcalculated-offset-i值与toffset-i最密切相关。在一些实施例中,因为toffset-const和kclock-dif可被视为误差函数ferror中的变量。正如像上面所讨论的那样对x、y、z变量进行迭代那样,可对toffset-const和kclock-dif进行迭代。

现在将讨论用于利用同步设备基于飞行时间计算定位的方法。在一些实施例中,针对md的时钟和ud的时钟两者使用高度精确的稳定的时钟,设备可在长时间段内保持同步。一旦同步,就可进行距离的直接计算。换句话说,ud被同步到md,所以当ud接收广播时,可像通过以下等式如所图示的那样直接地根据tarrival-i-ud来计算tarrival-i-md:

等式(19)

其中dfrom-i-to-ud表示从kdi到ud的计算距离并且cspeed-of-light是恒定光速。

在一些实施例中,大多数kd不能获得电力的充足供应。它们大部分时间保持关闭。在这些实施例中,设备短暂地开启以进行其位置的同步广播并且然后迅速地关闭。为了实现这个,在本发明构思的一些实施例中所有kd被编程为在某个特定内部时间开启。最初它们全部被同步以同时或几乎同时开启。当被开启时,kd执行上面所讨论的方法中的任一个来使其时间同步。此外,在它们开启的同时,每个kd都会在特定时间发送广播。广播消息可包括例如kd的x、y、z定位;以及广播消息的离开时间。在一些实施例中,消息不包含x、y、z定位,而是替代地包括kd的唯一id,使得能通过供替换的手段来查找kd的定位。

一旦同步,kd就休眠直到它们醒来并重复上述方法的预定义时间为止。在这个过程中,ud将接收来自各种kd的广播。md离开时间tdepart-i-md被嵌入在广播消息中。ud将会捕获抵达时间戳tarrival-i-ud。因此,可使用上面所讨论的方法来确定ud的定位。

在一些实施例中,移动设备在与固定设备相同的时段期间休眠以保存电力。

在本发明构思的一些实施例中,高度精确的时钟可以被用于md设备,这可以进一步减小整个系统的定时误差。高度精确的时钟的示例可以是原子时钟,其精度比晶体振荡器的精度要好几个数量级。

为了保存电力,大多数kd可以仅开启来接收广播消息并然后重播它。然而,主时钟设备保持开启,同时其他设备可以休眠,如此即使当这些设备在休眠时也可维持精确的定时。

如上面所讨论的,toffset-const和kclock-dif可以被计算并且可用于使ud与md同步。如果ud和md两者具有高度精确的时钟,例如原子时钟,则ud可长时间保持同步。当ud的时钟已经被同步到md时,可使用任何接收到的广播及其关联的发送和接收时间戳来计算这些值,而无需使用上面所讨论的tdoa算法。替代地,需要更少的设备来基于直接距离计算来计算定位如下:

等式(20)

使用三角测量方法,通常需要少至2个kd来确定x和y定位坐标,并且x、y和z需要少至3个kd。这与通常需要一个以上设备来确定定位的tdoa相比比较有利。

如上面所讨论的,超宽频带rf技术使得rf发送器和接收器能够在精确的时间发送和接收信号。uwb技术可以被用于使用飞行时间和到达时间差技术的实时定位系统。然而,设备之间的同步在这些应用中的一些中是关键的。因此,本发明构思的一些实施例提供两种方法来使多个uwb收发器同步,使得它们全部参考主时钟并且基于这些设备的同步确定定位。

如上面所讨论的,描述了用于确定ud的定位的方法。然而,一旦ud的定位已知,它就也可被用作kd并且促成用于同步并确定其他ud的定位的kd池。对于在一段时间内缓慢地移动或静止的ud,这些ud可被认为是准静态的。“缓慢地移动”是相对的,因为这些ud仅被要求在它们用作kd的时间段期间不会明显地移动。如果时间段小,则这些ud实际上可相当迅速地移动并仍然用作kd。

如上面所讨论的,本发明构思的一些方面可以由数据处理系统实现。在不脱离本发明构思的范围的情况下,数据处理系统可以被包括本文中所讨论的设备中的任一个。例如,数据处理系统可以被包括在md和/或kd中。将关于图9讨论依照本发明构思的实施例所配置的数据处理系统930的示例性实施例。数据处理系统930可以包括用户接口944,包括例如诸如键盘或小键盘的(一个或多个)输入设备、显示器、扬声器和/或麦克风以及与处理器938进行通信的存储器936。数据处理系统930还可以包括也与处理器938进行通信的(一个或多个)i/o数据端口946。i/o数据端口946可用于使用例如网际协议(ip)连接来在数据处理系统930与另一计算机系统或网络之间转移信息。这些组件可以是诸如在许多常规数据处理系统中使用的那些组件之类的常规组件,所述许多常规数据处理系统可以被配置成像本文中所描述的那样操作。

如上面所讨论的,存储器936可包括诸如时钟和定位(x,y,z)信息之类的数据。然而,应进一步理解的是,存储器936还可以包括数据信令错误或警报和其他状态数据。可以访问存储器936以得到历史记录的定位数据的数据库存储、以及该数据和其他发送的数据的分析程序操作,以用于改进的决策。因此,存储器不限于仅仅时钟和定位信息。

在本发明构思的一些实施例中,系统也可以对每个kd的到达及离开时间和距离数据应用加权算法以根据本发明构思中描述的方法中的任一个来确定定位。例如,利用近似定位的先验知识,具有穿过墙壁或厚金属屏障的直接路径的kd到udrf传输可能未被加权为和kd在与具有清楚视线的ud相同的空间内的那些kd到udrf传输一样多。进一步地,诸如接收到的“总信号功率”、“第一路径信号功率”和/或“第一路径功率比”之类的测量参数能全部被用于对kd的测量数据在定位算法中的重要性进行加权。进一步地,可以预先校准系统以基于定位确定每个kd数据的相对重要性。这种校准的示例能包括利用各种不同定位中的固定kd取得移动设备的测量结果。取决于每个kd的测量数据按定位有多近,能应用适当的加权度量。

现在参考图10,将讨论依照本发明构思的一些实施例的混合飞行时间和到达时间差方法。图10中图示的方法通过将飞行时间(双向测距)与到达时间差合并来确定设备的定位来建立在时间同步解决方案上。图10是图示了用于当未知设备(ud)发送脉冲信号并且使用双向测距时计算定位的方法的图。如图10中所图示的,该示例包括一个未知设备(ud)以及三个已知设备(kd)。假定多个kd(用数字kd1、kd2和kd3单独地表示)使用上面所讨论的使时钟再同步的方法来使其单独的时钟与主时钟同步;ud向所有侦听kd广播;并且这些kd中的每一个记录脉冲信号的到达时间(tarrival-i)。上面关于图6所讨论的方法讨论了其中ud发送单个脉冲信号的定位确定。在这些方法中,ud发送单个脉冲信号,然后与这些kd中的一个进行通信以进一步确定定位。

查看向和从ud和kd1传递的消息,存在总共三个消息。所有时间戳对设备它本身而言是本地的。众所周知,在发送三个消息并且记录时间戳时可计算两个设备之间的飞行时间值。例如,消息1是从ud发送到kd1的具有tdepart-ud-1和tarrival-kd1-1的时间戳的消息。消息#2被从kd1发送到ud并且具有tdepart-kd1-2和tarrival-ud2的本地时间戳。最后,消息#3被从ud发送到kd1并且具有本地时间戳tdepart-ud-3和tarrival-kd1-3。因此可将从一个设备行进到下一个设备所花费的时间描述为:

等式(21)

这个方法仅供参考。应理解的是,存在用于计算tofkd1-ud的其他方法。这个计算中的一个假定是kd1与ud之间的时钟偏移足够小,使得tofkd1-ud可独立于时钟偏移表示真实时间。

因为tofkd1-ud是已知的,所以然后可通过具有光速的tof来计算kd1与ud之间的距离。进一步地,tofkd1-ud可用于计算主设备单元中的tdepart-ud-md。考虑到kd使本身与md同步,所有设备的到达时间被记录为tarrival-kd1-md、tarrival-kd2-md和tarrival-kd3-md。然后可通过减去tofkd1-ud来确定md单位的ud的离开时间:

等式(22)

因此,也可确定ud及kd2和kd2之间的第一消息的飞行时间。

等式(23)

等式(24)

可确定距离,并且可使用三角测量算法来确定ud的定位。

可以以不同的方式做出应该选取哪一个kd来与ud一起执行tof的决定。例如,利用近似定位的某种先验知识,可选取最靠近ud的kd。可替代地,kd的从初始发送脉冲信号起最大的接收信号强度能确定哪一个kd要用于tof。一些收发器提供“第一路径信号功率”。进一步地,也可在确定要与哪一个kd一起执行飞行时间消息传送时使用“第一路径信号功率”与“总信号功率”之比(第一路径功率比)。

现在参考图11,将讨论依照本发明构思的一些实施例的点聚集方法。如图11中所图示的,存在三个kd(kd1、kd2和kd3)和一个ud(未示出)。使用上面所讨论的本发明构思的各种实施例,可确定每个kd离ud的距离。在图中指出了三个距离(dud-kd1、dud-kd2和dud-kd2)。图11中图示的本发明构思的实施例图示了通过查找靠近ud的被“聚集”在一起的点来确定ud的定位。圆c1、c2、c3具有与距离(dud-kd1、dud-kd2和dud-kd2)相关联的半径并且各自以它们相应的kd为中心。特别地,对于每个圆对,两个交点被确定。对于三个kd,圆对将是创建点(p2,p5)、(p6,p1)和(p3,p4)的c1-c2、c1-c3和c2-c3。对于每个点,针对所有圆点对测量每个点(pi)离每个圆(cj)的距离δpi-cj:

针对点pi{i=1至6}和圆cj{j=1至3}的δpi-cj等式(25)

对每个距离δpi-cj应用加权函数“func”。例如,可以应用阶跃函数。对于低于某个阈值的δpi-cj,加权函数“func”增加一(1)个点。加权函数的和是:

等式(26)

对于最大的sumfunc(pi)解被选取为pi。

应理解的是,可针对给定kdj和pi将δpi-cj直接地计算为:

等式(27)

其中(xj,yj)是kdj的坐标,并且(xpi,ypi)是pi的坐标。加权函数func的示例可以是:

对于abs(δpi-cj)>1米func(δpi-cj)=0等式(28)

对于abs(δpi-cj)<=1米func(δpi-cj)=1等式(29)

在这个示例中,sumfunc(pi)表示在pi的1米内的点的数量。因此,具有最高数量的邻近点的点被选取,该点表示被最聚集在一起的点。

在一些实施例中,加权函数func也能通过使它变得依赖于kdi的接收信号的rf信号强度来按kdi被加权。一些收发器提供“第一路径信号功率”。进一步地,也可在加权函数func中使用“第一路径信号功率”与“总信号功率”之比(第一路径功率比)。例如,“func”可以是:

对于abs(dist)>1米func(δpi-c1)=0等式(30)

对于abs(dist)<=1米func(δpi-c1)=r1等式(31)

其中r1是来自kd1的接收信号的第一路径功率比。在这个示例中,一些kd在它们具有较高的第一路径功率比时被给予比其他kd更大的权重。

在计算点时使用哪些圆对的算法也可以是选择性的。例如,如果两个kd具有非常低的“第一路径信号功率”,则算法可以假定距离将不是非常准确的并且能将它们从考虑中移除。可替代地,对于具有非常高的“第一路径功率比”的点,算法可能要求所有对需要使所述圆作为这些对中的一个。例如,如果kd1和kd2具有非常低的第一路径信号功率,但是kd3具有非常高的“第一路径功率比”,则能忽略来自c1-c2的点,并且将考虑仅来自c1-c3和c2-c3的点(即p6、p1、p3和p4)。

最后,如果这些点位于它们被预期在的区域之外则能消除它们。例如,假定ud在映射到将空间的四个角给出为(0,0)(100,0)(100,100)(0,100)的坐标系统的矩形空间中。使用聚集方法,两个可能的点示出为(50,50)和(200,50)。很明显点(200,50)可被抛出,因为它不位于空间中。这个也能被反映在如果pi坐标点在给定区域之外则给予它非常低的值的单独的加权函数func中。

现在将讨论包括利用到达时间差的点聚集方法的本发明构思的实施例。如上面所讨论的,当ud与kd之间的距离已知时可以使用点聚集。在一些实施例中,整个系统被同步到主时钟。ud仅发送脉冲信号,所以系统仅知道来自每个kd的脉冲信号的到达时间tarrival-kd-md。它不知道距离。

在一些实施例中,需要针对每个kdi-ud对来确定距离dud-kdi。对于ud脉冲信号的已知的离开时间tdepart-ud-md,我们已示出了dud-kdi可被计算为:

等式(32)

其中是光速。因此,接下来对于给定离开时间tdepart-ud-md,可以使用上面所讨论的点聚集方法。为简便起见最大化函数sumfunc(pi)也可以是离开时间tdepart-ud-md或tdepart的函数:

等式(33)

如果tdepart通过所有可能的合理值变化,则确定其两个变量为pi和tdepart的sumfunc的二维阵列。注意,pi本身是tdepart的函数,因为针对tdepart的每个值计算新的pi。pi应该理想地被写为pi(tdepart),但是对于简单的情况,我们简单地写为pi。

在这些实施例中,可以存在给出sumfunc的最大值的pi和tdepart的值。例如,图12和图13是图示了相同的kd和到达时间但不同的离开时间tdepart的图。在图12中,圆交点相对分散,稀疏地遍布整个区域。在图13中,随着在时间上较早设置的tdepart,很明显存在聚集在一起的大量点,并且因此,最佳点在该组pi内。以这种方式,给出sumfunc的最大值的pi和tdepart的特定值是对tdoa定位问题的解决方案。

应理解的是,信号的视线(los)飞行时间(tof)是rf信号为了从一点到另一点而取的直接路径。然而,这个lostof可以小于或者等于收发器的实测tof。实测tof可以是反射的结果并且因此将在时间上比其信号表示信号的直接路径的tof长。可在帮助协助定位工作时使用这个。例如,参考图14,假定tdepart被选取为圆生成三个距离。图14图示了各自具有其距离圆c1、c2和c3的三个kd。kd2和kd3具有p1和p2的交点。相对而言,kd1的圆c1不与其他两个圆相交,而且它根本不很靠近它们。因为lostof几乎总是小于或者等于实测tof,所以现实场景将示出c1相交或者至少靠近其他两个圆。因此,在这是物理上不可信的情形的假定下,作为解决方案可从考虑中移除tdepart的这个值和所有关联点p1和p2。

现在参考图15,将讨论混合点聚集方法。在图15中图示的实施例中,定位的计算可以基于tdoa和利用kd的单个tof测量。如图15中所图示的,存在3个kd和一个ud(未示出)。kd被同步到md:

1)ud向kd发送脉冲信号;

2)kd接收信号并且以md时间单位记录到达时间:tarrival-kdi-md,对于i={1,2,3}

3)如图10中所示,可在其中一个kd与ud之间获得tof时间。在这种情况下,它在kd2与ud之间。

4)在tdepart变化以除了kd2之外产生从kd到ud的距离的情况下应用聚集方法。kd2的计算距离由tofkd2-ud和光速的乘积(tofkd2-ud*cspeed-of-light)确定。不管tdepart的变化值这个距离都保持不变。

5)tdepart值在所计算出的tdepart附近选取,通过tdepart-tof来表示,其中tdepart-tof被计算为:

等式(34);以及

6)取决于来自tof测量和到达时间测量的噪声的程度,可为tdepart选取在tdepart-tof周围的适合范围。

因此,利用一个kd的tof测量可增强在聚集方法中针对tdoa的定位。

参考图15,kd1、kd2、kd3全部被同步到md。进一步地,kd2已利用与上面关于图10所讨论的ud类似的ud执行了tof测量。基于tof测量,tdepart的适合值被选取。对于tdepart的一个值t1,生成的半径圆是c1-t1和c3-t1。注意,用于kd2的圆c2从tof测量确定,所以它在大小上不改变。对于tdepart=t1的圆,可注意到不存在点的真实聚集。对于tdepart=t2,用于kd1的圆是c1-t2,而对于kd3,它是c3-t2。再次,c2在大小上不改变。在这里可看到点p1如何接近所有其他圆。

虽然先前段落和图中的示例使用三个kd和一个ud,但是这个解决方案可被扩展成包括多个kd和多个ud。

虽然先前段落和图中的示例仅仅描绘平面解(即x和y),但是它们也可被用于3d解(即x、y和z)。具体而言,对于三个维度而不是圆中的聚集方法,每个kd与具有半径dud-kdj的球体相关联。三个相交球体可产生两个点pi。利用这些点pi,可使用现有的聚集方法来确定ud的定位。

在上面参考方法、设备、系统和/或计算机程序产品的框图和/或流程图描述了示例实施例。应理解的是,可通过计算机程序指令来实现框图和/或流程图图示的块以及框图和/或流程图图示中的块的组合。这些计算机程序指令可以被提供给通用计算机、专用计算机和/或其他可编程数据处理装置的处理器以产生机器,使得经由计算机和/或其他可编程数据处理装置的处理器执行的指令创建用于实现在框图和/或一个或多个流程图块中指定的功能/动作的装置(功能性)和/或结构。

这些计算机程序指令也可以被存储在计算机可读存储器中,所述计算机可读存储器可指导计算机或其他可编程数据处理装置以特定方式起作用,使得存储在计算机可读存储器中的指令产生包括实现在框图和/或一个或多个流程图块中指定的功能/动作的指令的制品。

计算机程序指令也可以被加载到计算机或其他可编程数据处理装置上以使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在框图和/或一个或多个流程图块中指定的功能/动作的步骤。

因此,示例实施例可以用硬件和/或软件(包括固件、常驻软件、微码等)加以实现。此外,示例实施例可以采取计算机可用或计算机可读存储介质上的计算机程序产品的形式,所述计算机可用或计算机可读存储介质具有具体实现在该介质中以供由指令执行系统使用或者与其结合使用的计算机可用或计算机可读程序代码。在本文档的上下文中,计算机可用或计算机可读介质可以是可包含、存储、传送、传播或者传输程序以供由指令执行系统、装置或设备使用或者与其结合使用的任何介质。

计算机可用或计算机可读介质可以是例如但不限于电子、磁、光学、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体示例(非详尽列表)将包括下列的:具有一条或多条电线的电连接、便携式计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤和便携式紧致盘只读存储器(cd-rom)。注意,计算机可用或计算机可读介质甚至可能是在上面打印程序的纸或另一适合的介质,因为程序可经由例如纸或其他介质的光学扫描用电子学方法捕获,然后必要时被以适合的方式编译、解释或者以其他方式处理,然后被存储在计算机存储器中。

为了开发方便,用于执行本文中所讨论的数据处理系统的操作的计算机程序代码可以用诸如java、ajax(异步javascript)、c和/或c++之类的高级编程语言编写。此外,用于执行示例实施例的操作的计算机程序代码也可以用诸如但不限于解释语言之类的其他编程语言编写。一些模块或例行程序可以用汇编语言或甚至微码编写以增强性能和/或存储器使用。然而,实施例不限于特定编程语言。应进一步了解的是,这些程序模块中的任一个或全部的功能性也可以使用分立硬件组件、一个或多个专用集成电路(asic)或现场可编程门阵列(fpga)或编程数字信号处理器、编程逻辑控制器(plc)或微控制器来实现。

也应该注意的是,在一些替换的实施方式中,在块中指出的功能/动作可以不按流程图中指出的顺序发生。例如,取决于所涉及的功能/动作,实际上可以基本上同时地执行相继示出的两个块,或者有时可以以相反的顺序执行这些块。而且,可以将流程图和/或框图的给定块的功能性分成多个块,和/或可以至少部分地集成流程图和/或框图的两个或更多个块的功能性。

在附图和说明书中,已经公开了本发明构思的示例性实施例。然而,在基本上不脱离本发明构思的原理的情况下,可对这些实施例做出许多变化和修改。因此,尽管使用了特定术语,然而它们仅在通用和描述性意义上被使用,而不用于限制的目的,本发明构思的范围由以下权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1