rtklib代碼詳解——ppp.c


主函數: pppos

1 申請變量,初始化標志位

 

2 更新狀態

 

 

狀態更新函數: udstate_ppp

1 位置更新

 

2 時鍾更新

 

3 對流層參數更新(如果配置為對流層參數估計模式

 

4 電離層參數更新(如果配置為電離層參數估計模式

 

5 更新L5接收機硬件延遲參數(如果頻點配置大於等於3,包含L5

 

6 整周模糊度更新

 

PPP位置更新函數: udpos_ppp

1 如果是PMODE_PPP_FIXED模式,則直接初始化,用已知的固定點坐標

 

2 檢測狀態量的值,如果是首次進入,則進行位置和在台賦初值(spp的位置和速度信息 或者前一歷元的位置和速度信息??????

         (動態模式,則還需要額外對速度和加速度賦值

 

3 如果是PMODE_PPP_STATIC 模式,狀態量不變,只更新p陣,賦初值

 

4 如果是PMODE_PPP_KINEMA模式,但是運動模型不是動態,則直接初始化位置和方差

 

5 F陣設置

 

6 狀態轉移

 

7 Q陣更新

 

PPP時鍾更新函數: udpos_ppp

1 循環遍歷每一模式

 

2 檢測是否為精密星歷EPHOPT_PREC精密星歷的時間是基於gps時間,忽略系統間的偏差

 

3 否則利用前一秒的結果,並考慮系統間時差信息

 

4 初始化時鍾信息和方差值

 

PPP對流層更新函數:udtrop_ppp

需要對對流層的模型估計做一個詳細的了解???

1 判斷狀態量是否為0,需要進行賦初值

sbstropcorr 對應 TROPOPT_SBAS修正還是????

如果模型大於TROPOPT_ESTG,則賦初值不一致?????

 

2 如果已經有初值,則直接更新p陣 

如果模型大於TROPOPT_ESTG,則P陣更新的方式不一致?????

 

ppp電離層更新函數:udiono_ppp

1 檢測相位中斷是否超過門限,重置電離層參數

 

2 遍歷各個衛星的電離層參數:

 

3 如果檢測為0, 根據偽距計算電離層初值,並進行初始化

用到ionmapf,ionosphere mapping function ????

 

4 否則,根據高度角,更新P陣

 

ppp硬件延遲參數更新函數:uddcb_ppp

1 如果檢測為0,直接賦初值

認為是穩定的,沒有噪聲驅動,固定的

PPP整周模糊度更新函數:udbias_ppp

1 檢測邊界時間翻轉(?????

 

2 清除衛星周跳標志位

 

3 檢測周跳:LLI

 

4 檢測周跳:幾何無關gf

 

5 檢測周跳:MW組合

 

6 前一時刻位置轉化:ECEF->LLA

 

7 遍歷各個頻點,更新模糊度量:

 

8 遍歷各個衛星,如果檢測到相位中斷大於門限,或單歷元模式,或檢測到

時鍾跳變,則重新賦值模糊度參數

 

9 遍歷各個衛星:

 

  9.1 觀測量量修正,得到修正后的觀測量和修正后的無電離層組合觀測量(天線相位中心修正, 相位纏繞修正,衛星硬件延遲修正

 

  9.2 無電離層組合,bias賦值

 

  9.3 否則,根據單個觀測量的載波相位,減去偽距,在補償根據雙頻偽距估算出來的電離層延遲,得到模糊度初值

 

  9.4 檢測值是否有效,是否周跳,如果正常,統計初始模糊度和狀態量之間的整體偏差(反映載波相位和偽距的一致性)

 

9 根據9.4得到的計算結果,判斷如果滿足補償門限,進行補償(門限值挺大的??

 

10 遍歷各個衛星,進行P陣更新

         (如果狀態量無效,或有周跳發生,則用bias進行重置

          重置模糊度固定標志位

 

LLI周跳檢測函數:detslp_ll

 

gf周跳檢測函數:detslp_gf

         根據雙頻觀測量相減,剩余電離層殘差以及整周模糊度,穩定項,前后做差檢測周跳

 

mw周跳檢測函數:detslp_mw

主要受偽距噪聲和多路徑的影響

 

 


免責聲明!

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



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