Main Content

getElementNormal

System object: phased.HeterogeneousURA
Namespace: phased

Normal vector to array elements

Syntax

normvec = getElementNormal(sURA)
normvec = getElementNormal(sURA,elemidx)

Description

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

Example: sULA = phased.HeterogeneousURA

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. You can determine element indices using the viewArray object function.

Examples

expand all

Construct three 2-by-2 URA's with element normals along the x-, y-, and z-axes. Obtain the element positions and normal directions.

First, choose the array normal along the x-axis.

sURA1 = phased.URA('Size',[2,2],'ArrayNormal','x');
pos = getElementPosition(sURA1)
pos = 3×4

         0         0         0         0
   -0.2500   -0.2500    0.2500    0.2500
    0.2500   -0.2500    0.2500   -0.2500

normvec = getElementNormal(sURA1)
normvec = 2×4

     0     0     0     0
     0     0     0     0

All elements lie in the yz-plane and the element normal vectors point along the x-axis (0°,0°).

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

sURA2 = phased.URA('Size',[2,2],'ArrayNormal','y');
pos = getElementPosition(sURA2)
pos = 3×4

    0.2500    0.2500   -0.2500   -0.2500
         0         0         0         0
    0.2500   -0.2500    0.2500   -0.2500

normvec = getElementNormal(sURA2)
normvec = 2×4

    90    90    90    90
     0     0     0     0

All elements lie in the zx-plane and the element normal vectors point along the y-axis (90°,0°).

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

sURA3 = phased.URA('Size',[2,2],'ArrayNormal','z');
pos = getElementPosition(sURA3)
pos = 3×4

   -0.2500   -0.2500    0.2500    0.2500
    0.2500   -0.2500    0.2500   -0.2500
         0         0         0         0

normvec = getElementNormal(sURA3,[1,3])
normvec = 2×2

     0     0
    90    90

All elements lie in the xy-plane and the element normal vectors point along the z-axis (0°,90°).

Version History

Introduced in R2016a