Random Trigger

Inheritance diagram of hermespy.simulation.simulated_device.RandomTrigger

The random trigger model introduces a synchronization offset that is uniformly distributed over the interval \([0, T_{\mathrm{Frame}}]\) where \(T_{\mathrm{Frame}}\) denotes the maximal frame duration of all devices controlled by the same trigger instance.

It can be configured by assigning the same RandomTrigger instance to the trigger_model property of multiple simulated devices:

# Create a new simulation featuring two sets of two linked, synchronized devices
simulation = Simulation()

# Create devices
device_A_Tx = simulation.new_device(carrier_frequency=3.7e9)
device_A_Rx = simulation.new_device(carrier_frequency=3.7e9)
device_B_Tx = simulation.new_device(carrier_frequency=3.9e9)
device_B_Rx = simulation.new_device(carrier_frequency=3.9e9)

# Specify trigger models
trigger_model_A = RandomTrigger()
device_A_Tx.trigger_model = trigger_model_A
device_A_Rx.trigger_model = trigger_model_A

trigger_model_B = RandomTrigger()
device_B_Tx.trigger_model = trigger_model_B
device_B_Rx.trigger_model = trigger_model_B
class RandomTrigger[source]

Bases: TriggerModel, Serializable

Model of a trigger that generates a random offset between drop start and frame start

realize(rng=None)[source]

Realize a triggering of all controlled devices.

Parameters:

rng (np.random.Generator, optional) – Random number generator used to realize this trigger model. If not specified, the object’s internal generator will be queried.

Return type:

TriggerRealization

Returns: Realization of the trigger model.