User Tools

Site Tools


visual3d:documentation:emg:filtering:emg_envelope

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
visual3d:documentation:emg:filtering:emg_envelope [2024/06/14 17:11] – created sgrangervisual3d:documentation:emg:filtering:emg_envelope [2024/07/17 15:45] (current) – created sgranger
Line 1: Line 1:
-|**Language:**|** English**  • [[index.php?title=EMG_Envelope/fr&action=edit&redlink=1|français]] • [[index.php?title=EMG_Envelope/it&action=edit&redlink=1|italiano]] • [[EMG_Envelope/pt|português]] • [[index.php?title=EMG_Envelope/es&action=edit&redlink=1|español]] ****|+====== EMG Envelope ======
  
-|===== Contents =====\\ \\ \\ \\ [[#Using_the_Moving_RMS_Command|1 Using the Moving_RMS Command]]\\   [[#Moving_RMS_using_Frame_Window|1.1 Moving RMS using Frame Window]]\\   * [[#Moving_RMS_using_Time_Window|1.2 Moving RMS using Time Window]]\\ * [[#Using_the_Moving_RMS_Command_to_Process_EMG_Data|2 Using the Moving_RMS Command to Process EMG Data]]| +**If you are using a version of Visual3D older than 4.94, you will need to use the following commands to specify the frame window in seconds (as opposed to frames).**
- +
-This page shows an example of processing EMG data using the Root Mean Square (RMS) Amplitude Method. +
- +
-===== Using the Moving_RMS Command ===== +
- +
-==== Moving RMS using Frame Window ==== +
- +
-For example the command below applies the moving RMS with a 51 frame window+
- +
-<code> +
-Moving_RMS +
-/Signal_Types=ANALOG +
-/Signal_Names=EMG1+EMG2+EMG3 +
-/Signal_Folder=PROCESSED +
-/Num_Window_Frames= 51 +
-+
-</code> +
- +
-==== Moving RMS using Time Window ==== +
- +
-When reporting RMS, it's typically stated as an RMS window over a specified time interval of T. +
- +
-An example of running an RMS over a 100 ms (0.1 secondswindow is achieved as: +
- +
-<code> +
-! Moving RMS with 100ms window +
-Moving_RMS  +
-/SIGNAL_TYPES=ANALOG  +
-/SIGNAL_NAMES=EMG1+EMG2+EMG3  +
-/SIGNAL_FOLDER=PROCESSED +
-! /RESULT_SUFFIX=  +
-/RESULT_FOLDER=RMS  +
-/NUM_WINDOW_FRAMES= ( 0.1*PARAMETER::ANALOG::RATE ) + 1 +
-+
-</code> +
- +
-===== Using the Moving_RMS Command to Process EMG Data ===== +
- +
-An example of "putting it all together". First the signal is Highpass filtered to remove the DC offset, then lowpass filtered and finally rectified:+
  
 <code> <code>
-Apply high pass filter with 50 Hz cutoff+------------------------------------------- 
 +! apply bandpass filter to the EMG signals 
 +! -------------------------------------------
 Highpass_Filter Highpass_Filter
 /Signal_Types=ANALOG /Signal_Types=ANALOG
Line 57: Line 20:
 ; ;
  
-! Apply a low pass filter with 500 Hz cutoff 
 Lowpass_Filter Lowpass_Filter
 /Signal_Types=ANALOG /Signal_Types=ANALOG
Line 70: Line 32:
 /Num_Bidirectional_Passes=1 /Num_Bidirectional_Passes=1
 ; ;
-  + 
-Moving RMS with 100ms window +------------------------------------------- 
-Moving_RMS  +! copy the analog rate from the c3d parameter 
-/SIGNAL_TYPES=ANALOG  +! to a metric value 
-/SIGNAL_NAMES=EMG1+EMG2+EMG3 +! ------------------------------------------- 
 + 
 +Metric_From_Parameter 
 +/METRIC_NAME=ANALOG_RATE 
 +/PARAMETER_GROUP=ANALOG 
 +/PARAMETER_NAME=RATE 
 +
 + 
 +! ------------------------------------------- 
 +! compute the number of frames equivalent to 
 +! a 100 ms window 
 +! ------------------------------------------- 
 + 
 +Evaluate_Expression 
 +/EXPRESSION=1+0.1*METRIC::PROCESSED::ANALOG_RATE 
 +/RESULT_NAME=RMS_FRAMES 
 +/RESULT_TYPE=METRIC 
 +! /RESULT_FOLDER=PROCESSED 
 +
 + 
 +! ------------------------------------------- 
 +! create a pipeline parameter of the RMS window 
 +! -------------------------------------------  
 + 
 +Set_Pipeline_Parameter_To_Data_Value 
 +/PARAMETER_NAME=RMS_FRAMES 
 +/SIGNAL_TYPES=METRIC 
 +/SIGNAL_NAMES=RMS_FRAMES
 /SIGNAL_FOLDER=PROCESSED /SIGNAL_FOLDER=PROCESSED
-! /RESULT_SUFFIX=  +;
-/RESULT_FOLDER=RMS  +
-/NUM_WINDOW_FRAMES= ( 0.1*PARAMETER::ANALOG::RATE ) + 1 +
- +
-</code>+
  
-[[Visual3D:Documentation:EMG:Filtering:EMG_Envelope_Version_2|If you are using version of Visual3D older than 4.94, you can use the example here.]]+! -------------------------------------------- 
 +! compute moving rms with a window of 100 ms 
 +! --------------------------------------------
  
 +Moving_RMS
 +/SIGNAL_TYPES=ANALOG
 +/SIGNAL_NAMES=EMG1+EMG2+EMG3
 +/SIGNAL_FOLDER=PROCESSED
 +! /RESULT_SUFFIX=
 +/RESULT_FOLDER=RMS
 +/NUM_WINDOW_FRAMES=::RMS_FRAMES
 +;
 +</code>
  
-Retrieved from "" 
  
  
visual3d/documentation/emg/filtering/emg_envelope.1718385091.txt.gz · Last modified: 2024/06/14 17:11 by sgranger