Этим примером является первая часть серии из двух частей при использовании Simulink, чтобы спроектировать и протестировать радиолокационную систему, учитывая набор требований. Это запускается путем представления набора требований к производительности, которым должен удовлетворить итоговый проект. Архитектура радиолокационной системы затем разрабатывается с помощью Simulink System Composer. Пример затем демонстрирует, как соединить радарные требования с архитектурой и соответствующим проектом. Наконец, функционирующая модель радиолокационной системы создается путем обеспечения конкретных реализаций компонентам архитектуры.
Второй пример в ряду обсуждает тестирование разработанной модели и верификацию требований. Это показывает, как использовать Simulink Test, чтобы настроить тестовые наборы и запустить симуляции Монте-Карло, чтобы проверить связанные требования. Часть 2 также исследует сценарий, когда установленные требования были пересмотрены. Это демонстрирует, как проследить изменения в требованиях к соответствующим компонентам проекта и сделать модификации к реализации и тестам.
Разработка радарных систем обычно начинается с набора требований. Реальные радиолокационные системы должны удовлетворить десяткам или сотням требований. В этом примере мы рассматриваем радиолокационную систему X-полосы, которая должна удовлетворить следующим двум требованиям к производительности:
R1 : радар должен обнаружить цель случая Swerling 1 с радарным сечением (RCS) 1 м в области значений 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 ;
ширина полосы пропускания импульса - 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 Channe
l блок обнуляются, чтобы указать, что радар расположен в начале координат и что это не перемещается. Целевые входные параметры положения и скорости соединяются с целевыми положениями и скоростями через 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;
Этим примером является первая часть серии из двух частей о том, как спроектировать и проверить радиолокационную систему в Simulink, начинающем со списка требований к производительности. Это показывает, как создать архитектуру радиолокационной системы с помощью Simulink System Composer, который может использоваться в качестве виртуального испытательного стенда для разработки и тестирования радиолокационной системы. Часть 1 также демонстрирует, как соединить требования к производительности с компонентами архитектуры и как реализовать поведение компонентов с помощью Simulink, чтобы получить функционирование и тестируемую модель.
В части 2 этого примера мы показываем, как настроить тестовые наборы, чтобы протестировать созданный радарный проект и как проверить, что установленным требованиям к производительности удовлетворяют.