getElementNormal

System object: phased.ULA
Package: phased

Normal vector to array elements

Syntax

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

Description

normvec = getElementNormal(sULA) returns the normal vectors of the array elements of the phased.ULA 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. Array elements are located along the axis selected in the ArrayAxis property. Element normal vectors are parallel to the array normal. The normal to a ULA array depends upon the selected ArrayAxis property.

ArrayAxis Property ValueArray Normal Direction
'x'azimuth = 90°, elevation = 0° (y-axis)
'y'azimuth = 0°, elevation = 0° (x-axis)
'z'azimuth = 0°, elevation = 0° (x-axis)

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.ULA System object.

Example: sULA = phased.ULA

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 three ULA's with elements along the x-, y-, and z-axes. Obtain the element normals.

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

sULA1 = phased.ULA('NumElements',5,'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.ULA('NumElements',5,'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.ULA('NumElements',5,'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.

Introduced in R2016a