directivity

Системный объект: фазированный. 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-байт- 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 M комплексно-значимая матрица. Размерное N является количеством подрешеток в массиве. Размерное L является количеством частот, заданным FREQ аргумент.

Weights размерностьFREQ размерностьЦель
N вектор-на-1 с комплексным значениемСкаляр или 1-байт- L вектор-строкаПрименяет набор весов для одной частоты или для всех L частот.
N -by 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' свойство Системного объекта установлено в 'Phase' или 'Time'.

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

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

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

Зависимости

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

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

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

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

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

Примеры

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

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

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

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

Создайте ULA с 4 элементами из изотропных антенных элементов, разнесенных на 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

Подробнее о

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