Home Software Acoustic array processing system based on high-speed MEMS sensors...

Acoustic array processing system based on high-dimensionality MEMS sensors for biometrics and noise and vibration analysis

The challenge

Creation of a development framework that, based on the simultaneous and synchronous acquisition of a high number of digital sensors (MEMS microphones), allows the implementation of different algorithms for sound analysis and spatial processing. The system must be easily scalable in terms of number of sensors and process capacity, as well as being able to adapt to the needs of possible applications.

The solution

The design of + based on the NI myRIO platform that allows the acquisition of 64 microphones simultaneously and provides 2 levels of processing (FPGA and ARM processor). A PC integrates the signals from the different modules and provides higher power processing levels. The use of LabVIEW allows the use of a single language and the portability of the code. Acoustic arrays are a set of acoustic sensors whose signals are combined to achieve a highly directive spatial response. Applications that use them include: source location, noise analysis, sonar/radar object detection, acoustic imaging, and biometrics. The use of MEMS microphones allows the construction of large arrays due to their small size and the reduction of costs since an A/D per microphone is not necessary. These sensors present a high-frequency, single-bit PDM-encoded output, requiring custom FPGA-based acquisition systems. The array created consists of a printed circuit board with a planar array of 64 (8×8) microphones that use 32 I/O lines from an NI myRIO for acquisition. The array includes a camera in the center connected to the myRIO USB port. It is a modular, portable and independent acquisition system that allows the creation of larger arrays by adding several modules. The real-time operating system included in myRIO allows each array-myRIO module to constitute a complete measurement system, including both acquisition and processing. But, depending on the degree of complexity and the response time required by the application, it is possible that the processing capacity of myRIO is exceeded, so a 4-level processing architecture has been defined:

•Level 0, is the FPGA itself based on its ability to perform simple tasks at high speed, for example filtering and decimation.

•Level 1, corresponds to the ARM processor embedded in myRIO. They have limited memory, processing power, and storage.

• Level 2, is the desktop computer or PC, which includes a general purpose processor. It has high processing capacity, large amount of memory and storage.

•Level 3, made up of coprocessors based on GPUs, with a high number of cores. The table in figure 3 presents a list of the main algorithms to be implemented in an array processing application, indicating the processing levels where they could be implemented. LabVIEW's multi-platform feature allows you to use a single development tool for the implementation of the entire system and reuse the code regardless of the target or processing level where it is executed. Specifically, the designed application is intended to be a development framework that allows research and experimentation with array acoustic processing algorithms and that allows rapid creation of custom applications based on customer needs. For this, the following paradigms have been used:

•Client-server: each of the myRIO-Array modules constitutes an independent data server. The PC acts as a client requesting data from the acquisition modules that are transferred via the Wi-Fi interface integrated into the myRIOs using Network Streams. When there are several acquisition modules making up a larger array, synchronization is done directly between the myRIOs with a master-slave system. A high-level API has been defined integrated into a library that is used to invoke commands on clients and receive data from the microphones.

•Plugin Framework: the main application that is responsible for receiving the data from the myRIO modules and its subsequent processing and visualization of the results. To avoid having to modify the application with each algorithm modification, plugins are used that define the processing that is carried out and display of results in subpanels of the front panel.


Tags
acoustic sensors