rameters, whose number increases geometrically with
the number of inputs, though without eliminating the
problem of high sensitivity to electrodes placement.
Kanjilal (Kanjilal et al., 1997) used Singular Value
Decomposition (SVD) to recover fetal and maternal
components from a single channel. Since this method
is based on nearly periodicity of ECG signals, it is
unsuitable to detect unexpected patterns. Mochimaru
(Mochimaru et al., 2002) suggested a wavelet-based
method, but this approach suffers in presence of over-
lapping maternal and fetal QRS complexes.
BSS aims to recover the source signals from a
set of mixtures without a priori knowledge of the
mixing process (blindly). Under the hypothesis that
the mixing process is linear, if we denote with s
the n-dimensional vector of sources, with x the m-
dimensional vector of observed mixtures and with
A ∈ R
m×n
the mixing matrix, the problem can be
mathematically formulated as in (1):
x(k) = As(k) (1)
where k represents a discrete time index. The solu-
tion consists in ﬁnding an unmixing matrix B ∈ R
n×m
such that
ˆ
s(k) = Bx(k) is a good estimation of s up to
a permutation and a multiplicative constant (the two
BSS ambiguities).
Source separation can be accomplished by Prin-
cipal Component Analysis (PCA) and Independent
Component Analysis (ICA). PCA looks for compo-
nents which are uncorrelated, whereas ICA looks for
components which are statistically independent, i.e.
whose higher order cumulants are all diagonal ten-
sors. Since uncorrelated sources are not necessarily
independent, unless they have a Gaussian distribution,
and ECG signals are known to be super-Gaussian,
ICA is more appropriate than PCA, producing bet-
ter results (Bacharakis et al., 1996). Sources involved
in this application descend from different bioelectric
phenomena and can be fairly considered statistically
independent. It is also well-accepted that MECG
gives rise to 3 source signals and FECG can be rep-
resented by means of 2 source signals (Nandi and
Zarzoso, 1997). Hence it sufﬁces to have a number
of observed mixtures not lower than the number of
sources to ensure the identiﬁability of ICA model. In
the following, we assume m = n, then all vectors will
be n-dimensional and all matrices will be n× n.
Since De Lathauwer (De Lathauwer, 1995) has
ﬁrst used ICA to separate FECG successfully, many
researchers resorted to the same approach, proved to
perform better than the Widrow’s method (Zarzoso
and Nandi, 2001), and rather robust with respect to
electrodes placement. De Lathauwer (De Lathauwer
et al., 2000) showed ICA capability to reveal ectopic
beats in a regular ECG, differently from other ap-
proaches making assumptions on the signal charac-
teristics. This property makes BSS by means of ICA
suitable for medical applications.
3 THE PROPOSED ALGORITHM
All the algorithms cited in Section 2 process data in
batch mode, so they can be used only if the mixing
process does not change over time. Since both mother
and fetus can move, the separation algorithm must be
able to track such changes. Some on-line solutions
have been conceived but, unlike batch ones, the qual-
ity of the estimated sources is quite poor. We identi-
ﬁed a good on-line algorithm in terms of separation
quality in Mermaid (Marossero et al., 2003) but the
main drawback is the parameter tuning, since several
parameters have to be chosen empirically to achieve
a good-quality signal. Balancing pros and cons of
both batch and on-line techniques, we chose to de-
rive a block-on-line method from a batch one: JADE
(Cardoso and Souloumiac, 1993).
3.1 Background: The Jade Algorithm
In the JADE algorithm the ICA problem is solved by
means of a two-stage procedure consisting of a pre-
liminary processing performed by employing Second-
Order Statistics (SOS) and a second one performed by
resorting to Higher-Order Statistics (HOS). The ﬁrst
stage, multiplying by a whitening matrix W the ob-
served mixtures, decorrelates and normalizes them;
the second stage aims to obtain higher-order indepen-
dence by multiplying decorrelated mixtures by an or-
thogonal rotation matrix G which minimizes the sum
of squared fourth order cross cumulants of whitened
observations:
Ψ =
∑
ijkl6=iikl
K
ijkl
2
(2)
The G matrix is found by joint diagonalization
of the cumulant matrices, efﬁciently performed by
Jacobi method. This technique works by repeated
sweeps of plane rotations, each one applied to a pair
of rows of the cumulant matrices. During a sweep,
for each pair (i, j) with 1 ≤ i ≤ n, the Givens angle
θ
ij
which minimizes the contrast is calculated and if
θ
ij
> θ
th
(θ
th
is a threshold angle whose value deter-
mines the optimization accuracy) the pair is rotated.
The convergence is obtained when no pairs have been
rotated over a sweep. This optimization procedure
does not suffer from problems of convergence, as op-
NON-INVASIVE REAL-TIME FETAL ECG EXTRACTION - A Block-on-Line DSP Implementation based on the JADE
Algorithm
459