日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

精密星历介绍与使用

發(fā)布時(shí)間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 精密星历介绍与使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 精密星歷
      • 精密星歷下載
      • 精密星歷格式
        • 簡單解讀
    • rtklib 精密星歷應(yīng)用
      • 插值處理
        • Neville插值介紹
    • 使用精密星歷解算與廣播星歷的對比
      • 精密星歷解算結(jié)果
      • 廣播星歷解算結(jié)果

精密星歷

SP3精密星歷格式,即The Extended Standard Product 3 Orbit Format.

精密星歷下載

點(diǎn)擊此處進(jìn)行精密星歷下載
以下圖片顯示的是下載2005-04-02的精密星歷,如此可下載這一天的精密星歷。

精密星歷格式

#cP2009 4 1 0 0 0.00000000 96 ORBIT IGS05 BHN ESOC European Space Operations Centre ## 1525 259200.00000000 900.00000000 54922 0.0000000000000 + 48 G32G24G25G26G27G30G03G04G06G08G09G10G14G13G28G21G11 + G22G20G18G16G19G23G02G31G17G12G15G29G07R04R06R07R10 + R11R13R14R15R17R19R20R23R18R21R22R03R02R08 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++ 5 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5 ++ 5 5 5 6 5 5 5 5 5 5 5 5 5 7 8 6 6 ++ 6 7 7 7 7 6 6 7 7 7 7 7 6 7 0 0 0 ++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 %c M cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc %c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc %f 0.0000000 0.000000000 0.00000000000 0.000000000000000 %f 0.0000000 0.000000000 0.00000000000 0.000000000000000 %i 0 0 0 0 0 0 0 0 0 %i 0 0 0 0 0 0 0 0 0 /* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC /* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC /* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC /* PCV:IGS05_1461 OL/AL:FES2004 NONE YN ORB:CoN CLK:CoN * 2009 4 1 0 0 0.00000000 PG32 -8588.723867 -20090.643282 15669.151907 280.381686 PG24 22871.271694 12675.543847 -3627.944084 177.697220 ... (此處省略若干行) PR08 5808.861773 17946.260291 -17172.857334 -102.035201 * 2009 4 1 0 15 0.00000000 PG32 -8297.565626 -21671.755580 13538.952491 280.377529 PG24 22933.972419 13075.825862 -790.871026 177.700812

簡單解讀

#cP2009 4 1 0 0 0.00000000 96 ORBIT IGS05 BHN ESOC
  • #c, 版本

  • P, Pos/Vel 標(biāo)志位

  • 2009 4 1 0 0 0.00000000, 精密星歷開始的年-月-日-時(shí)-分-秒

  • 96, 歷元數(shù)

  • IGS05
    http://acc.igs.org/igs-frames.html

  • ESOC, European Space Operations Centre

## 1525 259200.00000000 900.00000000 54922 0.0000000000000
  • 1525, GPS周
  • 259200.00000000, GPS周內(nèi)秒
  • 900.00000000,歷元間隔 此處為900秒,15分鐘
  • 54922,儒略日
+ 48 G32G24G25G26G27G30G03G04G06G08G09G10G14G13G28G21G11 + G22G20G18G16G19G23G02G31G17G12G15G29G07R04R06R07R10 + R11R13R14R15R17R19R20R23R18R21R22R03R02R08 0 0 0
  • 48, 衛(wèi)星數(shù)
  • G32…R08, 衛(wèi)星編號

更多SP格式說明點(diǎn)擊此處

rtklib 精密星歷應(yīng)用

rtklib支持精密星歷的使用,從下邊的代碼可以看到,我們可以通過指定星歷使用參數(shù)EPHOPT_PREC,這樣在進(jìn)行衛(wèi)星位置的解算時(shí),使用的就是精密星歷了。

extern int satpos(gtime_t time, gtime_t teph, int sat, int ephopt,const nav_t *nav, double *rs, double *dts, double *var,int *svh) {trace(4,"satpos : time=%s sat=%2d ephopt=%d\n",time_str(time,3),sat,ephopt);*svh=0;switch (ephopt) {case EPHOPT_BRDC : return ephpos (time,teph,sat,nav,-1,rs,dts,var,svh);case EPHOPT_SBAS : return satpos_sbas(time,teph,sat,nav, rs,dts,var,svh);case EPHOPT_SSRAPC: return satpos_ssr (time,teph,sat,nav, 0,rs,dts,var,svh);case EPHOPT_SSRCOM: return satpos_ssr (time,teph,sat,nav, 1,rs,dts,var,svh);case EPHOPT_PREC :if (!peph2pos(time,sat,nav,1,rs,dts,var)) break; else return 1;}*svh=-1;return 0; }

如果我們直接使用rtklib編譯好的可執(zhí)行文件進(jìn)行數(shù)據(jù)處理,那么在option里設(shè)置一下精密星歷就好了。

插值處理

精密星歷播發(fā)的間隔為15分鐘,因此實(shí)際應(yīng)用中需要進(jìn)行插值處理。rtklib中使用的是Neville 插值方法。

/* polynomial interpolation by Neville's algorithm ---------------------------*/ static double interppol(const double *x, double *y, int n) {int i,j;for (j=1;j<n;j++) {for (i=0;i<n-j;i++) {y[i]=(x[i+j]*y[i]-x[i]*y[i+1])/(x[i+j]-x[i]);}}return y[0]; }

Neville插值介紹

了解內(nèi)維爾插值的直接跳過

內(nèi)維爾插值可能不像牛頓和拉格朗日插值那么廣為人知,所以這里順便簡單介紹一下。內(nèi)維爾插值是一種由兩個(gè)n-1次插值多項(xiàng)式構(gòu)造一個(gè)n次多項(xiàng)式的線性逐次插值方法。什么是線性逐次插值呢?我們以五個(gè)點(diǎn)舉個(gè)例子。
首先,使用所有pip_ipi?pi+1p_{i+1}pi+1?,如p0p_0p0?p1p_1p1?進(jìn)行線性插值,我們得到了四個(gè)一階多項(xiàng)式。然后使用四個(gè)得到的一階多項(xiàng)式進(jìn)行線性插值可以得到三個(gè)二階多項(xiàng)式,一直這么進(jìn)行下去,得到一個(gè)四階多項(xiàng)式,這個(gè)四階多項(xiàng)式是通過這五個(gè)點(diǎn)的。

若是還是感覺有點(diǎn)兒抽象,可直接看下邊的例子。對三個(gè)點(diǎn)(-1,0)(0,1)(1,0)進(jìn)行2階內(nèi)維爾插值,結(jié)果如下。

使用精密星歷解算與廣播星歷的對比

精密星歷解算結(jié)果


廣播星歷解算結(jié)果

總結(jié)

以上是生活随笔為你收集整理的精密星历介绍与使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。