gnssconstellation

Спутниковые местоположения в требуемое время

Описание

пример

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

Примеры

свернуть все

Получите текущие спутниковые положения и скорости от созвездий GNSS. Доступ к орбитальным параметрам из Спецификации Интерфейса 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

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

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

Больше о

свернуть все

Орбитальные параметры

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

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

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

Ссылки

[1] Рощи, Пол Д. Принципы GNSS, инерционного, и мультидатчик интегрированные системы навигации. Бостон: дом Artech, 2013.

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

Введенный в R2021a