Main Content


System object: phased.HeterogeneousULA
Namespace: phased

Normal vector to array elements


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


normvec = getElementNormal(sULA) returns the normal vectors of the array elements of the phased.HeterogeneousULA System object™, sULA. The output argument normvec is a 2-by-N matrix, where N is the number of elements in array, sULA. 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(sULA,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

Uniform line array, specified as a phased.HeterogeneousULA System object.

Example: sULA = phased.HeterogeneousULA

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.


expand all

Construct three 5-element heterogeneous ULA's with elements along the x-, y-, and z-axes. Obtain the element normals.

Create two types of cosine antennas.

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

First, choose the array axis to lie along the x-axis.

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

The element normal vectors point along the y-axis.

Next, choose the array axis along the y-axis.

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

The element normal vectors point along the x-axis.

Finally, set the array axis along the z-axis. Obtain the normal vectors of the odd-numbered elements.

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

The element normal vectors also point along the x-axis.

Version History

Introduced in R2016a