Сканирование радарной настройки режима

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

Механическое вращающее устройство

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 = monostaticRadarSensor(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 = 

  monostaticRadarSensor with properties:

                  SensorIndex: 1
                   UpdateRate: 1
                     ScanMode: 'Mechanical'

             MountingLocation: [0 0 -15]
               MountingAngles: [-135 0 0]

          MaxUnambiguousRange: 100000
    MaxUnambiguousRadialSpeed: 200
                  FieldOfView: [2x1 double]
        MaxMechanicalScanRate: 75
         MechanicalScanLimits: [0 360]
              MechanicalAngle: 0
                    LookAngle: 0

         DetectionProbability: 0.9000
               FalseAlarmRate: 1.0000e-06

  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 и 2D представлениях. Входящая цель обнаруживается радаром, когда его луч развертывается через его положение. Опорное направление радара показывается черным цветом, пунктирным. Текущий луч радара показывается синей, пунктирной линией. Историю луча и положений опорного направления показывают в шкале полутонов с более свежими положениями, показанными как черная и более старыми положениями, исчезающими белому.

360 сканирований азимута степени с наклоненным покрытием повышения

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

Наклоните опорное направление радарной антенны так, чтобы ни один из промежутка повышения луча не находился ниже земли. Для этого включите повышение для радара и установите пределы сканирования механического устройства повышения, чтобы искать с нуля на полное поле зрения повышения. Затем установите поле зрения повышения быть немного больше, чем повышение, заполненное механическими пределами сканирования так, чтобы никакое растровое сканирование не было выполнено радаром (растровое сканирование обращено в следующем разделе).

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

Эта настройка была уже настроена, когда вы создали радар с помощью настройки 'вращающего устройства'. Все, что необходимо сделать, включают повышение.

release(radar);
radar.HasElevation = true;

% Confirm mechanical scan limits
radar.MechanicalScanLimits
ans =

     0   360
   -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.MechanicalScanLimits(2,:))
isLarger = radar.FieldOfView(2)>elSpan
elSpan =

    10


isLarger =

  logical

   1

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

helperScanRadarModesExample('Run simulation',ts,platform,radar,2);

В предыдущих фигурах вы замечаете, что антенна наклоняется вверх так, чтобы никакая радарная энергия не была направлена ниже земли. Целый радарный луч (синие, пунктирные линии) находится над землей.

360 азимутов степени с растром повышения

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

Setup радар, чтобы отсканировать 10 областей степени над землей с помощью луча, который охватывает 5 градусов в области повышения. Это производит 3 растровых панели повышения в 0,-5, и-10 повышений степеней.

release(radar);
elFov = 5; % deg
radar.FieldOfView(2) = elFov;
radar.MechanicalScanLimits(2,:) = [-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 секторов степени является трудоемким. Если цели интереса, как известно, занимают меньшую область, сканирование сектора обычно используется. Путем сканирования по меньшему сектору азимута более высокая частота обновления достигается для каждой цели в секторе, не увеличивая механическую частоту развертки радара.

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

Setup monostaticRadarSensor с этой настройкой путем определения настройки 'Сектора' для радара.

radar = monostaticRadarSensor(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 scan
% limits in elevation to the mechanical scan limits. Set the mechanical
% scan limits to zero to disable mechanical scan in elevation
radar.ElectronicScanLimits(:) = 0;
radar.ElectronicScanLimits(2,:) = radar.MechanicalScanLimits(2,:);
radar.MechanicalScanLimits(2,:) = [0 0];

% Confirm that the elevation field of view is greater than the elevation
% spanned by the scan limits
elSpan = diff(radar.ElectronicScanLimits(2,:))
isLarger = radar.FieldOfView(2)>elSpan
elSpan =

    10


isLarger =

  logical

   1

% Run the simulation
helperScanRadarModesExample('Run simulation',ts,platform,radar,5);

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

Электронное сканирование сектора азимута

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

radar = monostaticRadarSensor(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 = monostaticRadarSensor(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 = monostaticRadarSensor(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 панелей развертки растра повышения радара. В конце каждого сканирования азимута радар продвигается в повышение своим полем зрения и продолжает сканировать в азимуте в том же направлении как предыдущее сканирование. Когда предел сканирования повышения достигнут, радар повторяет ту же последовательность положений развертки растра. С электронным сканированием радар может мгновенно возвратиться к началу шаблона сканирования и не ограничивается текущим механическим положением радара.

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

Сводные данные

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