gnssconstellation

Местоположение спутника в заданное время

Описание

пример

[satPos,satVel] = gnssconstellation(t) возвращает положения и скорости спутников в datetime t. Функция возвращает положения и скорости в центрированной Землей системе координат (ECEF) в метрах и метрах в секунду, соответственно.

Примеры

свернуть все

Получите текущие положения и скорости спутника из созвездий GNSS. Получите доступ к параметрам орбиты из спецификации IS-GPS-200K Interface и вычислите положение и скорости в координатах ECEF за заданное время. Отобразите положения спутников.

t = datetime('now','TimeZone','Local');
[satPos,satVel] = gnssconstellation(t);
disp(satPos)
   1.0e+07 *

   -1.7719    1.9783    0.0292
    1.5722    0.4359   -2.0958
   -0.6726   -1.4690    2.1081
    0.4145   -2.1143    1.5531
    2.5412    0.7172   -0.2862
    2.5385   -0.0447    0.7797
   -0.1180    1.5265   -2.1703
   -1.7118   -1.3977    1.4732
   -1.4512    1.0917   -1.9382
    0.1712    2.4919   -0.9029
    1.6094    0.1573    2.1069
    1.1183   -1.2277    2.0728
   -1.3908   -2.0550   -0.9470
   -2.0258    0.5891   -1.6135
    1.9962   -1.6550    0.5748
    1.5470   -2.1296   -0.3546
   -0.1738    2.0171    1.7191
   -1.4303   -0.6463   -2.1426
    1.1608   -1.2290   -2.0485
    1.9526    1.2907    1.2553
   -2.5352    0.0527    0.7900
    0.7693    1.5786    1.9926
    1.4327    1.9814   -1.0372
   -1.4876    0.3489    2.1725
   -0.9902    1.4434    1.9976
   -0.3635   -2.5451   -0.6668
    0.5061   -2.0457   -1.6165

Используйте lookangles функция для получения азимута и углов возвышения спутников для заданных положений спутника и приемника. Задайте угол маски 5 степеней. Получите положение спутника с помощью gnssconstellation функция.

Указать положение приемника в геодезических координатах (широта, долгота, высота).

recPos = [42 -71 50];

Получите местоположение спутника для текущего времени.

t = datetime('now');
gpsSatPos = gnssconstellation(t);

Задайте угол маски 5 степеней.

maskAngle = 5;

Получите азимут и углы обзора повышения для положений спутника. The vis выход указывает, какие спутники видны. Получите общее значение с помощью nnz.

[az,el,vis] = lookangles(recPos,gpsSatPos,maskAngle);
fprintf('%d satellites visible at %s.\n',nnz(vis),t);
8 satellites visible at 23-Apr-2021 11:10:47.

Входные параметры

свернуть все

Текущее время симуляции спутника, заданное как скаляр datetime массив.

Часовой пояс по умолчанию для dateTtime массив UTC. Для получения информации об указании другого часового пояса смотрите datetime.

Время запуска GPS - 6 января 1980 года, полночь, UTC. Установка любой datetime до этого времени будет использовать время запуска GPS.

Пример: datetime('now','TimeZone','Local');

Типы данных: datetime

Выходные аргументы

свернуть все

Положения спутников в центрированной Землей системе координат (ECEF) в метрах, возвращенные как N на 3 матрица скаляров. N - количество спутников в созвездии.

Типы данных: single | double

Показания скорости приемника GNSS в локальной навигационной системе координат в метрах в секунду, возвращенные как N-на-3 матрица скаляров. N - количество спутников в созвездии.

Типы данных: single | double

Подробнее о

свернуть все

Параметры орбиты

Положения и скорости спутников определяются параметрами орбиты из Спецификации IS-GPS-200K интерфейса и приведены в координатах ECEF.

В вычислениях положения используются уравнения из таблицы 30-II в той же спецификации интерфейса IS-GPS-200K.

В вычислениях скорости используются уравнения 8.21-8.27 в [1].

Ссылки

[1] Groves, Paul D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems. Бостон: Артек Хаус, 2013.

Расширенные возможности

.
Введенный в R2021a