10 Star 22 Fork 7

肖昆 / orbit_design_toolkit

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
readme.md

轨道设计工具包

#该库使用Matlab的编写,面向对象编程,一共有X个库

0.单位制

该工具包使用国际制单位。为了设计者直观理解,角度用deg,deg转rad全部封装进了库里,不需要设计者考虑。

1.天文常数

例如调用光速:constants.AstroConstants.c

2.时间系统

时间系统对象的初始化输入为UTC(协调世界时间)和地理经度。时间数据类型为datetime或double(秒)。 UTC可以是数组,地理经度目前要求是标量。

UTC = datetime(2019,11,27,21,10,10);
lambda = 24.583;
timesystem  = timeSystem.TimeSystem(UTC,lambda)
timesystem = 

  TimeSystem with properties:

        UTC: 2019-11-27 21:10:10
    lambdaG: 24.5830
     lambda: 24.5830
        TAI: 2019-11-27 21:10:11
         TT: 2019-12-30 01:35:08
        TDT: 2019-12-30 01:35:08
         ET: 2019-12-30 01:35:08
        UT1: 2019-11-27 21:10:10
      Smean: 6.2995e+08
          S: 6.2995e+08
      smean: 6.2995e+08
          s: 6.2995e+08

3.轨道确定

3.1测站数据预处理

根据

  • 测站纬度、真太阳时、海拔(或高程)
  • 航天器方位角、高低角、距离、方位角变化率、高低角变化率和距离变化率

算出

  • 测站位置(在地心惯性系下)
  • 航天器方向余弦(测站地平坐标系下)
  • 航天器位置(在地心惯性系下)
  • 航天器速度(在地心惯性系下)

注意,纬度和海拔数据必须是标量,其余可以是数组

preprocessing = orbitDefine.Preprocessing(latitude,timesystem.s/3600*15,altitude,azimuth,elevation,distance,Dazimuth,Delevation,Ddistance)

preprocessing = 

  Preprocessing with properties:

        Glatitude: 0.1024
                s: [30×1 double]
         altitude: 0
          azimuth: [30×1 double]
        elevation: [30×1 double]
         distance: [30×1 double]
         Dazimuth: [30×1 double]
       Delevation: [30×1 double]
        Ddistance: [30×1 double]
       stationPos: [30×3 double]
    spacecraftDir: [30×3 double]
    spacecraftPos: [30×3 double]
    spacecraftVel: [30×3 double]

3.2根据单组位置和速度定轨

orbitDefine.usingSinglePosVel(r0,v0,UTC(1))

ans = 

  usingSinglePosVel with properties:

        a: 9.2000e+06
       e_: [3×1 double]
        e: 0.1200
    Omega: 126.0000
    omega: 36.9999
        i: 96.5000
      tao: 2019-11-27 18:28:09
       f0: 51.1051
       E0: 7.0366
       M0: 6.9545
        h: [3×1 double]
        p: 9.0675e+06

3.3根据航天器方向定轨之拉普拉斯方法

输入地心惯性坐标系下测站位置和航天器方向,以及当地真恒星时和初始时刻的UTC,求得轨道要素。

orbit_L = orbitDefine.LaplaceMethod(preprocessing.stationPos,preprocessing.spacecraftDir,timesystem.s)
orbit_L = 

  LaplaceMethod with properties:

    r0: [3×1 double]
    v0: [3×1 double]
orbitDefine.usingSinglePosVel(orbit_L.r0,orbit_L.v0,timesystem.UTC(1))
orbit_L = 

  LaplaceMethod with properties:

       r0: [3×1 double]
       v0: [3×1 double]
        a: 8.2619e+06
        e: 0.0456
    Omega: 60.2791
    omega: 129.6670
        i: 54.9207
      tao: 2019-11-27 19:53:45
       f0: 217.5681
       E0: 219.1920
       M0: 220.8440

3.4根据航天器方向定轨之高斯方法

3.5根据多组位置定轨

输入地心惯性坐标系下航天器位置,以及初始时刻的UTC,求得轨道要素。

orbit=orbitDefine.usingMultiPos(preprocessing.spacecraftPos,UTC)

orbit = 

  usingMultiPos with properties:

        a: 8.2099e+06
        e: 0.0491
    Omega: 60.2193
    omega: 134.1086
        i: 54.9040
      tao: 2019-11-27 19:56:00
       f0: 213.2022
       E0: 214.7746
       M0: 216.3779
        p: 8.1901e+06

Repository Comments ( 0 )

Sign in for post a comment

About

基于Matlab的卫星轨道设计库 expand collapse
Matlab
Cancel

Releases

No release

orbit_design_toolkit

Contributors

All

Activities

Load More
can not load any more
Matlab
1
https://gitee.com/robin_shaun/orbit_design_toolkit.git
git@gitee.com:robin_shaun/orbit_design_toolkit.git
robin_shaun
orbit_design_toolkit
orbit_design_toolkit
master

Search