exponenta event banner

getElementNormal

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

Нормальный вектор к элементам массива

Синтаксис

normvec = getElementNormal(sULA)
normvec = getElementNormal(sULA,elemidx)

Описание

normvec = getElementNormal(sULA) возвращает нормальные векторы элементов массива phased.HeterogeneousULA object™ системы, sULA. Выходной аргумент normvec - 2-by-N матрица, где N - число элементов в массиве, sULA. Каждый столбец normvec определяет направление нормали элемента в локальной системе координат в форме[az;el]. Единицы измерения - градусы. Начало локальной системы координат определяется центром фазы массива.

normvec = getElementNormal(sULA,elemidx) возвращает только нормальные векторы элементов, указанных в индексном векторе элемента, elemidx. Этот синтаксис может использовать любой из входных аргументов предыдущего синтаксиса.

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

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

Однородный массив линий, заданный как phased.HeterogeneousULA Системный объект.

Пример: sULA = phased.HeterogeneousULA

Индексы элементов, заданные как вектор 1-by-M или M-by-1. Значения индекса лежат в диапазоне от 1 до N, где N - количество элементов массива. Когда elemidx указывается, getElementNormal возвращает нормальные векторы элементов, содержащихся в elemidx.

Пример: [1,5,4]

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

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

Нормальные векторы элементов, заданные как 2-by-P действительный вектор. Каждый столбец normvec принимает форму [az,el]. Когда elemidx не указан, P равно размеру массива. Когда elemidx указано, P равно длине elemidx, M.

Примеры

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

Создайте три 5-элементных разнородных ULA с элементами по осям x, y и z. Получение нормалей элемента.

Создайте два типа косинусных антенн.

sCosAnt1 = phased.CosineAntennaElement('CosinePower',[1.5,1.5]);
sCosAnt2 = phased.CosineAntennaElement('CosinePower',[1.8,1.8]);

Сначала выберите ось массива, лежащую вдоль оси X.

sULA1 = phased.HeterogeneousULA('ElementSet',{sCosAnt1,sCosAnt2},...
    'ElementIndices',[1 2 2 2 1],'ArrayAxis','x');
norm = getElementNormal(sULA1)
norm = 2×5

    90    90    90    90    90
     0     0     0     0     0

Нормальные векторы элемента указывают вдоль оси Y.

Затем выберите ось массива вдоль оси Y.

sULA2 = phased.HeterogeneousULA('ElementSet',{sCosAnt1,sCosAnt2},...
    'ElementIndices',[1 2 2 2 1],'ArrayAxis','y');
norm = getElementNormal(sULA2)
norm = 2×5

     0     0     0     0     0
     0     0     0     0     0

Нормальные векторы элемента указывают вдоль оси X.

Наконец, задайте ось массива вдоль оси Z. Получение нормальных векторов нечетных элементов.

sULA3 = phased.HeterogeneousULA('ElementSet',{sCosAnt1,sCosAnt2},...
    'ElementIndices',[1 2 2 2 1],'ArrayAxis','z');
norm = getElementNormal(sULA3,[1,3,5])
norm = 2×3

     0     0     0
     0     0     0

Нормальные векторы элемента также указывают вдоль оси X.

Представлен в R2016a