Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The SDK C++ API provides an object-based interface for controlling/configuring the radar and for processing incoming data. See information describing the core features here, in the earlier C++11 implementation.

As described below, this C++17 implementation additionally includes the source code of a peak finding function - and it is the same functionality that is implemented within the radar firmware to enable Navigation Mode

This version of the SDK was developed on Ubuntu 20.04

sudo apt install build-essential clang g++ protobuf-compiler libprotobuf-dev cmake

Building using CMAKE

This assumes that the SDK has been cloned into ~/iasdk

mkdir ~/build_iasdk
cd build_iasdk
cmake -DCMAKE_BUILD_TYPE=Release ~/iasdk/cpp_17
make -j

Notes

Preferred compiler for building is Clang V10 but GCC 9.3.x should work

The code uses using statements to make pointer ownership more obvious:

  • Owner_of is a std::unique_ptr;

  • Shared_owner is a std::shared_ptr;

Please see utility/Pointer_types.h for a full explanation.

Peak Finding

The class Peak_finder can be used to process FFT data and search for peaks. The algorithm will sub-resolve within radar bins and return a power at a distance in metres on the azmith being checked.

The algorithm implemented here will slide a window over the FFT data moving forwards by the size of the window, when the FFT has risen and then fallen, the peak resolving algorithm is run to sub-resolve the distance.

See Peak_finder.h for the data structure that is generated per azimuth

The navigation_main.cpp is a sample application that will peak search and report back up to ten targets per azimuth.

  • threshold - Threshold in dB

  • bins_to_operate_on - Radar bins window size to search for peaks in

  • start_bin - Start Bin

  • buffer_mode - Buffer mode should only be used with a staring radar

  • buffer_length - Buffer Length

  • max_peaks_per_azimuth - Maximum number of peaks to find in a single azimuth

  • No labels