ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:294KB ,
资源ID:8990050      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8990050.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(GPS卫星坐标计算.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

GPS卫星坐标计算.doc

1、 卫星定位技术与方法 --根据广播星历参数计算卫星坐标作业报告 指导教师: 熊 永 良 班 级: 测 绘 二 班 学生姓名: 段 海 东 学生学号: 2 0 0 8 0 7 8 3 作业日期: 2010 年 12月 08 日 目 录 一. 已知数据 2 二. 计算步骤 2 1.平均角速度 (mean angular speed) 2 2.规化时刻(nor

2、mal time) 3 3.平近点角(mean anomaly) 3 4.偏近点角(eccentric anomaly) 3 5.真近点角(true anomaly) 3 6.升交距角(argument of ascending node) 3 7. 轨道向径(Orbital radius) 3 8. 扰动改正(Perturbed correction) 4 10.卫星在升交点轨道直角坐标系中的坐标 4 11. 升交点经度(Longitude of ascending node) 5 三. 源程序 5 四. 程序运行结果 14 七.作业体会 15 根据广播星历

3、参数计算卫星坐标 一. 已知数据: 根据以下的广播星历参数计算UTC2004年1月30日8点0分00秒—20分00秒,每隔一分钟的PRN7的卫星坐标。Compute the coordinate of PRN7 with interval of 1 minute. Navigation data: 卫星导航文件格式: 二. 计算步骤:The steps for satellite coordinates 1.平均角速度 (mean angular speed): Dn由广播星历获得, GM=3.986005e+14 2.规化时刻(normal time):

4、 t0已知(由广播星历获得),t为GPS周秒 3.平近点角(mean anomaly): M0已知(由广播星历获得) 4.偏近点角(eccentric anomaly): 迭代求解:初始值取E=M,以弧度为单位 5.真近点角(true anomaly): 6.升交距角(argument of ascending node): w近地点角距(argument of perigee) 7. 轨道向径(Orbital radius): 8. 扰动改正(Perturbed correction): • 升交角距(Argument of

5、ascending node) • • 轨道向径(Orbital radius) • 轨道顷角(Orbital inclination) 是升交角距 (the argument of ascending node) 9. 改正后升交角距、轨道向径、轨道倾角 改正后升交角距(Corrected argument of ascending nod) 改正后的轨道向径(Corrected orbital radius) 改正后的轨道倾角(Corrected orbital inclination) 10.卫星在升

6、交点轨道直角坐标系中的坐标:如下图所示 11. 升交点经度(Longitude of ascending node):如下图所示 12. 在地固坐标系中的卫星位置(Expressed in spheric coordinate system) 三. 源程序: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;

7、using System.Windows.Forms; using System.IO; using System.Text.RegularExpressions; namespace Test { public partial class Form1 : Form { public Form1() { InitializeComponent(); listView1.Columns.Add("序号", 40); listView1.Columns.

8、Add("星历内容", 130); listView1.Columns.Add("导航数据", 130); listView1.GridLines = true; //显示表格线 listView1.View = View.Details;//显示表格细节 listView1.HeaderStyle = ColumnHeaderStyle.Clickable;//对表头进行设置 listView2.Columns.Add("时间", 60);

9、 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;/

10、/对表头进行设置 } private void button1_Click(object sender, EventArgs e) { //读取相对路径 string str1 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; string filename = str1 + "navigation data.txt "; //读取卫星广播星历文件

11、 StreamReader myreader = new StreamReader(filename, Encoding.Default); string myinfo = myreader.ReadToEnd(); myreader.Close(); //把卫星广播星历里的D改为e,以便后续计算 string mystring = myinfo; string myinfor = mystring; myinfor =

12、mystring.Replace("D", "e"); //把数据分开读入到一个数组中存储 string[] split = new string[] { " " }; string[] arrs = myinfor.Split(split, StringSplitOptions.RemoveEmptyEntries); double[] M = new double[arrs.Length]; //星历代码 string[] N

13、 new string[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] = "

14、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"; N[26] = "IDOT"; N[27] = "Codes on L2 channel"; N[28] = "GPS Week"; N[29] = "L2 P data flag";

15、 N[30] = "SV accuracy"; N[31] = "SV health"; N[32] = "TGD"; N[33] = "IODC Issue of Data"; N[34] = "Transmission time of message"; //把卫星广播星历读入到数组中 for (int i = 0; i < arrs.Length; i++) { ListViewItem li = new ListViewItem();

16、 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]); } double t0e=460800.00; double t;

17、 double[] XK = new double[21]; double[] YK = new double[21]; double[] ZK = new double[21]; for (int l = 0; l < 21;l++ ) { //计算平均角速度 double GM = 3986004.418e008; double n, n0; n0

18、 Math.Sqrt(GM / (Math.Pow(M[17], 6))); n = M[12] + n0; //规划时刻 t=t0e+l*60; double tk = t-t0e; double Mk = M[13] + n * tk; // 迭代计算平近点角的计算 double Ek, Ek1; Ek =

19、Mk; Ek1 = Mk + M[15] * Math.Sin(Ek); do { Ek = Ek1; Ek1 = Mk + M[15] * Math.Sin(Ek); } while (Math.Abs(Ek1 - Ek) > 1e-15); //计算真近点角 doubl

20、e Vk = Math.Atan(((Math.Sqrt(1 - M[15] * M[15]) * Math.Sin(Ek))) / (Math.Cos(Ek) - M[15])); //反正切值的象限处理 double A1 = Math.Atan(((Math.Sqrt(1 - M[15] * M[15]) * Math.Sin(Ek)))); double A2 = Math.Cos(Ek) - M[15]; if (Vk < 0)

21、 { if (A1 < 0 && A2 > 0) { Vk += 2 * Math.PI; } if (A1 > 0 && A2 < 0) { Vk += Math.PI; } }

22、 else { if (A1 <= 0 && A2 <= 0) Vk = Vk + Math.PI; } //计算升交角距 double fk = Vk + M[24]; //摄动改正值的计算 double du = M[14] * Math.Cos(2 * fk) + M[

23、16] * Math.Sin(2 * fk); double dr = M[23] * Math.Cos(2 * fk) + M[11] * Math.Sin(2 * fk); double di = M[19] * Math.Cos(2 * fk) + M[21] * Math.Sin(2 * fk); //摄动改正 double uk = fk + du; double rk = Math.Pow(M[17], 2)

24、 (1 - M[15] * Math.Cos(Ek)) + dr; double ik = M[22] + di + M[26] * tk; //计算卫星在升交点轨道直角坐标系的坐标 double xk = rk * Math.Cos(uk); double yk = rk * Math.Sin(uk); //计算升交点经度 double we = 7.2921151467e-05;

25、 double jdt = M[20] + (M[25] - we) * tk - we * M[18]; //卫星在地固坐标系中的空间直角坐标 XK[l] = xk * Math.Cos(jdt) - yk * Math.Cos(ik) * Math.Sin(jdt); YK[l] = xk * Math.Sin(jdt) + yk * Math.Cos(ik) * Math.Cos(jdt); ZK[l] = yk *

26、 Math.Sin(ik); } //输出卫星在地固坐标系中的空间直角坐标 for (int i = 0; i < 21; i++) { ListViewItem list = new ListViewItem(); list.Text = "第" + i.ToString() + "分钟"; list.SubItems.Add(XK[i].ToString());

27、 list.SubItems.Add(YK[i].ToString()); list.SubItems.Add(ZK[i].ToString()); listView2.Items.Add(list); } } private void button2_Click(object sender, EventArgs e) { //读取相对路径 string str1 = A

28、ppDomain.CurrentDomain.SetupInformation.ApplicationBase; string filename = str1 + "navigation data.txt "; //读取卫星广播星历文件 StreamReader myreader = new StreamReader(filename, Encoding.Default); string myinfo = myreader.ReadToEnd(); myrea

29、der.Close(); //把卫星广播星历里的D改为e,以便后续计算 string mystring = myinfo; string myinfor = mystring; myinfor = mystring.Replace("D", "e"); //把数据分开读入到一个数组中存储 string[] split = new string[] { " " }; string[] arrs = myinf

30、or.Split(split, StringSplitOptions.RemoveEmptyEntries); //星历代码 string[] N = new string[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] = "IOD

31、E"; 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"; N[2

32、6] = "IDOT"; N[27] = "Codes on L2 channel"; N[28] = "GPS Week"; N[29] = "L2 P data flag"; N[30] = "SV accuracy"; N[31] = "SV health"; N[32] = "TGD"; N[33] = "IODC Issue of Data"; N[34] = "Transmission time of message"; //把卫星广播星历文件内容输出到listView进行查看

33、 for (int i = 0; i < arrs.Length; i++) { ListViewItem li = new ListViewItem(); li.Text = (i + 1).ToString(); li.SubItems.Add(N[i]); li.SubItems.Add(arrs[i]); listView1.Items.Add(li); }

34、 } } } 四. 程序运行结果: 星历内容的读取、显示: 卫星坐标计算结果: 运行界面: 作业体会:此次作业,收获颇多。起初由于自己的疏忽,在真近点角的计算时忘了处理象限,导致做后的结果都差了一个负号,所以不管做什么都得认真、细心;想要做好一件事情,必须有百分百的投入,有足够的专注度;发现自己对GPS卫星定位技术与方法这方面知识越来越感兴趣,以后要多加学习。 由于教材上、老师的课件上都有明细的计算步骤,作业起来很方便,不容易出错,经过计算,发现程序运行出来的卫星坐标结果与教材上给的坐标有较大的差距,这个差距达到几十米,检查程序也没有发现问题,问了班上几个同学,他们也都说存在这样的问题,所以,恳请老师给予指点。 16

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服