Description Usage Arguments Details Value Note Author(s) References See Also Examples
Automatic detection algorithm to determine the times at which muscles “turn on” (activity periods) and “turn off” (silence periods) in an EMG signal.
1 | onoff_bonato(data, channel, sigma_n, Pfa = 0.05, m = 5, r0 = 1, minL = 15, data.name)
|
data |
an ‘emg’ object. |
channel |
in case of multi-channel data, |
sigma_n |
standard deviation of the baseline noise (need to be estimated). |
Pfa |
false-alarm probability (see ‘Details’). |
m |
number of samples observed to perform the detection. |
r0 |
minimum number of samples out of |
minL |
minimum length allowed of the detected phases. |
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 |
This technique of detection consists of selecting a initial threshold (such that the probability of false alarm is Pfa
) and then observing m
successive samples: if
at least r0
out of the m
successive samples are above the threshold the presence of the signal is acknowledged.
A numeric vector with values 0 (silence) and 1 (activity).
The default values of m
and minL
where choosen for a sampling rate of 500Hz.
J.A. Guerrero jaguerrero@correo.uaa.mx
Bonato P., D'Alessio T. and Knaflitz M. (1998) A statistical method for the measurement of muscle activation intervals from surface myoelectric signal during gait. IEEE Transactions on Biomedical Engineering 45 (3), 287–299. ISSN 0018–9294.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # Load a data.frame with EMG data
data(emg95306000)
# Coerce a data.frame into an 'emg' object
x <- as.emg(emg95306000, samplingrate = 1000, units = "mV")
# change graphical parameters to show multiple plots
op <- par(mfrow = c(2, 1))
# Estimate 'sigma_n' from the last 200 samples (only baseline noise)
sigma_n <- sd(tail(x$values, 200))
# Detect the phases of activation in x
b <- onoff_bonato(x, sigma_n = sigma_n, m = 10, minL = 30)
# Plot 'x' and the detected phases
plot(x, main = "Sample EMG")
plot(b, type = "l", main = "Detected phases (Bonato's method)")
# reset graphical parameters
par(op)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.