top of page

Surface Electromyography (sEMG)

What is Surface Electromyography (sEMG)?

 

Surface Electromyography (sEMG) is a noninvasive technique for detecting and analyzing muscle activation through electrical signals generated by muscle contractions. This powerful tool is widely used in clinical diagnostics, research, rehabilitation, ergonomics, biomechanics, and even advanced human-computer interactions.

 

How Does Surface Electromyography (sEMG) Work?

 

Basic Principles:

- Electrode Placement: Surface electrodes are placed on the skin over the muscle of interest. Proper placement is essential for accurate signal detection. Electrodes need to be aligned with the muscle fibers and positioned away from tendon regions to avoid interference from non-muscular electrical activity.

​

- Muscle Contraction: Muscle contractions result from changes in the resting potential of motor units. These changes produce electrical signals that travel along muscle fibers. The strength and duration of these signals can vary depending on the type of muscle fibers involved and the intensity of the contraction.

​

- Signal Detection: Surface electrodes capture the sum of electrical activity from multiple muscle fibers, creating the electromyogram (EMG) signal. The detected signals reflect the combined activity of motor units within the pick-up area of the electrodes.

​

- Signal Amplification: The weak raw EMG signals are amplified to enhance their strength for further analysis. Amplification is crucial as it ensures that the signal stands out against background noise and is strong enough to be processed.

​

- Signal Filtering: To remove noise and artifacts, the amplified signals undergo filtering processes such as high-pass, low-pass, and notch filtering. High-pass filters eliminate low-frequency noise from body movements, low-pass filters remove high-frequency electrical noise, and notch filters target specific frequencies, like those from power lines, to ensure a clean signal.

 

 

Types of sEMG:

1. Standard sEMG:

   - Utilizes a small number of electrodes to monitor specific muscles. This approach is commonly used in clinical settings and research to focus on individual muscles or muscle groups.

   - Provides insights into the overall activity of targeted muscles. It helps understand muscle activation patterns, muscle fatigue, and coordination during different movements or exercises.

 

2. High-Density sEMG (HD-sEMG):

   - Involves a grid of closely spaced electrodes to cover a larger skin area. HD-sEMG offers more detailed spatial information about muscle activity, capturing variations across different regions of a muscle.

   - Offers a detailed map of muscle activity, aiding in spatial analysis of muscle function. This is particularly useful for studying muscle synergies, identifying localized muscle issues, and understanding complex muscle dynamics during movements.

​

CTRL-labs: Pioneering Neural Interface Technology:

CTRL-labs is a leading company in neural interfaces, focusing on sEMG based non-invasive neural control systems. Their technology enables users to control computers and devices using HD-sEMG, bridging the gap between human intention and digital action.

​

CTRL-kit:

- A wristband equipped with multiple sensor arrays that detect muscle motor units electrical activity. The sensors are highly sensitive and capable of capturing subtle electrical signals from the muscles, providing accurate and reliable input for various applications.

​

- Translates muscle signals into control inputs for various applications, including gaming, virtual reality, and prosthetics. The device can interpret complex hand and finger movements, offering precise control and a seamless user experience.

​

- Offers a seamless and intuitive control mechanism through simple hand and finger movements. Users can perform actions with minimal effort, making the technology accessible and easy to use for a wide range of individuals, including those with limited mobility.

 

Signal Processing Methods:
  • Rectification is the process of converting all negative values in the sEMG signal to positive values. This is done because the raw EMG signal is bipolar, and rectification simplifies the signal by making it unidirectional.

 

  • Smoothing reduces the variability in the rectified signal, making it easier to analyze trends and patterns. One common smoothing technique include moving average filter. Moving average filter is one of the simplest and most commonly used techniques in signal processing for smoothing out short-term fluctuations and highlighting longer-term trends in the data. This filter is especially useful in sEMG signal processing to reduce noise and provide a clearer representation of muscle activation patterns.
    How Moving Average Filter Works?
    The moving average filter works by averaging a set of points from the input signal to produce each point in the output signal. The averaging window slides along the signal, and the average is recalculated at each step. This process smooths out the signal by reducing the impact of random noise.

​

  • Filtering: Filtering removes unwanted noise and artifacts from the EMG signal. The most common filters used are high-pass, low-pass, and notch filters.
    high-pass filter: A high-pass filter allows frequencies higher than a certain cutoff frequency to pass through while attenuating lower frequencies. This is particularly useful in sEMG to remove low-frequency noise such as movement artifacts.
    Low pass filter: A low-pass filter allows frequencies lower than a certain cutoff frequency to pass through while attenuating higher frequencies. It is used to remove high-frequency noise, such as electrical interference.
    Notch filter: A notch filter, or band-stop filter, is used to remove specific frequency bands from the signal. This is especially useful for eliminating power line interference. Power line interference is a common source of noise in sEMG and other biomedical signal recordings. This interference typically manifests as a sinusoidal signal at the frequency of the local power supply, which is either 50 Hz or 60 Hz depending on the region. Understanding and mitigating power line interference is crucial for accurate analysis of sEMG signals.
    Band-pass filter: A band-pass filter allows frequencies within a certain range to pass through while attenuating frequencies outside that range. This is particularly useful to isolate the frequency range of interest, typically associated with muscle activity, and remove both low-frequency noise (e.g., movement artifacts) and high-frequency noise (e.g., electrical interference).
     

  • HD sEMG unique filters:
    High-Density Surface Electromyography (HD-sEMG) involves using a grid of closely spaced electrodes to capture a more detailed spatial map of muscle activity. This allows for advanced filtering techniques that are not possible with traditional low-density sEMG. Here are some filtering techniques that leverage the spatial resolution of HD-sEMG:

    1. Spatial Filtering

  • Spatial filtering takes advantage of the multiple channels in HD-sEMG to enhance the signal quality and remove noise and artifacts more effectively than single-channel filtering.

  • Common Mode Removal: Common mode removal reduces interference that affects all electrodes similarly, such as power line interference or motion artifacts.
    def common_mode_removal(hd_emg_signal):
    common_mode = np.mean(hd_emg_signal, axis=0)
    return hd_emg_signal - common_mode

    2. Differential Spatial Filtering

  • Differential spatial filtering enhances the spatial resolution by computing the differences between neighboring electrodes. This can help in isolating the muscle activity from other sources of noise.
    def differential_spatial_filter(hd_emg_signal):
    num_channels, num_samples = hd_emg_signal.shape
    filtered_signal = np.zeros((num_channels-1, num_samples))
    for i in range(num_channels-1):
    filtered_signal[i, :] = hd_emg_signal[i+1, :] - hd_emg_signal[i, :]
    return filtered_signal


    3. Wavelet Transform

  • Wavelet transforms can be used to analyze signals at multiple scales and are particularly effective in capturing transient features in HD-sEMG signals. This technique can help in isolating muscle activity from noise.
    def wavelet_transform(hd_emg_signal):
    num_channels, num_samples = hd_emg_signal.shape
    wavelet_coeffs = []
    for i in range(num_channels):
    coeffs, freqs = pywt.cwt(hd_emg_signal[i, :], scales=np.arange(1, 128), wavelet='gaus1')
    wavelet_coeffs.append(coeffs)
    return wavelet_coeffs
     

  • Practical Considerations for Filter Design:
  • Selection of Cutoff Frequencies: The choice of cutoff frequencies is critical and depends on the specific characteristics of the sEMG signal and the type of noise present. For example, high-pass filters typically use a cutoff frequency around 20 Hz to remove motion artifacts, while low-pass filters may use a cutoff frequency around 450-500 Hz to eliminate high-frequency noise.

  • Filter Order: The order of the filter determines the steepness of the filter’s frequency response. Higher-order filters provide sharper cutoff characteristics but may introduce more phase distortion and computational complexity. A typical choice is a 4th-order filter for balancing performance and complexity.

  • Real-Time Processing: For real-time applications, it’s essential to use filters that are computationally efficient and introduce minimal latency. Infinite Impulse Response (IIR) filters, such as the Butterworth filter used in the examples, are commonly used due to their efficiency.

  • Stability and Phase Response: Filters should be designed to maintain the stability and phase response of the signal. Zero-phase filtering, as implemented with filtfilt, is used to prevent phase distortion by applying the filter forward and backward.

​

Practice on Real Data

The following link ( https://drive.google.com/file/d/1IZi2HzfQTRTPihGRqFB-GqsrBv7l4a2Q/view?usp=drive_link )  contains an sEMG readings file taken from a stroke patient while practicing a myoelectric computer interface task. The sEMG type is regular bipolar electrodes. This is raw data and needs to be cleaned and filtered. Each column represents a muscle, which is responsible for moving the cursor on different axes (X and Y).

  1. Implement a band-pass filter for signals between 20 Hz and 450 Hz.

  2. Implement Root Mean Square processing on the signal.

  3. Plot the signal in the frequency domain.

  4. Plot the cursor movement on the screen. Note: the EMG reading first needs to be normalized to find the cursor's location. Use this formula: P = (EMG - EMGb X 0.8 / M X 0.8 - EMGb X 0.8) x W

P = cursor position EMG = EMG reading EMGb = resting EMG (the first 5 seconds of the session) M = Max value in the file W = Window width

bottom of page