Радарная Архитектура: Часть 1 – Компоненты системы и выделение требований

Этим примером является первая часть серии из двух частей при использовании Simulink, чтобы спроектировать и протестировать радиолокационную систему, учитывая набор требований. Это запускается путем представления набора требований к производительности, которым должен удовлетворить итоговый проект. Архитектура радиолокационной системы затем разрабатывается с помощью Simulink System Composer. Пример затем демонстрирует, как соединить радарные требования с архитектурой и соответствующим проектом. Наконец, функционирующая модель радиолокационной системы создается путем обеспечения конкретных реализаций компонентам архитектуры.

Второй пример в ряду обсуждает тестирование разработанной модели и верификацию требований. Это показывает, как использовать Simulink Test, чтобы настроить тестовые наборы и запустить симуляции Монте-Карло, чтобы проверить связанные требования. Часть 2 также исследует сценарий, когда установленные требования были пересмотрены. Это демонстрирует, как проследить изменения в требованиях к соответствующим компонентам проекта и сделать модификации к реализации и тестам.

Требования к производительности

Разработка радарных систем обычно начинается с набора требований. Реальные радиолокационные системы должны удовлетворить десяткам или сотням требований. В этом примере мы рассматриваем радиолокационную систему X-полосы, которая должна удовлетворить следующим двум требованиям к производительности:

  • R1 : радар должен обнаружить цель случая Swerling 1 с радарным сечением (RCS) 1 м2 в области значений 6 000 м с вероятностью обнаружения 0,9 и вероятностью ложного предупреждения 1e-6;

  • R2 : Когда возвраты обнаруживаются от двух целей случая Swerling 1, разделенных в области значений на 70 м с тем же азимутом и вертикальным изменением, радар должен разрешить две цели и сгенерировать две уникальных цели, сообщают 80 процентов времени.

Виртуальный испытательный стенд

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

Архитектура верхнего уровня

Модель архитектуры задает только концептуальные компоненты системы, их интерфейсов, и соединяется между ними. Компоненты модели архитектуры не требуются, чтобы иметь конкретную реализацию. Как будет показан далее в этом примере, Simulink, System Composer допускает определение определенного поведения Simulink для некоторых компонентов при оставлении других компонентов заданными только на уровне архитектуры. Такой модульный проект удобен и гибок, поскольку поведение отдельных компонентов может быть изменено или полностью изменено без потребности внести любые изменения в другие части системы.

В дополнение к Radar Sensor компонент, который моделирует фактический радарный датчик, испытательный стенд также, включает:

  • Power Substation - Sстепень upplies к радарному датчику;

  • Control Center - Передачи управляют командами к радарному датчику через Communications Link и получает радарные данные назад;

  • Targets and Environment - Моделирует радарное распространение формы волны через среду и взаимодействие формы волны с целями. Radar Датчик соединяется с Target and Environment через набор портов отметил Tx, Rx, и TargetsPos. Tx и Rx ссылки используются, чтобы передать радарную форму волны и от Targets and Environment. TargetsPos используется, чтобы передать информацию о целевых положениях к Radar Sensor для того, чтобы симулировать переданную и полученную форму волны в направлениях целей.

Откройте архитектуру верхнего уровня.

open_system('slexRadarArchitectureExample')

Радарный датчик

Каждый компонент в модели архитектуры может быть далее разложен на субкомпоненты. Как следующий шаг мы задаем архитектуру для радарного датчика. Когда Radar Датчик анализируется, Power, Tx, Rx, CmdRx, и DataTx порты, заданные в верхнем уровне, становятся доступными как внешние порты. Откройте Radar Компонент датчика.

open_system("slexRadarArchitectureExample/Radar Sensor");

Мы задаем следующие компоненты, чтобы создать модель архитектуры радарного датчика:

  • Resource Scheduler ответственно за выделение системных ресурсов в рамках того, чтобы жить. Это получает команды управления от Control Center через внешний порт CmdRx. Указать на поток управляющих сигналов в радарной архитектуре датчика, Resource Scheduler также соединяется с каждым компонентом в Radar.

  • Waveform Generator производит выборки радарной формы волны.

  • Transmit Array передает переданную форму волны Target and Environment через внешний Tx порт.

  • Receiver Array получает назад отраженную форму волны от Target and Environment через внешний Rx порт.

  • Signal Processor выполняет beamforming, согласованную фильтрацию и импульсное интегрирование и передает обнаружения Data Processor.

  • Data Processor создает показания радара, или радар отслеживает и передает их обратно Control Center.

Заметьте, что эта модель архитектуры радарного датчика является очень общей. Это не делает предположений о типе переданной формы волны, формы или размера антенной решетки или реализации сигнала и цепей обработки данных. Та же архитектура может использоваться, чтобы реализовать большое множество различных радарных датчиков. Далее в этом примере мы реализуем только подмножество вышеупомянутых перечисленных компонентов, не учитывающих Resource Scheduler и Data Processor.

Цели и среда

Targets and Environment может быть разложен на два субкомпонента:

  • Targets выходные параметры предназначаются для положений и скоростей.

  • Propagation моделирует распространение плоской волны, испускаемой Transmit Array через среду, отражение от радарных целей и распространение назад к Receive Array.

Открытый Targets and Environment компонент.

open_system("slexRadarArchitectureExample/Targets and Environment");

Трассируемость требований

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

Менеджер по требованиям может быть запущен через вкладку Apps. К Редактору требований затем можно получить доступ путем навигации к вкладке Requirements и выбора Requirements Editor. Чтобы создать новый набор требований для модели, нажмите на New Requirement Set. В данном примере мы создаем набор требований и добавляем R1 и R2 к нему. Откройте эти требования в Редакторе Требований.

open('slreqRadarArchitectureExampleRequirements.slreqx')

Редактор требований перечисляет максимальную область значений и требования разрешения области значений. В левой панели это также показывает Verified и Implemented состояние для каждого требования. В данный момент оба требования не реализованы и не проверены. Для того, чтобы изменить Implemented состояние требования, это должно быть соединено с компонентом архитектуры, которая реализует соответствующую функцию. Мы соединяем оба требования с Waveform Generator и Signal Processor. Заметьте, что менеджер по Требованиям в нижней части также показывает состояние R1 и R2. После соединения требований к компонентам менеджер по Требованиям показывает, что состояние R1 и R2 превратилось в Implemented. Когда требование выбрано в менеджере по Требованиям, компоненты, с которыми оно соединяется, подсвечены с фиолетовой системой координат. Соединенные компоненты также показывают в разделах Ссылок вкладки Details справа.

Другой удобный способ визуализировать ссылки между требованиями и компонентами архитектуры является Матрицей Трассируемости, которая может быть сгенерирована путем нажатия на Traceability Matrix во вкладке Requirements Редактора Требований. Это ясно показывает, какие компоненты ответственны за реализацию каждого требования.

Реализация компонента

Чтобы симулировать радиолокационную систему, мы теперь должны предоставить конкретное поведение компонентам модели архитектуры. System Composer допускает определение поведения Simulink для некоторых компонентов при оставлении поведения других компонентов неопределенным. Это обеспечивает большую гибкость к проектированию и симуляции, поскольку мы можем создать функционирование и тестируемую модель с некоторыми компонентами, смоделированными подробно, в то время как другие компоненты задали только на абстрактном уровне. В этом примере мы только укажем, что конкретное поведение для компонентов радарного датчика должно было реализовать генерацию, передачу, прием и обработку радарного сигнала. Мы также предоставим конкретную реализацию Targets and Environment.

Чтобы задать размерности сигналов в модели, пример принимает, что целевые положения заданы матричным tgtpos с тремя строками, целевые скорости заданы матричным tgtvel с тремя строками, и цели RCS заданы векторным tgtrcs.

Системные параметры

Чтобы предоставить поведение Simulink компонентам радарного датчика, мы сначала должны идентифицировать набор радарных расчетных параметров, которые могли удовлетворить установленным требованиям. Набор параметров для радиолокационной системы, которая удовлетворила бы R1 и R2, может быть быстро найден путем выполнения радарного анализа уравнения области значений в приложении Radar Designer. Приложение вычисляет множество радарных показателей производительности и визуализирует эффективность обнаружения радиолокационной системы в зависимости от области значений. Мы используем Metrics and Requirements таблица, чтобы установить объективные значения максимальной области значений и требований разрешения области значений к требуемым значениям, заданным в R1 и R2. Затем мы настраиваем системные параметры, пока график стоп-сигнала не указывает, что эффективность системы удовлетворяет объективному требованию. Получившийся набор радарных расчетных параметров:

  • радарная частота - 10 ГГц;

  • пиковая мощность - 6 000 Вт;

  • импульсная длительность - 0.4 μs;

  • ширина полосы пропускания импульса - 2,5 МГц;

  • импульсная частота повторения – 20 кГц;

  • количество переданных импульсов – 10;

  • усиление антенны – 26 дБ;

  • шумовая фигура – 0 дБ;

Откройте этот проект в приложении Radar Designer.

radarDesigner('RadarDesigner_RectangularWaveform.mat');

Генератор формы волны

Анализ, выполняемый в приложении Radar Designer, принимает продукт пропускной способности времени, чтобы быть равным 1. Это означает, что переданная форма волны является немодулируемым меандром. Мы можем использовать приложение Pulse Waveform Analyzer, чтобы подтвердить, что выведенные параметры формы волны приведут к желаемой эффективности и удовлетворят R1 и R2.

Начните приложение Pulse Waveform Analyzer с параметров формы волны, заданных в этом примере.

pulseWaveformAnalyzer('PulseWaveformAnalyzer_RectangularWaveform.mat');

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

Реализовывать это поведение в радарной модели, the Waveform Generator компонент должен содержать только один блок Simulink, генерирующий прямоугольную форму волны. Выход Rectangular Waveform блок соединяется с внешним Waveform порт соединяется с Transmit Array компонент. С тех пор в этом примере мы не моделируем сигналы команды, Cmd вход соединяется с терминатором строки.

Мы устанавливаем Output signal format свойство блока к Pulses, что означает что каждый импульсный интервал повторения (PRI) 1/prf секунды, блок произведет вектор-столбец fs/prf комплексные выборки формы волны.

Передайте массив

Компонент Передачи Массивов включает следующие блоки Simulink:

  • Transmitter - передает форму волны, сгенерированную Waveform Generator с заданной пиковой мощностью и усилением передачи.

  • Range Angle Calculator - вычисляет направления к целям, принимающим, что радар помещается в статическую платформу, расположенную в начале координат. Целевые направления используются в качестве Ang введите к Narrowband Tx Array.

  • Narrowband Tx Array - моделирует антенную решетку для передачи узкополосных сигналов. Это выводит копии переданной формы волны, излученной в направлениях целей.

Радарный анализ уравнения области значений идентифицировал, что усиление передачи должно составить 26 дБ. Мы устанавливаем Gain свойство Transmitter блокируйтесь к 20 дБ и используйте антенную решетку, чтобы получить дополнительное усиление 6 дБ. Антенна фазированной решетки с желаемыми свойствами может быть создана с использованием приложение Sensor Array Analyzer. В этом примере мы используем универсальную линейную матрицу с 4 элементами, которая имеет усиление массивов приблизительно 6 дБ.

Откройте модель массивов в приложении Sensor Array Analyzer.

sensorArrayAnalyzer('SensorArrayAnalyzer_ULA.mat');

Simulink System Composer требует явной спецификации размерностей, шага расчета и сложности входных сигналов. Мы устанавливаем размерности Waveform введите к [fs/prf 1], шаг расчета к 1/prf, и сложность к 'complex'. Размерности TargetsPos вход установлен в size(tgtpos), оставление настройки по умолчанию для соответствующего шага расчета и сложности.

Получите массив

  • Narrowband Rx Array - моделирует получить антенную решетку. Это сконфигурировано с помощью тех же свойств в качестве соответствующего блока в Transmit Array компонент. В каждом элементе массива блок комбинирует сигналы, полученные от каждой цели, добавляющей, что соответствующая фаза переключает, учитывая целевые направления, вычисленные Range Angle Calculator. Выходом блока Narrowband Rx Array является [fs/prf num_array_elements] матрица.

  • Receiver Preamp - добавляет усиление 20 дБ к полученному сигналу.

Rx вход является матрицей полученных выборок формы волны со столбцами, соответствующими size(tgtpos,2) цели. Размерности Rx должен быть установлен в [фс/PRF size(tgtpos,2)], шаг расчета к 1/prf, и сложность к 'complex'.

Сигнальный процессор

Signal Processor реализует простую цепь обработки сигналов, которая состоит из:

  • Phase Shift Beamformer - комбинирует полученные сигналы в каждом элементе массива. В этом примере beamforming направление установлено в разворот.

  • Matched Filter - выполняет согласованную фильтрацию, чтобы улучшить ОСШ. Коэффициенты согласованного фильтра собираются совпадать с переданной формой волны.

  • Time Varying Gain - компенсирует потерю распространения свободного пространства.

  • Noncoherent Integrator - интегрирует величины 10 полученных импульсов, чтобы далее улучшить ОСШ.

Размерности Signal введите должен быть сконфигурирован к [fs/prf num_array_elements], шаг расчета к 1/prf, и сложность должна быть установлена в 'complex'

Цели и среда

Targets компонент реализован с помощью одного Platform блок.

Propagation компонент состоит из:

  • Free Space Channel - моделирует двухсторонний путь к распространению радарной формы волны. Входные параметры положения и скорости источника Free Space Channel блок обнуляются, чтобы указать, что радар расположен в начале координат и что это не перемещается. Целевые входные параметры положения и скорости соединяются с целевыми положениями и скоростями через TargetsPos и TargetVel порты.

  • Radar Target - моделирует RCS и целевые эффекты колебания. С тех пор в этом примере мы рассматриваем медленные колеблющиеся цели случая Swerling 1, Update вход установлен в ложь. Мы также устанавливаем время остановки симуляции на 10/prf указание, что одна запущенная симуляция составляет один когерентный интервал обработки (CPI).

Размерности Tx введите должен быть установлен to [fs/prf size(tgtpos,2)], шаг расчета к 1/prf, и сложность к 'complex'.

Выходные данные моделирования

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

% Target positions 
tgtpos = [[2024.66;0;0],[3518.63;0;0],[3845.04;0;0]];
 
% Target velocities
tgtvel = [[0;0;0],[0;0;0],[0;0;0]];
 
% Target RCS
tgtrcs = [1.0 1.0 1.0];

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

% Set the model parameters
helperslexRadarArchitectureParameters;

% Run the simulation
simOut = sim('slexRadarArchitectureExample');

data = simOut.logsout{1}.Values.Data;

% Plot results
figure;
plot(range_gates, data(numel(range_gates)+1:end));
xlabel('Range (m)');
ylabel('Power (W)');
title('Signal Processor Output');

grid on;

Figure contains an axes. The axes with title Signal Processor Output contains an object of type line.

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

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

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

Для просмотра документации необходимо авторизоваться на сайте