phased.Radiator

Узкополосный сигнальный излучатель

Описание

The phased.Radiator Система object™ реализует узкополосный излучателя. Излучатель преобразует сигналы в излучаемые волновые поля, переданные от массивов и отдельных элементов датчика, таких как антенны, микрофонные элементы и гидроакустические преобразователи. Выход излучателя представляет поля на ссылку расстоянии одного метра от центра фазы элемента или массива. Можно затем распространить сигналы на дальнее поле, используя, например, phased.FreeSpace, phased.LOSChannel, или twoRayChannel (Radar Toolbox) Системные объекты.

Объект излучает поля одним из двух способов, управляемых свойством CombineRadiedSignals.

  • Если для CombineRadiedSignals задано значение trueизлучаемое поле в заданных направлениях является когерентной суммой отложенных излучаемых полей от всех элементов (или подрешеток, когда поддерживаются подрешетки). Объект использует приближение фазового сдвига временных задержек для узкополосных сигналов.

  • Если для CombineRadiedSignals задано значение falseкаждый элемент может излучать в независимом направлении.

Вы можете использовать этот объект для

  • моделирует электромагнитные излучаемые сигналы как поляризованные или неполярные поля в зависимости от того, поддерживает ли элемент или массив поляризацию и значение свойства Поляризации. Используя поляризацию, можно передать сигнал как поляризованное электромагнитное поле или передать два независимых сигнала с помощью двойной поляризации.

  • Модель акустические излучаемые поля с помощью неполяризованных микрофона и гидроакустического преобразователя элементов массива и установкой Поляризации на 'None'. Необходимо также задать значение PropagationSpeed, соответствующее среде.

  • излучают поля из подрешеток, созданного phased.ReplicatedSubarray и phased.PartitionedArray объекты. Вы можете управлять всеми подрешетками в одном направлении с помощью аргумента угла поворота, STEERANG, или направлять каждую подрешетку в другом направлении с помощью аргумента Subarray element weights, WS. Излучатель распределяет степени сигнала поровну между элементами каждой подрешетки. Вы не можете задать свойство CombineRadiedSignals равным false для подрешеток.

Для излучения сигналов:

  1. Создайте phased.Radiator Объекту и установите его свойства.

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

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

Создание

Описание

radiator = phased.Radiator создает узкополосный сигнал излучателя объекта, radiator, со значениями свойств по умолчанию.

radiator = phased.Radiator(Name,Value) создает узкополосный сигнальный излучатель с каждым свойством Name установить на заданное Value. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN). Заключайте каждое имя свойства в одинарные кавычки.

Пример: radiator = phased.Radiator('Sensor',phased.URA,'OperatingFrequency',300e6) устанавливает массив датчиков в равномерный прямоугольный массив (URA) с значениями свойств URA по умолчанию. Лучевой форматор имеет рабочую частоту 300 МГц.

Свойства

расширить все

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Элемент датчика или массив, заданная как системный объект, принадлежащий Phased Array System Toolbox. Сенсорный массив может содержать подрешетки.

Пример: phased.URA

Скорость распространения сигнала, заданная как положительная скалярная величина. Модули указаны в метрах в секунду. Скорость распространения по умолчанию является значением, возвращаемым physconst('LightSpeed'). Посмотрите physconst для получения дополнительной информации.

Пример: 3e8

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

Рабочая частота, заданная как положительная скалярная величина. Модули указаны в Гц.

Пример: 1e9

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

Объедините излученные сигналы, заданные как true или false. Это свойство позволяет когерентному суммированию излучаемых сигналов от всех элементов массива генерировать плоские волны. Установите это свойство на false получение индивидуального излучаемого сигнала для каждого излучающего элемента.

  • Если для CombineRadiedSignals задано значение trueизлучаемое поле в заданных направлениях является когерентной суммой отложенных излучаемых полей от всех элементов (или подрешеток, когда поддерживаются подрешетки). Объект использует приближение фазового сдвига временных задержек для узкополосных сигналов.

  • Если для CombineRadiedSignals задано значение falseкаждый элемент может излучать в независимом направлении. Если свойство Sensor является массивом, содержащим подрешетки, вы не можете задать свойство CombineRadiatedSignals равным 'false.

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

Измерение усиления датчика, заданное как 'dB' или 'dBi'.

  • Когда вы устанавливаете это свойство на 'dB'входной сигнал степени масштабируется датчиком диаграммы направленности мощности (в дБ) в соответствующем направлении и затем объединяется.

  • Когда вы устанавливаете это свойство на 'dBi'входной сигнал степени масштабируется на шаблон направленности (в dBi) в соответствующем направлении и затем объединяется. Эта опция полезна, когда вы хотите сравнить результаты со значениями, вычисленными основным уравнением радиолокации, которое использует dBi, чтобы задать коэффициент усиления антенны. Расчет с использованием 'dBi' опция является дорогостоящей, поскольку она требует интегрирования по всем направлениям для вычисления общей излучаемой степени датчика.

Зависимости

Чтобы включить это свойство, установите CombineRadiatedSignals свойство к true.

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

Поляризационные строения, заданные как 'None', 'Combined', или 'Dual'. Когда вы устанавливаете это свойство на 'None'Поле выходом рассматривается как скаляр поле. Когда вы устанавливаете это свойство на 'Combined'излучаемые поля поляризованы и интерпретируются как один сигнал в присущей датчику поляризации. Когда вы устанавливаете это свойство на 'Dual', H и V компоненты поляризации излучаемого поля являются независимыми сигналами.

Пример: 'Dual'

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

Включите вход весов, заданный как false или true. Когда true, используйте входной параметр объекта W для задания весов. Веса применяются к отдельным элементам массива (или на уровне подрешетки, когда поддерживаются подрешеток).

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

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

Описание

пример

Y = radiator(X,ANG) излучает поля, Y, выведенный из сигналов, X в направлениях, заданных ANG.

пример

Y = radiator(X,ANG,LAXES) также задает LAXES как локальная система координат, оси направляется. Чтобы использовать этот синтаксис, задайте значение свойства Поляризации 'Combined'.

пример

Y = radiator(XH,XV,ANG,LAXES) задает сигнал порта горизонтальной поляризации, XHи сигнал порта вертикальной поляризации, XV. Чтобы использовать этот синтаксис, задайте значение свойства Поляризации 'Dual'.

Y = radiator(___,W) также задает W как вес элемента или подрешетки. Чтобы использовать этот синтаксис, задайте значение свойства WeightsInportPort true.

Y = radiator(___,STEERANG) также задает STEERANG в качестве угла поворота подрешетки. Чтобы использовать этот синтаксис, установите свойство Sensor на массив, который поддерживает подрешетки и установите SubarraySteering свойство этого массива любому из 'Phase' или 'Time'.

Y = radiator(___,WS) также задает WS как веса, примененные к каждому элементу в каждой подрешетке. Чтобы использовать этот синтаксис, установите свойство Sensor на массив, который поддерживает подрешетки и установите SubarraySteering свойство массива, которое нужно 'Custom'.

Можно объединить необязательные входные параметры, когда заданы их разрешающие свойства, например, Y = radiator(X,ANG,LAXES,W,STEERANG) объединяет несколько входных параметров. Необязательные входы должны быть перечислены в том же порядке, как и порядок разрешающих свойств.

Входные параметры

расширить все

Сигнал к излучению, заданный как комплексный вектор M -by-1 или комплексный M -by- N матрица. M - длина сигнала, а N - количество элементов массива (или подрешеток, когда поддерживаются подрешетки).

Размерности X

РазмерностьСигнал
M вектор -by-1

Один и тот же сигнал излучается из всех элементов массива (или всех подрешеток, когда поддерживаются подмассива).

M-by-N matrixКаждый столбец соответствует сигналу, излучаемому соответствующим элементом массива (или соответствующими подрешетками, когда поддерживаются подрешетки).

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

Зависимости

Чтобы включить этот аргумент, задайте значение свойства Поляризации 'None' или 'Combined'.

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

Излучающие направления сигналов, заданные как действительная 2-бай- L матрица. Каждый столбец задает направление излучения в форме [AzimuthAngle;ElevationAngle]. Угол азимута должен лежать между -180 ° и 180 ° включительно. Угол возвышения должен лежать между -90 ° и 90 ° включительно. Когда свойство CombineRadiedSignals false, количество углов должно равняться количеству элементов массива, N. Модули указаны в степенях.

Пример: [30,20;45,0]

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

Локальная система координат, заданная как действительная ортогональная матрица 3 на 3. Матричные столбцы задают ортонормальные x, y и z оси локальной системы координат относительно глобальной системы координат.

Пример: rotx(30)

Зависимости

Чтобы включить этот аргумент, установите Polarization свойство к 'Combined' или 'Dual'.

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

Сигнал порта H-поляризации для излучения, заданный как вектор с комплексным M -by-1 или M -by- N матрица с комплексным значением. M - длина сигнала, а N - количество элементов массива (или подрешеток, когда поддерживаются подрешетки).

Размерности XH

РазмерностьСигнал
M вектор -by-1

Один и тот же сигнал излучается из всех элементов массива (или всех подрешеток, когда поддерживаются подмассива).

M-by-N matrixКаждый столбец соответствует сигналу, излучаемому соответствующим элементом массива (или соответствующими подрешетками, когда поддерживаются подрешетки).

Размерности и размеры XH и XV должно быть то же самое.

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

Зависимости

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

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

Сигнал порта V-поляризации для излучения, заданный как вектор с комплексным M -by-1 или M -by- N матрица с комплексным значением. M - длина сигнала, а N - количество элементов массива (или подрешеток, когда поддерживаются подрешетки).

Размерности XV

РазмерностьСигнал
M вектор -by-1

Один и тот же сигнал излучается из всех элементов массива (или всех подрешеток, когда поддерживаются подмассива).

M-by-N matrixКаждый столбец соответствует сигналу, излучаемому соответствующим элементом массива (или соответствующими подрешетками, когда поддерживаются подрешетки).

Размерности и размеры XH и XV должно быть то же самое.

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

Зависимости

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

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

Веса элемента или подрешетки, заданные как комплексный вектор-столбец- N-на-1, где N - количество элементов массива (или подрешеток, когда массив поддерживает подрешетки).

Зависимости

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

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

Веса элементов подрешетки, заданные как комплексные N SE-by N матрица или 1-by- N массив ячеек, где N - количество подрешеток. Эти веса применяются к отдельным элементам в подрешетку.

Веса элементов подрешетки

Датчик МассиваПодрешетки
phased.ReplicatedSubarray

Все подрешетки имеют одинаковые размерности и размеры. Затем веса подрешетки образуют N матрицу SE-by- N. N SE - это количество элементов в каждой подрешетке, а N - это количество подрешеток. Каждый столбец WS задает веса для соответствующей подрешетки.

phased.PartitionedArray

Подрешетки могут не иметь одинаковых размерностей и размеров. В этом случае можно задать веса подрешетки как

  • N матрица SE-by- N, где N SE теперь является количеством элементов в самой большой подрешетке. Первые Q значения в каждом столбце являются весами элементов для подрешетки, где Q - количество элементов в подрешетке.

  • массив ячеек 1 N байта. Каждая камера содержит вектор-столбец весов для соответствующих подрешеток. Длины векторов-столбцов равны количеству элементов в соответствующих подрешетках.

Зависимости

Чтобы включить этот аргумент, установите Sensor свойство для массива, который содержит подрешетки и устанавливает SubarraySteering свойство массива, которое нужно 'Custom'.

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

Угол поворота подрешетки, заданная как длина-2 вектора-столбца. Вектор имеет вид [azimuthAngle;elevationAngle]. Угол азимута должен быть между -180 ° и 180 ° включительно. Угол возвышения должен быть между -90 ° и 90 ° включительно. Модули указаны в степенях.

Пример: [20;15]

Зависимости

Чтобы включить этот аргумент, установите Sensor свойство для массива, который поддерживает подрешетки и устанавливает SubarraySteering свойство этого массива любому из 'Phase' или 'Time'

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

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

расширить все

Излученные сигналы, определенные как со сложным знаком M L матрицей или массивом ячеек 1-by-<reservedrangesplaceholder2>, где L количество излучения углов, ANG. M - длина входного сигнала, X.

  • Если значение свойства Поляризации установлено в 'None'выходной аргумент Y является M -by - L матрицей.

  • Если значение свойства Поляризации установлено в 'Combined' или 'Dual', Y представляет собой массив структур ячеек L размером 1 байт. Каждая камера соответствует отдельному сигналу излучения. Каждый struct содержит три векторов-столбцов, содержащие X, Y и Z компоненты поляризованных полей, заданные относительно глобальной системы координат.

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

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

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

release(obj)

расширить все

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

Примеры

свернуть все

Распространяет и объединяет излучение от пяти изотропных антенных элементов. Установите равномерную линию массив из пяти изотропных антенн.

Сначала создайте массив ULA.

array = phased.ULA('NumElements',5);

Создайте объект излучателя.

radiator = phased.Radiator('Sensor',array,...
    'OperatingFrequency',300e6,'CombineRadiatedSignals',true);

Создайте простой сигнал для излучения.

x = [1;-1;1;-1;1;-1];

Задайте азимут и повышение направления излучения.

radiatingAngle = [30;10];

Излучайте сигнал.

y = radiator(x,radiatingAngle)
y = 6×1 complex

  -0.9523 - 0.0000i
   0.9523 + 0.0000i
  -0.9523 - 0.0000i
   0.9523 + 0.0000i
  -0.9523 - 0.0000i
   0.9523 + 0.0000i

Распространите и объедините излучение от пяти короткодипольных антенных элементов.

Установите равномерную линию массив из пяти короткодипольных антенн с включенной поляризацией. Затем создайте объект излучателя.

antenna = phased.ShortDipoleAntennaElement;
array = phased.ULA('Element',antenna,'NumElements',5);
radiator = phased.Radiator('Sensor',array,'OperatingFrequency',300e6,...
    'CombineRadiatedSignals',true,'Polarization','Combined');

Поверните локальную систему координат от глобальных координат на 10 ° вокруг оси X. Продемонстрировать, что выход представляет поляризованное поле.

Задайте простой сигнал для излучения и задайте направление излучения в азимуте и повышении. Излучайте поля в двух направлениях.

x = [1;-1;1;-1;1;-1];
radiatingAngles = [30 30; 0 20];
y = radiator(x,radiatingAngles,rotx(10))
y=1×2 struct array with fields:
    X
    Y
    Z

Отобразите y-составляющую поляризованного поля, излучающую в первом направлении.

disp(y(1).Y)
  -0.2131 + 0.0000i
   0.2131 - 0.0000i
  -0.2131 + 0.0000i
   0.2131 - 0.0000i
  -0.2131 + 0.0000i
   0.2131 - 0.0000i

Излучайте сигнал от одной изотропной антенны.

antenna = phased.IsotropicAntennaElement;
radiator = phased.Radiator('Sensor',antenna,'OperatingFrequency',300e6);
sig = [1;1];
radiatingAngles = [30 10]';
y = radiator(sig,radiatingAngles);

Излучайте сигнал дальнего поля в двух направлениях от 5-элементного массива.

array = phased.ULA('NumElements',5);
radiator = phased.Radiator('Sensor',array,'OperatingFrequency',300e6);
sig = [1;1];
radiatingAngles = [30 10; 20 0]';
y = radiator(sig,radiatingAngles);

Излучайте сигналы от антенной решетки с 3 элементами. Каждая антенна излучает отдельный сигнал в отдельном направлении.

array = phased.ULA('NumElements',3);
radiator = phased.Radiator('Sensor',array,'OperatingFrequency',1e9,...
    'CombineRadiatedSignals',false);
sig = [1 2 3; 2 8 -1];
radiatingAngles = [10 0; 20 5; 45 2]';
y = radiator(sig,radiatingAngles)
y = 2×3

     1     2     3
     2     8    -1

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

scmat = [0 1i; 1i 2];
radiator = phased.Radiator('Sensor', ...
    phased.CustomAntennaElement('SpecifyPolarizationPattern',true), ...
    'Polarization','Dual');
target = phased.RadarTarget('EnablePolarization',true,'ScatteringMatrix', ...
    scmat);
collector = phased.Collector('Sensor', ...
    phased.CustomAntennaElement('SpecifyPolarizationPattern',true), ...
    'Polarization','Dual');
xh = 1;
xv = 1;

Передайте горизонтальную составляющую и отобразите отраженные компоненты поляризации Shh и Svh.

x = radiator(xh,0,[0;0],eye(3));
xrefl = target(x,[0;0],eye(3));
[Shh,Svh] = collector(xrefl,[0;0],eye(3))
Shh = 0
Svh = 0.0000 + 3.5474i

Передайте вертикальную составляющую и отобразите отраженные компоненты поляризации Shv и Svv.

x = radiator(0,xv,[0;0],eye(3));
xrefl = target(x,[0;0],eye(3));
[Shv,Svv] = collector(xrefl,[0;0],eye(3))
Shv = 0.0000 + 3.5474i
Svv = 7.0947

Ссылки

[1] Деревья фургонов, H. Optimum Array Processing. Нью-Йорк: Wiley-Interscience, 2002.

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

.
Введенный в R2011a