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

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

一、​​TWR的系统

流程:​

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

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

双边测距过程

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

图一、 非同步模式下的单机通信

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

图二、非同步状态下多机通信

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

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

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

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

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

二、TDOA系统

​流程:

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

TDOA系统中通信时序图

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

单个基站的工作时序图

功耗优化:标签隔一点时间发送数据,之后大部分时间都在休眠,因此电量损耗低不少,基站因为要进行同步,损耗比标签大。

浅谈UWB室内定位(一)_vortex_新浪博客相关推荐

  1. 浅谈UWB室内定位(一)

    最近一直在研究UWB室内定位,我们组买了DECA的两块板子,就两块板子就花去了1000多大洋,而且给的代码还是入门级的可想而知UWB室内定位在我国尚且处于发展的萌芽状态,最近在读官方给的文档时发现之中 ...

  2. 浅谈UWB室内定位(三)_vortex_新浪博客

    这篇主要讲超帧(Superframe). 之前已经看过UWB定位的大致原理和基本格式之后,基本上可以实现定位了,但是在大超市这种人群多的地方,使用这种定位的通信方式会出现很多的问题,因为当标签同时发送 ...

  3. 浅谈UWB室内定位(二)_vortex_新浪博客

    之前只是简单讲了芯片供应商提供的两种定位方案,实际使用的方案中,项目考虑到本身自己知识方面的欠缺,目前看的资料限于TWR定位系统,这种方案易于理解,对于我们这些新手比较好实现,缺点就是复杂了点.TDO ...

  4. 浅谈UWB室内定位(三)

    这篇主要讲超帧(Superframe). 之前已经看过UWB定位的大致原理和基本格式之后,基本上可以实现定位了,但是在大超市这种人群多的地方,使用这种定位的通信方式会出现很多的问题,因为当标签同时发送 ...

  5. 浅谈UWB室内定位(二)

    之前只是简单讲了芯片供应商提供的两种定位方案,实际使用的方案中,项目考虑到本身自己知识方面的欠缺,目前看的资料限于TWR定位系统,这种方案易于理解,对于我们这些新手比较好实现,缺点就是复杂了点.TDO ...

  6. MySQL常用命令_vortex_新浪博客

    1. 登录 >>mysql -u root -p 2. 数据库操作 A. 显示数据库​ >>show databases; B. 选中数据库 >>use yourd ...

  7. python3 常见命令_vortex_新浪博客

    1. 安装>pip install xxx(easy_install xxx) 2. 查看>pip list 3. 卸载>pip uninstall xxx 4. 更新>pip ...

  8. 问题描述_vortex_新浪博客

    为什么这两次不同方式输出结果不一样?

  9. Qt文件打包_vortex_新浪博客

    转载链接:http://tieba.baidu.com/p/3730103947 传统文件的打包方式:​ 1. 先在release方式下生成model.exe文件,取出.exe文件放置空文件夹内(C: ...

最新文章

  1. 【一步步学小程序】1.创建项目以及TabBar
  2. 我的vExpert之路-传递正能量!
  3. Ubuntu 16.04与Apache虚拟主机配置的步骤详解
  4. 硬件安全系列 逻辑电路基础知识介绍(三)
  5. 如何编译java,java如何编译运行?
  6. HTTP协议学习笔记(一)请求方法名及状态码
  7. 抓屏的各种方法(http://www.codeproject.com/KB/dialog/screencap.aspx)
  8. JVM(一)史上最佳入门指南
  9. Windows下部署yolov5实现口罩检测
  10. 安装JDK_Tomcat
  11. idea svn 的使用----转载,挺好的
  12. 随便一个人就能干预大选?
  13. Java 基于UDP 实现单播、组播、广播 Socket 编程
  14. 南师大GIS考研数据库2015年第三题
  15. 双绞线的规范和制作经验谈
  16. MyEclipse 8.5 开发环境配置,汉化,Aptana2.0插件,SVN 插件,Flex Builder 3/4 插件安装(转)...
  17. FILEBEAT采集多个目录下日志
  18. 手把手教您用虹科MatrikonOPC UA数据平台掌握您所有的UA服务器
  19. native聊天界面 react_ReactNative 聊天 App 实战|RN 仿微信界面群聊|朋友圈
  20. 【VSCode】提升效率

热门文章

  1. 华为nova5pro怎样把计算机放到快捷,华为nova5pro快捷键怎么设置
  2. 软件测试岗位,BAT大厂面试题集锦
  3. linux mount nfs 超时,I / O无法(偶尔)挂载NFS-服务器超时
  4. 最新android studio创建项目,创建项目  |  Android 开发者  |  Android Developers
  5. 企业级生产环境CICD入门
  6. matlab mrst 工具箱 用共轭梯度法 找极值点
  7. python字符串函数split_Python常见字符串操作函数小结【split()、join()、strip()】
  8. html表格布局方式有那几种,前端几种常见的布局方式
  9. mel加载一个物体不同姿态的模型实现动画效果
  10. 一种结合实例和语义分割从田间图像中识别咖啡叶病虫害的深度学习方法