1. GPS是怎么定位的
GPS的定位是靠GPS接收芯片来定位的,这个芯片可以接收、处理GPS信号,并且输出坐标值,而各个应用就是用这个坐标值在地图上标志你的位置的。GPS芯片可以内置在各种设备中,包括专用GPS定位仪、汽车、智能手机等等。

2. GPS的定位原理是什么
那么GPS芯片是怎么定位的呢?其基础原理是非常简单的:假设GPS卫星的坐标是已知的,你的位置(x,y,z)是未知的,那么卫星1(x1,y1,z1)到你的距离公式是:(x1-x)²+(y1-y)²+(z1-z)²=ρ1²
其中ρ是卫星1到你的距离,也是已知的。这是中小学就学到的数学公式,这里面未知参数只有。根据基础数据原理,我们知道,要解算这三个未知数,必须要有三组这样的公式,即:
(x1-x)²+(y1-y)2+(z1-z)²=ρ1²
(x2-x)²+(y2-y)²+(z2-z)²=ρ2²
(x3-x)²+(y3-y)²+(z3-z)=ρ3²
也就是说理论上只要3颗卫星就能够定位了。
但是事实上,卫星到你的位置的距离是很难准确获取的,它受到无线信号传播的各种误差影响,比如电离层、对流层以及GPS其他误差影响。但是我们可以认为不同卫星的这些误差对你的影响是一样的,我们把所有这些改正和误差认为都是∆ρ,这也是一个未知数,那么上面的公式就演变成:
(x1-x)²+(y1-y)²+(z1-z)²=ρ1²+∆ρ
(x2-x)²+(y2-y)²+(z2-z)²=ρ2²+∆ρ
(x3-x)²+(y3-y)²+(z3-z)²=ρ3²+∆ρ
(x4-x)²+(y4-y)²+(z4-z)²=ρ4²+∆ρ
这里面的未知数是(x,y,z,∆ρ),要解算这四个数,就必须要至少4颗卫星,这也是为什么GPS定位必须要4颗卫星的原因,当然观测的卫星书越多,就可以分解开,解算越准确。

3. 为什么GPS卫星位置是已知的
在GPS定位原理中GPS卫星的位置是已知的,那么它的位置是怎么确定的呢?GPS卫星的位置由地面观测站持续观测,计算其位置,然后把计算后的位置发送到GPS卫星,然后再由GPS卫星通过无线电波广播给全球。
这就要求地面上有主控站、观测站、注入站等地面设施,并且要求在全球尽可能的平均分布布站,尤其是观测站,这需要全球的部署能力,这也是为什么美国有天然做GPS卫星布设能力的原因,其他国家很难在全局布局。
同时,GPS卫星的轨道在距离地面2万公里的同步轨道,卫星位置比较固定,并且轨道近似圆形,这也便于观测站确定卫星的位置。

4. 如何计算卫星到你的距离
在GPS定位原理中GPS卫星到你的位置的距离是已知的,那么这又是怎么确定的呢?
在GPS卫星上有原子钟来计时,有振荡器产生一定频率的无线电波;同时在你的GPS芯片上也有时钟计时,并且也有振荡器跟GPS卫星同时产生同样频率的无线电信号,当GPS芯片接受到卫星传来的无线电信号时,就与芯片自身产生的信号做比对,得到信号传播的时间差,再乘以光速就得到了距离。
一般来说GPS芯片上的时钟是石英钟,跟卫星上的原子钟不是一个量级,这就使GPS芯片不能与GPS卫星完全同步,这也是导致GPS误差的一个因素,叫做时钟误差。
GPS发出的信号频度不止一种,有300米波长的,也有20厘米左右波长的信号,这就意味着距离计算的误差可能多达300米,也可能误差有20厘米。那么是不是波长越短越好呢?这不一定,因为波长越短,计算复杂度越高,对设备要求越高,看用途而已。一般智能手机用的是什么波长的,我还真没仔细研究,不清楚。

5. 为什么GPS不能立即定位?
大家都知道GPS芯片的定位时间是要耗时的,比如智能手机有时需要几分钟才能定位,为什么这么慢呢?上面说了,GPS的距离计算是用卫星信号与GPS芯片产生的同时、同频率的信号偏差来,可是能比对的只是一个波长内的信号偏差,在这个波长偏差之前你并不知道GPS信号已经传播了多少个完整波长,必须要通过连续的卫星信号分析,才能确定出卫星信号传播的准确波长数目,从而精确计算距离,这个计算过程是GPS定位慢的主要耗时原因。
于此同时,GPS信号在电离层、对流层、钟差等等大量可能的误差,也都是当成未知数通过长时间连续卫星信号分析才能计算出来,这也是GPS定位慢的重要原因。

6. 如何来加速GPS定位?
上面说了,GPS定位慢的原因是在计算各种误差参数,假如在100平方公里范围内,我们认为各种误差参数和大部分的信号传播整周是一样的,那么我们在地面上建立一个GPS接收站,它的坐标是已知的,通过长时间定位,计算出这些参数,然后把这些参数发送给周围的GPS芯片,这些GPS芯片就大大节省了结算时间,实现快速定位,这就是A-GPS的原理。

7. 如何提高定位精度?
因为距离相近的GPS芯片的各项误差影响因素可以认为是相同的,那么把几个GPS芯片的定位数据求差,就能够去掉大部分误差的影响,这就是差分GPS原理。再通过长时间观测,就能大大的提高定位精度,甚至可以达到毫米级,不过这一般用在测绘等专业领域。
我们一般智能手机用的定位精度是15米左右级别的,它的定位精度提高一般不用差分方法,而是采用应用策略来提高。比如说,在北京的道路上,道路之间的距离肯定会大于15米,GPS定位数据也是有方向的,那么我们根据GPS芯片距离最近的道路距离,以及GPS方向与道路的方向是否一致,把GPS的坐标纠正到道路上,实现准确定位。

8. 全球四大卫星导航系统
另外,现在的定位系统已经不止美国的GPS一家,欧洲的伽利略系统、俄罗斯的Glonass系统、中国的北斗系统都已经具备类似的定位能力。如果定位芯片能够整合多个定位系统也是可以提高定位精度和速度的,比如说最新的小米2就支持GPS和Glonass定位。
其他提高定位精度的方法,比如观测卫星的选取等,这些比较专业,不说它了,我也说不清楚。

9. 为何中国要建设自己的卫星定位系统
GPS卫星系统目前共有30颗左右卫星围着地球转,具体数目不清楚,他们位置在离地面2万公里的同步轨道相对均匀的布设。GPS系统不仅是卫星群,还包括1个主控站,在几大洲都有注入站。给卫星注入各种数据,同时在全球还有密布不少观测站来观测卫星坐标、状态等。
美国已经发布这个系统30多年了,一直免费全球使用,的确很有战略眼光,也很有经济头脑。虽然这个系统投入巨大且全球免费使用,但是因此带来的经济和战略意义不用多说。另外,上面说了正因为GPS定位靠的是无线信号的比对、计算,因此美国是可能干扰信号的,也就是说能够降低别人的定位精度,而自己的定位精度高。事实上美国也是这么干的,一直到了98年左右才取消了干扰。但是在战时,美国随时可以恢复干扰,这也是为什么欧洲、俄罗斯、中国都要建自己的定位系统的原因。

GPS是如何定位你在哪的?相关推荐

  1. GPS/BDS:AGPS定位基本机制

    AGPS定位基本机制 http://www.cnblogs.com/magicboy110/archive/2010/12/12/1903927.html 位置服务已经成为越来越热的一门技术,也将成为 ...

  2. GPS是如何定位的?

                                                                                    <目录> GPS 全球经济基 ...

  3. GPS 车辆导航定位的应用前景

    GPS 车辆导航定位的应用前景 前言:也许人们还记得1991年海湾战争时美军的导弹在卫星定位系统的导航下准确击中目标的情景,从那个时候起,GPS技术也就是卫星导航技术引起了人们的关注.随着GPS技术向 ...

  4. GPS及AGPS定位基本原理解析

    最近看到咱们国内的的导航:北斗导航已经完全部署完了么,然后就去查找资料了解了一下导航这个玩意,最后发现其实不管什么导航其实都差不多,只是用的卫星不一样,如果用GPS导航可能就是使用美国那边发射的卫星, ...

  5. 开源一个安信可A9g小项目微信小程序定位器项目②GPS模块如何定位经纬度并且上报到MQTT服务器,实现远程查看模块的经纬度;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何在windows10上环境搭建,编译烧录代码固件,查看运行 ...

  6. 修改华为定位服务器,华为手机提高GPS搜星定位速度的方法

    大家平时有车的一般都要用到导航,但是对于有些机友来说,因为路线不熟悉,所以经常在导航时遇到定位慢,或者搜星慢的尴尬事情发生,另外在网上看了很多关于求助想提升GPS搜星和定位的帖子,所以最近整理了一下教 ...

  7. Android之使用GPS和NetWork定位

    Android中使用GPS和NetWork获取定位信息 在Android中定位是属于危险权限,需要在添加Mainfest.xml中添加. <uses-permission android:nam ...

  8. VC++实现GPS全球定位系统定位数据的提取

    VC++实现GPS全球定位系统定位数据的提取 来源:MCUBLOG   作者:未知 字体大小:[大][中][小] 引言 卫星导航技术的飞速发展已逐渐取代了无线电导航.天文导航等传统导航技术,而成为一种 ...

  9. gps怎样打开位置服务器,gps怎么开定位服务器地址

    gps怎么开定位服务器地址 内容精选 换一换 当对弹性云服务器执行绑定密钥对操作时失败.管理控制台上密钥对执行失败记录对话框中的失败记录只记录了弹性云服务器的操作历史,不会影响弹性云服务器的状态及后续 ...

最新文章

  1. python语言百度百科-Python 语言下数据驱动DDT的应用
  2. 【数理知识】《积分变换与场论》王振老师-目录
  3. 2016/8/18 Linux常用命令 :目录、文件处理命令
  4. Spring Boot 几条最佳实践!
  5. java使用token防止用户重复登录以及验证用户登录
  6. 排序算法之选择法排序(Java)
  7. chrome跨域插件_Chrome 插件开发入门
  8. Python:日志模块logging的应用
  9. Spring 加载Bean流程
  10. mb778cn 计算机故障或繁忙,kx mb778cn驱动
  11. uniapp下微信小程序超过2MB大小限制的解决方法
  12. 2018 qs计算机排名,2018年QS世界大学学科排名公布 强势围观
  13. 35岁以上的大龄程序员们,后来都干什么去了?
  14. Android项目接入魔窗SDK自定义使用
  15. 华东院进入华为智慧战略 其他院怎么办
  16. python绘制对数函数_python中如何画对数函数图?
  17. 数字图像学笔记——7. 噪音生成(泊松噪音生成方法)
  18. 【BZOJ3205_洛谷3638】[APIO2013]机器人(动态规划)
  19. Fabric配置fabric-sample工程目录,并生成证书
  20. Win10客户端远程桌面连接win2008server

热门文章

  1. Anaconda Navigator卡logo打不开闪退问题处理方案-更换阿里云镜像源
  2. CCF C³-20@滴滴:智能技术与交通治理 | 报名
  3. 新一年级家长快查收,小学入学必备物品超强清单!
  4. electron打包的一些问题
  5. Android自定义相机镂空遮罩
  6. 如何用手机观看群晖ds218play上视频
  7. android手机安装carplay,安卓系统适用carplay经验分享
  8. 一零四一、海康威视希捷紫盘查询序列号
  9. 使用lap.lapjv实现线性分配(我主要用来作为匈牙利算法的实现)
  10. Android 朋友圈之多图显示