GPS基础知识

冷启动

冷启动是指模块内部没有任何参的星历或历书的情况下,模块的首次启动,一般而言,由于模块内部没有星历参数,这个时候接收卫星信号开始,就要在天线接收的范围内不停的寻找并下载星历,它的首次运作时功耗大,内部运算复杂,需要不停的下载当前天空的有效星历,需要一定的时间,冷启动时的灵敏度较弱,主要是模块对自己所处的大概位置没有星历的情况下无法估算,就比如我们到了一个陌生的沙漠荒野,无法得知自己当前所处的方向一样,没有可参照物,为了搞清楚自己所在的位置,你需要找到几个参照物来确定自己所处的位置,你需要做的事情就是仔细的把不熟悉的环境里面每个角落全部找一遍,找出能够得知现有位置的参照物.

其实GPS模块的工作原理同我们人一样,冷启动的时候要做很多无用功,就是需要把天空里的每一个角落里面的信号象过筛子一样的全部搜索一遍,这个过程中的耗电非常大,在找到一颗卫星之后,要开始下载星历,如果在下载的途中因为信号程度的变化,如比开车途中,车的位置不停的改变,它接受的信号也是无法获得完整的信息,势必造成冷启动的过程延长,在信号弱的地方下载星历的时候也会延长.

其实这个下载星历的速度比喻跟我们上网没有两样,例如我们刚开机联线,从网上下载一个文件,如果遇上网速好,则很快就可以下载完成,若信号不稳定,有时候会遇上断线,我们的网线下载过程必须重新建立连线,重新开始,而用CDMA/GPRS的用户更有体会,在火车上上网的时候时断时续,当然没有在基站附近效果好.

当GPS模块连续的寻找到三颗或以上的卫星的时候,它的日子就开始好过了,就比如我们人在野外临时凭感觉绘制了一张草草的地图,你至少可以判定自己的大概位置,这个时候,GPS查找新卫星所设定的范围就会缩小,2D定位,也就是平面定位OK了,接下来就是花的时间去找更多的卫星,到了四颗卫星的时候,OK,3D定位,也就是高度都出来了.

当模块再工作一阵子,当前的信息都下载得差不多了的时候,模块才正式的进入信号稳定接受的状态,也就是说轻微的移动或是信号的变化对它的影响已经不是太强烈了,主要是内部存储了相应的当前星历,即使短暂丢失,就象是我们熟悉了一个新的环境,凭记忆也能够很快的找回到当前的坐标,这个时候,是不是我们花的时间就会更少呢?

卫星或是星历就是这样不停的刷新的资料,稳定下来之后呢,耗电自然就降低了.

这个情况就象你第一次去了大观园,第一次去的时候看到了真正的大象,猴子,老虎,假山,密林,把你弄得个眼花缭乱,分不清东西南北,在里面呆久了,到处都逛遍玩了一整天了,地形也就熟悉了,到头看来大观园就那么巴掌大的地盘,这时来了个顽皮鬼把你眼睛蒙上松开一下,相信你也能很快分清东南西北了.

于是乎,GPS在这个状态了,即使是偶尔又跑到信号弱的地方,只要是重新调整一下,它重新可以马上进入比较良好的接受状态,即便是工作环境不怎么样,它也能凭些记忆或是内部运算获得定位情况远比在同一地点的冷启动的情况好很多.

你肯定会想,哦,原来模块正常工作了,这个时候才是我们最想要的,要是模块没有冷启动这个过程多好呀,当然可以通过网络到u-blox的网站里面下载历书也能够做接近的程度,可是不要忘记了,星历跟历书是有区别的,历书是u-blox通过全世界范围内182个地面接受器接受到的卫星资料再通过电脑软件进行卫星模拟轨迹的运算,这个时候历书形成了,可以是1天,7天,或是2周的历书,理论上也可以是几年,也就是说在某些情况下几年都不需要冷启动就能实现上述的情况.

现实里面遇到的问题是,卫星的运动轨迹并不是我们可以轻易控制,它的运动范围会不停的改变,然后地面站会进行修正指引,再改变再修正,也就是理论上计算完美动运轨迹的历书是不太适合精确范围的定位,但无论有了好的历书之后一定会缩短我们的冷启动时间,所以u-blox的A-GPS也好,还是AssistNow,都是很经典的发明,只是现实应用中需要联网受限罢了.

热启动

如果说冷启动的过程是艰难的,就象我们不情愿的每天在一个陌生地要适应新环境,我们有时候要保持自己清醒的头脑,让自己生活在一个熟悉的环境里,看熟悉的电视,听熟悉的音乐,睡熟悉的床,过心情爽朗的晴朗夏日.

而我们也希望模块也能时候保持这样的好心情,就是熟悉它自己的环境.有的时候我们需要短暂关闭GPS或是整机,为了保存它的使用环境,让它在下一次尽快的进入现有的状态,我们需要给它进行当前星历的保存,让它保存的方法就是使用后备电池,后备电池可以维持模块8-12小时的工作时间,如果我们由于某些原因,在让断电的机器重新启动,也就意味着模块在2个小时以内再次加电,这个时候它的启动会比较快,大约是3秒钟左右达到正常定位的水平,原因是当前天空的卫星状态没有太大的改变,也就是说经过我们头顶的卫星移动变化得不是很远,就象是我们在家里附近的地区你往往也能够很快找到回家的路,因为这个时候你的参照物变化得比较小.

别看这一颗小小的后备电池或后备电源,足可以让你省去许多的烦琐的等待过程.

温启动

有的时候我们未必就选择在2小时内开机,除非是你真的很有耐心每两个小时启动一次,可是谁又会这样做呢?如果机器关闭即模块主供电断电2个小时之后,在后备电池还有电能的情况下,在不超过8个小时之内的情况是,当我们再次启动模块导航的时候,就会发现模块启动也不是很快,比热启动慢了很多,只是比冷启动收星要快,对环境的要求比冷启动要求有降低,这种情况会分很多种不同的原因,例如时间或头顶的卫星状况越接近保存时候的状态,它的定位时间就会越短,反之就会越长,通俗点来讲就是模块断电的时间越长,它所再次接通导航花的时间也会增加.

解释它的原因就是如果我们离家离的时间越是相隔得短,再次回到家里你越快熟悉周围的环境,如果这个时候你的脑袋里的记忆棒没有出问题的话.

而一旦时间太长,时过境迁的话,头顶的卫星全部变化了,星历也不起多大的作用了,例如过了20小时,没办法,机器仍旧是冷启动了.

计算机是人设计的程序指行机器,它的思维不能超越人的思维模式,而很多时候人工IA的智能产品例如GPS系统,其实也是基于人工想法的实现,在自然规律的变化中找到相应的解决方案,了解我们人类自身的思维活动规律,就可以更好的为我们的产品进行更好的更新的设计服务.

GPS基础知识的更多相关文章

  1. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

  2. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  3. 【RL-TCPnet网络教程】第29章 NTP网络时间协议基础知识

    第29章      NTP网络时间协议基础知识 本章节为大家讲解NTP (Network Time Protocol,网络时间协议)和SNTP(简单网络时间协议,Simple Network Time ...

  4. 【STM32H7教程】第29章 STM32H7的USART串口基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第29章       STM32H7的USART串口基础知识和 ...

  5. SLAM第一篇:基础知识

    无论在室内.野外.空中还是水下,SLAM是机器人进入未知环境遇到的第一个问题.本期给大家介绍SLAM的基础知识:传感器与视觉SLAM框架 近来年,智能机器人技术在世界范围内得到了大力发展.人们致力于把 ...

  6. Flutter调研(1)-Flutter基础知识

    工作需要,因客户端有部分页面要使用flutter编写,需要QA了解一下flutter相关知识,因此,做了flutter调研,包含安装,基础知识与demo编写,第二部分是安装与环境配置. —— Flut ...

  7. day63:Linux:nginx基础知识&nginx基础模块

    目录 1.nginx基础知识 1.1 什么是nginx 1.2 nginx应用场景 1.3 nginx组成结构 1.4 nginx安装部署 1.5 nginx目录结构 1.6 nginx配置文件 1. ...

  8. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  9. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

随机推荐

  1. foreach 加& 什么意思?

    foreach 加&遍历的同时改变原数组即修改数据或者增加数据 foreach 加& 什么意思? 注意:如果我要改变数组某一个值 直接遍历的话原数组是不会变的 下面提供两种方法 1.我 ...

  2. Vue mixins extend

    const mixins = { created () { console.log('mixins created') } } const mixins2 = { created () { conso ...

  3. 【VBA】自动填充序号

    使用Excle自带的工具栏图标填充 填充效果图如下: 代码如下: Sub 自动填充序号() Dim A As CommandBar '代表容器应用程序中的一个命令栏 Dim B As CommandB ...

  4. JDBC技术总结(三)

    1. 数据库连接池 JDBC部分的前两个总结主要总结了一下JDBC的基本操作,而且有个共同点,就是应用程序都是直接获取数据库连接的.这会有个弊端:用户每次请求都需要向数据库获得连接,而数据库创建连接通 ...

  5. Linux系统字符集乱码问题

    假设你在安装Linux的过程中就选择了中文.可能能够省去步骤1.2.反之.假设你先安装了英文环境,而后希望它支持中文,则能够1.2步 1.首先在linux中安装中文包安装中文简体包rpm -ivh k ...

  6. 细说Redirect重定向请求(情节分享)

         前些日子在开发公司项目接口的时候,由于需要与第三方平台对接,由于接口之前的层层封装,不断的需要转发,把人差点搞糊涂了.本来以为之前对Redirect的认识足够清楚,可是到实际开发之前我还是没 ...

  7. freemarker 展示数据列表并传值给后台

    select id="initiatorId" name="initiatorId">                  <#if initiato ...

  8. Educational Codeforces Round 27 F. Guards In The Storehouse

    F. Guards In The Storehouse time limit per test 1.5 seconds memory limit per test 512 megabytes inpu ...

  9. docker-maven-plugin

    顾名思义,docker-maven-plugin是一个docker的maven插件,用来执行docker镜像的制作和上传,他的地址是https://github.com/spotify/docker- ...

  10. android 二维码制作,显示到UI,并保存SD卡,拿来就能用!!

    转载请注明出处:王亟亟的大牛之路 如今二维码已经渗透了我们的生活.各种扫码关注啊.扫码下载的,今天上一个依据输入内容生成二维码的功能. 包结构: 界面截图: 功能:输入网址–>生成图片–> ...