monostaticRadarSensor

Сгенерируйте радиолокационные обнаружения для сценария слежения

monostaticRadarSensor не рекомендуется, если не требуется генерация кода C/C + +. Использование fusionRadarSensor вместо этого. Для получения дополнительной информации см. раздел Вопросов совместимости.

Описание

The monostaticRadarSensor Система object™ генерирует обнаружения целей радаром моностатического наблюдения. Можно использовать monostaticRadarSensor объект в сценарии, содержащем движущиеся и стационарные платформы, такие как созданные с помощью trackingScenario. The monostaticRadarSensor объект может симулировать реальные обнаружения с добавлением случайного шума, а также генерировать ложные обнаружения предупреждений. В сложение можно использовать обнаружения, сгенерированные этим объектом, как вход в трекеры, такие как trackerGNN или trackerTOMHT.

Этот объект позволяет вам сконфигурировать сканирующий радар. Сканирующий радар изменяет свой угол обзора путем шага механического и электронного положения луча с шагами от углового диапазона, заданного в FieldOfView свойство. Радар сканирует общую область в азимуте и повышении, заданные пределами механического и электронного скана радара, MechanicalScanLimits и ElectronicScanLimits. Если для пределов сканирования азимута или повышения задано значение [0 0]затем сканирование по этой размерности для этого режима скана не выполняется. Если максимальная механическая скорость скана для азимута или повышения установлена равной нулю, то механическое сканирование по этой размерности не выполняется.

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

Чтобы сгенерировать радиолокационные обнаружения:

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

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

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

Создание

Описание

sensor = monostaticRadarSensor(SensorIndex) создает объект генератора радиолокационного обнаружения с заданным индексом датчика, SensorIndex, и значения свойств по умолчанию.

пример

sensor = monostaticRadarSensor(SensorIndex,Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, monostaticRadarSensor(1,'DetectionCoordinates','Sensor rectangular') создает генератор радиолокационного обнаружения, который сообщает о обнаружениях в Декартовой системе координат датчика с индексом датчика, равным 1.

sensor = monostaticRadarSensor(SensorIndex,'No scanning') является синтаксисом удобства, который создает monostaticRadarSensor который указывает только на направление радиолокационной антенны. Механическое или электронное сканирование не выполняется. Этот синтаксис устанавливает ScanMode свойство к 'No scanning'.

sensor = monostaticRadarSensor(SensorIndex,'Raster') является синтаксисом удобства, который создает monostaticRadarSensor объект, который механически сканирует растровый шаблон. Размах растра составляет 90 ° по азимуту от -45 ° до + 45 ° и по повышению от горизонта до 10 ° над горизонтом. Свойства, заданные этим синтаксисом, см. в разделе Синтаксис удобства.

sensor = monostaticRadarSensor(SensorIndex,'Rotator') является синтаксисом удобства, который создает monostaticRadarSensor объект, который механически сканирует 360 ° по азимуту путем механического поворота антенны с постоянной скоростью. Когда вы задаете HasElevation на true, радиолокационная антенна механически указывает в сторону центра повышения поля зрения. Свойства, заданные этим синтаксисом, см. в разделе Синтаксис удобства.

sensor = monostaticRadarSensor(SensorIndex,'Sector') является синтаксисом удобства для создания monostaticRadarSensor объект, который механически сканирует сектор азимута 90 ° от -45 ° до + 45 °. Настройка HasElevation на true указывает радиолокационную антенну в направлении центра поля зрения по повышению. Можно изменить ScanMode на 'Electronic' для электронного сканирования того же азимутального сектора. В этом случае антенна не наклоняется механически в электронном скане. Вместо этого лучи складываются в электронном виде, чтобы обработать всёся повышение, охватываемый пределами скана в одной скважине. Свойства, заданные этим синтаксисом, см. в разделе Синтаксис удобства.

Свойства

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

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

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

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

Уникальный идентификатор датчика, заданный как положительное целое число. Это свойство отличает обнаружения, которые поступают от разных датчиков в мультисенсорной системе. При создании monostaticRadarSensor системный объект, необходимо либо задать SensorIndex в качестве первого входного параметра в синтаксисе создания или укажите его как значение для SensorIndex свойство в синтаксисе создания.

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

Датчик частоты обновления, заданный как положительная скалярная величина. Этот интервал должен быть целым числом, кратным временному интервалу симуляции, заданному как trackingScenario. The trackingScenario объект вызывает радарный датчик сканирования с временными интервалами симуляции. Радар генерирует новые обнаружения с интервалами, заданными взаимностью UpdateRate свойство. Любое обновление, запрошенное к датчику между интервалами обновления, не содержит обнаружений. Модули указаны в герцах.

Пример: 5

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

Расположение датчика на платформе, заданное как вектор с реальным значением 1 на 3. Это свойство определяет координаты датчика относительно источника платформы. Значение по умолчанию задает, что источник датчика находится в источнике платформы. Модули измерения указаны в метрах.

Пример: [.2 0.1 0]

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

Ориентация датчика относительно платформы, заданная как трехэлементный вектор с реальным значением. Каждый элемент вектора соответствует собственному повороту угла Эйлера, который несет оси тела платформы к осям датчика. Три элемента определяют повороты вокруг z -, y - и x - осей в этом порядке. Первое вращение вращает ось платформы вокруг оси z. Второе вращение вращает переносимую систему координат вокруг оси повернутого y -. Окончательное вращение поворачивает систему координат вокруг оси x. Модули указаны в степенях.

Пример: [10 20 -15]

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

Поля зрения датчика, заданные как вектор 2 на 1 положительных скалярных величинах в степени [azfov;elfov]. Поле зрения определяет общую угловую длину, охватываемую датчиком. Поле зрения «азимут» azfov должен лежать в интервале (0,360]. Поле зрения по повышению elfov должен лежать в интервале (0,180].

Пример: [14;7]

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

Включите неоднозначности области значений, заданные как false или true. Установите это свойство на true для обеспечения неоднозначности области значений датчиком. В этом случае датчик не может разрешить неоднозначности области значений, и целевые области значений за пределами MaxUnambiguousRange заворачиваются в интервал [0 MaxUnambiguousRange]. Когда false, о целях сообщается на их однозначной области значений.

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

Максимальная однозначная область значений, заданное как положительная скалярная величина. Максимальная однозначная область значений определяет максимальную область значений, для которой радар может однозначно разрешить область значений цели. Когда HasRangeAmbiguities задано значение true, цели, обнаруженные в дальностях, выходящих за пределы максимальной однозначной области значений, заворачиваются в интервал области значений [0,MaxUnambiguousRange]. Это свойство применяется к истинным целевым обнаружениям, когда вы устанавливаете HasRangeAmbiguities свойство к true.

Это свойство также применяется к ложным целевым обнаружениям, когда вы устанавливаете HasFalseAlarms свойство к true. В этом случае свойство определяет максимальную область значений для ложных предупреждений.

Модули измерения указаны в метрах.

Пример: 5e3

Зависимости

Чтобы включить это свойство, установите HasRangeAmbiguities свойство к true или установите HasFalseAlarms свойство к true.

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

Включите неоднозначности уровня области значений как false или true. Установите значение true чтобы включить неоднозначность уровня области значений датчиком. Когда true, датчик не разрешает неоднозначности скорости области значений и целевые скорости области значений за MaxUnambiguousRadialSpeed заключаются в интервал [-MaxUnambiguousRadialSpeed,MaxUnambiguousRadialSpeed]. Когда false, о целях сообщается с их однозначной частотой области значений.

Зависимости

Чтобы включить это свойство, задайте значение свойства HasRangeRate true.

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

Максимальная однозначная радиальная скорость, заданная как положительная скалярная величина. Радиальная скорость является величиной целевой скорости области значений. Максимальная однозначная радиальная скорость задает радиальную скорость, для которой радар может однозначно разрешить скорость области значений цели. Когда HasRangeRateAmbiguities установлено в true, цели, обнаруженные на скоростях области значений, превышающих максимальную однозначную радиальную скорость, заворачиваются в интервал уровня области значений [-MaxUnambiguousRadialSpeed, MaxUnambiguousRadialSpeed]. Это свойство применяется к истинным целевым обнаружениям при установке HasRangeRateAmbiguities свойство к true.

Это свойство также применяется к ложным обнаружениям целей, полученным, когда вы задаете оба HasRangeRate и HasFalseAlarms свойства для true. В этом случае свойство определяет максимальную радиальную скорость, для которой могут быть сгенерированы ложные предупреждения.

Модули указаны в метрах в секунду.

Зависимости

Чтобы включить это свойство, задайте HasRangeRate и HasRangeRateAmbiguities на true и/или задать HasRangeRate и HasFalseAlarms на true.

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

Режим сканирования радара, заданный как 'Mechanical', 'Electronic', 'Mechanical and electronic', или 'No scanning'.

Режимы скана

ScanModeЦель
'Mechanical'Радар механически сканирует азимут и пределы повышения, заданные MechanicalScanLimits свойство. Направление скана увеличивается на угол зрения радара между жилыми помещениями.
'Electronic'Радар сканирует в электронном виде азимут и пределы повышения, заданные ElectronicScanLimits свойство. Направление скана увеличивается на угол зрения радара между жилыми помещениями.
'Mechanical and electronic'Радар механически сканирует радиолокацию антенны через пределы механического скана и электронно сканирует лучи относительно радиолокации антенны через пределы электронного скана. Общее поле учета, отсканированное в этом режиме, является комбинацией пределов механического и электронного скана. Направление скана увеличивается на угол зрения радара между жилыми помещениями.
'No scanning'Радиолокационный луч указывает вдоль борсайта антенны, заданный как MountingAngles свойство.

Пример: 'No scanning'

Максимальная механическая скорость скана, заданная как неотрицательный скаляр или действительный вектор 2 на 1 с неотрицательными значениями.

Когда HasElevation true, задайте скорость скана как вектор-столбец 2 на 1 неотрицательных записей [maxAzRate; maxElRate]. maxAzRate является максимальной частотой скана в азимуте, а maxElRate является максимальной частотой скана в повышении.

Когда HasElevation является false, задайте скорость скана как неотрицательный скаляр, представляющий максимальную скорость скана механического азимута.

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

Пример: [5;10]

Зависимости

Чтобы включить это свойство, установите ScanMode свойство к 'Mechanical' или 'Mechanical and electronic'.

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

Угловые пределы направлений механического скана радара, заданные как действительный вектор-строка 1 на 2 или действительная матрица 2 на 2. Пределы механического скана определяют минимальный и максимальный механические углы, которые радар может сканировать от установленной ориентации.

Когда HasElevation является trueпределы скана принимают форму [minAz maxAz; minEl maxEl]. minAz и maxAz представляют минимальные и максимальные пределы угла азимута скана. minEl и maxEl представляют минимальные и максимальные пределы скана угла возвышения. Когда HasElevation является falseпределы скана принимают форму [minAz maxAz]. Если вы задаете пределы скана как матрицу 2 на 2, но задаете HasElevation на falseвторая строка матрицы игнорируется.

Пределы азимутального скана не могут охватывать более 360 °, а пределы скана должны находиться в пределах закрытого интервала [-90 ° 90 °]. Модули указаны в степенях.

Пример: [-90 90;0 85]

Зависимости

Чтобы включить это свойство, установите ScanMode свойство к 'Mechanical' или 'Mechanical and electronic'.

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

Это свойство доступно только для чтения.

Механический угол скана тока радара, возвращаемый как скаляр или действительный вектор 2 на 1. Когда HasElevation является true, угол скана принимает форму [Az; Эль]. Az и El представляют углы азимута и скана повышения, соответственно, относительно установленного угла радара на платформе. Когда HasElevation является false, угол скана является скаляром, представляющим угол азимутального скана.

Зависимости

Чтобы включить это свойство, установите ScanMode свойство к 'Mechanical' или 'Mechanical and electronic'.

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

Угловые пределы направлений электронного скана радара, заданные как действительный вектор-строка 1 на 2 или действительная матрица 2 на 2. Пределы электронного скана определяют минимальный и максимальный электронные углы, которые радар может сканировать от своего текущего механического направления.

Когда HasElevation является trueпределы скана принимают форму [minAz maxAz; minEl maxEl]. minAz и maxAz представляют минимальные и максимальные пределы угла азимута скана. minEl и maxEl представляют минимальные и максимальные пределы скана угла возвышения. Когда HasElevation является falseпределы скана принимают форму [minAz maxAz]. Если вы задаете пределы скана как матрицу 2 на 2, но задаете HasElevation на falseвторая строка матрицы игнорируется.

Пределы азимутального скана и пределы скана должны находиться в пределах закрытого интервала [-90 ° 90 °]. Модули указаны в степенях.

Пример: [-90 90;0 85]

Зависимости

Чтобы включить это свойство, установите ScanMode свойство к 'Electronic' или 'Mechanical and electronic'.

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

Это свойство доступно только для чтения.

Электронный угол скана тока радара, возвращаемый в виде скаляра или вектора-столбца 1 на 2. Когда HasElevation является true, угол скана принимает форму [Az; El]. Az и El представляют углы азимута и скана повышения, соответственно. Когда HasElevation является false, угол скана является скаляром, представляющим угол азимутального скана.

Зависимости

Чтобы включить это свойство, установите ScanMode свойство к 'Electronic' или 'Mechanical and electronic'.

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

Это свойство доступно только для чтения.

Посмотрите угол датчика, заданный как скаляр или реальный вектор 2 на 1. Угол взгляда является комбинацией механического угла и электронного угла в зависимости от ScanMode свойство.

ScanModeLookAngle
'Mechanical'MechnicalAngle
'Electronic'ElectronicAngle
'Mechanical and Electronic'MechnicalAngle + ElectronicAngle
'No scanning'0

Когда HasElevation является trueугол взгляда принимает форму [Az; El]. Az и El представляют азимут и углы взгляда по повышению, соответственно. Когда HasElevation является false, угол взгляда является скаляром, представляющим угол взгляда азимута.

Вероятность обнаружения цели, заданная как положительная скалярная величина, меньше или равная единице. Эта величина определяет вероятность обнаружения цели с радарным сечением, ReferenceRCS, в область значений обнаружения ссылки, ReferenceRange.

Пример: 0.95

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

Частота сообщений о ложных предупреждениях в каждой камере разрешения радара, заданная как положительная скалярная величина в области значений [10–7,10–3]. Модули безразмерны. Камеры разрешения определяются из свойств AzimuthResolution и RangeResolution, а также из свойств ElevationResolution и RangeRateResolution, когда они включены.

Пример: 1e-5

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

Ссылки области значений для заданной вероятности обнаружения и заданной ссылки радиолокационного сечения (RCS), заданные в виде положительной скалярной величины. Ссылка области значений является областью значений, при которой цель, имеющая радарное сечение, задается как ReferenceRCS обнаруживается с вероятностью обнаружения, заданной DetectionProbability. Модули измерения указаны в метрах.

Пример: 25e3

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

Эталонное радиолокационное сечение (RCS) для заданной вероятности обнаружения и эталонной области значений в виде скаляра. RCS ссылки является значением RCS, при котором обнаруживается цель с вероятностью, заданной DetectionProbability при ReferenceRange. Модули указаны в д Бсм.

Пример: -10

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

Это свойство доступно только для чтения.

Коэффициент усиления радиолокационного цикла, возвращаемый как скаляр. RadarLoopGain зависит от значений DetectionProbability, ReferenceRange, ReferenceRCS, и FalseAlarmRate свойства. Коэффициент усиления радиолокационного цикла является функцией сообщаемого отношения сигнал/шум радара, SNR, поперечного сечения радара цели, RCS и области значений, R. Функция является

SNR = RadarLoopGain + RCS - 40log10 (R)(1)
где SNR и RCS в дБ и дБсм, соответственно, и область значений в метрах. Коэффициент усиления радиолокационного цикла находится в дБ.

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

Включите радар для измерения углов возвышения цели и для сканирования по повышению, заданные как false или true. Установите это свойство на true чтобы смоделировать радарный датчик, который может оценить повышение цели и сканировать по повышению.

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

Включите радар для измерения скоростей области значений, заданных как false или true. Установите это свойство на true чтобы смоделировать радарный датчик, который может измерить целевую частоту области значений. Установите это свойство на false чтобы смоделировать радарный датчик, который не может измерить частоту области значений.

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

Азимутальное разрешение радара, заданное как положительная скалярная величина. Разрешение азимута определяет минимальное разделение угла азимута, при котором радар может различать две цели. Разрешение азимута обычно является 3dB нисходящей точкой азимутального угла луча радара. Модули указаны в степенях.

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

Повышение разрешение радара, заданное как положительная скалярная величина. Разрешение повышения определяет минимальное разделение в угол возвышения, при котором радар может различать две цели. Разрешение по повышению обычно является 3dB-downpoint по углу возвышения луча радара. Модули указаны в степенях.

Зависимости

Чтобы включить это свойство, установите HasElevation свойство к true.

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

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

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

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

Зависимости

Чтобы включить это свойство, установите HasRangeRate свойство к true.

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

Азимутальная фракция смещения радара, заданная в виде неотрицательного скаляра. Смещение азимута выражается как часть разрешения азимута, заданного в AzimuthResolution. Это значение устанавливает нижнюю границу азимутальной точности радара. Это значение безразмерно.

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

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

Зависимости

Чтобы включить это свойство, установите HasElevation свойство к true.

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

Фракция смещения области значений радара, заданная как неотрицательный скаляр. Смещение области значений выражается как часть разрешения области значений, заданного в RangeResolution. Это свойство устанавливает нижнюю границу точности области значений радара. Это значение безразмерно.

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

Доля смещения уровня области значений радара, заданная в виде неотрицательного скаляра. Смещение скорости области значений выражается как часть разрешения скорости области значений, заданного в RangeRateResolution. Это свойство устанавливает нижнюю границу точности уровня области значений радара. Это значение безразмерно.

Зависимости

Чтобы включить это свойство, установите HasRangeRate свойство к true.

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

Включите необязательный входной параметр, который передает текущую оценку положения платформы датчика датчику, заданную как false или true. Когда true, информация о положении добавляется к MeasurementParameters структура сообщаемых обнаружений. Информация о положении позволяет алгоритмам отслеживания и слияния оценить состояние обнаружений целей в северо-восточной (NED) системе координат.

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

Включите сложение шума к измерениям радарного датчика, заданным как true или false. Установите это свойство на true для добавления шума к радиолокационным измерениям. В противном случае измерения не имеют шума. Даже если вы задаете HasNoise на falseобъект все еще вычисляет MeasurementNoise свойство каждого обнаружения.

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

Включите создание радиолокационных измерений ложных предупреждений, заданных как true или false. Установите это свойство на true для сообщения ложных предупреждений. В противном случае сообщается только о фактических обнаружениях.

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

Включите окклюзию от расширенных объектов, заданную как true или false. Установите это свойство на true для моделирования окклюзии из расширенных объектов. Моделируются два типа окклюзии (самоокклюзия и объект окклюзия). Самоокклюзия происходит, когда одна сторона расширенного объекта окклюдирует другую сторону. Окклюзия между объектами происходит, когда один расширенный объект стоит в линии зрения другого расширенного объекта или точки. Обратите внимание, что и расширенные объекты, и точку цели могут быть окклюдированы расширенными объектами, но точка цель не может окклюзировать другую точку цель или расширенный объект.

Установите это свойство на false отключение окклюзии расширенных объектов. Это также отключает слияние объектов, обнаружения которых имеют общую камеру разрешения датчика, что дает каждому объекту в сценарии отслеживания возможность сгенерировать обнаружение.

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

Источник максимального количества обнаружений, сообщаемых датчиком, указанный как 'Auto' или 'Property'. Когда для этого свойства задано значение 'Auto', датчик сообщает обо всех обнаружениях. Когда для этого свойства задано значение 'Property', датчик сообщает до количества обнаружений, заданных MaxNumDetections свойство.

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

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

Зависимости

Чтобы включить это свойство, установите MaxNumDetectionsSource свойство к 'Property'.

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

Система координат сообщаемых обнаружений, заданная как:

  • 'Scenario' - Обнаружения регистрируются в прямоугольной системе координат сценария. Система координат сценария определяется как локальный кадр NED во время начала симуляции. Чтобы включить это значение, установите HasINS свойство к true.

  • 'Body' - Об обнаружениях сообщается в прямоугольной системе тел сенсорной платформы.

  • 'Sensor rectangular' - Сообщения об обнаружениях поступают в прямоугольную систему координат тела радара.

  • 'Sensor spherical' - Обнаружения регистрируются в сферической системе координат, полученной из прямоугольной системы координат тела датчика. Эта система координат центрируется на радарном датчике и выравнивается с ориентацией радара на платформе.

Пример: 'Sensor spherical'

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

Включите радиочастотный вход, заданный как false или true. Когда trueможно добавить радиочастотные помехи с помощью входного параметра объекта.

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

Радиолокационная полоса формы волны, заданная как положительная скалярная величина. Модули указаны в герцах.

Пример: 100e3

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

Центральная частота радиолокационных полос, заданная как положительная скалярная величина. Модули указаны в герцах.

Пример: 100e6

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

Минимальная рабочая чувствительность приемника, заданная как скаляр. Чувствительность включает усиление приемника изотропной антенны. Модули указаны в dBmi.

Пример: -10

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

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

Описание

dets = sensor(targets,simTime) создает радиолокационные обнаружения, dets, от измерений датчика, выполненных из targets в текущее время симуляции, simTime. Датчик может генерировать обнаружения для нескольких целей одновременно.

dets = sensor(targets,ins,simTime) также задает оцененную INS информацию о положении, ins, для сенсорной платформы. Информация INS используется алгоритмами отслеживания и слияния, чтобы оценить целевые положения в системе координат NED.

Чтобы включить этот синтаксис, установите HasINS свойство к true.

dets = sensor(targets,interference,simTime) также задает сигнал интерференции, interference.

Чтобы включить этот синтаксис, установите HasInterference свойство к true.

[dets,numDets,config] = sensor(___) также возвращает количество зарегистрированных допустимых обнаружений, numDetsи строение датчика, config, во время текущей симуляции. Можно использовать эти выходные аргументы с любым из предыдущих входных синтаксисов.

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

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

Отслеживать целевые положения сценария, заданные как структура или массив структур. Каждая структура соответствует цели. Вы можете сгенерировать эту структуру с помощью targetPoses способ платформы. Можно также создать такую структуру вручную. Таблица показывает необходимые поля структуры:

ОбластьОписание
PlatformID

Уникальный идентификатор для платформы, заданный как положительное целое число. Это обязательное поле без значения по умолчанию.

ClassID

Пользовательское целое число, используемое для классификации типа целевого значения, заданное как неотрицательное целое число. 0 зарезервирован для неклассифицированных типов платформ и является значением по умолчанию.

Position

Положение цели в координатах платформы, заданное как реальный вектор 1 на 3. Это обязательное поле без значения по умолчанию. Модули измерения указаны в метрах.

Velocity

Скорость цели в координатах платформы, заданная как реальный вектор 1 на 3. Модули указаны в метрах в секунду. Значение по умолчанию является [0 0 0].

Acceleration

Ускорение цели в координатах платформы, заданное как вектор-строка 1 на 3. Модули указаны в метрах на секунду. Значение по умолчанию является [0 0 0].

Orientation

Ориентация цели относительно координат платформы, заданная как скалярный кватернион или матрица вращения 3 на 3. Ориентация определяет поворот системы координат платформы к текущей целевой системе координат тела. Модули безразмерны. Значение по умолчанию является quaternion(1,0,0,0).

AngularVelocity

Скорость вращения цели в координатах платформы, заданная как действительный вектор 1 на 3. Величина вектора задает угловую скорость. Направление задает ось поворота по часовой стрелке. Модули указаны в степенях в секунду. Значение по умолчанию является [0 0 0].

Значения Position, Velocity, и Orientation поля заданы относительно системы координат платформы.

Текущее время симуляции, заданное как положительная скалярная величина. The trackingScenario объект вызывает радарный датчик скана с регулярными временными интервалами. Радарный датчик генерирует новые обнаружения с интервалами, заданными UpdateInterval свойство. Значение UpdateInterval свойство должно быть целым числом, кратным временному интервалу симуляции. Обновления, запрошенные у датчика между интервалами обновления, не содержат обнаружений. Модули указаны в секундах.

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

Информация о положении платформы от инерционной навигационной системы (INS) является структурой с этими полями:

ОбластьОпределение
Position

Положение в навигационной системе координат, заданное как реальный вектор 1 на 3. Модули измерения указаны в метрах.

Velocity

Скорость в навигационной системе координат, заданная как реальный вектор 1 на 3. Модули указаны в метрах в секунду.

Orientation

Ориентация относительно навигационной системы координат, заданная как quaternion или матрицу вращения 3 на 3 вещественных значений. Вращение происходит от навигационной системы координат до текущего каркаса кузова INS. Это также упоминается как вращение «родительский элемент к ребенку».

Зависимости

Чтобы включить этот аргумент, установите HasINS свойство к true.

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

Помехи или помехи, заданные как массив radarEmission объекты.

Зависимости

Чтобы включить этот аргумент, установите HasInterference свойство к true.

Типы данных: double
Поддержка комплексного числа: Да

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

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

Обнаружения датчиков, возвращенные как массив ячеек objectDetection объекты. Представление высокого уровня обнаружений объектов смотрите в objectDetection объекты. Каждый объект имеет эти свойства, но содержимое свойств зависит от конкретного датчика. Для monostaticRadarSensor, см. Обнаружения объектов.

СвойствоОпределение
TimeВремя измерения
MeasurementИзмерения объекта
MeasurementNoiseМатрица ковариации шума измерения
SensorIndexУникальный идентификатор датчика
ObjectClassIDКлассификация объектов
ObjectAttributesТрекеру передана дополнительная информация
MeasurementParametersПараметры, используемые функциями инициализации нелинейных фильтров отслеживания Калмана

Для Measurement и MeasurementNoise сообщаются в системе координат, заданной DetectionCoordinates свойство.

Количество зарегистрированных обнаружений, возвращенных в виде неотрицательного целого числа.

  • Когда MaxNumDetectionsSource для свойства задано значение 'Auto', numDets задается как длина dets.

  • Когда MaxNumDetectionsSource для свойства задано значение 'Property', dets - массив ячеек с длиной, определяемой MaxNumDetections свойство. Максимальное количество возвращенных обнаружений MaxNumDetections. Если количество обнаружений меньше MaxNumDetections, первый numDets элементы dets хранить допустимые обнаружения. Остальные элементы dets устанавливаются на значение по умолчанию.

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

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

ОбластьОписание
SensorIndex

Уникальный индекс датчика, возвращенный как положительное целое число.

IsValidTime

Допустимое время обнаружения, возвращаемое как true или false. IsValidTime является false при запросе обновлений обнаружения между интервалами обновления, заданными частотой обновления.

IsScanDone

IsScanDone является true когда датчик завершит скан.

FieldOfView

Поле зрения датчика, возвращаемое как вектор 2 на 1 положительных вещественных значений, [azfov; elfov]. azfov и elfov представление поля зрения в азимуте и повышению, соответственно.

MeasurementParameters

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

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

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

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

release(obj)

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

coverageConfigПокрытие датчика и излучателя строения
perturbationsВозмущение, заданное для объекта
perturbПрименить возмущения к объекту
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Симулируйте радиолокационный сценарий.

sc = trackingScenario('UpdateRate',1);

Создайте диспетчерскую вышку аэропорта с радаром наблюдения, расположенным в 15 метрах над землей. Радар вращается со скоростью 12,5 об/мин, и его поле зрения по азимуту составляет 5 степени, а поле зрения по повышению - 10 степени.

rpm = 12.5;
fov = [5;10]; % [azimuth; elevation]
scanrate = rpm*360/60;
updaterate = scanrate/fov(1) % Hz
updaterate = 15
radar = monostaticRadarSensor(1,'Rotator', ...
    'UpdateRate',updaterate, ...
    'MountingLocation',[0 0 -15], ...
    'MaxMechanicalScanRate',scanrate, ...
    'FieldOfView',fov, ...
    'AzimuthResolution',fov(1));
towermotion = kinematicTrajectory('SampleRate',1,'Position',[0 0 0],'Velocity',[0 0 0]);
tower = platform(sc,'ClassID',1,'Trajectory',towermotion);
aircraft1motion = kinematicTrajectory('SampleRate',1,'Position',[10000 0 1000],'Velocity',[-100 0 0]);
aircraft1 = platform(sc,'ClassID',2,'Trajectory',aircraft1motion);
aircraft2motion = kinematicTrajectory('SampleRate',1,'Position',[5000 5000 200],'Velocity',[100 100 0]);
aircraft2 = platform(sc,'ClassID',2,'Trajectory',aircraft2motion);

Выполните 5 сканы.

detBuffer = {};
scanCount = 0;
while advance(sc)    
    simTime = sc.SimulationTime;
    targets = targetPoses(tower);
    [dets,numDets,config] = radar(targets,simTime);
    detBuffer = [detBuffer;dets];
    if config.IsScanDone
            scanCount = scanCount + 1;
            if scanCount == 5;
                break;
            end
    end
end

Обнаружение графиков

tp = theaterPlot;
clrs = lines(3);
rp = platformPlotter(tp,'DisplayName','Radar','Marker','s',...
    'MarkerFaceColor',clrs(1,:));
pp = platformPlotter(tp,'DisplayName','Truth',...
    'MarkerFaceColor',clrs(2,:));
dp = detectionPlotter(tp,'DisplayName','Detections',...
    'MarkerFaceColor',clrs(3,:));
plotPlatform(rp,[0 0 0])
plotPlatform(pp,[targets(1).Position; targets(2).Position])
if ~isempty(detBuffer)
    detPos = cellfun(@(d)d.Measurement(1:3),detBuffer,...
        'UniformOutput',false);
    detPos = cell2mat(detPos')';
    plotDetection(dp,detPos)
end

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Radar, Truth, Detections.

Подробнее о

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

Вопросы совместимости

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

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

.

См. также

Объекты

Функции

Введенный в R2018b