exponenta event banner

radarTransceiver

Моностатический радиолокационный приемопередатчик

Описание

radarTransceiver Система object™ создает на РЛС моностатический радиолокационный объект, формирующий образцы принятого эхо-сигнала цели.

Для формирования выборок принятого целевого эхо-сигнала:

  1. Создать radarTransceiver и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

radarTrans = radarTransceiver создает моностатический радиолокационный объект. Этот объект формирует образцы принятого эхо-сигнала цели на РЛС.

пример

radarTrans = radarTransceiver(Name,Value) создает моностатический радиолокационный приемопередающий объект с заданным значением каждого свойства. Заключите каждое имя свойства в отдельные кавычки.

Свойства

развернуть все

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Форма сигнала РЛС, используемая в радиолокационной системе, определяется как один из следующих объектов:

Передатчик радиолокационной системы, указанный как phased.Transmitter объект.

Радиолокационная передающая антенна, указанная как phased.Radiator объект или phased.WidebandRadiator объект.

Радиолокационная приемная антенна, указанная как phased.Collector объект или phased.WidebandCollector.

Радиолокационный приемник, указанный как phased.ReceiverPreamp объект.

Режим механического обзора РЛС, определяемый одним из следующих параметров:

  • 'Circular' - Радар сканирует против часовой стрелки в плоскости азимута. Плоскость азимута определяется в плоскости xy.

  • 'Sector' - Радар сканирует назад и вперед в секторе в плоскости азимута, сначала в направлении против часовой стрелки, затем в направлении по часовой стрелке и так далее.

  • 'None'

Начальный угол механического сканирования, измеренный в градусах и заданный как скаляр.

Зависимости

Это свойство применяется только при установке MechanicalScanMode свойство для 'Circular' или 'Sector'.

Типы данных: double

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

Зависимости

Это свойство применяется только при установке MechanicalScanMode свойство для 'Sector'.

Типы данных: double

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

Зависимости

Это свойство применяется только при установке MechanicalScanMode свойство для 'Circular' или 'Sector'.

Типы данных: double

Режим радиоэлектронного обзора РЛС:

  • 'Sector' - Радар сканирует назад и вперед в секторе в плоскости азимута, сначала в направлении против часовой стрелки, затем в направлении по часовой стрелке и так далее.

  • 'Custom'

  • 'None'

Охват, измеренный в градусах для сканирования электронного сектора, указывается в виде матрицы 2 на 2. Первая строка определяет охват сканирования в направлении азимута, а вторая строка определяет охват сканирования в направлении возвышения.

Зависимости

Чтобы включить это свойство, установите значение ElectronicScanMode свойство для 'Sector'.

Типы данных: double

Скорость сканирования, измеренная в градусах в секунду для электронного сканирования, заданная как двухэлементный вектор столбца. В первой строке задается скорость сканирования в направлении азимута, а во второй строке - скорость сканирования в направлении отметки.

Зависимости

Чтобы включить это свойство, установите значение ElectronicScanMode свойство для 'Sector'.

Типы данных: double

Смещение начала координат РЛС от начала координат ее монтажной платформы, определяемое как вектор 1 на 3 в виде [x, y, z] и измеряемое в метрах.

Типы данных: double

Углы установки РЛС относительно ориентации платформы, определяемые как вектор 1 на 3 в углах Эйлера вокруг осей [z, y, x]. Эти углы также называются углами [рыскания, тангажа, крена].

Предположим, что ориентация платформы определяется осями Xp, Yp и Zp. Угол крена определяет поворот против часовой стрелки вокруг Xp, угол наклона - против часовой стрелки вокруг Yp, а угол рыскания - против часовой стрелки вокруг Zp. Для получения осей ориентации РЛС Xr, Yr и Zr из осей ориентации платформы выполните собственное вращение осей ориентации платформы [Xp, Yp, Zp] в порядке крена, тангажа и рыскания.

Типы данных: double

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

  • 'Property' - Количество импульсов или свипов в сигнале определяется NumRepetitions собственность.

  • 'Input port' - Количество импульсов или свипов в сигнале определяется через вход.

Число импульсов или свипов в сигнале, указанное как положительное целое число.

Зависимости

Чтобы включить это свойство, установите значение NumRepetitionsSource свойство для 'Property'.

Типы данных: double

Использование

Описание

пример

y = radarTrans(tgt,t) возвращает эхо-сигнал цели, полученный на радаре y, в момент времени t секунды из-за целей в tgt.

Чтобы использовать этот синтаксис, установите NumRepetitionSource кому 'Property'.

y = radarTrans(proppaths,t) возвращает эхо-сигнал цели, полученный на радаре y в момент времени t (в секундах) из-за путей распространения, указанных в proppaths.

Этот синтаксис применяется при установке NumRepetitionSource кому 'Property'.

y = radarTrans(___,N) определяет количество импульсов/сдвигов N в сигнале как положительное целое число.

Этот синтаксис применяется при установке NumRepetitionSource кому 'Input port'.

y = radarTrans(___,PRFIDX) задает индекс PRF сигнала радара как положительное целое число.

Этот синтаксис применяется при установке PRFSelectionInputPort свойство для true в радаре Waveform собственность.

y = radarTrans(___,wt) определяет веса передачи радиолокационной системы в виде вектора столбца.

Этот синтаксис применяется при установке ElectronicScanMode свойство для 'Custom' и WeightsInputPort свойство для true в радаре TransmitAntenna собственность.

y = radarTrans(___,steert) задает угол управления передачей (в градусах) как вектор 2 на 1 в виде [азимут; отметка].

Этот синтаксис применяется при установке ElectronicScanMode свойство для 'Custom'. Используйте подрешетку в передающей антенне и установите ее SubarraySteering свойство для 'Phase' или 'Time'.

y = radarTrans(___,wst) определяет веса передачи, применяемые к каждому элементу в качестве матрицы или массива ячеек.

Этот синтаксис применяется при установке ElectronicScanMode свойство для 'Custom'. Используйте подрешетку в передающей антенне и установите ее SubarraySteering свойство для 'Custom'.

y = radarTrans(___,wr) определяет веса приема радиолокационной системы в виде вектора столбца.

Этот синтаксис применяется при установке ElectronicScanMode свойство для 'Custom' и WeightsInputPort свойство для true в радаре ReceiveAntenna собственность.

y = radarTrans(___,steerr) задает угол рулевого управления приемом (в градусах) как вектор 2 на 1 в виде [азимут; отметка].

Этот синтаксис применяется при установке ElectronicScanMode свойство для 'Custom', использовать подрешетку в приемной антенне и установить ее SubarraySteering свойство для 'Phase' или 'Time'.

y = radarTrans(___,wsr) определяет веса приема, применяемые к каждому элементу в качестве матрицы или массива ячеек.

Этот синтаксис применяется при установке ElectronicScanMode кому 'Custom', использовать подрешетку в приемной антенне и установить ее SubarraySteering свойство для 'Custom'.

пример

[y,info] = radarTrans(___) также возвращает дополнительные метаданные моделирования в структуре info.

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

Пример: [y,info] = radarTrans(TGT,T,N,PRFIDX,WT,STEERT,WR,STEERR);[y,info] = radarTrans(TGT,T,N,PRFIDX,WT,WST,WR,WSR);

Входные аргументы

развернуть все

Радиолокационная цель, отражающая сигнал, определяемый как массив структур. Каждая структура описывает цель точки и содержит следующие поля:

  • Position -- Укажите положение цели как вектор 1 на 3 (в метрах) в виде [x y z]. Положение указывается в системе координат площадки крепления РЛС.

    Это обязательное поле, и значение по умолчанию отсутствует.

  • Velocity -- Укажите скорость цели как вектор 1 на 3 (в метрах) в виде [x y z]. Скорость задана в системе координат радиолокационной монтажной площадки. Значением по умолчанию является [0 0 0].

  • Orientation -- Укажите ориентацию цели в виде скалярного кватерниона или матрицы вращения ортонормального кадра с 3 на 3 действительными значениями, которая вращает оси монтажной платформы радара в соответствии с осями кадра цели. Значение по умолчанию: quaternion(1,0,0,0).

  • Signatures - Укажите сигнатуру сечения РЛС цели (RCS) как struct или rcsSignature объект.

    Если Signatures является struct, он должен иметь следующие поля:

    • Azimuth - Укажите азимутальные углы (в градусах), при которых образец RCS выбирается в виде вектора длины-Q. По умолчанию используется значение [-180 180].

    • Elevation -- Укажите углы возвышения (в градусах), при которых образец RCS выбирается в виде вектора длины-P. По умолчанию используется значение [-90; 90].

    • Frequency - Укажите частоты (в Гц), на которых шаблон RCS дискретизируется в виде вектора длины-K. По умолчанию используется значение [0 1e20].

    • Pattern -- Укажите шаблон RCS целевого объекта (в дБм) как матрицу P-за-Q или массив P-за-Q-за-K. Если определяется как массив P-by-Q-by-K, каждая запись в массиве определяет RCS на соответствующей частоте и соответствующем направлении (азимут, отметка). Если определено как матрица P-by-Q, то шаблон применяется ко всем частотам. По умолчанию используется значение [0 0;0 0].

Пример: tgt1 = struct('Position',[0 5e3 0],'Velocity',[0 0 0]);tgt2 = struct('Position',[10e3 0 0],'Velocity',[0 0 0]);tgt = [tgt1 tgt2];

Типы данных: struct

Тракт распространения между передатчиком и приемником, определяемый как массив структур. Каждая структура описывает тракт распространения между передатчиком и приемником и содержит следующие обязательные поля:

  • PathLength -- Укажите длину пути распространения как положительный скаляр (в метрах).

  • PathLoss -- Укажите потери распространения вдоль пути как скаляр (в дБ).

  • ReflectionCoefficient - Укажите кумулятивные коэффициенты отражения для всех отражений вдоль пути как скаляр. Это включает в себя такие эффекты, как отражения от рассеивателя или мишени.

  • AngleOfDeparture - Укажите угол отправления пути (в градусах) в виде вектора из двух столбцов в виде [азимут; углы места]. Угол измеряется в системе координат передающей антенны.

  • AngleOfArrival - Укажите угол прихода пути (в градусах) в виде вектора из двух столбцов в виде [азимут; углы места]. Угол измеряется в системе координат приемной антенны.

  • DopplerShift -- Укажите совокупный доплеровский сдвиг вдоль траектории как скаляр (в Гц).

Типы данных: struct

Текущее время, в которое радар принимает эхо цели, указанное как неотрицательный скаляр в секундах.

Типы данных: double

Число импульсов/свипов в сигнале, указанное как положительное целое число.

Этот ввод можно указать только в том случае, если NumRepetitionSource свойство имеет значение 'Input port'.

Типы данных: double

Индекс PRF сигнала РЛС, определяемый как положительное целое число.

Этот ввод можно указать только при установке PRFSelectionInputPort свойство для true в радаре Waveform собственность.

Типы данных: double

Передавать вес радиолокационной системы, определяемый как вектор столбца.

Если для передачи используется обычная антенная решетка, wt имеет длину NTE, где NTE - количество антенных элементов в антенной решетке радиолокатора.

Если для передачи используется подчисток, wt имеет длину NTS, где NTS - количество подрешеток в антенной решетке радиолокатора.

Этот ввод можно указать только при установке ElectronicScanMode свойство для 'Custom' и WeightsInputPort свойство для true в радаре TransmitAntenna собственность.

Типы данных: double

Угол рулевого управления (в градусах), определяемый как вектор 2 на 1 в виде [азимута; отметка].

Этот ввод можно указать только при установке ElectronicScanMode свойство для 'Custom'. Используйте подрешетку в передающей антенне и установите ее SubarraySteering свойство для 'Phase' или 'Time'.

Типы данных: double

Веса передачи, применяемые к каждому элементу, заданному как матрица или массив ячеек.

Если передающая антенна использует:

  • phased.ReplicatedSubarray, wst должен быть матрицей NTE-by-NTS, где NTE - количество элементов в каждом отдельном подчищении, а NTS - количество подрешеток. Каждый столбец в wst определяет веса для элементов в соответствующем подмагистрали.

  • phased.PartitionedArray и его отдельные субчипы имеют одинаковое количество элементов, wst должен быть матрицей NTE-by-NTS, где NTE - количество элементов в каждом отдельном подчищении, а NTS - количество подрешеток. Каждый столбец в wst определяет веса для элементов в соответствующем подмагистрали.

  • phased.PartitionedArray и его субчипы могут иметь различное количество элементов, wst может быть одним из следующих:

    • Матрица NTE-by-NTS, где NTE указывает количество элементов в наибольшем подрешётке, а NTS - количество подрешеток.

      Если wst является матрицей, первые записи KT в каждом столбце, где KT - количество элементов в соответствующем подматрице, задают веса для элементов в соответствующем подрешете.

    • 1-by-NTS массив ячеек, где NTS - количество подрешеток, и каждая ячейка содержит вектор-столбец, длина которого равна количеству элементов соответствующего подрешетки.

Этот ввод можно указать только при установке ElectronicScanMode свойство для 'Custom'. Используйте подрешетку в передающей антенне и установите ее SubarraySteering свойство для 'Custom'.

Типы данных: double

Прием весов радиолокационной системы, указанных в виде вектора столбца. Если для приема используется обычная антенная решетка, wr имеет длину NRE, где NRE - количество антенных элементов в приемной антенной решетке РЛС. Если для приема используется подмассив, wr имеет длину NRS, где NRS - количество подрешеток в приемной антенной решетке РЛС.

Этот ввод можно указать только при установке ElectronicScanMode свойство для 'Custom' и WeightsInputPort свойство для true в радаре ReceiveAntenna собственность.

Типы данных: double

Принимать угол поворота в градусах, определяемый как вектор 2 на 1 в виде [азимута; отметка].

Этот ввод можно указать только при установке ElectronicScanMode свойство для 'Custom', использовать подрешетку в приемной антенне и установить ее SubarraySteering свойство для 'Phase' или 'Time'.

Типы данных: double

Принимаемые веса, применяемые к каждому элементу, заданному как матрица или массив ячеек.

Если приемная антенна использует:

  • phased.ReplicatedSubarray объект, wsr должна быть матрицей NRE-by-NRS, где NRE - количество элементов в каждом отдельном подрешете, а NRS - количество подрешеток. Каждый столбец в wsr определяет веса элементов в соответствующем подмассоре.

  • phased.PartitionedArray объект и его отдельные субчипы имеют одинаковое количество элементов, wsr должна быть матрицей NRE-by-NRS, где NRE - количество элементов в каждом отдельном подрешете, а NRS - количество подрешеток. Каждый столбец в wsr определяет веса элементов в соответствующем подмассоре.

  • phased.PartitionedArray объект и его субчипы могут иметь различное количество элементов, wsr может быть одним из следующих:

    • Матрица NRE-by-NRS, в которой NRE указывает количество элементов в самом большом подрешетке, а NRS - количество подрешеток.

      Если wsr является матрицей, первые записи KR в каждом столбце, где KR - количество элементов в соответствующем подматрице, задают веса для элементов в соответствующем подматрице.

    • 1-by-NRS массив ячеек, где NRS - количество подрешеток, и каждая ячейка содержит вектор-столбец, длина которого равна количеству элементов соответствующего подрешетки.

Этот ввод можно указать только при установке ElectronicScanMode кому 'Custom', использовать подрешетку в приемной антенне и установить ее SubarraySteering свойство для 'Custom'.

Типы данных: double

Выходные аргументы

развернуть все

Сигнал, принимаемый радиолокационным приемником, возвращается как один из следующих:

  • NS-by-NRE-by-N решетка -- Если радар использует обычную антенную решетку для приема, размер y - NS-by-NRE-by-N, где NRE - количество антенных элементов в приемной антенной решетке радара, NS - количество выборок в каждом передаваемом импульсе/развертке, а N - число передаваемых импульсов/разверток.

    В этом синтаксисе N определяется значением NumRepetition собственность.

  • Массив NS-by-NRS-by-N -- Если РЛС использует подрешетку для приема, размер y NS-by-NRS-by-N, где NRS - количество подрешеток в приемной антенной решетке РЛС. При моделировании множества импульсов/свипов предполагается, что цели движутся в соответствии с траекторией постоянной скорости.

Типы данных: double
Поддержка комплексного номера: Да

Метаданные моделирования, возвращенные в виде структуры, содержащей следующие поля:

  • IsScanDone - Выполняется ли один период механического сканирования.

  • MechanicalAngle - Текущий угол наведения антенны из-за механического сканирования.

  • Origin - Местоположение радара в системе координат платформы.

  • Orientation - Оси ориентации радара в системе координат платформы.

Типы данных: struct

Функции объекта

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

release(obj)

развернуть все

stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Смоделировать эхо цели, полученное моностатическим РЛС, с помощью radarTransceiver объект.

Создать цели РЛС в виде массива из двух структур с заданными положением и скоростью.

tgt1 = struct( ...
    'Position', [0 5e3 0], ...
    'Velocity', [0 0 0]);
tgt2 = struct( ...
    'Position', [10e3 0 0], ...
    'Velocity', [0 0 0]);

Создать радар наблюдения в 15 метрах над землей. Определить rpm для определения скорости сканирования (в град/с). Для указанных скорости сканирования и ширины луча определите скорость обновления.

rpm = 12.5;
scanrate = rpm*360/60;       % deg/s
beamw = 1;                   % beamwidth
updaterate = scanrate/beamw; % update at each beam

Создать phased.CustomAntennaElement объект, который действует как элемент передающей антенны и элемент приемной антенны в radarTransceiver объект.

az = -180:0.5:180;
el = -90:0.5:90;
pat = zeros(numel(el),numel(az));
pat(-0.5<=el&el<=0.5,-0.5<=az&az<=0.5) = 1;
ant = phased.CustomAntennaElement('AzimuthAngles',az,...
    'ElevationAngles',el,'MagnitudePattern',mag2db(abs(pat)),...
    'PhasePattern',zeros(size(pat)));

Создать radarTransceiver объект. Укажите прямоугольную форму сигнала для радара с помощью phased.RectangularWaveform объект. Укажите передающую антенну и приемную антенну. Режим механического сканирования установлен в 'Circular' с определенной скоростью сканирования.

wav = phased.RectangularWaveform('PulseWidth',1e-5);
sensor = radarTransceiver(...
    'Waveform',wav, ...
    'TransmitAntenna',phased.Radiator('Sensor',ant), ...
    'ReceiveAntenna',phased.Collector('Sensor',ant), ...
    'MechanicalScanMode','Circular', ...
    'MechanicalScanRate',scanrate);

Генерация обнаружений при полном сканировании радара.

simTime = 0;
sigi = 0;
while true
    [sig, info] = sensor([tgt1 tgt2], simTime);
    sigi = sigi+abs(sig);

    % Is full scan complete?
    if info.IsScanDone
        break % yes
    end
    simTime = simTime+1/updaterate;
end
r = (0:size(sigi,1)-1)/sensor.Waveform.SampleRate*...
    sensor.TransmitAntenna.PropagationSpeed/2;
plot(r,sigi);
hold on;
plot([5e3 5e3],ylim,'r--',[10e3 10e3],ylim,'r--');
xlabel('Range (m)');
ylabel('Magnitude');

Figure contains an axes. The axes contains 3 objects of type line.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Объекты

  • (Панель инструментов слияния и отслеживания датчиков)
Представлен в R2021a