谷歌面试题-GPS是如何定位的

276 阅读1分钟

所需知识

  1. 经度:与赤道平行,实际点与赤道平面的角度
  2. 维度:与本初子午线(格林威治子午線) 竖面的夹角 image.png
  3. 笛卡尔坐标,卫星结算出来的是xyz,需要转换为经度/维度

定位的逻辑

  • 包含的设备是:3颗卫星,与地球上的接收器,也就是我们的手机。(为了更加精确可以加多一个卫星)
  • 地球周围一直有24颗gps卫星在环绕的地球,每个地方最少有4颗卫星可以覆盖。
  • 卫星24小时一直投射信号给接收器。
  • 主要3颗卫星,以中心点发射的半径做圆,发射的圆圈交集就能确定用户的位置,由于时间偏差一小毫秒,相差距离会十分大,要加多个卫星计算校正时间。
  • 卫星和地面距离=电磁波传播速度*时间 推到 d = (t2 - t1) * 光速 (卫星发射的时间t1 ,手机收到的时间t2,d = 卫星到手机的距离)
  • 用3个二次曲线方程,解出X,Y,Z的值。
  • 需要把卫星的坐标转化成人能理解的 经度和维度。

通过3个卫星就能确定人的坐标 image.png

实际生活中会比4个要多,比如中国的北斗 image.png

image.png

GPS误差问题

通过,欧几里得几何,黎曼几何解决。