visual3d:documentation:emg:processing:onset_based_on_tko
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:emg:processing:onset_based_on_tko [2024/06/19 13:30] – removed sgranger | visual3d:documentation:emg:processing:onset_based_on_tko [2024/07/17 15:45] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Onset Based on TKO ====== | ||
+ | |||
+ | ==== General Processing Steps ==== | ||
+ | |||
+ | Processing EMG signals typically follows some variation of the following steps: | ||
+ | |||
+ | 1. High Pass Filter | ||
+ | 2. Low Pass Filter | ||
+ | 3. Rectify Data | ||
+ | 4. Filter Noise | ||
+ | 5. Normalize and Scale Data | ||
+ | It should be noted that within both this page and external literature, the term " | ||
+ | |||
+ | Visual3D has a number of helpful pipeline functions (linked below) that can automate the general processing steps. | ||
+ | |||
+ | ==== Helpful Pipeline Functions ==== | ||
+ | |||
+ | The following links will redirect you to pages detailing the use of Visual3D pipeline commands that are commonly used in the general processing of EMG data: | ||
+ | |||
+ | * [[Visual3D: | ||
+ | * [[Visual3D: | ||
+ | * [[Visual3D: | ||
+ | * [[Visual3D: | ||
+ | * [[Visual3D: | ||
+ | * [[Visual3D: | ||
+ | |||
+ | ==== Meta Commands ==== | ||
+ | |||
+ | This page deals with several examples of using Visual3D [[Visual3D: | ||
+ | |||
+ | ==== Removing Noise from EMG Signals ==== | ||
+ | |||
+ | **Download the [[https:// | ||
+ | |||
+ | The text below describes two common methods of removing noise from EMG signals. Before using these methods, ensure you have performed a high and low pass filter on the raw data. You do not need to rectify your data to use the Root Mean Square method or the Teagan Kaiser Energy Operator method as they will both rectify your signals for you. | ||
+ | |||
+ | **1. Root Mean Square (RMS):** The RMS method is typically used when finding overall energy, muscle activation patterns, or for fatigue analysis. The RMS method takes the square root of the mean square of a set of values. Because it deals with the mean square of a data set, the input EMG signal does not need to be rectified before calculating the RMS. Example application of this command shown below: | ||
+ | < | ||
+ | ! Example 1: Use the Moving RMS Command to Process EMG Data | ||
+ | ! Apply a high pass filter with 50 Hz cutoff | ||
+ | Highpass_Filter | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | ! Apply a low pass filter with 500 Hz cutoff | ||
+ | Lowpass_Filter | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | ! Moving RMS with 100 millisecond window | ||
+ | Moving_RMS | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | **2. Teager Kaiser Energy Operator (TKEO):** The TKEO method is typically used when finding muscle onset/ | ||
+ | < | ||
+ | ! Example 2: Use the TKEO Command to Process EMG Data | ||
+ | Highpass_Filter | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | Lowpass_Filter | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | Teager_Kaiser_Energy | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | / | ||
+ | / | ||
+ | ! / | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | **3. Integrating EMG Signals:** Integrating EMG signals can be useful for quantifying muscle activity, comparing muscle activity between conditions, and assessing fatigue. The result of integrating an EMG signal (an iEMG) is a single metric value of microvolts or millivolts. While this isn't strictly a noise reduction method, it does have applications once a signal has been filtered. An example of using Visual3D' | ||
+ | **4. Removing Background Noise Example:** The [[Visual3D: | ||
+ | ==== Normalization and Scaling Methods ==== | ||
+ | |||
+ | Normalizing data is a useful transformation for comparing signals across groups of data. This section discusses several methods of using Visual3D' | ||
+ | |||
+ | **1. Normalize and Scale EMG Signal to Global Maximum:** One method of normalizing EMG signals is to use the maximum voluntary contraction (MVC) value. MVC values are an EMG signal measuring during a maximal effort task , which is then used as a reference value to normalize EMG signals during all subsequent experimental tasks. What this translates to in Visual3D is first calculating the maximum value of the reference signal and store it in the Global workspace, then normalize your signals by dividing them by this global metric. Sample files and pipelines are available [[Visual3D: | ||
+ | **2. Compute Normalization Scale Factors:** Here are two examples of the steps that would be used to compute a normalization factor using MVC data. | ||
+ | **Example 1: Single MVC Trial:** The process for computing a normalization factor from a single MVC value uses the following general steps: | ||
+ | - Process EMG | ||
+ | - High pass filter (remove DC offset) | ||
+ | - Calculate RMS of predetermined time intervals (example: 0.02 seconds) | ||
+ | - Normalize | ||
+ | - Calculate the average of the processed signal over 30 second intervals | ||
+ | - Get the maximum of the 30 second interval | ||
+ | - Normalize by dividing the average by the maximum | ||
+ | |||
+ | **Example 2: Multiple MVC Trials** | ||
+ | - Process EMG | ||
+ | - High pass filter (remove DC offset) | ||
+ | - Calculate RMS of predetermined time intervals (example: 0.02 seconds) | ||
+ | - Normalize | ||
+ | - Calculate the average of the processed signal over some time interval (in this example: 0.5 seconds) | ||
+ | - Get the maximum of the processed signal | ||
+ | - Calculate the maximum of the average signal | ||
+ | - Normalize by dividing the processed signal by the maximum average over the interval | ||
+ | |||
+ | Sample files and pipelines are available [[Visual3D: | ||
+ | |**3. Normalize to Maximum within Gait Cycle:** The image to the (right) shows four " | ||
+ | |||
+ | |||
visual3d/documentation/emg/processing/onset_based_on_tko.1718803800.txt.gz · Last modified: 2024/06/19 13:30 by sgranger