Free Space
Free space.
Description
The Free Space block propagates a signal from one point to another in space. The block models propagation time, propagation loss in free space and Doppler shift. The block assumes that the propagation velocity is much greater than the target or array velocity, in which case the stop-and-hop model is valid.
When propagating a signal in free space to and from an object, you have the choice of using one block to calculate the two-way propagation delay in free space or two blocks to perform one-way propagation delays in each direction. Since the free-space propagation delay is not necessarily an integer multiple of the calculation step, it may be that the total round-trip delay in the calculation when using a two-way propagation block is different from the delay in the calculation when using two one-way propagation blocks. For this reason, it is recommended that a single two-way propagation unit be used whenever possible.
Ports
Input
X - narrowband signal
complex vector-column M by 1
| complex matrix M by N
Narrowband signal in the form of complex vector-column M by 1 or complex matrix M by N. The value of M is the number of sampled values of the signal, and N is the number of signals to propagate. When you specify N signals, you need to specify N signal sources or N signal destinations.
The size of the first dimension of the input matrix can be varied to simulate varying signal lengths. Size variation can occur, for example, in the case of a pulse signal with a variable pulse repetition rate.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Pos1 - signal source
valid vector-column 3 by 1
| valid matrix 3 by N
The origin of the signal is in the form of a valid vector-column 3 by 1 or a valid matrix 3 by N. The value of N is the number of propagated signals and is equal to the dimension specified in the signal at port X. If Pos1 is a column vector, it takes the form . If Pos1 is a matrix, each column specifies a different signal origin and is of the form . Pos1 and Pos2 cannot both be specified as matrices - at least one must be a 3 by 1 column vector. The units of position are metres.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Pos2 - signal assignment
valid column vector 3 by 1
| valid matrix 3 by N
Assignment of the signal as a valid vector-column 3 by 1 or a valid matrix 3 by N. The value of N is the number of signals to be propagated and is equal to the dimension specified in the signal at port X. If Pos2 is a column vector, it takes the form . If Pos2 is a matrix, each column specifies a different signal origin and is of the form . Pos1 and Pos2 cannot both be specified as matrices - at least one must be a 3 by 1 column vector. The units of position are metres.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Vel1 - velocity of the beginning of the signal
valid column vector 3 by 1
| valid matrix 3 by N
The source velocity of a signal in the form of a valid vector-column 3 by 1 or a valid matrix 3 by N. The value of N is the number of signals to be propagated and is equal to the dimension specified in the signal to port X. If Vel1 is a column vector, it takes the form . If Vel1 is a matrix, each column specifies a different signal origin and is of the form . Vel1 and Vel2 cannot both be specified as matrices - at least one must be a 3 by 1 column vector. The units of position are metres.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Vel2 - rate of signal assignment
valid column vector 3 by 1
| valid matrix 3 by N
The rate of assignment of a signal as a valid vector-column 3 by 1 or a valid matrix 3 by N. The value of N is the number of signals to be propagated and is equal to the dimensionality specified in the signal to port X. If Vel2 is a column vector, it takes the form . If Vel2 is a matrix, each column specifies a different signal origin and is of the form . Vel1 and Vel2 cannot both be specified as matrices - at least one must be a 3 by 1 column vector. The units of position are metres.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Output
Port_1 - propagated narrowband signal
complex vector-column M by 1
| complex matrix M by N
A propagated signal returned as a complex vector-column M by 1 or a complex matrix M by N.
If X is a column vector or matrix, Y is also a column vector or matrix with the same dimensions.
The output of Y contains the signal samples arriving at the signal destination during the current time interval. The current time period is defined as the time covered by the current input. Whenever it takes longer than the current time interval to propagate the signal from the source to the destination, the output data does not contain the contribution from the current time interval input.
Parameters
*Propagation speed (m/s)` - the propagation speed of the signal
3e8 (by default)
| positive scalar
Signal propagation speed as a real positive scalar. By default, the value of the speed of light is 3e8
.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Signal carrier frequency (Hz) - carrier frequency of the signal
3e8 (By default)
| positive scalar
The carrier frequency of the signal as a positive real scalar. The unit of measurement is hertz.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Perform two-way propagation - switch off two-way propagation
off (by default)
| on
Select this check box to perform two-way propagation between source and destination. Otherwise, the unit performs one-way propagation from source to destination.
Inherit sample rate - inherit sample rate
On (By default)
| Off
.
Select the checkbox to inherit sample rate from upstream blocks. Otherwise, set the sample rate using the Sample rate (Hz) parameters.
Sample rate (Hz) - sampling rate
1e6 (By default)
| Positive scalar
The sampling frequency of the signal as a positive scalar. The unit of measurement is hertz.
Dependencies
To use this parameters, clear the Inherit sample rate checkbox.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
.
Maximum one-way propagation distance (m) - maximum one-way propagation distance
10e3 (By default)
The maximum distance in metres between the starting point and the destination as a positive scalar quantity. The amplitudes of any signals that extend beyond this distance will be set to zero.
Algorithms
Propagation delay, Doppler shift and path loss in free space
When the source and target are stationary relative to each other, the block output can be written as . The value represents the delay and represents the propagation loss. The delay is calculated from , where is the propagation distance and is the propagation velocity. The free-space path loss is defined by the expression
,
where is the wavelength of the signal.
This formula assumes that the target is in the far zone of the transmitting element or array. In the near zone, the free-space propagation path loss formula is invalid and may result in a loss less than unity, which is equivalent to signal gain. For this reason, the loss is set equal to unity for range values .
When there is relative motion between source and target, processing also introduces a frequency shift. This shift corresponds to the Doppler shift between the source and target points. The frequency shift is for one-way propagation and for two-way propagation. The parameters is the relative velocity of the target relative to the source.