基于到达时间差(TDOA)的室内定位(/无线传感器网络定位)——极大似然估计ML

原创不易,路过的各位大佬请点个赞

针对AOA,TOA,TDOA,RSS等室内定位、导航的探讨、技术支持、==代码(有偿)==欢迎联系,也可以站内私信,也可以基于其它算法,ML只是一个例子来讲解室内定位
WX: ZB823618313

基于到达时间差(TDOA)的室内定位(/无线传感器网络定位)——极大似然估计ML

  • 基于到达时间差(TDOA)的室内定位(/无线传感器网络定位)——极大似然估计ML
    • 1. 室内定位/无线传感器网络定位技术
      • 1.1. 室内定位/无线传感器网络定位分类
      • 1.2. 室内定位/无线传感器网络定位特点
      • 1.3. 室内定位/无线传感器网络定位技术分类
      • 1.4. 室内定位/无线传感器网络定位技术比较
    • 2. TDOA定位介绍
      • 2.1 TDOA定位原理
      • 2.2 TDOA拓扑图
      • 2.3 TDOA与TOA对比
      • 2.4 TDOA定位测量
    • 3. TDOA定位算法概述
    • 4. ML最大似然估计TDOA定位
      • 4.1. 问题描述
      • 4.2. ML估计
    • 5. 仿真结果 1
      • 5.1. 仿真场景
      • 5.2. 定位误差RMSE(蒙特卡洛实现)

1. 室内定位/无线传感器网络定位技术

近年来,随着无线通信、集成电路、传感器以及微电系统等技术的飞速发展和日益成熟,被誉为全球未来三大高科技产业之一的无线传感器网络(WSN,Wireless Sensor Network)引起了全世界范围的广泛关注。随着物联网概念的提出,作为其关键技术的传感器技术成为人们研究核心,随着无线传感器网络的应用逐渐深入到人们生活的方方面面,其核心支撑的节点定位技术也得到不断的改进、推广。

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. TDOA定位介绍

2.1 TDOA定位原理

核心思想: TDOA定位是一种利用时间差进行定位的方法。通过测量信号到达监测站的时间,可以确定信号源的距离。利用信号源到各个监测站的距离(以监测站为中心,距离为半径作圆),就能确定信号的位置。但是绝对时间一般比较难测量,通过比较信号到达各个监测站的绝对时间差,就能作出以监测站为焦点,距离差为长轴的双曲线,双曲线的交点就是信号的位置。

不同于TOA,TDOA(到达时间差)是通过检测信号到达两个基站的绝对时间差,而不是到达的飞行时间来确定移动台的位置,降低了信号源与各个监测站的时间同步要求,但提高了各个监测站的时间同步要求。采用三个不同的基站可以测到两个TDOA,移动站位于两个TDOA决定的双曲线的交点上。TDOA值的获取一般有2种形式:

  1. 第1种形式是利用移动台到达2个基站的时间TOA,取其差值来获得,这时仍需要基站时间的严格同步,但是当两基站间移动信道传输特性相似时,可减少由多径效应带来的误差,

  2. 第2种形式是将一个移动台接收到的信号与另一个移动台接收到的信号进行相关运算,从而得到TDOA的值,这种算法可以在基站和移动台不同步时,估计出TDOA的值,由于实际应用中,往往很难做到基站与移动台的同步,所以利用相关估计得到TDOA值,再进行定位计算能获得较高精度。对于蜂窝网中的移动台定位而言,TDOA更具有实际意义,这种方法对网络的要求相对较低,并且定位精度较高,已经成为研究的热点。

2.2 TDOA拓扑图

定位原理:TDOA 定位方法,主要是根据测量接收信号在两个基站到目标节点的到达时间做差,然后转换为距离差,从而进行定位。该方法至少需要三个基站,才能计算目标的位置,其定位示意图如图所示。

2.3 TDOA与TOA对比

2.4 TDOA定位测量

数学上、将TDOA乘以已知的传播速度(用c表示),可以得到源和接收器之间的距离差。例如,c≈340ms−1c≈ 340ms^{−1}c≈340ms−1和c≈3×108ms−1c≈ 3×10^8ms^{−1}c≈3×108ms−1分别是空中场景中的声速和光速。

我假设发射源在t0t_0t0​时发射信号,而每个传感器i,1,2,⋯,Ni,~1,2,\cdots,Ni, 1,2,⋯,N 分别在时间tit_iti​接受到信号。在这些传感器节点中,选择一个参考传感器。不失一般性,我们选择第1个传感器为参考传感器,则到达时间差TDOA为
tTDOA=ti−t1,i=2,3,⋯,Nt_{TDOA}=t_i-t_1,~i=2,3, \cdots,NtTDOA​=ti​−t1​, i=2,3,⋯,N

测量原理
TDOA 定位方法,主要是根据测量接收信号在基站和移动台之间的到达时间,然后转换为距离,从而进行定位。

图中BS1假设为发射源,即被定为目标。

假设传感器节点BS到发射源MS 的距离为
di=(x−xi)2+(y−yi)2d_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]′为发射源的位置,即被定位的参数,yi=[xi,yi]′\mathbf{y}_i=[x_i,y_i]'yi​=[xi​,yi​]′为第i个锚节点的位置,假设存在N个锚节点构成传感器网络,则i=1,2,⋯,Ni=1,2,\cdots,Ni=1,2,⋯,N。

数学上、将TDOA乘以已知的传播速度(用c表示),可以得到源和接收器之间的距离差。例如,c≈340ms−1c≈ 340ms^{−1}c≈340ms−1和c≈3×108ms−1c≈ 3×10^8ms^{−1}c≈3×108ms−1分别是空中场景中的声速和光速。我假设发射源在t0t_0t0​时发射信号,而每个传感器i,1,2,⋯,Ni,~1,2,\cdots,Ni, 1,2,⋯,N 分别在时间tit_iti​接受到信号。在这些传感器节点中,选择一个参考传感器。不失一般性,我们选择第1个传感器为参考传感器,则到达时间差TDOA为
tTDOA,i=ti−t1,i=2,3,⋯,Nt_{TDOA,i}=t_i-t_1,~i=2,3, \cdots,NtTDOA,i​=ti​−t1​, i=2,3,⋯,N

同TOA一样,在实际中,TDOA也会受到测量误差的影响。因此,基于tTDOA,it_{TDOA,i}tTDOA,i​乘以ccc的距离测量,定义为rTDOA,ir_{TDOA,i}rTDOA,i​,可以建模为
rTDOA,i=di−d1+ni=(x−xi)2+(y−yi)2−(x−x1)2+(y−y1)2+ni,i=2,⋯,N\begin{aligned} r_{TDOA,i}&=d_i-d_1+n_i\\ &=\sqrt{(x-x_i)^2+(y-y_i)^2}-\sqrt{(x-x_1)^2+(y-y_1)^2}+n_i, ~ i=2,\cdots,N \end{aligned}rTDOA,i​​=di​−d1​+ni​=(x−xi​)2+(y−yi​)2​−(x−x1​)2+(y−y1​)2​+ni​, i=2,⋯,N​
其中nin_ini​ 为测量噪声,来源于TDOA的干扰。

3. TDOA定位算法概述

主要算法: 基于AOA技术的室内定位可以分为两大类方法:参数估计算法和滤波方法。

1-参数估计算法主要解决非移动目标(如传感器节点、发射源等)的定位问题,主要包括:
ML最大似然估计
LS最小二乘估计
WLS加权最小二乘估计
NLS非线性最小二乘估计
凸规划
**注意:**这类方法也可以解决移动目标的室内外定位问题。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2- 滤波方法主要解决移动目标(如智能小车、移动机器人、移动终端等)的室内外定位问题,主要包括:
扩展卡尔曼滤波EKF
无迹卡尔曼滤波UKF
容积卡尔曼滤波CKF
求积卡尔曼滤波QKF
中心差分卡尔曼滤波CDKF
Divided difference filter DDF
高斯混合滤波GSF
强跟踪滤波STF
粒子滤波PF
… …

4. ML最大似然估计TDOA定位

4.1. 问题描述

考虑N个传感器网络,我假设发射源在t0t_0t0​时发射信号,而每个传感器i,1,2,⋯,Ni,~1,2,\cdots,Ni, 1,2,⋯,N 分别在时间tit_iti​接受到信号。在这些传感器节点中,选择一个参考传感器。不失一般性,我们选择第1个传感器为参考传感器,则到达时间差TDOA为
tTDOA,i=ti−t1,i=2,3,⋯,Nt_{TDOA,i}=t_i-t_1,~i=2,3, \cdots,NtTDOA,i​=ti​−t1​, i=2,3,⋯,N

同TOA一样,在实际中,TDOA也会受到测量误差的影响。因此,基于tTDOA,it_{TDOA,i}tTDOA,i​乘以ccc的距离测量,定义为rTDOA,ir_{TDOA,i}rTDOA,i​,可以建模为
rTDOA,i=di−d1+ni=(x−xi)2+(y−yi)2−(x−x1)2+(y−y1)2+ni,i=2,⋯,N\begin{aligned} r_{TDOA,i}&=d_i-d_1+n_i\\ &=\sqrt{(x-x_i)^2+(y-y_i)^2}-\sqrt{(x-x_1)^2+(y-y_1)^2}+n_i, ~ i=2,\cdots,N \end{aligned}rTDOA,i​​=di​−d1​+ni​=(x−xi​)2+(y−yi​)2​−(x−x1​)2+(y−y1​)2​+ni​, i=2,⋯,N​
其中nin_ini​ 为测量噪声,来源于TDOA的干扰。

4.2. ML估计

基于N个锚节点的TOA测量,构造似然函数:

P(rTDOA∣x)=∏i=1N12πσie−(rTDOA,i−h(x))22σi2P(\mathbf{r_{TDOA}}|\mathbf{x})=\prod_{i=1}^N\frac{1}{\sqrt{2\pi}\sigma_i}e^{-\frac{(r_{TDOA,i}-h(\mathbf{x}))^2}{2\sigma_i^2}}P(rTDOA​∣x)=i=1∏N​2π​σi​1​e−2σi2​(rTDOA,i​−h(x))2​
其中
h(x)=(x−xi)2+(y−yi)2−(x−x1)2+(y−y1)2h(\mathbf{x})=\sqrt{(x-x_i)^2+(y-y_i)^2}-\sqrt{(x-x_1)^2+(y-y_1)^2}h(x)=(x−xi​)2+(y−yi​)2​−(x−x1​)2+(y−y1​)2​
取对数、得到对数似然函数:
L(x)=c+∑i=1N−12σi2(rTDOA,i−h(x))2L(\mathbf{x})=c+ \sum_{i=1}^N-\frac{1}{2\sigma_i^2}(r_{TDOA,i}-h(\mathbf{x}))^2L(x)=c+i=1∑N​−2σi2​1​(rTDOA,i​−h(x))2
其中ccc为常数。

则发射源的最大似然估计为:
x^=arg⁡max⁡L(x)=arg⁡min⁡∑i=1N12σi2(rTDOA,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_{TDOA,i}-h(\mathbf{x}))^2 \end{aligned}x^​=argmaxL(x)=argmini=1∑N​2σi2​1​(rTDOA,i​−h(x))2​

5. 仿真结果 1

5.1. 仿真场景

考虑4个传感器节点,一个目标节点。

定位结果:

TDOA定位结果:
10.0067
10.0299

5.2. 定位误差RMSE(蒙特卡洛实现)

随着TDOA测量噪声标准差增大,计算定位精度

TDOA定位结果:

Target_position_ML =10.0202    9.8870    9.9408   10.7513    9.0884    9.8172    9.9751    9.449410.0533   10.2017    9.7053    9.9880   10.1940    9.7524   11.1078   10.4629

*原创不易,路过的各位大佬请点个赞

基于到达时间差(TDOA)的室内定位(/无线传感器网络定位)——极大似然估计ML相关推荐

  1. 基于到达时间(TOA)的室内定位(/无线传感器网络定位)——极大似然估计ML

    基于到达时间(TOA)的室内定位(/无线传感器网络定位)--极大似然估计ML 原创不易,路过的各位大佬请点个赞 针对AOA,TOA,TDOA,RSS等室内定位.导航的探讨.技术支持.==代码(有偿)= ...

  2. 基于接收信号强度(RSS)的室内定位/无线传感器网络定位——极大似然估计ML/最小二乘估计WLS

    基于接收信号强度(RSS)的室内定位/无线传感器网络定位--极大似然估计ML/最小二乘估计WLS 原创不易,路过的各位大佬请点个赞 针对AOA,TOA,TDOA,RSS等室内定位.导航的探讨.技术支持 ...

  3. 基于RSS和TOA两种方法的无线传感器网络定位测量算法matlab仿真

    up目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 无线传感器网络(Wireless Sensor Networks, WSN)是一种分布式传感网络,它的末梢是可以感知和检查外部世界的传 ...

  4. 无线传感器网络定位算法

    无线传感器网络定位算法 在此,需要强调无线传感器网络节点的自组织性.为避免人为配置节点坐标产生的误差干扰,及考虑到多数网络部署区域是人类不可达区域的情况,通常情况下选择参考节点的随机部署方式.在这种情 ...

  5. 无线传感器网络定位综述

    摘要: 无线传感器网络定位在当前需求的推动下,已经成为热点研究领域.本文分别从定位方式.定位技术以及定位原理3个方面对无线传感器网络定位研究进行了梳理并展开了综述:其次,分别对3种基于无线传感器网络的 ...

  6. Android之手机定位方式(GPS定位,网络定位,基站定位)

    从前天学习GPS定位开始,这两天断断续续都在学习Android的三种基本定位方式. 1.GPS定位(基本Android机上都会有,缺点是必须在空旷的地方才有用) 2.网络定位(NetWork,这个很多 ...

  7. 基于k-近邻算法的室内WiFi位置指纹定位实验报告

    k-近邻算法(KNN) 简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类. 优点:精度高.对异常值不敏感.无数据输入假定. 缺点:计算复杂度高.空间复杂度高. 适用数据范围:数值型和标称 ...

  8. 无线传感器网络的时钟同步估计问题(Matlab代码实现)

  9. 无线传感器网络 | 名词解释

    为什么80%的码农都做不了架构师?>>>    邻居节点.锚点.到达时间差TDOA.信标节点.网络连接度.相对时间同步.绝对时间同步.数据重叠.到达角度AOA.信息爆炸.视线关系LO ...

  10. 基于Powell共轭方向法的UWB室内定位构型优化算法

    基于Powell共轭方向法的UWB室内定位构型优化算法 阚昊宇 摘要: UWB室内定位系统的服务性能及定位精度很大程度上受UWB基站构型影响,而GDOP是衡量系统定位服务性能的重要指标.目前关于UWB ...

最新文章

  1. geohash java github_GitHub - GongDexing/Geohash: GeoHash是目前比较主流实现位置服务的技术,用最简洁的Java实现GeoHash算法...
  2. 机器人最大的人类士人禾力积木_开化县华埠镇中心小学:积木机器人好玩儿~~...
  3. 生成Yolox检测负样本-对应空文件夹txt、批量文件重命名、批量转化三通道去除小图
  4. 重启centOS丢失nginx.pid导致无法启动nginx的解决方法
  5. php遍历目录与文件夹,介绍几种php遍历目录与文件夹的方法
  6. 百家号 不被推荐,原因:将旧闻冒充新闻发布,请修改后重新发布
  7. ROS + OpenCV
  8. xmpp 常见错误 一
  9. Python 进阶 —— x = x+1 vs x += 1
  10. 8岁小学生表白遭拒:被一部iPhone打败
  11. Oracle Tablespace Transportation
  12. c语言笔试题7(25),嵌入式软件工程师C语言笔试题(7页)-原创力文档
  13. 微信小程序云数据库中变量作为字段名与字段取值、字段值取值
  14. 大学计算机构成课程论文,大学计算机课程论文
  15. 大写的贵,如履泥潭 DeFi 如何突破手续费困境?
  16. 【实用工具01】免费的比较工具Meld
  17. 分享Qt多工程多目录的编译案例,subdirs
  18. 深度剖析C语言符号篇
  19. 644.奇怪的打印机(困难)
  20. JavaScript js如何代码加密绑定域名

热门文章

  1. Zephyr RTOS -- FIFO (LIFO)
  2. 一段Js代码开启任意网站的匿名在线聊天室
  3. 网络传输介质和常见的设备
  4. python利用opencv去除图片logo_用python+OpenCV去除图片水印
  5. 工业相机——感光元件尺寸介绍
  6. Assertion failed: Protocol wrong type for socket [10041] zeromq 4.3.1\src\ip.cpp:417)错误
  7. c语言人民日报排版的代码,人民日报都在玩的排版黑科技,教你1分钟上手!
  8. demo h5 touch 移动_移动端Touch事件与H5-Canvas像素点检测实现刮刮乐
  9. JavaScript函数-创建参数个数不限数量的函数
  10. 时间戳转换格林威治时间