TDOA 和 TWR相比,标签可以用最少的信息来定位,但是对于基站要求很高,需要“时间同步”。
这也是TDOA算法的核心部分,很多套件对此讳莫如深,希望能沟通过本文使读者能对TODA同步有一定初步了解。
TDOA实现目的相同,但是实现方法每家各不相同,这里介绍一种简单的时间同步原理。
定位系统中有标签Tag,基站ANA 和ANB,为了时间同步,引入同步节点RN,所有时间都会同步到同步节点上
下图为例说明同步方法,纵轴是时间。为了简化,认为RN与ANA 和ANB距离相等。
时间同步主要流程:
同步节点RN周期性以广播的方法发送同步信号,上图中是R1 R2,使用delayed tx发送,发送信息标记了发送时间
基站接收同步信号并记录接收时间
标签周期性发送定位信号,基站接收定位信号,记录接收时间。
分析如上各个时间戳:
同步节点发送两次同步信号,在基站ANA接收到以后,获得两个发送时间差 R2-R1,以及两个对应的接收时间差A2-A1. 这两个都是时钟数量,对应的绝对时间相同,而时钟数量不同,这个不同是因为每个模块时钟差异造成的。
基站ANA会收到标签发送来的定位信号,时间再AT,相对于A1的时间差是AT-A1
基站收到的定位数据时间戳是在基站ANA上,那么可以映射到同步节点间RN上,利用比例关系
t/(AT-A1) = ( R2-R1)/(A2-A1)
--》 tANA = (AT-A1)*( R2-R1)/(A2-A1)
tANA 就是把AT映射到RN后的时间
同理,可以将BT映射过去 (BT-B1)*( R2-R1)/(B2-B1)
得到的两个映射时间都是基于RN节点,相对于R1 的delay时间,两者可以进行比较了。假如标签离基站ANA较远,可以计算时间差
tdelay = (AT-A1)*( R2-R1)/(A2-A1) - (BT-B1)*( R2-R1)/(B2-B1)
distance = tdelay*C
其中(AT-A1)*( R2-R1)/(A2-A1) - (BT-B1)*( R2-R1)/(B2-B1) 这些量都是可以通过发送的两个信号的到的具体值
所以distance 是一个可以计算的数字。
结合ANA 和 ANB 坐标和 distance,可以建立一个双曲线方法,标签落在这个双曲线上。
再加入一个ANC,用类似方法,
ANA和 ANC或者ANB 和 ANC 再构建一个双曲线
联立两个双曲线,解得坐标就是标签的坐标,定位完成。
更多内容参考蓝点无限论坛bphero.com.cn