|
路线栈欢迎您!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 一路上 于 2023-11-27 13:44 编辑
一、无线定位基本概念
无线定位:通过对无线电波的一些参数进行测量,根据特定的算法来判断被测物体的位置。测量参数一般包括无线电波的传输时间、幅度、相位和到达角等。
基于三角关系定位技术:先要测量已知位置的参考点(A, B, C 三点)与被测物体之间的距离(R1, R2, R3),然后利用三角知识计算被测物体的位置。
1.ToF:基于电磁波到达时间,换算出距离采样的定位模式,
2.TDoA:固定基站在精确同步的条件下,基于电磁波达到时间差,换算出距离差的定位模式,
3.地图服务器:在统一的坐标体系中,将(空间对象元素,位置信息)保存在后台地图数据库中,并按照一定比例尺通过地图界面统一展现。
定位精度:地图上显示的位置,与终端实际物理位置的偏差值。
定位时延:在地图上显示终端位置的实际刷新周期。
二、UWB测距原理
ToF传感器使用微小的发射器发射红外光或者激光,其中产生的光会从任何物体反弹并返回到传感器。根据光的发射与被物体反射后返回传感器之间的时间差,传感器可以测量物体与传感器之间的距离。
单边双向测距(SS-TWR,Single Side-TWR)
Device A在其自己时钟TA1 时刻发起测距,Device B在其自己时钟TB1时刻收到了Device A发起的测距帧,即Tprop1 = (TB1-TA1 ) Device A跟Device B的距离就应该是Tprop *C(光速)。但是由于Device A 和Device B 时钟不同步,所以无法确认Tprop1 的值。
为了确定Tprop1 的值,Device B在收到Device A发起的测距帧后,固定延时Treply 的时间回复Device A,发射时间为TB2, Device A在TA2的时刻收到,即Tprop2 = (TA2-TB2),假设在这段时间,Device A设备Device B的位置没有发生过改变。
那么理论Tprop1 = Tprop2。为了确认Tprop的时间,在Device A的时间轴上,从发送时刻TA1 到收到Device B 回复帧的时刻TA2的耗时Troud = (TA2-TA1 ),在Device B的时间轴上,收到Device A 发起测距帧的时刻TB1到自己回复Device A 的时刻TB2的耗时Treply = (TB2-TB1 )。所以Tprop = (Troud - Treply)/2。即距离为Tprop *C。
双边双向测距(DS-TWR,Double Side - TWR):其实双边测距是从单边测距扩展而来,主要是用于解决测距双方时钟精度不一致导致的误差问题。
在SS-TWR的基础上,由于设备自身时钟,由于温度以及设备精度误差等原因导致的时钟偏移,即Treply延时时间越长,从而导致计算距离时的误差越大。为了减小以及消除这种误差,DS-TWR增加反向测量补偿,如下图所示。使用两个往返时间测量,降低Treply的延时带来的误差。即
距离为Tprop *C。
三、基于测距的定位方式(三边定位)
基于测距的定位原理
P1、P2、P3分别是3个Anchor。当Tag与3个Anchor完成测距后,就会有3个对应的距离值r1、r2、r3。以Anchor为圆心,3个圆相交与1点即为Tag所在位置,这是一种理想模型。实际情况是,3个基站的距离在三维中实际是3个球相交。大多数情况,由于测距本身有误差,所以3个球相交的是一个区域。算法要做的就是在这个区域范围内取一个最接近标签真实位置的解。
三边定位原理
三边定位解算
对于距离推算坐标,最简单的方式就是画圆,在理想情况下(三个圆均相交),三个圆会相交于一点,公式如下:
已知三点位置 (x1, y1), (x2, y2), (x3, y3)
已知未知点 (x0, y0) 到三点距离 d1, d2, d3
以 d1, d2, d3 为半径作三个圆,根据毕达哥拉斯定理,得出交点即未知点的位置计算公式:
但是对于距离计算,是不存在绝对理想的情况的,很大概率是三个圆相交甚至相离的情况下,计算出估计出一个近似值。
设未知点位置为 (x, y), 令其中的第一个球形 P1 的球心坐标为 (0, 0),P2 处于相同纵坐标,球心坐标为 (d, 0),P3 球心坐标为 (i, j),三个球形半径分别为 r1, r2, r3,z为三球形相交点与水平面高度。则有:
当 z = 0 时, 即为三个圆在水平面上相交为一点,首先解出 x:
将公式二变形,将公式一的 z^2 代入公式二,再代入公式三得到 y 的计算公式:
当然以上只是一个基本的公式推导,有助于大家进行理解,但是实际使用时我们不可能去不断进行坐标的转化然后解算,这样的处理过于浪费时间,代码也是很难实现。这时我们只需要引入线性代数将矩阵运算带入其中就可以简单快速得到通用解答式。
基本公式组保持不变,进行拆解销项
经过线性代数矩阵的分割后
若我们令
为A矩阵
为B矩阵,那么待求未知点坐标(X,Y)为
至此这个求坐标问题就变为如何求A矩阵的逆矩阵,这里推荐简单好用的高斯逆矩阵,据说某些DSP芯片也可以直接求出逆矩阵,不管怎么样这种方式会带来更高的通用性与算法速率。
当然以上均为理想情况,但是实际使用时肯定会有各类误差影响导致这个圆不相切,有可能相交也有可能相离,这时候就应该再次用一种噪声消除的算法来进行处理以将数据运算到较为贴合现实值的坐标点上。
四、基于到达时间差的定位方式(TDOA)
TDOA(Time Difference Of Arrival,到达时间差),Master(主)基站发送sync(同步)报文,Slaver(从)基站接收并做同步处理。
Tag(标签)发送poll报文,基站接收并记录时间戳。
TDoA基站无线同步
AP1:记录的poll到达时间为T1
AP2:记录的poll到达时间为T2
AP3:记录的poll到达时间为T3
由于AP1、AP2、AP3时间是同步的,所以
DT1=T1-T2,AP1与AP3之间的时间差DR1=C*(T1-T2),画双曲线1
DT2=T1-T3,AP1与AP2之间的时间差DR1=C*(T1-T3),画双曲线2
TDoA定位原理
五、基于相位差的定位方式(AOA/PDOA)
AOA:AOA(Angle of Arrival,到达角度测距),是基于信号到达角度的定位算法是一种典型的基于测距的定位算法,通过某些硬件设备感知发射节点信号的到达方向,计算接收节点与锚节点之间的相对方位或角度,然后再利用三角测量法或其他方式计算出未知节点的位置。
PDOA:PDOA(Phase Diference of Arrival,信号到达相位差),是通过测量相位差求出信号往返的传播时间来计算往返距离。本质上PDOA是AOA定位算法的一种延伸。
相位差定位解算
其中α代表两根天线接收的信号中的First-Path 的到达相位之差(Phase Difference of Arrival),这也是PDOA 名字的来由。
相位差定位原理 |
|