GPS卫星坐标计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
卫星定位技术与方法--根据广播星历参数计算卫星坐标
作业报告
指导教师:***
班级:测绘二班
学生姓名:***
学生学号: 2 0 0 8 0 7 8 3
作业日期:2010 年12月08 日
目录
一. 已知数据 (2)
二. 计算步骤 (2)
1.平均角速度 (mean angular speed) (2)
2.规化时刻(normal 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)
根据广播星历参数计算卫星坐标
一. 已知数据: 根据以下的广播星历参数计算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):
∆n 由广播星历获得, GM=3.986005e+14
n n n ∆+=03
0a GM
n =
2.规化时刻(normal time):
t0已知(由广播星历获得),t 为GPS 周秒
3.平近点角(mean anomaly):
M0已知(由广播星历获得)
4.偏近点角(eccentric anomaly):
迭代求解:初始值取E=M ,以弧度为单位
5.真近点角(true anomaly):
6.升交距角(argument of ascending node):
ω近地点角距(argument of perigee)
7. 轨道向径(Orbital radius ):
k k t n M M ⋅+=0)
cos 1(k k E e a r ⋅-⋅=e E E e V k k
k --=cos sin 1arctan 2
k k k E e M E sin ⋅+=0t t t k -=ω
φ+=k 0V
8. 扰动改正(Perturbed correction ):
• 升交角距(Argument of ascending node )
• • 轨道向径(Orbital radius )
• 轨道顷角(Orbital inclination )
是升交角距 (the argument of ascending node)
9. 改正后升交角距、轨道向径、轨道倾角
改正后升交角距(Corrected argument of ascending nod )
改正后的轨道向径(Corrected orbital radius)
改正后的轨道倾角(Corrected orbital inclination )
10.卫星在升交点轨道直角坐标系中的坐标:如下图所示
0φ0
0i 2sin 2cos φφδiS iC C C +=00r 2sin 2cos φφδrS rC C C +=00u 2sin 2cos φφδuS uC C C +=r
k k )cosE e 1(a r δ+⋅-⋅=u
0k u δφ+=k
i 0k t )IDOT (i i ++=δ
11. 升交点经度(Longitude of ascending node ):如下图所示
12. 在地固坐标系中的卫星位置(Expressed in spheric coordinate system )
三. 源程序:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
k
k k k k k sinu r y cosu r x ==s
/rad 102921151467.7t t )(5-e 0e k e 0t ⨯=--Ω+Ω=ωωωλe
k
k k k k k k k k k i y Z i y x Y i y x sin cos cos sin sin cos cos k k k k k =+=-=X λλλλ
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
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;//对表头进行设置
}
private void button1_Click(object sender, EventArgs e)
{
//读取相对路径
string str1 =
AppDomain.CurrentDomain.SetupInformation.ApplicationBase;