TFM: DEVELOPMENT OF AN AUTOMATED ELECTROMYOGRAPHY SIGNAL ACQUISITION SYSTEM

Electromyography (EMG) is defined as the discipline related to the detection, analysis and use of the electrical signal that is generated at a muscle’s contraction. On many occasions, generating a database that allows a comprehensive study of measurements is complicated due to the lack of automation of this type of system. The implementation of this type of system in low-cost portable devices is the key to making its use on a large scale feasible.

Picture of the hardware used for control, acquisition and communications. The respective nicknames of these devices are: Heimdall (left), BioACQ (centre) and Cerberus (right).

This work contains the entire development process of an automated 4-channel EMG signal acquisition system. The developed application is based on an ARM Cortex M4 platform internally developed by the B105 Electronic Systems Lab, which suposed a challenge since it is an economic platform with limited resources. Other device used were the signal acquisition board with its amplified probes and the communications module capable of transmitting data in the 434, 868 and 2,400 MHz radio bands.

Diagram of the complete system. The different devices running the developed applications can be seen with the communication interfaces between them.

The application created for this project is divided into modules. The main ones are: the FSM control, the configuration component, the acquisition system and the communications complex. Partitioning the development helps to improve the quality of the code, reduces the time to detect errors and keeps the program simple. One key aspect of the final system is the use of a wireless link for augmented usability and galvanic protection. Additionally, a graphical user interface is stablished which offers live data representation. All the code regarding the application is available via the following link: https://bitbucket.org/repoB105/tfmdmolina/src/master/

Diagram of the finite state machine in charge of controlling the slave module. The transitions are controled via the incoming commands from the control interface.

The project also contains a section of analysis including performance information about the final solution. The resulting performance analytics show a portable system capable of running on batteries with room for improvement via software optimizations. Furthermore, every developed module is independently evaluated using an exclusively matured testing program. The purpose of this segment is to eliminate all bugs introduced in the code and strengthen the robustness of the system.

Picture showing the main graphical user interface. The panel shown is the configuration one, containing the multiple modifiable parameters of the acquisition system.

TFM: Design and evaluation of electromyography signal processing techniques using resource-constrained devices

On July 15, 2020, the master student Pablo Sarabia Ortiz read and defended his master thesis entitled “Design and evaluation of electromyography signal processing techniques using resource-constrained devices”. This master thesis is enclosed in the current B105 Electronic Systems Lab research topic of acquiring and processing electromyography (EMG) signals on the human body to achieve a wearable health device based on EMG signals.

Surface electromyographic (sEMG) is an acquisition technique based on recording muscles potential over the skin. sEMG based devices have a wide range of application: early diagnose and treatment of neurodegenerative diseases, tracking of daily activities, rehabilitation, and adaptive training.  sEMG signals are complex and present different challenges like great amount of data, complex signals, and significant variations between subjects and days. For most of these applications is required to identify and classify the gestures or movements that the user is doing. This classification is a task that requires great amount of resources (memory and CPU). This thesis is focused in understanding the sEMG signal characteristics and designing a classifier for hand gestures, by using the custom acquisition board.

Picture of the hardware used for sEMG acquisition. On the left the electrodes, on top of the image a preamplifier and on the bottom right corner the stack of PCBs composed of the microcontroller and the ADC.
Picture of the hardware used for sEMG acquisition. On the left the electrodes, on top of the image a preamplifier and on the bottom right corner the stack of PCBs composed of the microcontroller and the ADC.

First, a quantitative analysis of the sEMG data was carried out by using parallel factor analysis (PARAFAC). The dataset used was NINAPRO, because it contains numerous different hand gestures performed by different subjects in different days. This PARAFAC analysis showed that is possible to reduce the number of channels from 16 to 4 without significant loss of information, as shown in the figure below. It also showed that most of the information is under the 350 Hz range. PARAFAC proved to be an interesting method for choosing the most significant channels in the dataset.

Process followed to do the PARAFAC analysis of the data from the NINAPRO dataset.
Process followed to do the PARAFAC analysis of the data from the NINAPRO dataset.

Second, an acquisition system to log the data to the computer was established. This acquisition system had 4 channels at a sampling rate of 500 Hz each. The data once logged was formatted and stored using MATLAB. Eight different gestures were performed, as shown in the figure. Then a support vector (SVM) machine classifier was trained obtaining an 99% accuracy in cross validation.

Table with all the gestures recorded for the master thesis.
Table with all the gestures recorded for the master thesis.

Third, a two level three variables factorial design was carried out to model the influence of the design variables in three features of the classifier (execution time, memory footprint and accuracy). The three design variables studied were: codification of the SVM, data precision (float32 or float64) and length of the sample. The results shown that float64 should never be used, and that there is always a tradeoff between classifier accuracy versus the memory footprint and speed of the classifier. It was also identified the memory footprint as the bottleneck for the use of the classifier in a resource-constrained device. It was achieved a reduction of 1/14 of the original memory footprint and a speedup of 233 times, however accuracy of the classifier lowered to 85%.