exponenta event banner

getElementNormal

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

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

Синтаксис

normvec = getElementNormal(sConfArray)
normvec = getElementNormal(sConfArray,elemidx)

Описание

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

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

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

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

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

Пример: phased.ConformalArray

Индексы элементов, заданные как вектор 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.

Примеры

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

Создайте пятиэлементный акустический перекрестный массив (UCA) с помощью объекта ConformalArray System. Предположим, что рабочая частота составляет 4 кГц. Типичное значение скорости звука в морской воде - 1500,0 м/с. Отображение нормальных векторов массива.

N = 5;
fc = 4000;
c = 1500.0;
lam = c/fc;
x = zeros(1,N);
y = [-1,0,1,0,0]*lam/2;
z = [0,0,0,-1,1]*lam/2;
sMic = phased.OmnidirectionalMicrophoneElement(...
    'FrequencyRange',[0,10000],'BackBaffled',true);
sConformArray = phased.ConformalArray('Element',sMic,...
    'ElementPosition',[x;y;z],...
    'ElementNormal',[45*ones(1,N);zeros(1,N)]);
pos = getElementPosition(sConformArray)
pos = 3×5

         0         0         0         0         0
   -0.1875         0    0.1875         0         0
         0         0         0   -0.1875    0.1875

normvec = getElementNormal(sConformArray)
normvec = 2×5

    45    45    45    45    45
     0     0     0     0     0

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