衛(wèi)星導航定位算法與程序設計第5課單點總體設計_第1頁
衛(wèi)星導航定位算法與程序設計第5課單點總體設計_第2頁
衛(wèi)星導航定位算法與程序設計第5課單點總體設計_第3頁
衛(wèi)星導航定位算法與程序設計第5課單點總體設計_第4頁
衛(wèi)星導航定位算法與程序設計第5課單點總體設計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

主講:劉暉副教授武漢大學衛(wèi)星導航定位技術研究中心衛(wèi)星導航定位算法與程序設計單點定位算法的課程路線關于單點定位數(shù)據(jù)模型回顧單點定位總體設計GNSS中的協(xié)議矩陣函數(shù)編碼實現(xiàn)各個模塊時間算法坐標算法文件I/O衛(wèi)星位置計算各項改正計算聯(lián)合調(diào)試提交成果軟件開發(fā)過程第五講單點定位程序的總體設計內(nèi)容

系統(tǒng)描述與需求分析軟件總體設計對于編碼的幾點建議和要求系統(tǒng)描述及需求分析(1)基本功能要求實現(xiàn)GPSL1C/A碼偽距單點定位功能,精度符合GPS標準定位服務SPS可選擇輸入/輸出的文件名,輸入不正確時,可識別并提示(即星歷和觀測值文件不同步)可顯示GPS時與北京時間的轉換可顯示大地坐標系或空間直角坐標系可顯示速載體運動速度程序運行穩(wěn)定系統(tǒng)描述及需求分析(2)

輸入

原始數(shù)據(jù):RINEX的O文件

星歷:RINEX的N文件或SP3

輸出

內(nèi)容:每個歷元下的單點定位值及其速度

方式:屏幕,或自定義格式文件

運行環(huán)境Windows環(huán)境下的控制臺程序或窗口程序

單獨的可執(zhí)行文件內(nèi)容

系統(tǒng)描述與需求分析軟件總體設計軟件總體設計

單點定位程序的總體設計對于編碼的幾點建議和要求軟件總體設計—目的在需求分析的基礎上通過抽象和分解將系統(tǒng)分解成模塊,確定系統(tǒng)功能是否實現(xiàn),即把軟件需求轉換為軟件模塊(包)表示的過程。該過程是一個功能分解的過程。軟件總體設計—內(nèi)容設計軟件系統(tǒng)結構(簡稱軟件結構)采用某種方法,將系統(tǒng)按功能劃分成模塊。(劃分)確定模塊的功能。(功能)確定模塊之間的調(diào)用關系。(調(diào)用)確定模塊之間傳遞的信息。(接口)評價模塊結構的質(zhì)量。(質(zhì)量)數(shù)據(jù)結構及數(shù)據(jù)庫設計數(shù)據(jù)結構設計數(shù)據(jù)庫設計:(概念設計、邏輯設計、物理設計)編寫概要設計文檔概要設計說明書、數(shù)據(jù)庫設計說明書、用戶手冊、修訂測試計劃評審單點定位程序的總體設計主程序輸入輸出輸入計算輸出…...………...設計內(nèi)容對于本課程的程序,設計內(nèi)容主要包括:

程序流程設計:直接影響到程序的效率和正確性

數(shù)據(jù)結構的設計如果使用C語言開發(fā),一般的開發(fā)順序:數(shù)據(jù)結構/函數(shù)編碼/調(diào)試如果使用C++/C#開發(fā),則需要:設計各種類(屬性/方法)/類的關聯(lián)/調(diào)試程序流程

單點定位程序的流程是一個反復迭代的過程

衛(wèi)星位置的迭代

接收機位置的迭代

一般而言,是將接收機位置和鐘差作為位置參數(shù)程序流程程序中的模塊

主控模塊

完成各種功能的模塊數(shù)據(jù)讀取模塊(RINEX讀?。?/p>

衛(wèi)星位置計算模塊

各項改正模塊

數(shù)據(jù)輸出顯示模塊

基礎模塊法方程解算模塊(矩陣運算)時間模塊

坐標計算及轉換模塊……主要的數(shù)據(jù)結構

單歷元觀測值

星歷參數(shù)

廣播星歷

精密星歷

坐標

時間……單歷元觀測值publicstructEPOCHOBS

{publicGPSTimetime;publicushortEpoch_flag;publicintSV_Num;publicdoublercv_clk_offset;publicbyte[]SV_STATUS;publicint[]SV_PRN;publicchar[]SV_TYPE;publicfloat[]SV_Az;publicfloat[]SV_El;publicOBS[]L1;publicOBS[]L2;publicOBS[]LA;publicOBS[]C1;publicOBS[]C2;publicOBS[]P1;publicOBS[]P2;publicOBS[]D1;publicOBS[]D2;publicOBS[]T1;publicOBS[]T2;publicOBS[]S1;publicOBS[]S2;publicOBS[]SA;publicOBS[]CH;publicOBS[]CL;publicOBS[]DC;}廣播星歷結構體publicushortsvprn;//PRNpubliculongtow;//secondsofGPSweekpublicbytehealth;//Satellitehealthpublicbyteflags;publicintwn;//GPSweekpublicsbyteURA;//URAuserrangeaccuracypublicdoubletgd;//groupdelaysecond;publicdoubletoe;//Referencetimeoforbitpublicdoubleaodc;//clockdataissuepublicdoubletoc;//clockdatareferencetimepublicdoubleaf2;//clockcorrection(sec/sec^2)publicdoubleaf1;//clockcorrection(sec/sec)publicdoubleaf0;//clockcorrection(sec)publicdoubleaode;//Orbitdataissuepublicdoubledeltan;//Meananomalycorrectionpublicdoublem0;//Meananomalyatreferencetimepublicdoublee;//Eccentricitypublicdoubleroota;//Squarerootofsemi-majoraxispublicdoubleomega0;//Longitudeofascendingnodepublicdoubleomega;//Argumentofperigeepublicdoublei0;//Inclinationanglepublicdoublecrc;//Harmoniccorrectionterm(meters)publicdoublecrs;//Harmoniccorrectionterm(meters)publicdoublecuc;//Harmoniccorrectionterm(radians)publicdoublecus;//Harmoniccorrectionterm(meters)publicdoublecic;//Harmoniccorrectionterm(radians)publicdoublecis;//Harmoniccorrectionterm(radians)publicdoubleomegadot;//Rateofrightascensionpublicdoubleidot;//RateofinclinationpublicfloatSV_accuracy;//SVaccuracy(meters)publicintSV_healthy;//SVhealth(bits17-22w3sf1)publicbyteCode_on_L2;//CodesonL2channelpublicbyteL2_P_Code;//L2Pdataflag內(nèi)容

系統(tǒng)描述與需求分析軟件總體設計對于編碼的幾點建議和要求C++/C#的編碼原則

程序常量的處理

程序?qū)嵙暤囊驝++/C#編碼原則建立自己的動態(tài)函數(shù)庫,充分利用VS2005中的動態(tài)庫功能函數(shù)庫可以包括:

矩陣運算、文件讀寫、常量等等每個庫中的函數(shù)必須單獨進行測試,如我們第一節(jié)課中的矩陣運算模塊每個模塊都可以形成一個單獨的函數(shù)庫

程序常量的處理程序中會用到很多常量,可以把所用的常量放到一個文件中,形成一個函數(shù)庫最常用的常量publicstaticdoublePI=(3.4626433832795);publicstaticdoubleD2R=(0.069222222222222);//PI/180.0publicstaticdoubleR2D=(57.846364344191);//180/PIpublicstaticdoubleFREQ_L1=(1575.42E6);//L1FrequencyinHzpublicstaticdoubleFREQ_L2=(1227.60E6);//L2FrequencyinHzpublicstaticdoubleSPEED_OF_LIGHT=(299792458.0);//SpeedofLightm/spublicstaticdoubleEARTH_ROTATE=(7.2921151467E-5);//Earthrotation(r/s)程序?qū)嵙暤囊竺课煌瑢W利用實習時間,組建屬于自己的函數(shù)庫養(yǎng)成自頂向下的設計—編碼—調(diào)試的習慣每個函數(shù)編碼之前,要畫出簡要的流程圖,明晰函數(shù)體內(nèi)的邏輯關系

建議向C#轉換課程小結

程序總體設計的內(nèi)容

程序流程

模塊

數(shù)據(jù)結構與數(shù)據(jù)流程

單點定位程序的難點在于程序流程和一部分的數(shù)據(jù)結構養(yǎng)成設計到編碼再到調(diào)試的習慣關于第一次作業(yè)完成74請假2未到

溫馨提示

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

評論

0/150

提交評論