Legacy example · C++ · Python · Version 1.1
Simple Radar Pipeline
| Authors | Cliff Burdick (NVIDIA) |
|---|---|
| Supported platforms | x86_64, aarch64 |
| Language | C++, Python |
| Version | 1.1 |
| Compatibility | HSDK 2.6 |
| Contribution level | Level 2 · Quality code |
| Source | HoloHub |
Legacy HoloHub application
This application comes from HoloHub and was last tested with Holoscan SDK (HSDK) 2.6. It runs with the HoloHub CLI, ./holohub.
This demonstration walks the developer through building a simple radar signal processing pipeline, targeted towards detecting objects, with Holoscan. In this example, we generate random radar and waveform data, passing both through:
- Pulse Compression
- Moving Target Indication (MTI) Filtering
- Range-Doppler Map
- Constant False Alarm Rate (CFAR) Analysis
While this example generates 'offline' complex-valued data, it could be extended to accept streaming data from a phased array system or simulation via modification of the SignalGeneratorOperator.
The output of this demonstration is a measure of the number of pulses per second processed on GPU.
The main objectives of this demonstration are to:
- Highlight developer productivity in building an end-to-end streaming application with Holoscan and existing GPU-Accelerated Python libraries
- Demonstrate how to construct and connect isolated units of work via Holoscan operators, particularly with handling multiple inputs and outputs into an Operator
- Emphasize that operators created for this application can be reused in other ones doing similar tasks
Building the application
Make sure CMake (https://www.cmake.org) is installed on your system (minimum version 3.20)
-
Holoscan Debian Package - Follow the instructions in the link to install the latest version of Holoscan Debian package from NGC.
-
Create a build directory:
mkdir -p <build_dir> && cd <build_dir>
- Configure with CMake:
Make sure CMake can find your installation of the Holoscan SDK. For example, setting holoscan_ROOT to its install directory during configuration:
cmake -S <source_dir> -B <build_dir> -DAPP_simple_radar_pipeline=1
Notes:
If the error No CMAKE_CUDA_COMPILER could be found is encountered, make sure that the :code:nvcc executable can be found by adding the CUDA runtime location to your PATH variable:
export PATH=$PATH:/usr/local/cuda/bin
- Build:
cmake --build <build_dir>
Running the application
<build_dir>/simple_radar_pipeline