В этом примере показано, как смоделировать различные режимы радиолокационного обзора с помощью fusionRadarSensor
. В этом примере показано, как сконфигурировать fusionRadarSensor
для нескольких обычно используемых режимов радиолокационного обзора. С помощью этой модели можно моделировать радары, которые механически сканируют, электронно сканируют и которые используют как механическое, так и электронное сканирование. Пределы скана в азимуте и повышении конфигурируются как для механического, так и для электронного режимов скана.
360 Степени Азимут Скана
360 степень азимут скана является режимом, обычно встречающимся как на наземном, так и на воздушном радарах. Этот режим обеспечивает наблюдение степени 360 путем механического сканирования антенны радара по азимуту. В этом режиме радары обычно используют пучок вентиляторов, который имеет узкое поле зрения в азимуте, но охватывает широкий диапазон повышений. Эти радары обеспечивают точные измерения области значений и азимута, но обычно не сообщают о повышении для обнаруженных целей. Общим примером радара азимутального скана на 360 степени является радар наблюдения аэропорта.
Используйте функцию helperScanRadarModesExample
для создания trackingScenario
с платформой для установки радара и трех целей. Эта функция также настраивает theaterPlot
для отображения местоположения целей, положения луча и борсайта для радара и обнаружений, генерируемых радаром.
Вы можете узнать больше об использовании trackingScenario
и theaterPlot
из примера «Введение в сценарий отслеживания» и «Симуляция обнаружений датчиков».
% Initialize trackingScenario for simulation and theaterPlot for % visualization ts = trackingScenario; [platform,fig] = helperScanRadarModesExample('Setup tracking scenario',ts); % Set random seed for repeatable results rng(2018)
Создайте радар, который механически повернет его антенну на 360 степени по азимуту. Смонтировать его на 15 метров над платформой с рысканием -135 степеней от осей платформы. Увеличьте поле зрения азимута для лучшей видимости на отображаемых рисунках.
% Create a 360 degree mechanically rotating radar radar = fusionRadarSensor(1,'rotator'); % Locate the radar 15 meters above the platform radar.MountingLocation = [0 0 -15]; % Rotate the radar so that it is yawed -135 degrees from the platform's axes radar.MountingAngles(1) = -135; % Set the radar's azimuth field of view to 5 degrees to display larger beams radar.FieldOfView(1) = 5; % Display configured radar radar
radar = fusionRadarSensor with properties: SensorIndex: 1 UpdateRate: 1 DetectionMode: 'Monostatic' ScanMode: 'Mechanical' InterferenceInputPort: 0 EmissionsInputPort: 0 MountingLocation: [0 0 -15] MountingAngles: [-135 0 0] FieldOfView: [5 10.0000] RangeLimits: [0 100000] DetectionProbability: 0.9000 FalseAlarmRate: 1.0000e-06 ReferenceRange: 100000 TargetReportFormat: 'Clustered detections' Use get to show all properties
Сконфигурируйте радар для механического сканирования со скоростью 2 об/мин. В этом режиме радар планирует лучи в каждой скважине, которые разнесены азимутальным полем зрения радара. Частота обновления радара затем вычисляется из желаемой скорости скана и его азимутального поля зрения.
rpm = 2; fov = radar.FieldOfView; scanrate = rpm*360/60; % deg/s updaterate = scanrate/fov(1) % Hz radar.UpdateRate = updaterate;
updaterate = 2.4000
Использование trackingScenario
чтобы симулировать движение целей в сценарии и сгенерировать обнаружения с помощью механически вращающейся радиолокационной модели. helperScanRadarModesExample
используется для обновления theaterPlot
с положениями платформы, радиолокационным лучом и местоположением boresight и обнаружениями, сгенерированными на каждом шаге симуляции.
% Configure trackingScenario to advance at the radar's update rate. ts.UpdateRate = radar.UpdateRate; % Run simulation figure(fig); title('360 Degree Azimuth Scan'); while advance(ts) && ishghandle(fig) % Current simulation time simTime = ts.SimulationTime; % Current target positions targets = targetPoses(platform); % Generate target detections at current scan position dets = radar(targets,simTime); % Update display helperScanRadarModesExample('Update display',ts,platform,radar,dets); % Take a snapshot of detection on inbound target takeSnapshot = simTime> 5 && any(cellfun(@(d)d.ObjectAttributes{1}.TargetIndex,dets)==2); snapped = helperScanRadarModesExample('Snapshot',fig,takeSnapshot); if snapped close(fig); end end
Предыдущие рисунки показывают обнаружение входящей цели в 3-D и 2-D представлениях. Входящая цель обнаруживается радаром, когда его луч охватывает его положение. Boresight радара показан как чёрная, пунктирная линия. Текущий луч радара показан в виде синей штриховой линии. История позиций пучка и боресайта показана в серой шкале, с более поздними позициями, показанными как черные и более старые положения, замирающие до белых.
360 Степени Azimuth Скана с наклонным Повышением покрытием
В предыдущем разделе boresight антенны радара (чёрная, пунктирная линия) была ограничена, чтобы лежать в горизонтальной плоскости, в результате чего половина луча радара была направлена ниже горизонтальной плоскости. Если вы моделируете наземный радар, вы можете захотеть наклонить борсайт радара вверх, чтобы радар обследовал только область над землей. И наоборот, для воздушной платформы, вы можете захотеть направить луч радара вниз, чтобы исследовать цели на высотах ниже платформы радара.
Наклоните радиолокационную антенну так, чтобы ни один из диапазонов повышения луча не лежал ниже земли. Для этого включите повышение для радара и установите пределы механического скана повышения для поиска с земли до полного поля зрения повышения. Затем установите повышение поле зрения немного больше, чем повышение, охватываемое пределами механического скана, так, чтобы радар не выполнял растровое сканирование (в следующем разделе рассматривается растровое сканирование).
Как упоминалось выше, радиолокатор планирует лучи, которые разнесены азимутом и повышением полем зрения, чтобы охватить все пределы механического скана. Установив повышение поле зрения немного большим, чем пределы механического повышения скана, радар помещает лучи в середину пределов механического скана.
Это строение уже была настраиваемо, когда вы создали радар с помощью строения 'rotator'. Все, что вам нужно сделать, это включить повышение.
release(radar);
radar.HasElevation = true;
% Confirm mechanical scan limits
radar.MechanicalAzimuthLimits
radar.MechanicalElevationLimits
ans = 0 360 ans = -10 0
% Confirm elevation field of view is slightly larger than the elevation % spanned by the scan limits so that raster scan is not performed elSpan = diff(radar.MechanicalElevationLimits) isLarger = radar.FieldOfView(2)>elSpan
elSpan = 10 isLarger = logical 1
Используйте helperScanRadarModesExample
функция, чтобы запустить симуляцию, как это было сделано при помощи while-цикла в предыдущем разделе.
helperScanRadarModesExample('Run simulation',ts,platform,radar,2);
На предыдущих рисунках вы замечаете, что антенна наклонена вверх, так что никакая радиолокационная энергия не направлена ниже земли. Весь радиолокационный луч (синий, штриховые линии) лежит над землей.
360 Степени Azimuth с Повышением Raster
Иногда радар должен выполнять 360 степени наблюдение, которое охватывает область, большую, чем можно охватить его повышение полем зрения. В этом случае радар механически вращается по азимуту и механически повышению свою антенну в конце каждого 360 степеней скана. Это форма растрового сканирования, где каждый растровый брус разнесен повышению полем зрения радара через пределы повышения скана радара.
Установите радар, чтобы сканировать область на 10 степени над землей с помощью луча, который охватывает 5 степени по повышению. Это приводит к 3 повышениям растровым брускам на 0, -5 и -10 степени повышения.
release(radar); elFov = 5; % deg radar.FieldOfView(2) = elFov; radar.MechanicalElevationLimits = [-10 0]-elFov/2; % Increase the scan rate of the radar to show 2 complete cycles of the % raster scan pattern. rpm = 5; fov = radar.FieldOfView; scanrate = rpm*360/60; % deg/s updaterate = scanrate/fov(1); % Hz radar.UpdateRate = updaterate; % Run the simulation helperScanRadarModesExample('Run simulation',ts,platform,radar,3);
Два предыдущих рисунка показывают положения луча радара. На рисунке слева показаны положения балки, когда балка идет вниз от первого до второго растрового бруса (замечайте шаг изменения повышения в середине рисунка). Рисунок справа показывает положения луча после завершения предыдущего скана. В этом случае радар поднимается с третьего растрового бруса на второй растровый брус. Расстояние между каждым растровым бруском является полем зрения радара по повышению.
Механический азимут Скана
Сканирование полного сектора на 360 степени занимает много времени. Если известно, что интересующие цели занимают меньшую область, обычно используется скан. Путем сканирования по меньшему азимутальному сектору достигается более высокая частота обновления для каждой цели в секторе, не увеличивая механическую скорость скана радара.
Установите радар для сканирования сектора азимута 90 степеней путем установки пределов механического скана на 45 степени с каждой стороны установленной ориентации радара. Отключите повышение, чтобы ограничить луч радара горизонтальной плоскостью.
Setup fusionRadarSensor
с этим строением путем определения строения 'Sector' для радара.
radar = fusionRadarSensor(1,'Sector','MountingAngles',[-135 0 0],'MountingLocation',[0 0 -15]); % Set the radar's azimuth field of view to 5 degrees to display larger beams radar.FieldOfView(1) = 5; % Set the update rate to show multiple cycles of the sector scan rpm = 2; fov = radar.FieldOfView; scanrate = rpm*360/60; % deg/s updaterate = scanrate/fov(1); % Hz radar.UpdateRate = updaterate; % Run the simulation helperScanRadarModesExample('Run simulation',ts,platform,radar,4);
Верхняя строка рисунков показывает первый скан сектора азимута с лучом, идущим по сектору с левой на правую сторону рисунка. Нижняя строка показывает следующий скан сектора азимута, где направление механического скана изменилось назад, пройдя рисунок справа налево.
Снова половина луча радара лежит ниже горизонтальной плоскости Земли. Можно механически наклонить балку вверх или вниз, используя тот же метод, что и в предыдущем разделе 360 Степени Azimuth Скана с наклонным Повышением покрытием.
Механический сектор азимута Скана с электронными Повышениями Скана
Некоторые радары сканируют механически по азимуту и электронно укладывают несколько пучков в повышение у борсайта антенны. Это позволяет избежать необходимости выполнения растрового скана для медленного поиска необходимой области. Электронное управление и обработка нескольких лучей в одном положении остановки требуют более сложного оборудования антенны и алгоритмов обработки сигналов, но обеспечивают более высокие частоты обновления для каждой цели в секторе.
Сконфигурируйте радар, чтобы механически сканировать его луч по азимуту при обработке 10 степеней повышения поля зрения путем электронного сложения нескольких повышений пучков в каждом положении остановки.
release(radar); % Enable mechanical and electronic scanning radar.ScanMode = 'Mechanical and electronic'; % Enable elevation scanning and measurements radar.HasElevation = true; % Elevation scanning is performed electronically. Set the electronic % azimuth scan limits to zero to disable electronic azimuth scan. Set the % mechanical elevation scan limits to zero to disable mechanical elevation % scan radar.ElectronicAzimuthLimits = [0 0]; radar.MechanicalElevationLimits = [0 0]; % Confirm that the elevation field of view is greater than the elevation % spanned by the scan limits elSpan = diff(radar.ElectronicElevationLimits) isLarger = radar.FieldOfView(2)>elSpan
elSpan = 10 isLarger = logical 1
% Run the simulation helperScanRadarModesExample('Run simulation',ts,platform,radar,5);
Предыдущие рисунки показывают радар, обнаруживающий входящую цель. Заметьте, что boresight радара (черная, пунктирная линия) лежит в горизонтальной плоскости земли, но что луч радара смещен по повышению от его boresight. Это смещение положения луча от координат радиолокатора осуществляется электронными лучами управления на повышении.
Электронный сектор азимута Скана
Сектор азимута может быть обследован также с помощью электронного сканирования. Электронное сканирование того же сектора азимута путем создания fusionRadarSensor
использование строения скана 'Sector' с установленным в нем режимом скана 'Electronic' вместо 'Mechanical'. Включите повышение так, чтобы область над землей сканировалась пучками сложения в повышение, чтобы охватить все пределы скана повышения.
radar = fusionRadarSensor(1,'Sector','ScanMode','Electronic','HasElevation',true, ... 'MountingAngles',[-135 0 0],'MountingLocation',[0 0 -15]); % Set update rate to show multiple cycles of the raster scan pattern radar.UpdateRate = updaterate; % Set the radar's azimuth field of view to 5 degrees to display larger beams radar.FieldOfView(1) = 5; % Run the simulation helperScanRadarModesExample('Run simulation',ts,platform,radar,6);
Предыдущие рисунки показывают, что электронные секторные сканы всегда сканируются в том же направлении (в этом случае с левой стороны рисунка на правую сторону рисунка). В отличие от механического сканирования, где следующее положение луча ограничено текущим механическим положением антенны, электронное сканирование может мгновенно перемещать лучи в сканированном секторе.
Механический растровый скан
Радар может быть легко сконфигурирован, чтобы выполнить механический шаблон растрового скана следующим образом.
radar = fusionRadarSensor(1,'Raster','MountingAngles', [-135 0 0], 'MountingLocation', [0 0 -15]); % Set update rate to show multiple cycles of the raster scan pattern radar.UpdateRate = updaterate; % Set the radar's azimuth field of view to 5 degrees to display larger beams radar.FieldOfView(1) = 5; % Run the simulation helperScanRadarModesExample('Run simulation',ts,platform,radar,7);
Предыдущие рисунки показывают положение луча радара вдоль каждого из 3 повышений растровых сканов радара. В конце каждого азимутального скана радар шагает в повышении своим полем зрения и меняет направление своего азимутального скана на противоположное. Когда достигается предел скана по повышению, радар начинает новый растровый скан путем изменения направления, в котором он шагает лучи по повышению.
Можно использовать это строение в качестве начальной точки и настроить пределы механического скана и поле зрения, чтобы соответствовать скану шаблону для радара, который вы хотите смоделировать.
Электронный растровый скан
Можно также сконфигурировать радар, чтобы выполнить электронный растровый скан шаблон. Электронные растровые сканы сразу же повторяют одну и ту же последовательность скана после каждого скана, но механический растр меняет свой скан последовательность, чтобы вернуть механическое положение антенны обратно в источник.
Сконфигурируйте радар для выполнения электронного растрового скана путем установки его режима скана на 'Electronic'.
radar = fusionRadarSensor(1,'Raster','ScanMode','Electronic','MountingAngles',[-135 0 0],'MountingLocation',[0 0 -15]); % Set update rate to show multiple cycles of the raster scan pattern radar.UpdateRate = updaterate; % Set the radar's azimuth field of view to 5 degrees to display larger beams radar.FieldOfView(1) = 5; % Run the simulation helperScanRadarModesExample('Run simulation',ts,platform,radar,8);
Предыдущие рисунки показывают положение луча радара вдоль каждого из 3 повышений растровых сканов радара. В конце каждого азимутального скана радар шагает в повышении своим полем зрения и продолжает сканирование в азимутальном направлении в том же направлении, что и предыдущий скан. Когда достигается предел скана по повышению, радар повторяет ту же последовательность положений скана. При электронном сканировании радар может мгновенно вернуться к началу шаблона скана и не ограничивается текущим механическим положением радара.
Вы можете использовать это строение как начальная точка и настроить пределы электронного скана и поле зрения, чтобы соответствовать скану шаблону для радара, который вы хотите смоделировать.
В этом примере показано, как смоделировать многие общие шаблоны скана с помощью fusionRadarSensor
. Эта модель предоставляет предустановки, которые позволяют вам быстро сконфигурировать радар и внести дополнительные незначительные корректировки в параметры скана, чтобы соответствовать моделируемому радару.