exponenta event banner

gnssconstellation

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

Описание

пример

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

Примеры

свернуть все

Получение текущих положений и скоростей спутников из группировок ГНСС. Получите доступ к орбитальным параметрам из спецификации интерфейса IS-GPS-200K и рассчитайте положение и скорости в координатах 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;

Получите азимут и углы наклона для положения спутника. 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-by-3 матрицы скаляров. N - число спутников в созвездии.

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

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

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

Подробнее

свернуть все

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

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

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

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

Ссылки

[1] Гроувз, Пол Д. Принципы ГНСС, инерциальных и мультисенсорных интегрированных навигационных систем. Бостон: Artech House, 2013.

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

.
Представлен в R2021a