cs:Lib is a C/C++ library for Bluetooth Channel Sounding. We have been developing advanced high-resolution algorithms since 2007. The Channel Sounding algorithm comes with several improvements over standard Fast Fourier Transform or MUSIC algorithms, such as higher accuracy, better robustness, and more security features. It enables advanced Bluetooth location services and provides information about:
Handles multipathing and interferences.
Leading accuracy of up to 0.1m (line of sight) and 0.3m (non-line of sight).
The ranging results can be protected using round trip time (RTT) to avoid man-in-the-middle attacks.
cs:Lib can take full advantage of chipsets supporting coherent frequency switching, thus reducing measurement time and power consumption.
Configuration options to support different hardware, from low end to high end.
To adapt to different applications, the cs:Lib is implemented in a layered model. Each layer provides a different set of functionality.
Layer 4: Simulation features
Layer 3: Advanced ranging capabilities
Layer 2: Simple distance estimation without matrices
Layer 1: Data structures and conversions
cs:Lib provides interfaces for data input, configuration of the algorithm and data output.
The source data is defined by the Bluetooth standard and will be provided by the Bluetooth stack. This data needs to be converted to a format the algorithm understands. Delivery of cs:Lib includes sample code for this conversion layer.
The data output is a distance and some quality indicators.
For development cs:Lib can provide detailed debug data.
cs:Lib supports Bluetooth chips from all major chip vendors, providing high quality and platform independent distance calculations. The cs:Lib can be configured to run on ARM-based micro controllers (M33 or higher). Implementations on low end platforms without FPU are possible thanks to the layer model of the algorithm but require a separate controller for the calculation.
Exact resource requirements depend on the cs:Lib configuration which in turn depends on exact use case requirements regarding accuracy/robustness/measurement speed and power consumption. Contact us to discuss your requirements and find the best fit.