gnssSensor

Симулируйте GNSS, чтобы сгенерировать показания положения и скорости

Описание

The gnssSensor Система object™ моделирует глобальную навигационную спутниковую систему (GNSS), чтобы сгенерировать показания положения и скорости на основе локальных данных о положении и скорости. Объект вычисляет положения и скорости спутника на основе времени и данных датчика, которые определяют параметры орбиты спутника. Для вычислений объект использует только созвездия Глобальной системы позиционирования (GPS). Чтобы задать стартовые положения спутников, установите свойство InitialTime.

Для формирования показаний положения и скорости ГНСС:

  1. Создайте gnssSensor Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Вызов объекта увеличивает время датчика и распространяет положение спутника и скорости на основе параметров орбиты.

Создание

Описание

GNSS = gnssSensor возвращает gnssSensor Системный объект GNSS который вычисляет показания приемника глобальной навигационной спутниковой системы на основе локального положения и входов скорости.

GNSS = gnssSensor('ReferenceFrame',frame) задает опорную систему координат, в которой регистрируются показания GNSS. Задайте frame как 'NED' (северо-восток-вниз) или 'ENU' (восток-север-вверх). Значение по умолчанию 'NED'.

пример

GNSS = gnssSensor(___,Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение". Для примера, gnssSensor('SampleRate',2) создает моделируемую GNSS со скоростью дискретизации 2 Гц. Заключайте каждое имя свойства в кавычки.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Частота дискретизации приемника GNSS, заданная как положительная скалярная величина в Гц.

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

Начальное время приемника GNSS, заданное как datetime объект. Объект учитывает секунды скачка в преобразовании между временем UTC и GNSS.

Источник локальной навигационной системы отсчета, заданная как трехэлементный вектор-строка скаляров в геодезических координатах (широта в степени, долгота в степени и высота в метрах). Высота над уровнем ссылки эллипсоидной модели WGS84.

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

Угол маски повышения, заданный как скаляр в области значений [0, 90] в степенях. Спутники в виде, но под углом маски не используются при оценке положения приемника.

Настраиваемый: Да

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

Стандартное отклонение измерительного шума псевдообласти значений, заданное как неотрицательный скаляр в метрах.

Настраиваемый: Да

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

Стандартное отклонение шума измерения псевдообласти значений, заданное как неотрицательный скаляр в метрах в секунду.

Настраиваемый: Да

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

Источник случайных чисел, заданный как один из следующих опций::

  • 'Global stream' - Случайные числа генерируются с использованием текущего глобального потока случайных чисел.

  • 'mt19937ar with seed' -- Случайные числа генерируются с помощью алгоритма mt19937ar со seed, заданной Seed свойство.

Типы данных: char | string

Начальное начальное число алгоритма генератора случайных чисел mt19937ar, заданное как неотрицательное целое число.

Зависимости

Чтобы включить это свойство, задайте RandomStream на 'mt19937ar with seed'.

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

Использование

Описание

[positionReadings,velocityReadings,status] = GNSS(position,velocity) вычисляет показания приемника глобальной навигационной спутниковой системы из входных входов положения и скорости.

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

расширить все

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

Опорная система координат по умолчанию является NED (north-east-down). Для ENU (восток-север-вверх) установите ReferenceFrame аргумент имя-значение в 'ENU' о создании.

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

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

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

Опорная система координат по умолчанию является NED (north-east-down). Для ENU (восток-север-вверх) установите ReferenceFrame аргумент имя-значение в 'ENU' о создании.

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

расширить все

Показания положения приемника ГНСС в системе координат геодезической широты, долготы и высоты (LLA), возвращенные в виде матрицы N на 3 скаляров. Высота над уровнем ссылки модели эллипсоида, WGS84. N - количество выборок в входной параметр. Широта и долгота в степенях. Высота над уровнем моря в метрах.

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

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

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

Информация о состоянии видимых спутников, возвращенная как N-element массив структур. N - количество выборок в входные параметры. Каждая структура содержит следующие четыре поля :

Имя поляОписание
SatelliteAzimuthАзимутальные углы видимых спутников, возвращенные как M-элементный вектор скаляров в степенях. M - количество видимых спутников.
SatelliteElevationУглы возвышения видимых спутников, возвращенные как M-элементный вектор скаляров в степенях. M - количество видимых спутников.
HDOPГоризонтальное разведение точности, возвращаемое как скаляр.
VDOPВертикальное разведение точности, возвращаемое как скаляр.

Для построения графика положения спутника смотрите skyplot функция.

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

cloneСоздайте повторяющийся системный объект
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта
isDoneСостояние конца данных

Примеры

свернуть все

Сгенерируйте целевые положения и скорости на основе траектории путевой точки.

rng(2020) % For repeatable results
fs = 0.1;
tArrival = 50;
tspan = 0:1/fs:tArrival;
% Create a waypoint trajectory.
trajectory = waypointTrajectory([0,0,0;1,1,1]*500,[0,tArrival]);
[positions,~,velocities] = lookupPose(trajectory,tspan)
positions = 6×3

         0         0         0
  100.0000  100.0000  100.0000
  200.0000  200.0000  200.0000
  300.0000  300.0000  300.0000
  400.0000  400.0000  400.0000
  500.0000  500.0000  500.0000

velocities = 6×3

   10.0000   10.0000   10.0000
   10.0000   10.0000   10.0000
   10.0000   10.0000   10.0000
   10.0000   10.0000   10.0000
   10.0000   10.0000   10.0000
   10.0000   10.0000   10.0000

Создайте объект GNSS System. Используйте положение LLA для Natick, MA в качестве локального источника опорной системы координат траектории.

refLocNatick = [42.2825 -71.343 53.0352];
gnss = gnssSensor('SampleRate',fs, ...
    'ReferenceLocation',refLocNatick);

Сгенерируйте показания положения и скорости на основе объекта GNSS.

[llaReadings,velocityReadings,status] = gnss(positions,velocities)
llaReadings = 6×3

   42.2825  -71.3430   52.7535
   42.2834  -71.3418  -47.4736
   42.2843  -71.3406 -148.1435
   42.2852  -71.3394 -249.0933
   42.2861  -71.3381 -347.2225
   42.2870  -71.3369 -447.1422

velocityReadings = 6×3

   10.0133   10.0028    9.9696
    9.9769    9.9936   10.0070
    9.9960   10.0137   10.0105
   10.0043    9.9987    9.9879
    9.9761   10.0160    9.9810
    9.9850   10.0113    9.9787

status=6×1 struct array with fields:
    SatelliteAzimuth
    SatelliteElevation
    HDOP
    VDOP

Подробнее о

расширить все

Ссылки

[1] Groves, Paul D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems. 2-е изд, Artech House, 2013.

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

.

См. также

Объекты

Функции

Введенный в R2020b