Free Space
Free space.
blockType: FreeSpaceChannel
Path in the library:
|
Description
Block Free Space propagates a signal from one point to another in space. The block simulates propagation time, propagation loss in free space, and Doppler shift. The block assumes that the propagation velocity is much greater than the velocity of the target or array, in which case the "stop-and-hop" model is valid.
When propagating a signal in free space to an object and back, you have a choice: use 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 propagation delay in free space is not necessarily an integer multiple of the calculation step, it may turn out that the total round-trip delay in calculations using a two-way propagation unit differs from the delay in calculations using two one-way propagation units. For this reason, it is recommended to use a single two-way distribution unit whenever possible.
Ports
Entrance
X — narrowband pass signal:q[<br>] complex column vector M by 1
|complex matrix M by N
A narrow-band signal in the form of a complex column vector M by 1 or a complex matrix M by N. The value M is the number of sampled signal values, 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 a changing signal length. A change in size may 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 — pass signal source:q[<br>] real 3-by-1 column vector
| real 3-by-N matrix
The origin of the signal is in the form of a real 3-by-1 column vector or a real 3-by-N matrix. The value N is the number of propagated signals and is equal to the dimension specified in the signal in port X. If Pos1 is a column vector, then it takes the form . If Pos1 is a matrix, each column specifies a different origin of the signal and has 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 meters.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Pos2 — pass signal assignment:q[<br>] real 3-by-1 column vector
| real 3-by-N matrix
The assignment of a signal in the form of a real 3-by-1 column vector or a real 3-by-N matrix. The value N is the number of propagated signals and is equal to the dimension specified in the signal in port X. If Pos2 is a column vector, then it takes the form . If Pos2 is a matrix, each column defines a different origin of the signal and has 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 meters.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Vel1 — start speed of the pass signal:q[<br>] real 3-by-1 column vector
| real 3-by-N matrix
The speed of the signal source in the form of a real 3-by-1 column vector or a real 3-by-N matrix. The value N is the number of propagated signals and is equal to the dimension specified in the signal in port X. If Vel1 is a column vector, then it takes the form . If Vel1 is a matrix, each column defines a different origin of the signal and has 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 meters.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Vel2 — pass signal assignment rate:q[<br>] real 3-by-1 column vector
| real 3-by-N matrix
The speed of signal assignment in the form of a real 3-by-1 column vector or a real 3-by-N matrix. The value N is the number of propagated signals and is equal to the dimension specified in the signal in port X. If Vel2 is a column vector, then it takes the form . If Vel2 is a matrix, each column defines a different origin of the signal and has 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 meters.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Output
Port_1 — propagated narrowband pass signal:q[<br>] complex column vector M by 1
|complex matrix M by N
A common signal returned as a complex column vector M by 1 or a complex matrix M by N.
If X is a column vector or a matrix, Y is also a column vector or a matrix with the same dimensions.
The output data Y contains signal samples arriving at the signal destination during the current time period. The current time interval is defined as the time covered by the current input. Whenever it takes longer than the current time interval for the signal to propagate from the source to the destination, the output data does not contain the input from the current time interval.
Parameters
Propagation speed (m/s) — speed of propagation of the pass signal:q[<br>] 3e8 (default)
| positive scalar
The propagation velocity of the signal in the form of a real positive scalar. The default value is the speed of light: `3e8'.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Signal carrier frequency (Hz) — carrier frequency of the pass signal:q[<br>] 3e8 (default)
| positive scalar
The carrier frequency of the signal in the form of a positive real scalar. The units of measurement are hertz.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Perform two-way propagation — disable two-way propagation
disabled (by default)
| enabled
Select this option to perform two-way propagation between the source and destination. Otherwise, the block performs one-way propagation from the source to the destination.
Inherit sample rate — inherit the sample rate of
enabled (by default)
| disabled
Check the box to inherit the sampling rate from higher-level blocks. Otherwise, set the sampling rate using the Sample rate (Hz) parameter.
Sample rate (Hz) — pass sampling rate:q[<br>] 1e6 (default)
| positive scalar
The sampling frequency of the signal in the form of a positive scalar. The units of measurement are hertz.
Dependencies
To use this option, uncheck 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 (default)
The maximum distance in meters between the starting point and the destination as a positive scalar value. The amplitudes of any signals that propagate 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 output of the block can be written as . Value represents a delay, and — distribution losses. The delay is calculated from , where is the propagation distance, and — the speed of propagation. The losses on the way in free space are determined by the expression
,
where — the wavelength of the signal.
This formula assumes that the target is located in the far zone of the transmitting element or array. In the near-field, the formula for losses along the propagation path in free space is invalid and can lead to losses of less than one, which is equivalent to signal amplification. For this reason, losses are set to one for the range values. .
When there is relative movement between the source and the target, the processing also introduces a frequency shift. This shift corresponds to the Doppler shift between the starting and ending points. The frequency shift is for unilateral distribution and for two-way distribution. Parameter — this is the relative velocity of the target relative to the source.