浅谈UWB室内定位(一)

     最近一直在研究UWB室内定位,咱们组买了DECA的两块板子,就两块板子就花去了1000多大洋,并且给的代码仍是入门级的可想而知UWB室内定位在我国尚且处于发展的萌芽状态,最近在读官方给的文档时发现之中尚且有许多资料须要本身去买,价格不菲。就UWB定位的前景而言,国内虽然还没有普及,可是因为科学的发展不断的进步,室内定位应该在不久的十年以内获得发展,与wifi和蓝牙的定位技术相比,uwb的定位精度算得上是高的了,听说能够达到分米级,不过就现有的芯片DW1000而言,我以为他的功耗和定位的稳定度都还不太好,测量的时候必需要远离桌子等等15公分以上才回比较准确,这些之后可能会的到改善。由于要看的东西太多,并且都是英文的,我想经过博客把这些知识记下来,方便之后查看。废话很少说,进入正题。html

   今天看的文档主要的讲的定位算法有两种:TWR(Two-Way Ranging)和TDOA(Time Difference of Arrival )。算法

1、​​TWR的系统优化

流程:​url

     在官方给的文档中有专门讲解定位的方法的,TWB被认为是双边测距定位系统,经过下图中标签和基站的通讯,能够获取标签和基站的距离,图中存在着几种信息类型:poll message、​blink message、response message、Final message、ack message等。spa

下图中展现的是双边测距的过程:标签先发送携带本身ID的眨眼信号(blink  message),主机收到信号后予以回应,而后标签将本身的三个时间数据回传到基站,期间的时间数据也即芯片计数值是被保存的,基站最后获得两组数据:标签测出的时间距离值(TRR-TSB)/2以及基站测出的时间距离值(TRF-TSR)/2,求取平均值后与光速的差就是距离值,固然,考虑到设备延时,最后的计算公式为:[(TRR-TSB)-(TSR_TRB)​ + (TRF-TSR)-(TSF-TRR)]/4,至此,测距完成。
orm

双边测距过程  

功耗优化:  文档中对功耗的讲述比较多,官方应该是重视低功耗的。通讯过程当中的休眠会减小电量的消耗,适当的通讯策略在众多标签的同行中有突出的表现,下面是在不一样的状态下的能耗状况。htm

图1、 非同步模式下的单机通讯

如图一所示,Slave一直处于监听状态,主机发送数据以后从机会发送回应,这种状态因为主从机之间的通讯时间是随机的,因此从机必须一直处于监听状态,因此能量消耗比较大;blog

图2、非同步状态下多机通讯

当从机变得多起来时,如图所示,因为接收数据而且对比地址会增长能量消耗,因此红色部分会增长没必要要的能量损失,对此在软件方面能够经过判断地址不匹配后进入休眠状态,所以能够减小部分能源消耗。ci

图三 同步状态下的一对一通讯

  图三设置了主从机同步,从机会在主机发送数据以前的一段时间唤醒设备,曾被接收数据,数据及收完毕以后再次进入休眠状态,这将极大的节省电能,可是也须要复杂合理的协议支撑,比较麻烦。​​文档

图四 多从机状态下的同步通讯  

上图对比位同步状态的状况,能够看到红色部分的能量少了许多,同步通讯的优点在大规模的从机通讯上的能耗优点在这里获得很好的体现。

2、TDOA系统

​流程:

​     TDOA在定位系统中实现更加简洁,可是也更麻烦,他要求基站间的时间同步,这是有算法自己决定的。TDOA全称是到达时间差的意思,也就是说标签是间隔固定的时间向四周广播Blink Message,这个信息包含了标签本身的ID值。当附近至少有三个基站收到这一信息时,因为自己基站的时间是能够看做一致的,这时就能够根据三个基站的时间差推断出标签当时的位置。由于这三个基站的具体位置都是已知的,所以以标签的坐标为圆心,必有一圆和最近的基站相切,而且与另外两个以基站为圆心,以各自的时间差的光距为半径的圆相切,这样就能肯定标签的距离。

TDOA系统中通讯时序图

这时基站要作的事情就更简单了,每一个基站就接收,报告时间差,剩下的就交给位置引擎去处理了。

单个基站的工做时序图

功耗优化:标签隔一点时间发送数据,以后大部分时间都在休眠,所以电量损耗低很多,基站由于要进行同步,损耗比标签大。