exponenta event banner

radarEmitter

Генератор радиолокационных сигналов и помех

Описание

radarEmitter Система object™ создает излучатель для имитации радиолокационных выбросов. Вы можете использовать radarEmitter объект в сценарии, который обнаруживает и отслеживает движущиеся и неподвижные платформы. Создание сценария с использованием radarScenario.

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

Для формирования радиолокационных обнаружений:

  1. Создать radarEmitter и задайте его свойства.

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

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

Создание

Описание

пример

emitter = radarEmitter(EmitterIndex) создает объект радиолокационного излучателя со значениями свойств по умолчанию.

emitter = radarEmitter(EmitterIndex,'No scanning') является удобным синтаксисом, который создает radarEmitter который смотрит вдоль направления визирования антенны РЛС. Механическое или электронное сканирование не выполняется. Этот синтаксис задает ScanMode свойство для 'No scanning'.

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

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

пример

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

emitter = radarEmitter(___,Name,Value) устанавливает свойства, используя одну или несколько пар имя-значение после всех других входных аргументов. Заключите каждое имя свойства в кавычки. Например, radarEmitter('CenterFrequency',2e6) создает радиолокационный излучатель создает детекции в декартовой системе координат излучателя и имеет максимальную дальность обнаружения 200 метров. При указании индекса эмиттера с помощью EmitterIndex свойство, вы можете опустить EmitterIndex вход.

Свойства

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

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

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

Пример: 2

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

Скорость обновления эмиттера, заданная как положительный скаляр. Эмиттер генерирует новые выбросы с интервалами, определенными взаимностью UpdateRate собственность. Этот интервал должен быть целым кратным интервалу времени моделирования, определенному в radarScenario. Любое обновление, запрошенное у эмиттера между интервалами обновления, не содержит выбросов. Единицы измерения в герцах.

Пример: 5

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

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

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

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

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

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

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

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

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

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

Режим обзора РЛС, указанный как 'Mechanical', 'Electronic', 'Mechanical and electronic', или 'No scanning'.

Режимы сканирования

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

Пример: 'No scanning'

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

Максимальная механическая скорость сканирования, заданная как неотрицательный скалярный или действительный вектор 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;El]. 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 собственность. Когда HasElevation является true, угол взгляда принимает вид [Az;El]. Az и El представляют азимут и угол взгляда на отметку соответственно. Когда HasElevation является false, угол взгляда является скаляром, представляющим азимутальный угол взгляда.

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

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

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

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

Эффективная изотропная излучаемая мощность передатчика, заданная как скаляр. EIRP - это корневой среднеквадратичный вход мощности для изотропной антенны без потерь, который дает ту же плотность мощности в дальнем поле, что и фактический передатчик. EIRP равен мощности, входящей в антенну передатчика (в дБВт) плюс коэффициент усиления изотропной антенны передатчика. Единицы измерения находятся в dBi.

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

Центральная частота диапазона РЛС, заданная как положительный скаляр. Единицы измерения в герцах.

Пример: 100e6

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

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

Пример: 100e3

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

Типы обнаруженных сигналов, заданные как неотрицательный целочисленный L-элементный вектор.

Пример: [1 4 5]

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

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

Пример: 20

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

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

Описание

пример

radarsigs = emitter(platform,simTime) создает радиолокационные сигналы, radarsigs, от излучателя на platform в текущее время моделирования, simTime. Объект-излучатель может одновременно генерировать сигналы от множества излучателей на платформе.

[radarsigs,config] = emitter(platform,simTime) также возвращает конфигурации излучателей, config, в текущее время моделирования.

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

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

Эмиттерная платформа, указанная как объект платформы, Platformили структура платформы:

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

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

ClassID

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

Position

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

Velocity

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

Speed

Скорость платформы в кадре сценария, заданная как реальный скаляр. При задании скорости скорость платформы выравнивается с ее ориентацией. Укажите скорость платформы или скорость, но не обе. Единицы измерения в метрах в секунду По умолчанию: 0.

Acceleration

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

Orientation

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

AngularVelocity

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

Signatures

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

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

Пример: 10.5

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

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

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

Радиолокационные выбросы, возвращаемые в виде массива radarEmission объекты.

Текущие конфигурации эмиттеров, возвращаемые в виде массива структур.

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

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

IsValidTime

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

IsScanDone

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

FieldOfView

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

MeasurementParameters

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

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

Создайте платформу для установки постановщика помех.

plat = struct( ...
    'PlatformID', 1, ...
    'Position', [0 0 0]);

Создайте излучатель, который смотрит с передней стороны маскирующей платформы.

jammer = radarEmitter(1,'No scanning');

Испускайте сигнал помех.

time = 0;
sig = jammer(plat, time)
sig = 
  radarEmission with properties:

              PlatformID: 1
            EmitterIndex: 1
          OriginPosition: [0 0 0]
          OriginVelocity: [0 0 0]
             Orientation: [1x1 quaternion]
             FieldOfView: [1 5]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 0
                    EIRP: 100
                     RCS: 0

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

Смоделировать один полный поворот башни.

rpm = 12.5;
scanrate = rpm*360/60;
fov = [1.4;5];
updaterate = scanrate/fov(1);

Создать radarScenario объект для управления движением платформ.

scene = radarScenario('UpdateRate', updaterate, ...
    'StopTime', 60/rpm);

Добавьте в сценарий платформу для размещения башни управления воздушным движением.

tower = platform(scene);

Создайте излучатель, обеспечивающий 360-градусное наблюдение.

radarTx = radarEmitter(1,'Rotator', ...
    'UpdateRate',updaterate, ...
    'MountingLocation',[0 0 -15], ...
    'MaxMechanicalScanRate',scanrate, ...
    'FieldOfView',fov);

Прикрепите эмиттер к башне.

tower.Emitters = radarTx
tower = 
  Platform with properties:

       PlatformID: 1
          ClassID: 0
         Position: [0 0 0]
      Orientation: [0 0 0]
       Dimensions: [1x1 struct]
       Trajectory: [1x1 kinematicTrajectory]
    PoseEstimator: [1x1 insSensor]
         Emitters: {[1x1 radarEmitter]}
          Sensors: {}
       Signatures: {[1x1 rcsSignature]}

Вращайте антенну и излучайте сигнал радара.

loggedData = struct('Time', zeros(0,1), ...
    'Orientation', quaternion.zeros(0, 1));
while advance(scene)
    time = scene.SimulationTime;
    txSig = emit(tower, time); 
    loggedData.Time = [loggedData.Time; time];
    loggedData.Orientation = [loggedData.Orientation; ...
        txSig{1}.Orientation];
end

Постройте график направления азимута излучателя.

angles = eulerd(loggedData.Orientation, 'zyx', 'frame');
plot(loggedData.Time, angles(:,1))
title('Emitted Azimuth')
xlabel('Time (s)')
ylabel('Azimuth (deg)')

Figure contains an axes. The axes with title Emitted Azimuth contains an object of type line.

Подробнее

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

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

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