Этим примером является первая часть серии из двух частей при использовании Simulink®, чтобы спроектировать и протестировать радиолокационную систему, учитывая набор требований. Это запускается путем представления набора требований к производительности, которым должен удовлетворить итоговый проект. Архитектура радиолокационной системы затем разрабатывается с помощью Simulink System Composer™. Пример затем показывает, как соединить радарные требования с архитектурой и соответствующим проектом. Наконец, это показывает, как создать функционирующую модель радиолокационной системы путем обеспечения конкретных реализаций компонентам архитектуры.
Второй пример в ряду обсуждает тестирование модели и верификации требований. Это показывает, как использовать Simulink Test™, чтобы настроить тестовые наборы и запустить симуляции Монте-Карло, чтобы проверить связанные требования. Часть 2 также исследует сценарий, когда установленные требования были пересмотрены. Это показывает, как проследить изменения в требованиях к соответствующим компонентам проекта и сделать модификации к реализации и тестам.
Разработка радарных систем обычно начинается с набора требований. Реальные радиолокационные системы должны удовлетворить десяткам или сотням требований. В этом примере мы рассматриваем радиолокационную систему X-полосы, которая должна удовлетворить следующим двум требованиям к производительности:
R1 : радар должен обнаружить цель случая Swerling 1 с эффективной площадью рассеивания (RCS) 1 м в области значений 6 000 м с вероятностью обнаружения 0,9 и вероятностью ложного предупреждения 1e-6.
R2 : Когда возвраты обнаруживаются от двух целей случая Swerling 1, разделенных в области значений на 70 м с тем же азимутом и вертикальным изменением, радар должен разрешить две цели и сгенерировать две уникальных цели, сообщают 80 процентов времени.
Как первый шаг, пример показывает, как настроить виртуальный испытательный стенд для радиолокационной системы, которая будет использоваться, чтобы реализовать и протестировать проект. Этот испытательный стенд полезен для трассировки требований к производительности к отдельным компонентам системы, создание итеративных конструктивных изменений, и тестирование и проверка эффективности системы. Пример запускается путем создания общей модели архитектуры верхнего уровня использование System Composer. Это затем показывает более подробно архитектуру радарного компонента датчика и часть испытательного стенда, который симулирует среду и радарные цели.
Модель архитектуры задает только концептуальные компоненты системы, их интерфейсов, и соединяется между ними. Компоненты модели архитектуры не требуются, чтобы иметь конкретную реализацию. Как будет показан далее в этом примере, System Composer допускает определение определенного поведения Simulink для некоторых компонентов при оставлении других компонентов заданными только на уровне архитектуры. Модульное проектирование как это удобно и гибко, поскольку поведение отдельных компонентов может быть изменено или полностью изменено без потребности внести любые изменения в другие части системы.
В дополнение к Radar Sensor
компонент, который моделирует фактический радарный датчик, испытательный стенд также, включает:
Power Substation
— Подает питание к радарному датчику.
Control Center
— Передачи управляют командами к радарному датчику через Communications Link
и получает радарные данные назад.
Targets and Environment
— Моделирует радарное распространение формы волны через среду и взаимодействие формы волны с целями. Radar Sensor
соединяется с Target and Environment
через набор портов отметил Tx
, Rx
, и TargetsPos
. Tx
и Rx
ссылки используются, чтобы передать радарную форму волны и от Targets and Environment
. TargetsPos
используется, чтобы передать информацию о целевых положениях к Radar Sensor
для того, чтобы симулировать переданную и принятую форму волны в направлениях целей.
Откройте архитектуру верхнего уровня.
open_system('slexRadarArchitectureExample')
Каждый компонент в модели архитектуры может быть далее разложен на субкомпоненты. Как следующий шаг, задайте архитектуру для радарного датчика. Когда Radar Sensor
анализируется, Power
, Tx
, Rx
, CmdRx
, и DataTx
порты, заданные в верхнем уровне, становятся доступными как внешние порты. Откройте Radar Sensor
компонент.
open_system("slexRadarArchitectureExample/Radar Sensor");
Задайте следующие компоненты, чтобы создать модель архитектуры радарного датчика:
Resource Scheduler
— Ответственный за выделение системных ресурсов в рамках того, чтобы жить. Это получает команды управления от Control Center
через внешний порт CmdRx. Указать на поток управляющих сигналов в радарной архитектуре датчика, Resource Scheduler
также соединяется с каждым компонентом в Radar Sensor
.
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
через среду, отражение от радарных целей и распространение назад к Receiver 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
, и цели ЭПР заданы вектором, 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
комплексные выборки формы волны.
Transmit Array
компонент включает следующие блоки 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')
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
— Моделирует ЭПР и целевые эффекты колебания. Поскольку этот пример рассматривает медленные колеблющиеся цели случая Swerling 1, установите Update
введите ко лжи. Также установите время остановки симуляции на 10/prf
указание, что одна запущенная симуляция составляет один когерентный интервал обработки (CPI).
Установите размерности Tx
введите к [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, начинающем со списка требований к производительности. Это показывает, как создать архитектуру радиолокационной системы с помощью System Composer, который может использоваться в качестве виртуального испытательного стенда для разработки и тестирования радиолокационной системы. Часть 1 также показывает, как соединить требования к производительности с компонентами архитектуры и как реализовать поведение компонентов с помощью Simulink, чтобы получить функционирование и тестируемую модель.
Часть 2 этого примера показывает, как настроить тестовые наборы, чтобы протестировать созданный радарный проект и как проверить, что установленным требованиям к производительности удовлетворяют.