directivity

Системный объект: фазированный. HeterogeneousConformalArray
Пакет: поэтапный

Направленность гетерогенного конформного массива

Синтаксис

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.HeterogeneousConformalArray Системный объект.

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

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

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

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

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

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

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

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

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

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

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

Аргументы в виде пар имя-значение

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

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

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

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

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

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

Примечание

Используйте комплексные веса, чтобы направить ответ массива в различные направления. Вы можете создать веса, используя phased.SteeringVector Системный объект или можно вычислить собственные веса. В целом, вы применяете гермитову сопряженность перед использованием весов в любой функции Phased Array System Toolbox™ или Системном объекте, таком как phased.Radiator или phased.Collector. Однако для directivity, pattern, patternAzimuth, и patternElevation методы любого массива Системный объект использует вектор управления без сопряжения.

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

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

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

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

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

Примеры

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

Вычислите направленность управляемого гетерогенного конформного массива. Создайте 24-элементный гетерогенный дисковый массив с помощью элементов, имеющих различные шаблоны антенны, а затем покажите, как вычислить направленность массива.

Установите скорость сигнала на скорость света и частоту сигнала на 2GHz.

c = physconst('LightSpeed');
freq = 2e9;

Выберите два разных типа элементов - оба являются косинусоидными антенными элементами с различными степенями.

myElement1 = phased.CosineAntennaElement('CosinePower',1.5);
myElement2 = phased.CosineAntennaElement('CosinePower',1.8);

Установите трехкольцевый дисковый массив с 8 элементами на звонок. Внутренний звонок имеет различные элементы от внешних звонков.

N = 8;
azang = (0:N-1)*360/N-180;
p0 = [zeros(1,N);cosd(azang);sind(azang)];
posn = [0.6*p0, 0.4*p0, 0.2*p0];
myArray = phased.HeterogeneousConformalArray;
myArray.ElementPosition = posn;
myArray.ElementNormal = zeros(2,3*N);
myArray.ElementSet = {myElement1,myElement2};
myArray.ElementIndices = [1 1 1 1 1 1 1 1,...
    1 1 1 1 1 1 1 1,...
    2 2 2 2 2 2 2 2];

Установите вектор рулевого управления в положение 30 степеней азимута и вычислите направленность в этом направлении.

lambda = c/freq;
ang = [30;0];
w = steervec(getElementPosition(myArray)/lambda,ang);
d = directivity(myArray,freq,ang,'PropagationSpeed',c,...
            'Weights',w)
d = 20.9519

Подробнее о

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