getElementNormal

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

Вектор нормали к элементам массива

Синтаксис

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

Описание

normvec = getElementNormal(sConfArray) возвращает нормальные векторы элементов массива phased.sConfArray Системные object™, sConfArray. Выходной аргумент normvec является матрицей N 2 байта, где 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-байтовый P действительный вектор. Каждый столбец normvec принимает форму [az,el]. Когда elemidx не задан, P равен измерению массива. Когда elemidx задан, P равен длине elemidx, M.

Примеры

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

Создайте 5-элементный акустический перекрестный массив (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