Random Delay Channel¶
Delay channel assuming a uniformly distributed random propagation between the linked devices. Its impulse response between two devices \(\alpha\) and \(\beta\) featuring \(N^{(\alpha)}\) and \(N^{(\beta)}\) antennas, respectively, is given by
The assumed propagation delay is drawn from the uniform distribution
and lies in the interval between \(\tau_\mathrm{Min}\) and \(\tau_\mathrm{Max}\). The sensor array response \(\mathbf{A}^{(\alpha,\beta)}\) is always assumed to be the identity matrix.
The following minimal example outlines how to configure the channel model
within the context of a Simulation
:
- class RandomDelayChannel(delay, decorrelation_distance=inf, **kwargs)[source]¶
Bases:
DelayChannelBase
[RandomDelayChannelRealization
]Delay channel assuming random propagation delays.
- Parameters:
delay (float | Tuple[float, float]) – Assumed propagation delay in seconds. If a scalar floating point, the delay is assumed to be constant. If a tuple of two floats, the tuple values indicate the mininum and maxium values of a uniform distribution, respectively.
decorrelation_distance (float, optional) – Distance in meters at which the channel decorrelates. By default, the channel is assumed to be static in space.
**kwargs –
Channel
base class initialization parameters.
- _realize()[source]¶
Generate a new channel realzation.
Abstract subroutine of
realize
. EachChannel
is required to implement their own_realize()
method.Returns: A new channel realization.
- Return type:
- recall_realization(group)[source]¶
Recall a realization of this channel type from its HDF serialization.
- Parameters:
group (h5py.Group) – HDF group to which the channel realization was serialized.
- Return type:
Returns: The recalled realization instance.
- property decorrelation_distance: float¶
Distance in meters at which the channel decorrelates.
- Raises:
ValueError – If the decorrelation distance is set to a negative value.
- property delay: float | Tuple[float, float]¶
Assumed propagation delay in seconds.
If set to a scalar floating point, the delay is assumed to be constant. If set to a tuple of two floats, the tuple values indicate the mininum and maxium values of a uniform distribution, respectively.
- Raises:
ValueError – If the delay is set to a negative value.
ValueError – If the delay is set to a tuple of two values where the first value is greater than the second value.
- class RandomDelayChannelRealization(consistent_realization, delay_variable, delay, model_propagation_loss, sample_hooks, gain)[source]¶
Bases:
DelayChannelRealization
Realization of a random delay channel.
Generated from
RandomDelayChannel's
_realize
routine.- Parameters:
- to_HDF(group)[source]¶
Serialize the channel realization to HDF5.
- Parameters:
group (Group) – HDF5 group to serialize the channel realization to.
- Return type:
- property delay: float | Tuple[float, float]¶
Assumed propagation delay in seconds.
If set to a scalar floating point, the delay is assumed to be constant. If set to a tuple of two floats, the tuple values indicate the mininum and maxium values of a uniform distribution, respectively.
- Raises:
ValueError – If the delay is set to a negative value.
ValueError – If the delay is set to a tuple of two values where the first value is greater than the second value.