User Tools

Site Tools


visual3d:documentation:emg:processing:normalize_emg_to_maximum_30_second_interval

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
; 

If you are using a version of Visual3D older than 4.94, you can use the example here.

visual3d/documentation/emg/processing/normalize_emg_to_maximum_30_second_interval.txt · Last modified: 2024/07/17 11:45 by sgranger