超宽带定位中的TOA/TDOA两种最常用算法介绍

关注、星标公众号,直达精彩内容
来源参考:华星智控
整理:李肖遥

UWB最近一年都很火,自从苹果手机使用了UWB技术之后,可以说引领一波芯片热潮,而我参与到定位通信的项目中也有几年了,深深感受到做技术的我们不仅仅是对技术本身的知识点要熟知,对市场更是需要一些了解,这可以指明我们的方向。

今天分享一篇基础的关于TOA、TDOA的知识,UWB定位简介。

UWB定位

UWB定位,超宽频定位,本质上和GPS卫星定位的原理是一样的,它不过是将卫星放在了地面上,也就是自己搭建作为卫星的基站,然后去根据和GPS定位相同的算法计算出每个Anchor(基站)到Tag(移动站也称标签)的距离,从而解算出移动站的空间坐标。

对于三维空间定位而言一般至少需要四个基站,基站的数量增加不但可以构建超定方程组使用一些算法提高精度,同时也可以作为通信质量不佳下的冗余设计,所以在可以接受的条件下,基站的数量一般越多越好。

TOA

TOA即“到达时间”,这种方式定位是通过Anchor和Tag之间的多次通信实现的,如下图:

  1. Anchor首先发给Tag一个包,同时记录下Anchor当前的时间信息,记为T1。

  2. Tag收到基站的信息,返回一个ACK。

  3. Anchor收到Tag的ACK,记录当前的时间信息,记为T2。

  4. Anchor计算时间差Tr = T2 - T1,并且根据此计算出距离。

d = c * Tr / 2 其中c为光速。

当然,实际应用中为了更加靠谱,往往不仅仅是利用两次通信来测距,还会有更加复杂的多次通信来提高精度。

对于空间定位,只需要利用SX(球面相交法)便可以得出最后的坐标。

可见,为了一次定位,每个Anchor和Tag之间要进行两次通信,故又将这种定位方式称为“Two-way-ranging”。

这种定位的优势在于其实现的便捷性和对硬件的宽容,只需要有几个摆放在不同位置的Anchor和一个Tag便可进行定位,而缺点嘛...首先自然是定位速度了,其次,由于每次通信的质量无法保证,而一对Anchor/Tag又无法做自我的校准,精度自然也会受到影响。

TDOA

TODA即“到达时间差”,这种方式的一次测距是由两个Anchor和一个Tag实现的。在这种模式下,多个时钟完全同步的Anchor同时接受来自一个Tag的包,对于不同位置的Anchor,同一个Tag的同一次广播包到达的时间是不同的,所以便有有以下算法:

  1. Tag发出一个广播包。

  2. 两个Anchor接收到同一个包,Anchor1接收到的时间为T1,Anchor2接收到的时间为T1。

  3. 计算时间差Td = T2 - T1

  4. 对于至少四个Anchor,可以得到三组这样的两两之间的信息。

  5. 通过数学方法(multi-lateration)可以解算出Tag的空间坐标。

由于算法比较复杂,这里不再赘述。

小结

由此可见,TDOA的优势首先在于一次定位的通信次数显著减少,其次由于是用时间差而非绝对时间进行测距,其精度也比TOA高出一些。

但优势总是以一些代价换来的,TDOA系统中各个Anchor的时钟必须严格同步,由于这种定位本质上是依赖于光速的,所以1ns的固有时钟误差便可以造成30cm的固有距离误差,这一点显然是不可接受的。

而要打造一个间距比较大的精确同步系统成本又是比较高昂的,下面一个视频是基于TOA算法的一个定位系统效果演示视频。


*声明:本文参考华星智控整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读:

嵌入式编程专辑
Linux 学习专辑
C/C++编程专辑
Qt进阶学习专辑

关注我的微信公众号,回复“加群”按规则加入技术交流群。

点击“阅读原文”查看更多分享。