【GPS】GPS分析(QXDM關鍵字)


一、GPS信號

  1. GPS信號包含主要三個組成部分:

    1)載波:L1和L2頻段

    2)測距碼(Ranging Code): 用來測量衛星和接收器之間距離的一種信號。

      GPS有C/A碼和P碼兩種測距碼:

        C/A碼(粗捕獲碼)  民

        P碼(精捕獲碼)   軍

    3)導航電文(Navigation Data,也叫D碼): 在定位計算時,除了測距碼外還需要衛星的一些信息,例如星歷、時間等。

 

 

  2. GPS ——> 微波信號 ——> 穿透能力較差。

  例如:

    1)厚度為1cm的水體完全衰減GPS至無法使用;

    2)幾cm后的木頭就可以完全遮蔽GPS信號;

    3)玻璃塑料使GPS信號輕度衰減;

    4)(含金屬塗層)金屬實體完全遮蔽GPS。

  【特別注意】

    (測試GPS時需要注意)

    1)室內無法進行GPS定位;

    2)室外雲雨嚴重時會影響定位精度。

 


 

二、星歷與年歷

  星歷: 得到衛星在天空中的位置軌道信息(精密軌道信息)。

  年歷: (粗略軌道信息)。

    【注意】: (1)在真實的位置計算中年歷是不起作用的。

          (2)XTRA+年歷-------解析出-------->星歷(較為准確)。

 


 

三、GPS啟動方式

  1)冷啟動——> 無星歷、年歷信息(如手機第一次啟動GPS);

  2)溫啟動——> 含年歷,且無大距離移動時;

  3)熱啟動——> 手機有星歷、年歷、以及上次定位信息等時。

 


 

四、A-GPS

  通過無線通訊系統實現的A-GPS方案有兩種運營模式MSB和MSA。

  判斷MSB和MSA定位的方法:

    根據定位運算主體在哪一端【用戶設備終端 or 通訊網絡】?

  1)MSB

    手機承擔位置測量計算工作;

    基於用戶終端的A-GPS,用戶位置計算在用戶終端設備。

  2)MSA

    手機只承擔位置測量工作;

    用戶終端輔助的A-GPS,用戶位置的計算在通訊網絡,最后發送到手機。

  

  還有下面一種定位模式:

  3)Standalone

    Standalone模式不使用A-GPS。

 


 

五、GPS平台

  主要有Qualcomm(高通)和Broadcom(博通)。

  【注意】:輔助數據XTRA和LTO有效周期長達一周。

  1)Qualcomm

    XTRA

      "Extened Receiver Assistance" 的縮寫。

      高通自己設計的一套輔助數據。加速定位。

      是可以下發星歷信息的解決法案,類似AGPS。 都是輔助定位用的。

      【注意】:XTRA+年歷-------解析出-------->星歷(較為准確)。

  2)Broadcom

    LTO

      "Long Term Orbit" 的縮寫.

      自己設計的一套輔助數據。加速定位。


 

六、SUPL

  谷歌服務器。

 


 

七、GPS分析

  主要有五部分。

  1)App層
    在android原生系統上,沒有內置的定位app,只有Settings.

        packages/apps/Settings/src/com/android/settings/location/

        frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/

    Android平台中,GPS的開啟和關閉主要在Settings中。其模式有三種:

      1.High accruacy 高精度
          使用GPS,Networks,Wi-Fi和Bluetooth進行定位;
          准確度最好,但比較費電
      2.Battery saving
          使用Wi-Fi, Bluetooth和Networks進行定位;
          速度快,省電,但是精度較差。
      3.Device only
          只使用GPS進行定位。

    當Location為“ON”,Mode為“High accruacy”或者“Device Only”時,settings數據庫location_providers_allowed字段將被修改為“network,gps”或者“gps”(修改字段的代碼在LocationSettings.java中)。

  2)Framework

    Client端
        frameworks/base/location/java/android/location/
      這里主要是API包,供App調用的。(LocationManager.java)
        frameworks/base/location/java/com/android/internal/location/
      這個目錄是 Framework 對 Location 服務的內部實現。
    Service端
        frameworks/base/services/core/java/com/android/server/LocationManagerService.java
        frameworks/base/services/core/java/com/android/server/location/

  3)HAL

    一般GPS的修改都在gps.conf里做,其他都是源生,不需要修改。

    路徑如下:

        hardware/qcom/gps/etc/gps.conf

  4)Modem(Kernel)

     GPS的驅動接口有URAT、QMI等;

     Linux底層驅動只需要有uart接口就可以接收到gps數據了,而android的hal層會調用linux內核層的uart驅動,所以,只要hal層打開串口,然后read就可以了。

       而gps的標准數據格式為NMEA格式,有以下幾個類型。

        1、GPS定位信息    GPGGA
        2、當前衛星信息    GPGSA
        3、可見衛星信息    GPGSV
        4、推薦最小定位信息  GPRMC

  5)固件Log

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM