UWB最近一年都很火,自从苹果手机使用了UWB技术之后,可以说引领一波芯片热潮,而我参与到定位通信的项目中也有几年了,深深感受到做技术的我们不仅仅是对技术本身的知识点要熟知,对市场更是需要一些了解,这可以指明我们的方向。
今天分享一篇基础的关于TOA、TDOA的知识,UWB定位简介。
UWB定位,超宽频定位,本质上和GPS卫星定位的原理是一样的,它不过是将卫星放在了地面上,也就是自己搭建作为卫星的基站,然后去根据和GPS定位相同的算法计算出每个Anchor(基站)到Tag(移动站也称标签)的距离,从而解算出移动站的空间坐标。
对于三维空间定位而言一般至少需要四个基站,基站的数量增加不但可以构建超定方程组使用一些算法提高精度,同时也可以作为通信质量不佳下的冗余设计,所以在可以接受的条件下,基站的数量一般越多越好。
TOA即“到达时间”,这种方式定位是通过Anchor和Tag之间的多次通信实现的,如下图:
Anchor首先发给Tag一个包,同时记录下Anchor当前的时间信息,记为T1。
Tag收到基站的信息,返回一个ACK。
Anchor收到Tag的ACK,记录当前的时间信息,记为T2。
Anchor计算时间差Tr = T2 - T1
,并且根据此计算出距离。
d = c * Tr / 2
其中c为光速。
当然,实际应用中为了更加靠谱,往往不仅仅是利用两次通信来测距,还会有更加复杂的多次通信来提高精度。
对于空间定位,只需要利用SX(球面相交法)便可以得出最后的坐标。
可见,为了一次定位,每个Anchor和Tag之间要进行两次通信,故又将这种定位方式称为“Two-way-ranging
”。
这种定位的优势在于其实现的便捷性和对硬件的宽容,只需要有几个摆放在不同位置的Anchor和一个Tag便可进行定位,而缺点嘛...首先自然是定位速度了,其次,由于每次通信的质量无法保证,而一对Anchor/Tag
又无法做自我的校准,精度自然也会受到影响。
TODA即“到达时间差”,这种方式的一次测距是由两个Anchor和一个Tag实现的。在这种模式下,多个时钟完全同步的Anchor同时接受来自一个Tag的包,对于不同位置的Anchor,同一个Tag的同一次广播包到达的时间是不同的,所以便有有以下算法:
Tag发出一个广播包。
两个Anchor接收到同一个包,Anchor1接收到的时间为T1,Anchor2接收到的时间为T1。
计算时间差Td = T2 - T1
。
对于至少四个Anchor,可以得到三组这样的两两之间的信息。
通过数学方法(multi-lateration)可以解算出Tag的空间坐标。
由于算法比较复杂,这里不再赘述。
由此可见,TDOA的优势首先在于一次定位的通信次数显著减少,其次由于是用时间差而非绝对时间进行测距,其精度也比TOA高出一些。
但优势总是以一些代价换来的,TDOA系统中各个Anchor的时钟必须严格同步,由于这种定位本质上是依赖于光速的,所以1ns的固有时钟误差便可以造成30cm的固有距离误差,这一点显然是不可接受的。
而要打造一个间距比较大的精确同步系统成本又是比较高昂的,下面一个视频是基于TOA算法的一个定位系统效果演示视频。
*声明:本文参考华星智控整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
嵌入式编程专辑 Linux 学习专辑 C/C++编程专辑 Qt进阶学习专辑