Biomedical Signal Processing and Control 8 (2013) 153–168
Contents lists available at SciVerse ScienceDirect
Biomedical Signal Processing and Control
journal homepage: www.elsevier.com/locate/bspc
Bispectrum-based features classification for myoelectric control
Eugenio C. Orosco a,∗ , Natalia M. Lopez b , Fernando di Sciascio a
a
b
Instituto de Automática, Facultad de Ingeniería, Universidad Nacional de San Juan, Argentina
Gabinete de Tecnología Médica, Facultad de Ingeniería, Universidad Nacional de San Juan, Argentina
a r t i c l e
i n f o
Article history:
Received 20 June 2012
Received in revised form 13 August 2012
Accepted 21 August 2012
Available online 7 September 2012
Keywords:
EMG
Robust bispectrum
Continuous classification
Myoelectric control
a b s t r a c t
Surface electromyographic signals provide useful information about motion intentionality. Therefore,
they are a suitable reference signal for control purposes. A continuous classification scheme of five upper
limb movements applied to a myoelectric control of a robotic arm is presented. This classification is based
on features extracted from the bispectrum of four EMG signal channels. Among several bispectrum estimators, this paper is focused on arithmetic mean, median, and trimmed mean estimators, and their
ensemble average versions. All bispectrum estimators have been evaluated in terms of accuracy, robustness against outliers, and computational time. The median bispectrum estimator shows low variance
and high robustness properties. Two feature reduction methods for the complex bispectrum matrix are
proposed. The first one estimates the three classic means (arithmetic, harmonic, and geometric means)
from the module of the bispectrum matrix, and the second one estimates the same three means from
the square of the real part of the bispectrum matrix. A two-layer feedforward network for movement’s
classification and a dedicated system to achieve the myoelectric control of a robotic arm were used. It
was found that the classification performance in real-time is similar to those obtained off-line by other
authors, and that all volunteers in the practical application successfully completed the control task.
© 2012 Elsevier Ltd. All rights reserved.
1. Introduction
Surface electromyographic signal (EMG) is an electric manifestation of muscular activity associated with muscle contraction and
force level, which can be detected on the skin surface [1,2]. This
complex signal is influenced by several physiological and anatomical factors, as well as for recording situations. The EMG signal
contains rich information about muscular activity, neuromuscular disorders, and motion intentionality, and has the potential to
become a reference input signal to myoelectric control systems. For
this purpose, signal processing is required for conditioning the EMG
in two main steps, namely, feature extraction and classification.
The aim of feature extraction techniques is to reduce the
dimensionality of the digitalized EMG signals by mapping these
large-dimension objects into a smaller-dimensional space. This
is done by selecting from the original EMG signal a small set of
features (or characteristics) that are arranged in a feature vector.
Ideally, these features should be simple to extract, invariant to
irrelevant transformations, insensitive to noise, and useful for characterizing and discriminating motion patterns. The information in
these features represents the motion intention of the user. On this
∗ Corresponding author. Tel.: +54 02644286993; fax: +54 02644213672.
E-mail addresses:
[email protected] (E.C. Orosco),
[email protected] (N.M. Lopez),
[email protected]
(F. di Sciascio).
1746-8094/$ – see front matter © 2012 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.bspc.2012.08.008
accounts, the correct selection and design of the feature vector is
more critical than the choice of the classification method [3]. The
abstraction provided by the feature-vector representation of the
EMG signals allows using of a well-developed domain independent
classification theory.
A wide variety of different features for EMG classification purposes have been extensively reported in the literature [4]. Features
can be classified according to several criteria, e.g., their specific feature domain (time [5], frequency [6], or time-frequency domain
[7]); the linear or nonlinear nature of the feature extraction mapping [8,9]; or whether the feature extraction method is based on
second or high-order statistics.
High-order statistics (HOS), and the probabilistic models based
on them, allow modelling non-Gaussian and non-linear signals, as
pointed out by Nikias, Mendel and Swami [10–12] and in more
extensive theoretical works [13–17]. In past years, several authors
have proposed to use of HOS concepts to analyze and classify the
EMG signals, e.g., high-order cumulant sequences, high-order spectra or polyspectra, skewness, kurtosis, and other concepts [18–24].
HOS are more extensively used in EMG analysis, to explore the
relationships between the bicoherence (normalized bispectrum)
and the force level [20], to estimate the amplitude and the number of newly motor unit action potential using the second and the
fourth-order moments [21] and using the third-order spectrum
[22–24]. However, few researchers have addressed the problem of
HOS-based feature classification. For example, Nazarpour et al. [18]
employ HOS of EMG signal to classify four motions, based on the
154
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
fact that useful information can be extracted from the second, third
and fourth-order cumulants using a K-nearest neighbor classifier.
Another bispectrum feature extraction method can be found in [19]
that performs an off-line classification of EMG signals, using segmented matrix integration (axial and radial direction) and Fisher’s
linear discriminant analysis. They obtain the best classification rate
off-line, without considering the transition between movements;
although they suggest the possibility of online implementation.
In this paper, a bispectrum (the double Fourier transform of
the third-order cumulant sequences) from multiple EMG channels
is proposed as a HOS-based feature classification method applied
to the myoelectric control of a robotic device, as a hard real-time
application. The bispectrum is estimated from four EMG channels,
corresponding to biceps brachii, triceps brachii, pronator and brachioradialis.
The bispectrum is a bidimensional complex function represented by a complex matrix. Therefore, in order to perform the
classification, it is necessary to reduce this 2D complex array into a
real feature vector. To this aim, two feature vectors were proposed
and analyzed under criterions of complexity, computational cost
and feasibility of real-time implementation. The most adequate
feature vector is selected to be used as an input to an artificial neural network to classify five movements of the upper limb: elbow’s
flexion–extension, forearm’s pronation–supination and arm’s rest.
With these results, a robotic arm is controlled in real time.
The paper is organized as follows: In Section 2, we explain
the experimental procedure for EMG signal acquisition, processing, classification, and the myoelectric control of a robot arm. We
also provide a brief overview of data segmentation, surface electromyogram models, bispectrum definition and properties, and
bispectrum processing (estimation methods, feature extraction and
reduction). In Section 3, we present and discuss our results in relation to: (i) the statistical analysis of the proposed robust bispectrum
estimators, (ii) the classification performance of the bispectrumbased feature extraction, and (iii) the real-time implementation of
the myoelectric control of a robot arm. Finally, Section 4 states the
conclusions.
interest in this work are flexion, extension, pronation, supination,
and rest position. The volunteers are encouraged to perform the
sequence of movements prompted by beepers. The database consists of the records of six volunteers, three male and three females,
volunteers aged 28.6 ± 5.4, their height 1.77 ± 0.13 m and weight
66.2 ± 12.7 kg. All volunteers are healthy, with no history of muscle weakness, neurological diseases or drug therapy. One of them
has a congenital malformation, i.e., unilateral phocomelia below
his elbow (Vol. 1). The volunteers have approved and signed an
informed consent form, according to the experiments to be performed.
The database was collected in four experimental trials, completed on four different days, while avoiding the effects of muscular
fatigue [25]. Each trial consisted of five series of sequential movements, holding each motion for three seconds and interspersing
the rest position. Each trial has 100 s maximum duration. The first
trial was used for data training for artificial neural networks. The
remaining sessions were used for data validation. The volunteers
performed an additional session for real-time myoelectric control
of a robotic arm in.
2.2. Front-end processing and EMG acquisition
The myoelectric control system based on features extracted
from the EMG signal bispectrum is described in this section. The
block diagram of the overall myoelectric control scheme is shown
in Fig. 1. Following the sequence outlined in the block diagram, this
section is organized as follows: First, the experimental protocol,
the front-end processing and EMG acquisition, and data segmentation are presented. Then, the conceptual subsections explain
the relevant concerns about the models of the surface EMG, bispectrum, bispectrum estimation and, finally, feature extraction,
feature reduction, the classification and real time myoelectric control methods.
Two data acquisition systems were used, both of which featuring
a front end processing stage and an EMG acquisition stage. The front
end processing stage includes instrumentation amplifiers (Gain of
1000 (V/V) and CMRR > 100 dB), band pass filters (10–500 Hz) and
opto-isolated subsystems [1,2]. The EMG acquisition stage has an
analog-to-digital converter and the digital processing software. The
EMG signals from four channels were registered by the two different data acquisition systems with a sampling frequency fixed at
1 kHz.
The reasons for using these two systems were; first, the database
needs a precise and accurate high-resolution data acquisition system, because the signals are used for features analysis and neural
network training. On the other hand, the real time control requires a
fast hardware and a fast communication link in order to effectively
control these devices.
The commercial data acquisition system, used for EMG database,
is a 15LT – Grass Technologies® . Signals are sampled with a 16-bit
A/D converter (National Instruments DAQPad-6015® ), and Matlab®
software.
The real time control was developed with a data acquisition system designed in our institute. The design of the front end processing
stage is explained with details in [26,27]. The EMG acquisition
stage has a PIC16F876 microcontroller which samples the signals
through a 10-bit A/D converter. The QNX® real time operating system records the signals and it executes the processing, classification
and control algorithm tasks. Also, in this stage, the EMG data from
the database is statistically normalized in order to have zero mean
and unit variance EMG signals.
2.1. Experimental protocol
2.3. Data segmentation
A movement-based protocol is designed for recording the upper
limb EMG signals for biceps brachii, triceps brachii, pronator and
brachioradialis muscles, as is shown in Fig. 2. The movements of
A time segment (time-slot or time-window) is a time interval used to acquire myoelectric data needed for some kind of
signal processing, such as detection, estimation, filtering, feature
2. Materials and methods
Fig. 1. Block diagram of the overall myoelectric control system.
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
155
Fig. 2. Electrodes placement used with the experiments. The considered muscles are biceps and triceps brachii, and pronator and brachioradialis. The movements are flexion,
extension, pronation, supination, and rest position.
extraction and classification (as in our case), and the like. The
idea behind data segmentation is that the signal can be considered quasi-stationary during these time intervals; then, the data
can be batch-wise processed from segment to segment. This signal
processing mode is also known as real-time data processing over
sliding time windows (with or without overlapping). Two important parameters must be properly selected in order to design a good
data segmentation strategy; namely, the segment length, and the
amount of overlapping between two consecutives segments.
The segment length (measured in the number of time samples),
determines the trade-off balance between the accuracy of the classification and the response time. This is so because, on the one hand,
the segment length should be large enough to avoid a degradation
of the classification performance, because the bias and variance
of feature estimators increase as segment length decreases and,
on the other hand, the segment length should be small enough to
satisfy the hard real-time constraints of the myoelectric control
application [4,28]. The myoelectric control must supply the control commands in less than 300 ms, so that the user does not feel
any delay in the expected response from the system. In this work a
segment length of 256 samples was adopted.
The amount of overlapping is measured as a percentage of the
segment length. The degree of overlapping between two consecutives segments normally ranges from 0%, for non-overlapped or
adjacent windowing, and almost 100%. This parameter affects the
rate with which class decisions will be made and can be adjusted to
optimize the use of the computing resources. Here, a 50% overlapping (128 samples) is adopted to obtain a continuous classification
scheme (see Fig. 3). The post-processing technique is explained in
Section 2.7.
2.4. Models of the surface electromyogram
The standard assumption about the surface EMG signal recorded
during voluntary constant-force contractions is that it can be
modeled as a band-limited, correlation-ergodic, centered (zeromean) Gaussian process, modulated by muscle activity and
corrupted by additive Gaussian white noise [29]. The sum of these
two independent and centered Gaussian processes is a centered
Gaussian process. This assumption provides an adequate mathematical tool for modelling and feature extraction, with acceptable
results. Nevertheless, some authors have proposed other representations of the EMG signal, such as Laplacian process [30] or Gaussian
Mixture Models [31].
Based on the implicit assumption of ergodicity, several authors
have investigated the sample or empirical marginal probability
density function (pdf) of EMG signal amplitudes [32–36]. It is
widely accepted that the Gaussian amplitude distribution is more
adequate to represent voluntary contractions above 50% of maximum voluntary contraction (MVC), but the amplitude distribution
tends towards a Laplacian or a double exponential distribution as
the force level decreases (specially below 30% of maximum voluntary contraction) [33,35,36].
2.5. Bispectrum
In the following three subsections, the definitions of cumulant
sequences and bispectrum functions are presented and also the
influence of the symmetries of the joint and marginal density functions of a random signal on their bispectrum are discussed. Finally,
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
156
Fig. 3. The EMG channel is segmented into sliding windows of 256 samples with overlapping of 128 samples. Tree segments are shown with 50% overlapped. This configuration
is implemented to do a continuous feature extraction.
in Section 2.5.3, we explain several bispectrum estimation methods.
2.5.1. Bispectrum definition and basic properties
The bispectrum is a third-order frequency-domain measurement containing information that conventional spectral analysis
techniques cannot provide [10–12,37]. This is especially useful for
non-Gaussian signals. Its definition and some basic properties are
recalled in the following.
Let {X(k)} , k = 0, 1, 2, 3, . . . a real stationary discrete time random
process whose first n-moment exists. Then the n-moment function
[37] can be defined as
mxn (1 , 2 , . . . , n−1 ) = E{X(k)X(k + 1 )· · ·X(k + n−1 )}
(1)
where E {·} is the statistical expectation and i is time shift.
The most widespread moment functions used are: the second moment or autocorrelation function mx2 (), the third-order
moment functions mx3 (1 , 2 ) and the fourth-order moment function mx4 (1 , 2 , 3 ).
For a zero mean stationary random process and only for n = 3, 4,
the definition of cumulant functions is written as
g
cnx (1 , 2 , . . . , n−1 ) = mxn (1 , 2 , . . . , n−1 ) − mn (1 , 2 , . . . , n−1 )
cnx (1 , 2 , . . . , n−1 ) = E
X(k)X(k + 1 )· · ·X(k + n−1 )
− E(g(k)g(k + 1 )· · ·g(k + n−1 ))
(2)
where {g(k)} is a Gaussian random process with the same autocorrelation function as {X(k)}. For a given random process, the
cumulant functions provide a measure of the distance to Gaussianity. If {X(k)} is a Gaussian process, cumulants higher than second
order are zero.
n = 1,
2
and
3
For
between
moments
and
given by
the
general
relationship
cumulant
functions
are
c1x = mx1 = E{X(k)}
(3a)
2
2
c2x (1 ) = mx2 (1 ) − (mx1 ) = mx2 (−1 ) − (mx1 ) = c2x (−1 )
(3b)
c3x (1 , 2 ) = mx3 (1 , 2 ) − mx1 [mx2 (1 )
+ mx2 (2 ) + mx2 (1 − 2 )] − 2(mx1 )
3
(3c)
where, c1x is the mean value of {X(k)} and c2x is the autocovariance sequence. The third-order cumulant function is c3x (1 , 2 ) and,
when the random sequence {X(k)} is zero mean, the cumulant function is equivalent to the moment function, that is,
mx3 (1 , 2 ) = c3x (1 , 2 ) = E{X(k)X(k + 1 )X(k + 2 )}
(3d)
Important properties justify the use of cumulants instead of
moments [10,11]. First, high-order cumulant functions extract
information deriving from deviations from Gaussianity. Second, the
polyspectra of the white noise is a multidimensional flat function.
Third, the cumulant functions of two statistically independent random processes are equal to the sum of the individual cumulant
functions of each process. Therefore, the cumulant functions can be
treated as an operator and, consequently, the discrete time Fourier
transform is applicable.
From this point, this work will focus on the third-order cumulant
sequence and assume that c3x (1 , 2 ) is absolutely summable [37],
the third-order spectra or the bispectrum can be defined as the
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
two-dimensional discrete time Fourier transform of the third-order
cumulant c3x (1 , 2 ) as follows.
B3x (ω1 , ω2 ) =
∞
∞
c3x (1 , 2 ) exp{−j(1 ω1 + 2 ω2 )}
(4)
1 =−∞2 =−∞
where |ω1 | ≤ ; |ω2 | ≤ ; |ω1 + ω2 | ≤ and c3x (1 , 2 ) is the thirdorder cumulant function of the random sequence {X(k)}.
The properties of symmetries in third-order cumulants function
and the corresponding bispectrum function can be found in [10,37],
in example;
c3x (1 , 2 ) = c3x (2 , 1 ) = c3x (−2 , 1 − 2 ) = c3x (2 − 1 , −1 )
= c3x (1 − 2 , −2 ) = c3x (1 , 2 − 1 )
(5)
third-order cumulant estimates. It is also well known that for a
fixed number of data samples, the variance of these estimates is
greater than the second-order cumulant estimates (autocorrelation
function).
In the following subsections, three third-order cumulant estimators are presented, based on different approximations of
the expectation operator E(·) in Eq. (3d): the arithmetic mean,
the median or second quartile, and the truncated or trimmed
mean.
2.5.3.1. Third-order cumulant estimators. Arithmetic mean thirdorder cumulant estimator: The standard unbiased estimator of the
third-order cumulant sequence is equivalent to using the sample
mean estimator,
and;
ĉ3x−MEAN (m, n) =
B3x (ω1 , ω2 ) = B3x (ω2 , ω1 ) = B3x (−ω2 , −ω1 ) = B3x (−ω1 − ω2 , ω2 )
= B3x (ω1 , −ω1 − ω2 ) = B3x (−ω1 − ω2 , ω1 )
= B3x (ω2 , −ω1 − ω2 )
(6)
2.5.2. Bispectrum and symmetry of probability density functions
The bispectrum of a random process is identically zero when
their joint probability density functions are symmetric. Only for the
special case where the process is white (i.e., an independent and
identically distributed sequence), the bispectrum vanishes when
their marginal probability density functions are symmetric [38,39].
The following equalities between joint PDF’s must be satisfied
in order to verify that a zero-mean, stationary random process X(k)
has identically zero third-order statistics [39]:
1
N − max(m, n)
N−max(m,n)
x(l)x(l + m)x(l + n)
(8)
l=1
where, in our case XN = {x(k), k = 1, 2, . . ., N} is the EMG sequences
(time segment) of N = 28 = 256 samples, l = 1, 2, . . . is the index of
the sample segment, and m = 0, 1, 2, . . . , n = 0, 1, 2, . . . are the
time lags. Evidently, between l, m, n and N it must be satisfied the
relation 1 ≤ max(l + m, l + n) ≤ N. Therefore index l varies from 1 to
N − max(m, n). A slight modification of Eq. (8) leads to a biased (but
asymptotically unbiased) estimator of the third-order cumulant
sequence.
ĉ3x−MEAN-B (m, n) =
1
N
N−max(m,n)
x(l)x(l + m)x(l + n)
(9)
l=1
Eqs. (8) and (9) can be written in a compact form as:
N−m
fX(k),X(l),X(m) (xk , xl , xm ) = fX(k),X(l),X(m) (xk , xl , −xm )
ĉ3x−MEAN (m, n) =
= fX(k),X(l),X(m) (xk , −xl , xm )
= fX(k),X(l),X(m) (−xk , xl , xm )
157
1
zm,n (l)
K
(10)
l=1
(7)
where k, l, and m are distinct integers.
The above equalities are much more restrictive symmetry constraints than the one expressed in terms of just the marginal PDF.
Furthermore, it would be more difficult to verify the symmetry conditions in terms of the joint PDF’s, than to directly investigate when
the bispectrum is zero (or nonzero).
Because it is well-known that the EMG signal is not white, the
preceding paragraphs mean that the symmetry of the marginal
(amplitude) probability distribution of the EMG signals by itself
is not sufficient to conclude that the third-order statistics are zero.
This clearly justifies the use of EMG bispectrum features for movement classification task.
2.5.3. Bispectrum estimation methods
The problem of estimating the bispectrum from a single finite
time realization of a stochastic process has been largely addressed
in the literature. There are basically two approaches that have
been used to estimate the bispectrum, namely, the parametric approach (which is based on linear parametric models, e.g.,
autoregressive, moving average, and ARMA models), and the
conventional or ‘Fourier type’ approach [37]. A review of the commonly used techniques can be found in [40–44], and references
therein.
Considering the real-time application of myoelectric control,
this paper is focused in three estimators, members of the family of
indirect class of conventional bispectrum estimators, that is, estimators based on the approximation of bispectrum definition given
by (3d) and (4). It follows from this definition that the accuracy
of bispectrum estimation depends mainly on the accuracy of the
where zm,n (l) = x(l)x(l + m)x(l + n) is defined for fixed values of m and
n over the triangular region m = 0, 1, 2, . . . and 0 ≤ n ≤ m ≤ N − 1,
the index l ranges from 1 to N − m, and K takes the values
N − m or N for unbiased or asymptotically unbiased estimator
respectively.
In what follows, only unbiased estimators are considered,
because our estimation task is actually a small sample estimation
problem, and, as G.W. Brown pointed out as early as 1947 [45] “To
ensure, in small-sample estimation, that an estimate bears some relation to the parameter it is estimating, it has become the custom to
require that an estimate be unbiased”.
Median third-order cumulant estimator: The sample median is
a classical method for estimating the middle of a data set. This
estimator provides a robust alternative to sample mean when the
underlying distribution of zm,n (l) is approximately Laplacian or double exponential, which is indeed our case. Fig. 4 shows the plots
of nearly Laplacian empirical density functions for several zm,n (l).
In this case the cumulant estimates is bias robust in the presence of outliers, and with less variance than the sample mean
estimator.
The sample median third-order cumulant estimator is represented compactly by:
ĉ3x−MED (m, n) = Med(zm,n (l))
(11)
where Med(·) is the sample median operator and, likewise above,
zm,n (l) = x(l)x(l + m)x(l + n) is defined for fixed values of m and n
over the triangular region m = 0, 1, 2, . . ., 0 ≤ n ≤ m ≤ N − 1, and
1 ≤ l ≤ N − m. If the data zm,n (1), . . ., zm,n (N − m) are arranged
in ascending order from smallest to largest and written as
zm,n [1] ≤ · · · ≤ zm,n [N − m], then zm,n [i] is the ith order statistic and
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
158
Fig. 4. The estimated probabilistic density functions of the several EMG windows of 256 ms are near a Laplacian or double exponential density distribution. The estimated
probabilistic density functions are based on a normal kernel function.
the values zm,n [i] are called the order statistics. Using this notation,
the sample median is defined as:
ĉ3x−MED (m, n) = Med(zm,n (l))
=
⎧ N −m+1
⎨ zm,n
2
ĉ3x−MED (m, n).
if N − m is odd
⎩ zm,n [(N − m)/2] + zm,n [[(N − m)/2] + 1]
2
if N − m is even
(12)
Symmetric trimmed mean third-order cumulant estimator: The
truncated or trimmed mean estimator given by (13) is another
approach to robust estimation of third-order cumulant. The sensitivity to outliers is reduced by removing the smallest ks and largest
kl values from the data set.
ĉ3x−TRIMM (m, n, ks , kl ) =
1
N − m − ks − kl
N−m−kl
zm,n [l]
(13)
l=ks +1
where zm,n [1] ≤ · · · ≤ zm,n [N − m] are the previously defined order
statistics. When ks = kl = k, a symmetric k-trimmed mean estimator
is obtained, given by (14).
ĉ3x−TRIMM (m, n, k) =
1
N − m − 2k
N−m−k
zm,n [l]
(14)
=
⎧
N−m−1
⎪
⎨
if N − m is odd
2
⎪
⎩ N − m − 1 if N − m is even
2
2.5.3.2. Ensemble average third-order cumulant estimators. Ensemble (or time segments) averaging is a form of data stratification. This
is a standard statistical technique used in the analysis of stationary
time series in order to obtain an acceptable trade-off between the
bias of the estimator and its variance. In averaging over time segments, the finite sequence XN = {x(k), k = 1, 2, . . ., N} is divided into D
non-overlapping subsequences, each one having a length of M samples, such that N = D × M. If x(i) (j), j = 1, 2, . . ., M, i = 1, 2, . . ., D denote
the k = (i − 1)M + jth observation in the original sequence, then the
subsequences X(i) are defined as, X(i) = {x(i) (j) = x((i − 1)M + j), j = 1, 2,
. . ., M} , i = 1, 2, . . ., D.
Thus, the following ensemble average versions of the three
estimators defined previously are calculated as the ensemble average of the cumulant subsequences estimates on the
segments.
Ensemble average arithmetic mean third-order cumulant estimator:
l=k+1
where k can take the values k = 0, 1, . . . , (N − m − 1)/2 , and the
symbol ⌊ ⌋ denotes the floor or the integer part function that is given
by (16).
N−m−1
2
It should be noted that the unbiased sample mean estimator (8)
is a special case of the symmetric k-trimmed mean estimator (14)
when k = 0, i.e., ĉ3x−TRIMM (m, n, k = 0) = ĉ3x−MEAN (m, n); and that the
sample median estimator (12) is another
special case of (14), when
k = (N − m − 1)/2 , i.e., ĉ3x−TRIMM m, n, k = (N − m − 1)/2 =
ĉ3x−MEAN-D (m, n) =
(i)
(15)
D
M−m
i=1
l=1
1 1 (i)
zm,n (l)
D
M−m
(16)
zm,n (l) = x(i) (l)x(i) (l + m)x(i) (l + n), i = 1, 2, . . . , D
are
where,
defined in each subsequence X(i) for fixed values of m and n over
the triangular region m = 0, 1, 2, . . ., 0 ≤ n ≤ m ≤ M − 1, the index l
varies from 1 to M − m.
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
Ensemble averaging median third-order cumulant estimator:
ĉ3x−MED-D (m, n) =
1
D
D
intention of the user. In the following sections, the procedures used
for EMG bispectrum feature extraction and feature reduction will
be explained.
Med zm,n (l)
i=1
=
(i)
⎧ D
M −m+1
⎪
1
⎪
(i)
⎪
zm,n
⎪
2
⎨D
if M − m is odd
i=1
D
(17)
(i)
(i)
zm,n
⎪
[(M − m)/2] + zm,n [[(M − m)/2] + 1]
1
⎪
⎪
⎪
⎩D
2
if M − m is even
i=1
(i)
where the values zm,n [·] are the order statistics defined in the subsequence X(i) , i = 1, 2, . . ., D.
Ensemble averaging symmetric trimmed mean third-order cumulant estimator:
D
ĉ3x−TRIMM-D (m, n, k) =
1
1
D
M − m − 2k
i=1
M−m−k
(i)
zm,n [l]
(18)
l=k+1
2.5.3.3. Bispectrum estimates. As it was pointed out previously, the
bispectrum estimation is an approximation of the definition (4),
calculated as:
B̂3x−XX (ω1 , ω2 ) =
159
L
L
ĉ3x−XX (m, n)w(m, n)
m=−Ln=−L
× exp{−j(ω1 m + ω2 n)}
(19)
where the super index XX in the third-order cumulant and bispectrum estimates can be: MEAN, MED, TRIMM, or the ensemble
average versions MEAN-D, MED-D, TRIMM-D; and L ≤ N − 1 or
L ≤ M − 1, as appropriate. The cumulant symmetries and the properties of its two-dimensional fast Fourier transform should be
considered in order to reduce the computational cost [10,11,37].
As in the case of conventional power spectrum estimation, a bidimensional window function w(m,n) is used to find the smooth
bispectrum estimates. Furthermore, it is well known that the
selection of the window function w(m,n) affect the bias-variance
trade-off in the bispectrum estimation. The bidimensional window
function w(m,n) must satisfy the following conditions [37]:
• Symmetry properties: w(m, n) = w(n, m) = w(−m, n − m) =
w(m − n, −n)
• Zero outside the region high-order statistics estimates, i.e.,
w(m, n) = 0; |m| > L
• Normalizing condition at the origin, i.e., w(0, 0) = 1
• Nonnegative Fourier transform, i.e., W(ω1 , ω2 ) ≥ 0, for all (ω1 , ω2 )
These properties can be satisfied by generating the bivariate
function w(m,n) using some standard univariate window functions,
such as Daniell, Hamming, Parzen, Priestley or Sasaki windows.
The window functions can be evaluated in terms of two quantities that are proportional to the bias and the variance of the
estimated bispectrum. This issue is fully explained and analyzed
in Nikias and Petropulu [37]. Among other things, the authors concluded that the bispectrum estimated with Sasaki window has the
lowest bias, and that of Parzen window has the lowest variance.
According to this, the Parzen window function was chosen.
2.6. Feature extraction
The goal of feature extraction is to find a small set of characteristics, grouped into a feature vector of the digitalized EMG signals that
is useful for characterizing and discriminating the motion patterns.
The information contained in these features represents the motion
2.6.1. Bispectrum feature extraction
The performance of the bispectrum estimations in real time
situations determines the most adequate estimator. For analysis
the estimators explained in Section 2.5.3 were considered. In this
feature extraction stage, the robust bispectrum median estimator
using (17) is implemented. As is explained later, the median estimator produces the lowest variance estimation and it is robust
against outliers as well, which justifies the decision for choosing
this estimator.
The EMG data segmentation allows the continuous classification
of movements in sliding time windows. Those windows have 256
samples with overlapping on 128 samples (50%). The segments are
assumed as a stationary stochastic process and it also provides the
suitable dimension, thus making faster the two-dimensional fast
Fourier transform.
The bispectrum function was calculated in each of the four
EMG channels over the sliding time windows. In Eq. (17), the EMG
segment x(k) was divided into four groups of 64 samples (D = 4
and M = 64), and then, the estimation of the third-order cumulant
sequences was calculated as the average of estimates on the segments. Then, the discrete time double fast Fourier transform was
calculated using the cumulant sequences and their symmetries. The
bispectrum estimation results in a complex square matrix of order
128 which contains several regions of symmetry. The fist triangular region was used to compute the features vector. A schematic
explanation is shown in Fig. 5.
2.6.2. Bispectrum feature reduction
The bispectrum is a bidimensional complex function that is
represented by a complex-valued square matrix of size 2M × 2M;
where M is the size of the fist quadrant redundancy region. In this
work, M = 64 for each of the four channels; then, the matrix size is
128 × 128. In order to perform the classification, it is not suitable
to use the whole bispectrum matrix due to its high dimensionality. Therefore, it is necessary to reduce this 2D complex-valued
array into a real-valued feature vector without losing much information along the process. This is possible because of the redundant
information present in the bispectrum.
To this purpose, various authors have proposed different reduction techniques, by taking into consideration several factors, such as
complexity, computational cost and feasibility of real-time implementation. Kaplanis et al. [20] have examined seven parameters of
the bispectrum: peak amplitude in the x-direction; slope peak slope
in the x-direction; peak amplitude in the y-direction; slope peak
slope in the y-direction; Maximum amplitude; Test for Gaussianity; Test for Linearity. Similarly, Hussain et al. [46] have investigated
the Test for Gaussianity based on the mean bicoherence power (a
squared power normalized version of the bispectrum). Chen et al.
[19] used segmented matrix integration (axial and radial direction)
and a non-linear logarithm transform of the bispectrum.
For each EMG channel, two feature reduction methods for the
complex bispectrum matrix are proposed. The first one estimates,
as shown in Table 1, the three classic Pythagorean means from
the module of the bispectrum matrix, i.e., arithmetic mean (AM),
harmonic mean (HM), and geometric mean (GM). With these, the
vector [AMs , HMs , GMs ]T is formed, where the subscript s = 1, 2, 3,
4 indicates the EMG channel number (see Fig. 6(a)). The final feature vector is obtained by applying a quarter-root transformation of
each component of the vector [AMs , HMs , GMs ]T . The purpose of this
last transformation is to obtain a more peaked feature’s probability
distribution which has better numerical properties.
160
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
Table 1
Feature vectors.
Module feature vector
[AMs , HMs , GMs ]T , s = 1,
2, . . ., 4
Arithmetic mean (AM)
AMs =
1
M
M
1
M−i+1
i=1
Harmonic mean (HM)
HMs = M
M
M
(M − i + 1)
Real arithmetic mean (RM)
RAMs =
1
M
1
M−i+1
RHMs = M
M
x , EMG subsegment.
(i, j)|
−1 −1
M
(s) MED-D
ℜeal(B̂3x
(i, j))
2
j=i
(M − i + 1)
M
j=i
(s) MED-D
ℜeal(B̂3x
−1 −1
(i, j))
⎛
1/(M−i+1) ⎞1/M
M
M
2
(s)
⎠
RGMs = ⎝
ℜeal(B̂3x MED-D (i, j))
i=1
(s)
|B̂3
−1
j=i
M
i=1
Real geometric mean (RGM)
x(s) MED-D
j=i
i=1
Real harmonic mean (RHM)
M
⎛
1/(M−i+1) ⎞1/M
M
M
(s)
⎠
GMs = ⎝
|B̂3x MED-D (i, j)|
i=1
Square real part feature
vector [RAMs , RHMs ,
RGMs ]T , s = 1, 2, . . ., 4
(i, j)|
j=i
i=1
Geometric mean (GM)
(s) MED-D
|B̂3x
j=i
Fig. 5. A 256 samples segment is used to estimate the third-order cumulant and, then, the bispectrum is obtained by the two-dimensional fast Fourier transform. The fist
triangular redundancy region is chosen for the analysis of movement intention.
Fig. 6. The feature vectors are defined by the quarter-root of the three Pythagorean means obtained from (a) the module, and (b) the square of the real part of the complex
bispectrum matrix.
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
161
Fig. 7. The neural network is a two-layer feed-forward back propagation network. The artificial neural network input vector is based on the EMG feature vector, and the five
elements output vector (M1–5) characterizes the movements (flexion, extension, pronation, supination and rest). A post processing is applied to the outputs.
The second feature reduction method is summarized in Fig. 6(b)
and Table 1. This method differs from the former one in that it uses
the square of the real part of the complex bispectrum matrix instead
of the module. In this case, the vector obtained before applying the
quarter-root transformation is [RAMs , RHMs , RGMs ]T . This feature
reduction method turns to be more effective, and faster than the
first one. In both reduction methods, the size of the final feature
vector is 12 (three features per channel).
2.7. Classification method
It is widely recognized that the correct selection of components
of the feature vector is more decisive than the choice of a specific classification method [3]. Thus, the selection of the classifier
is not our primary goal in this paper. Several classifiers have been
used for EMG classification [8,9,47]. For example, different Artificial Neural Networks, Support Vector Machine, multiple classifiers
with competence function, linear Bayesian classifier, and so on. In
this paper, a two-layer feedforward neural network (Fig. 7) was
used, because of, among other things, its great simplicity, straightforward numerical implementation, acceptable classification rate, and
good performance in real time. This neural network has one hidden
layer and one output layer. The hidden layer contains 20 neurons
with hyperbolic tangent sigmoid activation function and the output
layer has 5 neurons with a linear activation function constrained to
the interval [0,1]. The selection of the number of hidden neurons
has been determined directly by minimizing the combination of
squared errors and weights, and by maximizing the classification
rate on the training stage [48].
For both feature reduction methods discussed in Section 2.6.2,
the size of the final augmented feature vector was 12 (three features
for each of four EMG channels). This augmented feature vector is
used as the input to a neural network classifier and a 5-dimension
vector is returned as an output that represents the classified movements, i.e., flexion, extension, pronation, supination and rest.
Continuous classification of movements using overlapped sliding windows was applied for training and validation of the neural
network classifier. As described in Section 2.3, a segment length of
256 samples and an overlapping of 128 samples were adopted. For
training the classifier, the first trial of each volunteer was extracted
from the (our) database of experiments, comprising the sequence
of five movements (see Section 2.1). In the training stage, only
the steady-state signal was considered. Consequently, the transition periods were removed from the training data [28]. A Bayesian
regularization algorithm [49,50] was used for training the neural network classifier. This method uses a modified performance
function designed to minimize over-training, and obtains a classifier with improved generalization properties. The remaining trials
of our database of experiments without removing the transition
periods were used as validation data.
Fig. 8. The figure shows the post processing of the motion classification system.
Four classified motions are averaged and then, the final motion is the maximum of
this average. Average M1–5 characterizes the movements. The decision increment
is 128 ms to the outputs.
Finally, in order to improve the motion classification accuracy,
a post-processing step is applied. The analysis window size is
512 ms (two segment), and the decision increment is 128 ms (half
segment). Four classified motions are averaged and the intended
motion is assigned to the maximum of this average (see Eq. (21),
and Fig. 8). This post processing produces a decision once every
128 ms.
MMAX = max(M̄j ) = max
j
j
i+3
1
Mji
4
i
,
j = 1, . . . , 5
(21)
Fig. 9. The basic software consist on all those C-codes necessary to run the ADC,
buffering data, filtering data, windowing, saving data to disk, graphics user interface, and to allow the option to run the process and control algorithms. Those tasks
run in four parallel threads, in different priorities. This configuration avoids the competition between the fundamental thread and the GUI. Therefore, the hard real time
is guaranteed.
162
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
Fig. 10. The figure shows the joint coordinates calculation scheme. Selectors M1–4 are the active motions and M5 is rest. When the Selector M5 is active, an exponential
decreasing function (with K < 1) is set. Constants K1 to K4 transform parameters to joint coordinates for each volunteer. Saturations from −90◦ to 90◦ are applied to avoid
any damage to the robot.
where i is the sliding time window index, and j = 1, . . ., 5 indicates
the classified class motion.
2.8. Real-time myoelectric control
Myoelectric control is widely used in assistive technologies,
including multifunction prosthesis, wheelchairs, grasping control,
virtual keyboards, diagnoses and clinical applications, such as functional neuromuscular stimulation. The main goal of this work is to
control a robotic arm (Cyton ARM7) using the EMG signals from
the upper limb and user’s visual feedback. The myoelectric control
was done with a dedicated hardware and software system, and the
control loop was closed using the visual perception of the user. The
second acquisition system was used in this stage (see Section 2.2).
The real time processing software was executed under QNX®
real time operating system. QNX allowed multi-threads programming with different priority levels, from 1 to 255 (low to high
priority). The applications were developed with an integrated
development environment (IDE) in C-language. The IDE was performed under Windows® and the applications were transferred
over Ethernet to a QNX host computer. This configuration decreases
the development time and increases the versatility. The software
was executed in four parallel threads with different priorities. A
block diagram of the basic module’s structure is shown in Fig. 9.
Technical details about this procedure can be found in [26,27].
The robotic arm, a Cyton ARM7 manipulator, was controlled
by mimicking a human arm configuration with seven degrees of
freedom. The joints used in this experiment were the elbow and
the wrist rotation, and their coordinates were calculated using the
Root-Mean Square (RMS) of the rectified signal, as the maximum
likelihood estimator of muscular force [30]. When a movement is
detected and correctly classified, the RMS of the data segment is
integrated over time and the final joint coordinates are obtained by
subtracting the integrated RMS of the agonist–antagonist muscles
pairs. If movement switches to rest, the joint coordinate is modeled
by an exponential decreasing function. This procedure is equivalent to low-pass filtering or smoothing the robot arm dynamics, as
shown in Fig. 10.
3. Results and discussion
In the following subsections, we present and discuss our
results, divided into three parts. The first one shows the evaluation of the bispectrum estimators proposed in Section 2.5.3.3,
while the second presents the classification performance of the
bispectrum-based feature extraction. In the third subsection, the
real time implementation of the myoelectric control scheme herein
proposed is presented, applied to a robotic arm.
3.1. Evaluation of the bispectrum estimation
The bispectrum estimators proposed in the Section 2.5.3.3 were
evaluated in terms of accuracy, robustness against outliers and
computational time. In addition, the underlying probability distributions of the estimates have been considered in the analysis
of the results. It is reasonably assumed that EMG signals are sufficiently fast mixing sequences; that is, its values at widely-separated
times are asymptotically independent [51]. For signals that exhibit
this weakly time-dependent behavior, the moving block bootstrap
resampling technique [52] could be used to generate a large number of independent pseudo-random sequences from the observed
signal. With these new segments, it is possible to estimate the value
of statistical quantities from the original signal via Monte Carlo
simulations, e.g., mean, variance, distribution functions, and so on.
3.1.1. Accuracy of bispectrum estimation
The accuracy of the bispectrum estimation depends on three
factors, namely, the amount of data (segment length L), the bidimensional smoothing window function W(· , ·) and, finally, the
accuracy of the third-order cumulant estimates ĉ3x−XX (m, n). By
recalling the equations of Section 2.5, we can see that these factors are clearly shown in definition (4) and estimation (19) of the
bispectrum.
B3x (ω1 , ω2 ) =
∞
∞
c3x (1 , 2 ) exp{−j(1 ω1 + 2 ω2 )}
(4)
1 =−∞2 =−∞
B̂3x−XX (ω1 , ω2 ) =
L
L
ĉ3x−XX (m, n)w(m, n) exp{−j(ω1 m + ω2 n)}
m=−Ln=−L
(19)
As was already pointed out in Section 2.3, the segment length
and overlapping have been fixed to 256 samples and 128 samples,
respectively. These two values were determined by the trade-off
balance between the accuracy of the classification and the response
times that satisfy the real-time constraints of the myoelectric control application. As it is noted in Section 2.5.3.3, two-dimensional
smoothing window functions have been extensively analyzed by
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
Table 2
Mean and variance of bispectrum estimators from 1000 Monte Carlo simulation
experiments.
Estimator
Arithmetic
mean
Median
Trimmed
mean
D
Mean (23)
Variance (24)
1
2
4
1
2
4
1
2
4
0.031
0.0066
0.0051
0.00039
0.00014
0.00016
0.012
0.0027
0.0022
0.64
0.17
0.19
0.027
0.0038
0.0048
0.36
0.075
0.12
B̂3x−XX (0, 0) =
L
L
ĉ3x−XX (m, n)W (m, n)
Table 3
Mean and variance of bispectrum estimators from 1000 Monte Carlo simulation
experiments with the data sets that include outliers.
Estimator
Arithmetic
mean
Median
Trimmed
mean
other authors. Based on these studies, Parzen window was selected
because the estimated bispectrum showed the lowest variance.
Finally, it is clear from the bispectrum definition (as a double
discrete Fourier transform of the third-order cumulants) that the
accuracy of the third-order cumulant estimates is an important factor that directly affects the accuracy of the bispectrum estimation.
The bispectrum accuracy is analyzed through the mean (23) and
variance (24) of the bispectrum estimated at the origin B̂3x−XX (0, 0).
This term is a real random variable that is calculated by the matrixweighted average of the third-order cumulant estimates (see Eq.
(22)) and, therefore, it provides an indirect evaluation of the thirdorder cumulant estimates for a fixed weight matrix W.
(22)
163
D
Mean (23)
Variance (24)
1
2
4
1
2
4
1
2
4
0.035
0.0078
0.0065
0.00035
0.00015
0.00018
0.012
0.0027
0.0023
1.10
0.22
0.21
0.015
0.0064
0.011
0.50
0.056
0.075
although the variance shows a slight increase when the data
are divided into four segments (D = 4).
3.1.2. Robustness property of bispectrum estimators:
The robustness properties of bispectrum estimators were evaluated by analyzing the accuracy of B̂3x−XX-D (0, 0), when a single
normally distributed outlier is introduced at a random (uniformly
distributed) time into the original EMG signal.
In data sets that include outliers, the variance of mean estimator grows further than the others estimators, while the robustness
property of the median estimator results in nearly the same variance (as without outliers), as is shown in Table 3. It is recognized
that the trimmed mean estimator has similar robustness properties. Nevertheless the variance is relatively greater than the median
estimator.
m=−Ln=−L
The sample mean of B̂3x−XX (0, 0) is given by:
NB
1 x(b) −XX
B̂3
(0, 0)
B̄3 (0, 0) =
NB
(23)
b=1
and the sample variance as:
NB
B̃3 (0, 0) =
2
1 x(b) −XX
(B̂3
(0, 0) − B̄3 (0, 0))
NB
(24)
b=1
where {x(b) , b = 1, 2, . . ., NB } are a set of NB independent pseudorandom sequences (segments) generated from the EMG signal in
the moving block bootstrap technique.
3.1.1.1. Results of Monte Carlo simulation experiments. The previously outlined moving block bootstrap procedure is used to
generate 1000 independent pseudo-random segments from a segment of EMG signal during a muscle contraction of 256 samples.
Then, we calculate the sample mean (23), and sample variance (24)
of the bispectrum estimators proposed in Section 2.5.3.3, namely,
the arithmetic mean estimator, the median estimator, the symmetric trimmed mean estimator, and their ensembles average versions
for three subsegments D = 1, 2, and 4 (see Section 2.5.3.2). Results
are summarized in Table 2 and Fig. 11 from which the following
observations were extracted:
(i) The arithmetic mean estimator has a notable higher variance
than the median and the symmetric trimmed mean estimators.
(ii) The median estimator has a substantial lower variance than
the other estimators. This result is consistent with the fact that
the underlying distribution of z(l) was approximately Laplacian (see Fig. 3) and, in this case, the median is the maximum
likelihood estimator.
(iii) As it would be expected, both the mean and the variance
decrease when the number of sub segments D increase,
3.1.3. Average computational time
The real time constraints of myoelectric control require that
the computational time for the bispectrum estimation, the features
vector construction and the movements’ classification be smaller
than the sliding time window of 128 ms.
The average computational time was calculated using 1000 segments randomly selected from the four channels EMG signal, in
different trials and volunteers. The time that the computer takes to
perform the features extraction, features vector construction and
movements’ classification were obtained for each segment. This last
classification task is straightforward to implement, so the computational time is spent mainly by the following two tasks:
• Bispectrum estimation: The bispectrum is calculated using the
estimator evaluated in the previous sections, i.e., the arithmetic
mean estimator, the median estimator, the symmetric trimmed
mean estimator, and their ensembles average versions for three
sub segments D = 1, 2, and 4.
• Features vector construction: The Pythagorean means from the
real part of the complex bispectrum method was used to obtain
the features vector. This feature reduction method results more
effective and faster (Section 2.6.2).
These calculations were performed in Matlab, providing an estimate of the processing time. As it can be expected, the real time
implementation is faster on the QNX operating system (Section 2.8).
The average computational times for the estimators are shown
in Table 4. The time difference between the ensemble estimators
with two (D = 2) and four (D = 4) sub-segments are small. In the case
Table 4
Averaged computational time.
Estimator
Arithmetic mean
Median
Trimmed mean
D=1
D=2
D=4
61 ms
126 ms
311 ms
14 ms
32 ms
121 ms
14 ms
30 ms
109 ms
164
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
Fig. 11. (a) The top of the figure shows a bar-plot of the estimated sample means (23) of the arithmetic mean, median, and trimmed mean bispectrum estimators for three
ensembles versions (D = 1, 2 and 4). The top of the figure also shows an enlargement of the median mean estimator. (b) The bottom of the figure shows a bar-plot of the
estimated sample variances (24). All means and variances are estimated with 1000 independent pseudo-random segments obtained with the moving block bootstrap method.
of one segment (D = 1), the average times increases significantly,
and this time is even greater than the sliding time windows for the
trimmed mean estimator.
• The percentage of correct classification rates were computed as
the ratio of correct decisions over the total number of decisions
multiplied by 100.
3.2. Classification performance of the bispectrum-based features
Some authors, such as in [19,53], give values of correct classification rates for steady state signals, i.e., the transition periods
between successive movements have been removed. Clearly, this
approach is not suitable for hard real-time applications such as
myoelectric control. Nevertheless, for comparison purposes, the
classification rates were calculated with and without taking into
account transitions between movements. But, for both cases, the
transition periods were removed from the training data set.
For continuous classification (with transitions), the average of
the mean and standard deviation of the correct classification rates
are summarized in Table 5 and Fig. 12. For a 12-dimension feature vector obtained from the module of the complex bispectrum
matrix, the average of the mean and standard deviation classification rates are 92.22% and 2.97, respectively; and for features
obtained from the square of the real part of the bispectrum matrix
are 92.12% and 3.11, respectively. By comparing the performance
of the module and real part feature vectors, it was observed that
the two averages of the mean rates were very similar. There was
only a small decrease (less than 2% in the worst case) for real part
feature vector. In addition, on account his extensive experience, the
amputee Vol. 1 shows an acceptable performance in both feature
vectors.
In this section, the performance evaluation of the neural network classifier described in Section 2.7 is presented. The correct
classification rate is used to measure the classification accuracy for
the two feature vectors proposed in Section 2.6.2. Recall that these
feature vectors are defined by the quarter-root of the three classic
means obtained from the module and the square of the real part of
the complex bispectrum matrix (see Table 1). In order to properly
interpret the results, the following issues are relevant:
• The data set of movements was extracted from our own database
of experiments (see Section 2.7).
• The ensemble median bispectrum estimator (for D = 4) was used
on the basis of the advantages outlined in Section 3.1.
• The stages of features extraction and reduction, as well as the
classification of movements using a two-layer feedforward neural
network were performed in continuous mode (see Sections 2.6
and 2.7).
• The feature vectors were calculated for each volunteer, and then,
the neural networks were trained (see Section 2.7).
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
165
Table 5
The classification rates using our database with transitions.
Volunteer
Feature vector obtained from the module of
the complex bispectrum matrix
Feature vector obtained from the square of the
real part of the complex bispectrum matrix
Mean %
SD
Mean %
SD
1
2
3
4
5
6
96.97
93.04
93.97
89.35
90.04
89.97
0.71
1.96
2.40
5.25
2.83
4.42
97.03
92.93
93.85
90.40
90.07
88.43
1.05
3.37
2.26
2.86
1.59
3.26
Averages
92.22
2.97
92.12
3.11
Mean %, mean percentage of classification rate; SD, standard deviation; Vol. 1, amputee.
Table 6
The classification rates using our database without transitions.
Volunteer
Feature vector obtained from the module of
the complex bispectrum matrix
Feature vector obtained from the square of the
real part of the complex bispectrum matrix
Mean %
SD
Mean %
SD
1
2
3
4
5
6
99.60
96.59
96.96
93.47
93.99
93.86
0.35
1.95
2.09
4.95
2.74
3.96
99.53
96.41
96.83
94.95
94.11
92.60
0.39
3.09
1.91
2.45
1.73
2.78
Averages
95.75
2.40
95.74
2.41
Vol. 1, amputee.
The results without taking into account transitions between
movements are summarized in Table 6. For the feature vector
obtained from the module of the complex bispectrum matrix, the
average of the mean and standard deviation classification rates are
95.75% and 2.40, respectively, and for features obtained from the
square of the real part of the bispectrum matrix are 95.74% and 2.41,
respectively. These classification rates are consistent with results
obtained in [19,53]. When these results were compared with those
obtained by continuous classification (Table 5), a slight improvement was noted in the classification rates. This improvement was
expected, because most of the classification errors occur at the
transitions between movements.
feature vectors with an external database provided by Chan [53]. In
this database, EMG signals were collected from 30 volunteers from
seven sites on the forearm and one site on the biceps brachii. Within
each trial, the volunteer repeats each limb motion four times, holding each motion for three seconds each time. A total of six trials
were completed in a session. In this paper, we only use the data
from one session of the fourth volunteer. Data from the first trial
were used as training data and data from the remaining five trials were used as testing data. EMG data motions are: open hand,
closed hand, supination, pronation, wrist flexion, wrist extension,
and rest.
3.2.1. Cross-validation with an alternative database
The purpose of this subsection is to validate the effectiveness of the neural network classifier for the same previous two
Fig. 12. Bar-plot of the classification rates summarized in Table 5. The mean and
standard deviation of the classification rate from the module feature vector and the
real part feature vector are shown.
Fig. 13. The user had to control the robot through muscle contraction and visual
feedback to confirm the correct movements. The task involved a sequence of
pronation, supination, flexion, extension movements interspersing with short rest
intervals.
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
166
Fig. 14. The top four figures (a)–(d) show four EMG signals generated by the subject with a congenital amputation below the elbow. The movements are pronation, supination,
flexion and extension. EMG signals are (a) pronator muscle; (b) brachioradialis muscle; (c) biceps muscle and (d) triceps muscle. The bottom two figures (e) and (f) show the
joint coordinates of the Cyton robot arm. Joint coordinates are obtained by the subtraction of the integrated RMS of the agonist–antagonist muscles pairs. The wrist joint
coordinate is from (e) the pronator–supinator functional muscles pairs, and the elbow joint coordinate is from (f) flexion–extension functional muscles pairs. The transition
to rest state is made through an exponential decreasing function.
The correct classification rates over six trials are summarized
in Table 7. For the feature vector obtained from the module of the
complex bispectrum matrix, the mean and standard deviation are
96.23% and 1.81, respectively, and for features obtained from the
square of the real part of the bispectrum matrix are 95.73% and
1.91, respectively.
Table 7
Correct classification rates calculated using the external database (hand protocol).
Trials
Feature vector obtained from
the module of the complex
bispectrum matrix
Feature vector obtained from
the square of the real part of
the complex bispectrum matrix
1
2
3
4
5
6
98.29
96.20
93.18
95.26
97.09
97.37
97.78
96.41
92.93
93.98
97.35
95.95
Mean %
SD
96.23
1.81
95.73
1.91
3.3. Myoelectric Control of a robotic arm
The myoelectric control system based on features extracted
from the EMG signal bispectrum has been shown in the block diagram of Fig. 1.
The algorithms were executed in the real time operating system QNX and the design specifications were discussed in Section
2.8. These specifications explain, among other things, how the joint
coordinates of the robot arm are calculated (Fig. 9, Section 2.8).
In an additional experimental session, three volunteers (two
able-bodied and one trained amputee volunteer) perform a task
in real-time. The experimental task is a sequence of pronation,
supination, flexion, and extension movements interspersed with
short rest intervals. As we have already pointed out in Section 2.8,
the robot joints used in this experiment were the elbow and the
wrist. Two issues were evaluated for their influence on the system
suitability: (i) the correct (movement) classification rate, and (ii)
the system response delay.
All volunteers successfully completed the control task, especially the amputee volunteer, due to his experience with
myoelectric control systems (Fig. 13). A sequence of movements of
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
four EMG signals and the joints coordinates are shown in Fig. 14. The
movement classification rate of 92% was calculated from the volunteers’ collected data. A classification error occurs more frequently
during transitions between movements. These classification errors
are naturally low-pass filtered by the robot dynamics. Therefore,
it is unlikely that a robot could be sensitive to transitory misclassifications [28]. From a practical point of view, the users of
the myoelectric control equipment have instantaneous visual feedback. This is so because the system delay does not exceed 128 ms,
thereby avoiding any human–machine compatibility problems
which may deteriorate the safety and controllability of the system.
4. Conclusions
In previous work, several authors have already proposed the use
of higher order statistics for off-line classification of EMG signals.
Our approach differs from these earlier works in that we introduce a bispectrum-based continuous classification of EMG signals
in a hard real-time application, as the case of myoelectric control of a robot arm. The proposed myoelectric control scheme was
structured in several stages and we use the most advantageous
techniques for EMG acquisition, data segmentation, bispectrum
estimation, feature extraction and reduction, classification and control. The data segmentation was implemented as done in several
other works in the literature, allowing for continuous EMG classification and for improving the performance of the system.
Two initial assumptions were empirically verified, (i) that EMG
signals are not a purely Gaussian process, thus the third order statistics are non-zero; and (ii) that HOS techniques cannot be discarded
when the marginal probability distribution of the EMG signals is
symmetric. These now verified facts allowed us to extract discriminative features from the EMG bispectrum, and thus achieving a
good classifier.
This work is focused on three bispectrum estimators members of
the family of indirect class of conventional bispectrum estimators:
MEAN, MED, and TRIMM estimators; and their ensemble averaging
versions: MEAN-D, MED-D, and TRIMM-D estimators. On the feature extraction stage, the bispectrum was estimated by using the
MED-D cumulants estimator, offering robustness against outliers
and low variance. This can be explained by the fact the underlying
distribution of zm,n (l) was approximately Laplacian and in this case,
the median is the maximum likelihood estimator.
The two feature vectors, defined by the quarter-root of the three
Pythagorean means obtained from the module, and the square of
the real part of the complex bispectrum matrix, were analyzed and
compared. The classification performance was validated with our
own database of experiments, and with an external one. It was
found that: (i) our results in real-time classification are quite similar to those obtained off-line by other authors; (ii) when comparing
the performance of the module and real part feature vectors, it was
observed that the two averages of the mean rates were very similar
(there was only a small decrease, less than 2% in the worst case for
real part feature vector).
Also, all volunteers successfully completed the control task,
especially the amputee volunteer due to his experience with myoelectric control systems. The computational time was low enough
to allow the real-time implementation; and the delay does not
exceed the segment time of 128 ms.
Finally, we conclude that the bispectrum-based method provides a good balance between complexity and performance for real
time applications, even when the bispectrum is a complex matrix
function.
References
[1] C. De Luca, Physiology and Mathematics of Myoelectric Signals, IEEE Transactions on Biomedical Engineering BME-26 (6) (1979) 313–325.
167
[2] C.J.
De
Luca,
Surface
Electromyography:
Detection
and
Delsys
Inc.,
Boston,
MA,
2002,
Available
in
Recording,
http://www.delsys.com/Attachments pdf/WP SEMGintro.pdf.
[3] R.O. Duda, P.E. Hart, D.G. Stork, Pattern Classification, 2nd ed., WileyInterscience Publication, New York, 2001.
[4] M. Oskoei, H. Hu, Myoelectric control systems: a survey, Biomedical Signal
Processing and Control 2 (2007) 275–294.
[5] M. Zardoshti-Kermani, B. Wheeler, K. Badie, R. Hashemi, EMG feature evaluation for movement control of uer extremity prostheses, IEEE Transactions on
Rehabilitation Engineering 3 (1995) 324–333.
[6] D. Roman-Liu, M. Konarska, Characteristics of power spectrum density function
of EMG during muscle contraction below 30% MVC, Journal of Electromyography and Kinesiology 19 (2009) 864–874.
[7] X. Zhang, Y. Wang, P.S. Ray, Han, wavelet transform theory and its alication in EMG signal processing, in: Proc. of IEEE Seventh International
Conference on Fuzzy Systems and Knowledge Discovery, vol. 5, no. 8, 2010,
pp. 2234–2238.
[8] M. Kurzynski, T. Woloszynski, A. Wolczowski, Multiclassifiers with competence
function alied to the recognition of EMG Signals for the control of bio-prosthetic
hand, in: Proc. of the 9th International Conference on Information Technology
and Alications in Biomedicine ITAB 2009, 2009, pp. 1–4.
[9] P.K. Artemiadis, K.J. Kyriakopoulos, An EMG-based robot control scheme robust
to time-varying EMG signal features, IEEE Transactions on Information Technology in Biomedicine 14 (3) (2010) 582–588.
[10] C.L. Nikias, J.M. Mendel, Signal processing with higher-order spectra, IEEE Signal Processing Magazine 10 (3) (1993) 10–37.
[11] C.L. Nikias, M.R. Raghveer, Bispectrum estimation, a digital signal processing
framework, Proceedings of the IEEE 75 (7) (1987) 869–891.
[12] A. Swami, J.M. Mendel, C.L. Nikias, Higher-Order Spectral Analysis Toolbox for
use with Matlab, User’s Guide, MathWorks Inc., Natick, MA, 1998.
[13] M.B. Priestley, Spectral Analysis and Time Series, 11th ed., Academic Press Inc.,
Great Britain, 1981, pp. I871–I874.
[14] D.R. Brillinger, Time Series, Data Analysis and Theory, Siam ed., Holden Day
Inc., San Francisco, 2001 (Chapter 2).
[15] D.R. Brillinger, Some history of the study of higher-order moments and spectra,
Statistica Sinica 1 (1991) 465–476.
[16] D.R. Brillinger, An introduction to polyspectra, The Annals of Mathematical
Statistics 36 (5) (1965) 1351–1374.
[17] M.G. Kendal, The Advanced Theory of Statistics, I, 2nd ed., Charles Griffin &
Company Limited, London, 1945 (Chapter 3).
[18] K. Nazarpour, A.R. Sharafat, S.M. Firoozabadi, Alication of higher order statistics
to surface electromyogram signal classification, IEEE Transactions on Biomedical Engineering 54 (10) (2007) 1762–1769.
[19] X. Chen, X. Zhu, D. Zhang, A discriminant bispectrum feature for surface electromyogram signal classification, Medical Engineering & Physics 32 (2) (2010)
126–135.
[20] P.A. Kaplanis, C.S. Pattichis, L.J. Hadjileontiadis, V.C. Roberts, Surface EMG analysis on normal subjects based on isometric volunteer contraction, Journal of
Electromyography and Kinesiology 19 (1) (2009) 157–171.
[21] K. Kanosue, M. Yoshida, K. Akazawa, K. Fujii, The number of active motor units
and their firing rates in volunteer contraction of human brachialiis muscle,
Japanese Journal of Physiology 29 (4) (1974) 427–443.
[22] S. Shahid, J. Walker, G.M. Lyons, C.A. Byrne, A.V. Nene, Higher order statistics
techniques alied to EMG signal, IEEE Transactions on Biomedical Engineering
52 (7) (2005) 1195–1209.
[23] K. Yana, H. Mizuta, R. Kajiyama, Surface electromyogram recruitment analysis using higher order spectrum, in: Proc. of the IEEE 17th Annual Conference
Engineering in Medicine and Biology Society, vol. 2, 1995, pp. 1345–1346.
[24] E. Plévin, D. Zazula, Decomposition of surface EMG signals using non-linear LMS
optimisation of higher-order cumulants, in: Proc. of the 15th IEEE Symposium
on Computer-Based Medical Systems, 2002, pp. 5912–5915.
[25] F. Molinari, M. Knaflitz, P. Bonato, M.V. Actis, Electrical manifestations of muscle fatigue during concentric and eccentric isokinetic knee
flexion–extension movements, IEEE Transactions on Biomedical Engineering
53 (2006) 1309–1316.
[26] E. Orosco, N. López, C. Soria, F. di Sciascio, Surface electromyogram signals
classification based on bispectrum, in: Proc. of the 2010 Annual International
Conference of the IEEE of Engineering in Medicine and Biology Society (EMBC),
2010, pp. 4610–4613.
[27] E. Orosco, N. López, C. Soria, F. di Sciascio, Hard real time modular system for
acquisition, processing and classification of EMG signals, in: Proc. of the RPIC
Buenos Aires, 2011.
[28] K. Englehart, B. Hudgins, A robust, real-time control scheme for multifunction
myoelectric control, IEEE Transactions on Biomedical Engineering 50 (7) (2003)
848–854.
[29] E. Clancy, E. Morin, R. Merletti, Sampling, noise-reduction and amplitude estimation issues in surface electromyography, Journal of Electromyography and
Kinesiology 12 (2002) 1–16.
[30] E.A. Clancy, N. Hogan, Multiple site electromyograph amplitude estimation,
IEEE Transactions on Biomedical Engineering 42 (2) (1995) 203–211.
[31] Y. Huang, K. Englehart, B. Hudgins, A. Chan, Optimized Gaussian mixture models
for uer limb motion classification, IEEE Transactions on Biomedical Engineering
52 (11) (2005) 1801–1811.
[32] E.A. Clancy, N. Hogan, Probability density of the surface electromyogram and its
relation to amplitude detectors, IEEE Transactions on Biomedical Engineering
46 (6) (1999) 730–739.
168
E.C. Orosco et al. / Biomedical Signal Processing and Control 8 (2013) 153–168
[33] H. Al-Timemy, G. Bugmann, A. Jackson, K. Nazarpour, A note on the probability distribution function of the surface electromyogram signal, Medical &
Biological Engineering & Computing, submitted for publication. Available in
http://www.staff.ncl.ac.uk/k.nazarpour/papers/EMG pdf.pdf.
[34] A.S. Cherniz, C.E. Bonell, C.B. Tabernig, Study of the SEMG probability distribution of the paretic tibialis anterior muscle, Journal of Physics: Conference Series
90 (1) (2007) 1–7.
[35] G.R. Naik, D.K. Kumar, S.P. Arjunan, Kurtosis and negentropy investigation
of myo electric signals during different MVCs, in: ISSNIP Biosignals and
Biorobotics Conference, 2011, pp. 1–4.
[36] K. Nazarpour, A.R. Sharafat, S.M. Firoozabadi, Negentropy analysis of surface
electromyogram signal, in: IEEE/SP 13th Workshop on Statistical Signal Processing, 2005, pp. 974–977.
[37] C. Nikias, A. Petropulu, Higher-order Spectral Analysis: a Nonlinear Signal Processing Framework, Prentice-Hall, Inc., NJ, 1993.
[38] M.R. Raghuveer, Higher-order statistics: laying a myth to rest, in: Proceedings
of the 28th Asilomar Conference on Signals, Systems and Computers, vol. 1,
1994, pp. 5–8.
[39] M.R. Raghuveer, Third-order statistics: issue of PDF symmetry, IEEE Transactions on Signal Processing 43 (7) (1995) 1736–1738.
[40] P.J. Huber, Robust Statistics, John Wiley and Sons, New York, 1981.
[41] A.K. Nandi, Robust estimation of third-order cumulants in applications of
higher-order statistics, IEEE Proceedings of Radar and Signal Processing 140
(6) (1993) 380–389.
[42] A.K. Nandi, D. Mampel, Development of an adaptive generalized trimmed mean
estimator to compute third-order cumulants, Signal Processing 57 (3) (1997)
271–282.
[43] P.J. Rousseeuw, A.M. LeRoy, Robust Regression and Outlier Detection, Wiley,
New York, 1987.
[44] Y. Zhang, D. Hatzinakos, A.N. Venetsanopoulos, Bootstraing techniques in the
estimation of higher-order cumulants from short data records, in: 1993 IEEE
International Conference on Acoustics, Speech, and Signal Processing, ICASSP93, vol. 4, 1993, pp. 200–203.
[45] G.W. Brown, On small-sample estimation, The Annals of Mathematical Statistics 18 (4) (1947) 582–585.
[46] M.S. Hussain, M.B.I. Reaz, F. Mohd-Yasin, M.I. Ibrahimy, Electromyography signal analysis using wavelet transform and higher order statistics to determine
muscle contraction, Expert Systems 26 (1) (2009) 35–48.
[47] G. Li, A.E. Schultz, T.A. Kuiken, Quantifying pattern recognition-based
myoelectric control of multifunctional transradial prostheses, IEEE Transactions on Neural Systems and Rehabilitation Engineering 18 (2) (2010)
185–192.
[48] B. Curry, P.H. Morgan, Model selection in neural networks: some
difficulties, European Journal of Operational Research 170 (2006)
567–577.
[49] D.J.C. MacKay, Bayesian interpolation, Neural Computation 4 (3) (1992)
415–447.
[50] F.D. Foresee, M.T. Hagan, Gauss–Newton aroximation to Bayesian regularization, in: Proceedings of the International Joint Conference on Neural Networks,
vol. 3, 1997, pp. 1930–1935.
[51] P. Doukhan, Mixing: Properties and Examples, Lecture Notes in Stat. 85,
Springer-Verlag, New York, 1994.
[52] A.M. Zoubir, D.R. Iskander, Bootstrap Techniques for Signal Processing, Cambridge University Press, New York, 2004.
[53] A.R. Goge, A.D.C. Chan, Investigating classification parameters for continuous
myoelectrically controlled prostheses, in: 28th Conference of the Canadian
Medical & Biological Engineering Society, 2004, pp. 141–144.