Physical Device Dummy¶
- class PhysicalDeviceDummy(max_receive_delay=0.0, antennas=None, noise_power=None, receive_transmission=True, **kwargs)[source]¶
Bases:
SimulatedDevice
,PhysicalDevice
,Serializable
Physical device dummy for testing and demonstration.
The physical device dummy always receives back its most recent transmission.
- Parameters:
scenario (Scenario, optional) – Scenario this device is attached to. By default, the device is considered floating.
antennas (SimulatedAntennaArray, optional) – Antenna array model of the device. By default, a single ideal istropic antenna is assumed.
rf_chain (RfChain, optional) – Model of the device’s radio frequency amplification chain. If not specified, a chain with ideal hardware models will be assumed.
isolation (Isolation, optional) – Model of the device’s transmit-receive isolations. By default, perfect isolation is assumed.
coupling (Coupling, optional) – Model of the device’s antenna array mutual coupling. By default, ideal coupling behaviour is assumed.
trigger_model (TriggerModel, optional) – The assumed trigger model. By default, a
StaticTrigger
is assumed.sampling_rate (float, optional) – Sampling rate at which this device operates. By default, the sampling rate of the first operator is assumed.
carrier_frequency (float, optional) – Center frequency of the mixed signal in rf-band in Hz. Zero by default.
noise_level (NoiseLevel, optional) – Level of the decvice’s additive noise. By default, infinite signal-to-noise ratio (SNR) is assumed.
noise_model (NoiseModel, optional) – Spectral model of the device’s additive noise. By default, additive white Gaussian noise is assumed.
pose (Transformation | Trajectory, optional) – Position and orientation of the device in time and space. If a Transformation is provided, the device is assumed to be static. If not specified, the device is assumed to be at the origin with zero velocity.
velocity (numpy.ndarray, optional) – Initial velocity of the moveable in local coordinates. By default, the moveable is assumed to be resting. Only considered if pose is a Transformation, otherwise the velocity is assumed from the Trajectory.
power (float, optional) – Power of the device. Assumed to be 1.0 by default.
seed (int, optional) – Seed of the device’s pseudo-random number generator.
- process_input(impinging_signals=None, state=None, trigger_realization=None, noise_level=None, noise_model=None, leaking_signals=None)[source]¶
Process input signals at this device.
- Parameters:
impinging_signals (DeviceInput | Signal | Sequence[Signal] | SimulatedDeviceOutput) – List of signal models arriving at the device. May also be a two-dimensional numpy object array where the first dimension indicates the link and the second dimension contains the transmitted signal as the first element and the link channel as the second element.
state (SimulatedDeviceState, optional) – State of the device during the reception. If not specified, the device’s state at timestamp zero will be assumed.
trigger_realization (TriggerRealization, optional) – Trigger realization modeling the time delay between a drop start and frame start. Perfect triggering is assumed by default.
noise_level (NoiseLevel, optional) – Level of the simulated hardware noise. If not specified, the device’s configured noise level will be assumed.
noise_model (NoiseModel, optional) – Model of the simulated hardware noise. If not specified, the device’s configured noise model will be assumed.
leaking_signals (Signal, optional) – Signals leaking from transmit to receive chains. Expected to be a sequence of signals if operator_separation is enabled. If not specified, no leakage is considered during signal reception.
- Return type:
Returns: The processed device input.
- receive(impinging_signals=None, state=None, notify=True, trigger_realization=None)[source]¶
Receive information at this device.
- Parameters:
impinging_signals (DeviceInput | Signal | Sequence[Signal] | SimulatedDeviceOutput) – List of signal models arriving at the device. May also be a two-dimensional numpy object array where the first dimension indicates the link and the second dimension contains the transmitted signal as the first element and the link channel as the second element.
state (SimulatedDeviceState, optional) – State of the device during the reception. If not specified, the device’s state at timestamp zero will be assumed.
notify (bool, optional) – Notify all registered callbacks within the involved DSP algorithms. Enabled by default.
trigger_realization (TriggerRealization, optional) – Trigger realization modeling the time delay between a drop start and frame start. Perfect triggering is assumed by default.
- Return type:
Returns: The processed device input.
- state(timestamp=0.0)[source]¶
Immutable physical state of the device during simulation drop generation.
- Parameters:
timestamp (float, optional) – Global timestamp in seconds. By default, zero is assumed.
- Return type:
PhysicalDeviceDummyState
Returns: Device state at the given timestamp.
- transmit(state=None, notify=True, trigger_realization=None)[source]¶
Transmit over this device.
- Parameters:
state (SimulatedDeviceState, optional) – State of the device during the transmission. If not specified, the device’s current state will be assumed.
notify (bool, optional) – Notify the DSP layer’s callbacks about the transmission results. Enabled by default.
trigger_realization (TriggerRealization, optional) – Trigger realization modeling the time delay between a drop start and frame start. Perfect triggering is assumed by default.
- Return type:
Returns: Information transmitted by this device.
- trigger_direct(signal, calibrate=True)[source]¶
Trigger a direct transmission and reception.
Bypasses the operator abstraction layer and directly transmits the given signal.
- Parameters:
- Return type:
Returns: The received signal.
- Raises:
ValueError – If the signal’s carrier frequency or sampling rate does not match the device’s.