




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言計(jì)算GPS衛(wèi)星位置1 概述在用 GPS信號進(jìn)行導(dǎo)航定位以及制訂觀測計(jì)劃時(shí),都必須已知GPS衛(wèi)星在空間的瞬間位置。衛(wèi)星位置的計(jì)算是根據(jù)衛(wèi)星電文所提供的軌道參數(shù)按一定的公式計(jì)算的。本節(jié)專門講解觀測瞬間GPS 衛(wèi)星在地固坐標(biāo)系中坐標(biāo)的計(jì)算方法。2 衛(wèi)星位置的計(jì)算1. 計(jì)算衛(wèi)星運(yùn)行的平均角速度n根據(jù)開普勒第三定律,衛(wèi)星運(yùn)行的平均角速度n0 可以用下式計(jì)算:式中為 WGS-84坐標(biāo)系中的地球引力常數(shù),且=3.986005 1014320加上衛(wèi)星m/s 。平均角速度n電文給出的攝動改正數(shù)n,便得到衛(wèi)星運(yùn)行的平均角速度nn=n0+ n(4-12)2. 計(jì)算歸化時(shí)間 t k首先對觀測時(shí)刻t 作衛(wèi)星鐘差改
2、正t=t -t然后對觀測時(shí)刻t 歸化到 GPS時(shí)系t k=t-t oc(4-13)式中 t k 稱作相對于參考時(shí)刻t oe 的歸化時(shí)間(讀者注意:toc toe )。3. 觀測時(shí)刻衛(wèi)星平近點(diǎn)角 Mk 的計(jì)算Mk=M0+ntk(4-14)式中 M0 是衛(wèi)星電文給出的參考時(shí)刻toe 的平近點(diǎn)角。4.計(jì)算偏近點(diǎn)角EkE =M+esinE(E ,M( 4-15 )kkkkk 以弧度計(jì) )上述方程可用迭代法進(jìn)行解算,即先令Ek=Mk, 代入上式,求出Ek 再代入上式計(jì)算,因?yàn)镚PS衛(wèi)星軌道的偏心率e 很小,因此收斂快,只需迭代計(jì)算兩次便可求得偏近點(diǎn)角Ek。5. 真近點(diǎn)角 Vk 的計(jì)算由于 :因此 :6
3、升交距角 k 的計(jì)算為衛(wèi)星電文給出的近地點(diǎn)角距。7. 攝動改正項(xiàng) u, r, i 的計(jì)算 u, r, i 分別為升交距角u 的攝動量,衛(wèi)星矢徑r 的攝動量和軌道傾角i 的攝動量。8.計(jì)算經(jīng)過攝動改正的升交距角uk、衛(wèi)星矢徑 r k 和軌道傾角 i k9. 計(jì)算衛(wèi)星在軌道平面坐標(biāo)系的坐標(biāo)衛(wèi)星在軌道平面直角坐標(biāo)系(X軸指向升交點(diǎn))中的坐標(biāo)為10. 觀測時(shí)刻升交點(diǎn)經(jīng)度k 的計(jì)算升交點(diǎn)經(jīng)度 k 等于觀測時(shí)刻升交點(diǎn)赤經(jīng)(春分點(diǎn)和升交點(diǎn)之間的角距)與格林泥治視恒星時(shí)GAST(春分點(diǎn)和格林尼治起始子午線之間的角距)之差, k =-GAST又因?yàn)?:oetk( 4-23 )(4-24)其中 oe 為參與時(shí)刻
4、t oe 的升交點(diǎn)的赤經(jīng);是升交點(diǎn)赤經(jīng)的變化率,衛(wèi)星電文每小時(shí)更新一次和t oe。此外,衛(wèi)星電文中提供了一周的開始時(shí)刻t w 的格林尼治視恒星時(shí)GASTw。由于地球自轉(zhuǎn)作用,GAST不斷增加,所以:GAST=GASTw+et( 4-25 )式中 e 10-5rad/s為地球自轉(zhuǎn)的速率;t 為觀測時(shí)刻。由式( 4-24 )和( 4-25 ),得 :由( 4-13 )式,得 :其中0oeGASTw , o 、 、 toe 的值可從衛(wèi)星電文中獲取。11. 計(jì)算衛(wèi)星在地心固定坐標(biāo)系中的直角坐標(biāo)把衛(wèi)星在軌道平面直角坐標(biāo)系中的坐標(biāo)進(jìn)行旋轉(zhuǎn)變換,可得出衛(wèi)星在地心固定坐標(biāo)系中的三維坐標(biāo):12. 衛(wèi)星在協(xié)議地球
5、坐標(biāo)系中的坐標(biāo)計(jì)算考慮極移的影響,衛(wèi)星在協(xié)議地球坐標(biāo)系中的坐標(biāo)為利用 C 語言程序?qū)崿F(xiàn)#include #include #include #include #define WE 7.292115e-6struct canshuint prn, nian, yue, ri, shi, fen;/ 衛(wèi)星 PRN號,年,月,日,時(shí),分double miao;/ 秒long double adoe, a0, a1, a2, mo, dn, e, ga, pio, io, w, pid, ii, cuc, cus, cue, crs, crc, cis, cic, toe, aodc, wn;/* 參
6、數(shù)說明: ADOE值, a0 衛(wèi)星鐘偏差 , a1 衛(wèi)星鐘漂移 , a2 衛(wèi)星鐘頻率漂移 , M0 平近點(diǎn)角 ,n 平運(yùn)動差 , e 偏心率 , a1/2 半長軸的平方根 , 0 軌道平面升交點(diǎn)經(jīng)度 ,i0 傾角 , 近地點(diǎn)角距 , * 升交點(diǎn)速率 , IDot 傾角速率 , Cuc Cus升交角距的攝動改正項(xiàng) ,Crc Crs地心距的攝動改正項(xiàng) , Cic Cis傾角的攝動改正項(xiàng) ,toe 參考?xì)v元 */;void wxzbjx(struct canshu *pt)long double a, n0, n, t, tk, toc, mk, ek, vk, fik, uk, rk, ik;lo
7、ng double xk, yk ,zk, lk;long double XK, YK, ZK;int temp;pt-nian = pt-nian + 2000;t = (long double)(pt -nian)- 1980) * 365 * 24 * 3600 + (pt -yue - 1) * 30 * 24 * 3600 +pt -ri* 24 * 3600 + pt-shi * 3600 + pt -miao); a = pt -ga * pt -ga;n0 = sqrt(WE/(a*a*a);/ 平均角速度 n0n = n0 + pt -dn;tk = t - pt -toe;
8、toc = pt -a0 + pt -a1 * (t - pt -toe) + pt -a2 * (t - pt-toe) * (t - pt -toe); tk = tk - pt -toe;mk = pt -mo + n * tk;ek = mk;for(temp=0;tempe * sin(ek);/ 利用迭代法求偏近點(diǎn)角ekvk = 2 * atan(sqrt(1+ pt -e) / (1 - pt -e)* (tan(ek) / 2 ); fik = vk + pt -w;uk = fik + pt -cuc * cos(2* fik) + pt -cus * sin(2*fik);
9、rk = pt -ga * pt -ga * (1 - pt -e * ek) + pt -crc * cos(2* fik) + pt -crs * sin(2*fik); ik = pt -io + pt -cic * cos(2 * fik) + pt -cis * sin(2* fik) + pt -ii * tk; xk = rk * cos(uk);yk = rk * sin(uk);zk = 0;lk = pt -pio + (pt -pid - WE) * tk - WE * pt-toe;XK = xk * cos(lk) - yk * cos(ik) * sin(lk);Y
10、K = xk * sin(lk) + yk * cos(ik) * cos(lk);ZK = yk * sin(ik);printf(n%d 年%d 月 %d 號%d 時(shí)%.2f 秒 %d 號衛(wèi)星的坐標(biāo) :, pt-nian, pt-yue ,pt-ri ,pt-shi ,pt-miao, pt-prn);printf(nXk = %.9fnYk= %.9fnZK = %.9fnn, XK, YK, ZK);int main(void)FILE *fp, *fp1, *fp2;struct canshu a;int i=0, hanhao = 1;long double temp1, temp
11、2, temp3, temp5, temp4, temp6, temp7; char ch, ch1;星歷文件 guangboxingli2.txt, r) = NULL)/ 請自定義星歷文件位置及名稱printf( 文件無法打開! );exit(0);else星歷文件 guangboxingli2fu.txt, w) = NULL)printf( 文件無法打開! );exit(0);elsewhile(ch1 = fgetc(fp1) != EOF)if(ch1 = n)i +;putchar(ch1);if(i = 15)break;while(!feof(fp1)ch1=fgetc(fp
12、1);if(ch1 = D)ch1 = e;fputc(ch1,fp2);fclose(fp1);fclose(fp2);printf( 以上是星歷文件的頭文件!n);system(pause);printf( 讀取文件參數(shù)數(shù)據(jù) n !);星歷文件 guangboxingli2fu.txt, r) = NULL)/ 創(chuàng)建計(jì)算結(jié)果文檔printf( 文件無法打開! );exit(0);while(!feof(fp)switch(hanhao)case 1:fscanf(fp,n%d%d%d%d%d%d%lf %le %le %le, &a.prn, &a.nian,&a.yue, &a.ri,
13、&a.shi,&a.fen, &a.miao, &a.a0, &a.a1, &a.a2);printf(%d %d %d %d %d %d %lf %le %le %le, a.prn, a.nian, a.yue,a.ri, a.shi,a.fen, a.miao, a.a0, a.a1, a.a2);hanhao+;case 2:fscanf(fp,%le %le %le %le, &a.adoe, &a.crs, &a.dn, &a.mo); printf(n%le %le %le %le, a.adoe, a.crs, a.dn, a.mo); hanhao+;case 3:fscan
14、f(fp,%le %le %le %le, &a.cue, &a.e, &a.cus, &a.ga); printf(n%le %le %le %le, a.cue, a.e, a.cus, a.ga); hanhao+;case 4:fscanf(fp,%le %le %le %le, &a.toe, &a.cic, &a.pio, &a.cis); printf(n%le %le %le %le, a.toe, a.cic, a.pio, a.cis); hanhao+;case 5:fscanf(fp,%le %le %le %le, &a.io, &a.crc, &a.w, &a.pid); printf(n%le %le %le %le, a.io, a.crc, a.w, a.pid); hanhao+;case 6:fscanf(fp,%le %le %le %le, &a.ii, &temp1, &a.wn, &temp2); printf(n%le %le %le %le, a.ii, temp1, a.wn, temp2); hanhao+;case 7:fscanf(fp,%le %le %le %le, &temp3, &temp4, &temp5, &a.aodc);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本合資
- 醫(yī)院線路驗(yàn)收合同范本
- app商城合作合同范本
- 南門小學(xué)租房合同范本
- 架子班組勞務(wù)分包合同范本
- 合作建設(shè)開發(fā)合同范本
- 口罩機(jī)居間合同范本
- 農(nóng)村自建車庫合同范本
- 豐臺區(qū)供暖安裝合同范本
- 卡車賣買合同范本
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第五單元學(xué)會有效溝通
- 2024年可行性研究報(bào)告投資估算及財(cái)務(wù)分析全套計(jì)算表格(含附表-帶只更改標(biāo)紅部分-操作簡單)
- 醫(yī)院醫(yī)療項(xiàng)目收費(fèi)管理制度
- 浙江建設(shè)職業(yè)技術(shù)學(xué)院單招《職業(yè)技能測試》參考試題庫(含答案)
- 排球教學(xué)課件教學(xué)課件
- 《軟件工程導(dǎo)論》期末復(fù)習(xí)考試題庫(帶答案)
- 小學(xué)英語名詞單數(shù)變復(fù)數(shù)的語法規(guī)則及練習(xí)題含答案
- 安徽省滁州市2024年小升初英語試卷(含答案)
- 國際經(jīng)濟(jì)與貿(mào)易《統(tǒng)計(jì)學(xué)》課程教學(xué)大綱
- DB33-T 1378-2024 羊肚菌大田設(shè)施栽培技術(shù)規(guī)程
- 黑龍江省哈爾濱市2022-2023學(xué)年七年級下學(xué)期數(shù)學(xué)期末試題(含答案)
評論
0/150
提交評論