exponenta event banner

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

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

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

Синтаксис

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

Описание

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

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

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

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

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

Реплицированный субчип, указанный как phased.ReplicatedSubarray Системный объект.

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

Частоты для вычисления направленности и шаблонов, заданные как положительный скалярный или 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 с комплексными значениями. Веса применяются к отдельным элементам в пределах подрешетки. Все субчипы имеют одинаковые размеры и размеры. NSE - количество элементов в каждом подрешете, а N - количество подрешеток. Каждый столбец матрицы определяет весовые коэффициенты для соответствующего подмассива.

Зависимости

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

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

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

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

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

Примеры

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

Вычислите направленность массива, созданного из субчипов ULA. Определите направленность реплицированного подмассива при наведении массива к азимуту 30 градусов.

Установите скорость распространения сигнала на скорость света. Установите частоту сигнала 300 МГц.

c = physconst('LightSpeed');
fc = 3e8;
lambda = c/fc;

Создайте 4-элементную ULA изотропных антенных элементов, разнесенных на 0,4 длины волны.

myArray = phased.ULA;
myArray.NumElements = 4;
myArray.ElementSpacing = 0.4*lambda;

Создайте реплицированный субчип «2 на 1».

myRepArray = phased.ReplicatedSubarray;
myRepArray.Subarray = myArray;
myRepArray.Layout = 'Rectangular';
myRepArray.GridSize = [2 1];
myRepArray.GridSpacing = 'Auto';
myRepArray.SubarraySteering = 'Time';

Наведите массив на азимут 30 градусов и отметку ноль градусов.

ang = [30;0];
mySV = phased.SteeringVector;
mySV.SensorArray = myRepArray;
mySV.PropagationSpeed = c;

Найдите направление при 30 градусах азимута.

d = directivity(myRepArray,fc,ang,...
    'PropagationSpeed',c,...
    'Weights',step(mySV,fc,ang),...
    'SteerAngle',ang)
d = 7.4776

Подробнее

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