Main Content

getElementNormal

System object: phased.UCA
Package: phased

Normal vectors for array elements

Syntax

normvec = getElementNormal(sArray)
normvec = getElementNormal(sArray,elemidx)

Description

normvec = getElementNormal(sArray) returns the element normals of the phased.UCA System object™, sArray. normv is a 2-by-N matrix, where N is the number of elements in sArray. Each column of normv specifies the normal direction of the corresponding element in the local coordinate system in the form [azimuth;elevation]. Units are degrees. For details regarding the local coordinate system of a UCA, type

phased.UCA.coordinateSystemInfo;
at the command line.

normvec = getElementNormal(sArray,elemidx) returns only the normals of the elements that are specified in the element index vector elemidx.

Input Arguments

expand all

Uniform circular array, specified as a phased.UCA System object.

Example: phased.UCA

Element index vector, specified as a vector of positive integers each of which takes a value from 1 to N. The dimension N is the number of elements of the array.

Example: [1,2,3]

Output Arguments

expand all

Normal vector of array elements, returned as a 2-by-M real matrix. Each column of normvec specifies the normal direction of the corresponding element in the local coordinate system in the form [azimuth;elevation]. Units are degrees. If the input argument elemidx is not specified, M is the number of elements of the array, N. If elemidx is specified, M is the dimension of elemidx.

Examples

expand all

Construct three different 7-element UCA with a radius of 0.5 meters, and obtain the normal vectors of the middle three elements. Choose the array normal vectors to point along the x-, y-, and z-axes.

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

sUCA1 = phased.UCA('NumElements',7,'Radius',0.5,'ArrayNormal','x');
pos = getElementPosition(sUCA1,[3,4,5])
pos = 3×3

         0         0         0
    0.3117    0.5000    0.3117
   -0.3909         0    0.3909

normvec = getElementNormal(sUCA1,[3,4,5])
normvec = 2×3

   90.0000   90.0000   90.0000
  -51.4286         0   51.4286

These outputs show that the array elements lie in the yz-plane. The normal vectors of the array elements also lie in the yz-plane and point outward like spokes on a wheel.

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

sUCA2 = phased.UCA('NumElements',7,'Radius',0.5,'ArrayNormal','y');
pos = getElementPosition(sUCA2,[3,4,5])
pos = 3×3

    0.3117    0.5000    0.3117
         0         0         0
   -0.3909         0    0.3909

normvec = getElementNormal(sUCA2,[3,4,5])
normvec = 2×3

         0         0         0
  -51.4286         0   51.4286

These outputs show that the array elements lie in the zx-plane. The normal vectors of the array elements also lie in the zx-plane and also point outward.

Finally, set the array normal along the z-axis. This is the default value of array normal.

sUCA3 = phased.UCA('NumElements',7,'Radius',0.5,'ArrayNormal','z');
pos = getElementPosition(sUCA3,[3,4,5])
pos = 3×3

    0.3117    0.5000    0.3117
   -0.3909         0    0.3909
         0         0         0

normvec = getElementNormal(sUCA3,[3,4,5])
normvec = 2×3

  -51.4286         0   51.4286
         0         0         0

These outputs show that the array elements lie in the xy-plane. The normal vectors of the array elements also lie in the xy-plane and also point outward.

Introduced in R2015a