exponenta event banner

директивность

Системный объект: поэтапный. 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-by-L действительный вектор строки. Единицы частоты - в герцах.

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

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

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

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

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

Если ANGLE является вектором 1-by-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

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

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

Примечание

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

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

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

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

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

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

Примеры

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

Вычислите направленность управляемого гетерогенного конформного массива. Создайте 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

Подробнее

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