卫星坐标计算

GPS
卫星坐标计算
 
班级:08测绘一班
姓名:浦绍佼
学号:20080754
实验目的:
根据导航文件求出卫星坐标。
卫星坐标计算步骤:
一:计算平均角速度:
      n = ;n0=由导航文件给出
二:规划时刻,为参考历元
三:平近点角:
四:偏近点角:+e;(此处进行迭代运算)
五:真近点角:;
六:升交点角距:;
七:摄动改正顾及I,n的摄动变化以及正弦改正模型的振幅项;则
    升交点角距:
      轨道向径:
      轨道倾角:
式中:往复锯片为参考时刻的升交角距;
八:改正后的升交角距
    改正后的轨道向径;
    改正后的轨道倾角:;
九:卫星在升交点轨道直角坐标系的坐标:
;:
十:升交点经度:
    7.2921151467* rad/s;:升交点赤经变化率;
    :GPS周开始时刻的升交点经度;
十一:卫星在地固坐标系的空间直角坐标为:
  =R(-)(R(-)
R(-), (R(-)为旋转矩阵,将其代入展开后得:
;
;
具体过程:
一:原始资料(卫星导航文件)
营养块
二:进行必要的界面设计:
电解阳极板
三:编写代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace 20080754
{
计数继电器
    public partial class Form1 : Form
    {
二苯并萘
        private string stFilePath = string.Empty;
        public Form1()
        {
            InitializeComponent();
            listView1.Columns.Add("序号", 40, HorizontalAlignment.Center);
            listView1.Columns.Add("星历参数", 80, HorizontalAlignment.Center);
            listView1.Columns.Add("参数值", 130, HorizontalAlignment.Center);
            listView1.GridLines = true;
            listView1.View = View.Details;
            listView1.HeaderStyle = ColumnHeaderStyle.Clickable;
            listView1.FullRowSelect = true;
            listView2.Columns.Add("时间", 60, HorizontalAlignment.Center);
            listView2.Columns.Add("历元", 55, HorizontalAlignment.Center);
            listView2.Columns.Add("X", 115, HorizontalAlignment.Center);
            listView2.Columns.Add("Y", 115, HorizontalAlignment.Center);
            listView2.Columns.Add("Z", 115, HorizontalAlignment.Center);
            listView2.GridLines = true;
            listView2.View = View.Details;
            listView2.HeaderStyle = ColumnHeaderStyle.Clickable;
            listView2.FullRowSelect = true;
        }
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
        }
        public void drsj(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            //读取相对路径
            string str1 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            string filename = str1 + "GPS卫星导航文件.txt  ";
            //读取卫星广播星历文件
            StreamReader readnavigation = new StreamReader(filename, Encoding.Default);
            string myinfo = readnavigation.ReadToEnd();
            readnavigation.Close();
            //把卫星广播星历里的D改为e,以便后续计算
            string myinfor = myinfo;
            myinfor = myinfor.Replace("D", "e");
            //把数据分开读入到一个数组中存储
            string[] split = new string[] { " " };
            string[] arrs = myinfor.Split(split, StringSplitOptions.RemoveEmptyEntries);
塑料切粒机
            double[] M = new double[arrs.Length];
            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] = "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";
            N[26] = "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";
            for (int i = 0; i < arrs.Length; i++)

本文发布于:2024-09-22 03:52:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/220292.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:交点   改正   文件   时刻   导航   计算   坐标   轨道
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议