/AcousticLPS

Multiplatform tool which implements an Acoustic Local Positioning System based on the Matching Pursuit channel algorithm & a estimation of the different beacon's Time-of-Flight (TOF).

Primary LanguageC++MIT LicenseMIT

releases issues license built


Acoustic LPS - Server

This project it's part of Acoustic - LPC project. The project consist in the design, analysis, testing and implementation of an advanced signal processing tool suitable for indoor positioning of portable devices.

The server node emits different modulated acoustic signals (M-QPSK modulation) with different encoding codes (CDMA-based) to locate a device indoors.

The clients nodes can identify the current location by estimating the Time Of Flight (TOF) and a Trilateration Algorithm. To accurate the estimation any node integrate a capability to mitigate the effects of Multipath propagation.

This repository include the project to debug/simulate the system for both sides.


NODES MANIPULATION

The app allows to create, modify, disable or remove existing nodes easily.

enter image description here


LOCAL POSITIONING SYSTEM

The app can identify the current location with a previous configuration of the environment and a DSP process.

enter image description here

You can display the DSP algorithm in real time:

enter image description here

Compilation

The project integrate different dependencies for the Digital Signal Processing (DSP) tools and for data manipulation.

  • Lib FFTW, needed for the estimation of the DFT & DCT (Fourier Transforms)
  • Lib Armadillo, it's recommended to use OpenBlas for the Algebra operations.
  • Lib PortAudio, needed for the audio recording process.
  • Lib Sndfile, used to read audio files.
  • Qt 5.X Framework it's required.