室内定位中非视距的识别和抑制算法研究综述(部分)

helloworld_54277843 等级 400 0 0
标签:

源自:控制与决策 作者:齐小刚 陈谌 李芷楠

针对存在非视距(non-line-of-sight, NLOS)的室内定位算法进行研究. 首先描述室内定位中的常用技术和算法(航迹推算、指纹识别定位、邻近探测、极点定位、三角定位、多边定位、质心定位), 概括其原理、优缺点和适用场景; 其次, 通过仿真测试说明研究NLOS识别和抑制的必要性; 再次, 分别介绍NLOS识别和NLOS抑制的几类算法, NLOS识别算法包括统计学方法、几何关系法、机器学习法、信道特征提取法和虚点密度识别法, NLOS抑制算法包括模糊理论法、引入平衡参数法、几何关系法、小波去噪法、机器学习类算法、凸优化类算法、残差类算法、最小二乘类算法和多维缩放类算法; 最后, 对全文进行总结并指出NLOS室内定位亟待解决的问题.

引言

全球定位系统(global positioning system, GPS), 凭借其广泛的应用范围和较高的定位精度, 受到了各方面专家和学者的青睐, 其在室外可以提供比较可靠的定位服务. 然而, 由于室内环境较为复杂, 信号的传播过程中会遇到障碍物(行人、墙壁、桌椅等)的阻塞, 使得信号发生反射、折射或散射, 导致强度减弱, GPS并不能实现精确的定位, 即在存在非视距(non-line-of-sight, NLOS)的室内环境中, 定位精度会有所下降. 如何有效识别和抑制NLOS, 从而提高定位精度是目前室内定位研究的热点问题之一. 室内定位作为定位技术在室内环境的延续, 应用更加广泛. 精确的节点位置信息可以应用在环境监测、军事侦察、定位打击目标、公共安全及应急响应等方面.

当发生地震、火灾等意外灾害时, 室内环境由于崩塌、火烧等会发生改变, 根据感觉盲目寻找很难快速找到被救援人员的位置. 而通过无人机等实地采集信息, 利用室内定位技术可以快速进行搜救, 既节省时间又能规划出安全的救援路径. 当发生恐怖袭击或者人质劫持等社会安全事件时, 利用室内定位技术可以快速确定袭击者或人质的位置. 反恐人员进入室内执行任务时, 通过室内协同定位算法进行配合, 可以精确地获得自己和同伴的位置, 对于任务的解决起到了更好的促进作用. 当处于火车站、高铁站、飞机场或地下停车场时, 室内定位技术可以为用户提供导航定位、停车、找车服务, 提高用户的满意度. 在商场或者仓库可以帮助用户快速找到心仪的商品, 增强用户体验感.

1 室内定位中的常用技术与算法

目前, 在室内定位方面所使用的技术有很多, 包括地磁技术[1]、Wi-Fi[2]、蓝牙[3]、超声波技术[4]、激光技术[5]、计算机视觉技术[6]、超宽带(ultra wide band, UWB)技术[7]等.

地磁技术主要依据地磁场强度实现定位, 成本较低, 而且对环境的要求不高. Wi-Fi技术不受灯光、湿度、温度等外界因素的影响, 在一定频段内可以很好地穿越障碍, 但在室内极易受到多径效应的影响, 定位精度中等[2]. 低功耗蓝牙具有功耗低、成本低、部署方便等优点, 误差可达到2 m左右[3]. 超声波技术由固定的参考基础设施和多种移动单元组成[4], 可以穿透部分固体和液体, 在黑暗、有毒等环境中仍可以应用, 但其频率受多普勒效应的影响且成本较高. 激光技术可根据信号和反射信号的时间差值计算距离, 结合角度信息完成相对定位, 成本较高.

计算机视觉技术主要分为利用地标包含的信息解算为矩阵实现定位和对数据库内存储的相机位置信息进行图像指纹匹配实现定位[6]两种. 伴随计算机视觉技术的发展和成熟, 使得基于视觉的用于同时定位与地图构建(simultaneous localization and mapping, SLAM)的技术可获得图形和视觉的支持. 视觉SLAM技术包括前端和后端两部分, 前端又称视觉里程计(visual odometry, VO), 主要进行特征检测和数据关联任务; 后端主要对前端的输出结果进行优化, 得到最优的位姿估计和地图[8].

由于较高的时空分辨率、良好的隐私保护、强穿透性以及高精度的定位性能, 使得UWB技术能为室内定位提供良好的解决方案. 同时也为许多应用程序提供了便利, 如医疗监控、安全和资产跟踪等[7].

室内定位中的常用算法包括航迹推算、指纹识别定位、邻近探测、极点定位、三角定位、多边定位和质心定位等.下面主要介绍这些算法定位的原理以及优缺点.

1 航迹推算

目标节点位置由所对应的步长、航向和上一步的位置不断累加推算得到[9], 其原理如图 1所示. 常应用于惯性导航定位[10], 可利用三轴加速度计、三轴陀螺仪和三轴磁力计的数据计算节点位置和轨迹.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 1 航迹推算定位原理图

室内定位中非视距的识别和抑制算法研究综述(部分)

优缺点: 此算法不需要借助外部设备即可实现定位, 采集的数据较为自主且无依赖; 但在推算的过程中会受到累加误差的影响, 故常用于短距离定位.

2 指纹识别定位

指纹识别定位算法[11-13]主要由离线阶段和在线阶段两部分构成.在离线阶段, 用小网格划分待定位区域, 得到交点并记录其坐标, 对在交点处接收到的无线电信号提取特征(常用接收信号强度(received signal strength, RSS)), 利用交点的坐标和相应的特征构成的信息链建成指纹数据库; 在线阶段, 通过匹配算法对比实际信息提取的特征与指纹数据库中的参数实现定位, 具体的流程如图 2所示.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 2 指纹识别定位原理图

优缺点: 此算法自主性较高, 有较高的定位精度; 但在离线阶段建立指纹库工作量较大, 且一旦更换定位场地, 需要重新构建指纹库.

3 邻近探测

邻近探测法通过是否接收到物理信号来判断目标是否位于源四周[14], 主要取决于信号的传输范围. 由图 3可以看出, 目标节点位于B附近.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 3 邻近探测原理图

优缺点: 此算法易于搭建, 易于实现且成本较低; 但定位精度不高, 仅可用于对精度要求不高的场景.

4 极点定位

极点定位根据测量的相对锚节点的距离和角度信息推测出目标的位置[14], 其原理如图 4所示. 若仅已知锚节点与目标节点之间的距离d1d1, 则可以初步确定目标节点是在以锚节点为圆心、d1d1为半径的圆上, 然后通过角度信息可以得到目标节点的精确位置.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 4 极点定位原理图

优缺点: 只需要根据一个锚节点的位置即可进行测量, 应用较为方便, 常用于大地测量; 但定位结果的准确性易受测距和测量角度仪器的精度的影响.

5 三角定位

三角定位法[15]是将两个锚节点的测量信息(包括距离和角度)相结合, 利用几何原理获取目标位置.

室内定位中非视距的识别和抑制算法研究综述(部分)

室内定位中非视距的识别和抑制算法研究综述(部分)

图 5 三角定位原理图

根据相对位置关系即可求得目标节点的位置.

优缺点: 此算法原理较为简单, 定位误差较小, 应用较为广泛; 但对于普通设备而言, 角度以及距离的信息很难精确获取.

6 多边定位

多边定位[16]的典型特征是多次测量方程的个数大于变量的个数, 其主要利用最小二乘(least squares, LS)[17]算法进行求解. 如图 6所示, 已知锚节点的位置以及锚节点到目标节点的距离, 利用毕达哥拉斯定理可得

室内定位中非视距的识别和抑制算法研究综述(部分)

室内定位中非视距的识别和抑制算法研究综述(部分)

图 6 多边定位原理图

利用LS算法求解可得目标节点的位置为

室内定位中非视距的识别和抑制算法研究综述(部分)

优缺点: 相比于三边定位引入了较多的锚节点, 且节点越多定位越准确; 但是实际定位场景会存在没有足够多锚节点的情况, 所以仍然会存在误差.

7 质心定位

对于定位算法而言, 质心指的是节点横、纵坐标的平均值.质心定位算法的定位精度完全取决于锚节点的大小和分布密度[18], 其原理如图 7所示.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 7 质心定位算法原理图

已知与目标节点相邻的锚节点的位置, 可求得目标节点的坐标为

室内定位中非视距的识别和抑制算法研究综述(部分)

优缺点: 此算法计算量较小且易于理解; 但当与目标节点相邻的锚节点个数不足时, 定位不够精确.

2 研究NLOS识别和抑制的必要性

在室内进行定位时, 由于障碍物(桌椅板凳、行人、墙壁)的阻塞, 节点之间为NLOS状态, 导致测距误差较大, 从而严重影响定位的精度. 本节主要测试NLOS对测距结果的影响. 利用UWB节点(如图 8(a)所示)进行测距, 通过串口实时导出测量数据.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 8 UWB节点与LOS误差

为了更直观地表示视距(line-of-sight, LOS)场景下测距情况, 用小提琴图来表示测距误差. 小提琴图结合了箱形图和密度图的特征, 主要用于展示多组数据的分布状态以及概率密度. 图 8(b)中的虚线分别表示的是同组数据中位数和四分位数所对应的数值.

小提琴图中横坐标表示实际距离, 纵坐标表示测得的距离数据与实际距离的差值, 即LOS误差. 从图 8(b)中可以看出节点的LOS误差较大, 大部分数据超过1 m. 对LOS情况下的测距结果进行拟合可得出节点的系统误差. 在进行NLOS测试时, 需消除系统误差之后再进行具体分析.

利用UWB节点进行测距, 在消除系统误差之后, 不同障碍物阻塞下的测距结果如图 9所示.

室内定位中非视距的识别和抑制算法研究综述(部分)

图 9 不同障碍物阻塞下的测距结果

图 9分别为实测3.6 m所对应的被墙遮挡、被静止的黑板遮挡、被移动的黑板遮挡、被静止的人遮挡的NLOS场景的测距结果. 从上述的仿真测试结果可以看出, 在存在NLOS的室内定位场景中, 锚节点与目标节点之间的平均测距比实际距离误差大. 利用距离信息进行定位时, 会增大定位误差. 所以为达到更好的定位精度, 定位之前进行NLOS的识别和抑制尤为重要.

关注“人工智能技术与咨询”,了解更多资讯!

收藏
评论区

相关推荐

关于根据颜色刷选图像内容的问题
在CSDN本人博文《OpenCVPython图像处理:用inRange刷选图像中指定颜色对象案例》(请点击文章底部最下方的“阅读原文”跳转CSDN阅读原文)中介绍了根据颜色刷选图像内容相关的概念及实现,介绍了通过使用inRange在HSV颜色空间中识别制定颜色的图像内容,文中概要介绍了HSV颜色空间中进行制定颜色对象识别的要点,使用的inRange函数的语法
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按
Java中的BigDecimal类和int和Integer总结
### 前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题。如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.println(1
TPS和QPS的区别和理解【转】
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求
java.util.Date和java.sql.Date的区别和相互转化
java.util.Date是在除了SQL语句的情况下面使用的。 **java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分** 它们都有getTime方法返回毫秒数,自然就可以直接构建。 **java.util.Date 是 java.sql.Date 的父类**,前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用
Uber的Ringpop和Riak
Uber是最流行的按需用车服务商,他们的创新远不止这些,在生活方式和物流等方面有着快速的进步,最近他们的架构师分享了一些最具有魅力的分布式架构。 其中一个不断在进化的分布式系统项目是Ringpop: Ringpop是一个开源的Node.js库,能够在应用级别实现他们的调度平台服务的水平分区sharding。 这个额外的抽象层框架,通过众多
mysql 的 log 和 MVCC
1、bin log MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。使用binlog日志大约会有1%的性能损耗。 应用: 1)MySQL主从复制:MySQL Replication在Ma
ABAP和Java的destination和JNDI
Netweaver里使用事务码SM59创建Destination: ![](https://oscimg.oschina.net/oscnet/07c4c8dd303d0f55213b36d27075c745ea3.png) Java ==== 新建一个destination: ![](https://oscimg.oschina.net/oscne
JavaScript的BOM和DOM
1,window对象,所有浏览器都支持window对象,它表示浏览器窗口 BOM(browser Object Model)是指浏览器对象模型,它使JavaScript有能力与浏览器进行"对话". DOM(Document Object Model)是指文档对象类型,通过它,可以访问HTML文档的所有元素 window对象客户端JavaScript最高
Jquery中prop( )和attr( )的区别和用法
###  1.碰到的“坑” <label> <input type="checkbox" class="check-box" id="apple">苹果 <input type="checkbox" class="check-box" id="banana">香蕉 <input type="checkbox" clas
Mongo的备份和恢复(mongodump 和mongorestore )
[Mongo的备份和恢复(mongodump 和mongorestore )](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.cnblogs.com%2Fxiaotengyi%2Fp%2F6393972.html) ---------------------------------
Notepad++和MinGW的安装和配置
http://blog.csdn.net/cclovepl/article/details/70568313 http://blog.csdn.net/cclovepl/article/details/70520412 http://blog.csdn.net/guang670248515/article/details/70186454 http:/
React的Element的创建和render
React的Element是React应用程序的最小构建块,它是用来描述我们在屏幕上看到的浏览器页面上的内容。 在React中构建 Element 有两种方式: 1、JSX的方式,JSX不是React的必用技术,但它可以用来产生一个 React “element”. const element = ( <h1 className="
Spring Boot的@Service和@Autowired和@ComponentScan注解
Spring Boot的@Service和@Autowired和@ComponentScan注解 SpringBoot项目的Bean装配默认规则是根据Application类(SpringBoot项目入口类)所在的包位置从上往下扫描,即只扫描该类所在的包及其子包。 1.如果需要扫描其上层包中的类,则将其移动到其上层包中 2.使用@ComponentSc
tcp和socket和http的区别
又一次感觉到大学本科的基础知识没好好学习。估计光顾着泡妞找对象和睡觉了,后悔莫及啊。 网络由下往上分为   物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。   通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,   三者从本质上来说没有可比性,   socket则是对TCP/IP协议的封装