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.

xtgt = [10000,4000,500].';
vtgt = [0,0,0].';

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

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