Multipath Fading Realization#

class MultipathFadingRealization(alpha_device, beta_device, gain, path_realizations, spatial_response, max_delay, interpolation_mode=InterpolationMode.NEAREST)[source]#

Bases: ChannelRealization, Visualizable

Realization of a multipath fading channel.

Generated by the realize() routine of MultipathFadingChannels.

Parameters:
  • alpha_device (Device) – First device linked by the MultipathFadingChannel instance that generated this realization.

  • beta_device (Device) – Second device linked by the MultipathFadingChannel instance that generated this realization.

  • gain (float) – Linear power gain factor a signal experiences when being propagated over this realization.

  • path_realizations (Sequence[PathRealization]) – Realizations of the individual propagation paths.

  • spatial_response (numpy.ndarray) – Spatial response matrix of the channel realization considering alpha_device is the transmitter and beta_device is the receiver.

  • interpolation_mode (InterpolationMode, optional) – Interpolation behaviour of the channel realization’s delay components with respect to the proagated signal’s sampling rate.

classmethod From_HDF(group, alpha_device, beta_device)[source]#

De-Serialized the object state from HDF5.

Recalls the object’s state from a HDF5 group.

Parameters:
  • group (h5py.Group) – The HDF5 group from which the object state is recalled.

  • alpha_device (Device) – First device linked by the Channel instance that generated this realization.

  • beta_device (Device) – Second device linked by the Channel instance that generated this realization.

Return type:

MultipathFadingRealization

Returns: The object initialized from the HDF5 group state.

classmethod Realize(alpha_device, beta_device, gain, power_profile, delays, los_gains, nlos_gains, los_doppler, nlos_doppler, alpha_correlation=None, beta_correlation=None, los_angle=None, num_sinusoids=20, rng=None)[source]#

Realize the random variables of a multipath fading channel.

Parameters:
  • alpha_device (SimulatedDevice) – First device linked by the channel.

  • beta_device (SimulatedDevice) – Second device linked by the channel.

  • gain (float) – Overall channel gain factor.

  • power_profile (numpy.ndarray) – Powers of each propagation path.

  • delays (numpy.ndarray) – Delays of each propgation path.

  • los_gains (numpy.ndarray) – Line of sight powers of each propagation path.

  • nlos_gains (numpy.ndarray) – Non line lof sight powers of each proapgation path.

  • los_doppler (float) – Line of sight doppler frequency of each propagation path.

  • nlos_doppler (float) – Non line of sight dopller frequency of each propagation path.

  • alpha_correlation (AntennaCorrelation, optional) – Antenna correlations at alpha_device.

  • beta_correlation (AntennaCorrelation, optional) – Antennna correlations at beta_device.

  • los_angle (float, optional) – Line of sight doppler angle in radians.

  • num_sinusoids (int, optional) – Number of model sinusoids. Defaults to 20.

  • rng (numpy.random.Generator, optional) – Random generator used to realize the random variables.

Return type:

MultipathFadingRealization

Returns: The realized realization.

state(transmitter, receiver, delay, sampling_rate, num_samples, max_num_taps)[source]#

Generate the discrete channel state information from this channel realization.

Denoted by

\[\mathbf{H}^{(m, \tau)} \in \mathbb{C}^{N_{\mathrm{Rx}} \times N_{\mathrm{Tx}}}\]

within the respective equations.

Parameters:
  • transmitter (Device) – Device transmitting the signal for which the channel state information is generated.

  • receiver (Device) – Device receiving the signal for which the channel state information is generated.

  • delay (float) – Delay in seconds at which the state information should be generated.

  • sampling_rate (float) – Sampling rate of the state information’s discrete samples in \(\mathrm{Hz}\).

  • num_samples (int) – Number of discrete time-domain samples of the chanel state information.

  • max_num_taps (int) – Maximum number of delay taps considered per discrete time-domain sample.

Return type:

ChannelStateInformation

Returns: The channel state information representing this channel realization.

to_HDF(group)[source]#

Serialize the object state to HDF5.

Dumps the object’s state and additional information to a HDF5 group.

Parameters:

group (h5py.Group) – The HDF5 group to which the object is serialized.

Return type:

None

property path_realizations: Sequence[PathRealization]#

Realizations of the individual propagation paths.