В этом примере показано, как моделировать различные режимы радиолокационного обзора с помощью 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 с позициями платформы, радиолокационным лучом и местоположением визирования, а также обнаружениями, генерируемыми на каждом этапе моделирования.
% 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. Входящая цель обнаруживается РЛС при прометании ее луча по ее положению. Визир радара показан чёрной пунктирной линией. Текущий луч радара показан синей пунктирной линией. Предыстория положения луча и визирования показана в серой шкале, при этом более поздние позиции показаны как черные, а старые позиции замирают до белых.
Сканирование по азимуту на 360 градусов с наклоном по высоте
В предыдущем разделе вид антенны радара (черный, пунктирная линия) был ограничен, чтобы лежать в горизонтальной плоскости, в результате чего половина луча радара была направлена ниже горизонтальной плоскости. При моделировании наземной РЛС может потребоваться наклонить РЛС вверх так, чтобы РЛС обследовала только область над землей. И наоборот, для бортовой платформы, вы можете хотеть направить луч радара вниз, чтобы исследовать цели на высотах ниже платформы радара.
Наклоните НК радиолокационной антенны так, чтобы ни один из высотных пролетов луча не лежал ниже земли. Для этого включить отметку для РЛС и установить пределы механического обзора высоты для поиска от земли до полного поля зрения высоты. Тогда установите поле зрения возвышения быть немного больше, чем возвышение, заполненное механическими пределами просмотра так, чтобы никакой растровый просмотр не был выполнен радаром (растровый просмотр обращен в следующем разделе).
Как упоминалось выше, РЛС планирует пучки, которые разнесены по азимуту и высотному полю для охвата всех пределов механического обзора. Устанавливая поле зрения возвышения немного большим, чем пределы механического сканирования возвышения, радар размещает лучи в середине пределов механического сканирования.
Эта конфигурация уже была настроена при создании радара с помощью конфигурации «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-loop в предыдущем разделе.
helperScanRadarModesExample('Run simulation',ts,platform,radar,2);


На предыдущих рисунках видно, что антенна наклонена вверх, так что энергия радара не направлена под землю. Весь луч радара (синие, пунктирные линии) лежит над землей.
Азимут 360 градусов с растром отметок
Иногда радар должен осуществлять 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 градусов по обе стороны установленной ориентации радара. Отключите отметку, чтобы ограничить луч радара горизонтальной плоскостью.
Настройка a 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 градусов с наклоном».
Механическое сканирование сектора азимута с электронным сканированием уровня
Некоторые РЛС сканируют механически по азимуту и в электронном виде складывают множество лучей по высоте в створе визирования антенны. Это позволяет избежать необходимости выполнения растрового сканирования для медленного поиска интересующей области. Электронное управление и обработка множества лучей в одном положении остановки требует более сложных аппаратных средств антенны и алгоритмов обработки сигналов, но обеспечивает более высокие скорости обновления для каждой цели в секторе.
Сконфигурируйте РЛС для механического сканирования ее луча по азимуту при обработке 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);




На предыдущих рисунках показан радар, обнаруживающий входящую цель. Обратите внимание, что РЛС (черный, пунктирный) находится в горизонтальной плоскости Земли, но луч РЛС смещен по высоте от своего РПУ. Это смещение положения луча от РЛС осуществляется посредством электронного управления лучами на высоте.
Сканирование сектора электронного азимута
Сектор азимута также может быть обследован с использованием электронного сканирования. Электронное сканирование одного и того же сектора азимута путем создания 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 полос растрового сканирования РЛС. В конце каждого азимутального обзора РЛС шагает по высоте по полю обзора и изменяет направление своего азимутального обзора на обратное. Когда достигнут предел сканирования высоты, радар начинает новое растровое сканирование, обращая направление, в котором он продвигает лучи по высоте.
Вы можете использовать эту конфигурацию в качестве отправной точки и настроить пределы и поле зрения механического обзора в соответствии с шаблоном сканирования для радара, который вы хотите моделировать.
Электронное растровое сканирование
Можно также настроить радар для выполнения электронного растрового сканирования. Электронные растровые развертки немедленно повторяют одну и ту же последовательность развертки после каждой развертки, но механический растр изменяет свою последовательность развертки, возвращая механическое положение антенны обратно в начало координат.
Сконфигурируйте радиолокатор для выполнения электронного растрового сканирования, установив для него режим сканирования «Электронный».
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. Эта модель предоставляет наборы параметров, которые позволяют быстро настроить радар и внести дополнительные незначительные изменения в параметры обзора в соответствии с моделируемым радаром.