• 大小: 4KB
    文件类型: .py
    金币: 2
    下载: 2 次
    发布日期: 2021-06-07
  • 语言: Python
  • 标签: anwar  

资源简介

本代码利用Python语言实现根据卫星星历参数实现卫星定位功能。注:代码中个参数值是特定值须具体情况而改动

资源截图

代码片段和文件信息

‘‘‘
T0=239050.7223
T=244800sa开方=5153.65531,ei(偏心率)=0.005912038265i0=0.9848407943
S0(t0时刻升交赤经)=1.038062244,w=-1.717457876M0=-1.064739758dn=4.249105564*e-9
di=7.422851197*10e-51dS=-8.151768125*10e-9Cuc=3.054738045*10e-7Cus=2.237036824*10e-6
Crc=350.53125Crs=2.53125Cic=-8.381903172*10e-8Cis=8.940696716*10e-8
u(开普勒常数)=3.986005*e14
wie=7.2921151467*10e-5
‘‘‘
import math
import numpy.matlib
def cordinateComputer():
    Cuc = 3.054738045 * 1e-7
    Cus = 2.237036824 * 1e-6
    Crs = 2.53125
    Crc = 350.53125
    Cic = -8.381903172 * 1e-8
    Cis = 8.940696716 * 1e-8
    i0 = 0.9848407943
    di = 7.422851197 * 1e-51
    S0= 1.038062244
    dS = -8.151768125 * 1e-9
    wie = 7.2921151467 * 1e-5
    f=1/298.257223563
    Re=6378137
   #近地点角
    w = -1.717457876
   #给定时刻
    t0=244800;
   #参考时间
    t=239050.7223;
    tk=t-t0;
    a=math.pow(5153.655312);
    #开普勒常数
    u=3.986005*1e14;
    n0=math.sqrt(u/math.pow(a3));dn=4.249105564*1e-9#平均运动角速度修正量
    #t0时刻
    m0=-1.064739758
    #平近点角
    mk=m0+(n0+dn)*tk
    #偏心率
    ei=0.005912038265
    #利用拉格朗日级数求解开普勒方程求出ek=mk+ei*sin(ek)
    ek=mk+ei*math.sin(mk)+math.pow(ei2)/(4*math.cos(mk)*math.sin(mk))\
       +math.pow(ei3)/(6*(6*math.pow(math.cos(mk)2)*math.sin(mk))-3*math.pow(math.sin(mk)3))\
    +math.pow(ei4)/24*(24*math.pow(math.cos(mk)3)*math.sin(mk)-40*math.cos(mk)*math.pow(math.sin(mk)3))\
    +math.pow(ei5)/120*(65*math.pow(math.sin(mk)5)+120*math.pow(math.cos(mk)4)*math.sin(mk)-440*math.pow(math.cos(mk)2)*math.pow(math.sin(mk)3));

    #根据偏近点和真近点关系计算真近角
    fk1=math.sqrt(1-math.pow(ei2))*math.sin(ek);
    fk2=math.cos(ek)-ei;
    fk=math.atan(fk1/fk2);

    ‘‘‘
    计算升交点角距uk地心距rk和轨道倾角以及三个坐标
    ‘‘‘
    #升交点角距
    uk=w+fk+Cuc*math.

评论

共有 条评论

相关资源