gps 是怎么知道经纬度的,核心原理叫做三边交会测距,GPS 卫星在太空不断向外发射信号,信号里面自带卫星精准位置和原子钟时间,地面的 GPS 接收机接收卫星信号,算出信号从卫星飞到接收机所用的时间,时间乘以光速,就得到接收机和这颗卫星之间的距离,同时接收至少 4 颗卫星的距离,联立方程解算出接收机的三维坐标,也就是经度 纬度 海拔,同时还修正接收机自身时钟误差。简单理解,每一颗卫星相当于一个已知坐标的空中点位,知道接收机到多个已知点的距离,就可以反向算出接收机所在位置,这就是 gps 获取经纬度最根本的逻辑。这里有一个关键点,普通接收机内部时钟精度远不如卫星上的原子钟,存在时钟偏差,如果只用 3 颗卫星,解算出来的坐标会因为时钟误差不准,所以必须用到第 4 颗卫星,把接收机时钟误差作为额外未知数一起求解,这也是为什么 gps 定位最少需要 4 颗卫星。信号传播过程还会受到电离层 对流层大气延迟影响,软件会内置模型做误差修正,同时多路径反射,高楼反射信号,也会让测距不准,造成经纬度漂移。
核心计算逻辑对照表
| 项目 | 说明 |
|---|---|
| 已知信息 | 每颗卫星在轨精确三维坐标 |
| 测量量 | 接收机到卫星的伪距 |
| 最少卫星数量 | 4 颗 |
| 求解未知数 | 经度 纬度 高程 接收机钟差 |
| 输出结果 | WGS84 坐标系下经纬度坐标 |
完整工作流程
第一步 卫星持续广播导航电文,电文包含卫星轨道参数,卫星钟差,大气修正参数。
第二步 GPS 接收机锁定卫星信号,捕获并且解调电文,拿到这颗卫星此刻的空间坐标。
第三步 对比信号发射时刻和接收机接收时刻,计算传播时延,时延乘以光速得到伪距,这里叫伪距,是因为还没有完全消除时钟误差和大气误差。
第四步 同时跟踪多颗卫星,收集多组伪距观测值。
第五步 建立方程组,解算四个未知数,得到接收机在 WGS84 坐标系下的经纬度和高程。
第六步 如果需要,还可以把 WGS84 经纬度转换成本地工程坐标系,比如 CGCS2000 西安 80。
误差来源说明
1 电离层延迟,高层大气让信号速度变化,造成测距偏差。
2 对流层延迟,近地面大气水汽带来传播误差。
3 多路径效应,信号经过建筑物地面反射之后到达接收机,不是直线传播。
4 卫星轨道误差,卫星预报轨道和真实轨道存在微小偏差。
5 卫星钟差,卫星原子钟本身也存在微小时间偏移。
实操理解步骤
第一步 理解伪距概念,明白这个距离不是完美精准距离,带有误差。
第二步 理解为什么必须 4 颗卫星,区分 3 颗卫星和 4 颗卫星的差别。
第三步 了解解算完成之后得到的是 WGS84 经纬度,不是直接就是地图上的平面坐标。
第四步 理解遮挡环境卫星变少,就无法解算,经纬度定位失败。
综合结论,gps 是怎么知道经纬度的,本质就是接收多颗卫星信号,测算伪距,通过空间距离交会解算 WGS84 坐标系下经纬度,第 4 颗卫星主要用来解决接收机时钟误差,大气和反射会带来误差,普通民用 gps 经纬度一般是米级精度,增加差分改正之后可以提升到厘米级。
【常见问题】
问题 1 gps 是怎么知道经纬度的,为什么有时候只搜到 3 颗卫星就定位失败
回答 1 gps 是怎么知道经纬度的,解算需要 4 个未知数,只搜到 3 颗卫星,方程数量不够,无法同时求解经纬度高程和钟差,所以 gps 是怎么知道经纬度的这个原理里面,3 颗卫星不能完成完整定位。
问题 2 gps 是怎么知道经纬度的,输出的经纬度是什么坐标系
回答 2 gps 是怎么知道经纬度的,原始解算输出是 WGS84 坐标系经纬度,很多地图软件会转换成其他坐标系显示,gps 是怎么知道经纬度的要注意坐标系差异,不同坐标系经纬度数值会有偏移。
问题 3 gps 是怎么知道经纬度的,室内为什么拿不到经纬度
回答 3 gps 是怎么知道经纬度的前提是接收机可以接收到卫星发射的无线电信号,墙体楼板会遮挡卫星信号,接收机收不到信号就无法计算伪距,自然无法解算经纬度。
【免责申明】
本内容仅为 GPS 定位原理科普,实际设备解算算法 误差修正模型各厂商会有优化,专业测绘项目需要按照测绘规范执行,本资料不构成工程应用建议。


