gnssSensor

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

Описание

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

Сгенерировать показания положения и скорости GNSS:

  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

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

Зависимости

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

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

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

Описание

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

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

развернуть все

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

Система координат по умолчанию является NED (на северо-восток вниз). Для ENU (восточный север), устанавливает ReferenceFrame аргумент значения имени to'ENU' на создании.

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

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

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

Система координат по умолчанию является NED (на северо-восток вниз). Для ENU (восточный север), устанавливает ReferenceFrame аргумент значения имени to'ENU' на создании.

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

развернуть все

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

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

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

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

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

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

Чтобы построить спутниковые положения, смотрите skyplot функция.

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

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

release(obj)

развернуть все

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

Примеры

свернуть все

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

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. Используйте положение LLA для Натика, 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.9709
   42.2834  -71.3418  -47.1542
   42.2843  -71.3406 -147.7033
   42.2852  -71.3394 -245.4225
   42.2861  -71.3381 -347.1196
   42.2870  -71.3369 -449.4637

velocityReadings = 6×3

    9.9983   10.0043    9.9897
   10.0307   10.0008   10.0231
    9.9863   10.0116   10.0140
   10.0078    9.9971    9.9860
    9.9863   10.0204   10.0257
    9.9790   10.0095    9.9602

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

Больше о

развернуть все

Ссылки

[1] Рощи, Пол Д. Принципы GNSS, Инерционного, и Мультидатчик Интегрированные Системы навигации. 2-й редактор, Артеч Хаус, 2013.

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

Смотрите также

Объекты

Функции

Введенный в R2020b