# step

System object: phased.LOSChannel
Package: phased

Propagate signal in LOS channel

## Syntax

```prop_sig = step(sLOS,sig,origin_pos,dest_pos,origin_vel,dest_vel) ```

## 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.

`prop_sig = step(sLOS,sig,origin_pos,dest_pos,origin_vel,dest_vel)` returns the resulting signal, `prop_sig`, when a narrowband signal, `sig`, propagates through a line-of-sight (LOS) channel from a source located at the `origin_pos` position to a destination at the `dest_pos` position. Only one of the `origin_pos` or `dest_pos` arguments can specify multiple positions. The other must contain a single position. The velocity of the signal origin is specified in `origin_vel` and the velocity of the signal destination is specified in `dest_vel`. The dimensions of `origin_vel` and `dest_vel` must match the dimensions of `origin_pos` and `dest_pos`, respectively.

Electromagnetic fields propagating through an LOS channel can be polarized or nonpolarized. For nonpolarized fields, the propagating signal field, `sig`, is a vector or matrix. For polarized fields, `sig` is an array of structures. The structure elements represent an electric field vector in Cartesian form.

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

expand all

LOS channel, specified as a `phased.LOSChannel` System object.

Example: `phased.LOSChannel`

Narrowband signal, specified as a matrix or `struct` array, depending on whether is signal or polarized or nonpolarized. The quantity M is the number of samples in the signal, and N is the number of LOS channels. Each channel corresponds to a source-destination pair.

• Narrowband nonpolarized scalar signal. Specify `sig` as an M-by-N complex-valued matrix. Each column contains one signal propagated along the line-of-sight path.

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

• Narrowband polarized signal. Specify `sig` as a 1-by-N `struct` array containing complex-valued fields. Each `struct` represents a polarized signal propagated along the line-of-sight path. Each `struct` element contains three M-by-1 complex-valued column vectors, `sig.X`, `sig.Y`, and `sig.Z`. These vectors represent the x, y, and z Cartesian components of the polarized signal.

The size of the first dimension of the matrix fields within the `struct` can vary to simulate a changing signal length such as a pulse waveform with variable pulse repetition frequency.

Example: `[1,1;j,1;0.5,0]`

Data Types: `double`
Complex Number Support: Yes

Origin of signals, specified as a 3-by-1 real-valued column vector or 3-by-N real-valued matrix. The quantity N is the number of LOS channels. If `origin_pos` is a column vector, it takes the form `[x;y;z]`. If `origin_pos` is a matrix, each column specifies a different signal origin and has the form `[x;y;z]`. Units are in meters.

You cannot specify both `origin_pos` and `dest_pos` as matrices. At least one must be a 3-by-1 column vector.

Example: `[1000;100;500]`

Data Types: `double`

Destination position of the signal or signals, specified as a 3-by-1 real-valued column vector or 3-by-N real-valued matrix. The quantity N is the number of LOS channels propagating from or to N signal origins. If `dest_pos` is a 3-by-1 column vector, it takes the form `[x;y;z]`. If `dest_pos` is a matrix, each column specifies a different signal destination and takes the form `[x;y;z]` Position units are in meters.

You cannot specify both `origin_pos` and `dest_pos` as matrices. At least one must be a 3-by-1 column vector.

Example: `[0;0;0]`

Data Types: `double`

Velocity of signal origin, specified as a 3-by-1 real-valued column vector or 3-by-N real-valued matrix. The dimensions of `origin_vel` must match the dimensions of `origin_pos`. If `origin_vel` is a column vector, it takes the form `[Vx;Vy;Vz]`. If `origin_vel` is a 3-by-N matrix, each column specifies a different origin velocity and has the form `[Vx;Vy;Vz]`. Velocity units are in meters per second.

Example: `[10;0;5]`

Data Types: `double`

Velocity of signal destinations, specified as a 3-by-1 real-valued column vector or 3-by-N real-valued matrix. The dimensions of `dest_vel` must match the dimensions of `dest_pos`. If `dest_vel` is a column vector, it takes the form `[Vx;Vy;Vz]`. If `dest_vel` is a 3-by-N matrix, each column specifies a different destination velocity and has the form `[Vx;Vy;Vz]` Velocity units are in meters per second.

Example: `[0;0;0]`

Data Types: `double`

## Output Arguments

expand all

Narrowband signal, returned as a matrix or `struct` array, depending on whether signal is polarized or nonpolarized. The quantity M is the number of samples in the signal and N is the number of narrowband LOS channels. Each channel corresponds to a source-destination pair.

• Narrowband nonpolarized scalar signal. `prop_sig` is an M-by-N complex-valued matrix.

• Narrowband polarized scalar signal. `prop_sig` is a 1-by-N `struct` array containing complex-valued fields. Each `struct` element contains three M-by-1 complex-valued column vectors, `sig.X`, `sig.Y`, and `sig.Z`. These vectors represent the x, y, and z Cartesian components of the polarized signal.

The `prop_sig` output contains signal samples arriving at the signal destination within the current time frame. The current time frame is the time frame of the input signals to `step`. Whenever it takes longer than the current time frame for the signal to propagate from the origin to the destination, the output might not contain all contributions from the input of the current time frame. The remaining output appears in the next call to `step`.

## Examples

expand all

Propagate a sinusoidal signal in a line of sight (LOS) channel from a radar at (1000,0,0) meters to a target at (10000,4000,500) meters. Assume the signal propagates in medium fog specified by a liquid water density of 0.05 $g/{m}^{3}$. Assume that the radar and the target are stationary. The signal carrier frequency is 10 GHz. The signal frequency is 500 Hz and the sample rate is 8.0 kHz.

Set up the transmitted signal.

```fs = 8.0e3; dt = 1/fs; fsig = 500.0; fc = 10.0e9; t = [0:dt:.01]; sig = sin(2*pi*fsig*t);```

Set the liquid water density and specify the LOS channel System object™.

```lwd = 0.05; channel = phased.LOSChannel('SampleRate',fs,'SpecifyAtmosphere',true,... 'LiquidWaterDensity',lwd,'OperatingFrequency',fc);```

Set the origin and destination of the signal.

```xradar = [1000,0,0].'; vradar = [0,0,0].'; xtgt = [10000,4000,500].'; vtgt = [0,0,0].';```

Propagate the signal from origin to destination and plot the result.

```prog_sig = channel(sig.',xradar,xtgt,vradar,vtgt); plot(t*1000,real(prog_sig)) grid xlabel('Time (milliseconds)') ylabel('Amplitude')```

## References

[1] Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.676-10: Attenuation by atmospheric gases. 2013.

[2] Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.840-6: Attenuation due to clouds and fog. 2013.

[3] Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.838-3: Specific attenuation model for rain for use in prediction methods. 2005.

[4] Seybold, J. Introduction to RF Propagation. New York: Wiley & Sons, 2005.

## Version History

Introduced in R2016a