exponenta event banner

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

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

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

Синтаксис

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

Описание

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

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

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

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

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

Секционированный массив, указанный как phased.PartitionedArray Системный объект.

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

Частоты для вычисления направленности и шаблонов, заданные как положительный скалярный или 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-на-М матрицу с комплексными значениями. Размерность N - это количество субчипов в массиве. Размерность L - это количество частот, заданное параметром FREQ аргумент.

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

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

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

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

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

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

Этот параметр применяется только в том случае, если 'SubarraySteering' свойство объекта System имеет значение 'Phase' или 'Time'.

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

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

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

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

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

Зависимости

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

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

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

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

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

Примеры

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

Вычисляют направленность разделенной матрицы, сформированной из одного 20-элементного ULA с элементами, разнесенными на четверть длины волны. Затем подрешетки сдвигают по фазе к азимуту на 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

Подробнее

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