Thomas Jensen
Abstract
Pulse oximetry is a non-invasive method for measuring the arterial oxygen saturation. The measured signals suffer from noise and motion artifacts which make
the measurement results very unstable. Signal processing is therefore needed to
estimate the oxygen saturation from the pulse oximetry recordings.
It is found that preprocessing the signals by well designed bandpass filters is
important. Simple methods previously used for pulse oximetry are implemented
as well as the more advanced Discrete Saturation Transform (DST) developed
by Masimo Coorporation and results are compared to solving the problem by
Independent Component Analysis (ICA).
The methods are tested on to data sets; one with oxygen saturation levels from
75% to 100% recorded on a resting subject and one recorded at normal oxygen
saturation level but with the subject doing motions. Good results are obtained
using ICA with constraints from the first data set, and the other methods perform well on this data set as well. When using the data set with motion artifacts,
all methods produce unreliable results.
Beside estimation of the oxygen saturation, the heart rate can be detected from
pulse oximetry. Heart rate detection is carried out by using the Fast Fourier
Transform (FFT) and is compared to a Bayesian periodic component detector
and both methods perform equally well.
ii
Resum
e
iv
Preface
Acknowledgements
I would like thank my supervisor Jan Larsen for good and fruitful supervision
as well as I would like thank Sune Duun from DTU Nanotech for a good collaboration and co-supervision. At last, I would like to thank Trine Jensen and
Janus Day Larsen for helping me with proofreading my work.
Thomas Jensen
vi
Contents
Abstract
Resum
e
iii
Preface
1 Introduction
1.1 The Electronic Patch . . . .
1.2 Pulse Oximetry - Principles
1.3 Literature review . . . . . .
1.4 Problem definition . . . . .
1.5 Thesis overview . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
3
8
9
9
. . . . . . . . .
. . . . . . . . .
measurements
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
14
15
16
3 Theory
3.1 Averaging Methods . . . . . . . . . . . .
3.2 Frequency Domain Methods . . . . . . .
3.3 Masimo DST . . . . . . . . . . . . . . .
3.4 Bayesian Periodic Component Detection
3.5 Independent Component Analysis . . . .
3.6 Maximum Likelihood ICA . . . . . . . .
3.7 Mean Field ICA . . . . . . . . . . . . .
3.8 Molgedey and Schouster ICA . . . . . .
3.9 Evaluation Scheme . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
21
22
24
24
25
28
30
2 Data
2.1 Data Set 1 . .
2.2 Data Set 2 . .
2.3 Limitations in
2.4 Preprocessing
viii
4 Results
4.1 Preprocessing . . . . . . . . .
4.2 Averaging Method . . . . . .
4.3 Frequency Domain Method .
4.4 Masimo DST . . . . . . . . .
4.5 Bayesian Periodic Component
4.6 Maximum Likelihood ICA . .
4.7 Mean Field ICA . . . . . . .
4.8 Molgedey and Schouster ICA
CONTENTS
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Detection
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
32
32
37
44
51
53
56
61
71
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
75
79
82
85
88
91
97
Chapter
1
Introduction
Patients suffering from chronic diseases such as heart diseases, needs monitoring
of their heart and blood function. It is thus desirable to develop a wearable
monitoring system which will make it possible for the patients to do normal
activities instead of being hospitalised. This will increase the life quality of the
patient and it will reduce the costs for the health care system. Such system
will also be useful in research purposes for data acquisition and for monitoring
professionals working under extreme conditions such as firefighters, athletes and
soldiers.
1.1
The Danish innovation consortium, The Electronic Patch, has developed a platform for wireless measuring of physiological signals integrated in a adhesive
patch. The patch has a size of 88mm by 60mm and, a thickness of 5mm and
consists of a plastic housing containing censors, printed circuit board with analog to digital converter, micro-controller and radio transmitter, all powered by
3V lithium-ion battery. The plastic housing protects the electronics and censors
from sweat and moisture and is reusable. The plastic housing is embedded in the
adhesive. Once every week the adhesive and the battery is changed. The patch
can be placed on a suitable non-visible place on the body without any annoying
Introduction
Figure 1.1: Left: A commercial hand held pulse oximeter for measuring oxygen
saturation. Right: Illustration of the components integrated in the adhesive
patch for pulse oximetry.
1.2
The relation between the absorbed light and oxygen saturation is derived from
Beer-Lamberts law [24]. Beer-Lamberts law describes the transmission of
monochromatic light through a uniform absorbing medium. Let I0 be the intensity of the incident light, the intensity I of the light travelling through the
Introduction
(1.1)
I
= e cd
I0
(1.2)
and the absorbance A is defined as the negative natural logarithm of the transmittance of light
A = ln(T ) = cd.
(1.3)
In case of multiple absorbers in the medium, the total absorption At is found
by superposition
n
X
= i, ci di .
(1.4)
At =
i=1
where it is assumed that the optical path length d is the same for oxygenated
and deoxygenated haemoglobin.
Biological tissue contains several light absorbing substances; the most significant
absorbers are skin pigmentation, bones, arterial and venous blood. As HbO2
and Hb in the arterial blood are the only absorbers of interest for calculation
of SO2 , their contribution needs to be isolated from all other absorbers. This
where the index DC indicates the all sum of non-pulsating absorbers. By expressing the systolic optical distance as dS = dD + d the arterial absorption
Aa is found by subtracting (1.7) from (1.8)
(1.9)
Aa = HbO2 , cHbO2 + Hb, cHb d
Now, the optical distance d can be cancelled out by using the ratio R of arterial
absorption of light with different wave lengths denoted 1 6= 2
R=
(1.10)
By using the definitions (1.2) and (1.3), R can be expressed in terms of transmitted light as
ln(IS,1 /ID,1 )
.
(1.11)
R=
ln(IS,2 /ID,2 )
Using the definition of SO2 it is trivial to show the relation of arterial oxygen
saturation Sa O2 and the optical ratio R:
Sa O2 =
Hb,1
Hb,1 Hb,2 R
.
HbO2 ,1 + HbO2 ,2 Hb,2 R
(1.12)
The choice of light sources is based on the extinction coefficients for HbO2 and
Hb. The absorbance of light is much higher for deoxygenated haemoglobin than
Introduction
oxygenated haemoglobin in the red area of the spectrum and vice versa in the
infrared area. A common choice of light sources is 660nm (red) and 940nm
(infrared), the spectra for absorption for Hb and HbO2 is shown in figure 1.3.
Figure 1.3: Left: Extinction coefficient spectra for Hb and HbO2 Right: Ratio
of Hb to HbO2 , from this plot it is clear that light of wavelength around 650nm
and 1000nm gives the largest difference in absorption. Notice also, that the
absorption is relatively flat around these wavelength, this is important as light
from LEDs is not strictly monochromatic.
A plot of the relation of Sp O2 and the optical ratio R is shown in figure 1.4 for
red and infrared light. The extinction coefficients of Hb and HbO2 for red and
infrared light are given in table 1.1
Wavelength [nm]
660
940
Hb [L mmol1 cm1 ]
0.81
0.18
1.2.1
In fact, the human tissue is a turbid media and some of the light is reflected and
some is scattered. The blood contains other absorbers such as methaemoglobin
and carboxyhaemoglobin and the light sources does not emit monochromatic
light. Therefore the above derivation of the relation of Sa O2 and absorption
of light from Beer-Lamberts law is not strictly valid, but an estimate of the
100
90
80
70
60
50
40
30
20
10
0.5
1.5
2.5
R
3.5
4.5
Figure 1.4: Plot of the relation between arterial oxygen saturation (Sa O2 ) and
optical ratio R from equation (1.12). From the plot it is evident that the curve
is not a straight line, but in the important interval of 70% to 100% Sa O2 a linear
approximation is a fair choice.
oxygen saturation can be found by using a empirical calibration curve. Oxygen saturation measured by pulse oximetry is therefore denoted Sp O2 to notice
uncertainties of pulse oximetry.
Besides the optical limitations, pulse oximetry measurements are also disturbed
by noise due to motion artefacts and others. This happens e.g. when the subject
moves and its mussels therefor squeezes the blood vessels. Thus stable readings
from a pulse oximeter can only be achieved from a subject that is relaxed and
not moving. To make the pulse oximeter useful in the electronic patch, intended
to be worn by subjects doing their normal activity, this problem needs to be
solved by signal processing. This is the aim of this thesis. In the following
section a review of existing literature addressing the problem is provided.
1.3
Introduction
Literature review
The main objective of this thesis is to calculate the oxygen saturation from the
pulse oximeter probe described in [3]. The problem has been tried solved by
different signal processing approaches and some of the methods are reviewed in
this section.
The company Masimo proposes their method in [5] based on adaptive noise
cancellation (ANC). The method is called Discrete Saturation Transform (DST)
and in [6] the results of clinical testing show false alarms due to motion artifact
and low perfusion were reduced from up to 90% to less than 5% by use of the
Masimo DST method.
In [12] Independent Component Analysis (ICA) is used to separate motion artifact from the PPG signal. Only the FAST ICA [10] algorithm is tried and
the results does not contain calculation of the oxygen saturation but results of
the separated sources are shown. The statistical relationship between motion
artifacts and PPG signals are addressed in [26] but it is doubtful whether the
method and conclusion is valid.
Other approaches are wavelet transform [4], Singular Value Decomposition [22],
and ANC based on additional accelerometer measurements [2].
None of the papers provides calibration curves for oxygen saturation measured
at different levels and the performance of the proposed methods are not easily
compared. The ICA approaches do not consider how the ICA problem is solved
and how properties of the PPG measurements can be used as constraints. From
this literature review it is concluded that only a few studies of the signal processing of pulse oximetry data exists and further studies are therefore needed. Initial
studies of ICA on pulse oximetry signals show that ICA is a very convenient
approach for removing noise from pulse oximetry signals.
1.4
Problem definition
The aim of this thesis is to estimate the oxygen saturation from data recorded
by the probe developed for the electronic patch. As ICA previously have been
applied on PPG signals but without analysing how the ICA problem is solved
best for pulse oximetry data, estimation of Sp O2 based on separating PPG
signals from noise using ICA is investigated. In order to evaluate the results,
existing methods and the DST by Masimo are implemented and analysed.
Beside this, the heart rate is detected using a Bayesian periodic component
detector and compared to a method based on FFT.
1.5
Thesis overview
This thesis consists of five chapters. Beside this introductory chapter, the following chapters are:
Data - In this chapter the data sets of pulse oximetry recordings are
introduced and preprocessing methods are described.
Theory - The theory behind all algorithm used for detection of heart rate
and Sp O2 estimation is given.
Results - The results of estimating Sp O2 and detection of heart rate using
all methods on all data sets are presented. Additional results are provided
in appendices.
Discussion and Conclusion - This final chapter contains a discussion
of the obtained results and the final conclusion of this thesis.
10
Introduction
Chapter
2
Data
In this chapter, data from the pulse oximeter are introduced. The data are provided by Department of Micro- and Nanotechnology at the Technical University
of Denmark (DTU) and the measurements were carried out in cooperation with
Bispebjerg Hospital.
All data sets consist of a recording of reflected red- and infrared light. This
means, when looking at a plot a the PPG signal, the diastolic stage is when
the signal has maximum amplitude and systolic stage is when the signal has
minimum amplitude within a cardiac cycle. All recordings are sampled at fs =
200Hz.
2.1
Data Set 1
12
Data
and at the end of the recording. The heart rate was measured as well, using a
commercial heart rate monitor, noted at the beginning of the recordings. The
reference annotations are listed in table 2.1
Rec.#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
HR [BPM]
60
51
57
56
58
54
60
68
61
65
67
70
69
72
The frequency content of the recording 1 are exploited by calculating the amplitude response of the Fast Fourier Transform. This is shown in figure 2.3.
It is noticeable, that most of the frequency content are found around 65Hz,
but some low frequency content can be seen as well. The frequency spectra
of the heart rate interval are of major interest, and the amplitude spectra is
shown for 0Hz f 4Hz in figure 2.4. The heart rate component is easily
found around 1Hz in both the red and infrared recording. An amount of low
frequency contents is also seen in the region below the heart rate.
13
2740
Red
2735
2730
2725
2720
2715
0
3
t [s]
3
t [s]
Infrared
4420
4400
4380
x 10
Red
5
0
3
t [s]
3
t [s]
x 10
Infrared
14
Data
x 10
Red
6
4
2
0
10
20
30
40
50
f [Hz]
60
70
80
90
100
10
20
30
40
50
f [Hz]
60
70
80
90
100
x 10
Infrared
1.5
1
0.5
0
x 10
Red
6
4
2
0
0.5
1.5
2
f [Hz]
2.5
3.5
0.5
1.5
2
f [Hz]
2.5
3.5
x 10
Infrared
1.5
1
0.5
0
Figure 2.4: Amplitude spectra for recording 1, shown for only frequencies around
the heart rate interval.
2.2
Data Set 2
Data set 2 consist of four measurements from a healthy subject doing movements. The probe is attached to the subjects right thumb and for references a
15
Nellcor N-65 were used on the left index finger. Each measurement starts by
the subject is resting hereafter the subject do a movement listed below and ends
with the subject is resting. The movements are
1. Squatting.
2. Moving finger.
3. Moving hand.
4. Moving hand.
The recordings are of length around 130s to 175s and the reference recording
stayed within 97-100%. A plot of the raw signal is shown in figure 2.5 and it is
seen, that the signal changes drastically from around 50s. The heart rate was
not recorded.
1780
Red
1760
1740
1720
1700
1680
0
20
40
60
80
t [s]
100
120
140
20
40
60
80
t [s]
100
120
140
3700
Infrared
3650
3600
3550
3500
2.3
Limitations in measurements
16
Data
No anti-aliasing filter was used in front of the A/D-converter to avoid
aliasing of noise above the half sampling frequency, fs /2 = 100Hz.
Due to the high DC-level of the reflected light, the resolution of the ACcomponents in the A/D-converted recordings is very low.
Ambient light is not measured and subtracted from the recordings.
Noise due oscillations in the electronic circuit.
2.4
Preprocessing
2.4.1
Normalisation
According to the derivation of optical ratio R equation (1.11) in section 1.2 the
measured light intensity at the systolic stage should be divided by the measured light intensity at the diastolic stage to cancel out absorption due to nonpulsating tissue. This is referred to as normalising the recordings. As seen from
the plot of raw recordings in section 2.1, the data are very noisy. Finding the
local minimum and maximum within each cardiac cycle would thus lead to a
very noisy result. The plot also shows that the DC-level of the recording are
much higher than the AC-level, and therefor using the DC-level as instead of
the diastolic stage will give an insignificant error. This is a common approach
in pulse oximetry.
The logarithm is also omitted as Beer-Lamberts law doesnt strictly hold and a
calibration curve has to be estimated empirically. Therefor the normalisation is
done by dividing the AC-component of recording by the DC-component, where
the DC-component is calculated as the mean of the recording. Let x(t) represent
a recorded PPG signal, the normalised signal xn (t) is then calculated by
xn (t) =
x(t) E{x(t)}
,
E{x(t)}
(2.1)
where E{} is the expectation. The estimation of the optical ratio, denoted R,
from the normalised recording of red light xr (t) and the normalised recording
of infrared light xir (t) is then
= xr (t) .
R
xir (t)
(2.2)
2.4 Preprocessing
2.4.2
17
Bandpass filtering
(2.3)
18
Data
Chapter
3
Theory
3.1
Averaging Methods
Detecting the actual signal level in the diastolic and the systolic stage of the
noisy recordings will end up in a unreliable result. As the change of SO2 is
relative slow compared to the heart rate, the most simple way of estimating the
is to use some kind of averaging of signal levels.
optical ratio R
One way of doing this, is to calculate the mean of the absolute value of the zero
mean and normalised signals xr (t) and xir (t) with N samples
=
R
1
N
1
N
PN
PN
t=1 |xr (t)|
.
= PN
t=1 |xir (t)|
.
R= q P
= t PN
2
N
1
2
t=1 xir (t)
t=1 xir (t)
N
(3.1)
(3.2)
20
Theory
and calculate the ratio from these measures. The result of these estimates will
of course depend heavily on the signal length N , and noise due to e.g. motion
artifact will be reflected by the estimate, as the method cannot compensate for
this except by averaging.
3.2
The optical ratio can also be estimated in the frequency domain by calculation
of the amplitude spectra of the signal using e.g. the Discrete Fourier Transform
(DFT) [23]
1
NX
2i
|X(f )| =
x(t)e N tf
(3.3)
t=0
(3.4)
Thus, the estimate rely on detection of the heart rate. By assuming the heart
rate is the most significant component in the interval corresponding to possible
human heart rates e.g. 0.5Hz fhr 4Hz, the heart rate is detected in the
frequency domain by selecting the frequency bin with the largest amplitude
within the interval.
The precision of the heart rate found from the amplitude spectra will depends
on the number of points (samples) N0 used for calculation of the DFT. The
frequency resolution is given by the ratio of the sampling frequency fs to number
of points N0 used in calculation of the DFT, f0 = fs /N0 . For example, if the
heart rate needs to be determined with a resolution of 1 BPM, corresponding to
1/60Hz and the sampling frequency is fs = 200Hz, the number of points used
for the DFT should be
200Hz
fs
=
= 12000.
(3.5)
N0 =
f0
1/60Hz
To compensate for spectral leakage, Hamming windowing is used. The DFT is
calculated using the Fast Fourier Transform (FFT) implementation in Matlab
and if the signal length is shorter then N zero padding is used and if the signal
length is more than N , the signal is truncated.
The advantage of the frequency domain approach is, that it acts as a very
narrow bandpass filter and noise of frequencies different from the detected fhr
is suppressed efficient.
3.3
21
Masimo DST
(3.6)
(3.7)
(3.9)
(3.10)
it is seen from (3.10) that when ra = r the reference noise signal n (t) only
contains the weighted noise of the measurements.
Masimo suggests that r is found in an iterative way, by trying all values of r
corresponding to all Sp O2 levels from 0-100% in steps of e.g. 1%. The measured
signal from the red LED, xr (t), is then filtered by ANC with each noise reference
signal and the power of output signal from the ANC is calculated for each
reference signal. This results in a power spectrum for the values of r that will
have two peaks; one at r = rv and one at r = ra where the latter is the desired
ratio. It is not clear from [5] how to distinguish between the two peaks, and for
the implementation for this thesis, it is assumed that ra < rv as motion artifacts
usually results in lower Sp O2 readings. Care should be taken about this problem
22
Theory
in implementations for real world usage, as if the opposite situation occurs where
the actual SpO2 level is 75% but is estimated to 95% due to motion artifact
reduction! The implementation of DST used in this thesis, uses the Recursive
Figure 3.1: Schematic illustration of Masimo DST method and its behaviour
[16]. In this example, the measured signals contains motion artifacts and the
power spectrum from the outputs of the ANC has peaks around r corresponding
to Sp O2 levels if 60% and 95%. In this case, the Sp O2 is therefor estimated to
95%.
Least Squares (RLS) FIR adaptive filter from the Matlab Filter Design Toolbox.
The order of the filter (the number of weights) are chosen according to length
of the filtered signal to achieve best performance.
3.4
To detect the heart rate from noisy data, a Bayesian approach has been used.
Let the data from a pulse oximetry recording of length N be represented by the
vector x. The signal is then modelled as a sum of K harmonic components
x = w + n
(3.11)
23
p(x|f0 , K)p(f0 , K)
p(x)
(3.12)
P (x|f0 , K)
P
P (x|0) + f0 ,K P (x|f0 , K)
P (x|0) +
P (x|0)
P
.
f0 ,K P (x|f0 , K)
(3.16)
(3.17)
By using this Bayesian approach, the heart rate and, if desired, its harmonic
components can be detected by calculating the above probabilities for a grid of
fundamental frequencies f0 corresponding to the possible heart rate interval.
24
3.5
Theory
As Masimo reports success with decomposing the measured signal into a desired
PPG signal and undesired noise signal, it is interesting to investigate if the
problem of removing noise can be solved by Independent Component Analysis
(ICA).
The general ICA model is formulated as
X = AS
(3.18)
(3.19)
(3.20)
where aij are the coefficients determining the elements of the mixing matrix A in
(3.18). The optical ratio is then estimated by the ratio of the mixing coefficients
of the PPG source signal
= a11 .
(3.21)
R
a21
The ICA problem can solved in several ways and in this thesis, three different
approaches has been applied. All implementaions are available online from the
IMM ICA toolbox. The theory of each algorithm and their properties is given
in the following sections.
3.6
(3.22)
25
where p(xt |st , A) is the likelihood, p(st ) is the prior distribution of the
signal, and p(xt |A) is the normalisation factor. With a given prior, The
signal can then be integrated out
Z
p(xt |A) = p(xt |st , A)p(st )dst
Z Y
Y
(xt Ast )
p(st )dst
=
=
Y
1
p(A1 xt ).
| det(A)|
source
source
(3.23)
(3.24)
(3.25)
To maximise the likelihood, the gradient of the log likelihood with respect to
W is needed
3.7
Mean Field ICA (ICAMF) is a probabilistic method for solving the ICA problem
as ICAML, but is more flexible as it can be configured to use several constraints.
The first thing to notice is that it assumes the observed signals X are generated
with an additive noise source n, as is the case of most real world signals,
X = AS + n.
(3.28)
The noise is assumed to be Gaussian with zero mean and covariance and the
posterior is given by
p(S|X, A, , ) =
p(X|S, A, )p(S|)
p(S|A, , )
(3.29)
26
Theory
with p(X|S, A, ) being the likelihood and p(S|) is the prior distribution with
the parameters . In usual Bayesian approach, the sources are integrated out
leaving the parameters to be determined by maximising the likelihood. In the
case where the prior is allowed to be much more flexible, the derivation of the
log likelihood becomes too complicated to track analytically. Instead a lower
bound B is used as objective function, defined by
Z
p(X, S|)
L () log(p(X|)) = log q(S|)
dS
(3.30)
q(S|)
Z
p(X, S|)
q(S|)
dS B(, )
(3.31)
q(S|)
where = {A, , } is used as short hand for the parameters. The property of
the bounds holds for any choice of variational distribution q(S|).
The derivatives of the bound needed for optimisation are easily derived, resulting
in
B(, )
= 1 (XhSi
(3.32)
q AhSS iq ),
A
N
1
B(, )
=
1 h(X AS)(X AS) iq 1 ,
(3.33)
2
2
B(, )
log p(S|)
(3.34)
=
q
where the derivative in (3.34) depends on the choice of source prior.
Optimisation of the of the lower bound is done by an Expectation Maximisation
(EM) algorithm, which in short can be described by its E- and M-step:
E: Maximise B(, ) with respect to keeping fixed.
M: Maximise B(, ) with respect to keeping fixed.
By setting derivatives in (3.32) and (3.33) equal to zero, the obtained EM updates for the mixing matrix and the noise covariance then is
1
A = XhSi
q hSS iq ,
(3.35)
1
h(X AS)(X AS) iq .
(3.36)
N
The update of the prior parameters depends of the chosen distribution and can
therefor not be expressed explicitly. The E- and M-steps are then repeated until
convergence.
=
27
This approach allows one to use several different priors and let each source have
its own prior. In the implementation used, the priors listed below are build in.
Their statistical properties will not be given here but can be found in [11].
Binary
Gaussian
Gaussian mixture
Bi-Gaussian
Heavy tail
Uniform
Laplace
Positive Gaussian
Exponential
The mixing matrix can be constrained to have only positive elements by using
the exponential function Aij = eij and substitute A by the underlying parameter in the parameter set . With in the parameter set the derivative of the
lower bound becomes
dB
A B
B
=
.
= Aij
dij
ij A
Aij
(3.37)
The mixing matrix can also be set to over- and under-complete for the case
where the number of observations are not equal to the number of sources. The
pulse oximetry system can then be modelled as
X = As + n
(3.38)
with only one source signal s = [st , , sN ] and mixing matrix A = [a1 , a2 ] .
The noise covariance matrix can further be constrained to be isotropic or diagonal for same noise variance on the observations or individual noise variance for
each observation, respectively [25] [21] [20] [14].
28
3.8
Theory
(3.40)
If the sources are independent, the diagonal of the source cross-correlation matrix at lag zero C(0) equals the limit
1
SS = C(0)
N N
lim
(3.41)
1
S S = C( ).
N
(3.42)
= AC( )A
= AC( )C(0)
(3.43)
1
AC(0)A
1
A
C(0)1 A1
1
(3.44)
(3.45)
(3.46)
(3.47)
29
of the sources, the method tries to find the value of that results in maximum
difference in the autocorrelations of the sources. The objective function of is
defined by
M1
X
si +1 ( ) si ( ) 1
(3.48)
( ) =
M 1
i=1
where si+1 > si are the sorted autocorrelations normalised by the autocorrelation at lag zero so this scales to one. The approximation for the optimal
is then found in an iterative way by first calculating the sources using a initial
value, e.g. = 1, secondly calculate ( ) and select the that gives the smallest
( ) and then start over by recalculating the sources. This procedure is repeated
until the value of stabilises.
A likelihood function can be derived by assuming the sources are given by unknown independent, unit variance, white noise signals Ui,t filtered the unknown
and source specific filters hk
Si,t =
K
X
hi, Ui,t
(3.49)
=0
(X AS)p(S)dS
(3.50)
Y
i
P
1
1
S
(1 ) S
p
e 2 t,t i,t i t,t i,t
|2i |
(3.51)
(3.52)
which forms Toeplitz matrices under the model assumptions. Evaluating the
integral in equation (3.50) then gives
p(X|A) =
Y
i
1
p
|2i |
1
| det(A)|
21
t,t
i,t (1 )
S
i
t,t
S
i,t
(3.53)
P
where Si,t denotes the sources estimated from A, X by Si,t = l (A1 )i,l Xl,t .
This likelihood expression can be used for comparing the model configuration
and optimisation of .
30
3.9
Theory
Evaluation Scheme
Chapter
4
Results
In this chapter, the results from calculating the heart rate and oxygen saturation
by the algorithms described in chapter 3 are presented and analysed. This
chapter is parted into sections describing the results from each algorithm.
From data set 1, calibration curves are calculated and the accuracy is compared
In the same way, detection of the
to the window length used for estimating R.
heart rate is done for data set 1 and the performance versus window length
is shown. For calculation of calibration curves, the average of the reference
measurements of Sp O2 for each level is used. The accuracy of the Datex Ohmeda
AS/3, used for reference measurements, is not known. Masimo states in their
product specifications that the accuracy of Sp O2 within 70% to 100% is 2%
without motion and 3% with motion or low perfusion. The accuracy of the
Nellcor OxiMax N-65 is specified as Masimo. The largest difference in start and
end Sp O2 references measurements is 6% Sp O2 and the use of the average value
is therefore assumed to be the best use of the reference measurements, but the
uncertainty of references should be noted. The cross-validation scheme is used
to calculate the error of the calibration curve, and is calculated as the Euclidean
distance from the reference measurement to the estimated Sp O2 level.
Data set 2 is used to examine how resistant the algorithms are to motion artifacts
when calculating the Sp O2 . The heart rate is also calculated even though no
reference heart rate measurements are available.
32
4.1
Results
Preprocessing
The preprocessing of data consists of normalisation and bandpass filtering. Normalisation is done by subtracting the DC-component and dividing by the DCcomponent. In appendix A it is investigated how sensitive the DC-components
are to variations in the signals, and it is found that the DC-levels are very
insensitive and no further care needs to be taken.
The signals needs to be bandpass filtered to achieve useable results when es for all methods except frequency domain methods. Tuning of the
timating R
filter cut-frequencies results in increasing performance of the algorithms. FIR
and IIR filters are used, and the order is increased until the reduction in error
is insignificant. In appendix B the settling time of the filters are examined to
find out how the distortion due to bandpass filtering affects the estimates. It is
concluded better performance is achieved by discarding the first 5s (1000 samples) of a signal window after bandpass filtering, and this is thus done in the
results presented in the following sections. To get a feeling of how the choice of
bandpass filter cut-frequencies affects the error of the estimates, the mean error
of all estimates is plotted as contour plots as function of cut-frequencies for both
FIR and IIR filters of optimal orders. For these contour plots, notice that the
lower cut-frequency is changed in steps of 0.1Hz and the upper cut-frequency is
changed in steps of 1Hz and interpolation is used between the calculated errors.
4.2
Averaging Method
The results presented in this section are obtained using the method given by
equation (3.1) as this method has shown to perform better than the RMS
method. In figures 4.1 and 4.2 the mean error is shown as function of bandpass
filter cut-frequencies for a 1024th order FIR filter and a 6th order IIR filter respectively. The figures show that the error is decreased by selecting the upper
cut-frequency as low as possible according to the heart rate frequency and the
lower cut-frequency as high as possible according to the heart rate. Notice that
the order of the FIR filter should be chosen around 1024th to obtain the desired
amplitude response whereas the same performance is achieved with a 6th order
IIR filter. As approximately the same performance is achieved for both FIR and
IIR filters, it is concluded that the phase-distortion of the IIR filter dont affect
the calculation of Sp O2 .
The best calibration curve using a IIR bandpass filter is shown in figure 4.3,
with the estimates calculated from data and the theoretical relation between R
33
2
1.9
0.95
1.8
0.9
1.7
0.85
1.6
1.5
0.75
f [Hz]
0.8
1.4
0.7
1.3
0.65
1.2
0.6
1.1
0.55
0.5
5
f [Hz]
Figure 4.1: Mean error as function of 1024th order FIR bandpass filters.
1
2
1.9
0.95
1.8
0.9
1.7
0.85
1.6
1.5
0.75
f [Hz]
0.8
1.4
0.7
1.3
0.65
1.2
0.6
1.1
0.55
0.5
5
f [Hz]
Figure 4.2: Mean error as function of 6th order IIR bandpass filters.
34
Results
100
95
p 2
S O [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
To examine how the precision depends on the signal length, the signals are split
into windows of varying length and the mean error for each window length is
calculated. The result is shown in figure 4.4 for both a FIR and IIR bandpass
filter. It is seen, that the error decreases as the window length increases for
both filters. After around 10s the error increases a little, this is caused by only
a single signal window can be used when the signal length reaches 11s, and thus
less data is used.
To see how the method performs when the recordings contain motion artifacts,
is calculated for windows of length 10s and 20s after
data set 2 is used. R
bandpass filtering with a 8th order IIR filter with passband 0.8Hz to 4Hz. The
estimates for each window are shown in figures 4.5 and 4.6 for 10s and 20s window lengths respectively. The first thing to notice is, the estimates lie around
1.3 which corresponds to a Sp O2 level around 85% whereas the reference mea from data
surements are within 97% to 100%. This means that estimates of R
set 2 cannot be compared to the Sp O2 level using the calibration curve obtained
from data set 1.
35
4.5
FIR
IIR
4
3.5
2.5
1.5
0.5
10
12
Window Length [s]
14
16
18
20
4.2.1
36
Results
2
1
2
3
4
1.5
0.5
20
40
60
80
Time [s]
100
120
140
160
1.5
0.5
20
40
60
80
100
120
140
Time [s]
4.3
37
In this section, results obtained from the frequency domain approach by us relies on the
ing FFT are presented. As the FFT method for estimation of R
detection of the heart rate, the results from heart rate detection are first analysed. The heart rate detection is limited to be in the interval from 30BPM to
240BPM.
The only parameter to consider when calculating the DFT by FFT is the number
of points N0 which determines the frequency resolution. The reference heart
rate is measured in integers of BPM, and with a sampling frequency of 200Hz,
a frequency resolution of 1BPM is obtained using N0 = 12000. The heart rate
is calculated for different window lengths and for a range of N0 . The results
are shown in figures 4.7 and 4.8 for the infrared and red recordings respectively.
From the figures it is seen that the error decreases when the window length
increases, and that N0 = 12000 gives the best result.
10
N0=2000
9
N0=3000
N0=5000
N0=4000
N0=6000
N0=12000
N0=24000
10
15
Window Length [s]
20
25
Figure 4.7: Error in BPM from calculating the heart rate in by FFT of the
infrared recordings. N0 is the number of points used in the FFT.
To compensate for spectral leakage due to finite signal length, Hamming windowing is used. The results with Hamming windowing are shown in figures
4.9 and 4.10 for infrared and red recordings respectively. The use of Hamming
windowing reduces the error when the window length decreases, but increases
the error a bit for long windows. Nellcor specifies the heart rate accuracy of
38
Results
10
N0=2000
9
N0=3000
N0=5000
N0=4000
N0=6000
N0=12000
N0=24000
10
15
Window Length [s]
20
25
Figure 4.8: Error in BPM from calculating the heart rate in by FFT of the red
recordings. N0 is the number of points used in the FFT.
their OxiMax N-65 to 3BPM and Masimo specifies theirs products to have an
accuracy of 3BPM for no motion and 5BPM with motion. Notice that the
reference heart rate was only measured in the beginning of the recording and
small changes thus might occur.
A calibration curve obtained using the N0 = 12000 point FFT and Hamming
windowing for recordings of length 25s is shown in figure 4.11. The obtained
+ 121 and the cross-validation error
calibration curve is given by Sp O2 = 29R
is 0.9% Sp O2 .
Plots of the error versus window length are shown in figures 4.12 and 4.13
without and with Hamming windowing. The error decreases when the window
length increases. The effect of the Hamming window small.
The results of heart rate detection of data set 2 are shown in figures 4.14 and
4.15 for window lengths of 10s and 20s respectively. For the 10s windows, the
heart rate is detected to be around 60BPM during the first 40s for all four
measurement which is reasonable for an adult at rest. After 40s, the heart rate
changes and especially measurement 1, 3 and 4 seems unreliable as they drop
below 40BPM. Also the change from 95BPM to 65BPM of measurement 2 at 80s
is unrealistic. For the 20s windows, the results are reasonable for measurement
3 and 4, but the drop below 40BPM of measurement 1 at 40s and the change
from 90BPM to 60BPM are unrealistic.
39
10
N0=2000
N0=3000
N0=4000
N =5000
0
N0=6000
N =12000
0
N0=24000
10
15
Window Length [s]
20
25
Figure 4.9: Error in BPM from calculating the heart rate in by FFT of the
Hamming windowed infrared recordings. N0 is the number of points used in the
FFT.
from data set 2 are shown in figures 4.16 and 4.17 for
Results of estimating R
window lengths of 10s and 20s respectively. For the 10s estimates, the estimate
of the first window of all measurements except number 1 is very close. For the
second window, measurement number 4 begins to deviate, and after 40s the
estimates differ a lot and are thus very sensitive to motion artifacts. Increasing
the window length to 20s gives a similar result.
4.3.1
Detection of the heart rate by N0 = 12000 point FFT can be done within an
error of 3BPM for window lengths of at least 12s and hamming windowing. The
result is very similar for both red and infrared recordings. A calibration curve
is obtained with an error around 1% Sp O2 for 25s window length and Hamming
windowing. The error increases as the window length increases and is around
for data with motion
2% Sp O2 for 10s windows. The FFT fails to estimate R
artifacts from data set 2, as it is doubtful whether the heart rate detection for
this data set is reliable.
40
Results
10
N =2000
0
N0=3000
N0=5000
N =4000
0
N0=6000
N0=12000
N0=24000
10
15
Window Length [s]
20
25
Figure 4.10: Error in BPM from calculating the heart rate in by FFT of the red
Hamming windowed recordings. N0 is the number of points used in the FFT.
Theo. Curve
Fitted Cal. Curve
R estimates
100
95
p 2
S O [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
Figure 4.11: Calibration curve obtained using N0 = 12000 point FFT of 25s
window length and Hamming windowing.
41
8
N0=2000
N =3000
0
N0=4000
N0=5000
N =6000
0
N0=12000
N0=24000
5
10
15
Window Length [s]
20
25
Figure 4.12: Error versus window length for calibration curves obtained by
N0 = 12000 point FFT without Hamming windowing.
8
N0=2000
N0=3000
7
N0=4000
N0=5000
N0=6000
N0=12000
N0=24000
5
10
15
Window Length [s]
20
25
Figure 4.13: Error versus window length for calibration curves obtained by
N0 = 12000 point FFT with Hamming windowing.
42
Results
120
1
2
3
4
110
100
HR [BPM]
90
80
70
60
50
40
30
20
40
60
80
Time [s]
100
120
140
160
Figure 4.14: Heart rate estimates of the infrared recordings from data set 2 using
N0 = 12000 point FFT and window length of 10s with Hamming windowing.
100
1
2
3
4
90
HR [BPM]
80
70
60
50
40
30
20
40
60
80
100
120
140
Time [s]
Figure 4.15: Heart rate estimates of the infrared recordings from data set 2 using
N0 = 12000 point FFT and window length of 20s with Hamming windowing.
43
2
1
2
3
4
1.5
0.5
20
40
60
80
Time [s]
100
120
140
160
1.5
0.5
20
40
60
80
100
120
140
Time [s]
44
4.4
Results
Masimo DST
The results from the Masimo DST algorithm are presented in this section. The
performance of the DST algorithm is improved by bandpass filtering the recordings. FIR and IIR filters of several orders are used, and the order of the adaptive
filter in the DST algorithm is varied as well. The mean error is shown for both
FIR and IIR filters in figures 4.18 and 4.19, respectively. The order of the adaptive filter is 128, higher orders are considered as redundant as the performance
is acceptable according to the uncertainty of the reference measurements, and
+ 125
will increase the computation complexity further. Sp O2 = 31R
1
0.95
2.8
0.9
2.6
0.85
2.4
fl [Hz]
0.8
2.2
0.75
0.7
1.8
0.65
1.6
0.6
1.4
0.55
1.2
0.5
2.5
3.5
4
f [Hz]
4.5
5.5
45
1
2.2
0.95
2.1
0.9
2
0.85
1.9
1.8
0.75
1.7
f [Hz]
0.8
0.7
1.6
0.65
1.5
0.6
1.4
1.3
0.55
0.5
1.2
2
2.5
3.5
4
f [Hz]
4.5
5.5
signal.
To examine how performance of the DST for shorter window lengths, the order
of the adaptive filter is varied as well. The mean error is shown as contour plots
as a function of window length and adaptive filter order in figures 4.24 and 4.25
for FIR and IIR filters respectively. It is seen, that the error depends more on
the window length than the adaptive filter order and the adaptive filter order
should be chosen as hight as possible, especially when the window length is high.
Data set 2 is used to test how the DST algorithm performs on data with motion
are shown in figures 4.26 and 4.27 for window lengths
artifacts. Estimates of R
of 10s and 20s respectively. The estimate from the DST algorithm behaves
much like the estimates from the averaging and FFT methods. The estimates
are most stable during the first 30s, followed by the period with motion artifacts
where the estimates are out of range. At the end, the estimates end close to the
start values. Increasing the window length to 20s, doesnt improve the result
significantly.
46
Results
Theo. Curve
Fitted Cal. Curve
R estimates
100
95
p 2
S O [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
300
250
Power
200
150
100
50
0.5
1.5
R
2.5
47
Red
0.5
0
0.5
1
10
15
Time [s]
20
25
10
15
Time [s]
20
25
Infrared
0.5
0
0.5
1
Figure 4.22: Recording 1 from data set 1 after normalisation and IIR bandpass
filtering.
1
PPG
0.5
0
0.5
1
10
15
Time [s]
20
25
10
15
Time [s]
20
25
Noise
0.5
0
0.5
1
Figure 4.23: PPG and noise signals from recording 1 from data set 1 obtained
using Maismo DST.
48
Results
5
120
4.5
100
80
3.5
60
2.5
40
2
20
1.5
2
10
12
Window Length [s]
14
16
18
20
Figure 4.24: Mean error as a function of window length and adaptive filter order
for FIR bandpass filter.
4.4.1
Summary on DST
49
5
120
4.5
100
3.5
80
3
60
2.5
40
2
20
1.5
10
12
Window Length [s]
14
16
18
20
Figure 4.25: Mean error as a function of window length and adaptive filter order
for IIR bandpass filter.
2
1
2
3
4
1.5
0.5
20
40
60
80
Time [s]
100
120
140
160
50
Results
2
1
2
3
4
1.5
0.5
20
40
60
80
100
120
140
Time [s]
4.5
51
The Bayesian periodic component detection is used for detection of the heart
rate, and the results are given here. The heart rate interval is specified as
30BPM to 240BPM with a resolution of 1BPM to match the reference heart
rate measurements. It is only of interest to detect the fundamental component
corresponding to the heart rate and no higher order components.
The results from detection of the heart rate of both the red and infrared recordings of data set 1 are shown in figure 4.28. The error decreases as the window
length increases and the performance is similar to the FFT method.
10
Infrared
Red
9
10
15
Window Length [s]
20
25
Figure 4.28: Error versus window length from detection of heart rate using
Bayesian periodic component detection.
Detection of the heart rate on data set 2 is shown in figures 4.29 and 4.30 for
window length of 10s and 20s respectively. The results is similar to the result
from the FFT method, but notice that heart rate reaches the lower limit of
30BPM for measurements 1,3, and 4 for 10s windows and for 1,2, and 3 for 20s
windows.
52
Results
110
1
2
3
4
100
90
HR [BPM]
80
70
60
50
40
30
20
40
60
80
Time [s]
100
120
140
160
Figure 4.29: Heart rate results from using Bayesian heart rate detection on data
set 2 with a window length of 10s.
100
1
2
3
4
90
HR [BPM]
80
70
60
50
40
30
20
40
60
80
100
120
140
Time [s]
Figure 4.30: Heart rate results from using Bayesian heart rate detection on data
set 2 with a window length of 20s.
4.6
53
The maximum likelihood ICA (ICAML) is the simples ICA algorithm used in
this thesis. Contour plots of the mean error as function of bandpass filter cutfrequencies, shown in figures 4.31 and 4.32 for FIR and IIR filters respectively,
reveal that acceptable performance is not obtained. A calibration curve for
20s windows and best IIR filter is shown in figure 4.33, and it is seen that
differ a lot from what is found with the previous presented
the estimates of R
methods. It is therefore concluded that the ICAML fails to estimate the mixing
matrix that separates the signal correctly. The reason for this is the prior
distribution in the implementation and other prior distributions should be tried.
To give an example of how the signals are separated using ICAML, measurement 5 from data set 1 after bandpass filtering is shown in figure 4.34 and
the separated PPG and noise signals are shown in figure 4.35. The pulsating
PPG signals are easily recognised from both the red and infrared signals after
bandpass filtering, whereas both the PPG and noise signals looks more noisy.
1
40
0.95
35
0.9
30
0.85
fc1 [Hz]
0.8
25
0.75
20
0.7
0.65
15
0.6
10
0.55
0.5
5
fc2 [Hz]
54
Results
0.95
16
0.9
14
0.85
12
0.75
c1
[Hz]
0.8
10
0.7
0.65
8
0.6
0.55
0.5
5
fc2 [Hz]
Figure 4.32: Mean error as function of bandpass filter cut-frequencies for a 8th
order IIR filter.
Theo. Curve
Fitted Cal. Curve
R estimates
100
95
SpO2 [%]
90
85
80
75
0.2
0.4
0.6
0.8
1
R
1.2
1.4
1.6
1.8
Figure 4.33: Calibration curve obtained using IIR bandpass filtering and
ICAML.
55
x 10
Red
0.5
0
0.5
1
10
15
Time [s]
20
25
10
15
Time [s]
20
25
x 10
Infrared
0.5
0
0.5
1
PPG
2
0
2
4
10
15
Time [s]
20
25
10
15
Time [s]
20
25
Noise
56
4.7
Results
Mean Field ICA (ICAMF) differs from ICAML as it assumes the observations
are noisy and several constraints can be used, e.g. different prior distributions.
ICAMF is used to obtain a calibration curve for data set 1 constrained in many
ways and by using all combinations of prior distributions. The bi-Gaussian prior
distribution gives the best results, and a PPG signal is always identified from
the separated source signals. The interpretation of the second source signal is
on the other hand not clear, as noise is detected in the noise term. The model
is therefore reduced to only separate one source signal from recordings as this
simplification also have other advantages such as no signal sorting is needed and
the algorithm speeds up as the complexity depends on the number of sources.
Best results are obtained when the covariance matrix of the Gaussian noise term
is set to be diagonal, meaning the noise level from each observation are allowed
to be different. The mixing matrix can be constrained to be positive, but it
does not increase the performance any further. The expectation maximisation
optimiser is used and the expectation consistent solver is used as it has shown
to be the fastest configuration.
The effect of bandpass filtering before using ICAMF is shown in figures 4.36
and 4.37 for FIR and IIR filters respectively, and again it is concluded that the
passband should be chosen to be quite narrow around the heart rate frequency.
The calibration curve obtained using the best IIR filter is shown in figure 4.38.
The mean error versus window length is shown in figure 4.39 and it is seen, that
the error decreases as the window length increases.
To give an example of the PPG signal and noise signals separated using ICAMF,
these signals are shown for measurement 5 from data set 1 in figure 4.40. It is
seen that all signals are easily identified.
To investigate how ICAMF performs on signals with motion artifacts, estimates
calculated using ICAMF on data set 2 are shown in figures 4.41 and 4.42
of R
for window length of 10s and 20s respectively. It is seen that ICAMF also fails
when motion artifacts is present and acts much like the methods
to estimate R
described above. Best performance is seen on measurement 2 for both window
lengths.
57
0.95
1.8
0.9
0.85
1.6
0.75
f [Hz]
0.8
1.4
0.7
0.65
1.2
0.6
0.55
0.5
5
f [Hz]
4.7.1
With optimal bandpass filtering and ICAMF configured to separate one source
with a bi-Gaussian prior and letting the noise covariance matrix be diagonal,
very good results are obtained for calculation of calibration curves with an mean
from signals with motion
error below 1% Sp O2 . ICAMF is not able to estimate R
artifacts from data set 2.
58
Results
0.95
1.8
0.9
0.85
1.6
fl [Hz]
0.8
0.75
1.4
0.7
1.2
0.65
0.6
1
0.55
0.5
5
f [Hz]
100
95
p 2
S O [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
Figure 4.38: Calibration curve obtained using IIR bandpass filtering and
ICAMF.
59
4.5
FIR
IIR
4
3.5
2.5
1.5
10
12
Window Length [s]
14
16
18
20
PPG
10
15
Time [s]
20
25
10
15
Time [s]
20
25
0.2
Noise
0.1
0
0.1
0.2
Figure 4.40: PPG and noise signals separated using ICAMF on measurement 5
from data set 1.
60
Results
2
1
2
3
4
1.5
0.5
20
40
60
80
Time [s]
100
120
140
160
2
1
2
3
4
1.5
0.5
20
40
60
80
100
120
140
Time [s]
4.8
61
Molgedey and Schouster ICA (ICAMS) differs from the probabilistic ICA in the
way that it requires that the source signals have different autocorrelations. The
mixing matrix is then estimated by maximising the difference in autocorrelation
of the separated source signals.
The effect of bandpass filtering is shown in figures 4.43 and 4.44. The result
is close to what is seen from the other methods, but notice that the upper
frequency should be chosen higher than what is found for the other methods.
This indicates that the method is not as sensitive to noise of frequencies above
the heart rate frequency. The calibration curve obtained using the best IIR
1024th order FIR bandpass filter
1
0.95
1.8
0.9
1.6
0.85
0.8
f [Hz]
1.4
0.75
1.2
0.7
0.65
1
0.6
0.8
0.55
0.5
10
11
12
13
f [Hz]
h
62
Results
0.95
1.8
0.9
1.6
0.85
0.8
fl [Hz]
1.4
0.75
1.2
0.7
0.65
1
0.6
0.8
0.55
0.5
10
11
12
13
f [Hz]
h
Figure 4.44: Mean error as function of bandpass filter cut-frequencies for a 8th
order IIR filter.
To examine how the approximate method used to optimise the time delay
used in the algorithm, the log likelihood is calculated for all values of tau for
is very sensitive to the value of , but using
data set 1. The result shows that R
estimates found from maximum likelihood do not improve the result and it is
thus concluded that the approximate method for optimising works well. The
result is shown in appendix D.
63
Theo. Curve
Fitted Cal. Curve
R estimates
100
95
p 2
S O [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
Figure 4.45: Calibration curve obtain using ICAMS and IIR bandpass filtering.
7
FIR
IIR
6
10
12
Window Length [s]
14
16
18
20
64
Results
PPG
2
0
2
4
10
15
Time [s]
20
25
10
15
Time [s]
20
25
Noise
2
0
2
4
Figure 4.47: PPG and noise signals separated using ICAMF on measurement 5
from data set 1.
2
1
2
3
4
1.5
0.5
20
40
60
80
Time [s]
100
120
140
160
65
2
1
2
3
4
1.5
0.5
20
40
60
80
100
120
140
Time [s]
4.8.1
66
Results
Chapter
5.1
Discussion
The results show, that calibration curves can be found with all methods except
ICAML from data set 1 with good accuracy. All methods except the FFTmethod requires bandpass filtering to obtain useful results. Both FIR and IIR
filters can be used but the order and cut-frequencies should be chosen with
care. With an optimised bandpass filter, low frequency noise due to e.g. small
movements is suppressed, and noise of higher frequency from the electronics in
the probe is suppressed as well, resulting in easy recognisable PPG signals. The
heart rates in data set 1 are in the interval from 51BPM to 72BPM and can
be considered as the resting heart rate for adults. Measurements at high heart
rate should be carried out to determine whether the bandpass filter should be
adapted to the heart rate or if a fixed passband can be used, as choosing the
higher cut-frequency probably is a trade off between heart rate frequency and
high frequency noise from the probe.
68
To adapt the passband to the heart rate, reliable detection of the heart rate
is of course needed. It is shown that the heart rate can be found from data
set 1 with an accuracy of 3BPM corresponding to the accuracy of commercial
pulse oximeters by both FFT and the Bayesian periodic component detector. As
data set 1 only contains recordings from a resting subject, heart rate detection
should be carried out on recordings on several other conditions higher heart
rates, increasing and decreasing heart rate etc.
As the heart rate is well detected by FFT from data set 1, the Sp O2 can be
estimated with good results by FFT, as this method acts as bandpass filtering
in the frequency domain.
The implementation of the Masimo DST algorithm is tested to work well on
data set 1, but the accuracy is not better than the simpler averaging and FFT
methods. Besides this, it is the slowest method used in this thesis as the signals
are filtered by the adaptive filter a new reference signal in each iteration of
finding the optimal reference filter.
Independent component analysis has proven to work well on data set 1 when
the problem is solved using constraints. The simple Maximum Likelihood ICA
fails to separate the source signal due to improper choice of prior distribution,
whereas the Mean Field ICA gives good results constrained to separate only
one source signal with the bi-Gaussian source prior and a Gaussian noise term.
Separation of only one source signal from noise, speeds up the algorithm significantly but ICAMF is the most complex ICA algorithm used. The pulsating
nature of the PPG signal is reflected by its autocorrelation and noise components with typically different autocorrelation, makes it possible to separate the
PPG and noise signal using Molgedey and Schouster ICA. ICAMS is very fast,
and the approximate optimisation is usually done with less than four iterations
for data set 1. The algorithm suffers from heavy fluctuations in estimation of
if the time delay is not optimised correctly. An algorithm that combines
R
the probabilistic ICA model with autocorrelation constraints in a Kalman filter
alike model is found in [19]. As further work, it is recommended to examine
how this algorithm performs on pulse oximeter signals.
Estimation Sp O2 from recordings with motion artifacts from data set 2 turns
cannot be
out to be a hard task. First, it is found that the range of estimated R
compared to the calibration curve obtained from data set 1. Experiments with
the probe has shown that it is sensitive to ambient light, and this might explain
this problem, but in future work calibration curves needs to be determined
from more subjects to investigate how personally dependent the recordings are.
The first part of the measurements are recorded with the subject resting, and
estimate of this part can therefore be compared to estimates during motion. It
5.2 Conclusion
69
5.2
Conclusion
In this thesis, it is shown that the oxygen saturation can be estimated with
from measurements recorded using the pulse oximeter probe developed for the
electronic patch. The accuracy is within 2% Sp O2 depending on the window
length. It is found that the estimates depend heavily on bandpass filtering the
noisy signals. Both simple averaging and FFT methods are compared to an
implementation of the DST algorithm developed by Masimo Cooperation, and
further are the approach of independent component analysis investigated.
It is shown that the problem of separating the PPG signal from noise can be
done by solving the ICA problem with proper constraints. The simple Maximum
Likelihood ICA fails to separate the source signals correctly due to the bad choice
of prior distribution. With Mean Field ICA, it is shown that the problem can
be solved by a probabilistic ICA model by using a bi-Gaussian source prior.
The results are improved by letting covariance matrix of the Gaussian noise
term have different variance for each recording of red and infrared light. The
Molgedey and Schouster ICA is able to separate the signals with very good
results as the PPG signal and noise have very different autocorrelations. The
results from ICAMS are very sensitive to the time delay used in the algorithm
70
and it is found that the approximate optimisation scheme works better than
calculating the likelihood for each value of .
By tuning the bandpass filter, the performance of all methods except ICAML
are about the same for the measurements carried out on a resting subject at
Sp O2 levels from 75% to 100% and the obtained calibration curves have similar
slopes and intercepts.
Estimation of Sp O2 from signals with motion artifacts reveals that the recordings
from to subjects cannot be compared using the obtained calibration curves.
Further, all methods are very sensitive to motion artifacts and fail to estimate
with an acceptable accuracy.
R
Beside this, it is shown that the heart rate can be detected with an accuracy
around 3BPM depending on the signal length using both FFT and a Bayesian
periodic component detector.
To sum up, it can be concluded that the oxygen saturation can be estimated
with an accuracy at least as good as conventional methods and the Masimo
DST algorithm for data sets without significant motion artifacts. It has not
been possible to produce reliable results from data sets with motion artifact
using ICA nor other methods, and thus it can be concluded that this topic
needs further research.
Appendix
A
DC-levels
72
DC-levels
4470
4460
DClevel, Infrared
4450
4440
4430
4420
4410
4400
10
20
30
40
50
% Samples removed
60
70
80
90
70
80
90
DClevel, Red
2700
2650
2600
10
20
30
40
50
% Samples removed
60
73
5000
4800
DClevel, Infrared
4600
4400
4200
4000
3800
3600
10
20
30
40
50
% Samples removed
60
70
80
90
70
80
90
DClevel, Red
1900
1850
1800
1750
1700
10
20
30
40
50
% Samples removed
60
74
DC-levels
Appendix
B
Bandpass filtering
The amplitude and phase response of a FIR and IIR bandpass filters with lower
and upper cut-frequencies at 0.5Hz and 4Hz is shown figure B.1. In figures B.2
and B.3 the unit step-response for the FIR and IIR filters are shown. The unit
step-response can be used to determine the settling time of the filter, usually
defined as the time where the unit step-response reached 2% of its stationary
level.
signals from
To examine how bandpass filtering distorts the estimation of R,
data set 1, of length 25s (5000 samples) are normalised, and filtered by the
optimal IIR filter and the mean error for the obtained calibration curve is calculated for the filtered signals by removing a number of the first samples. This
investigation is repeated by reversing the signals in time to avoid errors due
to time dependent noise is the recordings. To see how the DC-levels variates
by removing a corresponding number of samples, this is shown in figures B.4
and B.5. The mean error versus number of removed samples are shown in the
76
Bandpass filtering
Amplitude response
1.2
8th order IIR
1024th order FIR
1
0.8
0.6
0.4
0.2
0
5
6
Frequency [Hz]
10
Phase response
5
6
Frequency [Hz]
10
Figure B.1: Amplitude and phase response of a FIR and IIR filter.
0.5
0.4
0.3
Unit stepresponse
0.2
0.1
0.1
0.2
0.3
0.4
0.5
200
400
600
Samples
800
1000
1200
77
0.6
0.5
0.4
Unit stepresponse
0.3
0.2
0.1
0.1
0.2
0.3
0.4
200
400
600
Samples
800
1000
1200
2740
DC level red
2720
2700
2680
2660
2640
2620
2600
500
1000
1500
Samples
2000
2500
3000
500
1000
1500
Samples
2000
2500
3000
4460
DC level infrared
4450
4440
4430
4420
4410
4400
78
Bandpass filtering
DC level red
2750
2700
2650
2600
500
1000
1500
Samples
2000
2500
3000
500
1000
1500
Samples
2000
2500
3000
4480
DC level infrared
4460
4440
4420
4400
4380
Averaging methods
2.2
FIR
IIR
2
1.8
1.6
1.4
1.2
0.8
500
1000
1500
Samples
2000
2500
3000
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.3
R estimates
B.1
79
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
80
Bandpass filtering
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
2.6
FIR
IIR
2.4
2.2
1.8
1.6
1.4
1.2
0.8
500
1000
1500
Samples
2000
2500
3000
81
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
82
Masismo DST
2.8
FIR
IIR
2.6
2.4
2.2
1.8
1.6
1.4
1.2
500
1000
1500
Samples
2000
2500
3000
1.6
1.5
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.4
1.3
R estimates
B.2
Bandpass filtering
1.2
1.1
0.9
0.8
500
1000
1500
Samples
2000
2500
3000
83
1.6
1.5
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.4
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
3.2
FIR
IIR
3
2.8
2.6
2.4
2.2
1.8
1.6
1.4
500
1000
1500
Samples
2000
2500
3000
84
Bandpass filtering
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
1.5
500
1000
1500
Samples
2000
2500
3000
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.3
R estimates
B.3
85
1.2
1.1
0.9
0.8
0.7
500
1000
1500
Samples
2000
2500
3000
86
Bandpass filtering
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
4
FIR
IIR
3.5
2.5
1.5
500
1000
1500
Samples
2000
2500
3000
87
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.3
R estimates
1.2
1.1
1
0.9
0.8
0.7
0.6
500
1000
1500
Samples
2000
2500
3000
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.3
R estimates
1.2
1.1
1
0.9
0.8
0.7
0.6
500
1000
1500
Samples
2000
2500
3000
88
2.5
1.5
0.5
500
1000
1500
Samples
2000
2500
3000
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
1.3
R estimates
B.4
Bandpass filtering
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
89
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
3.5
FIR
IIR
3
2.5
1.5
0.5
500
1000
1500
Samples
2000
2500
3000
90
Bandpass filtering
1.6
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.2
0.8
0.6
500
1000
1500
Samples
2000
2500
3000
1.6
1.5
1.4
100%
100%
100%
99%
99%
97%
87%
84%
82%
78%
77%
77%
75%
75%
R estimates
1.3
1.2
1.1
0.9
0.8
0.7
0
500
1000
1500
Samples
2000
2500
3000
Appendix
In this appendix, scatter plots of all measurements from data set 2 are shown.
First the raw normalised recordings are shown, followed by bandpass filtered
recordings. Notice that a linear dependence is seen after bandpass filtering.
92
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
0.5
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.5
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
93
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
0.5
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.5
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
94
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
95
0.5
0.5
1
0.5
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.5
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
96
Appendix
D
Optimisation of in for
ICAMS
98
4
x 10
Log Likelihood
2.5
2.45
2.4
2.35
2.3
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.4
1.2
1
0.8
0.6
0.4
2.46
x 10
2.44
2.42
Log Likelihood
2.4
2.38
2.36
2.34
2.32
2.3
0.4
0.5
0.6
0.7
0.8
0.9
1.1
1.2
1.3
for measurement 1.
Figure D.2: Log likelihood versus R
99
4
x 10
Log Likelihood
2.8
2.6
2.4
2.2
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1
0.9
0.8
R
0.7
0.6
0.5
0.4
2.8
x 10
2.7
2.6
Log Likelihood
2.5
2.4
2.3
2.2
2.1
0.4
0.5
0.6
0.7
0.8
0.9
for measurement 2.
Figure D.4: Log likelihood versus R
100
4
Log Likelihood
2.7
x 10
2.65
2.6
2.55
2.5
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1
0.9
0.8
0.7
0.6
0.5
2.7
x 10
2.68
2.66
Log Likelihood
2.64
2.62
2.6
2.58
2.56
2.54
2.52
0.55
0.6
0.65
0.7
0.75
R
0.8
0.85
0.9
0.95
for measurement 3.
Figure D.6: Log likelihood versus R
101
4
x 10
1.92
Log Likelihood
1.9
1.88
1.86
1.84
1.82
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.2
1
0.8
0.6
0.4
0.2
1.91
x 10
1.9
1.89
Log Likelihood
1.88
1.87
1.86
1.85
1.84
1.83
1.82
0.4
0.5
0.6
0.7
0.8
R
0.9
1.1
1.2
1.3
for measurement 4.
Figure D.8: Log likelihood versus R
102
4
x 10
Log Likelihood
2.3
2.25
2.2
2.15
2.1
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.4
1.2
1
0.8
0.6
0.4
2.28
x 10
2.26
2.24
Log Likelihood
2.22
2.2
2.18
2.16
2.14
2.12
0.4
0.5
0.6
0.7
0.8
0.9
1.1
1.2
1.3
for measurement 5.
Figure D.10: Log likelihood versus R
103
4
x 10
Log Likelihood
2.34
2.32
2.3
2.28
2.26
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.4
1.2
1
0.8
0.6
0.4
2.34
x 10
2.33
2.32
Log Likelihood
2.31
2.3
2.29
2.28
2.27
2.26
0.4
0.5
0.6
0.7
0.8
0.9
1.1
1.2
1.3
for measurement 6.
Figure D.12: Log likelihood versus R
104
4
2.7
x 10
Log Likelihood
2.6
2.5
2.4
2.3
2.2
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
2
1.8
1.6
1.4
1.2
1
0.8
2.7
x 10
2.65
2.6
Log Likelihood
2.55
2.5
2.45
2.4
2.35
2.3
2.25
2.2
0.8
1.2
1.4
R
1.6
1.8
for measurement 7.
Figure D.14: Log likelihood versus R
105
4
x 10
Log Likelihood
2.8
2.6
2.4
2.2
2
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.8
1.6
1.4
1.2
1
0.8
x 10
2.9
2.8
Log Likelihood
2.7
2.6
2.5
2.4
2.3
2.2
2.1
0.8
0.9
1.1
1.2
1.3
R
1.4
1.5
1.6
1.7
1.8
for measurement 8.
Figure D.16: Log likelihood versus R
106
4
x 10
Log Likelihood
2.35
2.3
2.25
2.2
2.15
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.6
1.5
1.4
1.3
1.2
1.1
2.34
x 10
2.32
2.3
Log Likelihood
2.28
2.26
2.24
2.22
2.2
2.18
2.16
1.15
1.2
1.25
1.3
1.35
1.4
1.45
1.5
1.55
1.6
for measurement 9.
Figure D.18: Log likelihood versus R
107
4
x 10
2.18
Log Likelihood
2.16
2.14
2.12
2.1
2.08
2.06
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
2
1.8
1.6
1.4
1.2
1
2.17
x 10
2.16
2.15
Log Likelihood
2.14
2.13
2.12
2.11
2.1
2.09
2.08
2.07
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
108
4
x 10
2.6
Log Likelihood
2.4
2.2
2
1.8
1.6
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
2
1.8
1.6
1.4
1.2
1
2.5
x 10
2.4
2.3
Log Likelihood
2.2
2.1
1.9
1.8
1.7
1.1
1.2
1.3
1.4
1.5
R
1.6
1.7
1.8
1.9
109
4
x 10
1.9
Log Likelihood
1.85
1.8
1.75
1.7
1.65
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.8
1.6
1.4
1.2
1.9
x 10
Log Likelihood
1.85
1.8
1.75
1.7
1.65
1.1
1.2
1.3
1.4
1.5
R
1.6
1.7
1.8
1.9
110
4
Log Likelihood
2.3
x 10
2.25
2.2
2.15
2.1
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.9
1.8
1.7
1.6
1.5
1.4
2.28
x 10
2.26
2.24
Log Likelihood
2.22
2.2
2.18
2.16
2.14
2.12
1.4
1.45
1.5
1.55
1.6
1.65
1.7
1.75
1.8
1.85
111
4
Log Likelihood
2.3
x 10
2.25
2.2
2.15
2.1
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
1.9
1.8
1.7
1.6
1.5
1.4
2.28
x 10
2.26
2.24
Log Likelihood
2.22
2.2
2.18
2.16
2.14
2.12
1.4
1.45
1.5
1.55
1.6
1.65
1.7
1.75
1.8
1.85
112
4
x 10
1.9
Log Likelihood
1.85
1.8
1.75
1.7
1.65
1.6
500
1000
1500
2000
[samples]
2500
3000
3500
4000
500
1000
1500
2000
[samples]
2500
3000
3500
4000
2.2
2
1.8
1.6
1.4
1.9
x 10
1.85
Log Likelihood
1.8
1.75
1.7
1.65
1.6
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.1
113
Theo. Curve
Fitted Cal. Curve
R estimates
100
95
SpO2 [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
100
95
SpO2 [%]
90
85
80
75
0.2
0.4
0.6
0.8
1.2
1.4
1.6
114
Bibliography
116
BIBLIOGRAPHY
BIBLIOGRAPHY
117
[21] M. Opper and O. Winther. Tractable approximations for probabilistic models: The adaptive thouless-anderson-palmer mean field approach. Phys.
Rev. Lett, 86:36953699, 2001.
[22] K.A. Reddy and V.J. Kumar. Motion artifact reduction in photoplethysmographic signals using singular value decomposition. 2007 IEEE Instrumentation & Measurement Technology Conference IMTC 2007, pages 14,
2007.
[23] T.L. Rusch, R. Sankar, and J.E Scharf. Signal processing methods for pulse
oximetry. Computers in Biology and Medicine, 26:143159, 1996.
[24] John G. Webster, editor. Design of Pulse Oximeters, chapter 4. Institute
of Physics Publishing, 1997.
[25] Ole Winther and Kaare Brandt Petersen. Flexible and efficient implementations of bayesian independent component analysis. Neurocomputing,
71:221233, 2007.
[26] Jianchu Yao and S. Warren. A short study to assess the potential of independent component analysis for motion artifact separation in wearable
pulse oximeter signals. 2005 IEEE Engineering in Medicine and Biology
27th Annual Conference, pages 35853588, 2005.