step

System object: phased.ElementDelay
Package: phased

Calculate delay for elements

Syntax

```TAU = step(H,ANG) ```

Description

Note

Starting in R2016b, instead of using the `step` method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, ```y = step(obj,x)``` and `y = obj(x)` perform equivalent operations.

`TAU = step(H,ANG)` returns the delay `TAU` of each element relative to the array’s phase center for the signal incident directions specified by `ANG`.

Note

The object performs an initialization the first time the object is executed. This initialization locks nontunable properties and input specifications, such as dimensions, complexity, and data type of the input data. If you change a nontunable property or an input specification, the System object issues an error. To change nontunable properties or inputs, you must first call the `release` method to unlock the object.

Input Arguments

 `H` Element delay object. `ANG` Signal incident directions in degrees. `ANG` can be either a 2-by-M matrix or a row vector of length M. This argument can be single or double precision. If `ANG` is a 2-by-M matrix, each column of the matrix specifies the direction in the form [azimuth; elevation]. The azimuth angle must be between –180 and 180 degrees, inclusive. The elevation angle must be between –90 and 90 degrees, inclusive. If `ANG` is a row vector of length M, each element specifies a direction’s azimuth angle. In this case, the corresponding elevation angle is assumed to be 0.

Output Arguments

 `TAU` Delay in seconds.`TAU` is an N-by-M matrix, where N is the number of elements in the array. Each column of `TAU` contains the delays of the array elements for the corresponding direction specified in `ANG`. This argument can be single or double precision.

Examples

expand all

Calculate the element delay for a uniform linear array when the input is impinging on the array from 30° azimuth and 20° elevation.

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent `step` syntax. For example, replace `myObject(x)` with `step(myObject,x)`.

```array = phased.ULA('NumElements',4); delay = phased.ElementDelay('SensorArray',array); tau = delay([30;20])```
```tau = 4×1 10-8 × 0.1175 0.0392 -0.0392 -0.1175 ```