Main Content

getElementNormal

System object: phased.HeterogeneousConformalArray
Package: phased

Normal vector to array elements

Syntax

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

Description

normvec = getElementNormal(sConfArray) returns the normal vectors of the array elements of the phased.sConfArray System object™, sConfArray. The output argument normvec is a 2-by-N matrix, where N is the number of elements in array, sConfArray. Each column of normvec defines the normal direction of an element in the local coordinate system in the form[az;el]. Units are degrees. The origin of the local coordinate system is defined by the phase center of the array.

normvec = getElementNormal(sConfArray,elemidx) returns only the normal vectors of the elements specified in the element index vector, elemidx. This syntax can use any of the input arguments in the previous syntax.

Input Arguments

expand all

Heterogeneous conformal array, specified as a phased.HeterogeneousConformalArray System object.

Example: phased.HeterogeneousConformalArray

Element indices, specified as a 1-by-M or M-by-1 vector. Index values lie in the range 1 to N where N is the number of elements of the array. When elemidx is specified, getElementNormal returns the normal vectors of the elements contained in elemidx.

Example: [1,5,4]

Output Arguments

expand all

Element normal vectors, specified as a 2-by-P real-valued vector. Each column of normvec takes the form [az,el]. When elemidx is not specified, P equals the array dimension. When elemidx is specified, P equals the length of elemidx, M.

Examples

expand all

Construct a 5-element acoustic cross array (UCA) composed of two different types of cosine antenna elements. Use the Phased.HeterogeneousConformalArray System object. Assume the operating frequency is 4 kHz. A typical value for the speed of sound in seawater is 1500.0 m/s. Display the array normal vectors.

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;
sCos1 = phased.CosineAntennaElement('CosinePower',1.5);
sCos2 = phased.CosineAntennaElement('CosinePower',1.8);
sHCA = phased.HeterogeneousConformalArray('ElementSet',{sCos1,sCos2},...
    'ElementIndices',[1,2,2,2,1],...
    'ElementPosition',[x;y;z],...
    'ElementNormal',[[-20,-10,0,10,20];zeros(1,N)]);
pos = getElementPosition(sHCA)
pos = 3×5

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

normvec = getElementNormal(sHCA)
normvec = 2×5

   -20   -10     0    10    20
     0     0     0     0     0

Introduced in R2016a