基于到达时间(TOA)的室内定位(/无线传感器网络定位)——极大似然估计ML
原创不易,路过的各位大佬请点个赞
针对AOA,TOA,TDOA,RSS等室内定位、导航的探讨、技术支持、==代码(有偿)==欢迎联系,也可以站内私信,也可以基于其它算法,ML只是一个例子来讲解室内定位
WX: ZB823618313
基于到达时间(TOA)的室内定位(/无线传感器网络定位)——极大似然估计ML
1. 室内定位技术
近年来,随着无线通信、集成电路、传感器以及微电系统等技术的飞速发展和日益成熟,被誉为全球未来三大高科技产业之一的无线传感器网络(WSN,Wireless Sensor Network)引起了全世界范围的广泛关注。随着物联网概念的提出,作为其关键技术的传感器技术成为人们研究核心,随着无线传感器网络的应用逐渐深入到人们生活的方方面面,其核心支撑的节点定位技术也得到不断的改进、推广。
在WSN中,传感器节点随机分布在监测区域内,其中部分节点能够通过携带自身定位设备或人工部署的方式获得自身的精确位置,此类节点被称为锚节点(anchor node);其他未知节点(unknown node)只能根据锚节点位置按照某种定位机制估算出自身位置。锚节点所占的比例直接影响到传感器网络的造价。根据是否需要测距,节点定位算法分为两类:基于测距(range-based)的定位算法和无需测距(range-free)的定位算法。Range-free算法仅仅依靠网络连通性等信息就能够实现定位,其主要代表算法有质心算法(Centroid)、DVHop (Distance Vector-Hop)、凸规划(Convex)和APIT(Approximate Perfect Point In Tri-angulation Test)等,无需测距的定位算法对硬件的要求不高,但通常定位精度不高;基于测距的定位算法在定位过程中需要对节点间的角度信息或者距离等进行测量,其典型算法有接收信号强度法(RSSI,Rece ived Signal Strength InDICator)、信号传输时间法(TOA,Time of Arrival)、信号到达角法(AOA,Arrival of Angle)等,通过测量未知节点与锚节点之间的距离或角度信息,再运用三边测量法、三角测量法或最大似然估计法计算未知节点的位置信息。Range-based算法定位精度较高,但对无线传感器网络节点的硬件、成本有一定的要求,未来研究趋势是低成本、高能效的角度或距离测量技术及相关的定位算法。
1.1. 室内定位/无线传感器网络定位分类
无线传感器网络定位中,存在两类情况:对网络内检测节点的自定位、对未知目标源的盲定位。
节点的自定位:
通过节点自身携带的GPS定位设备等设备获得自身的精确定位,通过自定位系统获得的自身定位的节点称为信标节点也叫做锚节点。
节点的盲定位:
根据信标节点,通过某种定位机制确定未知目标源的位置。节点的盲定位可分为两类:有源定位和无源定位。
有源定位:
网络中监测节点利用有源设备(雷达、激光、声纳等)向被定位目标发射用于定位的各种信号,然后接收被监测目标的返回信号,通过一系列测量、处理得到目标源位置的过程。
优点: 全天候、高精度
缺点: 无隐蔽性、易受电子干扰
无源定位:
网络中监测节点在定位过程中不向被定位目标发射信号(电磁或其他用于定位的信号),监测节点与被监测设备间无协作通讯,监测节点仅通过对目标上发射的电磁信号的搜索、测量、处理而得到目标的位置及参数信息,从而实现定位追踪。
优点: 反侦察、抗干扰、可进行目标识别(弥补有源雷达的不足)
目前主要研究的定位算法为“被动”无源定位。
被动: 监测网络对被监测目标无法进行控制,无法按照自身定位需求添加软硬件支持。
1.2. 室内定位/无线传感器网络定位特点
基于无线传感器网络的信号无源定位与跟踪具有如下特点:
无源定位,直接定位的一方不向目标信号发送信号
多站协同,监测节点需在多次测量、空间移动,或多站间有信息交互协作
运算量大,获取目标位置所需计算量高于其他信息的处理
定位精度、系统内参和定位节点的个数及布局相关
1.3. 室内定位/无线传感器网络定位技术分类
基于距离的定位算法通过测量不同节点到目标信号间的距离或角度信息,利用最大似然估计定位法、三角测量定位法、三边测量定位法估计未知目标节点的位置。
常用定位技术:
- 到达角度技术(AOA)
- 达到时间技术(TOA)
- 到达时间差技术(TDOA)
- 接收信号能量技术(RSSI) (博主最熟悉的定位技术,哈哈哈啊哈哈)
1.4. 室内定位/无线传感器网络定位技术比较
技术名称 | 定位精度 | LOS/NLOS | 定位信息 | 优点 | 缺点 |
---|---|---|---|---|---|
AOA | 中、高 | LOS | 角度 | 只需要两个接收器。 不需要同步时间 | 需要天线阵列、价格昂贵 |
TOA | 高 | LOS | 距离 | 精度高 | 需要三个接收器、发射源和目标均时间同步 |
TDOA | 高 | LOS | 距离差 | 精度高,仅需要同步发射源的始终 | LOS假设 |
RSS | 低 | both | 信号强度 | 简单、成本低 | 三个节点、精度低 |
2. TOA定位介绍
2.1. TOA定位原理
核心思想: 基于到达时间(TOA)的定位技术是一种常见的无线传感器网络节点自定位算法,基于TOA的定位实现简单,定位精度高,但是要求节点间保持精确的时间同步,这样对传感器网络的节点的硬件和功耗提出了较高的要求。
TOA是信号在源和接收器之间传播的单向传播时间。这意味着需要对目标和所有接收机进行精确同步,以获得TOA信息。如果测量往返或双向TOA,则不需要这种同步。
将TOA乘以已知的传播速度(用c表示),可以得到源和接收器之间的距离。例如, c ≈ 340 m s − 1 c≈ 340ms^{−1} c≈340ms−1和 c ≈ 3 × 1 0 8 m s − 1 c≈ 3×10^8ms^{−1} c≈3×108ms−1分别是空中场景中的声速和光速。在没有测量误差的情况下,每个TOA对应于一个以接收器为中心的圆,该接收器上的源必须位于二维空间中。
定位原理:TOA 定位方法,主要是根据测量接收信号在基站和移动台之间的到达时间,然后转换为距离,从而进行定位。该方法至少需要三个基站,才能计算目标的位置,其定位示意图如图所示。
2.2. TOA定位测量原理
测量原理:
TOA 定位方法,主要是根据测量接收信号在基站和移动台之间的到达时间,然后转换为距离,从而进行定位。
则传感器节点BS到发射源MS 的距离为
d
i
=
(
x
−
x
i
)
2
+
(
y
−
y
i
)
2
d_i=\sqrt{(x-x_i)^2+(y-y_i)^2}
di=(x−xi)2+(y−yi)2
其中
x
=
[
x
,
y
]
′
\mathbf{x}=[x,y]'
x=[x,y]′为发射源的位置,即被定位的参数,
y
i
=
[
x
i
,
y
i
]
′
\mathbf{y}_i=[x_i,y_i]'
yi=[xi,yi]′为第i个锚节点的位置,假设存在N个锚节点构成传感器网络,则
i
=
1
,
2
,
⋯
,
N
i=1,2,\cdots,N
i=1,2,⋯,N。
在不失一般性的情况下,我们假设源在时间0发出信号,并在时间
t
i
t_i
ti被第
i
i
i个传感器接收到信号。也就是说,
t
i
t_i
ti是TOA测量,我们在
t
i
t_i
ti和
d
i
d_i
di之间有一个简单的关系
t
i
=
d
i
c
,
i
=
1
,
2
,
⋯
,
N
t_i=\frac{d_i}{c}, ~ i=1,2,\cdots,N
ti=cdi, i=1,2,⋯,N
在实际中,TOA会受到测量误差的影响。因此,基于
t
i
t_i
ti乘以
c
c
c的距离测量,定义为
r
i
r_i
ri,可以建模为
r
i
=
d
i
+
n
i
=
(
x
−
x
i
)
2
+
(
y
−
y
i
)
2
+
n
i
,
i
=
1
,
2
,
⋯
,
N
r_i=d_i+n_i=\sqrt{(x-x_i)^2+(y-y_i)^2}+n_i, ~ i=1,2,\cdots,N
ri=di+ni=(x−xi)2+(y−yi)2+ni, i=1,2,⋯,N
其中
n
i
n_i
ni 为测量噪声,来源于TOA的干扰。
3. TOA定位算法概述
主要算法: 基于AOA技术的室内定位可以分为两大类方法:参数估计算法和滤波方法。
1-参数估计算法主要解决非移动目标(如传感器节点、发射源等)的定位问题,主要包括:
ML最大似然估计
LS最小二乘估计
WLS加权最小二乘估计
NLS非线性最小二乘估计
凸规划
**注意:**这类方法也可以解决移动目标的室内外定位问题。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2- 滤波方法主要解决移动目标(如智能小车、移动机器人、移动终端等)的室内外定位问题,主要包括:
扩展卡尔曼滤波EKF
无迹卡尔曼滤波UKF
容积卡尔曼滤波CKF
求积卡尔曼滤波QKF
中心差分卡尔曼滤波CDKF
Divided difference filter DDF
高斯混合滤波GSF
强跟踪滤波STF
粒子滤波PF
… …
4. ML最大似然估计TOA定位
4.1. 问题描述
考虑N个传感器网络,发射源发出信号并在时间
t
i
t_i
ti被第
i
i
i个传感器接收到信号,即
t
i
=
d
i
c
,
i
=
1
,
2
,
⋯
,
N
t_i=\frac{d_i}{c}, ~ i=1,2,\cdots,N
ti=cdi, i=1,2,⋯,N
在实际中,TOA会受到测量误差的影响。因此,基于
t
i
t_i
ti乘以
c
c
c的距离测量,定义为
r
i
r_i
ri,可以建模为
r
i
=
d
i
+
n
i
=
(
x
−
x
i
)
2
+
(
y
−
y
i
)
2
+
n
i
,
i
=
1
,
2
,
⋯
,
N
r_i=d_i+n_i=\sqrt{(x-x_i)^2+(y-y_i)^2}+n_i, ~ i=1,2,\cdots,N
ri=di+ni=(x−xi)2+(y−yi)2+ni, i=1,2,⋯,N
其中
n
i
n_i
ni 为测量噪声,来源于TOA的干扰。
4.2. ML估计
基于N个锚节点的TOA测量,构造似然函数:
P
(
r
∣
x
)
=
∏
i
=
1
N
1
2
π
σ
i
e
−
(
r
i
−
h
(
x
)
)
2
2
σ
i
2
P(\mathbf{r}|\mathbf{x})=\prod_{i=1}^N\frac{1}{\sqrt{2\pi}\sigma_i}e^{-\frac{(r_i-h(\mathbf{x}))^2}{2\sigma_i^2}}
P(r∣x)=i=1∏N2πσi1e−2σi2(ri−h(x))2
其中
h
(
x
)
=
(
x
−
x
i
)
2
+
(
y
−
y
i
)
2
h(\mathbf{x})=\sqrt{(x-x_i)^2+(y-y_i)^2}
h(x)=(x−xi)2+(y−yi)2
取对数、得到对数似然函数:
L
(
x
)
=
c
+
∑
i
=
1
N
−
1
2
σ
i
2
(
r
i
−
h
(
x
)
)
2
L(\mathbf{x})=c+ \sum_{i=1}^N-\frac{1}{2\sigma_i^2}(r_i-h(\mathbf{x}))^2
L(x)=c+i=1∑N−2σi21(ri−h(x))2
其中
c
c
c为常数。
则发射源的最大似然估计为:
x
^
=
arg
max
L
(
x
)
=
arg
min
∑
i
=
1
N
1
2
σ
i
2
(
r
i
−
h
(
x
)
)
2
\begin{aligned} \hat{\mathbf{x}}&=\arg \max L(\mathbf{x})\\ &=\arg \min \sum_{i=1}^N\frac{1}{2\sigma_i^2}(r_i-h(\mathbf{x}))^2 \end{aligned}
x^=argmaxL(x)=argmini=1∑N2σi21(ri−h(x))2
5. 仿真结果 1
5.1. 仿真场景
考虑4个传感器节点,一个目标节点。
定位结果:
TOA定位结果:
9.98667
10.0299
5.2. 定位误差RMSE(蒙特卡洛实现)
随着TOA测量噪声标准差增大,计算定位精度
TOA定位结果:
Target_position_ML =
9.9758 10.0192 10.0070 10.5285 10.7218 8.9271 10.0769 9.6028
10.2194 9.8909 9.5768 9.4782 9.6706 10.3780 8.7990 9.5880
*原创不易,路过的各位大佬请点个赞