Wiener Filtering for Myoelectric Signal
Descrição
EMG (Electromyography) signals are used to diagnose muscular pathologies and are also employed as inputs for electronic applications. However, a major disadvantage in detecting this signal is the noise that can be derived from power sources, incorrect placement of the electrodes, and the environment. To reduce the noise in the signal a filter must be incorporated in the system. The aim of this work is to reduce the noise generated in the muscular signals through an embedded system, using a Wiener filter with 50 coefficients. A real-time application was implemented using an Olimex SHIELD-EKG-EMG shield and a SAM V71 board. The shield was used to obtain the signal using the ADC of the SAM V71 board and the filter was programmed on the board. Several tests were performed using distinct frequencies and number of samples. With a frequency of 250Hz and 1024 samples, the system was not considered real-time, because the time needed to obtain the samples was 4.096 seconds. In this regard, if the signal reaches a programmed threshold level of the ADC, the actuator of the system would have been activated after 4.096 seconds plus the time needed to compute the filter values in the worst time scenario, making it an undesired configuration. In contrast, by reducing the number of samples to 100, the time needed to obtain the samples considerably decreased to 0.4 seconds, and thus, the system was considered real-time. On the other hand, with a frequency of 3kHz and 4096 samples, the filtered signal was almost the same as the raw signal and a similar result was obtained with 1.5Hz and 2048 samples, so both tests were discarded. Finally, the frequency that provided the best result was at 500Hz and 200 samples due to the acquisition signal time, processing filter time, and reduced number of samples. Therefore, a correct configuration of the frequency and number of samples is crucial to compute a Wiener filter on an embedded application.Consejo Nacional de Ciencia y Tecnología