GPS廣播星歷計算衛星位置和速度_第1頁
GPS廣播星歷計算衛星位置和速度_第2頁
GPS廣播星歷計算衛星位置和速度_第3頁
GPS廣播星歷計算衛星位置和速度_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、“GPS廣播星歷計算衛星位置和速度”及“GPS偽距定位”計算試驗1試驗內容及上交成果1.1 試驗內容應用C語言按預定格式(函數、輸入輸出變量之名稱、類型)編寫“GPS廣播星歷計算衛星位置和速度”函數SatPos_Vel( )、“GPS偽距定位”函數Positioning( )。將此兩個函數組成文件F2.cpp,并包含于文件GPS_Positioning.cpp中。編譯、連接并運行文件GPS_Positioning.cpp,逐一時刻讀取廣播星歷(Ephemeris.dat)、觀測時間及偽距、衛星號(Observation.dat)信息,計算WGS84坐標系中觀測時刻相應的衛星位置、速度以及載體位

2、置,結果保存于文件Position.dat中。1.2 上交成果磁盤文件F2.cpp、Position.dat,并存于“學號作者中文姓名”目錄中。2函數說明2.1 星歷文件讀取函數void EFileReading(Efile)功能:讀取星歷文件,給星歷數據結構體Ephemeris賦值。輸入變量:EFile字符串,文件名。2.2 觀測數據讀取函數int ObsReading(fp_Obs,Time,Rho,Mark)功能:從文件Observation.dat中讀取某一時刻的偽距、衛星號。讀取成功函數值返 回“1”,失敗返回“1”(讀錯,或至文件尾)。輸入變量:fp_Obs文件指針;輸出變量:Ti

3、medouble,時間(秒);Rhodouble12,偽距(米);Markint12,衛星號,“1”表示此通道無衛星、無偽距。2.3 最小二乘估計函數int LeastSquareEstimation(Y,A,P,m,n, X)功能:最小二乘方法求解觀測方程Y=AX+,其中觀測值方差陣的逆陣為P(也稱為權 陣),得未知參數X。成功返回“1”,失敗返回“1”(虧秩)。輸入變量:Ydoublem,觀測方程自由項(米);Adoublem×n,系數陣(無量綱),按第1行第1、2n元素,第2行順序存放;Pdoublem,權矩陣對角線元素,0或1(無量綱);mint,觀測值個數;nint,未知參

4、數個數;輸出變量:Xdoublen,未知參數(米)。原理:X=(ATPA)-1ATPY例:Y1,2,3,6,A=1,0,0, 0,1,0, 0,0,1, 1,1,1,P=1,1,1,1,m=4,n=3。調用LeastSquareEstimation(Y,A,P,m,n, X),求得X=1,2,3。2.4 計算衛星位置、速度函數int SatPos_Vel(Num,Time, SatPos,SatVel)功能:計算WGS84坐標系中衛星位置、速度。成功返回“1”,失敗返回“1”(無星 歷)。輸入變量:Numint,衛星號;Timedouble,時間(秒)。(隱含引用全局變量Ephemeris32

5、,星歷數據結構體)輸出變量:SatPosdouble3,位置(米,WGS84);SatVeldouble3,速度(米/秒,WGS84)。2.5 偽距測量定位int Positioning(Time,Rho,Mark, Pos,dt)功能:由單一時刻偽距計算載體位置,并保存接收機鐘面時、衛星位置、速度及載體 位置于定位結果文件Position.dat中。成功返回“1”,失敗返回“1”(觀測 值數量不夠,虧秩)。輸入變量:Timedouble,偽距觀測時刻接收機鐘面時(秒);Rhodouble12,偽距(米);Markint12,衛星號,“1”表示此通道無信號;輸出變量:Posdouble3,載體

6、位置(米,WGS84);dtdouble,鐘差(秒)。3全局變量說明LightVelocity字符常量,光速(米/秒),299 792 458;PI字符常量,圓周率,3.141 592 653 589 793;MU字符常量,地球引力常數(米3秒2),3.986005e14;OMEGAE字符常量,地球自轉角速度(弧度·秒1),7.292115e-5;fp_Obs文件指針,觀測數據文件;fp_Pos文件指針,位置結果文件。Structure Eph_StrMark整型,標識,“1”有,“1”無wn整型,星期數toc衛星鐘差改正參考時刻(秒)af2衛星鐘差改正系數(秒/秒2)af1(秒/秒

7、)af0(秒)aode數據齡期deltan平均角速度改正(半周/秒)m0參考時刻平近點角(半周)e偏心率;rootaa1/2(米1/2)toe星歷參考時刻(秒)cic(弧度)crc(米)cis(弧度)crs(米)cuc(弧度)cus(弧度)omega0準升交點赤經(半周)omega近地點角距(半周)i0軌道傾角(半周)omegadot升交點赤經變化率(半周/秒)idot軌道傾角變化率(半周/秒)Ephemeris32星歷數據結構體。注:數據類型除注明整型外,其余為雙精度型。4文件說明4.1 觀測數據文件Observation.datTime,n偽距觀測時間,衛星顆數Rho_1,n_1偽距(米)

8、,衛星號Rho_n,n_n偽距(米),衛星號Time,n偽距觀測時間,衛星顆數4.2 衛星星歷數據文件Ephemeris.datsvprn整數,衛星號wn整數,星期數idot軌道傾角變化率(半周/秒)(詳細說明請參見數據結構體Structure Eph_Str Ephemeris32)svprn整數,衛星號4.3 位置計算結果文件Position.datTime偽距觀測時刻(秒)n_1,x_1,y_1,z_1, xdot_1,ydot_1,zdot_1衛星號,衛星坐標(米,WGS84),速度(米/秒)n_n,x_n,y_n,z_n, xdot_n,ydot_n,zdot_n衛星號,衛星坐標(米

9、,WGS84),速度(米/秒)x,y,z載體坐標(米,WGS84)Time偽距觀測時刻(秒)4.4 GPS_Positioning.cpp作為主函數,調用Parameter.h、Function.h、F1.cpp、F2.cpp。逐一時刻讀取廣播星歷、偽距等信息,計算衛星位置、速度及載體位置。4.5 Parameter.h字符常量定義、全局變量說明。4.6 Function.h函數說明。4.7 F1.cpp包含輔助函數如下;廣播星歷讀取函數EFileReading() ;觀測數據(時間、衛星個數、偽距、衛星號)讀取函數ObsReading();最小二乘法求解函數LeastSquareEstima

10、tion();矩陣相乘計算函數MatrixMultiply();高斯選主元消去法矩陣求逆函數MatrixInverse();三維向量長度計算函數VectorLength()。4.8 F2.cpp包含函數如下:衛星位置、速度計算函數SatPos_Vel();偽距定位函數Positioning()。5首歷元觀測時刻參考答案(Position.dat)193645.029 -15567798.7 945675.6 21321624.5 249.3 -2743.6 303.3 0 14665363.6 9394841.8 20224091.6 -2310.3 1043.6 1194.920 -10127606.0 21492092.3 -10899994.3 -90.1 -1466.0 -2807.921 -1578334.5 26219741.9 -284477.9 -409.9 -14.9 3151.828 -20375527.0 15214719.7 7639734.1 -975.7 140.2 -2976.324 -2456690.1 16712706.9 207402

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論