This documentation shows how to acquire acoustic signals using a data acquisition board or DSP.
It also shows how to perform acoustic processing in MATLAB to estimate the direction of an acoustic signal. This is commonly known as Direction of Arrival Estimation (DOA).
There are two main ways of performing acoustic processing. One solution is to actively process small frames of data using a Digital Signal Processor (DSP), Microcontroller or FPGA.
The other solution is to import frames of acoustic data into a computer using a Data Acquisition Board (DAQ).
One important note is that the underwater signals that are present in the AUVSI competitions range from 20-40 kHz. Therefore, the hardware must be capable of acquiring data at a rate of at least 80 kHz or twice the fastest frequency.
DSP, Microcontroller or FPGA
Code can be generated from MATLAB and Simulink code, and placed onto a DSP, Microcontroller or FPGA with the click of a button. To see the list of hardware that is supported, please see the following catalog:
Data Acquisition Board (DAQ)
The function and blocks that you use depends on whether you need to generate code out of your acoustic acquisition and processing code.
If you are running MATLAB and Simulink on a PC without generating code out of the communication methods, use the Data Acquisition Toolbox. The Data Acquisition Toolbox's Simulink blocks does not support 64-bit Windows OS. If you are using Simulink with a 64-bit Windows OS, use Simulink Desktop Real-Time.
If you are generating C code or an executable out of MATLAB or Simulink code, use the DSP System Toolbox.
Direction of Arrival Estimation (DOA)
There are a couple of resources on DOA in the documentation. There are a variety of tools available to help users design DOA algorithms in the Signal Processing, DSP System Toolbox and Phased Array System Toolbox:
- DSP Live Direction of Arrival Estimation with a Linear Microphone Array - DSP System Toolbox Documentation: DOA using a Kinect
- Direction of Arrival Estimation - Phased Array System Toolbox Documentation
- xcorr - Signal Processing Toolbox Documentation: xcorr is used to perform cross correlation
- FDATool - The FDATool is used to design a variety of filters graphically in MATLAB
- Using the FDATool - documentation showing how to use the FDATool