Hardware Loop#

The hardware loop modules provides all required functionalities to transmit waveforms generated by HermesPy over real hardware setups such as USRPs (Universal Software-Defined Radio Peripherals).

classDiagram ABC <|-- Calibration ABC <|-- DelayCalibrationBase ABC <|-- HardwareLoopPlot ABC <|-- PhysicalDevice AntennaArray <|-- UsrpAntennas Calibration <|-- DelayCalibrationBase Calibration <|-- LeakageCalibrationBase DelayCalibrationBase <|-- DelayCalibration DelayCalibrationBase <|-- NoDelayCalibration Device <|-- PhysicalDevice Evaluator <|-- EvaluatorRegistration HDFSerializable <|-- Calibration HardwareLoopDevicePlot <|-- DeviceReceptionPlot HardwareLoopDevicePlot <|-- DeviceTransmissionPlot HardwareLoopEvaluatorPlot <|-- ArtifactPlot HardwareLoopEvaluatorPlot <|-- EvaluationPlot HardwareLoopPlot <|-- EyePlot HardwareLoopPlot <|-- RadarRangePlot HardwareLoopPlot <|-- ReceivedConstellationPlot LeakageCalibrationBase <|-- NoLeakageCalibration LeakageCalibrationBase <|-- SelectiveLeakageCalibration PhysicalDevice <|-- AudioDevice PhysicalDevice <|-- PhysicalDeviceDummy PhysicalDevice <|-- UsrpDevice PhysicalScenario <|-- AudioScenario PhysicalScenario <|-- PhysicalScenarioDummy PhysicalScenario <|-- SimulatedPhysicalScenario PhysicalScenario <|-- UsrpSystem Pipeline <|-- HardwareLoop Scenario <|-- PhysicalScenario Serializable <|-- AudioDevice Serializable <|-- Calibration Serializable <|-- DelayCalibration Serializable <|-- HardwareLoop Serializable <|-- NoDelayCalibration Serializable <|-- NoLeakageCalibration Serializable <|-- PhysicalDeviceDummy Serializable <|-- PhysicalScenarioDummy Serializable <|-- SelectiveLeakageCalibration Serializable <|-- UsrpDevice Serializable <|-- UsrpSystem SerializableEnum <|-- EvaluatorPlotMode SerializableEnum <|-- IterationPriority SignalPlot <|-- DeviceReceptionPlot SignalPlot <|-- DeviceTransmissionPlot SimulatedDevice <|-- PhysicalDeviceDummy SimulationScenario <|-- PhysicalScenarioDummy SimulationScenario <|-- SimulatedPhysicalScenario Visualizable <|-- SelectiveLeakageCalibration

It consists of the base classes for hardware bindings

as well as specific bindings to UHD devices

and audio devices (sound cards)

and offers calibration routines for testbed setups