作业报告 卫星坐标计算报告

发布 2022-09-14 21:49:28 阅读 3807

gps卫星导航定位技术与方法作业报告之。

卫星坐标计算。

1 作业任务3

2 作业思想3

3 作业条件及数据3

4 作业过程4

5 源程序5

6 计算结果9

7心得体会与建议9

1 作业任务。

根据教材所给广播星历参数,编程计算utc2024年1月30日8点0分00秒—20分00秒,每隔1分钟的卫星号为7的卫星坐标。

2作业思想。

根据教材提供广播星历参数,按照卫星坐标计算步骤一步一步求解表示卫星位置的量,最后求出卫星在地固坐标系中的空间直角坐标。根据历元间隔,计算出共21个历元的卫星坐标。

此次作业的已知条件及计算步骤均为教材提供且思路清晰,简明易懂,只要在编程过程中注意个已知量、中间量和待求量的表示及数据对应正确,涉及角度的计算时小心避免错误即可。

3作业条件及数据。

由gps卫星导航文件(表3.1)提取出7号卫星的轨道参数及其摄动改正项。

表3.1提取及整理后的广播星历参数:

4作业过程。

10)升交点经度:λt =ω0 +(e)(t - t0e)-ωe t0e

式中:ωe为地球自转角速度,ωe =7.2921151467×10-5rad/s;ω为升交点赤经变化率,ω0为gps周开始时刻的升交点经度,ω和ω0均由星历文件给出;t0为参考时刻,一般取t0 = 0,为一周的开始(星期日的子夜);t0e为广播星历的参考历元时刻,从t0开始起算;

11)卫星在地固坐标系中的空间直角坐标为:

式中:,为旋转矩阵,将其代入并展开后得。

5 源程序。

#include <>

#include <>

#include <>

#include<>

#include<>

const int k=20;//历元数。

double x[k],y[k],z[k];/计算所得卫星坐标。

const double gm=3986004.418e8;//地球引力常数。

const double we=7.2921151467e-5;//地球自转角速度。

double dn,a05,t0e,m0,e,w,cuc,cus,crc,crs,cic,cis,idot,i0,wmg,wmg0;//定义广播星历参数。

/广播星历参数导入。

void input()

ifstream f1("广播星历参数。txt");

if(!f1)

f1>>dn;

f1>>a05;

f1>>t0e;

f1>>m0;

f1>>e;

f1>>w;

f1>>cuc;

f1>>cus;

f1>>crc;

f1>>crs;

f1>>cic;

f1>>cis;

f1>>idot;

f1>>i0;

f1>>wmg;

f1>>wmg0;

/卫星坐标计算。

void compute(double t,int k)

double n0,n,tk,mk,e0,ek,vk,fk,du,dr,di,uk,rk,ik,xk,yk,lt;//定义卫星坐标计算过程中间量。

/()计算平均角速度n:

n0=sqrt(gm/pow(a05,6));

n=n0+dn;

/()计算规化时刻tk:

tk=t-t0e;

/()计算平近点角mk:

mk=m0+n*tk;

/()迭代计算偏近点角ek:

e0=mk;

dowhile(mk+e*sin(e0)-e0>=1e-8);

/()计算真近点角vk:

double v1=sqrt(1-e*e)*sin(ek);

double v2=cos(ek)-e;

vk=atan2(v1,v2);

/()计算升交角距fk:

fk=vk+w;

/()摄动改正:

du=cuc*cos(2*fk)+cus*sin(2*fk);/升交角距改正du

dr=crc*cos(2*fk)+crs*sin(2*fk);/轨道向径改正dr

di=cic*cos(2*fk)+cis*sin(2*fk);/轨道倾角改正di

uk=fk+du;//改正后的升交角距uk

rk=a05*a05*(1-e*cos(ek))+dr;//改正后的轨道向径rk

ik=i0+di+idot*tk;//改正后的轨道倾角ik

/()计算卫星在升交点轨道直角坐标系的坐标:

xk=rk*cos(uk);

yk=rk*sin(uk);

/()计算升交点精度:

lt=wmg0+(wmg-we)*(t-t0e)-we*t0e;

/()计算卫星空间直角坐标:

x[k]=xk*cos(lt)-yk*cos(ik)*sin(lt);

y[k]=xk*sin(lt)+yk*cos(ik)*cos(lt);

z[k]=yk*sin(ik);

void main()

input();

for(int i=0;i

cout<<"历元/s 卫星号 x/my/mz/m卫地距离"< for(i=0;i

/输出结果到“卫星坐标计算结果。txt”

ofstream outfile;

"卫星坐标计算结果。txt");if( (

outfile<<"历元/s 卫星号 x/my/mz/m卫地距离"<

for(int i=0;i

outfile<

6 计算结果。

表6.1卫星坐标计算结果。

会计作业报告

目录。一 财务情况 以 文档为依据 1 二 财务状况分析 以 文档为依据 2 一 主营业务分析 2 1 财务报表相关科目变动分析表 2 2 收入分析 2 3 成本分析表 2 4 费用 2 5 现金流 3 二 经营情况分析 3 三 资产 负债情况分析 4 三 会计数据和财务指标摘要 以 文档为依据 4...

期末作业报告

8 使用 m00c 数据,将各个县市所在的空间合并成省市区多边形,并计算各省市区的总人口和总面积。一 在mapinfo中添加 prov 字段,并将省市信息将moop图层更新到mooc中。2 利用arctoolbox中的data interoperability tools中的quick export...

数模作业报告

第六次作业报告。用logistic回归解答 1 将华氏温度转为摄氏温度。在mathematica 软件中输入以下程序可以实现此功能 converttemperature 53,fahrenheit,centigrade n 然后执行,将所有的数据转成摄氏温度后结果如下表 2 做一个关于 o 型环损坏...