movingaverage {biosignalEMG} | R Documentation |
Smooths an EMG by taking local averages.
movingaverage(data, channel, wsize, units = c("samples", "time"), data.name)
data |
an ‘emg’ object, usually rectified. |
channel |
in case of multi-channel data, |
wsize , units |
determines the length of the moving window that is used to calculate the local averages of the data. |
data.name |
a string specifying the name of the variable which will appears on the plots. If empty or not provided is taken from the object given as |
The moving average is a running average computed over a moving window over the length of the EMG. Usually, the EMG signal is first rectified due that, generally, the mean value of an EMG signal is zero.
The window length is the double of the value of wsize
in samples. The units
of the window size could be in number of samples ("samples") or in seconds ("time").
An ‘emg’ object containing the moving-averaged EMG.
J.A. Guerrero jaguerrero@correo.uaa.mx
Konrad P. (2005) The ABC of EMG: A Practical Introduction to Kinesiological Electromyography. Version 1.0, Noraxon INC. USA.
# change graphical parameters to show multiple plots
op <- par(mfrow = c(2, 1))
# Simulate 5 seconds of an EMG
emgx <- syntheticemg(n.length.out = 5000, on.sd = 1, on.duration.mean = 350,
on.duration.sd = 10, off.sd = 0.05, off.duration.mean = 300, off.duration.sd = 20,
on.mode.pos = 0.75, shape.factor = 0.5, samplingrate = 1000, units = "mV",
data.name = "Synthetic EMG")
plot(emgx, main = "Synthetic EMG")
# Compute the moving average of the rectified EMG
emgr <- rectification(emgx, rtype = "fullwave")
emgma <- movingaverage(emgr, wsize = 30, units = "samples")
plot(emgma, main = "Moving average of the rectified EMG")
# reset graphical parameters
par(op)