您好,欢迎访问三七文档
0卫星定位技术与方法--根据广播星历参数计算卫星坐标作业报告指导教师:熊永良班级:测绘二班学生姓名:段海东学生学号:20080783作业日期:2010年12月08日1目录一.已知数据................................................................................................................2二.计算步骤..............................................................................................................21.平均角速度(meanangularspeed)...............................................................22.规化时刻(normaltime)..................................................................................33.平近点角(meananomaly).................................................................................34.偏近点角(eccentricanomaly).......................................................................35.真近点角(trueanomaly).................................................................................36.升交距角(argumentofascendingnode).....................................................37.轨道向径(Orbitalradius).......................................................................38.扰动改正(Perturbedcorrection)...........................................................410.卫星在升交点轨道直角坐标系中的坐标.......................................................411.升交点经度(Longitudeofascendingnode).......................................5三.源程序....................................................................................................................5四.程序运行结果....................................................................................................14七.作业体会................................................................................................................152根据广播星历参数计算卫星坐标一.已知数据:根据以下的广播星历参数计算UTC2004年1月30日8点0分00秒—20分00秒,每隔一分钟的PRN7的卫星坐标。ComputethecoordinateofPRN7withintervalof1minute.Navigationdata:卫星导航文件格式:二.计算步骤:Thestepsforsatellitecoordinates1.平均角速度(meanangularspeed):n由广播星历获得,GM=3.986005e+14nnn030aGMn32.规化时刻(normaltime):t0已知(由广播星历获得),t为GPS周秒3.平近点角(meananomaly):M0已知(由广播星历获得)4.偏近点角(eccentricanomaly):迭代求解:初始值取E=M,以弧度为单位5.真近点角(trueanomaly):6.升交距角(argumentofascendingnode):近地点角距(argumentofperigee)7.轨道向径(Orbitalradius):kktnMM0)cos1(kkEeareEEeVkkkcossin1arctan2kkkEeMEsin0tttkk0V48.扰动改正(Perturbedcorrection):•升交角距(Argumentofascendingnode)••轨道向径(Orbitalradius)•轨道顷角(Orbitalinclination)是升交角距(theargumentofascendingnode)9.改正后升交角距、轨道向径、轨道倾角改正后升交角距(Correctedargumentofascendingnod)改正后的轨道向径(Correctedorbitalradius)改正后的轨道倾角(Correctedorbitalinclination)10.卫星在升交点轨道直角坐标系中的坐标:如下图所示000i2sin2cosiSiCCC=00r2sin2cosrSrCCC=00u2sin2cosuSuCCC=rkk)cosEe1(aru0kuki0kt)IDOT(ii511.升交点经度(Longitudeofascendingnode):如下图所示12.在地固坐标系中的卫星位置(Expressedinsphericcoordinatesystem)三.源程序:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Text.RegularExpressions;kkkkkksinurycosurxs/rad102921151467.7tt)(5-e0eke0tekkkkkkkkkkiyZiyxYiyxsincoscossinsincoscoskkkkk6namespaceTest{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();listView1.Columns.Add(序号,40);listView1.Columns.Add(星历内容,130);listView1.Columns.Add(导航数据,130);listView1.GridLines=true;//显示表格线listView1.View=View.Details;//显示表格细节listView1.HeaderStyle=ColumnHeaderStyle.Clickable;//对表头进行设置listView2.Columns.Add(时间,60);listView2.Columns.Add(x坐标,150);listView2.Columns.Add(y坐标,150);listView2.Columns.Add(z坐标,150);listView2.GridLines=true;//显示表格线listView2.View=View.Details;//显示表格细节listView2.HeaderStyle=ColumnHeaderStyle.Clickable;//对表头进行设置}privatevoidbutton1_Click(objectsender,EventArgse){//读取相对路径stringstr1=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;7stringfilename=str1+navigationdata.txt;//读取卫星广播星历文件StreamReadermyreader=newStreamReader(filename,Encoding.Default);stringmyinfo=myreader.ReadToEnd();myreader.Close();//把卫星广播星历里的D改为e,以便后续计算stringmystring=myinfo;stringmyinfor=mystring;myinfor=mystring.Replace(D,e);//把数据分开读入到一个数组中存储string[]split=newstring[]{};string[]arrs=myinfor.Split(split,StringSplitOptions.RemoveEmptyEntries);double[]M=newdouble[arrs.Length];//星历代码string[]N=newstring[arrs.Length];N[0]=PRN;N[1]=Yer;N[2]=Mon;N[3]=day;N[4]=H;N[5]=M;N[6]=sec;N[7]=a0;N[8]=a1;N[9]=a2;N[10]=IODE;N[11]=Crs;N[12]=delta-n;N[13]=M0;N[14]=Cuc;N[15]=e;N[16]=Cus;N[17]=sqrt(a);N[18]=t0e;N[19]=Cic;N[20]=omega0;N[21]=Cis;N[22]=i0;N[23]=Crc;N[24]=omega;N[25]=omega-spot;8N[26]=IDOT;N[27]=CodesonL2channel;N[28]=GPSWeek;N[29]=L2Pdataflag;N[30]=SVaccuracy;N[31]=SVhealth;N[32]=TGD;N[33]=IODCIssueofData;N[34]=Transmissiontimeofmessage;//把卫星广播星历读入到数组中for(inti=0;iarrs.Length;i++){ListViewItemli=newListViewItem();li.Text=(i+1).ToString();li.SubItems.Add(N[i]);li.SubItems.Add(arrs[i]);listView1.Items.Add(li);M[i]=double.Parse(arrs[i]);}doublet0e=460800.00;doublet;double[]XK=newdouble[21];double[]YK=newdouble[21];double[]ZK=newdouble[21];for(intl=0;l21;l++){//计算平均角速度doubleGM=3986004.418e008;doublen,n0;n0=Math.Sqrt(GM/(Math.Pow(M[17],6)));n=M[12]+n0;9//规划时刻t=t0e+l*60;doubletk=t-t0e;doubleMk=M[13]+n*tk;//迭代计算平近点角的计算doubleEk,Ek1
本文标题:GPS卫星坐标计算
链接地址:https://www.777doc.com/doc-5826846 .html