作业卫星坐标计算Word下载.docx

上传人:b****2 文档编号:14569459 上传时间:2022-10-23 格式:DOCX 页数:12 大小:151.59KB
下载 相关 举报
作业卫星坐标计算Word下载.docx_第1页
第1页 / 共12页
作业卫星坐标计算Word下载.docx_第2页
第2页 / 共12页
作业卫星坐标计算Word下载.docx_第3页
第3页 / 共12页
作业卫星坐标计算Word下载.docx_第4页
第4页 / 共12页
作业卫星坐标计算Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

作业卫星坐标计算Word下载.docx

《作业卫星坐标计算Word下载.docx》由会员分享,可在线阅读,更多相关《作业卫星坐标计算Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

作业卫星坐标计算Word下载.docx

5.15373039818E+03

卫星轨道长半轴的平方根

t0e

4.60800000000E+05

星历的参考时刻,从星期日零时开始量度,以秒计

M0

-2.14992476872E+00

参考时刻t0e的平近点角(弧度)

e

1.25958691351E-02

轨道偏心率

ω

-1.85137234909E+00

近地点角距(弧度)

Cuc

2.75485217571E-06

升交点角距的余弦调和改正项的振幅(弧度)

Cus

9.03755426407E-06

升交点角距的正弦调和改正项的振幅(弧度)

Crc

1.91875000000E+02

轨道半径的余弦调和改正项的振幅(弧度)

Crs

5.37812500000E+01

轨道半径的正弦调和改正项的振幅(弧度)

Cic

2.06753611565E-07

轨道倾角的余弦调和改正项的振幅(弧度)

Cis

-7.26431608200E-08

轨道倾角的正弦调和改正项的振幅(弧度)

IDOT

-1.31434044204E-10

轨道倾角的变率

i0

9.37690094716E-01

参考时刻的轨道倾角(弧度)

Ω

-7.91890109042E-09

升交点赤经的变率(弧度/s)

Ω0

1.93198315097E+00

GPS周开始时刻的升交点经度(弧度)

4作业过程

(10)升交点经度:

λt=Ω0+(Ω-ωe)(t-t0e)-ωet0e

式中:

ωe为地球自转角速度,ωe=7.2921151467×

10-5rad/s;

Ω为升交点赤经变化率,Ω0为GPS周开始时刻的升交点经度,Ω和Ω0均由星历文件给出;

t0为参考时刻,一般取t0=0,为一周的开始(星期日的子夜);

t0e为广播星历的参考历元时刻,从t0开始起算;

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

,为旋转矩阵,将其代入并展开后得

5源程序

#include<

iomanip.h>

stdlib.h>

math.h>

#include<

fstream.h>

iostream.h>

constintk=20;

//历元数

doubleX[k],Y[k],Z[k];

//计算所得卫星坐标

constdoubleGM=3986004.418E8;

//地球引力常数

constdoublewe=7.2921151467E-5;

//地球自转角速度

doubledn,a05,t0e,M0,e,w,Cuc,Cus,Crc,Crs,Cic,Cis,IDOT,i0,WMG,WMG0;

//定义广播星历参数

//广播星历参数导入

voidInput()

{

ifstreamf1("

广播星历参数.txt"

);

if(!

f1)

{

cerr<

<

"

广播星历参数.txtfilenotopen!

endl;

exit

(1);

}

f1>

>

dn;

a05;

t0e;

M0;

e;

w;

Cuc;

Cus;

Crc;

Crs;

Cic;

Cis;

IDOT;

i0;

WMG;

WMG0;

f1.close();

}

//卫星坐标计算

voidCompute(doublet,intk)

{

doublen0,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;

do

Ek=Mk+e*sin(E0);

E0=Ek;

}while(Mk+e*sin(E0)-E0>

=1e-8);

//()计算真近点角Vk:

doublev1=sqrt(1-e*e)*sin(Ek);

doublev2=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);

voidmain()

Input();

for(inti=0;

i<

k;

i++)

doublet=t0e+i*60;

Compute(t,i);

}

cout<

历元/s卫星号X/mY/mZ/m卫地距离"

for(i=0;

cout.precision(11);

cout<

t0e+i*60<

7"

X[i]<

"

Y[i]<

Z[i]<

sqrt(X[i]*X[i]+Y[i]*Y[i]+Z[i]*Z[i])<

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

ofstreamoutfile;

outfile.open("

卫星坐标计算结果.txt"

if(outfile.is_open())

outfile<

for(inti=0;

{

outfile.precision(11);

outfile<

}

outfile.close();

6计算结果

表6.1卫星坐标计算结果

历元/s

卫星号

X/m

Y/m

Z/m

460800

7

-13413856.780

16092624.867

16628017.859

460860

-13535898.784

16110553.892

16507426.350

460920

-13657027.021

16128646.858

16385596.447

460980

-13777233.046

16146894.386

16262536.953

461040

-13896508.546

16165287.016

16138256.762

461100

-14014845.333

16183815.202

16012764.866

461160

-14132235.351

16202469.318

15886070.351

461220

-14248670.673

16221239.658

15758182.394

461280

-14364143.505

16240116.437

15629110.267

461340

-14478646.186

16259089.796

15498863.336

461400

-14592171.191

16278149.799

15367451.057

461460

-14704711.126

16297286.439

15234882.978

461520

-14816258.739

16316489.636

15101168.738

461580

-14926806.913

16335749.242

14966318.067

461640

-15036348.668

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1