Quadriga

Inheritance diagram of hermespy.channel.quadriga.quadriga.QuadrigaChannel, hermespy.channel.quadriga.quadriga.QuadrigaChannelRealization, hermespy.channel.quadriga.quadriga.QuadrigaChannelSample

The QUAsi Determinstic RadIo channel GenerAtor (QuaDRiGa) channel model is a Matlab based tool for generating radio channel impulse responses in multi-node networks of radio devices [1][2]. It is integrated into Hermes as a channel model plugin, with the generation of new channel realizations triggering an execution of Quadriga’s Matlab scripts via either the Matlab Python API or Octave. Please refer to the Installation hints for the required setup.

        classDiagram

   class QuadrigaChannel {

      +realize()
      +propagate()
   }

   class QuadrigaChannelRealization {

      +propagate()
   }

   class QuadrigaInterface {

      <<Abstract>>

      +get_impulse_response()
   }

   QuadrigaChannel o-- QuadrigaChannelRealization : realize()

   QuadrigaChannel *-- QuadrigaInterface

   click QuadrigaChannel href "channel.quadriga.QuadrigaChannel.html"
   click QuadrigaChannelRealization href "channel.quadriga.QuadrigaChannelRealization.html"
   click QuadrigaInterface href "channel.quadriga.QuadrigaInterface.html"
    
class QuadrigaChannel(*args, interface=None, **kwargs)[source]

Bases: Channel[QuadrigaChannelRealization, QuadrigaChannelSample]

Quadriga Channel Model.

Maps the output of the QuadrigaInterface to fit into Hermes’ software architecture.

Parameters:

interface (QuadrigaInterface, optional) – Specifies the consisdered Quadriga interface.

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:

QuadrigaChannelRealization

Returns: The recalled realization instance.

class QuadrigaChannelRealization(interface, sample_hooks, gain)[source]

Bases: ChannelRealization[QuadrigaChannelSample]

Realization of a quadriga channel model.

Parameters:
  • quadriga_interface (QuadrigaInterface) – Interface to the Quadriga channel model.

  • sample_hooks (Set[ChannelSampleHook[QuadrigaChannelSample]]) – Hooks to be called when a new sample is generated.

  • gain (float) – Linear channel power gain factor.

static From_HDF(group, quadriga_interface, sample_hooks)[source]
Return type:

QuadrigaChannelRealization

to_HDF(group)[source]

Serialize the channel realization to HDF5.

Parameters:

group (Group) – HDF5 group to serialize the channel realization to.

Return type:

None

class QuadrigaChannelSample(path_gains, path_delays, gain, state)[source]

Bases: ChannelSample

Sample of a quadriga channel model.

Parameters:
  • path_gains (numpy.ndarray) – Path gains.

  • path_delays (numpy.ndarray) – Path delays.

  • gain (float) – Channel gain.

  • state (ChannelState) – Channel state at which the sample was generated.

state(num_samples, max_num_taps, interpolation_mode=InterpolationMode.NEAREST)[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:
  • 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.

  • interpolation_mode (InterpolationMode, optional) – Interpolation behaviour of the channel realization’s delay components with respect to the proagated signal’s sampling rate. If not specified, an integer rounding to the nearest sampling instance will be assumed.

Return type:

ChannelStateInformation

Returns: The channel state information representing this channel realization.

property expected_energy_scale: float

Expected linear scaling of a propagated signal’s energy at each receiving antenna.

Required to compute the expected energy of a signal after propagation, and therfore signal-to-noise ratios (SNRs) and signal-to-interference-plus-noise ratios (SINRs).

property path_delays: ndarray

Path delays.

property path_gains: ndarray

Path gains.