LBS定位技术「建议收藏」

2022-09-20 10:07:33 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

http://www.cnblogs.com/LBSer/p/3295642.html

LBS定位技术从方法上可分成三类:基于三角关系的定位技术、基于场景分析的定位技术、基于临近关系的定位技术(唐毅和杨博雄,2003)。

本博文首先对基于三角关系的定位技术进行了介绍,并对其中的应用最广泛的代表GPS进行阐述。

一、基于三角关系的定位方法

代码语言:javascript复制
   该技术的基本原理很简单,可以抽象成如下问题:已知A、B、C三个点的坐标,以及该三点至D点的距离(分别是d0,d1,d2),求D点的坐标。可以列出以下公式(式1),三个方程三个未知数,能求出唯一解。这种定位技术根据测量得出的数据,利用几何三角关系计算被测物体的位置,它是最主要的,也是应有最广的一种定位技术。

二、GPS

GPS(全球定位系统)的空间部分使用24颗高度约2.02万千米的卫星组成卫星星座。卫星分布在六个中距离近圆形轨道面上(每轨道面四颗),轨道倾角为55度。卫星的分布使得在全球的任何地方,任何时间都可观测到四颗以上的卫星。

(1)为什么至少使用4颗卫星?

GPS定位的基本原理即前面提到的三角关系法。接收机接收各个卫星Si发送的消息Mi,消息Mi不仅包含着卫星Si的空间坐标,还包括卫星发送消息的时间Ti。接收机在接收Mi后就可根据本地接收机的时间与卫星发送消息时间之差来计算距离di:di = c*T;其中c是光速,T是时间差。然而,由于各种原因,包括大气、建筑物,时钟误差等等因素,光速c以及时间差T是具有误差的,di的结果很不准确,因此在计算时候需要加个误差项进行修正,并且假设各个卫星的误差项一样(式2)

除了空间位置三个参数,现在又多出了误差项,共有4个参数需要求解,至少需要4个卫星才能解算(如式3所示)。

(2)当卫星数目大于4个的时候怎么办?

在野外开阔地区,可接收的卫星数目一般大于4颗,这时可以采用两种方法提高精度:1)挑选信号较强,并且并能保持良好定位解算精度的几何图形的4颗卫星数据进行计算,采用式3解方程即可算出结果;2)所有卫星数据都参与计算,使用最小二乘法进行求解。由于第二种方法能显著减小系统误差,因此被广泛使用。

一般的接收机在计算位置坐标时采用的是牛顿迭代法来求解非线性方程组,该法在计算时需要首先提供个初始坐标,然后在此基础上反复迭代计算,直到满足规定的限差为止。

(3)为什么GPS第一次定位慢?

GPS接收机(如手机或导航仪等)初次定位一般比较,主要有两个原因:

a) 重新搜星

GPS接收机需要根据卫星的信号频率来捕捉卫星信号,和大家收听收音机一样,需要知道某台的频率,然后调到那个频率才能收听。直观上,由于GPS卫星数目(24颗)以及各个卫星的信号频率是已知的,因此只需要按照给定的频率穷举搜索即可,即每次以某一频率搜索信号,最多搜索24次。然而,由于多普勒效应的存在(多普勒效应指的是:当一个信号源与观察者有相对运动时,观察者观察到的信号源的频率会发生变化),GPS信号和地球的运动造成地面观察到的GPS信号的频率大概有正负5KHz的误差,因此需要对正负5KHz区间内的频率进行穷举匹配,相对于原来对24个频率点进行穷举而言,这种对24个频率区间内的各个频率进行穷举匹配显然极为耗时。

GPS接收机在首次搜索到卫星时,一般会将搜索到的卫星信号频率等信息进行保存,称之为“星历”。当GPS连续使用时候,此时星历一般不会变化,因此无需进行搜星操作,速度会大大提高。一段星历最多覆盖300KM的范围,若在A地点确定星历后,关机后GPS导航被移动超过300公里后,GPS导航位置处于另一段星历之下,此时GPS导航会重新搜星,以确定星历。

b)初始位置不准确

前面讲过,GPS接收机计算时一般使用的是牛顿迭代法,该法需要给定初始位置,初始位置越精确,迭代收敛越快!由于是第一次启动,初始位置是上一次开机时保存的最后一次定位的坐标,往往与现在所处的真实位置偏差较大,由此使得计算的迭代次数显著增多,计算较慢。

当连续使用GPS时可以发现定位速度明显变快,因为此时初始位置与实际位置较为接近(初始位置为上次定位的位置),计算能很快收敛,一般只需迭代两三次。

(4)如何提高GPS定位速度?

目前手机定位采用的最普遍的技术是A-GPS(辅助全球卫星定位系统)。A-GPS定位包括以下几个流程:

a) 手机从基站获取到当前所在的小区位置(初始位置值);

b)手机通过基站或网络将当前小区位置传送给网络中的AGPS位置服务器(走流量),APGS位置服务器根据当前小区位置查询该区域当前可用的卫星信息(包括卫星信号的多普勒频偏,初始位置值),并返回给手机;

c)手机根据从AGPS服务器得到的卫星信号的多普勒频移信息,只需要对很少的几个频率点或频率区间进行搜索,搜星速度大大加快;此外由于基站也给出了初始位置值,该位置与实际位置相差不会太大,因此计算的迭代次数较少。

除gps定位之外,目前常使用的就是基于wifi或基站的定位,具体原理可参考: 基于朴素贝叶斯的定位算法

参考文献

唐毅, 杨博雄. 电信工程技术与标准化, 58-62, 2003

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167661.html原文链接:https://javaforall.cn

gps

0 人点赞