направленность

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

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

Синтаксис

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

Описание

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

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

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

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

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

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

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

Больше о

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

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