directivity

Системный объект: phased.PartitionedArray
Пакет: поэтапный

Направленность разделенного массива

Синтаксис

D = directivity(H,FREQ,ANGLE)
D = directivity(H,FREQ,ANGLE,Name,Value)

Описание

D = directivity(H,FREQ,ANGLE) возвращает Направленность разделенного массива антенны или элементов микрофона, H, на частотах, заданных FREQ и в углах направления задан ANGLE.

Интегрирование использовало, когда вычислительная направленность массивов имеет минимальную сетку выборки 0,1 градусов. Если диаграмма направленности антенной решетки имеет ширину луча, меньшую, чем это, значение направленности будет неточно.

D = directivity(H,FREQ,ANGLE,Name,Value) возвращает направленность с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

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

Разделенный массив в виде phased.PartitionedArray Системный объект.

Пример: H = phased.PartitionedArray;

Частоты для вычислительной направленности и шаблонов в виде положительной скалярной величины или 1 L вектором-строкой с действительным знаком. Единицы частоты находятся в герц.

  • Для антенны, микрофона, или гидрофона гидролокатора или элемента проектора, FREQ должен лечь в области значений значений, заданных FrequencyRange или FrequencyVector свойство элемента. В противном случае элемент не производит ответа, и направленность возвращена как –Inf. Большинство элементов использует FrequencyRange свойство за исключением phased.CustomAntennaElement и phased.CustomMicrophoneElement, которые используют FrequencyVector свойство.

  • Для массива элементов, FREQ должен лечь в частотном диапазоне элементов, которые составляют массив. В противном случае массив не производит ответа, и направленность возвращена как –Inf.

Пример: [1e8 2e6]

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

Углы для вычислительной направленности в виде 1 M вектором-строкой с действительным знаком или 2 M матрицей с действительным знаком, где M является количеством угловых направлений. Угловые модули в градусах. Если ANGLE 2 M матрицей, затем каждый столбец задает направление в азимуте и вертикальном изменении, [az;el]. Угол азимута должен находиться между-180 ° и 180 °. Угол возвышения должен находиться между-90 ° и 90 °.

Если ANGLE 1 M вектором, затем каждая запись представляет угол азимута с углом возвышения, принятым, чтобы быть нулем.

Угол азимута является углом между x - ось и проекцией вектора направления на плоскость xy. Этот угол положителен, когда измерено от x - оси к y - ось. Угол возвышения является углом между вектором направления и плоскостью xy. Этот угол положителен, когда измерено к z - ось. Смотрите Азимут и Углы возвышения.

Пример: [45 60; 0 10]

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Пример: 'PropagationSpeed',physconst('LightSpeed')

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

Веса подрешетки в виде разделенной запятой пары, состоящей из 'WeightsN-by-1 вектор-столбец с комплексным знаком или N-by-M матрица с комплексным знаком. Размерность N является количеством подрешеток в массиве. Размерность L является количеством частот, заданных FREQ аргумент.

Weights размерностьFREQ размерностьЦель
N-by-1 вектор-столбец с комплексным знакомСкаляр или 1 L вектором-строкойПрименяет набор весов для одной частоты или для всех частот L.
N-by-L матрица с комплексным знаком1 L вектором-строкойПрименяет каждый из столбцов L ‘Weights’ для соответствующей частоты в FREQ аргумент.

Пример: 'Weights',ones(N,M)

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

Угол поворота подрешётки в виде разделенной запятой пары, состоящей из 'SteerAngle' и скаляр или вектор столбцов 2 на 1.

Если 'SteerAngle' вектор столбцов 2 на 1, он имеет форму [azimuth; elevation]. Угол азимута должен быть между-180 ° и 180 °, включительно. Угол возвышения должен быть между-90 ° и 90 °, включительно.

Если 'SteerAngle' скаляр, он задает угол азимута только. В этом случае угол возвышения принят, чтобы быть 0.

Эта опция применяется только когда 'SubarraySteering' свойство Системного объекта установлено в 'Phase' или 'Time'.

Пример: 'SteerAngle',[20;30]

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

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

Если ElementWeights NSE с комплексным знаком-by-N матрица, NSE является числом элементов в самой большой подрешетке, и N является количеством подрешеток. Каждый столбец матрицы задает веса для соответствующей подрешетки. Только первые записи K в каждом столбце применяются как веса, где K является числом элементов в соответствующей подрешетке.

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

Зависимости

Чтобы включить эту пару "имя-значение", установите SubarraySteering свойство массива к 'Custom'.

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

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

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

Направленность, возвращенная как M-by-L матрица. Каждая строка соответствует одному из углов M, заданных ANGLE. Каждый столбец соответствует одному из значений частоты L, заданных в FREQ. Модули направленности находятся в dBi, где dBi задан как усиление элемента относительно изотропного излучателя.

Примеры

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

Вычислите направленность разделенного массива, сформированного из одного ULA с 20 элементами с элементами, расположил одну длину волны четверти с интервалами независимо. Подрешетки затем управляются в фазу к 30 азимутам степеней. Направленность вычисляется под углами азимута от 0 до 60 градусов.

c = physconst('LightSpeed');
fc = 3e8;
lambda = c/fc;
angsteer = [30;0];
ang = [0:10:60;0,0,0,0,0,0,0];

Создайте разделенный массив ULA с помощью SubarraySelection свойство.

myArray = phased.PartitionedArray('Array',...
    phased.ULA(20,lambda/4),'SubarraySelection',...
    [ones(1,10) zeros(1,10);zeros(1,10) ones(1,10)],...
    'SubarraySteering','Phase','PhaseShifterFrequency',fc);

Создайте держащийся вектор и вычислите направленность.

myStv = phased.SteeringVector('SensorArray',myArray,...
    'PropagationSpeed',c);
d = directivity(myArray,fc,ang,'PropagationSpeed',c,'Weights',...
    step(myStv,fc,angsteer),'SteerAngle',angsteer)
d = 7×1

   -7.5778
   -4.7676
   -2.0211
   10.0996
    0.9714
   -3.5575
  -10.8439

Больше о

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

Смотрите также

| |