directivity

Системный объект: phased.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 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

Размерность весовРазмерность FREQЦель
N-by-1 вектор-столбец с комплексным знакомСкаляр или 1 L вектором-строкойПрименяет набор весов для одной частоты или для всех частот L.
N-by-L матрица с комплексным знаком1 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 элементами с помощью элементов, имеющих различные шаблоны антенны, и затем покажите, как вычислить направленность массива.

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

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

Больше о

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

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

| |