根据手机定位(根据手机定位)
根据手机定位(根据手机定位)
位置服务已经成为越来越热的一门技术,也将成为以后所有移动设备(智能手机、掌上电脑等)的标配。而定位导航技术中,目前精度最高、应用最广泛的,自然非GPS莫属了。网络上介绍GPS原理的专业资料很多,而本文试图从编程人员的角度出发,以一种程序员易于理解的方式来简单介绍一下GPS定位的基本原理,希望对做GPS开发的朋友有所启发。当然,本文并没有涉及具体的开发方面的技术。一、GPS定位数学模型
之所以先介绍数学模型,是因为我认为这个数学模型可能是程序员比较关心的问题。当然事先声明,这个模型只是我根据一些GPS资料总专为程序员总结出来的一个简化模型,细节方面可能并不符合实际,想了解具体细节请参考专业的GPS讲解资料。
GPS定位,实际上就是通过四颗已知位置的卫星来确定GPS接收器的位置。
如上图所示,图中的GPS接收器为当前要确定位置的设备,卫星1、2、3、4为本次定位要用到的四颗卫星:
Position1、Position2、Position3、Position4分别为四颗卫星的当前位置(空间坐标),已知
d1、d2、d3、d4分别为四颗卫星到要定位的GPS接收器的距离,已知
Location 为要定位的卫星接收器的位置,待求
那么定位的过程,简单来讲就是通过一个函数GetLocation(),从已知的[Position1,d1]、[Position2,d2]、[Position3,d3]、[Position4,d4]四对数据中求出Location的值。用程序员熟悉的函数调用来表示就是:Location=GetLocation([Position1,d1],[Position2,d2],[Position3,d3],[Position4,d4]);
一看到这个函数调用,程序员们就该来劲了:这些参数从哪里来?这个函数又是如何执行?由谁来执行的呢?立体几何还没有忘干净的可能还要问:为什么必须要4对参数呢?那下面我们就来一起探究一下。
1.Position1、Position2、Position3、Position4这些位置信息从哪里来?
实际上,运行于宇宙空间的GPS卫星,每一个都在时刻不停地通过卫星信号向全世界广播自己的当前位置坐标信息。任何一个GPS接收器都可以通过天线很轻松地接收到这些信息,并且能够读懂这些信息(这其实也是每一个GPS芯片的核心功能之一)。这就是这些位置信息的来源。
2.d1、d2、d3、d4这些距离信息从哪里来?
我们已经知道每一个GPS卫星都在不辞辛劳地广播自己的位置,那么在发送位置信息的同时,也会附加上该数据包发出时的时间戳。GPS接收器收到数据包后,用当前时间(当前时间当然只能由GPS接收器自己来确定了)减去时间戳上的时间,就是数据包在空中传输所用的时间了。
知道了数据包在空中的传输时间,那么乘上他的传输速度,就是数据包在空中传输的距离,也就是该卫星到GPS接收器的距离了。数据包是通过无线电波传送的,那么理想速度就是光速c,把传播时间记为Ti的话,用公式表示就是:di=c*Ti(i=1,2,3,4);
这就是di(i=1,2,3,4)的来源了。
3.GetLocation()函数是如何执行的?
这个函数是我为了说明问题而虚构的,事实上未必存在,但是一定存在这样类似的运算逻辑。这些运算逻辑可以由软件来实现,但是事实上可能大都是由硬件芯片来完成的(这可能也是每一个GPS芯片的核心功能之一)。
4.为什么要必须要四对参数?
根据立体几何知识,三维空间中,三对[Positioni,di]这样的数据就可以确定一个点了(实际上可能是两个,但我们可以通过逻辑判断舍去一个),为什么这里需要四对呢?理想情况下,的确三对就够了,也就是说理想情况下只需要三颗卫星就可以实现GPS定位。但是事实上,必须要四颗。
因为根据上面的公式,di是通过c*Ti计算出来的,而我们知道c值是很大的(理想速度即光速),那么对于时间Ti而言,一个极小的误差都会被放大很多倍从而导致整个结果无效。也就是说,在GPS定位中,对时间的精度要求是极高的。GPS卫星上是用銫原子钟来计时的,但是我们不可能为每一个GPS接收器也配一个銫原子钟,因为一个銫原子钟的价格可能已经超过了这个GPS设备再加上使用GPS的这辆名贵汽车的价格。
同时,由于速度c也会受到空中电离层的影响,因此也会有误差;再者,GPS卫星广播的自己的位置也可能会有误差。其他等等一些因素也会影响数据的精确度。
总之,数据是存在误差的。这些误差可能导致定位精确度降低,也可能直接导致定位无效。GetLocation(函数)中多用了一组数据,正是为了来校正误差。至于具体的细节,我们就不用关心了,我们只要知道,多用一组数据,就可以通过一些巧妙的算法,消除或减小误差,保证定位有效。这就是GetLocation()函数必须用四组数据的原因,也就是为什么必须有四颗卫星才能定位的原因。
5.GetLocation()函数返回的位置信息怎样被GPS设备识别呢?
前面说在进行位置计算时都是用的空间坐标形式表示,但是对GPS设备及应用程序而言,通常需要用的是一个[经度,纬度,高度]这样的位置信息。那么我们可以想象,在GetLocation()函数返回位置结果前,可能会进行一个从空间坐标形式到经纬度形式的转换,我们不妨假设存在一个Convert(经纬度,空间坐标)这样的函数来进行这个转换。
6.单点定位与差分定位
实际上上面所说的只是定位原理中的其中一种,称为单点定位,或绝对定位。就是通过唯一的一个GPS接收器来确定位置。
目前定位精度最高的是差分定位,或称相对定位。就是通过增加一个参考GPS接收器来提高定位精度。
上面我们已经围绕一个虚拟的GetLocation()函数基本搞清楚了GPS定位的基本数学模型,对于编程而言,知道这些就足够了(其实不知道也不影响编程)。如果好奇心还没满足的话,我们继续了解一些GPS相关的背景知识。二、GPS卫星是哪里来的?
(废话,当然是人发射的!地球人发射的!)
GPS(Global Position System,全球定位系统),全称为NAVSTAR GPS(NAVigation Satellite Timing And Ranging Global Position System,导航星测时与测距全球定位系统)。GPS是一个由美国国防部开发的空基全天侯导航系统,它用以满足军方在地面或近地空间内获取在一个通用参照系中的位置、速度和时间信息的要求。
1.GPS发展历程
1957年10月第一颗人造地球卫星SputnikⅠ发射成功,空基导航定位由此开始
1958年开始设计NNSS-TRANSIT,即子午卫星系统;
1964年该系统正式运行;
1967年该系统解密以供民用。
1973年,美国国防部批准研制GPS;
1991年海湾战争中,GPS首次大规模用于实战;
1994年,GPS全部建成投入使用;
2000年,克林顿宣布,GPS取消实施SA(对民用GPS精度的一种人为限制策略)。
2.美国政府的的GPS策略
两种GPS服务:
SPS--标准定位服务,民用,精度约为100M;
PPS--精密定位服务,军用和得到特许的民间用户使用,精度高达10M.
两种限制民用定位精度的措施(保障国家利益不受侵害):
SA--选择可用性,认为降低普通用户的测量精度,限制水平定位精度100M,垂直157M(已于2005年5月1日取消);
AS--反电子欺骗。
3.其他卫星导航系统
GLONASS(全球轨道导航卫星系统),前苏联
Galileo-ENSS(欧洲导航卫星系统,即伽利略计划),欧盟
北斗导航系统,中国三、GPS系统的构成
GPS系统=空间部分+控制部分+用户部分
1.空间部分
GPS空间部分主要由24颗GPS卫星构成,其中21颗工作卫星,3颗备用卫星。24颗卫星运行在6个轨道平面上,运行周期为12个小时。保证在任一时刻、任一地点高度角15度以上都能够观测到4颗以上的卫星。
主要作用:发送用于导航定位的卫星信号。
构成:24颗卫星=21颗工作卫星+3颗备用卫星
2.控制部分
GPS控制部分由1个主控站,5个检测站和3个注入站组成。
组成:GPS控制部分=主控站(1个)+监测站(5个)+注入站(3个)
作用:监测和控制卫星运行,编算卫星星历(导航电文),保持系统时间。
主控站:从各个监控站收集卫星数据,计算出卫星的星历和时钟修正参数等,并通过注入站注入卫星;向卫星发布指令,控制卫星,当卫星出现故障时,调度备用卫星。
监控站:接收卫星信号,检测卫星运行状态,收集天气数据,并将这些信息传送给主控站。
注入站:将主控站计算的卫星星历及时钟修正参数等注入卫星。
分布情况:
主控站:位于美国科罗拉多州(Calorado)的法尔孔(Falcon)空军基地。
注入站:阿松森群岛(Ascendion),大西洋;迭戈加西亚(Diego Garcia),印度洋;卡瓦加兰(Kwajalein),东太平洋。
监控站:1个与主控站在一起;3个与注入站在一起;另外一个在夏威夷(Hawaii),西太平洋。
3.用户部分
GPS用户设备部分包含GPS接收器及相关设备。GPS接收器主要由GPS芯片构成。
如车载、船载GPS导航仪,内置GPS功能的移动设备,GPS测绘设备等都属于GPS用户设备。
组成:主要为GPS接收器
作用:接收、跟踪、变换和测量GPS信号的设备,GPS系统的消费者。
GPS定位是目前最为精确、应用最为广泛的定位导航技术,以后将会成为每一个移动设备的标配之一。现在的中高端只能手机,有相当一部分已经配备了GPS硬件。那么针对GPS定位的开发技术也将成为一项主流常规技术。本文目的在于让准备进行GPS定位开发的编程人员对于GPS有一个大致的了解,这对于编程可能没有什么直接的帮助,但是我想了解一下GPS的大致工作原理,在编程过程中就能够对GPS设备的工作特性有一个感性的认识,这对于开发还是有很大间接好处的。
如何完全删除微信聊天记录(如何完全删除微信)如何完全删除微信聊天记录(如何完全删除微信)对于很多人来说,手机中的微信可是现在最离不开的软件之一,在微信中有非常多对我们来说很重要的东西,像聊天记录这种东西可是非常重要的。但是也
如何完全删除微信聊天记录(如何完全删除微信)如何完全删除微信聊天记录(如何完全删除微信)微信聊天记录删除了能恢复吗?在我们生活中,总会有各种各样样的垃圾信息充斥着我们的生活。很多同学不堪其扰,删除了大量的垃圾微信消息,但是,
如何完全删除微信聊天记录(如何完全删除微信聊天)如何完全删除微信聊天记录(如何完全删除微信聊天)众所周知,微信是当下最流行的交流沟通软件,我们都喜欢借助微信与朋友家人进行沟通,微信中不仅仅只有聊天这个功能,其实其中还有其他一些鲜
怎么进注册表(怎样进入注册表)怎么进注册表(怎样进入注册表)注册表是系统的核心,很多问题都可以通过修改注册表的信息解决,可能某些时候我们需要打开注册表看一下,近日有朋友问如何打开系统注册表。其实注册表怎么打开的
张飞穿针歇后语(张飞穿针歇后语是什么)张飞穿针歇后语(张飞穿针歇后语是什么)张飞穿针歇后语有粗中有细大眼瞪小眼有劲无处使。张飞生的豹头环眼,眼睛大的像铜铃,针眼却又非常细小。张飞穿针的时候不就是用自己的大眼睛,盯着针上
快速关机(怎么使用快捷键关机)快速关机(怎么使用快捷键关机)不知道大家会不会使用快捷键关机。快捷键关机比我们使用鼠标关机要快速一下。对于喜欢使用键盘操控整个电脑的人而言,快捷键关机是他们的最爱。那么大家知道哪些
查酒店入住记录能查到一起住的人吗(如何查个人住宾馆信息)查酒店入住记录能查到一起住的人吗(如何查个人住宾馆信息)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍
全国酒店开的房记录查询软件(查询宾馆入住记录)全国酒店开的房记录查询软件(查询宾馆入住记录)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就可以直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们仍
天猫假货(天猫)天猫假货(天猫)随着各种网购平台的快速发展,中国老百姓不用出国,就可以在网上购买很多国外知名品牌的商品,快递到家,既省时,又实惠。近日,福州的婷女士网购了一支进口口红,原本是自己的
平鱼的做法(红烧平鱼的做法)平鱼的做法(红烧平鱼的做法)烹饪本身有技巧,有体验,但没有教科书般的标准,尤其做红烧鱼,火与水,鱼与香料,多一分老而厚重,少一分则生而无味。如何调和各种滋味,依靠的就是情感与心情。
平鱼的做法?(红烧平鱼的做法)平鱼的做法?(红烧平鱼的做法)烹饪本身有技巧,有体验,但没有教科书般的标准,尤其做红烧鱼,火与水,鱼与香料,多一分老而厚重,少一分则生而无味。如何调和各种滋味,依靠的就是情感与心情
西湖在哪里(西湖)西湖在哪里(西湖)未能抛得杭州去,一半勾留是此湖欲把西湖比西子,淡妆浓抹总相宜古往今来,人们一提到杭州,就会想起西湖一提到西湖,也会想起杭州。在某种意义上,杭州和西湖是可以划等号的
什么是广角镜(什么是广角镜头)什么是广角镜(什么是广角镜头)很多摄影师都喜欢用广角镜头。有些人用广角镜头来表达一些特殊的艺术效果,而有些人更喜欢用广角镜头拍摄所有的摄影类型,比如风景,肖像,街道,环境,活动,其
男士发型图片及名称(2020最具人气男发前4名,短寸头)男士发型图片及名称(2020最具人气男发前4名,短寸头)既然你我相遇,那就是缘分,关注时尚,关注发型,关注刘丽丽都说男人三分靠长相,七分靠发型。一款好的发型的确可以让一个人看上去精
帅气发型图片(2020最具人气男发前4名)帅气发型图片(2020最具人气男发前4名)既然你我相遇,那就是缘分,关注时尚,关注发型,关注刘丽丽都说男人三分靠长相,七分靠发型。一款好的发型的确可以让一个人看上去精神百倍,帅气有
kaws怎么读(Kaws是什么牌子)kaws怎么读(Kaws是什么牌子)6月3日,由于优衣库Kaws联名T恤的发售,全国各地的优衣库店面,都出现了消费者哄抢的状况。根据现场人员表示,前来抢衣服的几乎都是年轻人,有的甚
傲娇什么意思(傲娇一点)傲娇什么意思(傲娇一点)看惯了千篇一律的害羞女人,男人早已失去兴趣,从而改变了自己的择偶标准,开始挑战高难度,所以说话带刺,态度强硬的女人,就成为了男人的首选目标。男人的求胜心都很
病娇(病娇意思)病娇(病娇意思)嗨,大家好,我是小鱼酱。每个二次元萌妹子都拥有自己独特的属性。像呆萌御姐萝莉类型的就特别招人喜欢,甚至能被很多人当成理想型一样来喜爱。可是,有一部分人却偏偏喜欢剑走
自在娇莺(留连戏蝶,自在娇莺)自在娇莺(留连戏蝶,自在娇莺)春天来了,百花即将次第开放,朋友圈里布满了赏花的信息,我突然想到了红楼梦中戏蝶的宝钗和折柳编花篮的莺儿。曹先生真是妙啊,原来她藏了这样一个秘密在文本里
打架技巧(牛人总结的打架经验)打架技巧(牛人总结的打架经验)这个文章,挺早的了。自己一直收藏着,觉得很经典,发出来给大家看看。1中距离抓对方头发是愚蠢的行为,这将导致肋部打击目标大面积暴露。2太阳穴不是死穴是昏
贵州自助游(最新贵州五日自助游)贵州自助游(最新贵州五日自助游)贵州这样一个淳朴的地方,不仅有极其壮丽的自然景观,还有神秘的少数民族风光,没有来过贵州,那一定会成为人生憾事。跟着我的亲身经历,深度游玩贵州,体会贵
虾酱怎么做(虾酱制作方法)虾酱怎么做(虾酱制作方法)鲜虾酱大部分是北方沿海的特色食物,鲜虾酱颜色紫红色,无腥臭气味,味道鲜香,酱质细腻黏稠,鲜度适中,鲜虾酱是发酵的食品,是营养比较,大部分蛋白质转化成人体容