Exponential Channel Model#

class MultipathFadingExponential(tap_interval, rms_delay, alpha_device=None, beta_device=None, gain=1.0, **kwargs)[source]#

Bases: MultipathFadingChannel

Exponential Multipath Fading Channel models.

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 = MultipathFadingExponential(1e-8, 1e-7)
 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)
17link.waveform.channel_estimation = SCLeastSquaresChannelEstimation()
18link.waveform.channel_equalization = SCZeroForcingChannelEqualization()
19
20# Configure a simulation to evaluate the link's BER and sweep over the receive SNR
21simulation.add_evaluator(BitErrorEvaluator(link, link))
22simulation.new_dimension('snr', dB(0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20))
23
24# Run simulation and plot resulting SNR curve
25result = simulation.run()
26result.plot()
Parameters:
  • tap_interval (float) – Tap interval in seconds.

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

  • alpha_device (SimulatedDevice, optional) – First device linked by the MultipathFadingExponential instance that generated this realization.

  • beta_device (SimulatedDevice, optional) – Second device linked by the MultipathFadingExponential instance that generated this realization.

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

  • kwargs (Any) – MultipathFadingChannel initialization parameters.

Raises:

ValueError – On invalid arguments.

property rms_delay: float#

Root mean squared channel delay.

Returns: Delay in seconds.

property tap_interval: float#

Tap interval.

Returns: Tap interval in seconds.