Sample Offset Trigger

Inheritance diagram of hermespy.simulation.simulated_device.SampleOffsetTrigger

The SampleOffsetTrigger introduces an offset of a fixed number of samples to the start of the SimulatedDrop.

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

trigger_model_B = SampleOffsetTrigger(2048)
device_B_Tx.trigger_model = trigger_model_B
device_B_Rx.trigger_model = trigger_model_B
class SampleOffsetTrigger(num_offset_samples)[source]

Bases: TriggerModel, Serializable

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

Parameters:

num_offset_samples (int) – Number of discrete samples 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.

property num_offset_samples: int

Number of discrete samples between drop start and frame start.

Returns: Number of samples