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