衛(wèi)星導(dǎo)航定位算法與程序設(shè)計(jì)-上機(jī)實(shí)習(xí)第5次_第1頁(yè)
衛(wèi)星導(dǎo)航定位算法與程序設(shè)計(jì)-上機(jī)實(shí)習(xí)第5次_第2頁(yè)
衛(wèi)星導(dǎo)航定位算法與程序設(shè)計(jì)-上機(jī)實(shí)習(xí)第5次_第3頁(yè)
衛(wèi)星導(dǎo)航定位算法與程序設(shè)計(jì)-上機(jī)實(shí)習(xí)第5次_第4頁(yè)
衛(wèi)星導(dǎo)航定位算法與程序設(shè)計(jì)-上機(jī)實(shí)習(xí)第5次_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主講:劉暉副教授武漢大學(xué)衛(wèi)星導(dǎo)航定位技術(shù)研究中心衛(wèi)星導(dǎo)航定位算法與程序設(shè)計(jì)第

五次上機(jī)實(shí)習(xí)內(nèi)容

繼續(xù)熟悉編程平臺(tái)

編程中應(yīng)注意的問(wèn)題RINEX觀測(cè)值文件讀取

單點(diǎn)定位中的各項(xiàng)改正計(jì)算

課程實(shí)習(xí)編程平臺(tái)熟悉—Tips可以讓VS直接顯示類關(guān)系圖在“解決方案資源管理器”中項(xiàng)目名稱上點(diǎn)鼠標(biāo)右鍵,選擇顯示類結(jié)構(gòu)圖可以在類結(jié)構(gòu)圖直接編輯,由VS直接形成代碼內(nèi)容

繼續(xù)熟悉編程平臺(tái)

編程中應(yīng)注意的問(wèn)題RINEX觀測(cè)值文件讀取

單點(diǎn)定位中的各項(xiàng)改正計(jì)算

課程實(shí)習(xí)編程中常見(jiàn)的幾類問(wèn)題編程中常見(jiàn)的幾類問(wèn)題C++/C#的變量先聲明后使用的規(guī)范

結(jié)構(gòu)、類等的實(shí)例化后再使用查錯(cuò)和調(diào)試的問(wèn)題C#命名空間的問(wèn)題

結(jié)構(gòu)和類定義的問(wèn)題

窗口應(yīng)用程序下的數(shù)據(jù)組織問(wèn)題

采用out關(guān)鍵字時(shí),數(shù)據(jù)返回的問(wèn)題C++/C#的變量先聲明后使用的規(guī)范

在函數(shù)/方法中,首先要聲明變量,其次再使用變量

舉例:Sample01.cs

doublea,b,c;//首先聲明變量

a=1.0;b=2.0;c=3.0;//其次進(jìn)行賦值操作結(jié)構(gòu)、類等的實(shí)例化后再使用

編譯中經(jīng)常出現(xiàn)的“對(duì)象未實(shí)例化”錯(cuò)誤

舉例:Sample01.cs

GPSTIMEgps;

gps=newGPSTIME();

gps.wn=......;

//正確

切忌:

GPSTIMEgps;

gps.wn=......;//編譯時(shí)會(huì)報(bào)錯(cuò),顯示類沒(méi)有實(shí)例化的錯(cuò)誤信息查錯(cuò)和調(diào)試方法

程序編輯到一定程度,需要進(jìn)行查錯(cuò)。一般是利用生成解決方案的方法來(lái)進(jìn)行查錯(cuò)

程序模塊編輯完成,查錯(cuò)完成后,需要用調(diào)試跟蹤方法來(lái)確定是否完成了功能

舉例:Sample01.csC#命名空間不一致的問(wèn)題

命名空間不一致,會(huì)導(dǎo)致編譯時(shí)出現(xiàn)“找不到類型或命名空間名稱‘’等問(wèn)題出現(xiàn)”。解決方法,修改命名空間,編程一致舉例:Sample01.CS結(jié)構(gòu)和類定義的問(wèn)題

結(jié)構(gòu)和類定義建議為平級(jí)關(guān)系,且

結(jié)構(gòu)定義全用大寫

類第一個(gè)字母大寫,其余小寫

舉例:

namespaceGPS

{

publicstructGPSTIMEP{...}

publicstructCOMMONTIME{...}

publicclassTime{......}

}

namespaceGPS

{

publicclassTime

{

publicstructGPSTIME{......}

publicstructCOMMONTIME{......}

}

}窗口應(yīng)用程序下的數(shù)據(jù)組織問(wèn)題切忌將函數(shù)源代碼直接加在按鈕等控件的事件響應(yīng)函數(shù)中,這樣做代碼復(fù)用性很差。正常的方法是在窗口顯示類之外創(chuàng)建自己的類,二者通過(guò)屬性或方法調(diào)用進(jìn)行實(shí)例數(shù)據(jù)交換。舉例:Sample02.cs窗口操作和數(shù)據(jù)操作的關(guān)系窗口操作數(shù)據(jù)操作顯示更新out關(guān)鍵字的使用

使用out關(guān)鍵字返回?cái)?shù)據(jù)時(shí),在函數(shù)體內(nèi)必須對(duì)變量進(jìn)行賦值

publicstaticboolGetSatPositionFromBroadcastEphemeris(COMMONTIMEtime,EPHEMERISeph,outSVPOSsvpos)

{try

{svpos=newSVPOS();returntrue;

}catch

{svpos=newSVPOS();returnfalse;

}

}內(nèi)容

繼續(xù)熟悉編程平臺(tái)

編程中應(yīng)注意的問(wèn)題RINEX觀測(cè)值文件讀取

難點(diǎn)及解決方法

實(shí)例數(shù)據(jù)單點(diǎn)定位中的各項(xiàng)改正計(jì)算課程實(shí)習(xí)Rinex觀測(cè)值文件的讀取難點(diǎn)及解決方法文件頭觀測(cè)值類型多于9種歷元衛(wèi)星多于12顆時(shí),衛(wèi)星PRN的讀取觀測(cè)值類型多于5種時(shí),觀測(cè)數(shù)據(jù)的讀取某類觀測(cè)值數(shù)據(jù)缺失的問(wèn)題歷元標(biāo)志不為0時(shí)的處理觀測(cè)類型多于9種

分析0<n<=9,不讀(本行),

9<n<=18,讀一行,18<n<=27,讀二行……方法讀取觀測(cè)值類型數(shù)n計(jì)算要讀的行數(shù)讀取m行后,再逐行按格式讀取要讀取的行數(shù)m=(int)((n-0.1)/9);歷元衛(wèi)星數(shù)多于12顆時(shí),讀PRN號(hào)的問(wèn)題歷元衛(wèi)星數(shù)多于12顆時(shí),讀PRN號(hào)的問(wèn)題

分析讀取衛(wèi)星數(shù)n0<n<=12,不讀(本行)

12<n<=24,讀一行,24<n<=36,讀兩行……方法

讀取衛(wèi)星數(shù)n,

計(jì)算要讀的行數(shù)m,

讀取m行后,再逐行按照格式讀取要讀取的行數(shù)m=(int)((n-0.1)/12);觀測(cè)值類型多于5種時(shí)數(shù)據(jù)的讀取歷元衛(wèi)星數(shù)多于12顆時(shí),讀PRN號(hào)的問(wèn)題分析

觀測(cè)值類型數(shù)n0<n<5,不讀(本行)5<n<10,讀取一行

方法

讀取衛(wèi)星數(shù)n,

計(jì)算要讀的行數(shù)m,

讀取m行后,再逐行按照格式讀取要讀取的行數(shù)m=(int)((n-0.1)/5);觀測(cè)值數(shù)據(jù)的缺失分析,缺失觀測(cè)值默認(rèn)為零方法:改進(jìn)字符串讀取函數(shù)判斷字符串長(zhǎng)度,如果字符串長(zhǎng)度不能達(dá)到預(yù)定位置,則賦零。讀取空白字符串時(shí),應(yīng)賦為零。歷元標(biāo)志不為0時(shí)的處理歷元標(biāo)志不為0時(shí)的處理

歷元標(biāo)志不為零時(shí),要根據(jù)后面的衛(wèi)星數(shù)讀取若干行。

可以判斷歷元標(biāo)志,分別進(jìn)行操作實(shí)例數(shù)據(jù)IGS拉薩站的數(shù)據(jù)GPS和GLONASS混合數(shù)據(jù)

觀測(cè)衛(wèi)星數(shù)大于12

觀測(cè)值類型數(shù)等于9內(nèi)容

繼續(xù)熟悉編程平臺(tái)

編程中應(yīng)注意的問(wèn)題RINEX觀測(cè)值文件讀取單點(diǎn)定位中的各項(xiàng)改正計(jì)算相對(duì)論效應(yīng)改正地球自轉(zhuǎn)改正對(duì)流層延遲改正課程實(shí)習(xí)單點(diǎn)定位模型中的誤差改正編程內(nèi)容與要求衛(wèi)星在站心極坐標(biāo)系中的方位角和高度角的計(jì)算函數(shù)相對(duì)論效應(yīng)改正在衛(wèi)星位置計(jì)算中已完成地球自轉(zhuǎn)改正(公式參見(jiàn)WORD文檔)對(duì)流層延遲改正

采用HOPFIELD模型常數(shù)使用時(shí)必須保證足夠多的有效位數(shù),尤其GM等數(shù)值較大的常數(shù)。GM=3.9860047e14omega=7.2921151467e-5//地球自轉(zhuǎn)角速度PI=(3.4626433832795)sqrt_GM=(19964980.033743)SPEED_OF_LIGHT=(299792458.0)//光速第四次作業(yè)單點(diǎn)定位模型改正量計(jì)算上機(jī)實(shí)習(xí)實(shí)習(xí)內(nèi)容和任務(wù)

實(shí)習(xí)數(shù)據(jù)

實(shí)習(xí)內(nèi)容

課堂作業(yè)實(shí)習(xí)內(nèi)容和任務(wù)

平臺(tái):C++或CS

形式:每五個(gè)人一個(gè)學(xué)習(xí)小組

任務(wù):

讀Rinex觀測(cè)值文件和星歷文件

計(jì)算衛(wèi)星高度角、方位角

計(jì)算各項(xiàng)改正量實(shí)習(xí)數(shù)據(jù)IGS武漢站2010.10.16日數(shù)據(jù)IGS拉薩站2010.4.14日數(shù)據(jù)

實(shí)習(xí)數(shù)據(jù)

來(lái)源:IGS跟蹤站W(wǎng)UHN

日期:2010年年積日289

版本2.11(O文件2.11,N文件2.10)

文件名:wuhn2890.10N

來(lái)源:IGS跟蹤站LHAZ

日期:2010年410日

版本2.11(O文件2.11,N文件2.10)

文件名:lhaz1000.10N,lhaz1000.10o實(shí)習(xí)內(nèi)容

繼續(xù)完成RINEXO文件讀取程序

編制衛(wèi)星方位角和高度角計(jì)算

編制各項(xiàng)改正計(jì)算函數(shù)

地球自轉(zhuǎn)

對(duì)流層改正Hopfield

完成課堂作業(yè)。課堂作業(yè)(1)考察內(nèi)容:

讀取RINEX文件衛(wèi)星方位角和高度角計(jì)算函數(shù)的編制

各項(xiàng)改正計(jì)算

形式:提交運(yùn)算結(jié)果運(yùn)算結(jié)果請(qǐng)寫在答題紙上,注明班級(jí)、學(xué)號(hào)和姓名

課堂作業(yè)(2)

第一題:編制RINEX觀測(cè)值文件讀取函數(shù),并填空文件名觀測(cè)值歷元總數(shù)第100個(gè)歷元的時(shí)間和衛(wèi)星數(shù)第700個(gè)歷元的時(shí)間和衛(wèi)星數(shù)wuhn2890.10o2877Lhaz1000.10o2010-04-1001:49:0.016SV5R11G備注:1、wuhn2890.10o是武漢IGS站的觀測(cè)值文件。2、Lhaz1000.10o是拉薩IGS站的觀測(cè)值文件。3、歷元時(shí)間按通用時(shí)填寫,起算從1起算。4、分別標(biāo)注GLONASS衛(wèi)星總數(shù)(R)和GPS衛(wèi)星總數(shù)(G)。課堂作業(yè)(3)

第二題:編制有關(guān)函數(shù),并填空衛(wèi)星號(hào)3131020通用時(shí)04:52:34.5679910:10:0.000

10:02:32.12308:01:4.877GPS時(shí)間535954.56799555000.000554552.123547264.877TOC532784554400554400547200TOE532784554400554400547200衛(wèi)星高度角

衛(wèi)星方位角

星站距離

相對(duì)論改正量

地球自轉(zhuǎn)改正量

對(duì)流層改正量

備注:1,通用時(shí)時(shí)間格式:HH:MM:SS.SSSSS,日期統(tǒng)一為2010-10-162,GPS時(shí)間格式:周秒,周數(shù)統(tǒng)一為1605周3,計(jì)算結(jié)果位數(shù)要求:位置和速度精確到小數(shù)點(diǎn)后第4位,鐘差保留到小數(shù)點(diǎn)后第12位。4,使用文件:wuhn2890.10

溫馨提示

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

評(píng)論

0/150

提交評(píng)論