用于空中锚点-锚点同步的方法和装置与流程

文档序号:15306304发布日期:2018-08-31 21:03阅读:496来源:国知局

本发明总体上涉及用于空中(over-the-air)锚点-锚点同步的方法和装置。



背景技术:

本部分介绍可以有助于促进更好的理解本发明的方面。因此,本部分的陈述应从这个角度阅读,不应被理解为承认何为现有技术或者什么不是现有技术。

在第一种已知的同步方案、网络时间协议(ntp)中,包括传输时间戳的双程消息在主机和从机之间被发送,并且使用简单的代数计算时钟偏移和对称传输的时间。在第二种已知的同步方案、精确时间协议(ptp)(例如,ieee1588)中,在消息离开或者到达网络端口时,专用的硬件提供时间戳,因此同步所需的计算更精确。在第三种已知的同步方案、参考广播同步(rbs)中,信源广播信号,该信号由两个或更多的锚点接收,并且锚点间的进行接收的相对时间被用于同步。在第四种同步方案、gps同步中,与每一个锚点共址的gps接收机被用以提供全球的秒脉冲(pps)参考信号。



技术实现要素:

在下面的发明内容中可以做出一些简化,其旨在突出和介绍各种示例性实施例的一些方面,但这种简化不是为了限制本发明的范围。足以使本领域技术人员制造和使用本发明构思的优选示例性实施例的详细描述将在随后部分进行。

各种实施例提供了用于提供改进的锚点-锚点时钟同步的方法和装置。具体而言,参考第一时钟的第二时钟的偏斜(skew)和偏移(offset)基于使用第一时钟的第一锚点与使用第二时钟的第二锚点之间的至少两次双程传输的经测量的发送和接收时间来确定。

在第一实施例中,提供用于提供对象定位的装置。该装置包括数据存储和通信地连接到数据存储的处理器。该处理器被编程用以:获取与第一锚点和第二锚点之间的第一双程同步消息相关联的第一多个发送和接收消息同步时间,其中第一锚点包括第一时钟以及第二锚点包括第二时钟;并且其中第一多个发送和接收消息同步时间与第一时钟相关联;获取与第一锚点和第二锚点之间的第一双程同步消息相关联的第二多个发送和接收消息同步时间,其中第二多个发送和接收消息同步时间与第二时钟相关联;获取与第一锚点和第二锚点之间的第二双程同步消息相关联的第三多个发送和接收消息同步时间,其中第三多个发送和接收消息同步时间与第一时钟相关联;获取与第一锚点和第二锚点之间的第二双程同步消息相关联的第四多个发送和接收消息同步时间,其中第四多个发送和接收消息同步时间与第二时钟相关联;以及基于第一、第二、第三和第四多个发送和接收消息同步时间确定时钟偏斜和时钟偏移,其中时钟偏斜和时钟偏移对应于第一时钟和第二时钟之间的关系。

在第二实施例中,提供用于提供对象定位的装置。该装置包括数据存储和通信地连接到数据存储的处理器。该处理器被编程用以:确定与相应的多个锚点对相关联的多个时钟偏斜和时钟偏移对,其中锚点对是从多个参与锚点中选择的;确定在参与锚点中的至少三个参与锚点处接收的标签消息的多个到达时间;以及基于多个到达时间以及多个时钟偏斜和时钟偏移对来确定与标签消息相关联的标签位置。

在第三实施例中,提供用于提供对象定位的系统。该系统包括多个参与锚点和跟踪服务器。多个参与锚点中的每个参与锚点包括多个参考时钟中的对应的参考时钟,多个参与锚点中的每个参与锚点被配置为:发送第一多个同步消息;基于多个参考时钟中的对应的参考时钟,记录与第一多个同步消息的传输时间相对应的第一多个传输时间;接收第二多个同步消息;基于多个参考时钟中的对应的参考时钟,记录与第二多个同步消息的接收时间相对应的第二多个接收时间;以及基于多个参考时钟中对应的参考时钟,确定与标签消息的接收相关联的到达时间。跟踪服务器通信地连接到多个参与锚点并且被配置为:基于第一多个传输时间的至少一个子集和第二多个接收时间的至少一个子集,确定关联于对应的多个锚点对的多个时钟偏斜和时钟偏移对,其中锚点对是从多个参与锚点中选择的;确定与参与锚点中的至少三个参与锚点处所确定的到达时间相对应的第一多个到达时间;以及基于第一多个到达时间以及多个时钟偏斜和时钟偏移对来确定与标签消息相关联的标签位置。

在第四实施例中,提供用于提供对象定位的方法。该方法包括:获取与第一锚点和第二锚点之间的第一双程同步消息相关联的第一多个发送和接收消息同步时间,其中第一锚点包括第一时钟以及第二锚点包括第二时钟;并且其中第一多个发送和接收消息同步时间与第一时钟相关联;获取与第一锚点和第二锚点之间的第一双程同步消息相关联的第二多个发送接收消息同步时间,其中第二多个发送和接收消息同步时间与第二时钟相关联;获取与第一锚点和第二锚点之间的第二双程同步消息相关联的第三多个发送和接收消息同步时间,其中第三多个发送和接收消息同步时间与第一时钟相关联;获取与第一锚点和第二锚点之间的第二双程同步消息相关联的第四多个发送和接收消息同步时间,其中第四多个发送和接收消息同步时间与第二时钟相关联;以及基于第一、第二、第三和第四多个发送和接收消息同步时间确定时钟偏斜和时钟偏移,其中时钟偏斜和时钟偏移对应于第一时钟和第二时钟之间的关系。

在第五实施例中,提供用于提供对象定位的非临时性计算机可读存储介质。该存储介质包括指令,该指令在被计算机实行时,使得计算机执行方法,该方法包括:获取与第一锚点和第二锚点之间的第一双程同步消息相关联的第一多个发送和接收消息同步时间,其中第一锚点包括第一时钟以及第二锚点包括第二时钟;并且其中第一多个发送和接收消息同步时间与第一时钟相关联;获取与第一锚点和第二锚点之间的第一双程同步消息相关联的第二多个发送接收消息的同步时间,其中第二多个发送和接收消息同步时间与第二时钟相关联;获取与第一锚点和第二锚点之间的第二双程同步消息相关联的第三多个发送和接收消息同步时间,其中第三多个发送和接收消息同步时间与第一时钟相关联;获取与第一锚点和第二锚点之间的第二双程同步消息相关联的第四多个发送和接收消息同步时间,其中第四多个发送和接收消息同步时间与第二时钟相关联;以及基于第一、第二、第三和第四多个发送和接收消息同步时间确定时钟偏斜和时钟偏移,其中时钟偏斜和时钟偏移对应于第一时钟和第二时钟之间的关系。

在一些实施例中,该处理器被进一步编程为或者该方法进一步包括:向第一锚点和第二锚点中的至少一个发送时钟偏差和时钟偏移。

在一些上述实施例中,第一多个发送和接收消息同步时间包括第一发送时间和第一接收时间,第一发送时间表示第一同步消息从第一锚点向第二锚点被发送时的时间戳,第一接收时间表示第一应答同步消息由第一锚点从第二锚点接收时的时间戳;第二多个发送和接收消息同步时间包括第二接收时间和第二发送时间,第二接收时间表示第一同步消息由第二锚点从第一锚点接收时的时间戳,第二发送时间表示第一应答同步消息从第一锚点向第二锚点被发送时的时间戳;第三多个发送和接收消息同步时间包括第三发送时间和第三接收时间,第三发送时间表示第二同步消息从第一锚点向第二锚点被发送时的时间戳,第三接收时间表示第二应答同步消息由第一锚点从第二锚点接收时的时间戳;第四多个发送和接收消息同步时间包括第四接收时间和第四发送时间,第四接收时间表示第二同步消息由第二锚点从第一锚点接收时的时间戳,第四发送时间表示第二应答同步消息从第一锚点向第二锚点被发送时的时间戳;第二双程同步消息包括第一同步消息和第一应答同步消息;以及第二双程同步消息包括第二同步消息和第二应答同步消息。

在一些上述实施例中,该处理器进一步被编程为或者该方法进一步包括:确定在第一锚点处所接收的标签消息的第一到达时间;确定在第二锚点处所接收的标签消息的第二到达时间;确定在第三锚点处的所接收的标签消息的第三到达时间,以及基于第一到达时间、第二到达时间、第三到达时间、时钟偏斜和时钟偏移确定与标签消息相关联的标签位置。

在一些上述实施例中,标签位置的确定包括基于时钟偏斜和时钟偏移来调节第一到达时间和第二到达时间中至少一个。

在一些上述实施例中,多个参与锚点包括第一锚点和第二锚点;多个时钟偏斜和时钟偏移对包括第一-第二时钟偏斜和第一-第二时钟偏移,第一-第二时钟偏斜和第一-第二时钟偏移与关联于第二锚点的第二时钟与关联于第一锚点的第一时钟的偏差相关联;多个到达时间包括与第一锚点处的标签消息的到达时间相关联的第一到达时间以及与第二锚点处的标签消息的到达时间相关联的第二到达时间;以及标签位置的确定包括基于第一-第二时钟偏斜和第一-第二时钟偏移来调整第一到达时间和第二到达时间中至少一个。

在一些上述实施例中,多个参与锚点中的每个参与锚点在多个锚点对的至少一个锚点对中被表示。

在一些上述实施例中,第一多个同步消息的至少一个子集使用扩频码序列被发送。

在一些上述实施例中,第一多个同步消息的至少一个子集使用循环传输序列被发送。

在一些上述实施例中,该处理器被进一步编程为或者该方法进一步包括:控制参与锚点中的每个参与锚点发送对应的第一多个同步消息的周期。

附图说明

在附图中示出了各种实施例,其中:

图1示出了标签定位网络,该标签定位网络包括用于提供空中锚点-锚点同步的系统100的实施例;

图2是示出了第一参考时钟(时钟1210)和第二时钟(时钟2220)之间的漂移的示例性时钟模型200;

图3描绘了示出方法300的实施例的流程图,方法300用于装置(例如,图1的跟踪服务器130)基于从三个或者更多锚点(例如,图1的锚点120中的两个或更多锚点)接收的toa以及相应锚点的参考时钟之间的偏移和偏斜的集合来确定标签(例如,图1的标签110)位置。

图4描绘了示出两个锚点间的同步消息的交换的时序图,并且在下文与方法500相关地被引用。

图5描绘了示出方法500的实施例的流程图,方法500用于第一锚点(例如,图4的锚点490-1)与第二锚点(例如,图4的锚点490-2)交换同步消息。

图6描绘了示例性帧结构,该帧结构具有每帧一次的周期性广播机会;

图7描绘了用于一维锚点网络的示例性循环传输。

图8描绘了示出方法800的实施例的流程图,方法800用于装置如图3中的步骤340所示的将关联于第一锚点的第一时钟与关联于第二锚点的第二时钟同步;以及

图9示意性地示出了诸如图1的锚点120或者跟踪服务器130中之一的装置900的实施例。

为了有助于理解,相同的附图标记已经被用于指定具有基本相同或相似结构或者基本相同或相似功能的元素。

具体实施方式

描述和附图仅说明了本发明的原理。应该认识到,本领域的技术人员将能够设计出尽管本文中未明确描述或显示、但体现了本发明的原理并且包含在其范围的各种布置。此外,本文列出的全部示例主要是明确的仅用于教学的目的,以帮助读者理解本发明的原理和发明人为推动本领域所贡献的概念,并且应解释为不限于这些具体列出的示例和条件。此外,本文所用的术语“或者”,指的是非排他性的或者,除非另有指示(例如,“否则”或者“或者在备选方案中”)。还有,本文描述的各种实施例不一定是相互排斥的,如一些实施例能够与一个或多个其他实施例结合以形成新的实施例。

各种实施例提供了用于提供改进的锚点-锚点始终同步的方法和装置。具体而言,参考第一时钟的第二时钟的偏斜和偏移,基于使用第一时钟的第一锚点与使用第二时钟的第二锚点之间的至少两次双程传输的经测量的发送和接收时间来确定。

有利的是,各种实施例提供了必须来源于计算机技术中的解决方案,以克服专门出现在使用需要同步到公共时间参考的锚点的网络领域中的问题。具体而言,降低在消息持续时间由时钟之间的漂移引入的误差允许改进锚点之间的同步,并且因此改进基于到达时间差(tdoa)定位中的定位准确度。例如,如果rf信号一纳秒传播大约一英尺,在微秒量级的估计时序偏移误差可以导致一千(1000)英尺量级的测距(ranging)误差。因此,为了具有几个英尺量级的定位准确度,测距范围应该在几纳秒量级,从而锚点同步不再是限制tdoa定位性能的因素。已知的技术可能无法提供这样的精度。例如,ptp的同步准确度可能在数百纳秒量级;在无线网络的rbs方案中,其中锚点间隔数百英尺,同步准确度可以在数十微秒量级;以及典型gps接收机的同步准确度可以在数十纳秒量级。注意,gps方案还受限于其不适于室内解决方案。

应该理解的是,其他缺点,诸如锚点与标签之间的非视距信道以及由于不适用的信号处理导致对到达时间(toa)的不良估计,也可以影响定位准确度。在一些实施例中,toa估计方差的下限由克拉美罗下限(crlb)给出。crlb是所接收信号的能量、噪声功率谱密度、以及信号频谱的二阶矩。

应当进一步理解的是,尽管本文所述是与对象定位有关,但改进的锚点-锚点时钟同步可以应用于任何锚点-锚点同步十分重要的任意适当应用,诸如,网络和分组监测、网络安全、认证协议和实时媒体流。

图1示出了包括系统100的实施例的标签定位网络,系统100用于提供无线锚点-锚点同步。该系统100包括标签消息中的合适的标签消息(统称为,标签消息110),例如标签消息110-1,在一段时间内通过诸如标签-锚点通信信道115-1(统称为,标签-锚点通信信道115)的合适的一个或多个标签通信信道被发送给三个或者更多锚点120-1—120-4(统称为,锚点120)。锚点120中的合适的锚点与跟踪服务器130通过诸如服务器通信信道135-1(统称为,锚点-服务器信道135)的锚点-服务器通信信道中的一个或多个合适的锚点-服务器通信信道进行通信。锚点120中的合适锚点与锚点120中的其他锚点通过诸如锚点-锚点通信信道125-1,2、125-1,4以及125-3,4(统称为,锚点-锚点通信信道125)的锚点-锚点通信信道中的一个或多个合适的锚点-锚点通信信道进行通信。为清楚起见,未示出全部标签-锚点通信信道115、锚点-锚点通信信道125和锚点服务器通信信道135。

标签消息110可以包括由标签在一段时间内传送的任何类型消息。标签(为清楚起见未示出)可以是有能力通过一个或多个标签通信信道115(即,上行链路传输)发送无线信号(例如,标签消息)的任何类型的(多个)通信设备。一个或多个标签消息可以由相同标签在一段时间内传送。应当理解,尽管此处示出了一个(1个)标签消息,但系统100可以包括多个标签消息。应当理解,尽管本文在rf传输的上下文进行描述,但标签消息可以是任何波形现象,例如超声波或者低频声呐。

锚点120可以包括有如下能力的任何类型的(多个)通信设备:通过标签-锚点通信信道115中的合适的标签-锚点通信信道接收标签消息110,在锚点120中的合适的锚点之间通过锚点-锚点通信信道125中的合适的锚点-锚点通信信道发送和接收同步消息,经由服务器-锚点通信信道135中的合适的服务器-锚点通信信道向跟踪服务器130发送同步消息的合适的经记录的发送和接收时间,确定标签消息的到达时间(toa),以及经由服务器-锚点通信信道135中的合适的服务器-锚点通信信道向跟踪服务器130发送toa信息和标识标签消息的信息。具体而言,参与锚点120包括对应的参考时钟,其中对应的参考时钟允许锚点在如本文所述的同步过程期间捕获与合适锚点对之间交换的同步消息的合适的发送和接收时间。标识标签消息的信息可以是使跟踪服务器130能够将toa信息与对应的标签消息相关联的任何适当的信息,其中的对应的标签消息诸如为:(i)诸如标签id的标识;(ii)诸如标签消息id的标签消息标识;(iii)时间戳;或者(iv)类似信息。

在一些实施例中,锚点设备嵌入在诸如瘦客户端、智能手机、个人或者笔记本计算机、服务器、网络设备、平板电脑、电视机顶盒、媒体播放器、汽车、物联网设备等等的通信设备中。通信设备可以依靠示例性系统中的其他资源来执行部分任务,例如处理或者存储,或者能够独立执行任务。应当理解,尽管本文示出了四个锚点,但系统100可以包括更少或者更多的锚点。应当理解,系统需要至少两个锚点用于一维定位,至少三个锚点用于二维定位以及至少四个锚点用于三维定位。此外,在任何时刻,锚点的数目可以是动态的,因为在操作期间的任何时间可以添加或者从系统中去除锚点。

标签-锚点通信信道115可以是有能力将由标签生成的标签消息110传播到一个或多个锚点120的任何适当的无线连接,例如射频、超声波、或者可见光信号。应当理解,尽管描绘为单个连接,但通信信道115可以是任何数目的通信信道或者通信信道的任何组合。

锚点-锚点通信信道125可以是有能力将由锚点120中的一个锚点生成的同步消息传播到一个或多个其他锚点120的任何适当的通信信道,诸如:无线通信(例如,lte、gsm、cdma、bluetooth、射频、超声波、或者可见光信号);wlan通信(例如,wifi);分组网络通信(例如,ip);宽带通信(例如,docsis和dsl);存储通信(例如,光纤信道,iscsi)等等。应当理解,尽管描绘为单个连接,通信信道125可以是任何数目的通信信道或者通信信道的任何组合。在一些实施例中,锚点-锚点通信信道被配置为最小化网络延迟。在一些这样的实施例中,锚点-锚点通信信道125是适当的无线通信信道。

服务器-锚点通信信道135支持通过一个或多个通信信道进行通信,诸如:无线通信(例如,lte、gsm、cdma、bluetooth);wlan通信(例如,wifi);分组网络通信(例如,ip);宽带通信(例如,docsis和dsl);存储通信(例如,光纤信道,iscsi)等等。应当理解,尽管描绘为单个连接,通信信道135可以是任何数目的通信信道或者通信信道的任何组合。

跟踪服务器130可以是有如下能力的任何装置:(1)通过一个或多个合适的服务器-锚点通信信道135进行通信;(2)确定与锚点120中的参与锚点相关联的参考时钟之间的时钟偏斜和时钟偏移;以及(3)基于从一个或多个锚点120接收的(多个)锚点消息以及已确定的时钟偏斜和时钟偏移来确定一个或多个锚点消息110的位置。具体而言,跟踪服务器130在同步过程期间,使用锚点对之间交换的同步消息的发送和接收时间来确定与参考时钟中的合适的参考时钟相关联的偏斜和偏移,其中的合适的参考时钟与相应的参与锚点相关联。此外,跟踪服务器130基于接收的(多个)锚点消息和已确定的时钟偏斜和偏移来确定标签位置。应当理解,尽管此处仅示出了一个跟踪服务器,系统100可以包括多个跟踪服务器。应当进一步理解,尽管描绘为通过服务器-锚点通信信道125与锚点120进行通信,但跟踪服务器130可以通过任何适当的通信网络与锚点120进行通信,或者可以驻留在与锚点120中的一个或多个锚点相同的设备中。

图2是示出了第一参考时钟(时钟1210)与第二参考时钟(时钟2220)之间的漂移的示例性时钟模型200。例如,如果时钟1210是参考时钟,则时钟2220的偏移能够由两个参数来表征:时钟偏移230(例如,θ)和时钟偏斜240(例如,f)。应当理解,如果两个时钟是精确同步的,则θ=f=0。应当理解,商业级振荡器额定值是10ppm量级,意味着偏斜处于10μs量级。有利的是,在固定的环境条件下,对于商业级振荡器,这种线性模型在数秒内有效。

图3描绘了示出方法300的实施例的流程图,方法300用于装置(例如,图1的跟踪服务器130)基于从三个或者更多的锚点(例如,图1的锚点120中的三个或更多锚点)接收的toa以及相应锚点的参考时钟之间的偏移和偏斜的集合来确定标签(例如,图1的标签110)位置。该方法开始于步骤305并且包括:确定参与锚点处的标签消息的toa(步骤320);确定第二时钟的关于第一时钟的时钟偏移和时钟偏斜(步骤340);确定对应于标签消息的标签位置(步骤360);以及在步骤395处结束。

在方法300中,步骤320包括确定参与锚点处的标签消息的toa。具体而言,标签发送由一个或多个参与锚点(例如,合适的一些图1中的锚点120)接收的标签消息(例如,图1的标签消息110-1)。参与锚点中的每个参与锚点估计了标签消息的toa并且将toa和可选的伴随(attendant)信息发送到跟踪服务器(例如,图1的跟踪服务器130)。跟踪服务器通过获取从锚点接收的消息中合适的信息来确定toa,或者在跟踪服务器与锚点共址的情况下,跟踪服务器可以使用已确定的toa来确定toa。可选的伴随信息可以是任何适当的信息,诸如与如本文所述的标签消息相关联的信息,或者与锚点相关联的信息,例如,(i)诸如锚点id或者ip地址的锚点标识符;(ii)实际位置信息(例如,gps坐标);或者(iii)类似信息。与标签消息相关联的信息使跟踪服务器能够将toa信息与特定标签消息相关联,以及与锚点相关联的信息使跟踪服务器能够将toa与特定锚点或者锚点位置相关联。

在方法300中,步骤340包括确定一个或多个时钟偏移和时钟偏斜对,其中的时钟偏移和时钟偏斜对定义了与一个或者多个参与锚点相关联的时钟和与如本文所述的另一参与锚点相关联的另一时钟之间的差异。

在方法300中,步骤360包括确定对应于标签消息的标签位置。该标签位置基于总体的已确定的时钟偏移和偏斜以及从参与锚点的至少一个子集处接收的toa被确定。具体而言,该已确定的时钟偏移和偏斜被用于修改从一个或多个锚点处接收的toa值,以便于将toa值与公共的时间参考同步。例如,参考图2,使用参考时钟2在时刻(t)250于锚点处测量的toa通过clockδ(t)(时钟δ(t))值基于时钟偏移230和时钟偏斜240的存储的值调整。应当理解,利用已确定的时钟偏移和时钟偏斜的适当的集合,来自于参与锚点的toa值可以被调整为适于改进所接收toa值与公共参考时钟的同步。应当进一步理解,为了将时钟调整到公共时间参考,不需要为每个锚对都确定时钟偏斜和时钟偏移。例如,参考图1,在与锚点120-3相关联的时钟和与锚点120-3相关联的时钟之间的时钟偏斜和时钟偏移,可以通过使用锚点120-3和a120-1之间的时钟偏斜和时钟偏移以及锚点120-1和锚点120-2之间的时钟偏斜和时钟偏移来进行估计。

在步骤360的一些实施例中,确定标签位置基于了基于到达时间差(tdoa)的定位。该tdoa计算基于三边测量定位(使用圆形,球形或者三角形的几何形状,通过距离的测量来确定绝对或者相对位置的过程)的扩展。在一些这样的实施例中,基于针对参与锚点中每个参与锚点的正确toa估计以及将各个时间估计转换到空间位置的nlos偏差概率模型(例如,我们通过引用并入的、在2015年5月7日提交的us14/706339中所描述的)来估计标签的位置。

图4描绘了示出两个锚点之间同步消息的交换的时序图,并且在下文与方法500相关的被引用。

图5描绘了示出方法500的实施例的流程图,方法500用于第一锚点(例如,图4的锚点490-1)与第二锚点(例如,图4的锚点490-2)交换同步消息。锚点590-1包括第一时钟(例如,图4的时钟1)以及锚点590-2包括第二时钟(例如,图4的时钟2)。对于两个锚点时钟的情况,解决同步问题等效于确定相对于参考时钟1的、时钟2的时钟偏移和偏斜。这通过执行从第一锚点到第二锚点和从第二锚点到第一锚点的一系列n次双程传输来实现。注意,如果只是单向传输(例如,从第一锚点到第二锚点),将不可能单独解出时钟偏移θ(例如,图2中的时钟偏移230)和飞行时间τ。这是需要双程传输的原因。

该方法开始于步骤505,并且包括:由锚点590-1发送同步消息1(1)以及记录关于第一时钟的传输时间(例如,图4的发送410-1(1))(步骤510);由锚点590-2接收同步消息1(1)以及记录关于第二时钟的接收时间(例如,图4的接收420-2(1))(步骤520);由锚点590-2发送同步消息2(1)以及记录关于第二时钟的传输时间(例如,图4的发送430-2(1))(步骤530);由590-1接收同步消息2(1)以及记录关于第一时钟的接收时间(例如,图4的接收440-1,2(1))(步骤540);由锚点590-1发送同步消息1(n)以及记录关于第一时钟的传输时间(例如,图4的发送450-1(n))(步骤550);由锚点590-2接收同步消息1(n)以及记录关于第二时钟的接收时间(例如,图4的接收460-2,1(n))(步骤560);由锚点590-2发送同步消息2(n)以及记录关于第二时钟的传输时间(例如,图4的发送470-2(n))(步骤570);由锚点590-1接收同步消息2(n)以及记录相对于第一时钟的接收时间(例如,图4的接收480-1,2(1))(步骤580);以及在步骤595处结束。

在一些方法500的实施例中,第n次双程传输是紧接着第一次双程传输的双程传输(即,同步消息1(2)和2(2))。

在方法500的一些实施例中,发送时间和接收时间的测量在物理层被执行。有利的是,相比于将分组包含在广播信号的有效载荷中,在物理层的测量时间了由于消息有效载荷的组装而导致的随机性。

在方法500的一些实施例中,发送时间和接收时间测量通过从相应的锚点(例如,图1的锚点120之一)将时间发送到跟踪服务器(例如,图1的跟踪服务器130)而被记录。

在一些实施例中,两个或更多的锚点对执行方法500的步骤。

在具有两个或更多锚点对的第一实施例中,同步消息以时间-双工方式被输送。

在具有两个或更多的锚点对的第二实施例中,同步消息使用扩展码序列被输送。应当理解,如果锚点数目很大,则全部锚点以时间-双工方式进行发送的时间可能相当很长,使得线性时钟模型不再可用。此外,如果同步消息(例如,参考信号)未被很好的设计,来自于不同锚点的在同一时间到达一个锚点的接收机的多个信号可能不会被可靠地检测到。有利的是,使用不同的码扩展序列(例如在cdma中)的来区分来自于不同锚点的传输,可以减少锚点之间传输的时间,并且在信号叠加情况下提供了鲁棒性。在一些这样的实施例中,熟知的具有低互相关特性的码序列(例如,gold序列)被使用,以允许多个锚点同时进行发送,以及使其序列被单个接收机所检测,即使所接收信号具有不同的码片延迟。

在一些具有两个或更多的锚点对的实施例中,用于同步消息的带宽与通信消息共享。在一些这样的实施例中,帧结构包括每帧一次的同步消息广播机会。图6描述了具有每帧一次周期性广播机会的示例性帧结构。如图6所示,同步消息的“广播机会”发生在每一帧的开始处。在一些实施例中,中心实体(例如,图1的跟踪服务器130)控制参与锚点中每个锚点在每一次广播机会期间发送、侦听(即,测量范围内全部参考信号的toa)或者空闲(即,既不发送也不接收)的时间段。在一些实施例中,此调度通过控制信道传送给参与锚点中的每个参与锚点,并且可以如所需地被动态调整,以解决诸如锚点加入或者离开参与锚点的群体或者时钟准确度随时间改变的挑战。在一些实施例中,该调度基于与参与锚点相关联的一个或多个时钟,并且同步消息的频率大于或者等于用于一个或多个关联时钟的线性模型有效的值。在一些这样的实施例中,该频率允许在一(1)秒内以及更优的在十分之五(0.5)秒内至少两次双程传输。

在具有两个或更多的锚点对的第三实施例中,同步消息经由循环传输来输送。具体而言,锚点基于预定的调度协议发送作为其同步消息(例如,参考信号)的扩展码序列,其中,对于给定的广播机会,一个锚点进行发送同时在其附近的其他参与锚点进行侦听。图7描绘了用于锚点的一维网络的示例性循环传输。字母表示针对给定锚点发送的码序列(a、b或者c)以及在帧期间的广播机会。锚点4从广播机会(帧)1开始每隔三帧发送码b。一组三个相邻的锚点以循环方式发送给定的码序列(a、b或c)。每个锚点了解在其附近的码传输的调度,因此它能够为通过特定广播机会传输的任何给定的码关联锚点id。例如,锚点4了解,如果其在广播机会2期间收听到了码b,则其计算的toa应当与锚点5关联。

在一些实施例中,如由线性时钟模型有效的时间确定的那样,设置循环周期因子(在此示例中是3个帧)以确保每个锚点每秒收听到给定邻居确定的次数。码复用因子(在此示例中是3个码)能够由每个传输的范围或者可听性来确定。范围或者可听性可以以任何适当的方式确定,诸如:(i)通过地理距离;(ii)通过信号的幅值;(iii)通过所提供的(例如,通过图1的跟踪服务器130);或者(iv)类似的方式。在这个示例中,每个锚点能够收听在其任何方向上最近的4个锚点。如果它能够收听第五锚点或者之外的,则在锚点id中可能存在模糊。例如,如果锚点5能够收听到第五个最近的锚点,它将不能在广播机会1、4等的期间区分锚1和10。在这种情况下,码复用因子应当被降低(即,应当使用更多的码)。应当理解,对于此处所描述的用于一维网络的循环周期和码复用的设计原则能够被扩展到二维网络。

在一些具有两个或更多的锚点对的实施例中,通过每个参与锚点自主决定在给定广播机会期间侦听、发送或者空闲来实现调度。在一些这样的实施例中,决定由随机加权掷币(cointoss)的结果来做出。应当理解,锚点对之间的传输不需要以有序的方式进行。例如,从锚点1到2的传输不需要从2到1的传输来跟随。相反,测量只需要在线性时钟模型有效的时间窗口内发生。取决于晶振的质量,用于时钟漂移的线性模型的有效性通常可以持续数百毫秒到数秒。应当理解,时钟的漂移也会漂移,并且用于时钟漂移的线性模型可能无法无限时的有效。

在一些实施例中,参与锚点(例如,图1的锚点120)使用能够在相同频段上同时发送和侦听的全双工无线电。对于图4中的示例,当锚点4发送时,它能收听到锚点1和7,并且分别针对码a和码c如本文所述地估计同步消息的到达时间。

在一些实施例中,参与锚点(例如,图1的锚点120)使用专门的侦听设备。在一些这样的实施例中,一个或多个参与lteenodeb实施了专门用以估计下行链路定位参考信号(prs)toa的共址设备。应当理解,下行链路定位参考信号可以被用作同步消息。在一些实施例中,共址设备具有其自身的天线并且位于enb塔的基底处,远离辐射的天线。在一些实施例中,共址设备估计“父”enb的发送时间,以及测量所有其他enb的接收时间。在一些实施例中,共址设备具有与服务器(例如,图1的跟踪服务器)的专门的通信链路以用于实施同步算法。有利的是,对于现有的lteenb不需要进行改变来支持同步算法。

在一些具有两个或更多的锚点对的实施例中,当新的锚点被引入到系统时,该新的锚点被分配了在其可收听范围内没有被任何其他邻居使用的扩展码。例如,可收听范围可以包括新节点能够对所接收的同步消息进行解码的全部相邻的锚点。应当理解,诸如信号强度和干扰的参数可以影响可以收听到的相邻锚点,并且因此可收听范围不是必然由地理距离所定义。在一些这样的实施例中,该新的锚点通过侦听多个帧以及记录可收听的序列以及选择未使用的扩展码来确定要使用的扩展码。在一些这样的实施例中,该新的锚点将记录的序列发送到跟踪服务器,并且跟踪服务器将未使用的码序列分配给该锚点。该跟踪服务器或者新的锚点随后向新锚点可收听范围内的锚点通知这个分配的码。在一些其他实施例中,该新的锚点自动选择要使用的扩展码序列并且随后通知服务器,从而使附近的锚点知道要对其侦听。应当理解,并非必须通知锚点要侦听哪些码序列,因为锚点能够尝试解调全部已知的码序列。然而,尝试解调全部已知的码序列可能在计算上难以接受,并且因此为每个参与锚点提供已知的序列列表有利地是更高效的。

图8描绘了示出方法800的实施例的流程图,方法800用于装置(例如,图1的跟踪服务器130)如图3的步骤340所示,将与第一锚点(例如,图4的锚点490-1)相关联的第一时钟(例如,图4的时钟1)和与第二锚点(例如,图4的锚点490-2)相关联的第二时钟(例如,图4的时钟2)同步。方法开始于步骤805,并且包括:确定发送和接收同步时间(步骤810);基于确定的发送和接收同步时间确定时钟偏移、时钟偏斜和可选的飞行时间参数(步骤820);可选地将确定的时钟偏移和时钟偏斜发送到一个或多个锚点(例如,图1的锚点120中的一个或多个锚点)(步骤830);以及可选地确定是否有另一个锚对(步骤840),并且如果有,进行步骤810,否则在步骤895处结束。

在方法800中,步骤810包括针对锚点对(例如,图4的锚点490-1和锚点490-2)之间发送的同步消息,确定记录的发送和接收同步时间。具体而言,参考图4,该确定的记录的发送和接收时间包括:发送410-1(1)(即,t1(1));接收图4的420-2,1(1)(即,r2,1(1)),发送430-2(1)(即,t2(1));接收440-1,2(1)(即,r1,2(1));发送450-1(n)(即,t1(n));接收460-2,1(n)(即,r2,1(n));发送470-2(1)(即,t2(n));以及接收480-1,2(1)(即,r1,2(n));(统称为,发送和接收消息同步时间)。发送和接收消息同步时间可以使用任何适当机制来确定。例如,确定机制包括:i)从一个或多个锚点(例如,锚点490-1或者490-2)接收一个或多个发送或者接收时间;ii)获取来自于外部存储/数据库的一个或多个发送或者接收时间;iii)获取来自于内部存储/数据库(例如,来自于图1的跟踪服务器130内部的存储)的一个或多个发送或者接收时间;iv)(例如,如果图1的跟踪服务器130与图1的锚点120中的一个锚点共驻时)在方法500的步骤中的一个步骤的期间确定一个或多个发送或者接收时间;或者v)类似机制。

在方法800中,步骤820包括基于已确定的发送和接收同步时间确定时钟偏移、时钟偏斜和可选的飞行时间参数。具体而言,参考图2,一个时钟(例如,时钟2220)相对于另一个时钟(例如,时钟1210)的时钟偏斜(例如,时钟偏斜240)和时钟偏移(例如,时钟偏移230)被确定。应当理解,通过确定两个时钟之间的时钟偏斜和时钟偏移,两个时钟之间的同步可以被改进。应当进一步理解,第一和第二时钟与相应的锚点相关联(例如,在图4中,时钟1与锚点490-1相关联以及时钟2与锚点490-2相关联)。有利的是,当使用诸如到达时间(toa)同步技术时,改进的时钟同步改进了定位准确度。

应当理解,因为有三个未知数(θ(即,时钟偏移))、(f(即,时钟偏斜))、(τ(即,飞行时间)),如果存在至少两(2)次双程传输以提供至少四(4)个方程,该未知数可以被确定。应当理解,飞行时间可能随时间而改变,时钟偏斜和偏移也可能不像建模那样是线性的,从而因此更频繁的发送同步消息将提供改进的准确度。

在步骤820的一些实施例中,两次双程传输被用以估计(θ,f,τ)。在一些这样的实施例中,(θ,f,τ)基于方程(1)-(4)被确定。

(方程1)t1(1)=θ+(1+f)r2,1(1)-τ

(方程2)r1,2(1)=θ+(1+f)t2(1)+τ

(方程3)t1(n)=θ+(1+f)r2,1(n)-τ

(方程4)r1,2(n)=θ+(1+f)t2(n)+τ

其中:

●其中τ是未知的飞行时间,假设全部的2n次传输中其都是固定的。

●θ=时钟1和时钟2之间的时钟偏移(例如,图2的时钟偏移230);

●f=时钟1和时钟2之间的时钟偏斜(例如,图2的时钟偏斜240);

●t1(1),r2,1(1),t2(1),r1,2(1)=如上所述的第一次双程传输的发送和接收时间;以及

●t1(n),r2,1(n),t2(n),r1,2(n)=如上所述的第n次双程传输的发送和接收时间。

在步骤820的一些实施例中,多于两次的双程传输被使用。在一些这样的实施例中,发送和接收时间的误差被假设为符合高斯分布,并且使用最小二乘技术来估计(θ,f,τ)。

该方法800可选地包括步骤830。步骤830包括将已确定的时钟偏移和时钟偏斜发送到一个或多个锚点。在一些这样的实施例中,一个或多个锚点(例如,图1的锚点120)执行方法300的步骤360。在一些这样的实施例中,已确定的时间偏斜和时间偏移反映了可以被用于将两个或更多的本地锚点时钟同步到公共时钟模型的偏移和偏斜。在一些这样的实施例中,一个或多个锚点基于接收的时钟偏移和时钟偏斜,将它们的本地时钟同步到公共时钟模型(即,闭环同步)。在一些这样的实施例中,闭环同步通过锁相环来实施。有利的是,闭环同步实现了需要精确同步的无线技术(例如,mimo多点协作处理)。

方法800可选地包括步骤840。步骤840包括确定是否存在另一锚点对。具体而言,在多于两个锚点的系统中(例如,图1的锚点120),对于在系统中同步参与锚点所需的每个适当锚点对,重复进行步骤810-830。具体而言,确定需要锚点树,其包括在每一个参与锚点之间的至少一条路径。在一些实施例中,该确定是基于锚点的生成树的。锚点的生成树被定义为在每个锚点之间包括一条路径的任何适当树。例如,参考图1,锚点-锚点通信信道125展示了锚点120之间的生成树,其中参与锚点120中的每个参与锚点在至少一个锚点-锚点对同步过程中交换双程同步消息。例如,同步消息以如下方式被交换:(1)在锚点120-1和锚点120-4通过锚点-锚点通信信道125-1,4;(2)在锚点120-1和锚点120-2通过锚点-锚点通信信道125-1,2;(3)在锚点120-3和锚点120-4通过锚点-锚点通信信道125-3,4。在此示例中,对于与三个相应同步消息交换对中每一个相关联的发送和接收消息同步时间,将重复步骤810-830。

与可用的n(n-1)/2个实际锚点对相比,有利的是,生成树可以需要为少至n-1个锚点对确定偏斜。生成树还可以有利于远程节点并且允许同步并非在可收听范围内的参与锚点。应当理解,一些锚点120可能并未参与到同步消息序列中,以及这种锚点并非是本文所述的增强同步方法中的参与锚点。

在步骤820的一些实施例中,两个锚点间的飞行时间并非固定。例如,如果两个锚点之间的物理距离很远或者如果锚点之间的信道并非视距的或特征为多径,则在每个方向或者在多个广播机会上的飞行时间可以不同。在一些这样的实施例中,确定时钟偏移、时钟偏斜和可选的飞行时间参数是基于在方程(5)-(6)中例示的概率模型的:

(方程5)p(t1(n)|θ,f,τ,r2,1(n))

(方程6)p(r1,2(n)|θ,f,τ,t2(n))

●其中τ是未知的飞行时间;

●θ=时钟1和时钟2之间的时钟偏移(例如,图2的时钟偏移230);

●f=时钟1和时钟2之间的时钟偏斜(例如,图2的时钟偏斜240);

●t1(n),r2,1(n),t2(n),r1,2(n)=如上所述的第n次双程传输的发送和接收时间;以及

●p()=概率密度函数。

发明者已经发现,使用方法500和800改进锚点间的同步准确度已经实现了lte信道模型的定位准确度的显著改进。具体而言,假设因记录发送和接收时间而产生的随机性只由所发送信号的带宽和snr来表征,并且没有由发射机/接收机附加的额外随机延迟,则同步的质量经由crlb由带宽和snr和由时钟的稳定性来确定。作为一个验证的概念,商业软件定义的无线电设备被用于在短距离和4次连续传输中接收500khz的信号以估计未知参数。每次传输相隔170ms,并且时钟具有大约10ppm的标称稳定性。使用方法300、500和800的过程,可以在飞行时间的估计中实现了亚纳秒级根均方误差。

尽管,主要以特定顺序进行描绘和阐述,但是应当理解,方法300、500和800中显示的步骤可以以任何适当的顺序被执行。此外,由一个步骤标识的步骤还可以按顺序以一个或多个其他步骤来执行,或者多于一个步骤的常见行为可以只被执行一次。

应当理解,各种上文所述方法的步骤能够由经编程的计算机来执行。此处,一些实施例也旨在覆盖程序存储设备,例如,数据存储介质,其是机器或者计算机可读的,并且对机器可执行或者计算机可执行指令程序进行编码,其中所述的指令执行所述上文所述方法的一些或者全部步骤。程序存储设备可以是,例如,数字存储器,磁存储介质(例如,磁盘和磁带),硬盘驱动,或者光可读数据存储介质。该实施例还旨在覆盖被编程以执行所述上文所述方法的步骤的计算机。

图9示意性地示出了装置900的实施例,例如图1中的一个锚点120或者跟踪服务器130。该装置900包括处理器910,数据存储911,和i/o接口930。

该处理器910控制该装置900的运行。该处理器910与存储911协作。

数据存储911存储了由处理器910可执行的程序920中的合适的程序。数据存储911还可以可选地存储程序数据,例如nlos偏置分布,toa值或者其他合适的。

该处理器可执行的程序920可以包括i/o接口程序921,位置确定程序923,锚点1程序925,锚点2程序927或者时钟偏斜/偏移确定程序929。处理器910与处理器可执行程序920协作。

该i/o接口930与处理器910和i/o接口程序921协作以支持如上所述视情况地在图1的通信信道115、125、135上进行通信。

该位置确定程序923如上所述视情况地执行图3的步骤。

该锚点1程序925如上所述视情况地执行图5的步骤510,540,550和580。

该锚点2程序927如上所述视情况地执行图5的步骤520、530、560和570。.

该时钟偏斜/偏移确定程序929如上所述的执行图8的步骤。

在一些实施例中,处理器910可以包括诸如处理器/cpu核的资源,i/o接口930可以包括任何适当的网络接口,或者数据存储911可以包括存储器或者存储设备。此外,装置900可以是任何适当的物理硬件配置,例如:一个或多个服务器,包括诸如处理器、存储器、网络接口或者存储设备的刀片服务器。在一些这样的实施例中,装置900可以包括彼此远离的云网络资源。

在一些实施例中,装置900可以是虚拟机。在一些这样的实施例中,虚拟机可以包括来自于不同机器或者在地理上分散的组件。例如,数据存储911和处理器910可以是在两个不同的物理机器中。

当在处理器910上实施处理器可执行程序920时,程序代码段与处理器组合以提供类似于特定逻辑电路进行操作的独特设备。

尽管本文就如下实施例进行了描绘和阐述,在该实施例中,例如,程序和逻辑被存储在数据存储内以及存储器被可通信地连接到处理器,但应当理解,这种信息可以以任何其他适当的方式来存储(例如,使用任何合适数目的存储器、存储设备或者数据库);使用通信地连接到设备的任何适当布置的存储器、存储设备或数据库的任何适当布置;将信息存储到(多个)存储器、(多个)存储设备或者内部或者外部的(多个)数据库的任何适当的组合中;或者使用任何适当数目的可访问外部存储器、存储设备或者数据库。如此,本文中所引用的术语数据存储意味着包括(多个)存储器、(多个)存储和(多个)数据库的所有适当组合。

说明书和附图仅示出了本发明的原理。因此应当理解,本领域的技术人员能够设计尽管本文没有明确的描述或者显示、但体现了本发明的原理并且被包括在其精神和范围内的各种布置。此外,本文列举的全部示例明确地主要旨在用于教学目的,以帮助读者理解本发明的原理和发明人为推动本领域而贡献的概念,并且将被解释为不限于这些具体列出的示例和情况。此外,本文中阐述本发明的原理、方面和实施例以及其具体示例的全部陈述旨在覆盖其等效形式。

附图中显示的各种元件的功能,包括标注为“处理器”的任何功能块,可以通过使用专用的硬件以及能够与合适软件相关联地执行软件的硬件来提供。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器或者多个个体处理器(其中一些可以是共享的)来提供。另外,术语“处理器”或者“控制器”的明确使用不应当被解释成专门指能够执行软件的硬件,并且可以隐含包括但不限于,数字信号处理器(dsp)硬件、网络处理器、专用集成电路(asic)、现场可编程门阵列(fpga),用于存储软件的只读存储器(rom)、随机存取存储器(ram),以及非易失性存储。其他硬件,传统或者定制,也可以包括在内。类似的,图中所示的任何开关仅是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或者甚至手动地执行,如从上下文更具体地理解,特定技术可以由实施者选择。

应当理解,本文的任何框图表示体现了实现本发明原理的图示性电路的概念视图。相似的,应当理解,任何流程图、流程框图、状态转移图、伪代码等表示可以实质上在计算机可读介质中表示并由计算机或者处理器执行的各种过程,无论这样的计算机或者处理器是否被明确示出。

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