highpass {biosignalEMG}R Documentation

Highpass filter an EMG signal


Highpass filter an EMG signal to remove signal artifacts and baseline noise contamination.


highpass(data, channel, cutoff = 50, n = 5, data.name)



an ‘emg’ object.


in case of multi-channel data, channel is the specific channel to be considered by the procedure. Possible values: a character vector specifying the name of the channel to be considered (case sensitive) or a numeric value specifying the channel to be considered (number of column in data).


cutoff frequency in Hertz for the highpass filter. See ‘Details’ for recommended values.


filter order for the highpass filter.


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 data.


This procedure performs a highpass filtering to the EMG signal in order to remove signal artifacts and baseline noise contamination (such as the DC-bias).

There are various recommendations for the value of the cutoff frequency, for example 5Hz (Merletti, 1999) and 10-20Hz (Freriks et.al., 1999).


An ‘emg’ object which contains the filtered EMG.


This procedure only uses a butterworth type filter of order n. In order to apply a different type of filter, please see the documentation of the ‘signal’ package.


J.A. Guerrero jaguerrero@correo.uaa.mx


Merletti R. (1999) Standards for Reporting EMG data. Journal of Electromyography and Kinesiology 9(1), III-IV http://www.isek-online.org/standards_emg.html

Freriks B., Stegeman D.F. and Hermens H.J. (1999) European Recommendations Standards for Surface Electromyography for Surface Electromyography, results of the SENIAM project. ISBN: 90-75452-14-4.

See Also

dcbiasremoval, whitening, lowpass


# Load a data.frame with EMG data
# Coerce a data.frame into an 'emg' object
x <- as.emg(emg95306000, samplingrate = 1000, units = "mV")

# Filter the fourth channel in x
y <- highpass(x, cutoff = 100)

# change graphical parameters to show multiple plots
op <- par(mfcol = c(2, 2))

# Compute the rectified signals to see the effect of the filter
x_rect <- rectification(x)
y_rect <- rectification(y)

# plot the original channel, the filtered channel and the corresponding
# rectified signals
plot(x, channel = 1, main = "Original  channel")
plot(y, main = "Highpass filtered channel")
plot(x_rect, main = "Rectified  channel")
plot(y_rect, main = "Rectified highpass filtered channel")

# reset graphical parameters

[Package biosignalEMG version 2.1.0 Index]