1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/robin_shaun-orbit_design_toolkit

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

Библиотека для расчета орбитальных характеристик

В данной библиотеке используется язык MATLAB с использованием объектно-ориентированного программирования. В ней содержится X библиотек.

0. Единицы измерения

Данная библиотека использует международную систему единиц. Для удобства понимания разработчиками углы указаны в градусах (deg), а преобразование из градусов в радианы полностью заключено внутри библиотеки, что позволяет разработчику не беспокоиться об этом.

1. Астрономические константы

Пример вызова скорости света: constants.AstroConstants.c

2. Система времени

Инициализация объекта системы времени требует UTC (координированное время по всемирному временщику) и долготу местоположения. Тип данных времени может быть как datetime, так и double (в секундах).

UTC может быть массивом значений, а долгота должна быть скалярной величиной.

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

  TimeSystem with properties:

        UTC: 2019-11-27 21:10:10
    longitude: 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 Предварительная обработка данных наблюдательных станций
На основе следующих данных:
- Широта станции, истинное солнечное время, высота над уровнем моря (или высота)
- Угол направления спутника, угол элевации, расстояние до спутника, скорость изменения угла направления, скорость изменения угла элевации и скорость изменения расстоянияВычисляются следующие характеристики:
- Положение станции в земном центрированном инерциальном координатном пространстве
- Косинусы направлений спутника в координатах горизонтальной системы координат станции
- Положение спутника в земном центрированном инерциальном координатном пространстве
- Скорость спутника в земном центрированном инерциальном координатном пространстве

Обратите внимание, что данные широты и высоты должны быть скалярными значениями, остальные могут быть массивами.
```matlab
preprocessing = orbitDefine.Preprocessing(latitude, timesystem.s / 3600 * 15, altitude, azimuth, elevation, distance, Dazimuth, Delevation, Ddistance)

preprocessing = 

  Preprocessing with properties:

        latitude: 0.1024
                s: [30x1 double]
         altitude: 0
          azimuth: [30x1 double]
        elevation: [30x1 double]
         distance: [30x1 double]
         Dazimuth: [30x1 double]
       Delevation: [30x1 double]
        Ddistance: [30x1 double]
       stationPos: [30x3 double]
    spacecraftDir: [30x3 double]
    spacecraftPos: [30x3 double]
    spacecraftVel: [30x3 double]

3.2 Определение орбиты на основе одной группы положений и скоростей

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

ans = 

  usingSinglePosVel with properties:

3.3 Определение орбиты по направлению спутника методом Лапласа

Использует положение станции в земной неподвижной системе координат и направление спутника, а также истинное местное время и UTC начального момента времени, чтобы получить элементы орбиты.```matlab orbit_L = orbitDefine.LaplaceMethod(preprocessing.stationPos, preprocessing.spacecraftDir, timesystem.s)


```matlab
orbit_L =

LaplaceMethod с свойствами:

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

LaplaceMethod с свойствами:

    r0: [3x1 double]
    v0: [3x1 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 с свойствами:

    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: bk
    M0: 216.3779
    p: 8.1901e+06

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/robin_shaun-orbit_design_toolkit.git
git@api.gitlife.ru:oschina-mirror/robin_shaun-orbit_design_toolkit.git
oschina-mirror
robin_shaun-orbit_design_toolkit
robin_shaun-orbit_design_toolkit
master