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 6 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 to operate on a single azimuth of raw radar data: 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