5G TDL¶
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 = TDL(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()
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=1e8, oversampling_factor=2, num_data_symbols=1000,
18 num_preamble_symbols=10, pilot_rate=10
19)
20link.waveform.channel_estimation = SCLeastSquaresChannelEstimation()
21link.waveform.channel_equalization = SCZeroForcingChannelEqualization()
22
23# Configure a simulation to evaluate the link's BER and sweep over the receive SNR
24simulation.add_evaluator(BitErrorEvaluator(link, link))
25simulation.new_dimension('noise_level', dB(0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20), beta_device)
26
27# Run simulation and plot resulting SNR curve
- class TDL(model_type=TDLType.A, rms_delay=0.0, gain=1.0, doppler_frequency=None, los_doppler_frequency=None, **kwargs)[source]¶
Bases:
MultipathFadingChannel
5G TDL Multipath Fading Channel models.
- 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 thealpha_device
property. If not specified the channel is considered floating, meaning a call torealize
will raise an exception.beta_device (SimulatedDevice, optional) – Second device linked by this
MultipathFading5GTDL
channel. Initializes thebeta_device
property. If not specified the channel is considered floating, meaning a call torealize()
will raise an exception.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.
- 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¶