Cost 259

Inheritance diagram of hermespy.channel.fading.cost259.Cost259

The Cost 259 channel model is a generic model for the simulation of mobile radio channels. Refer to Molisch et al.[1] and Asplund et al.[2] for more information. Parametrizations can be found in the standard Universal Mobile Telecommunications System (UMTS); Deployment aspects[3].

The following minimal example outlines how to configure the channel model within the context of a Simulation:

 1# Initialize two devices to be linked by a channel
 2simulation = Simulation()
 3alpha_device = simulation.new_device(carrier_frequency=1e8)
 4beta_device = simulation.new_device(carrier_frequency=1e8)
 5
 6# Create a channel between the two devices
 7channel = Cost259(model_type=Cost259Type.URBAN)
 8simulation.set_channel(alpha_device, beta_device, channel)
 9
10# Configure communication link between the two devices
11link = SimplexLink()
12alpha_device.transmitters.add(link)
13beta_device.receivers.add(link)
14
15# Specify the waveform and postprocessing to be used by the link
16link.waveform = RRCWaveform(
17    symbol_rate=1e7, oversampling_factor=2, num_data_symbols=1000,
18    num_preamble_symbols=10, pilot_rate=10)
19link.waveform.channel_estimation = SCLeastSquaresChannelEstimation()
20link.waveform.channel_equalization = SCZeroForcingChannelEqualization()
21
22# Configure a simulation to evaluate the link's BER and sweep over the receive SNR
23simulation.add_evaluator(BitErrorEvaluator(link, link))
24simulation.new_dimension('noise_level', dB(0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20), beta_device)
25
26# Run simulation and plot resulting SNR curve
class Cost259(model_type=Cost259Type.URBAN, correlation_distance=inf, num_sinusoids=20, los_angle=None, doppler_frequency=0.0, los_doppler_frequency=None, antenna_correlation=None, gain=1.0, seed=None)[source]

Bases: MultipathFadingChannel

Cost action 259 multipath fading channel model.

Parameters:
  • model_type (Cost259Type) – The model type. By default, an urban model is assumed.

  • correlation_distance (float) – Distance at which channel samples are considered to be uncorrelated. \(\infty\) by default, i.e. the channel is considered to be fully correlated in space.

  • num_sinusoids (int) – Number of sinusoids used to sample the statistical distribution. Denoted by \(N\) within the respective equations.

  • los_angle (float | None) – Angle phase of the line of sight component within the statistical distribution. Will be ignored for the Hilly model type.

  • doppler_frequency (float) – Doppler frequency shift of the statistical distribution. Denoted by \(\omega_{\ell}\) within the respective equations.

  • antenna_correlation (AntennaCorrelation | None) – Antenna correlation model. By default, the channel assumes ideal correlation, i.e. no cross correlations.

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

  • seed (int | None) – Seed used to initialize the pseudo-random number generator.

Raises:

ValueError – If model_type is not supported. If los_angle is defined in HILLY model type.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

Cost259

Returns:

The deserialized object.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property model_type: Cost259Type

Access the configured model type.

Returns: The configured model type.

class Cost259Type(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: SerializableEnum

Supported model types of the Cost256 channel model

HILLY = 2

Hilly terrain

RURAL = 1

Rural area

URBAN = 0

Urban area