目录

1. 概要

2. Triangulation

3. Trilateration

4. Multilateration


1. 概要

Triangulation、Trilateration和Multilateration是三种常用的定位技术,各有其优缺点。三者(尤其是后两者)很容易混淆,本文对三者做一个简单的对比介绍。

三种技术虽然各不同相同,但是有一个共同点,就是都需要基于直射径(LOS: Line-Of-Sight)进行测量。如果从发射端到接收端之间没有直射径,比如说直射径完全被阻隔衰减而无法到达接收端,接收端对于信号的传输距离或者到达角度都会不可避免地产生误判,并因此导致错误的定位估计。

下表是一个三者差异的极简对比表。

2. Triangulation

Triangulation (三角测量)是一项古老的技术,据说其源头可以追溯到2500年前,当时古希腊哲学家和天文学家米利都的泰勒斯就用这项技术测量了地球围绕太阳公转轨道的半径,而且取得了非常不错的精度。

简而言之,三角测量法是基于两个距离已知的参考点构成的基线(Baseline),分别测量待测点与每个参考点之间的连线与基线之间的夹角,然后基于两个基线间的距离以及两个测量所得的夹角来计算待测点与基线之间的距离,或者基于两个参考点(下图的A,B)的已知坐标以及测量得到的夹角来推算待测点(下图的C)的坐标。示意图及其计算的数学原理如下所示(这里所示的是距离测量,坐标推定的原理也同样是基于三角学原理)。

图1: 三角测量法示意图(距离测量)

如上图所示,三角测量法的关键在于:

  1. 两个距离已知的参考点构成的基线
  2. 角度测量

在何处进行测量或者以何种方式进行角度测量取决实际应用场景具备什么样的条件。比如说,前面所说的泰勒斯是在两个参考点处进行测量,并推算出太阳与基线(也就是太阳与地球)之间的距离。到了近代,这种技术被广泛应用于大地测量,比如著名的数学家高斯就基于这种测量方法进行了大量的测量,后来由于对测量数据分析的需求还发展出了数值拟合算法--最小二乘法(Least Square)。

另外,在早期航海时代,海员可以利用天上的两颗恒星以及经纬仪来确定自己的位置(恒星之间的距离当然是不知道的,但是可以基于恒星的位置基本固定因此其相对距离也基本固定,据此可以进行多次测量以及基于地面已知位置的参考点的测量结果来计算来推算相对位置)。

在现代基于无线通信技术进行三角测量法进行定位时,需要在接收端估计从发射机发出的无线信号的到达角度(AOA: Angle of Arrival)。

一种做法是通过用多根天线(天线阵列)同时接收信号,并估计自不同天线接收到的信号的相位差来间接地估计到达角度,这种技术称之为PDOA(Phase Difference Of Arrival)--后面将另文专门介绍。

另一种做法是使用定向天线来直接确定发射机的相对方位。转动定向天线进行信号接收,接收到最强信号的方向即指示了发射机所在方位。

通常作为参考点的发射机称为Anchor,而待定位设备则称为Tag。有两个Anchor的话,就可以确定在一个平面上的Tag的位置;如果需要三位定位的话,则至少需要三个Anchors。

3. Trilateration

参见:Trilateration and Least Square estimation

4. Multilateration

Multilateration很容易被误解只是Trilateration的线性推广而已,然而并不是。两者代表着两种截然不同的定位技术。

在Multilateration中,多个接收机侦听来自作为待定位对象的发射机的信号,检测发射机到各接收机的距离之差,然后利用双曲线(2D)或者双曲面(3D)相交的约束来求解发射机(相对于多个已知的接收机)的位置。而在Trilateration中是基于圆(或球)相交的约束来求解的。由于距离与飞行时间是可以相互换算的,所以在实际的系统中,通常不是测量发射机与各接收机之间的距离再计算其差值(Difference of Distance),而是直接测量发射信号到达各接收机的飞行时间差(Time Difference Of Flight),而这个时间差又可以通过单纯评估发射信号到达各接收机的到达时间差(TOA)而得(因为是接收同一个信号,所以信号发出的时间是相同的,所以到达时间差等价于飞行时间差),这样,发射机与各接收机之间的距离差估计问题就转换为到达时间差(TDOA:Time Difference of Arrival)的估计,因此绝大多数说Multilateration其实就是说TDOA。To sum up: 飞行距离差 -> 飞行时间差 -> 到达时间差。

TDOA由于不需要测量接收机与发射机之间的绝对距离,而只需要测量到达时间差,因此不需要像Trilateration那样要求发射机与接收机之间保持时钟同步,而只需要各接收机之间保持时钟同步即可。而作为anchor的接收机通常是固定安装的设备且对成本功耗等不像作为需要定位的比如说Tag那么敏感,所以相对来说比较容易实现相互之间的时钟同步。

但是以上所说的机制其实只代表两种TDOA机制中的一种。以上机制是由作为待定位对象的Tag发送信号,各Anchor接收信号,借用蜂窝通信中的Uplink(移动端发,基站收)和Downlink(基站发,移动端收)的概念,这种TDOA称为U-TDOA。另外还有一种是由多个Anchor发送信号,而作为待定位对象的Tag接收信号,这种TDOA称为D-TDOA。两者比较示意图参见下图:

图2 U-TDOA vs D-TDOA

在U-TDOA中,Tag发送信号,多个Anchor同时接收信号,要让到达时间差正确地反映飞行距离差,要求多个基站之间保持时钟同步。在D-TDOA中,多个Anchor发送信号,Tag接收。但是Tag不可能同时接收来自各各Anchor的信号,只能是让Anchor轮流发送信号而Tag以时分复用的方式依次接收来自各Anchor的信号。这样D-TDOA对于各Anchor间的时钟同步要求比U-TDOA还要更加复杂,协议也更加复杂。因此实际系统中U-TDOA相比D-TDOA更为常见一些。但是不管是U-TDOA还是D-TDOA,Anchor间的时钟同步都是保证定位性能的关键因素,有有线同步方式,也有无线同步方式。

后续我将继续介绍TDOA定位求解算法,TDOA定位系统的时钟同步问题和解决方案等。

相关博文:

TDOA算法综述(An overview of TDOA algorithm)

A naive matlab implementation of ideal TDOA algorithm

2021-09-04: 追加“4. Multilateration”的内容

What are Triangulation, Trilateration, and Multilateration?相关推荐

  1. Trilateration and Least Square estimation

    在上一篇(What are Triangulation, Trilateration, and Multilateration?)中介绍为Triangulation,这一篇我们来简单介绍一下Trila ...

  2. 论文笔记:高精度室内定位研究评述及未来演进展望

    目录 1. 前言 2. 关键定位技术评述 3. 基于定位场景的分类 4. 定位技术(系统)评价指标体系 5. 现有定位系统评述 6. 总结:挑战.基于和前进方向 1. 前言 本文是对以下论文的解读笔记 ...

  3. TDOA算法综述(An overview of TDOA algorithm)--(1)

    目录 1. 概要 2. Mathematical Formulation 3. Chan's Method 4. Fang's Method 1. 概要 TDOA(Time Difference Of ...

  4. DOP Dilution Of Precision;多点定位 Multilateration;测向交叉定位 三角定位;DAE;无人机

    DOP Dilution Of Precision 通常为了描述定位误差与伪距误差之间的关系,定义如下精度因子来衡量测量的结果: 几何精度因子(Geometric Dilution Of Precis ...

  5. 无线传感器网络:定位、安全与同步

    文章目录 Localization Ranging Techniques Received Signal Strength (RSS) Time of Arrival (ToA) Time Diffe ...

  6. MATLAB判断三角形成立的编程,Triangulation 划分三角形网络时用到的大量算法和测试例程 matlab 259万源代码下载- www.pudn.com...

    文件名称: Triangulation下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 213 KB 上传时间: 2016-05-24 下载次数: 0 详细说 ...

  7. 《SLAM十四讲》7.6 三角测量 triangulation.cpp

    三角测量是为了解决单目图像无法获取深度的问题,本博客是代码解释所以不解释三角测量的原理.先上全部代码: #include <iostream>int main ( int argc, ch ...

  8. Delaunay triangulation network怎么理解

    三角形分割 之前画球的时候,因为想把球的模型变成 Wavefront .obj file,所以当时想的是分割办法是这样来分割三角形: 包括之前尝试用Beizer曲线来画Utah teapot也都是采用 ...

  9. python三角网格代码_Python 实现 Delaunay Triangulation

    Delaunay Triangulation 是一种空间划分的方法,它能使得分割形成的三角形最小的角尽可能的大,关于 Delaunay Triangulation 的详细介绍,请参考这里,Delaun ...

最新文章

  1. 搭建AI Studio 中Python开发环境
  2. Python-OpenCV 杂项(二)(三): 鼠标事件、 程序性能的检测和优化
  3. 【荐】牛逼的WPF动画库:XamlFlair
  4. Source Insight常用的快捷键
  5. 论文浅尝 - AAAI2020 | 多模态基准指导的多模态自动文摘
  6. TensorFlow 笔记1 Mac Python环境搭建
  7. jmeter之JDBC类组件
  8. JavaScript学习(七十)—函数中this的指向问题
  9. Andirod——网络连接(HttpURLConnection)
  10. 新手请教个问题,有关cocos2d-x
  11. 离散数学期末复习总结
  12. java:找不到符号
  13. 心电监护仪数据图解_心电监护仪数据怎么看
  14. New:Spire.Office for Java 7.7.1 Not Crack
  15. 笔记本如何解除锁定计算机,笔记本键盘锁住了怎么解锁 有三种方法可以解决...
  16. Qt 实现PC端网易云音乐界面
  17. 岁末年初,为你打包了一份技术合订本
  18. 第九章 使用结构体类型处理组合数据——用户自定义数据类型
  19. 关于Salesforce里的Trigger
  20. Python 自动化教程(1) 概述,第一篇 Excel自动化首篇

热门文章

  1. RFS[4]: No standby redo logfiles available for thread 1
  2. 当a=1,b=2,c=3时,if(ac)b=a;a=c;c=b;的执行结果详解
  3. MySQL——我的学习笔记
  4. PII欧洲已经强制执行了,中国还会远吗?
  5. csr867x入门之触摸按键配置(十一)
  6. pcm5102a解码芯片音质评测_配备独立解码芯片 性能旗舰iQOO Pro音质再Hi-Fi
  7. 05.抽象队列同步器AQS应用之Lock详解
  8. ERP与MES的区别与联系
  9. maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable
  10. Unity【SwitchableObject】- 实现一个物体开关控制系统