码迷,mamicode.com
首页 > 移动开发 > 详细

北斗卫星是如何实现手机定位的?

时间:2018-11-30 20:07:59      阅读:539      评论:0      收藏:0      [点我收藏+]

标签:class   差分   oba   作者   状态   nbsp   content   tool   通信   

最近有网友在问,手机上的GPS、北斗定位是一个怎么样的原理,为什么地面上这么多设备只靠天上二十来个卫星就能实现准确定位,这么多定位请求能处理得完吗?这就涉及到全球卫星定位的原理啦,今天超能课堂就为大家讲一讲其中的奥妙。

网站劫持检测


1、检测网站是否被劫持
2、域名是否被墙
3、DNS污染检测
4、网站打开速度检测
5、网站是否被黑、被入侵、被改标题、被挂黑链

【深度检测】
1、可以检测多层js劫持、图片劫持、FLASH劫持、地区电信劫持、DNS劫持、域名被墙、DNS污染
2、可以获取严重占用加载时间的JS或者图片、css等html所用文件
3、不支持搜索引擎快照劫持检测
最长等待时间为10分钟。 此项选择考虑方向为:各大电信商链接检测网站速度有快慢。

最近有网友在问,手机上的GPS、北斗定位是一个怎么样的原理,为什么地面上这么多设备只靠天上二十来个卫星就能实现准确定位,这么多定位请求能处理得完吗?这就涉及到全球卫星定位的原理啦,今天超能课堂就为大家讲一讲其中的奥妙。

技术分享图片

目前在天上运行的全球卫星定位系统有很多个,例如最早美国人发明的GPS,中国的北斗、欧盟的伽利略、俄罗斯的格洛纳斯、日本的准天顶,它们都是目前可以商用的全球卫星定位系统。尽管它们提供的功能可能有所差别,比如中国北斗卫星系统提供了短信服务,但在卫星定位上,它们的本质原理都是共通的。

技术分享图片

 

 

首先现在的全球卫星其实都是无源的,所谓的无源,那就是天上的卫星并不是实时追踪你的手机位置,然后告诉你在哪里。因为在进行定位的时候,卫星通信是单向的,手机只能被动接收来自卫星的信息,而不能与卫星进行交流。因此全球卫星导航所支持设备是没有上限的,因为它不像基站需要双向通信,只是充当一个“大喇叭”,广播信息而已。

因此天上每一颗定位卫星都在干一件事情,每时每刻都在不停地向地广播信息,信息内容也很简单,就是现在几点了(t0),我在哪里了(x0,y0,z0),就这四个要素。那么手机SoC上集成的卫星信号接收器就能通过天线获取到这部分信号内容。

电磁波在大气中的传播速度约等于光速c,那么卫星发出的信息经过若干秒后被手机接收,设接收时间为t,那么信息就在空中传播了t-t0秒,那么我们就可以算出卫星当前时刻与我们的手机距离S。

技术分享图片

用小学知识就知道距离=速度×时间:

技术分享图片

只知道距离是没有用的,因为我们还没有得知具体方位参数,这时候就利用上卫星发给我们的坐标信号(x0,y0,z0)。想象一下,将手机与卫星置身于三维坐标系中,手机在顶点A(x,y,z)上,卫星在顶点B(x0,y0,z0),那么是如何计算点A到点B的距离呢?

技术分享图片

初中数学知识告诉我们,算起来很简单嘛,用下面公式计算就可以得出结果了。

技术分享图片

两者相等s=s0,就可以得到一个新方程:

技术分享图片

里面有(x,y,z)三个未知数,是三元一次方程,单靠1个方程式解不出来,那只要有3个这样的方程应该就能解出来?是不是只要同一时间锁定三个卫星,得到它们的广播的数据就能确定手机的位置呢?

理论上确实是这样的,但精度上差别非常大。这是因为我们手机的时钟信号并不可靠,精度远远不如卫星上所使用的时钟信号,由于光的传播速度每秒高达300000km,一丁点时间误差都会出现“失之毫厘谬以千里”的问题,因此会在定位系统中引入一个钟差的概念。

方程的改进就是将前面求得距离减去因钟差带来的误差C×(Vti—Vt0),这样就可以实现更精确的定位了。这个钟差是未知的,所以为了确定钟差,卫星定位实际上是需要同时锁定4颗卫星。(Vti(i=0、1、2、3)分别为卫星0、卫星1、卫星2、卫星3的卫星钟钟差,由卫星星历提供,已知;Vto为接收机的钟差)

技术分享图片

这就是为什么我们手机需要同时接收天上四颗卫星信号的原因,有了四个卫星提供的信息,就能够组合出4个四元一次方程组,就可以解出手机坐标(x,y,z)以及接收机的钟差Vto了吗?

技术分享图片

这就完成了卫星定位最基本、最浅显的原理,以上都是在非常理想的状态下得出的,实际上还要复杂、考虑的更多,实际在各大全球卫星定位系统中都存在误差问题,卫星和接收机的钟差、大气传播延迟、多路径效应等误差,一个极小的误差都会被放大很多倍从而导致整个定位无效,因此出现了很多修正误差的方法:

比如说前面提及的钟差问题以及卫星绝对位置,卫星的位置是由每个国家的专门机构进行维护,定期将推算和编制的卫星星历、钟差、导航电文和其他控制指令等信息通过注入站写入卫星存储系统,因此位置准确度可以达到厘米级别。同时卫星上的一般均采用高精度原子钟进行计时,比如铯原子种要经过2000万年才会多1秒误差,所以卫星提供的(x0,y0,z0,t0)可以视为绝对可靠。

技术分享图片
中国北斗三号星历,授时精度优于50ns

同时联动更多的卫星:

因此如果在同一时间内,手机能够搜索到尽量多的定位卫星就可以实现更加精确的定位,实际上手机上卫星信号接收机很聪明,在锁定4颗以上卫星时,会按卫星的星座分布划分成多个组别,每组四颗,从中挑选出误差最小的一组用于解码定位,这样定位精度就比以前高多了。关键词批量查询程序

技术分享图片
中国北斗三号一共由35个卫星组成

引入差分技术(Differential GPS):

为提高定位精度,普遍采用差分技术,建立基准站进行观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,从而得到一个比较准确的位置,这种方式可以将定位精度提高到5米。

技术分享图片

双频定位:

在面对更加复杂的误差因素时候,如果手机卫星定位模块支持双频接收机,可以根据两个不同频率的观测量抵消大气中电离层误差的主要部分,从而提供更准确的定位信息,这就是最近手机厂商们不停宣传的双频卫星定位。

技术分享图片
小米8发布会PPT

技术分享图片
华为Mate 20发布会演示的双频GPS定位

A-GPS辅助定位:

现在手机为了提供更加快捷高效的定位服务,发展出了AGPS,也就是AssistGPS。它就是利用小区基站进行辅助定位,基站上带有高精度定位仪器,自带高精度时钟减少时差,实时接收天上定位卫星信号,从而得知误差大概是多少,手机只要通过移动网络下载星历、误差数据,就可以实现快速定位。

技术分享图片
谁来翻译一下。。。

有了精确的位置信息,配合上高精度地图软件信息,就算是路痴,也能在陌生的地方找到最快捷的路径,这里面可少不了全球定位卫星的功劳哦。

技术分享图片

附送目前在轨运行的卫星定位系统工作频段、编码方式。

技术分享图片

 

 

转自:http://www.expreview.com/65513.html

作者:梁俊豪 

 

 

 

 

北斗卫星是如何实现手机定位的?

标签:class   差分   oba   作者   状态   nbsp   content   tool   通信   

原文地址:https://www.cnblogs.com/baidu404/p/10045841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!