5G TDL Channel Model#

class MultipathFading5GTDL(model_type=TDLType.A, rms_delay=0.0, alpha_device=None, beta_device=None, gain=1.0, doppler_frequency=None, los_doppler_frequency=None, **kwargs)[source]#

Bases: MultipathFadingChannel

5G TDL Multipath Fading Channel models.

Implementation of the 3GPP standard parameterizations as stated in ETSI TR 38.900 [1]. Five scenario types A-E are defined, differing in the number of considered paths and the path’s respective delay and power.

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 = MultipathFading5GTDL(model_type=TDLType.B, rms_delay=1e-9)
 8simulation.set_channel(alpha_device, beta_device, channel)
 9
10# Configure communication link between the two devices
11link = SimplexLink(alpha_device, beta_device)
12
13# Specify the waveform and postprocessing to be used by the link
14link.waveform = RRCWaveform(
15    symbol_rate=1e8, oversampling_factor=2, num_data_symbols=1000, 
16    num_preamble_symbols=10, pilot_rate=10
17)
18link.waveform.channel_estimation = SCLeastSquaresChannelEstimation()
19link.waveform.channel_equalization = SCZeroForcingChannelEqualization()
20
21# Configure a simulation to evaluate the link's BER and sweep over the receive SNR
22simulation.add_evaluator(BitErrorEvaluator(link, link))
23simulation.new_dimension('snr', dB(0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20))
24
25# Run simulation and plot resulting SNR curve
26result = simulation.run()
27result.plot()
Parameters:
  • model_type (TYPE) – The model type. Initializes the model_type attribute.

  • rms_delay (float) – Root-Mean-Squared delay in seconds. Initializes the rms_delay attribute.

  • alpha_device (SimulatedDevice, optional) – First device linked by this MultipathFading5GTDL channel instance. Initializes the alpha_device property. If not specified the channel is considered floating, meaning a call to realize will raise an exception.

  • beta_device (SimulatedDevice, optional) – Second device linked by this MultipathFading5GTDL channel. Initializes the beta_device property. If not specified the channel is considered floating, meaning a call to realize() will raise an exception.

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

  • num_sinusoids (int, optional) – Number of sinusoids used to sample the statistical distribution.

  • doppler_frequency (float, optional) – Doppler frequency shift of the statistical distribution.

  • kwargs (Any) – Additional MultipathFadingChannel initialization parameters.

Raises:
  • ValueError – If rms_delay is smaller than zero.

  • ValueError – If los_angle is specified in combination with model_type D or E.

property model_type: TDLType#

Access the configured model type.

Returns:

The configured model type.

Return type:

MultipathFading5gTDL.TYPE

property rms_delay: float#

Root mean squared channel delay.

Returns: Delay in seconds.

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

Bases: SerializableEnum

Supported model types of the 5G TDL channel model

A = 0#
B = 1#
C = 2#
D = 4#
E = 5#