Static Trigger

Inheritance diagram of hermespy.simulation.simulated_device.StaticTrigger

The StaticTrigger will synchronize all controlled simulated devices to be triggered exactly at the start of the SimulatedDrop.

It can be configured by assigning the same StaticTrigger 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 = StaticTrigger()
device_A_Tx.trigger_model = trigger_model_A
device_A_Rx.trigger_model = trigger_model_A

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

Bases: TriggerModel, Serializable

Model of a trigger that’s always perfectly synchronous with the drop 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.