SDR Integration & Real-Time Drone-ID Visualization
October 10, 2025 · View on GitHub
This repository investigates two core aspects of enhancing the Drone-ID signal processing system:
-
Whether implementing a Hardware Abstraction Layer (HAL) is necessary to integrate the existing Python-based Drone-ID signal processing chain with different Software Defined Radio (SDR) hardware or control libraries.
-
The development of a Graphical User Interface (GUI) or application to wrap the reference code and Cyrus’ work, allowing the system to be showcased as a real-time demonstration of signal capture, decoding, and GPS visualization.
The aim is to make SDR integration cleaner and more maintainable while providing an interactive front-end for real-time data presentation.
Reference Material
The open-source project can be found at Drone-ID Receiver for DJI OcuSync 2.0. This project not only provides a thorough explanation of the underlying theory and methodology but also includes the complete python signal processing code.
Objectives
Primary Goal
Determine whether implementing a Hardware Abstraction Layer (HAL) is necessary and beneficial for integrating the existing Python-based processing chain with multiple SDR control libraries or hardware platforms.
-
Understand the Existing Processing Chain
- Review how the current Python code interfaces with its SDR source.
- Identify which parts of the code are tightly coupled to the original SDR implementation.
-
Study the Target SDR / Control Library
- Examine how the new SDR handles initialization, data streaming, and sample formats.
- Identify key differences in API calls, data structures, or performance characteristics compared to the original SDR.
-
Assess Compatibility and Integration Options
- Determine whether the new SDR can be integrated by simply adapting the current code.
- If major restructuring would be required, evaluate whether a HAL could simplify or future-proof the integration.
Secondary Goal — Real-Time Demonstration GUI
Develop a Graphical User Interface (GUI) or standalone application to wrap the reference Drone-ID processing code and Cyrus’ enhancements, enabling the project to function as a live demonstration tool.
The GUI will include three key visualization components:
-
Raw Capture (Frequency Domain): Display real-time spectrum data directly from the SDR input.
-
Unpackaged Data: Visualize decoded Drone-ID data using the existing Python processing chain.
-
GPS Data Visualization: Present extracted GPS coordinates on an interactive globe or map interface.