Delay Channel#
- class DelayChannelRealization(channel, impulse_response)#
Bases:
ChannelRealization
Realization of a delay channel model.
- Parameters:
channel (Channel) – Channel from which the impulse response was generated.
impulse_response (np.ndarray) – The channel impulse response.
- class DelayChannelBase(model_propagation_loss=True, **kwargs)#
Bases:
Channel
[DelayChannelRealization
]Base of delay channel models.
- Parameters:
model_propagation_loss (bool, optional) – Should free space propagation loss be modeled? Enabled by default.
**kawrgs –
Channel
base class initialization arguments.
- yaml_tag: Optional[str] = 'DelayChannelBase'#
YAML serialization tag.
- property model_propagation_loss: bool#
Should free space propagation loss be modeled?
Returns: Enabled flag.
- realize(num_samples, sampling_rate)#
Generate a new channel impulse response.
Note that this is the core routine from which
Channel.propagate()
will create the channel state.- Parameters:
num_samples (int) – Number of samples \(N\) within the impulse response.
sampling_rate (float) – The rate at which the delay taps will be sampled, i.e. the delay resolution.
- Return type:
- Returns:
Numpy aray representing the impulse response for all propagation paths between antennas. 4-dimensional tensor of size \(M_\mathrm{Rx} \times M_\mathrm{Tx} \times N \times (L+1)\) where \(M_\mathrm{Rx}\) is the number of receiving antennas, \(M_\mathrm{Tx}\) is the number of transmitting antennas, \(N\) is the number of propagated samples and \(L\) is the maximum path delay (in samples). For the ideal channel in the base class \(L = 0\).
- class SpatialDelayChannel(model_propagation_loss=True, **kwargs)#
Bases:
DelayChannelBase
Delay channel based on spatial dimensions.
The spatial delay channel requires both linked devices to specify their assumed positions.
- Parameters:
model_propagation_loss (bool, optional) – Should free space propagation loss be modeled? Enabled by default.
**kawrgs –
Channel
base class initialization arguments.
- yaml_tag: str = 'SpatialDelay'#
YAML serialization tag.
- class RandomDelayChannel(delay, *args, **kwargs)#
Bases:
DelayChannelBase
Delay channel based on random 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.
*args –
Channel
base class initialization parameters.**kwargs –
Channel
base class initialization parameters.
- yaml_tag: str = 'RandomDelay'#
YAML serialization tag.
- property delay: float | Tuple[float, float]#
Assumed propagation delay.
Returns: Delay in seconds.