Coder Social home page Coder Social logo

oyssolbo / acoustics Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vortexntnu/vortex-acoustics

0.0 0.0 0.0 19.57 MB

Analyzes signals from the A1 hydrophones. Runs on Nucleo-F767ZI

License: MIT License

C 98.72% C++ 1.25% Makefile 0.01% MATLAB 0.02%

acoustics's Introduction

Acoustics

Repository to analyze signals from three (3) different hydrophones and estimate the positioning of a pinger in XY-coordinates.

The estimation is calculated by using TDOA to trilaterate the position. TDOA (Time Difference Of Arrival) is the difference between the measured acoustic signals. The TDOA is calculated by the cross-correlation between the measured signals. Since the hydrophones' positions are known, the sound source is calculated through some linear algebra described at https://math.stackexchange.com/questions/1722021/trilateration-using-tdoa

Dependencies: CMSIS-library: DSP-library developed by ARM. Downloadable at https://www.keil.com/pack/doc/CMSIS/DSP/html/index.html Eigen (v. 3.3.9 used): Library for linear algebra and matrix-operations. Downloadable at http://eigen.tuxfamily.org/index.php?title=Main_Page

Important notes: The code is compiled on STM32CubeIDE, and the MAKEFILE may not be up to date. The Makefile is kept for the future, in case the system is compiled and run on another platform

Source files

The source files for 2020/2021, can be found in the folder "Source" with the header files under Include. Older files are not considered relevant, and is therefore not in this repository.

Files with a short description: PARAMETERS: Holds defines and global parameters, such as sampling frequency, hydrophone position, buffer sizes etc.

TRILITERATION: Mantains functions to estimate the sound source's position

ANALYZE_DATA: Defines a class hydrophone which wraps the data-analyzis for each hydrophone

Resource files

Resource files are found in the folder "Resource". The folder includes the CMSIS-library, driver for STM32 and a test-script in MATLAB.

Future improvements/development

List of improvements:

  1. Check the correctness of the code. Specialized tests should be written to accomodate this requirement.
  2. Check the RAM-usage to prevent any memory-leaks. This should be done using Valgrind or any other program

acoustics's People

Contributors

areskiko avatar chrstrom avatar dymbe avatar oyssolbo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.