![GPS課程設(shè)計(jì)報(bào)告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b87/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b871.gif)
![GPS課程設(shè)計(jì)報(bào)告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b87/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b872.gif)
![GPS課程設(shè)計(jì)報(bào)告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b87/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b873.gif)
![GPS課程設(shè)計(jì)報(bào)告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b87/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b874.gif)
![GPS課程設(shè)計(jì)報(bào)告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b87/0e5bc2bf-75fc-4d1d-a399-fcf3105c6b875.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計(jì)報(bào)告GPS測量原理及應(yīng)用課程設(shè)計(jì)報(bào)告題 目:GPS衛(wèi)星位置計(jì)算器 專 業(yè): 測繪工程 班 級: 2014級1班 學(xué) 號: 2014212611 姓 名: 王偉棟 指導(dǎo)老師: 陶庭葉 目錄 課程設(shè)計(jì)任務(wù)與目的 GPS衛(wèi)星位置計(jì)算思路 程序源代碼及說明 運(yùn)算截圖 總結(jié)體會 參考文獻(xiàn)課程設(shè)計(jì)任務(wù)與目的:經(jīng)過四周的GPS測量原理及應(yīng)用學(xué)習(xí),我已經(jīng)對GPS衛(wèi)星定位有了初步的了解,但是沒有經(jīng)過實(shí)踐,對課本上的知識一知半解。經(jīng)老師要求,在規(guī)定時(shí)間內(nèi)編寫一個(gè)可以通過讀取衛(wèi)星星歷,并輸入觀測時(shí)刻和參考時(shí)刻,即可計(jì)算出衛(wèi)星坐標(biāo)的程序。本次課設(shè)通過設(shè)計(jì)GPS衛(wèi)星坐標(biāo)計(jì)算來鞏固課本知識,熟練地運(yùn)用到日常學(xué)習(xí)
2、生活中。GPS衛(wèi)星位置計(jì)算思路:1.計(jì)算衛(wèi)星運(yùn)行的平均角速度n平均角速度:n0=/(a)3n=n0+n2.計(jì)算規(guī)劃時(shí)間tk對觀測時(shí)刻作衛(wèi)星鐘差改正:t=t'-tt=a0+a1(t'-toc)+a2(t'-toc)2tk=t-toe3.觀測時(shí)刻衛(wèi)星平近點(diǎn)角Mk的計(jì)算Mk=M0+ntk4.計(jì)算偏近點(diǎn)角EkEk=Mk+esinEk 此處利用迭代法計(jì)算Ek5.真近點(diǎn)角Vk的計(jì)算Vk=arctan(1-e2sinEk)/(cosEk-e)6.升交距角k的計(jì)算k=Vk+7.攝動改正項(xiàng)u,r,i 的計(jì)算u=Cuccos(2k)+Cussin(2k)r=Crccos(2k)+Crssi
3、n(2k)i=Ciccos(2k)+Cissin(2k)8.計(jì)算經(jīng)過攝動改正的升交距角uk,衛(wèi)星矢徑rk和軌道傾角ikuk=k+u rk=a(1-ecosEk)+r ik=i0+i+Itk9.計(jì)算衛(wèi)星在軌道平面坐標(biāo)系的坐標(biāo)xk=rkcosuk yk=rksinuk10.觀測時(shí)刻升交點(diǎn)經(jīng)度k的計(jì)算k=0+(-e)tk-etoe11.計(jì)算衛(wèi)星在地心固定坐標(biāo)系中的直角坐標(biāo)Xk=xkcosk-ykcosiksinkYk=xksink+ykcosikcoskZk=yksinik程序源代碼及說明:/ GPS衛(wèi)星位置計(jì)算Dlg.cpp : 實(shí)現(xiàn)文件/#include "stdafx.h"
4、#include "GPS衛(wèi)星位置計(jì)算.h"#include "GPS衛(wèi)星位置計(jì)算Dlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif/ 用于應(yīng)用程序“關(guān)于”菜單項(xiàng)的 CAboutDlg 對話框class CAboutDlg : public CDialogExpublic:CAboutDlg();/ 對話框數(shù)據(jù)enum IDD = IDD_ABOUTBOX ;protected:virtual void DoDataExchange(CDataE
5、xchange* pDX); / DDX/DDV 支持/ 實(shí)現(xiàn)protected:DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialogEx(CAboutDlg:IDD)void CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialogEx:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)END_MESSAGE_MAP()/ CGPS衛(wèi)星位置計(jì)算Dlg 對話框CGPS衛(wèi)星位置計(jì)算Dlg:CGPS衛(wèi)星位置計(jì)算Dlg(CWnd* p
6、Parent /*=NULL*/): CDialogEx(CGPS衛(wèi)星位置計(jì)算Dlg:IDD, pParent), datalist(_T(""), t(0), resultlist(_T(""), toc(0), t1(0), t2(0)m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CGPS衛(wèi)星位置計(jì)算Dlg:DoDataExchange(CDataExchange* pDX)CDialogEx:DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT1, da
7、talist);DDX_Text(pDX, IDC_EDIT2, t);DDX_Text(pDX, IDC_EDIT3, resultlist);DDX_Text(pDX, IDC_EDIT6, toc);DDX_Text(pDX, IDC_EDIT4, t1);DDX_Text(pDX, IDC_EDIT5, t2);BEGIN_MESSAGE_MAP(CGPS衛(wèi)星位置計(jì)算Dlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, &CGPS衛(wèi)星位置計(jì)算Dl
8、g:OnBnClickedButton1)ON_BN_CLICKED(IDC_BUTTON2, &CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton2)ON_BN_CLICKED(IDC_BUTTON3, &CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton3)ON_BN_CLICKED(IDC_BUTTON4, &CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton4)ON_BN_CLICKED(IDC_BUTTON5, &CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton5)END_MESSAGE_MAP()/
9、CGPS衛(wèi)星位置計(jì)算Dlg 消息處理程序BOOL CGPS衛(wèi)星位置計(jì)算Dlg:OnInitDialog()CDialogEx:OnInitDialog();/ 將“關(guān)于.”菜單項(xiàng)添加到系統(tǒng)菜單中。/ IDM_ABOUTBOX 必須在系統(tǒng)命令范圍內(nèi)。ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)BOOL bNameValid;CString strAboutM
10、enu;bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);ASSERT(bNameValid);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ 設(shè)置此對話框的圖標(biāo)。 當(dāng)應(yīng)用程序主窗口不是對話框時(shí),框架將自動/ 執(zhí)行此操作SetIcon(m_hIcon, TRUE);/ 設(shè)置大圖標(biāo)SetIcon(m_hIcon, FALSE);/ 設(shè)置
11、小圖標(biāo)/ TODO: 在此添加額外的初始化代碼return TRUE; / 除非將焦點(diǎn)設(shè)置到控件,否則返回 TRUEvoid CGPS衛(wèi)星位置計(jì)算Dlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialogEx:OnSysCommand(nID, lParam);/ 如果向?qū)υ捒蛱砑幼钚』粹o,則需要下面的代碼/ 來繪制該圖標(biāo)。 對于使用文檔/視圖模型的 MFC 應(yīng)用程序,/ 這將由框架自動完成。voi
12、d CGPS衛(wèi)星位置計(jì)算Dlg:OnPaint()if (IsIconic()CPaintDC dc(this); / 用于繪制的設(shè)備上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc(), 0);/ 使圖標(biāo)在工作區(qū)矩形中居中int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Wi
13、dth() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ 繪制圖標(biāo)dc.DrawIcon(x, y, m_hIcon);elseCDialogEx:OnPaint();/當(dāng)用戶拖動最小化窗口時(shí)系統(tǒng)調(diào)用此函數(shù)取得光標(biāo)/顯示。HCURSOR CGPS衛(wèi)星位置計(jì)算Dlg:OnQueryDragIcon()return static_cast<HCURSOR>(m_hIcon);void CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton1()/ TODO: 在此添加控件通知處理程序代碼/打開選定文件C
14、FileDialog dlgFile(TRUE, _T("txt"), NULL, OFN_EXPLORER, _T("(文本文件)|*.dat");if (dlgFile.DoModal() = IDCANCEL)return;CString strFileName = dlgFile.GetPathName();CStdioFile sf;if (!sf.Open(strFileName, CFile:modeRead)return;CString strLine;sf.ReadString(strLine);sf.ReadString(strLin
15、e);toe = _ttol(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);sqrta = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);e = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);i0 = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.Read
16、String(strLine);w = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);moic0 = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);M0 = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);dern = _wtof(strLine.GetBuffer();sf.ReadString(str
17、Line); sf.ReadString(strLine);moic = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);I = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);Cus = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);Cuc = _wtof(strLine.GetBuffer();sf.
18、ReadString(strLine);sf.ReadString(strLine);Cis = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);Cic = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);Crs = _wtof(strLine.GetBuffer();sf.ReadString(strLine); sf.ReadString(strLine);Crc = _wtof(strLine.G
19、etBuffer();sf.ReadString(strLine);sf.ReadString(strLine);a0 = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);a1 = _wtof(strLine.GetBuffer();sf.ReadString(strLine);sf.ReadString(strLine);a2 = _wtof(strLine.GetBuffer();datalist.Format(_T("toe=%5.20f rnsqrta=%5.20f rne=%5.
20、20f rni0=%5.20f rnw=%5.20f rnmoic0=%5.20f rnM0=%5.20f rndern=%5.20f rnmoic=%5.20f rnI=%5.20f rnCus=%5.20f rnCuc=%5.20f rnCis=%5.20f rnCic=%5.20f rnCrs=%5.20f rnCrc=%5.20f rna0=%5.20f rna1=%5.20f rna2=%5.20f"),toe, sqrta, e, i0, w, moic0, M0, dern, moic, I, Cus, Cuc, Cis, Cic, Crs, Crc,a0,a1,a2)
21、;UpdateData(false); void CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton2()UpdateData(true);/計(jì)算衛(wèi)星運(yùn)行的平均角速度ndouble miU = 3.986005e14;double n0 = sqrt(miU) / pow(sqrta, 3);double n = n0 + dern;/計(jì)算歸化時(shí)間tkdouble T,dn,t0;t0 = t * 3600 + t1 * 60 + t2;dn = a0 + a1*(t0- toc) + a2*(t0 - toc)*(t0 - toc);T=t0-dn;double tk = T -
22、 toe;/觀測時(shí)刻衛(wèi)星平近點(diǎn)角Mk的計(jì)算double Mk = M0 + n*tk;/計(jì)算偏近點(diǎn)角Ekdouble Ek = Mk;double Ek2;doEk2 = Ek;Ek = Mk + e*sin(Ek); while (fabs(Ek2-Ek)>1e-9);/真近點(diǎn)角Vk的計(jì)算double Vk;Vk = atan(sqrt(1 - e*e)*sin(Ek) / (cos(Ek) - e);/升交距角Fkdouble Fk = Vk + w;/攝動改正項(xiàng)Qu,Qr,Qi的計(jì)算double Qu, Qr, Qi;Qu = Cuc*cos(2 * Fk) + Cus*sin(2
23、 * Fk);Qr = Crc*cos(2 * Fk) + Crs*sin(2 * Fk);Qi = Cic*cos(2 * Fk) + Cis*sin(2 * Fk);/計(jì)算經(jīng)過攝動改正的升交距角uk、衛(wèi)星矢徑rk和軌道傾角ikdouble uk, rk, ik;uk = Fk+Qu;rk = sqrta*sqrta*(1 - e*cos(Ek) + Qr;ik = i0 + Qi + I*tk;/計(jì)算衛(wèi)星在軌道平面坐標(biāo)系的坐標(biāo)double xk, yk;xk = rk*cos(uk);yk = rk*sin(uk);/觀測時(shí)刻升交點(diǎn)經(jīng)度moick的計(jì)算double moick, we;we
24、 = 7.29211567e-5;moick = moic0 + (moic - we)*tk - we*toe;/計(jì)算衛(wèi)星在地心固定坐標(biāo)系中的直角坐標(biāo)double Xk, Yk, Zk;Xk = xk*cos(moick) - yk*cos(ik)*sin(moick);Yk = xk*sin(moick) + yk*cos(ik)*cos(moick);Zk = yk*sin(ik);resultlist.Format(_T("Xk=%f rnYk=%f rnZk=%f"), Xk, Yk, Zk);UpdateData(false);void CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton3()/ TODO: 在此添加控件通知處理程序代碼/退出程序exit(0);void CGPS衛(wèi)星位置計(jì)算Dlg:OnBnClickedButton4()/用于清除程序框內(nèi)的數(shù)據(jù)CWnd *pWnd = GetWindow(GW_CHILD);TCHAR szBuf256;while (pWnd != NULL)GetClassName(pWnd->m_hWnd, szBuf, 256);if (_tcsicmp(szBuf, _T("Edit") = 0)pWnd->
溫馨提示
- 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ùn)行態(tài)勢及行業(yè)發(fā)展前景預(yù)測報(bào)告
- 勞務(wù)公司與臨時(shí)工合同范本
- 鋼結(jié)構(gòu)加工制作合同范本
- 兩層鋪面房屋租賃合同范本
- 重慶城區(qū)房屋出租合同范本
- 農(nóng)業(yè)合作合同范本
- 停車場承包租賃合同范本
- 農(nóng)場合同范本
- cfg樁施工合同范本
- 個(gè)人合資協(xié)議合同范本
- 課件:《教育強(qiáng)國建設(shè)規(guī)劃綱要(2024-2035年)》學(xué)習(xí)宣講
- 高一化學(xué)教學(xué)進(jìn)度計(jì)劃表
- 人教PEP版四年級下冊小學(xué)英語全冊同步練習(xí)(一課一練)
- 新員工入職培訓(xùn)考試附答案
- 高校畢業(yè)生就業(yè)見習(xí)登記表
- 包裝材料及紙制品生產(chǎn)建設(shè)項(xiàng)目可行性實(shí)施報(bào)告
- 財(cái)務(wù)收支月報(bào)表excel模板
- 國標(biāo)充電協(xié)議報(bào)文整理
- 水餃類產(chǎn)品質(zhì)量檢驗(yàn)作業(yè)指導(dǎo)書
- 電力變壓器計(jì)算單
- 紅外測溫培訓(xùn)
評論
0/150
提交評論