====== Normalize EMG to Maximum 30 second interval ======
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:
Moving_RMS
/Signal_Types=ANALOG
/Signal_Names=EMG1+EMG2+EMG3
/Signal_Folder=PROCESSED
/Num_Window_Frames= 51
;
=== 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 seconds) window is achieved as:
! 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
;
==== 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:
! Apply a high pass filter with 50 Hz cutoff
Highpass_Filter
/Signal_Types=ANALOG
/SIgnal_Names=EMG1+EMG2+EMG3
/Signal_Folder=ORIGINAL
! /Result_Suffix=
! /Result_Folder=PROCESSED
! /Filter_Class=BUTTERWORTH
/Frequency_Cutoff= 50
/Num_Reflected= 0
/Total_Buffer_Size=100
/Num_Bidirectional_Passes=1
;
! Apply a low pass filter with 500 Hz cutoff
Lowpass_Filter
/Signal_Types=ANALOG
/SIgnal_Names=EMG1+EMG2+EMG3
/Signal_Folder=PROCESSED
! /Result_Suffix=
! /Result_Folder=PROCESSED
! /Filter_Class=BUTTERWORTH
/Frequency_Cutoff= 500
/Num_Reflected= 0
/Total_Buffer_Size=100
/Num_Bidirectional_Passes=1
;
! 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
;
[[Visual3D:Documentation:EMG:Filtering:EMG_Envelope|If you are using a version of Visual3D older than 4.94, you can use the example here.]]