《移动互联网技术》第三章 无线定位技术:掌握位置服务和室内定位的基本概念和工作原理

news2025/1/31 11:32:04

在这里插入图片描述

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁
🦄 个人主页——libin9iOak的博客🎐
🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

文章目录

  • 《移动互联网技术》课程简介
  • 第三章 无线定位技术
    • 本章小结:
    • 重点
      • **(1)** **卫星定位系统和定位原理**
      • **(2)** **辅助定位方法**
      • **(3)** **室内定位技术**
    • **难点**
      • **(1)** **测距定位方法**
      • **(2)** **非测距定位方法**
    • 本章习题:
    • 参考资源:
  • 原创声明

《移动互联网技术》课程简介

《移动互联网技术》课程是软件工程、电子信息等专业的专业课,主要介绍移动互联网系统及应用开发技术。课程内容主要包括移动互联网概述、无线网络技术、无线定位技术、Android应用开发和移动应用项目实践等五个部分。移动互联网概述主要介绍移动互联网的概况和发展,以及移动计算的特点。无线网络技术部分主要介绍移动通信网络(包括2G/3G/4G/5G技术)、无线传感器网络、Ad hoc网络、各种移动通信协议,以及移动IP技术。无线定位技术部分主要介绍无线定位的基本原理、定位方法、定位业务、数据采集等相关技术。Android应用开发部分主要介绍移动应用的开发环境、应用开发框架和各种功能组件以及常用的开发工具。移动应用项目实践部分主要介绍移动应用开发过程、移动应用客户端开发、以及应用开发实例。
课程的教学培养目标如下:
1.培养学生综合运用多门课程知识以解决工程领域问题的能力,能够理解各种移动通信方法,完成移动定位算法的设计。
2.培养学生移动应用编程能力,能够编写Andorid应用的主要功能模块,并掌握移动应用的开发流程。
3. 培养工程实践能力和创新能力。
 通过本课程的学习应达到以下目的:
1.掌握移动互联网的基本概念和原理;
2.掌握移动应用系统的设计原则;
3.掌握Android应用软件的基本编程方法;
4.能正确使用常用的移动应用开发工具和测试工具。

第三章 无线定位技术

本章小结:

1**、本单元学习目的**

通过学习卫星定位系统和卫星定位的基本原理,掌握常用的定位方法、基于位置的服务、以及室内定位技术。重点掌握到达时间、到达时间差、到达角度和接收信号强度四种定位方法及三种与距离无关的定位方法。了解A-GPS定位、基站定位服务、WIFI定位、IP定位和室内定位方法。

2**、本单元学习要求**

(1) 掌握GPS定位的基本原理和定位方法;

(2) 掌握各种测距定位算法和非测距定位算法;

(3) 掌握位置服务和室内定位的基本概念和工作原理;

3**、本单元学习方法**

查找网络上测距定位和非测距定位的资料,将各种算法进行比较,采用对比学习的方法,理解不同算法之间的差异、优势和缺陷。

4**、本单元重点难点分析**

重点

(1) 卫星定位系统和定位原理

定位系统是为确定对象空间位置而构建的多种设备集合。卫星定位系统能够利用在地球表面或近地空间的多颗卫星,计算出当前定位设备所在位置。结合电子地图还能实现移动导航功能。现在几乎每台汽车上都配有卫星定位系统,方便人们定位和导航。

  1. GPS

GPS(Navigation Satellite Timing And Ranging / Global Position System)是现在最常用的一种卫星定位系统。它是全球定位系统的简称。GPS 最初是一个美国军方的项目,1964年投入使用。从20世纪70年代开始,GPS主要是为军事领域提供实时的全球导航服务,同时也可以用来搜集情报、承担应急通讯等任务。今天,GPS在各个领域得到了广泛的应用,从根本上解决了导航和定位问题。

GPS的实施大体分为三个阶段。第一阶段是论证方案和初步设计,在这一阶段建立了地面网络。第二阶段陆续发射了7颗试验卫星,研制了满足各种用途的接收机,系统的定位精度超过了预期。第三阶段是卫星组网阶段,一共建成24颗GPS星座,今后将根据需要更换失效的卫星。

  1. GLONASS

格洛纳斯(GLONASS),是俄语“全球卫星导航系统”的缩写。最早开始于苏联时期,后来由俄罗斯继续该计划。1993年,俄罗斯开始独自建立本国的全球卫星导航系统。1995年初有16颗卫星在轨,1995年三次发射成功,将9颗卫星送入轨道,系统包括:24颗工作卫星加1颗备用卫星。2003年,俄罗斯研制的新一代卫星交付试用。2007年,格洛纳斯开始运营,但只开放俄罗斯境内卫星定位及导航服务。2009年,格洛纳斯的服务范围已经拓展到全球。在技术方面,格洛纳斯系统的抗干扰能力比GPS要好,但它的单点定位精确度不及GPS系统。从2010年起,已有包括iPhone、Samsung、魅族等部分手机和导航仪同时支持格洛纳斯(GLONASS)和GPS双定位系统。

  1. Galileo satellite navigation system

伽利略全球卫星导航系统是由欧盟(European Union,EU)通过欧空局(European Space Agency,ESA)和欧洲导航卫星系统管理局(European Global Navigation Satellite Systems Agency,GSA)建造的卫星定位系统。该系统有两个地面操控站,分别位于德国慕尼黑和意大利的富齐诺(Fucino)。伽利略系统的设计目标是在水平和垂直方向提供精度1米以内的定位,并且在高纬度地区提供比其他系统更好的定位服务。伽利略系统第一颗试验卫星(GIOVE-A)在2005年发射,第一颗正式卫星于2011年发射。2014年8月,第二批卫星成功发射升空。到2016年5月,已有14颗卫星进入轨道。2016年12月在布鲁塞尔举行启用仪式,提供早期服务。预计在2017年到2018年提供初步工作服务,最终于2019年具备完全工作能力。该系统轨道高度为23616 km,计划发射30颗卫星,其中24颗工作星,6颗备份星。

  1. BDS

北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)是我国家独立自主建设的卫星导航系统。第一代北斗系统,又称为北斗卫星导航试验系统,由三颗卫星提供区域定位服务。第二代北斗系统(称为北斗卫星导航系统)也称为北斗二号,在2011年开始投入定位服务,这时北斗二代包含了10颗卫星。2012年11月,北斗系统开始在亚太地区为用户提供区域定位、导航和授时服务。2014年国际海事组织海上安全委员会通过了对北斗系统认可的航行安全通函。2015年,开始建设第三代北斗系统(北斗三号),发射了第17颗卫星,标志着北斗导航系统由区域运行开始向全球组网。到2016年底,已发射了五颗三代在轨验证卫星。预计2020年完成建设,并提供全球定位服务。北斗系统计划由35颗卫星组成,包括5颗静止轨道卫星、27颗中地球轨道卫星、3颗倾斜同步轨道卫星。

GPS 是通过接收和解译人造卫星发射的电波信号来确定被测站点位置的测量定位系统。整个系统由三个部分构成:(1)轨道空间上的多颗卫星(2)地面上的多个监测站(3)接收卫星信号的接收设备。

GPS的地面监控系统由主控站、监测站和注入站组成,分别设在美国本土的科罗拉多和三大洋的美国军事基地。主控站在克罗拉(Colorado)的法尔孔(Falcon)空军基地,它根据各监控站对GPS的观测,计算卫星星历、卫星钟的改正参数(还有其他的一些信息);同时,它还对卫星进行控制,向卫星发布指令,当工作卫星出现故障时,调度备用卫星,替代失效的工作卫星。监控站有五个,分别位于夏威夷(Hawaii)、阿松森群岛(Ascencion)、迭哥伽西亚(Diego Garcia)和卡瓦加兰(Kwajalein)。监控站接收卫星信号,监测卫星工作状态。注入站有三个,它们分别位于阿松森群岛(Ascencion)、迭哥伽西亚(Diego Garcia)和卡瓦加兰(Kwajalein),它们的作用是将主控站计算出的卫星星历和卫星钟的改正数注入到卫星中。

GPS接收机包括天线单元和接收单元两个部分。天线能跟踪卫星,接收和放大GPS信号。接收主机记录GPS信号并对信号进行解调和滤波处理,还原GPS卫星发送的导航电文,获得位置、测速和定时等信息。处理器是GPS接收机的核心,承担整个系统的管理、控制和实时数据处理。显示器是接收机与用户进行人机交互的部件。

通常所说的定位就是确定某个对象在地球上的位置。以GPS定位为例,GPS系统的定位方式是通过GPS设备同时获取多颗卫星的信息来定位目标。

假设电波在空气中的传播速度为C。卫星在t1时刻发射一个信号,这个信号在t2时刻到达接收机。信号经过的距离为D。根据无线电波传播速度和信号收发时刻,可以很容易计算出卫星到接收机的空间距离:D=C×T,其中T是t2和t1两个时刻的差值。

获取准确的信号传输时间,对于计算卫星到接收机的距离非常关键。在卫星上,有一个专门的卫星钟用于确定信号发送时间。每个GPS卫星不断地发送定位信号,定位信号中除了位置信息(数据包)以外,还会附加上发送的时间戳。GPS接收器收到卫星信号以后,用接收时间减去信号发送时间(信号的时间戳),这就是数据包在空中传输的时间。在计算接收机位置时,假定卫星钟和接收机上的时钟是对准的,也就是假设它们在时间上是同步的。

在实际定位中,信号的传播时间是通过卫星发送的伪测距码来计算。接收机收到测距码信号后,将根据测距码信号产生一个结构相同的码序列。通过延时器不断调整延迟时间,把复制的码序列与接收到的码序列进行相关性计算,当这两个码在某个延迟时间最接近时,就认为这个时间就是信号的传播时间。

通过计算卫星到接收机的距离,以这个距离为半径,可以得到一个以卫星为中心的球面,接收机就在这个球面上。如果同时从两个卫星上接收信号,两个卫星构成的球面相交得到一条圆弧。接收机就处于这条圆弧的某个位置上。当同时接收三个卫星信号,三个球面就相交在一点上,而这一点就是接收机所在的位置。三个卫星S1、S2、S3到接收机的距离分别是D1、D2、D3。根据这三个距离值,以及卫星在空间上的位置,就可以计算出接收机在空间上的坐标。

已知三个卫星的坐标位置。假设x、y、z是接收机的坐标位置,它们是未知变量。接收机到三颗卫星的距离也已经计算出来。根据距离公式,可以得到三个方程,如下所示:

在这里插入图片描述

三个方程,有三个未知数,因此可以把x、y、z解出来。

在计算接收机坐标位置时,还需要解决一个问题:用户时钟与卫星时钟的时间同步问题。卫星发送信号的时刻是以卫星钟为准。接收机收到卫星信号以后,测定GPS信号的接收时刻则是以用户钟为准。发射时刻为t1,接收时刻为t2,信号传播的时间为T = t2 - t1。由于用户钟(普通石英钟)的测时精度远低于卫星钟,用户钟与卫星钟不可能在时间上同步;因此通过t2和t1计算的信号传播时间T不准确,从而造成卫星到接收机的距离计算存在误差。实际距离Di’应该等于Di加上速度乘以测时误差Δtu,Δtu未知。

在这里插入图片描述

前面给出了三个方程,但是现在多了一个未知数Δtu,通过三个方程无法计算出接收机的坐标位置。因此,在实际定位过程中,需要同时观测四颗卫星,测出四个距离,然后通过四个方程求出待测点的坐标位置(x, y, z)。

GPS接收机在接收卫星信号时,由于受到卫星和接收机时钟误差、大气传播误差、卫星广播星历误差、多径效应等因素的影响,距离测量不准确,因此又称为伪距。

从定位精度来看,不同的定位方式得到不同的定位精度。按定位方式的不同,GPS定位分为单点定位和相对定位。单点定位只能采用伪距观测量进行定位,通常用于车辆和船只的粗精度定位导航。相对定位既可采用伪距观测量也可采用相位观测量进行定位。它通过抵消或削弱大部分公共误差,从而极大的提高了定位精度。双频接收机就是根据两个频率的观测量来抵消大气中电离层误差的主要部分。大地测量或工程测量都需要采用相位观测值进行相对定位。

(1) 单点定位

单点定位又称为绝对定位。它采用一台接收机来确定当前的坐标位置。单点定位一般应用在导航和精度要求不高的场景中。由于导航信息误差,电波传播时间误差等原因,绝对定位的精度比较低,一般在几十米的范围内。普通GPS的信号有两种码,分别为C/A码和P码。一般的接收机利用C/A码定位,P码则用于军用。在20世纪90代中期,美国还在卫星信号上加入了干扰,让接收信号的误差增大,使得定位精度在100米左右。2000年以后才取消了干扰(SA,Selective Availability)。

(2) 相对定位

差分定位,也叫相对定位,它通过两台或者两台以上的接收机来获取定位数据,以确定观测点之间的相对位置。在工程测量中通常采用相对定位。

GPS定位受大气、卫星状况、云层厚度等多种因素影响,具有较大的误差。如果把两台GPS放在相距不远的两个点上,让这两个GPS同时接收信号,那么它们的误差因素几乎相同,其中一台(放在已知点上)得到一个误差值,通过这个值来消除另外一个接收机的误差值,就能得到相对准确的定位信息。相对定位就是利用两台GPS接收机同步观测相同的GPS卫星来进行精确定位。

相对定位通过对接收到的电波信号作合成处理,可以求出接收机之间的相对位置,地球坐标系的三维坐标差,或者是基线向量。从测量方式来看,两个接收机相隔不能太远(低于10公里);它们接收的误差要大致相同(包括星历、时钟、传播等误差)。从效果来看,相比单点定位,相对定位的精度有很大的提高,可以达到厘米级,甚至毫米级定位,能够用于工程和大地测量。

(2) 辅助定位方法

基于位置的服务(Location Based Services,LBS)把移动通信网络和卫星定位系统相结合,向终端用户提供位置信息,并且在此基础上集成了各种与位置相关的业务。1995年,美国联邦通信委员会FCC颁发E911强制令,从2001年10月1日起,美国的无线运营商要提供自动位置识别业务。1999年欧洲的通信法规定:2003年1月1日起有紧急呼叫发生时,要为紧急救援机构提供位置资料。

  1. AGPS****定位

GPS接收机启动后,它需要根据接收到的信号分析每颗卫星的频率、编号、运行轨迹等信息,才能最终锁定卫星。一般GPS接收机首次定位非常慢,在开阔地方可能要十几二十分钟。一旦GPS定位成功,在GPS接收芯片中,会保留最后一次定位的经纬度,以及定位位置上空卫星的数量和轨迹等信息作为短效星历,一般保存不超过4个小时。

辅助全球卫星定位系统(Assisted Global Positioning System,AGPS)是结合移动网络基站信息和GPS信息对移动台进行定位的技术。AGPS不依赖GPS接收机的计算或存储,它的服务器保存了卫星完整的轨迹资料。基站和AGPS服务器连接,就可以得到基站所在位置(已经记录了基站的经纬度信息)的星历,把基站的位置和星历数据发送到手机上,即可实时更新手机GPS芯片上的星历。由于接收器不必再下载和解码来自GPS卫星的导航数据,这样能降低首次定位的时间,手机的GPS定位速度和精度都有了很大的提升。室内也能借基站信息进行定位,从而减轻GPS芯片对卫星的依赖度。

  1. 基站定位

基站定位是以基站作为参考点,然后对基站信号覆盖范围内的移动设备进行定位。通过服务器提供的电子地图,移动设备能确定自身所在的位置。

每个小区都有一个全球惟一的CGI(Cell Global Identity),它由四个部分组成:CGI= MCC+MNC+LAC+CI。

(1) 基站识别码(Cell ID,CI)

(2) 移动国家代码(Mobile Country Code,MCC)

(3) 移动网络代码(Mobile Network Code,MNC)

(4) 位置区代码(Location Area Code,LAC)

中国的MCC是460,中国移动的MNC是00,中国联通的MNC是01。每个小区还可以划分为多个扇区(Cell Sector)。在定位时,还加入了最大时间提前量TA(Time Advanced)来提高准确度。TA是两个时间的差值,一个时间是移动设备信号到达基站的实际时间;另一个时间是当该移动台与基站之间的距离为0时,移动台信号到达基站的时间。

  1. RSSI****定位

RSSI(Received Signal Strength Indication,接收信号强度指示)定位是目前一种常用的定位方式。移动设备能够获取发射台发射信号的强度,而且也能确定它收到信号的强度。根据无线信号强度与信号传输距离的关系,利用各种理论和经验模型,可以计算出移动设备与发射装置之间的距离。最后,结合其他定位算法,比如三边定位算法,可以求出移动设备的坐标位置。

RSSI定位的步骤如下:

a) 移动设备获取RSSI值;

b) 进行数据滤波处理,通过去噪算法和滑动平均滤波算法进行滤波;

c) 根据处理过的RSSI值以及信号衰减模型,计算目标节点到参考节点的距离;

d) 根据三角质心定位算法计算出目标节点的坐标位置。

由于RSSI受信号反射、散射、绕射等多路径衰减和遮挡影响,信号强度与距离的对应关系不可能很准确,因此计算的定位结果会有较大的误差。对此,可以考虑用加权质心算法估计目标节点坐标,进一步提升定位精度。

  1. WIFI****定位

WIFI定位通常用于室内定位。每一个无线AP,也就是无线访问点(Access Point),都有一个全球唯一的MAC地址,并且一般无线AP在一段时间内不会移动。无线AP会广播自己的MAC地址。移动设备开启Wi-Fi以后,就可以扫描周围AP的信号,无论是否加密,是否已连接,甚至信号强度不足,AP都显示在无线信号列表中。因此,移动设备能够获取到所有AP广播的MAC地址。

移动设备将标识AP的数据,比如MAC地址,信号强度等,发送到位置服务器;服务器搜索每一个AP的位置信息,再根据每个信号的强度,计算出移动设备的坐标位置。WIFI定位的计算方式和基站定位位置计算方式相似,也是利用三点定位或多点定位技术。服务器计算出位置后,再把位置信息返回给移动设备。位置服务商需要不断更新和补充位置数据库的信息,以保证数据的准确性。

WIFI使用采集装置来收集周围AP发出的广播信息,获取它们的MAC地址和信号强度。收集以后,将这些信息上传到服务器。当采集的信息足够多,就形成了一个WiFi定位网络。数据采集有两种方式:一种是服务商主动采集位置信息,另一种是移动设备用户主动提供位置信息。比如:谷歌的街景拍摄车采集沿途的无线信号,然后再通过GPS定位,把WIFI的位置信息回传到服务器。如果Andriod手机允许Google使用定位服务,这样通过手机就能够收集WIFI的位置信息。

  1. IP****定位

IP定位是通过设备的IP地址来分析某些属性信息,从而确定设备的坐标位置。属性信息可以是主机的名字、IP地址本身、注册信息,也可以是设备之间的时延关系或者连接关系等。定位服务器收集IP地址信息完成定位估算,然后向用户提供定位服务。通常可以通过向DNS服务器查询或者挖掘隐含在主机名中的信息来推测IP设备的地理位置。一些定位算法根据时延与地理距离之间的线性关系来估测主机位置,并通过拓扑信息来减小定位误差。IP定位需要较完备的IP地址数据库以及IP相关的属性信息,其缺点是定位精度较差,IP地址数据库维护与完善困难。IP定位还要考虑减少测量开销,并注意保护用户的隐私。

(3) 室内定位技术

室内定位技术是室外定位技术的延伸。在室内环境无法使用卫星定位时,室内定位技术的发展解决了卫星信号不能穿透建筑物的问题。目前,常见的室内无线定位技术包括:红外线、超声波、蓝牙、RFID、UWB、Wi-Fi、ZigBee等技术。从定位方法来说,有计算机视觉、光跟踪、图像分析等技术。目前,很多技术还处于研究试验阶段,比如基于磁场压力感应进行定位。

  1. 红外线室内定位

红外线室内定位技术是通过安装在室内的光学传感器接收目标物体发射的(调制的)红外线信号;然后接收机将信号数据传送给数据库,通过比对和计算进行定位。另外,也可以通过多对发射器和接收器接发信号,形成红外线网络,覆盖整个待测空间,然后对运动目标进行跟踪和定位。

红外线定位精度较高,但是容易被荧光灯或者房间内的灯光干扰。由于红外线只有直线视距,不能穿过障碍物,传输距离较短,限制了室内定位的效果。红外线定位也适用于实验室对物体的轨迹跟踪,以及室内行走机器人的位置定位。

  1. 超声波定位

通常把超声波发生器放在被定位的目标上,发生器按照一定的时间间隔发送超声波脉冲。定位时,在周围3个固定位置上会接收到发射的脉冲信号,通过比较三个接收装置收到信号的时间,根据回波与发射波的时间差计算待测距离;然后通过三边定位等算法计算出目标的具体位置。当目标移动的时候,通过不间断的测量,获取目标的运动轨迹,比如在汽车驾驶考场,超声波可用来定位汽车,记录汽车行驶轨迹,从而自动判断汽车驾驶员是否合格,减少了监考人员的工作量。超声波定位的特点是:整体定位精度较高,结构简单,但是受多径效应和非视距传播影响较大,需要大量的底层硬件设施,成本较高。

  1. 蓝牙室内定位技术。

采用蓝牙室内定位需要在室内安装若干个蓝牙接入点,然后通过测量信号强度计算蓝牙设备到基站的距离;再根据测定的多个距离对新加入的蓝牙节点进行定位。蓝牙设备体积小、功耗低,容易集成在手机等移动设备中。只要蓝牙功能开启,就能够对其进行定位。蓝牙传输不受视距的影响,但对于复杂的空间环境,蓝牙系统的稳定性较差,噪声信号干扰大。

iBeacons定位的特点是:功耗低,不需要配对,定位精度可达毫米级,最大可支持50m的范围。蓝牙定位的主要缺点是需要用户主动开启蓝牙。

  1. 射频识别技术定位

采用射频识别技术,给每个物品设置一个电子标签。当物品处于激发天线的激发区时,电子标签被唤醒并对外发送无线射频信号。阅读器接收电子标签信号并将信息传送给上层应用系统。应用系统分析采集到的数据,实现模糊定位。要实现更精确的定位可采用三点定位算法。利用射频识别技术的室内定位作用距离近,一般最长为几十米;另外,物品标识的体积小,造价低,定位准确,可以在几毫秒内得到厘米级定位精度,但不具有通信能力。该定位技术目前主要用于仓库、工厂和商场,实现对货物和商品的定位。

  1. 超宽带定位技术

采用UWB(超宽带)脉冲信号进行定位,是利用事先布置好的基站(已知位置)与新加入的节点进行通信来获取目标位置。在定位过程中,由UWB接收器接收标签发射的UWB信号,过滤各种噪声干扰,获取有效信息;再通过中央处理单元完成测距计算和分析,通常利用三角定位或者“指纹”定位来确定标签的位置。

超宽带定位技术在军事上主要用于人员定位和设备追踪;在工业和汽车领域,用于实时追踪资产和库存;在医院用来实时跟踪病人,以方便照顾和管理。高定位精度的应用范围比较特殊,因此当前只能用于对确保生命财产有较高要求的行业,比如矿下人员定位、养老院人员看护、大型仓储货物定位等等。

  1. Wi-Fi室内定位

Wi-Fi室内定位有两种方式,一种是通过测量移动设备与三个无线接入点的信号强度,对目标进行三角定位。另一种是把无线接入点的信号强度和其他信号特征记录到数据库,然后用新加入设备的信号特征与数据库中的数据进行对比,进而确定目标位置,这就是“指纹”定位方法。

在室内无线网络中,每一个无线AP都有一个全球唯一的MAC地址。通常无线AP在一段时间内不会移动。移动设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,不论其是否已连接,以及是否加密。甚至AP信号强度很弱,不足以显示在无线信号列表中,也能够获取到AP广播的MAC地址。移动设备将能够标示AP位置的相关数据发送到位置服务器。服务器搜索每一个AP的地理位置,并结合每个信号的强弱,计算出移动设备的地理位置并返回给移动设备。另外,位置服务器需要不断更新、补充自己的数据库,以保证数据的准确性(AP位置也可能发生改变)。

  1. ZigBee定位

ZigBee是一种短距离、低速率的无线网络技术,它是由很多微小传感器构成的网络。每个传感器只需很少的能量,它们以接力的方式将数据从一个节点传到另一个节点。网络中包括若干个待定位的节点和已知位置的参考节点。在定位过程中,每个微小节点通过相互通信来获取位置信息,然后使用非测距方法来确定未知节点的位置。ZigBee的定位精度取决于环境、信号源密度等各种因素。目前,ZigBee室内定位已经应用于工厂人员和物品的跟踪和定位。ZigBee定位的特点是:通信效率非常高,低功耗和低成本。

难点

(1) 测距定位方法

测距定位通过测量节点间的距离来计算未知节点的坐标位置,常用的测距定位有:到达时间、到达时间差、到达角度、接收信号强度等等。

  1. 到达时间(Time Of Arrival,TOA)

如果要确定手机所在的位置,可以通过测量无线电波从手机到达多个基站的时间,并计算相互之间的距离,来确定手机的位置。TOA定位方法要求手机和基站在时间上能精确同步。因此,它对系统的时间同步要求很高,任何很小的时间误差都会对定位带来很大的影响。在实际应用中,很少使用单纯的TOA方法。

  1. 到达时间差(Time Difference Of Arrival,TDOA)

TDOA是通过手机发送信号到多个基站,检测信号到达各个基站的时间差来确定手机位置,而不是由到达的绝对时间来计算手机的位置。采用三个不同的基站可以测出两个到达时间差,以基站为焦点,距离差为长轴,画出双曲线,手机就位于双曲线(由两个到达时间差所决定)的交点上。基站分布的位置对定位精度有很大的影响。到达时间差方法对时间同步的要求较低,通过求差会抵消很大一部分的时间误差和由多径效应带来的误差,因此可以大大提高定位的精确度。

  1. 到达角度(Angle-of-Arrival,AOA)

除了时间,也可以通过角度来估计位置。AOA是指由两个或更多基站通过测量接收信号的到达角来估计移动用户的位置。用某些硬件设备,比如定向天线,可以测量移动设备发射信号的到达方向。AOA方法不需要每个接收天线都做到时间同步。其误差来源主要是角度解析的误差。在距离较远的时候,角度解析的误差较大。

  1. 接收信号强度(Received Signal Strength Indication,RSSI)

RSSI是指接收机输入的平均信号强度指示。手机距离基站越远,信号就越差。通过测量信号强度,结合信号衰减模型,可以估计出接收点与待测点之间的距离,然后再测定物体的位置。由于RSSI受信号反射、散射、绕射等多重路径衰减,以及遮挡等环境因素的影响,定位的误差会比较大。

通过前面介绍的四种方法测量出移动设备到各个基站的距离,接下来需要通过距离来定位移动设备的位置。测距定位的方法主要有:三边定位和三角质心定位。

  1. 三边测量法

假设D是移动设备,A、B、C是三个基站,测量这三个基站到D的距离,分别为r1、r2、r3。通常基站是固定的,能够得到它们的坐标位置,因此A、B、C的坐标(x1,y1)、(x2,y2) 和 (x3,y3)是已知的。根据距离计算公式,可以列出三个方程,然后解出x和y,得到移动设备D的位置:三个圆的公共交点就是移动设备D的位置,如下图所示。
在这里插入图片描述

  1. 三角质心法

由于噪声和障碍物对电磁波信号的干扰,以及受测量误差的影响,一般接收机接收到的信号强度值会小于预计的信号强度值,这就使得在圆周模型中,三个圆不可能相交于一点。测量误差通常会让三个圆的半径偏大。如果采用三边测量法来计算目标位置,就会产生较大的误差。因此,使用三角质心法,确定移动设备处于p1、p2、p3三个点所构成的三角形当中,如下图所示。

在这里插入图片描述

通过计算三角形p1p2p3的质心,把它作为移动设备所在的位置。由于三角质心法没有反映参考节点对目标节点位置的影响力,从而可能影响目标节点的定位精度。在加权三角质心定位算法中,通过加权因子来体现各参考节点对质心位置的影响程度,从而反映节点之间的内在关系和位置约束,提升了定位的精度。

(2) 非测距定位方法

在无线传感器网络中,传感器数量众多,而且它们散布在非常广的感知区域。给每一个传感器节点都配备一个GPS接收器,或者用人工的方式来放置传感器节点,都是不现实的。因此,对于无线传感器节点的定位要考虑使用新的定位方法。

在无线传感器网络中,某些节点,比如Sink节点可以自己精确定位,然后以此作为参照基准,其他传感器节点利用参考节点和局部定位算法来完成定位。下面给出与定位相关的几个概念:

  1. 锚节点也称为参考节点,信标节点,这种节点的坐标位置是已知的,它用来协助未知节点的定位。
  2. 未知节点就是需要定位的传感器节点。节点之间通过无线方式相连。未知节点根据少数锚节点,按照某种算法计算出自身的位置信息。

下面主要介绍三种非测距定位方法,分别是:质心定位、DV-HOP定位以及APIT定位。

1) 质心定位

质心定位算法是一种粗定位算法,它基于网络连通性对未知节点进行定位,并且不需要参考节点与未知节点的协同操作,是一种简单而且易于实现的定位算法。质心定位算法的主要缺陷是定位精度不高。

如果不确定网络的拓扑结构,可以利用节点之间的连接测度来定位,其基本思想是:利用锚节点与未知节点的连接测度来确定参考节点;然后通过多个参考节点来估算未知节点的位置。首先锚节点也就是参考节点,把自己的位置信息广播出去。未知节点在一个给定的时间间隔内,收到各个参考节点发来的信息;未知节点对每个参考节点Ri,统计在这段时间内收到的信标消息数:Nrecv(i,t)。Nsent(i,t)是参考节点i在时间间隔t发送的信标数。接下来,计算连接测度CMi。最后,根据连接测度来判断有哪些参考节点处于未知节点的通信范围,通过可连通的参考节点的位置来计算未知节点的位置。

质心定位算法的实现步骤如下:

a) 锚节点周期性地发送包含自身位置信息的信标消息;

b) 未知节点在一个给定的时间间隔t内接收信标消息;

在这里插入图片描述

d) 未知节点选择CMi大于指定阈值的参考节点(n个),计算位置估计值。

通过上面的计算,已经找到了与未知节点连通的所有参考节点。n个参考节点构成n边形,通过计算这个n边形的质心坐标来得到未知节点的坐标。n边形的质心坐标就是未知节点坐标的估计值。

在这里插入图片描述

采用质心定位,需要满足两个假设条件:第一,发射站发射射频信号是均匀地向四周发散;第二,所有网络节点的通信范围相同,且不发生改变。射频信号的传播遵循理想的圆球模型,节点的通信半径相同且不会改变。

2) DV-HOP****算法

质心定义算法通常要求无线网络中参考节点分布比较密集。采用DV-HOP算法能够定位稀疏网络中的未知节点。DV-HOP算法通过距离矢量路由和跳计数避免了直接测量节点之间的距离,节点间通过相互交换信息,相互协作来完成位置定位。DV-HOP算法包括四个步骤:

a) 通过距离矢量路由法获取未知节点与信标节点之间的最小跳数;

b) 计算每一跳的平均距离;

c) 以每跳的平均距离与最小跳数的乘积作为未知节点与信标节点的估算距离;

d) 用三边测量法估算未知节点的坐标位置。

算法中的距离计算又分为三个阶段:

第一阶段:计算未知节点与每个参考节点的最小跳数。参考节点向其邻居节点广播信标消息(即自身位置信息的分组)。接收节点收到信标信息以后,记录自己到每个参考节点的最小跳数,并且将跳数加1,然后转发给自己的邻居节点。所有节点保存自己到每个参考节点的最小跳数。

首先,参考节点向自己的邻居节点发送广播消息,告知自己的位置。M节点在收到A、B、C的位置信息时,同时记录自己到A、B、C的最小跳数;接下来把接收到的消息(来自A、B、C发送的消息)的跳数加一以后,进行转发。最终,所有节点都记录了自己到每个参考节点的最小跳数。

第二阶段:经过第一阶段的路由,每个参考节点也都知道了其他参考节点的位置。比如:参考节点i,知道参考节点j的位置,并且它知道到达参考节点j的最小跳数。接下来计算两个参考节点之间的距离,并且把所有参考节点之间的距离相加,再除以总的跳数,就得到了参考节点i在网络中每一跳的平均距离。最后,再把每跳平均距离在网络上进行广播,让所有的节点都知道参考节点i在网络中的每跳平均距离。

计算参考节点i的每跳平均距离: 在这里插入图片描述

xi, yi:参考节点i的空间坐标,hi,j:参考节点i到参考节点j的最小跳数。

第三阶段:计算未知节点的坐标。未知节点把接收到的第1个平均每跳距离记录下来;然后,把平均每跳距离乘以最小跳数,计算出未知节点到每个参考点的距离;最后,通过三边测量或者其他方法(极大似然估计法)来求出自己的坐标位置。

DV-HOP算法存在一些问题:第一,在通信范围内无论其相距多远,都将其跳数估计为一跳,这就造成跳数与距离可能没有直接的对应关系,比如有时候一跳可能会很远。第二,跳数和平均跳距的计算太单一,而且毎跳距离不同,用跳数直接乘以平均跳距來计算参考节点与未知节点的距离会偏离实际距离,造成节点定位出现较大的误差。DV-HOP算法的适用条件是:网络结构分布各向同性,没有太大的跳距偏差。

3) APIT****算法

近似三角形内点测试法(Approximate Point-in-triangulation Test,APIT)是一种非测距的定位技术。它包括三个步骤:

a) 未知节点选取三个参考节点,判断自己是否在这三个参考节点所组成的三角形的内部;

b) 未知节点再选择三个参考节点,再做同样的判断,直到穷尽各种参考节点的组合,或者达到某种设定的精度;

c) 把所有包含未知节点的三角形放到一起,这些三角形相交在一起,形成一个多边形,相交多边形的质心就是未知节点的估计位置。

APIT算法有一个关键问题必须解决,那就是如何判断未知节点在参考节点围成的三角形的内部。通常判断一个点是否在一个三角形的内部,需要知道各个点的坐标位置,或者知道未知点到三角形顶点的距离。在无线传感器网络中,既不知道未知节点的坐标,又没办法测量未知节点到参考节点的距离。那么用什么办法来测试点与三角形之间的关系?

最佳三角形内点测试法(Perfect In Triangulation Test,PIT)能够检测出待测点与三角形之间的关系。未知节点M在平面上移动,如果存在一个方向,沿着这个方向,未知节点M会同时远离或接近三角形的3个端点A、B、C,则M位于ΔABC的外部;否则M位于ΔABC的内部。

APIT算法适用于无线信号传播模式不规则,传感器节点随机散布的环境。它的特点是:定位精度高,性能稳定,对参考节点的数量和分布没有过多的要求,而且计算的结果不会有太大的偏差。

APIT算法也存在一些问题:

a) 有时参考节点很多但是无法构成三角形,未知节点成为未确定节点,因此无法使用APIT算法来完成定位。

b) 有的未知节点连接的参考节点数太少(少于3个),也没有办法定位。这种节点通常是处于边缘位置的传感器节点。

本章习题:

1**、本单元考核点**

卫星定位的基本概念和原理。

单点定位和相对定位的概念。

测距定位和非测距定位算法。

位置服务的概念和辅助定位方法。

室内定位的基本概念。

2**、本单元课后习题**

1、简述GPS的定位原理。

*答案:GPS卫星信号中所包含的信息大致包括卫星的星图轨道信息和精确无比的时间信号(原子钟校准),通过速度、时间与距离的公式,再辅助上四点定位的原理即可确定用户的位置。*

2**、**简述蓝牙室内定位技术的基本原理。

*答案:蓝牙室内定位主要利用的是蓝牙4.0的beacon广播功能(1)Beacon基站不断发送广播报文;(2)终端收到广播报文后,测算距离该基站的距离;(3)根据距离多个基站的距离,实现多点定位功能。*

3**、**简述三角质心定位法的基本原理。

*答案:三角质心法的原理如下:如果知道移动节点到三个信标节点的物理距离,画三个圆,这三个圆的公共交点就是移动节点的位置;在实际中,由于噪声的影响,信号的急剧衰落,测量误差等原因,三个圆不可能相交于一点,反映到推导出来的移动节点到信标节点的估计距离上,结果就是所画的三个圆的半径都偏大。移动节点的位置在这三个圆的公共交集区域内,通过取三角形的质心,作为移动节点的估计位置。*

参考资源:

1**、**徐小龙著.物联网室内定位技术.北京:电子工业出版社,2017.

2**、**邓凡平著.深入理解Android Wi-Fi、NFC和GPS卷.北京:机械工业出版社,2015.

原创声明

=======

作者: [ libin9iOak ]


本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任。

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无线路由器解决方案 MR500E工业级4G路由器可实时监控4G信号强度

近年来,随着物联网技术的快速发展,越来越多的制造企业开始加速推进工业互联网的建设和应用。作为工业互联网的重要基础设施之一,工业级4G路由器也不断迭代升级,以满足企业多样化的应用需求。 无线路由器解决方案MR500E工业4G路由…

矩阵通引入AIGC,帮助企业挖掘用户线索

据CNNIC报告数据,截止2022年6月,我国网民规模达10.51亿,其中短视频用户规模为9.62亿,网络直播用户规模达7.16亿,占网民整体的68.1%。 庞大的用户体量为直播带货奠定了基础,给品牌商家提供了新流量阵地&…

winDbg 分析dump

一、linux 部属.netcore生成dump #当然默认是不支持的,需要用 ulimit 开启,这个命令可以用来配置当前系统资源的使用额度 ulimit -a #core file size 就是用来指定生成 dump 文件的大小,默认为 0,即表示不生成,我们临…

使用gitlab 自带 CI/CD 构建部署项目

首先是处理网络问题 这里我用的是桥接模式 桥接模式方便局域网内的小伙伴一起使用 如果没有这个打算可跳过这步 # 使用ip addr 查看网络 ip addr编辑网络 vi /etc/sysconfig/network-scripts/ifcfg-你的网络名称 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改如下内容 B…

数据结构与算法:栈和队列

1 栈 栈是一种后入先出(LIFO)的线性逻辑存储结构。只允许在栈顶进行进出操作。 1.1 栈基本操作 基本操作包括:入栈(push)/出栈(pop)/获取栈顶元素(peek)。 栈的实现主…

CNN卷积类型总结(标准卷积、空洞卷积、反卷积、深度可分离卷积、分组卷积等)

目录 标准卷积 卷积的运算 conv2d conv1d 其他卷积类型 空洞卷积(膨胀卷积) 反卷积(转置卷积) 深度可分离卷积 分组卷积 参考文章 上学时,卷积常在各个课程中出现,现代、信号与系统这些&#xff…

第45步 深度学习图像识别:Nasnet建模(Tensorflow)

基于WIN10的64位系统演示 一、写在前面 (1)Nasnet NASNet是由Google Brain团队在2017年提出的一种神经网络架构搜索(Neural Architecture Search,简称NAS)的结果。NAS是一种用于自动化设计深度学习模型的技术。在NA…

oracle字符集

1、查看oracle字符集 如果操作系统或者客户端的字符集设置和数据库设置不一样就会出现乱码 查询NLS_LANG即操作系统环境变量要设为 NLS_LANGUAGE_NLS_TERRITORY**.NLS_CHARACTERSET**,如: export NLS_LANG“AMERICAN_AMERICA.AL32UTF8”

Spring MVC处理响应附案例详解

目录 一、配置视图解析器 二、控制器方法的返回值 2.1 返回值为void 2.1.1 控制器方法 2.1.2 jsp页面 2.1.3 测试结果 2.2 返回值为String 2.2.1 控制器方法 2.2.2 测试结果 2.3 返回值为ModelAndView 2.3.1 控制器方法 2.3.2 JSP页面 2.3.3 测试结果 三、某些会…

基于蒙特卡罗法评估智能电网可靠性研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

python爬虫_django+vue+echarts可视化查询所有CSDN用户质量分

文章目录 ⭐前言⭐ 效果⭐django简介⭐vue3简介⭐vue引入echarts ⭐前后分离实现💖 django代码层💖 vue3代码层结束 ⭐前言 大家好,我是yma16,本文分享关于前后分离djangovueecharts可视化查询CSDN用户质量分。 该系列文章&#…

一种基于linux内核双向链表的移植

1.简介 双向链表(Doubly Linked List)是一种常见的数据结构,由一系列的节点组成,每个节点都包含两个指针,分别指向前一个节点和后一个节点。与单向链表不同,双向链表可以在 O(1) 的时间复杂度内向前或向后遍…

【Unity编辑器扩展】(三)PSD转UGUI Prefab, 一键拼UI解放美术/程序(完结)

工具效果: 第一步,把psd图层转换为可编辑的节点树,并自动解析UI类型、自动绑定UI子元素: 第二步, 点击“生成UIForm"按钮生成UI预制体 (若有UI类型遗漏可在下拉菜单手动点选UI类型): 验证一键生成UI效果: 书接上…

idea双击打不开怎么办?

今天在敲代码的时候,突然出现了一个bug,idea打不开了,这个问题怎么解决? 只要找到C:\Users\Administrator .IntelliJIdea2019.3这个文件把所有文件都给删了就可以重启了 哈哈,重启成功

Bayes贝叶斯定理

问题的关键在于:人们是否考虑过大背景/先验/问题的前提,从而做出一个大致的估计。这就引出了我们关于理性的探讨,理性不是说知道事实,而是认识到哪些因素是有关的。 x.1 一个关于贝叶斯定理的例子 引入一个steve假设。我们已知大…

开源进展 | WeIdentity v3.1.1发布,提供无存储依赖的纯功能接口

作为连接实体对象(人或物)的现实身份与链上身份的可信映射,实现实体对象之间安全可信的数据授权与交换,分布式身份技术解决方案在推动区块链应用繁荣及可信数据流转的过程中扮演着重要角色。 WeIdentity是由微众银行自主研发并完全…

parcel打包工具搭建热开发项目环境

parcel是一款WEB端打包工具 能够提供热开发的项目环境 使用了的话不然Webpack 但相对搭建项目会更快一些 我们现在本地创建一个目录 然后 用编辑器打开我们创建的目录 运行终端 在终端中输入 npm init 初始化一个项目 运行完毕之后 我们就会得到一个package.json文件 然后…

Spring Boot 中的 RedisCacheManager 是什么,原理,如何使用

Spring Boot 中的 RedisCacheManager 是什么,原理,如何使用 介绍 在现代应用程序中,缓存是提高应用程序性能的重要组成部分。Spring Boot 提供了一个强大的缓存框架,它支持多种缓存提供程序,包括 Redis、Ehcache、Ca…

国金QMT量化交易系统的Bug及应对策略

国金QMT量化交易系统中的 账号成交状态变化主推 deal_callback() , 当账号成交状态有变化时,这个函数被客户端调用。 我的策略是,在handlebar()里面挂单,等待成交,而判断成交的方式是根据系统主推deal_callback()通知…

数据结构与算法:查找、排序、动态规划、数学

1 查找表 查找表是同一数据类型构成的集合。只进行查找操作的称为静态查找表;在查找的同时进行插入和删除操作的称为动态查找表。 查找算法衡量好坏的依据为:查找成功时,查找的关键字和查找表中比较过的数据元素的个数的平均值,…