Радарная архитектура: компоненты системы и выделение требований (часть 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 процентов времени.

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

Как первый шаг, пример показывает, как настроить виртуальный испытательный стенд для радиолокационной системы, которая будет использоваться, чтобы реализовать и протестировать проект. Этот испытательный стенд полезен для трассировки требований к производительности к отдельным компонентам системы, создание итеративных конструктивных изменений, и тестирование и проверка эффективности системы. Пример запускается путем создания общей модели архитектуры верхнего уровня использование 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 μ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 комплексные выборки формы волны.

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

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 Channel блокируются, чтобы обнулить, чтобы указать, что радар расположен в начале координат и что это не перемещается. Соедините целевые входные параметры положения и скорости с целевыми положениями и скоростями через 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;

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

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

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

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