This project focuses on the processing and analysis of electromyography (EMG) signals to investigate neuromuscular activity and predict generated force. It was conducted as part of the "Interfacing the Neuromuscular System" course at Friedrich-Alexander-Universität (FAU).
The objective is to implement a complete signal processing pipeline—from raw data preprocessing and spectral analysis to feature extraction (RMS) and force prediction using linear regression.
The dataset consists of simultaneous recordings of high-density surface EMG (HD-sEMG) and intramuscular EMG (iEMG).
- Data_1: 64-channel HD-sEMG grid (provided in ADC binary) and Force data (%MVC).
- Data_2: 3 bipolar iEMG channels (provided in µV).
- Channel 1: Flexor Digitorum Superficialis (FDS).
- Channel 2: Extensor Digitorum (ED) - Distal.
- Channel 3: Extensor Digitorum (ED) - Proximal.
- Unit Conversion: Converted ADC binary outputs to millivolts (mV) using the specific gain factor.
- Filtering: Implemented digital filters to remove noise and artifacts:
- 50Hz Notch Filter (Line interference removal).
- 20-500Hz Bandpass Filter (4th order Butterworth).
- Spectral Analysis: Performed Fast Fourier Transform (FFT) to visualize the frequency domain before and after filtering.
- Calculated the Root Mean Square (RMS) to quantify signal power.
- Spatial Smoothing: Averaged every 8 consecutive HD-sEMG channels.
- Temporal Smoothing: Analyzed the impact of different window lengths on signal quality:
- Windows tested: 50ms, 100ms, 200ms, 500ms.
- Correlation Analysis: Quantified the relationship between the normalized RMS of the sEMG signal and the recorded Force data (Correlation Coefficient R).
- Regression Model: Fitted a Multiple Linear Regression model to predict the subject's force output based on the processed EMG features.
- Evaluation: Assessed model performance using Root Mean Squared Error (RMSE).
- Language: MATLAB (or Python).
- Toolboxes: Signal Processing Toolbox.
- Techniques: Digital Filtering, FFT, Regression Analysis, Data Visualization.
- Filtering: Successfully removed power line noise and motion artifacts outside the physiological EMG range (20-500Hz).
- RMS Analysis: Larger window sizes (e.g., 200ms-500ms) resulted in smoother envelopes but introduced higher latency compared to shorter windows.
- Force Prediction: The linear regressor demonstrated a strong positive correlation between the processed sEMG envelope and the isometric force generated.
- Clone the repository.
- Ensure
Data_1andData_2are in the root directory. - Open the script in MATLAB.
- Run sections individually (Ctrl+Enter) or the full script to generate plots for Tasks 1.1 through 2.3.
Britnie Sinthuja M.Sc. Medical Engineering Student at FAU Erlangen-Nürnberg
Disclaimer: This repository contains coursework for the Neuromuscular Physiology and Neural Interfacing Laboratory at FAU.