当前位置: 首页 > article >正文

常用的基于无线射频( UWB)室内定位技术的原理与算法

室内定位技术是对GPS定位技术的一种补充,弥补GPS在建筑物等遮挡时定位精度差或者无法定位的缺点。

GPS定位

在使用 UWB 信号作为通讯信号的室内定位中,测距和非测距方法都可以用于确定移动目标的位置。传统用于测距的方法分别有: 三边测量法( Trilateration) 、三角测量法( Triangulation) ,无需测距的定位方法中运用最多的是指纹匹配法( Fingerprint) 。

UWB logo

一、RSSI 匹配定位算法

RSSI的主要思想是: 根据距离和能量衰减公式用指纹匹配法来估计接入点与移动物体两者的距离。

RSSI

具体操作时,提前计算好距离与能量的数据,将其提前录入指纹数据库中。在测量定位过程

中,将真实的待测点 RSSI 值与数据库中的数据进行匹配,得到定位点与基站的距离。

RSSI

在不考虑有遮挡等误差的情况下,待测点将会落在三个基站以距离为半径的三个圆的交点处。

在实际的应用中难免会有误差,使得三个圆不能交于一点,这时一般的做法就是采用最小二

乘法。

RSSI

设 A基站坐标为(x1,y1,z1),B基站坐标为(x2,y2,z2),n基站坐标为(xn,yn,zn),待测点的坐标为(x,y,z)。则有方程组:

RSSI方程

直接求解以上 n 维的非线性方程组是比较困难的,可以通过第 j=1,2,3...n 个方程减去第一个方程,得:

RSSI方程

这是一个关于 X=(x,y,z)的线性方程组:

RSSI方程

其中b为

RSSI方程

通过对矩阵求偏导可以得到最小二乘法的解:

RSSI方程

使用矩阵计算库或者工具可以很快的计算出 X 的坐标。

二、AOA 定位算法

到达角度测距(Angle-of-Arrival:AOA),定位算法的主要思想: 通过至少两个基站设备,测出移动标签与基站角度基准线的夹角,再运用三角函数定位移动标签的位置坐标。

AOA定位示意图

已知基站 A、B 与基站的角度基准线,测得待测点与基站角度基准线形成的夹角β和γ。

AOA定位示意图

通过做待测点与角度基准线的垂线,获得二元二次方程组。

AOA方程

通过解方程即可求得待测点的坐标(x,y)。

三、TOA 定位算法

到达时间定位算法 TOA(Time-of-Arrival:TOA)与 RSSI匹配定位算法基本相同,区别在于 RSSI通过信号强度匹配来确定距离,而 TOA 直接测量时间差换算为距离。他们的方程和解法基本相同,这里不再累述。

四、TDOA 定位算法

TOA 中待测点负责接收,TDOA 中基站负责接收。基站 A,B 接收到待测点的信号,记录下时间 Ta,Tb,由于不知道待测点发送数据的时间,但是却可以计算到达基站 A 与基站 B 的时间差 T=(Ta-Tb),这个时间差可以确定一条曲线。

TDOA定位示意图

图中虚线上的所有点都满足到基站 A 的距离与到基站 B 的距离的差,等于到基站 A、B 的时间差乘以光速。多个基站可以画出多条虚线,多条虚线的交点就是待测点的位置,这里至少

需要两条曲线。

曲线需满足

变形为

TDOA 最终展现出来的是双曲线定位模型,模型求得的解就是移动标签的位置信息,但该模型是非线性方程组。非线性方程组的求解过程比较困难,目前的求解算法主要有: Fang 算法、Chan 算法、Friedlander 算法以及 Taylor 算法。


http://www.kler.cn/news/318355.html

相关文章:

  • Android View 的绘制流程
  • 获取参数
  • 如何在MATLAB中进行无线通信系统性能分析
  • 构建高效企业客户管理系统:SpringBoot应用
  • 旋转矩阵乘法,自动驾驶中的点及坐标系变换推导
  • Java调用数据库 笔记06 (修改篇)
  • 【JAVA开源】基于Vue和SpringBoot的图书馆管理系统
  • Spring自定义参数解析器
  • weblogic中间件漏洞复现
  • M2型TAM靶向肽CRV; Ahx-CRVLRSGSC ;
  • 【系统架构设计师】设计模式的分类
  • Python 中自动打开网页并点击[自动化脚本],Selenium
  • [Python]案例驱动最佳入门:Python数据可视化在气候研究中的应用
  • C++——用带有默认参数的函数实现,求两个整数或三个整数中的最大数。
  • QT客户端发送HTTP请求此时服务器到底收到了哪些数据?
  • fastson与jackson重点笔记(包入门)
  • Cilium + ebpf 系列文章- XDP (eXpress data Path)(四)
  • 基于jsonpath的JSON数据查找
  • golang学习笔记1-go程序执行流程
  • element-plus表格操作
  • C++之哈希 --- 哈希的应用(位图布隆过滤器)
  • 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)
  • 【软件测试】详解测试中常用的几种测试方法
  • 从更底层的角度理解网站的访问过程
  • 算法打卡:第十一章 图论part05
  • 关于Python升级以后脚本不能运行的问题
  • MongoDB-aggregate流式计算:去重操作
  • Linux下go环境安装、环境配置并执行第一个go程序
  • python多继承 - 子类指定父类
  • 【教程】鸿蒙ARKTS 打造数据驾驶舱---前序