北斗MEO/IGSO卫星定轨

算法部分

MATLAB文件函数

function [Xk,Yk,Zk,xk,yk] = MEO_IGSO(t0c,a0,a1,a2,IodeIssueofData,Crs,deta_n,M0,Cuc,...
e,Cus,a_sqrt,t0e,Cic,W0,Cis,i0,Crc,w,W_,I_)
%1.计算卫星运行的平均角速度n
u=3.986004418*10^14;
n0=sqrt(u)/(a_sqrt)^3;
n=n0+deta_n;
%2.计算归化时间tk
%默认tk=0
%deta_t=a0+a1*(t_-t0c)+a2*(t_-t0c);
%t=t_-deta_t;
%tk=t-t0e
tk=0;
%3.观测时刻卫星平近点角Mk的计算
Mk=M0+n*tk;

%4.计算偏近点角Ek
E=1;
Ek=Mk;
while E>10^(-6)
    E=Ek;
   Ek=Mk+e*sin(Ek); 
   E=abs(Ek-E);
end;
   
   
%5.真近点角Vk的计算
 Vk=atan((sqrt(1-e*e)*sin(Ek))/(cos(Ek)-e));
 
%6.升交距角Fk的计算
Fk=Vk+w;


%7.摄动改正项su,sr,si的计算
su=Cuc*cos(2*Fk)+Cus*sin(2*Fk);
sr=Crc*cos(2*Fk)+Crs*sin(2*Fk);
si=Cic*cos(2*Fk)+Cis*sin(2*Fk);


%8.计算经过改正的升交距角uk、卫星矢径rk和轨道倾角ik
uk=Fk+su;
rk=a_sqrt*a_sqrt*(1-e*cos(Ek))+sr;
ik=i0+si+I_*tk;
%9.计算卫星在轨道平面直角坐标系的坐标
xk=rk*cos(uk);
yk=rk*sin(uk);

%10计算观测时刻升交点经度Wk
we=7.29211567*10^(-5);
Wk=W0+(W_-we)*tk-we*t0e;

%11
Xk=xk*cos(Wk)-yk*cos(ik)*sin(Wk);
Yk=xk*sin(Wk)+yk*cos(ik)*cos(Wk);
Zk=yk*sin(ik);

配合主函数文件使用

若要计算单个北斗MEO或IGSO卫星,请自行修改函数句柄,配置输出模块。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值