C语言用广播星历求卫星坐标,GPS广播星历计算卫星位置和速度-Read

“GPS广播星历计算卫星位置和速度”

及“GPS伪距定位”计算试验

1.试验内容及上交成果

1.1 试验内容

应用C语言按预定格式(函数、输入输出变量之名称、类型)编写“GPS广播星历计算卫星位置和速度”函数SatPos_Vel( )、“GPS伪距定位”函数Positioning( )。将此两个函数组成文件F2.cpp,并包含于文件GPS_Positioning.cpp中。编译、连接并运行文件GPS_Positioning.cpp,逐一时刻读取广播星历(Ephemeris.dat)、观测时间及伪距、卫星号(Observation.dat)信息,计算WGS84坐标系中观测时刻相应的卫星位置、速度以及载体位置,结果保存于文件Position.dat中。

1.2 上交成果

磁盘文件F2.cpp、Position.dat,并存于“学号作者中文姓名”目录中。

2.函数说明

2.1 星历文件读取函数

void EFileReading(Efile)

功能:读取星历文件,给星历数据结构体Ephemeris赋值。

输入变量:EFile 字符串,文件名。

2.2 观测数据读取函数

int ObsReading(fp_Obs,Time,Rho,Mark)

功能:从文件Observation.dat中读取某一时刻的伪距、卫星号。读取成功函数值返回“1”,失败返回“-1”(读错,或至文件尾)。

输入变量:fp_Obs 文件指针;

输出变量:Time double,时间(秒);

Rho double[12],伪距(米);

Mark int[12],卫星号,“-1”表示此通道无卫星、无伪距。

2.3 最小二乘估计函数

int LeastSquareEstimation(Y,A,P,m,n, X)

功能:最小二乘方法求解观测方程Y=AX+ε,其中观测值方差阵的逆阵为P(也称为权阵),得未知参数X。成功返回“1”,失败返回“-1”(亏秩)。

输入变量:Y double[m],观测方程自由项(米);

A double[m×n],系数阵(无量纲),按第1行第1、2……n元素,

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值