楼主:
rextsai (Rex Tsai)
2014-02-17 11:50:50※ [本文转录自 Hiking 看板 #1J0ORKNs ]
作者: rextsai (Rex Tsai) 看板: Hiking
标题: [情报] 关于卫星导航系统的两三事
时间: Mon Feb 17 11:47:56 2014
线上好读版: http://blog.nutsfactory.net/2014/02/17/about-gps-tracker/
大约是 2008 年的时候,为了 [1]OpenStreetMap 活动,跟着 [2]KaLUG 团购,一起买了
[3]HOLUX M-241,当时大部分行动装置并没有内建 GPS,只有某些高单价的 PDA 有全球定
位系统功能。相对 M-241 在当时的市场性价比很高,使用 MTK 技术,很惊讶居然到目前
为止仍[4]持续销售。实际使用上经历一些技术问题
1. 使用的 MTK 协定有相容问题,当初使用 mtkbabel 无法汇出,必须给点小 patch. 但
是已经比其他的 logger 来的容易使用。
2. 纪录的轨迹有严重的[5]漂移问题,增加了一些后制处理的困扰。
3. 电池插槽容易[6]松脱重置,造成装置一直关机或重开,非常恼人。
后来又陆续买了 [7]Garmin Dakota 20, [8]Nokion AW100, 智慧型手机 iOS, Android 等
等包含 GPS 功能的装置来纪录轨迹。这篇文章分享一些个人对于卫星定位系统的理解,希
望可以帮助其他朋友采购的作为参考依据。
评估要件
这几年的 GPS 装置的入手价格越来越低,参与 OpenSteetMap 的门槛也越来越低。有些朋
友想购买新的 GPS 装置,来纪录踏查轨迹,到底购买的时候要考量哪些产品条件?以下是
我认为构成一个好产品的评估要件
o 准确性 (Accuracy)
o 用电量 (Power consumertion)
o 操作界面 (User interface design)
o 防水性 (Water proof)
o 耐用性 (Durability)
这些条件取决于产品定位与设计。当然,准确性是最主要的评估要件,而硬件本身就是最
大的侷限,从技术面来分析,大约可以分成[9]下面几项
o 接收芯片 (Receiver chip)
o 无线接收 (RF design)
o 软件/韧体设计 (Firmware)
o 辅助仪器 (Sensors)
以下逐一讨论。
接收芯片 (receiver chip)
从过去 GPS Receiver Chip 通常是一棵独立的元件,到现在行动装置流行的市场,卫星定
位系统已经逐渐变成整合进 [10]SoC 的基本功能。[11]卫星定位系统 (Satellite
navigation) 远在约 20,000km 以外的卫星轨道,[12]定位讯号广播穿送到地表后,强度
约在 -125dBm to -130dBm. 在接收到卫星传送的[13]导航资讯之后,接收器会得到以下的
资讯
o 卫星星历 ([14]Almanac) ,可用以计算所有的[15]卫星大略位置,至少六天更新一次
。
o 星历表 (Ephemeris), 计算卫星位置,通常每两小时更新一次。
o 时间与时钟误差资讯。
o 卫星健康状态资讯。
o 电离层资讯。
在讯号抵达地表成功判读前,有许多[16]原因会造成误差,其中天气与量测环境是最容易
影响收讯的因子
o [17]大气效应 (Atmospheric Effects),讯号穿越时会受到干扰延迟,理论上 70 ns
的大气延迟将产生约 10 公尺的残余误差 (Residual error)。
o 气候造成湿度提高、能见度下降。也会影响讯号延迟与强度。
o 多重路径误差 (Multipath effects)
o 星历表 (Ephemeris) 与时间误差
这些 RF 误差需要再[18]处理,像是常见的因为建筑物或地面造成讯号反射误差,可以用
[19]Narrow Correlator Spacing 来处理,大气效应产生的[20]电离层误差也可以透过韧
体来做修正。然评估芯片效能,优先考虑的是[21]灵敏度 (Sensitivity),感度越高,越
能处理微弱的讯号,在室内或遮蔽时有显著的差异,另外新型芯片设计也可以抑制多重路
径误差,提高准确度。更新频率 (Update rate /Fix Rate),这是指从感应芯片传过来的
频率有多高,通常是一秒 1 点到 10 点间 (1-10 Hz),例如 M-241 可[22]程式化成 1 到
5Hz. 一般登山步行一秒一点很够用,但是如果你用来纪录赛车或无人飞行器轨迹,就会发
现精度不足囉。卫星系统会发出数种无线电[23]讯号频道,这些频道各带有不同的资讯。
要完成定位功能,只需要 L1, L2 频道。L1 频道中带有捕获码 aka (C/A, Coarse/
Acquisition Code) 与测距码 (P码),若支援 L2 频道之资料,则可[24]计算出[25]电离
层全电子含量(Total Electron Content, TEC) 所造成的延迟,或是使用于 [26]OPUS 等
[27]GPS post-processing service 系统提高定位准确度。但受到美国军方管制,一般民
用定位系统只支援 L1 (1575.42Mhz±5MHz, GLONASS 1602±8MHz)。但即便无法对 L2 解码
,民间定位系统仍可以[28]分析载波 (carrier wave) 的方式进行即时动态测量 ([29]
Real Time Kinematic correction),估算[30]大气效应误差。因应民用需求,[31]2005
年后,新的 [32]Block-IIR-M GPS 卫星会送出 [33]Civilian L2 (L2C) 讯号,但要到
2016 年后 [34]Next Generation Operational Control System (OCX) 才正式启用。上述
系统谈的是美国 [35]NAVSTAR Global Positioning System (GPS),在 2013 年四月前,
全球定位系统只支援 NAVSTAR,但现在市场已经有 Russian 的 [36]GLONASS 系统可用。
另外在 2020 年还有中国的[37]北斗卫星导航系统、欧洲的 [38]Galileo 系统。现在新款
的芯片也可以支援 Multi-[39]GNSS,市面上的手持产品有 Garmin [40]eTrex 等,至于手
机产品如 [41]Qualcomm Snapdragon 400 等也同时支援 [42]GPS 与 GLONASS. 另外一个
值得考虑的是芯片可以支援的处理频道数量,理论上只要三个卫星就可以计算出平面定位
,取得四颗卫星能取得 [43]3D 定位。也就是说,装置最低需要同时处理四个 L1 频道讯
号。但是在成功取得定位前,装置必须搜索所有可能讯号,以找出最接近的卫星,在[44]
首次定位前,同时间能够处理的卫星讯号数越多,[45]首次定位也就越快、越省电,定位
之后也能有效率的锁定卫星讯号。以前只有美国系统,加上地表角度,天空最多同时可以
看到一打以内的卫星,所以大概只需要十二组频道。但是若加上俄国等系统,你也就需要
更多的“处理频道”。简而言之,[46]处理频道的益处是减短定位时间、减少因遮蔽失去
讯号的机会、提高省电。但必须认识的是,处理频道是很容易误解的销售词汇,各家厂商
定义不同。要注意产品规格上说的处理频道是支援 L1, L2, 那些卫星系统、哪些辅助定位
系统。千万小心那些灌水的数字。
无线接收 (RF design)
除了芯片性能外,另外一个严重影响接收能力的是无线射频接收设计,卫星讯号在抵达晶
片前,会通过[47]天线、[48]射频前端模组等,然后才会转成[49]中频进到数位处理的阶
段。由于全球定位系统的频谱位于 [50]VHF 频段,与 [51]ANT、电信网络、蓝牙或无线网
路不同,使用独立的[52]接收天线,在小型的装置上常见使用平板天线 ([53]patch
antenna),专业一点的手持装置则可能选用四臂螺旋式天线 (Quadrifilar Helix
Antenna),看起来像是传统黑金刚的大型天线,收讯效能比平板天线好。不同的天线设计
造成优劣有别的[54]增益效果,不过技术演进使芯片感度大幅提升,处理讯号反射误差等
等能力提高,在开阔环境效能可能十分接近,但是若是大楼林立的都市环境或树林中,才
会看出明显差异。有些手持式卫星定位系统甚至保留外接接头,可以外接主动式天线来提
高收讯效果。例如装于汽车上,为了避免车厢金属屏蔽,可以拉线到车辆外面,但必须注
意天线的线路会因为长度增加增加衰减。通过天线进入[55]射频前端模组时又可再分成以
下几个元件来评估。
o 低噪音放大器 ([56]Low Noise Amplifier)
o 滤波器 (Filters)
o Down Convertor.
o 时脉 (Clock)
o RF Circuit Layout.
通过天线,进入 RF Front end 后会依序进入上述元件进行讯号增强、过滤、转换,但这
些元件皆已经高度模组化,使用者很难从外观去判断[57]性能差异或是进行客观的评估,
毕竟缺乏测试设备,也难以独立的对每个元件进行测试,但是只要其中一个元件设计失误
,就会影响使用效能。特别是整合到电路板上后造成的讯号[58]干扰[59]问题,在在考验
制造商的工艺技术。前提是制造商愿意重视数位定位的性能。由于目前在智慧型手机,许
多使用者的用途都是在室内打卡、查询附近路径,大部分的时候只要垄统的位置资讯即可
满足,更重要的是电话通信的讯号必须良好。也因此卫星定位的天线的优先值总是被排到
最后,而且依照市场需求,外型是消费者采购的优先考量,为了配合机构设计,天线可能
会移到勉强可用的位置。也因此,有些手机必须手持萤幕朝向脸部才能够成功定位。甚至
有些产品是没有经过严谨测试就上市了。像是 2012 年推出的 [60]ASUS Eee Pad
Transformer Prime,大胆采用金属外壳,结果导致 [61]GPS 功能无法接收讯号失效。金
属会屏蔽电波讯号,请不要再弄清楚手机天线位置前随便安装金属制造的外框阿。
软件/韧体设计 (Firmware)
谈完了[62]基频处理的硬件,接下来来谈谈韧体。全球定位系统有许多可以缩短定位时间
或提高定位精准的技术,这些技术并非全部在韧体中,也可能以软件导航实作,许多技术
也需要依赖硬件的资讯才能完成。以下逐一讨论
o [63]Assisted GPS
o [64]全球卫星导航增强系统 (GNSS Augmentation System)
o [65]惯性导航系统 (Inertial navigation system)
Assisted-GPS
Assisted-GPS 或 A-GPS 是第一个最容易让人混淆的的名词了,最基本的概念是不从卫星
抓取卫星星历 ([66]Almanac) 与星历表 (Ephemeris),而是透过 IP 网络或离线取得可用
的星历资料,甚至透过其他技术预先取得大致位置,再利用此粗估位置推算可见卫星,避
免缓慢的[67]猜测行为,如此就可加速[68]第一次定位的时间。若没有预先快取的星历资
料,就必须等待定位时透过卫星讯号下载,如此会增长第一次定位时间。若关机一段时间
,星历资料已经过期,也必须重新下载 (cold start)。容易令人混淆的是在[69]电信网络
协定中,除了使用 TCP/IP 最多采行的 OMA 协定 [70]"Secure User Plane Location" (
[71]SUPL) aka Mobile Station Based 外,还有另外一种 Mobile Station Assisted,
Control Plane Protocol 则是透过基地台计算移动电话位址,然后将位址资讯传送回手机
。这两种技术是完全相反的。除了透过电信网络的协定外外,在 Android 的 [72]GPS HAL
中,你也可以发现有 XTRA 支援的 [73]API,可以透过互联网下载星历资料,然后再其
他的 [74]Geolocation 系统透过 WiFi ESSID 或 Cell ID 取得约略位址,喂回给 GPS 以
加速定位速度。然而 XTRA 是 [75]Qualcomm 的技术,其他芯片厂商各有不同的作法,如
MTK 则叫做 EPO (Extended Prediction Orbit)。在有线上资源的加持下,手机在首次定
位的速度常常赢过手持式 GPS 装置。像是 Garmin 的装置,若你拜访另外一个国家,它常
常会只利用上次使用的快取搜寻卫星,导致非常第一次定位非常久。协定与方式不同,但
是都是透过线上网络取得星历与粗略位置。也有产品是使用离线星历的方式,像是我手上
持有的 Nikon AW100 三防相机,就支援离线 [76]aGPS,Nikon 的星历只有七天,每七日
得重新下载进 SD Card,并从相机选单中更新资料至卫星定位模组。
全球卫星导航增强系统 (GNSS Augmentation System)
[77]全球卫星导航增强系统 (GNSS Augmentation System) 是利用[78]差分全球定位系统
(Differential GPS, DGPS) 技术,简单讲是在地面设立数个参考基站,由于基站位置是固
定的,因此可以透过差分改正(Deviation Correction) 推算大气延迟、时钟漂移 (clock
drift)。这种增强系统又分为卫星式系统 (satellite-based augmentation system,
SBAS) 与陆地系统 (Ground-based augmentation system, GBAS). 卫星式系统又称为
WADGPS, wide-area DGPS,是将陆地基站的资讯再透过卫星广播出去。其中比较知名的是
欧洲 [79]European Geostationary Navigation Overlay Service (EGNOS)、日本的 [80]
Multi-functional Satellite Augmentation System (MSAS)、美国的 [81]Wide Area
Augmentation System (WAAS),像 WAAS 为例子,可以定位到[82]平面 1 公尺、垂直 1.5
公尺的精确度。由于使用的频段一致,可以以韧体实作不需要额外的无线接收硬件,不少
产品支援 WADGPS。至于陆地系统 (Ground-based augmentation system, GBAS) 使用的频
谱不同,一般民用消费性产品并不支援。
惯性导航系统 (Inertial navigation system)
另外一个有显著差别的是[83]惯性导航系统 (Inertial navigation system),由于定位时
时常会通过林木遮蔽处或隧道等环境,此时会遗失卫星讯号,部份系统的作法是在重新取
得定位前,不予纪录。但是也有作法是利用利用辅助感应器 (Sensors) 的情报来做[84]航
位推算 (Dead Reckoning, deduced reckoning)[85]。一般在定位系统或智慧型手机上常
可看到以下感应器
o [86]气压计 (Barometer)
o [87]电子罗盘/磁力传感器 (magnetic sensor)
o [88]陀螺仪 (Gyroscope sensor)
o [89]加速计 (Accelerometer)
o [90]记步器 (Pedometer)
o 踏频、轮圈转速等
这些感应器可以提供高度、方向、加速度、角速度、速度等移动资讯,透过这些资讯即可
以惯性推算运动的位置。当然准确度是很可疑的,但是可以作为暂时遗失讯号的备用机制
,弥补无法录记轨迹的问题。部份民用卫星定位系统支援惯性导航功能。
其他注意事项
市面上的产品大致可以分为三类
o 记录器 (Logger) / 手表 (GPS Watch)
o 智慧型手机 (Smart Phone)
o 卫星导航系统 (Handheld GPS)
若要购买专门的器材,第一优先依照使用需求购买,市面产品多样,有适合方便跑步纪录
的手表、自行车等专用产品,产品大小对于运动类型有很大的影响,某些自行车专用可以
顺便纪录踏频、轮圈,都已经整合妥当,使用起来也比较方便。特别注意某些旧款产品能
收的处理频道较少、或是没有数位罗盘功能,这都会造成定位较慢或不容易使用。像是
HOLUX M-241 就没有数位罗盘,功能中的行进方向是透过轨迹计算出运动方向。如果会进
行两天以上深山的行程,可能会进入浓雾、大雨的恶劣气候中,而且无法当天撤退,笔者
建议购买防水的手持式卫星导航系统,最好是附有四臂螺旋式天线的产品。因为在山中,
必须用到卫星定位系统就是视线不良,无法透过地图判读与目标定位。特别是天候状况不
佳、攸关性命时,你不会希望拿出一个可能进水损坏,或只有特定角度收的到讯号的装置
出来。若是轻松且避开恶劣天候的行程,手机可以取代大部分的 GPS 功能,而且性能强大
,拨看地图效率远比传统手持定位系统好。无论是 [91]MTK 平台或是 [92]Qualcomm,卫
星定位功能皆已整合,Qualcomm 平台宣称可以精准至 2 公尺 (应搭配 WADGPS) 精确度与
省电比起两三年前大幅提升许多。但是购买时,仍须注意产品的无线接收设计,如果以性
能为优先考量,就别考虑好看的金属外壳机种吧。使用上必须注意的是手机有[93]数种定
位方式,可以透过网络 (WiFi, Cell Id) 或是 GPS 讯号,但由于 GPS 讯号往往定位较慢
且耗电,许多开发者会使用默认的网络定位方式,这会造成切换电信基地台或收到其他无
线网络基地台时,产生漂移的问题,也因此我们会看到[94]迷路的悲剧。若要导航使用,
建议使用专门的软件,像是 [95]OruxMaps,功能强大也可以预载离线地图,以免没有网络
可存取线上图资系统。除了参考本文写的各项要点外,在购买的时候,规格上常常会写一
些令人困惑的精确度,例如 [96]Garmin Dakota 20
<10公尺,95%、RMS、Typical,无S/A干扰下,单机定位
这是指,这个测量有 95% 的信心度,[97]RMS 指大约有 [98]63%-69% 是在十公尺之内的
精确度。无 S/A 干扰指无美国的误差干扰 [99]Selective availability,这项干扰措施
已经于 2000 年 5 月停止,单机定位指没有利用 DGPS 的定位增强系统定位。这个测试应
该是在开阔区域进行,若进入如在深谷中,由于收到讯号的[100]角度太窄,更容易产生计
算误差,要小心地形所造成的误差,不能只看表面规格。很遗憾,市场上没有手机在规格
上标明卫星定位精确度。另外则是纪录轨迹的精度功能,其实一般通用的 [101]GPX (GPS
Exchange Format) 档案格式可以包含精度情报,例如定位的类型 (fix) 是 2d, 3d 还是
DGPS, 收到几颗卫星 (SAT), 精度因子 ([102]Dilution of precision, DOP) 等。定位时
可能产生的错误太多,就算可以收到数颗卫星资讯,推算过程中必定产生误差,精度因子
是透过卫星的位置算出可能的错误范围,借此可以得知该轨迹点的可信赖度。仍而一般户
外休闲用手持卫星追踪装置并未提供此资讯,另外在手机,如果直接使用[103]标准程式界
面,精确度也会被转换成以[104]公尺为距离的误差。能够取出完整资讯的只有 [105]NMEA
格式,但 NMEA 需要再次被处理过才好分享给其他软件使用。无论是使用手机或专门导航
系统,记得要多带电池。多日行程也请携带纸本地图与指北针。电子产品有可能失效,而
多个小事故累积起来往往会产生悲剧。
Ref
o National Marine Electronics Association - NMEA [106]http://www.nmea.org/
o An Introduction to GNSS | Chapter 4 - Real-Time Kinematic | NovAtel [107]
http://www.novatel.com/an-introduction-to-gnss/
chapter-4-advanced-gnss-concepts/real-time-kinematic-rtk/
o Fw: [心得] 爬山不要完全相信手机地图GPS - 看板 Hiking - 批踢踢实业坊 [108]
http://www.ptt.cc/bbs/Hiking/M.1380538573.A.408.html
o GPS explained: Position Determination [109]http://www.kowoma.de/en/gps/
positioning.htm
o GPS Satellite Detection Sensitivity – Enhancing Accuracy of GPS [110]http:/
/www.brighthub.com/electronics/gps/articles/42609.aspx
o GPS 接收器测试 - National Instruments [111]http://www.ni.com/white-paper/
7189/zht/
o GPS 无线标准 - National Instruments [112]http://www.ni.com/white-paper/7139
/zht/
o Re: [心得] 爬山不要完全相信手机地图GPS - 看板 Hiking - 批踢踢实业坊 [113]
http://www.ptt.cc/bbs/Hiking/M.1380710553.A.1D6.html
o The reference for Global Navigation Satellite Systems - Navipedia [114]
http://www.navipedia.net/index.php/Main_Page
o What is the True Accuracy of the Best Handheld GPS System - Understanding
the Accuracy of GPS [115]http://www.brighthub.com/electronics/gps/articles/
43189.aspx
References:
[1] http://www.openstreetmap.tw/
[2] http://kalug.linux.org.tw/pmwiki/index.php?n=KaLUG.OpenStreetMap
[3] https://wiki.openstreetmap.org/wiki/Holux_M-241
[4] http://www.amazon.com/M-241-Bluetooth-Battery-Chipset-Waypoints/dp/B000FSQOI4
[5] http://scilib.typepad.com/techreviews/2008/01/holux-m-241-gps.html
[6] https://wiki.openstreetmap.org/wiki/Holux_M-241#Durability
[7] http://www.garmin.com.tw/products/onthetrail/dakota20/
[8] http://www.nikonusa.com/en/Nikon-Products/Product-Archive/Compact-Digital-Cameras/26293/COOLPIX-AW100.html
[9] http://www.navipedia.net/index.php/Generic_Receiver_Description
[10] https://en.wikipedia.org/wiki/System_on_a_chip
[11] https://en.wikipedia.org/wiki/Satellite_navigation
[12] http://www.navipedia.net/index.php/GPS_Signal_Plan
[13] http://www.navipedia.net/index.php/GPS_Navigation_Message
[14] https://en.wikipedia.org/wiki/GPS_signals#Almanac
[15] http://www.navipedia.net/index.php/Coordinates_Computation_from_Almanac_Data
[16] https://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System
[17] https://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System#Atmospheric_effects
[18] http://www.navipedia.net/index.php/Baseband_Processing
[19] http://scholar.google.com.tw/scholar?q=Narrow+Correlator+Spacing%2C+gps
[20] https://en.wikipedia.org/wiki/Ionosphere
[21] http://www.ni.com/white-paper/7189/zht/
[22] https://wiki.openstreetmap.org/wiki/Holux_M-241#Software_hacks
[23] https://en.wikipedia.org/wiki/GPS_signals#Frequencies_used_by_GPS
[24] http://www.navipedia.net/index.php/Real_Time_Kinematics
[25] https://en.wikipedia.org/wiki/Total_electron_content
[26] http://www.ngs.noaa.gov/OPUS/about.jsp
[27] http://gpsworld.com/7-free-alternatives-opus-post-processing-in-government-shutdown/
[28] https://en.wikipedia.org/wiki/Carrier_wave
[29] https://en.wikipedia.org/wiki/Real_Time_Kinematic
[30] https://en.wikipedia.org/wiki/Dispersion_%28optics%29
[31] http://phys.org/news6762.html
[32] http://www.navipedia.net/index.php/GPS_Space_Segment
[33] https://en.wikipedia.org/wiki/GPS_signals#L2C
[34] http://www.gps.gov/systems/gps/control/#OCX
[35] https://en.wikipedia.org/wiki/Global_Positioning_System
[36] https://en.wikipedia.org/wiki/GLONASS
[37] https://en.wikipedia.org/wiki/Beidou_navigation_system
[38] https://en.wikipedia.org/wiki/Galileo_positioning_system
[39] https://en.wikipedia.org/wiki/Satellite_navigation
[40] http://www.garmin.com.tw/products/onthetrail/etrex30/
[41] http://www.qualcomm.com/snapdragon/processors/400
[42] http://www.qualcomm.com/media/blog/2011/12/15/gps-and-glonass-dual-core-location-your-phone
[43] http://www.kowoma.de/en/gps/positioning.htm
[44] https://en.wikipedia.org/wiki/Time_to_first_fix
[45] https://en.wikipedia.org/wiki/Time_to_first_fix
[46] http://electronics.stackexchange.com/a/11900/37182
[47] https://en.wikipedia.org/wiki/Antenna_%28radio%29
[48] https://en.wikipedia.org/wiki/RF_front_end
[49] https://en.wikipedia.org/wiki/Intermediate_frequency
[50] https://en.wikipedia.org/wiki/Very_high_frequency
[51] https://en.wikipedia.org/wiki/ANT_%28network%29
[52] http://www.navipedia.net/index.php/Antennas
[53] https://en.wikipedia.org/wiki/Patch_antenna
[54] https://en.wikipedia.org/wiki/Gain
[55] http://www.navipedia.net/index.php/Front_End
[56] https://en.wikipedia.org/wiki/Low-noise_amplifier
[57] http://www.brighthub.com/electronics/gps/articles/42609.aspx
[58] http://www.2cm.com.tw/technologyshow_content.asp?sn=0811040017
[59] http://www.2cm.com.tw/technologyshow_content.asp?sn=0812190013
[60] http://eee.asus.com/en/transformer-prime/features
[61] http://www.anandtech.com/show/5285/asus-eee-pad-transformer-prime-gps-issue-explained
[62] https://en.wikipedia.org/wiki/Baseband
[63] https://en.wikipedia.org/wiki/Assisted_GPS
[64] https://en.wikipedia.org/wiki/GNSS_augmentation
[65] https://en.wikipedia.org/wiki/Inertial_navigation_system
[66] https://en.wikipedia.org/wiki/GPS_signals#Almanac
[67] http://www.2cm.com.tw/technologyshow_content.asp?sn=0807220011
[68] https://en.wikipedia.org/wiki/Time_to_first_fix
[69] http://www.2cm.com.tw/technologyshow_content.asp?sn=0807220011
[70] https://en.wikipedia.org/wiki/Secure_User_Plane_Location
[71] https://en.wikipedia.org/wiki/Secure_User_Plane_Location
[72] https://source.android.com/devices/reference/gps_8h_source.html
[73] http://www.kandroid.com/pdk/docs/gps.html#androidGPSInterface
[74] https://developers.google.com/maps/documentation/business/geolocation/
[75] http://www.qualcomm.com/media/releases/2007/02/12/qualcomm-introduces-gpsonextra-assistance-expand-capabilities-standalone
[76] http://nikonimglib.com/agps/index.html.en
[77] https://en.wikipedia.org/wiki/GNSS_augmentation
[78] https://en.wikipedia.org/wiki/Differential_GPS
[79] https://en.wikipedia.org/wiki/European_Geostationary_Navigation_Overlay_Service
[80] https://en.wikipedia.org/wiki/Multi-functional_Satellite_Augmentation_System
[81] https://en.wikipedia.org/wiki/Wide_Area_Augmentation_System
[82] https://en.wikipedia.org/wiki/Wide_Area_Augmentation_System
[83] https://en.wikipedia.org/wiki/Inertial_navigation_system
[84] https://en.wikipedia.org/wiki/Dead_reckoning
[85] https://en.wikipedia.org/wiki/Dead_reckoning
[86] https://en.wikipedia.org/wiki/Barometer
[87] http://en.wikipedia.org/wiki/Magnetometer
[88] https://en.wikipedia.org/wiki/Gyroscope
[89] https://en.wikipedia.org/wiki/Accelerometer
[90] https://en.wikipedia.org/wiki/Pedometer
[91] http://www.mtk.com.tw/_tw/03_news/01-2_newsDetail.php?sn=1101
[92] http://www.qualcomm.com/media/blog/2011/12/15/gps-and-glonass-dual-core-location-your-phone
[93] https://developer.android.com/reference/android/location/LocationManager.html
[94] http://www.ptt.cc/bbs/Hiking/M.1380538573.A.408.html
[95] http://www.oruxmaps.com/
[96] http://www.garmin.com.tw/products/onthetrail/dakota20/
[97] https://en.wikipedia.org/wiki/Root_mean_square
[98] https://en.wikipedia.org/wiki/Circular_error_probable
[99] https://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System#Selective_availability
[100] https://wiki.openstreetmap.org/wiki/Accuracy_of_GPS_data#Enclosed_spaces
[101] http://www.topografix.com/gpx.asp
[102] https://en.wikipedia.org/wiki/Dilution_of_precision_%28GPS%29
[103] https://developer.android.com/reference/android/location/Location.html
[104] https://developer.android.com/reference/android/location/Location.html#getAccuracy%28%29
[105] https://en.wikipedia.org/wiki/NMEA_0183
[106] http://www.nmea.org/
[107] http://www.novatel.com/an-introduction-to-gnss/chapter-4-advanced-gnss-concepts/real-time-kinematic-rtk/
[108] http://www.ptt.cc/bbs/Hiking/M.1380538573.A.408.html
[109] http://www.kowoma.de/en/gps/positioning.htm
[110] http://www.brighthub.com/electronics/gps/articles/42609.aspx
[111] http://www.ni.com/white-paper/7189/zht/
[112] http://www.ni.com/white-paper/7139/zht/
[113] http://www.ptt.cc/bbs/Hiking/M.1380710553.A.1D6.html
[114] http://www.navipedia.net/index.php/Main_Page
[115] http://www.brighthub.com/electronics/gps/articles/43189.aspx