GPS卫星位置计算_第1页
GPS卫星位置计算_第2页
GPS卫星位置计算_第3页
GPS卫星位置计算_第4页
GPS卫星位置计算_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上GPS卫星位置计算实验 学 校:合肥工业大学学 号: 专业班级:测绘工程10-1班学 院:土木与水利工程学院指导教师:陶庭叶一、实验目的1、通过对GPS卫星位置的计算,增强我们对GPS测量原理及应用课程的理解,使我们牢固掌握GPS测量的基本原理和过程,熟悉GPS测量数据处理的基本技能和计算方法。2、提高运用计算机语言编程开发能力,运用测量平差知识、数学知识和计算机知识,通过给定的程序算法,编制程序实现GPS卫星位置的计算过程。二、实验内容及要求1、通过课堂对GPS测量原理的学习,在课后自主完成GPS卫星位置的计算过程并按照课本上的步骤设计程序完成GPS卫星位置的计算过

2、程;2、要求每位同学独立完成GPS卫星位置的计算过程,编写程序,调试程序,并编写程序设计文档。要求过程和算法正确、程序运行正确、设计文档完备;三、课程设计工具运用自己熟悉的编程开发语言(C、C#、C+、VC、VS、VB、FORTRAN等)。四、实验总结1、 实验简单介绍运行后的主界面比以前做的程序要漂亮些,给界面增加了一副图片,让界面看起来还是比较的漂亮,但由于起始的参数较多,因此,界面整体看起来比较的拥挤,但这个不影响程序的计算过程。整个程序的功能不是很多,但满足了基本的要求,能够进行卫星的位置计算,并且能够达到很好的精度,与课本上给出的结果相差很小,符合实验的要求。为了避免繁琐的数据的输入

3、,在本次程序中我增加了一个的功能按钮,点击后,程序自动给相关的起始数据赋值并显示在界面上,如图所示:这些数据是教材GPS测量原理与应用41页的卫星星历数据;用户也可以根据需要更改相应的数据,如上图所示,当点击按钮时,就可以在对话框相应的位置计算出卫星的坐标,如下图所示:其中,计算出的卫星的坐标为Xk = .,Yk = .,Zk = -.,这是卫星在地固坐标系中的坐标,如果还知道极移参数就可以计算出卫星在协议地球坐标系中的坐标了。用户也可以选择清除计算的结果,点击即可完成,如下图所示: 用户也可以选择重新输入数据,点击就可以将输入的参数清零,如下图所示。每次的默认数据均相同,用户可以选择输入默认

4、数据后再更改需要更改的地方,来完成计算过程。当用户选择了重新输入后,即所有的起始数据均清零后,此时不能参与计算,若用户点击了按钮,则系统会提示用户输入的数据有误!当运行程序显示主界面时,如果用户同样不小心点击了按钮,则会出现同样的提示信息,以此来提示用户没有输入起始数据,避免产生不必要的错误。当数据清零后点击会提示用户输入的数据有误!2、 实验心得GPS卫星位置的计算实验不是很难,因为实验过程在书上很详细,只要按照步骤进行,计算过程就不会出现问题。我起始是先把程序调试正确,在调试的过程中,采取了简单的直接给参数赋值的方法,因此,很快就把程序调试正确了。在后期的修改工作中,我修改掉了直接赋值的地

5、面观测时刻对应的标准GPS时间t,而是通过计算过程得出的。这样要不了多久就把整个程序调通了,调试过程没有花很多的时间。在查了一些资料后,我给对话框的界面增加了一幅位图,并在图片上打印出字体,调整界面的编辑框的分布后看上去整个程序就变得挺不错的,尽管界面看起来有点儿拥挤,但并不影响程序的计算过程的正确性。整体来说效果不错,但显然需要改进的地方很多,就像刚才说的,界面整体看起来比较拥挤,这个更改起来比较容易,如下图所示:这样看起来就比较的舒服,不会导致眼睛疲劳,但中间的计算过程均没有,调试时我们可以选择前者,后期修改时我们就可以去掉中间的计算过程。这是做的比较好的方面。程序可能还曾在很多我没有发觉

6、的问题,还请老师多多指教。3、 实验源代码(部分)void CGPSDlg:OnJisuan() UpdateData();if(!(m_a0 | m_a1 | m_a2 | m_Cic | m_Cis | m_Crc | m_Crs | m_Cuc | m_Cus | m_dn | m_e && m_roota | m_I | m_i0 | m_M0 |m_Q | m_Q0 | m_toc | m_toe | m_tph | m_tpm | m_w)MessageBox("输入数据有误,请重新输入!");SetFocus();else/n0,n,tk,Mk

7、,Ek,Vk,cosVk,sinVk,du,dr,di,uk,rk,ik,xk,yk,Xk,Yk,Zk均为课本上参数/Ek1为趋近计算迭代参数,Fk为k,Qk为k,double n0,n,tk,Mk,Ek,Ek1,cosVk,sinVk,Vk,Fk,du,dr,di,uk,rk,ik;double xk,yk,Qk,Xk,Yk,Zk,t,t1,dn;char x40,y40,z40;/char ch140,ch240,ch340,ch440,ch540,ch640,ch740,ch840,ch940,ch1040,ch1140,ch1240,ch1340,ch1440,ch1540,ch164

8、0;/计算卫星运行的平均角速度n0和nn0 = sqrt(u)/(m_roota * m_roota *m_roota);n = n0 + m_dn;/计算归化时间t1 = m_tph * 3600 + m_tpm * 60;dn = m_a0 + m_a1 * (t1 - m_toc) + m_a2 * (t1 - m_toc)*(t1 - m_toc);t = t1 - dn;tk = t - m_toe;/观测时刻卫星平近点角Mk的计算Mk = m_M0 + n * tk;/计算偏近点角Ek,趋近计算Ek1= Mk;doEk = Ek1;Ek1 = Mk + m_e * sin(Ek);

9、while(fabs(Ek1 - Ek) > 1e-12);/真近点角Vk的计算cosVk = (cos(Ek) - m_e)/(1 - m_e * cos(Ek);sinVk = (sqrt(1 - m_e*m_e)*sin(Ek)/(1 - m_e * cos(Ek);Vk = atan(sinVk/cosVk);/判断Vk的正负号if(sinVk > 0 && cosVk >0)Vk = fabs(Vk);else if(sinVk > 0 && cosVk <0)Vk = PI + Vk;else if(sinVk <

10、 0 && cosVk >0)Vk = Vk;elseVk = PI + Vk;/升交距角k的计算,用Fk表示Fk = Vk + m_w;/摄动改正项计算du = m_Cuc * cos(2*Fk) + m_Cus * sin(2*Fk);dr = m_Crc * cos(2*Fk) + m_Crs * sin(2*Fk);di = m_Cic * cos(2*Fk) + m_Cis * sin(2*Fk);/经过摄动改正后的升交距角的Uk,卫星矢径的摄动量,轨道倾角uk = Fk + du;rk = m_roota * m_roota * (1 - m_e * cos(

11、Ek) + dr;ik = m_i0 + di + m_I * tk;/计算卫星在轨道平面坐标系的坐标xk = rk * cos(uk);yk = rk * sin(uk);/观测时刻升交点经度的计算Qk = m_Q0 + (m_Q - we) * tk - we * m_toe;/计算卫星在地心固定坐标系中的直角坐标Xk = xk * cos(Qk) - yk * cos(ik) * sin(Qk);Yk = xk * sin(Qk) + yk * cos(ik) * cos(Qk);Zk = yk * sin(ik);sprintf(x,"%.10lf",Xk);spr

12、intf(y,"%.10lf",Yk);sprintf(z,"%.10lf",Zk);GetDlgItem(IDC_EDIT20)->SetWindowText(x);GetDlgItem(IDC_EDIT21)->SetWindowText(y);GetDlgItem(IDC_EDIT22)->SetWindowText(z);UpdateData(FALSE);void CGPSDlg:OnDefault() /设置默认数据,数据为课本p41页的广播星历数据,其中观测时刻为2时0秒m_tph = 2.0; m_tpm = 0.0; m_toc = 7200.0;m_a0 = -0.9e-06;m_a1 = 0.0; m_a2 = 0.0;m_toe = 0.0e+04;m_roota = 0.6e+04;m_e = 0.5e-02;m_i0 = 0.2e+00;m_w = -0.9e+01;m_Q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论