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 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.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.
- 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#