Quadriga Channel Model

class QuadrigaChannel(*args, interface=None, **kwargs)

Bases: hermespy.channel.channel.Channel

Quadriga Channel Model.

Maps the output of the QuadrigaInterface to fit into hermes software architecture.

Parameters

interface (Optional[QuadrigaInterface], optional) – Specifies the consisdered Quadriga interface. Defaults to None.

yaml_tag: str = 'Quadriga'

YAML serialization tag.

yaml_matrix = True
impulse_response(num_samples, sampling_rate)

Sample a new channel impulse response.

Note that this is the core routine from which propagate will create the channel state.

Parameters
  • num_samples (int) – Number of samples within the impulse response.

  • sampling_rate (float) – The rate at which the delay taps will be sampled, i.e. the delay resolution.

Returns

Impulse response in all number_rx_antennas x number_tx_antennas. 4-dimensional array of size T x number_rx_antennas x number_tx_antennas x (L+1) where L is the maximum path delay (in samples). For the ideal channel in the base class, L = 0.

Return type

np.ndarray

classmethod to_yaml(representer, node)

Serialize a QuadrigaChannel object to YAML.

Parameters
  • representer (SafeRepresenter) – A handle to a representer used to generate valid YAML code. The representer gets passed down the serialization tree to each node.

  • node (QuadrigaChannel) – The QuadrigaChannel instance to be serialized.

Returns

The serialized YAML node.

Return type

Node

classmethod from_yaml(constructor, node)

Recall a new QuadrigaChannel instance from YAML.

Parameters
  • constructor (SafeConstructor) – A handle to the constructor extracting the YAML information.

  • node (Node) – YAML node representing the QuadrigaChannel serialization.

Returns

Newly created QuadrigaChannel instance. The internal references to modems will be None and need to be initialized by the scenario YAML constructor.

Return type

QuadrigaChannel