View
1
Download
0
Category
Preview:
Citation preview
A Novel Wireless Ring-shaped Multi-site Pulse
Oximeter
Mémoire
Alireza Avakh Kisomi
Maîtrise en génie électrique
Maître ès sciences (M.Sc.)
Québec, Canada
© Alireza Avakh Kisomi, 2017
ii
iii
Résumé
Ces dernières années, la supervision continue des signes vitaux des patients a été un
sujet d'intérêt de plusieurs travaux de recherche surtout pour ceux qui souffrent de
maladies chroniques ou qui travaillent dans des environnements hasardeux. Dans la
pratique médicale moderne, le niveau d'oxygène dans le sang est un des signes vitaux
primaires tels que la pression artérielle, la fréquence cardiaque, la température
corporelle et le rythme respiratoire. L'oxymétrie de pouls est une technique populaire
non-intrusive qui permet de diagnostiquer des problèmes liés aux systèmes respiratoire
et circulatoire. Pour cette raison, elle est largement utilisée dans les soins intensifs, les
salles d'opération, les soins d'urgence, la naissance et l'accouchement, les soins
néonatals et pédiatriques, les études du sommeil et les soins vétérinaires. Or, pour
l’oxymètre de pouls, une acquisition précise des signaux est importante pour assurer la
fiabilité des mesures de la saturation d'oxygène artériel (SaO2). Dans ce cas, le
positionnement des capteurs joue un rôle important car la complexité de la structure du
tissu du doigt peut rendre l'effet de l'emplacement de la source lumineuse imprévisible
sur la mesure du SpO2. Si tel est le cas, un faible nombre de capteurs autour du doigt
pourrait perturber la trajectoire des rayons de lumière et corrompre les mesures. Les
oxymètres de pouls conventionnels utilisent une pince à doigts contenant les capteurs
qui utilise un seul ensemble de LED et photodétecteur (PD). En plus de l'inconvénient
des pinces à doigts, le placement du capteur n'est pas corrigé et sera affecté par des
artefacts de mouvement. Dans ce mémoire, nous présenterons un oxymètre qui utilise
six ensembles de diodes électroluminescentes et de photo-détecteurs, répartis
uniformément en anneau autour du doigt, ce qui permet d'identifier le meilleur chemin
de signal, immunisant ainsi l'acquisition du signal à l'effet de position de l'anneau. En
outre, pour éliminer les fils de la station de base, ce système utilise un émetteur-
récepteur radio ce qui supprime les inconvénients de l'attachement. Dans cette étude de
conception de preuve de concept, un prototype de cet oxymètre en anneau est réalisé
avec des composants commerciaux à faible consommation de courant et le tout est
montés sur une carte électronique flex-rigides qui communique avec un hôte distant par
un lien sans-fil pour traiter le signal et calculer le niveau d'oxygène.
iv
Abstract
Continuous health monitoring for patients with chronic diseases or people working in
high-risk environments has been an interesting topic of research in recent years. In
modern medical practice, the blood oxygen level is one of the vital signs of the body
alongside blood pressure, heart rate, body temperature, and breathing rate. Pulse
oximeters provide early information on problems in the respiratory and circulatory
systems. They are widely used in intensive care, operating rooms, emergency care, birth
and delivery, neonatal and pediatric care, sleep studies, and in veterinary care. Proper
signal acquisition in a pulse oximetry system is essential to monitor the arterial oxygen
saturation (SaO2). Since the tissue of finger has a complicated structure, and there is a
lack of detailed information on the effect of the light source and detector placement on
measuring SpO2, sensor placement plays an important role in this respect. Not enough
sensors placed around the finger will have an adverse effect on the light path so high
signal quality may become impossible to achieve. The conventional Pulse Oximeters
use a finger clip, which uses only one set of LEDs and photodetector (PD). In addition
to the inconvenience of the finger clips, the placement of the sensor is not fixed and will
be affected by motion artifacts. In this thesis, we present a ring-shaped oximeter that
uses six sets of light emitting diodes and photodetectors, uniformly distributed around
the finger to identify the best signal path, thus making the signal acquisition immune to
ring position on the finger. In addition, this system uses a radio transceiver to eliminate
the connection wires to a base station which removes the inconvenience of the tethering
and reduce the motion artifacts. In this proof of concept study, this novel ring oximeter
is implemented with commercial low power consumption off-the-shelf components
mounted on a rigid-flex board that connects to a remote host for signal processing and
oxygen level calculation.
v
Table of content
Résumé ......................................................................................................................... iii
Abstract ........................................................................................................................ iv
List of Figures ............................................................................................................ viii
List of Tables ................................................................................................................ xi
List of Acronyms ........................................................................................................ xii
List of Symbols........................................................................................................... xiv
Acknowledgment ........................................................................................................ xv
1 Introduction ........................................................................................................... 2
1.1 Pulse Oximetry ................................................................................................ 3
1.2 Challenges in Pulse Oximetry Design ............................................................. 3
1.3 Goal of the Thesis ............................................................................................ 4
1.4 Contribution ..................................................................................................... 5
1.5 Structure of the Thesis ..................................................................................... 5
2 Literature Review on Pulse Oximetry Methods ................................................. 8
2.1 Introduction...................................................................................................... 8
2.2 Basics of Pulse Oximetry................................................................................. 9
2.2.1 Physiological Basics ................................................................................. 9
2.2.2 Photoplethysmography ........................................................................... 11
2.3 Methods for the Measurement of Oxygen Saturation.................................... 12
2.3.1 Light Absorbance Principles .................................................................. 12
2.3.2 Light Absorbance in Pulse Oximetry ..................................................... 13
2.3.3 Validity of Beer’s Law in Pulse Oximetry ............................................. 20
2.4 Pulse Oximetry Design Overview ................................................................. 21
2.4.1 LEDs and Photoreceptor ........................................................................ 21
2.4.2 Probes ..................................................................................................... 28
2.4.3 Front End Amplifier ............................................................................... 31
vi
2.4.4 Filters ...................................................................................................... 33
2.4.5 Signal Processing Unit ........................................................................... 36
2.5 Existing Challenges and Problems ................................................................ 37
2.5.1 Sources of errors ..................................................................................... 37
2.5.2 Challenges .............................................................................................. 47
3 Ring Shape Pulse Oximeter Design ................................................................... 51
3.1 Methodology .................................................................................................. 51
3.2 Principles of Proposed System ...................................................................... 53
3.3 Photosensor .................................................................................................... 54
3.4 Analog Front End .......................................................................................... 57
3.5 LED Driver .................................................................................................... 59
3.6 Multiplexers ................................................................................................... 60
3.7 Digital to Analog Converter .......................................................................... 61
3.8 Power Management Unit ............................................................................... 62
3.8.1 Battery .................................................................................................... 63
3.8.2 Low Drop-Out Regulator ....................................................................... 63
3.8.3 RLC Filter............................................................................................... 63
3.9 Microcontroller Unit ...................................................................................... 63
3.9.1 Analog to Digital Converter ................................................................... 64
3.9.2 UART ..................................................................................................... 64
3.9.3 SPI .......................................................................................................... 65
3.9.4 Programming .......................................................................................... 65
3.10 Transceiver .................................................................................................... 65
3.11 Rigid-Flex PCB Design ................................................................................. 66
3.12 Algorithm ....................................................................................................... 69
4 Experimental Results .......................................................................................... 72
vii
4.1 Quality of signal ............................................................................................ 72
4.2 Algorithm ....................................................................................................... 75
4.3 Power Consumption ...................................................................................... 77
5 Discussion and Conclusion ................................................................................. 79
References ................................................................................................................... 82
Appendix A: Ring Pulse Oximeter Microcontroller Code ..................................... 89
Appendix B: Ring Pulse Oximeter MATLAB Code ............................................. 110
Appendix C: Datasheets of the Components ......................................................... 124
viii
List of Figures
Figure 1 Oxygenated and deoxygenated hemoglobin molecules [5]. ............................ 9
Figure 2 two PPG signal measured by the proposed system. ....................................... 11
Figure 3 Beer’s law showing light absorption through a uniform substance [5]. ........ 12
Figure 4 Extinction coefficient of deoxygenated hemoglobin (Hb) and oxygenated
hemoglobin (HbO2) [5]. ............................................................................................... 14
Figure 5 Photoplethysmography signal acquired from a living tissue [5]. .................. 16
Figure 6 Beer's law in pulse oximetry [5]. ................................................................... 17
Figure 7 The calibration curves for a pulse oximeters [5]. .......................................... 18
Figure 8 A PPG waveform with its AC and DC [5]. .................................................... 19
Figure 9 Block diagram of a typical pulse oximeter system. The arrows show the flow
of data [5]. .................................................................................................................... 21
Figure 10 The mechanical design and distribution of optical components over the
flexible PCB: two photo-diode and four LEDs are mounted [23]. .............................. 24
Figure 11 Dislocation of ring sensors due to an external load. (a) Traditional single-
body design under external force. (b) New isolating ring sensor under external force
[28]. .............................................................................................................................. 24
Figure 12 Construction of isolating ring [28]. ............................................................. 25
Figure 13 Principle of reflection pulse oximetry illustrating the optical sensor and the
different layers of the skin [31]. ................................................................................... 25
Figure 14 Photo-diode performance under different conditions (a) Photo-diode output
in complete darkness and constant light illumination, (b) Calculated and measured
photo-diode output, (c) Photodiode output for Red and IR LED [32]. ........................ 26
Figure 15 Illustration of the developed electronic patch with ring shaped photodetector
[33]. .............................................................................................................................. 27
Figure 16 Prototype reflectance sensor configuration showing the relative positions of
the rectangular-shaped PDs and the LEDs [34]. .......................................................... 27
Figure 17 PPG signal amplitudes in different conditions [34]. ................................... 28
Figure 18 A transmittance probe on the left and a reflectance probe on the right. ...... 29
Figure 19 TIA topology based on an ideal op-amp [39]. ............................................ 32
Figure 20 The proposed trans impedance amplifier [24]. ........................................... 33
ix
Figure 21 Analog front end circuit with analog filters ................................................. 34
Figure 22 Two stage analog front end circuit ............................................................... 35
Figure 23 One stage analog front end circuit ............................................................... 36
Figure 24 Power consumption comparisons [28], [29]. ............................................... 38
Figure 25 Comparison of SpO2 recording from sensor location with annotated activities
[50]. .............................................................................................................................. 40
Figure 26 Patient with reflective PPG sensor sealed into an individually customized ear
mold. The reflective sensor element is placed at the inner tragus. The sensor is connected
to the sensor interface device via a cable which is taped for artifact reduction[51]. ... 41
Figure 27 Functional principle of the micro-optic sensor. Since it works in reflection
mode, special precautions for the avoidance of direct crosstalk from LED to p-i-n diode
have been taken [44]..................................................................................................... 42
Figure 28 Auditory canal sensor [37]. .......................................................................... 43
Figure 29 Contact lens probe [55]. ............................................................................... 44
Figure 30 3D model of the sensor mounted on an artery [59]. .................................... 46
Figure 31 Cross-sectional view of the sensor wrapped around a blood vessel. Both
stripes are fixed with ligature clips. The oxygen saturation is spectrometrically measured
by the transmitted intensity of two wavelengths [57]. ................................................. 46
Figure 32 Encapsulated silicone stripe with two embedded LEDs mounted onto a laser-
structured polyimide foil before covering with black colored silicone adhesive for
optical shielding [57]. ................................................................................................... 47
Figure 33 CAD drawing of a silicone stripe wrapped around a blood vessel acting as a
platform for various embedded sensors [60]. ............................................................... 47
Figure 34. Proximal phalanx structure [62].................................................................. 51
Figure 35 Preliminary acquired signal from around the proximal phalanx, (a) IR LED,
(b) red LED .................................................................................................................. 52
Figure 36 Block diagram of the proposed ring shaped pulse oximeter ........................ 54
Figure 37 LED and PD connection. ............................................................................. 56
Figure 38 Test prototype of the ring sensors. ............................................................... 57
Figure 39 One of the 6 sets of LEDs and PD inside the test prototype of the ring sensors.
...................................................................................................................................... 57
x
Figure 40 AFE circuit with analog filters ..................................................................... 58
Figure 41 Two stages AFE circuit with digital feedforward ........................................ 59
Figure 42 LED driver with transistor ........................................................................... 59
Figure 43 LED driver circuit ........................................................................................ 60
Figure 44 Multiplexers circuit ...................................................................................... 61
Figure 45 Digital to Analog converter circuit .............................................................. 62
Figure 46 Power management unit circuitry ................................................................ 62
Figure 47 Microcontroller connections ........................................................................ 64
Figure 48 Microcontroller connector for programming ............................................... 65
Figure 49 Nordic transceiver connections and circuitry .............................................. 66
Figure 50 Test Setup Including Custom Prototyping Board, Microcontroller and Ring
Sensor ........................................................................................................................... 67
Figure 51 Designed rigid-flex PCB connections .......................................................... 67
Figure 52 3D presentation of the ring shaped sensor ................................................... 68
Figure 53 Top and bottom view of ring shaped sensor ................................................ 68
Figure 54 Flowchart of the algorithm........................................................................... 70
Figure 55 AC output of the red and IR LEDs .............................................................. 72
Figure 56 DC output signal of red and IR signal without tissue. ................................. 73
Figure 57 DC output signal of the red and the IR signals with the tissue. ................... 73
Figure 58 Output signal of the system based on the algorithm in a different position of
sensors. ......................................................................................................................... 76
xi
List of Tables
Table 1 Comparison between three pulse oximetry methods....................................... 31
Table 2 Results of testing different LEDs and PDs to choose the best set................... 55
Table 3 Oxygen level measurements with a commercial pulse oximeter .................... 74
Table 4 Oxygen level measurements with the proposed system .................................. 74
Table 5 Variance and standard deviation of oxygen level measurements ................... 75
Table 6 System characteristics ..................................................................................... 77
xii
List of Acronyms
AC Alternative Current
ADC Analog-to-Digital Converter
AFE Analog Front End
BW Bandwidth
CAD Computer-Aided Design
CMOS Complementary Metal Oxide Semiconductor
CO Carbon Monoxide
COHb Carboxyhemoglobin
DAC Digital-to-Analog Converter
DC Direct Current
ECG Electrocardiogram
GFSK Gaussian Frequency Shift Keying
Hb Hemoglobin
HbO2 Oxyhemoglobin
HPF High Pass Filter
IC Integrated Circuit
IO Input / Output
IR Infrared
ISM Industrial, Scientific, and Medical
LDO Low Drop-Out
LED Light Emitting Diode
xiii
LPF Low Pass Filter
MCU Micro-Controller Unit
MEMS Microelectromechanical Systems
MetHb Methemoglobin
MOSFET Metal Oxide Semiconductor Field Effect Transistor
O2 Oxygen
PC Personal Computer
PCB Printed Circuit Board
PD Photodetector
PI Perfusion Index
PMU Power Management Unit
PPG Photoplethysmography
PSRR Power Supply Rejection Ratio
RF Radio Frequency
RLC Resistor (R), inductor (L), and capacitor (C)
SaO2 Arterial Oxygen Saturation
SNR Signal to Noise Ratio
SO2 Oxygen Saturation
SPI Serial Peripheral Interface
SpO2 Peripheral Oxygen Saturation
TIA Trans Impedance Amplifier
UART Universal Asynchronous Receiver/Transmitter
xiv
List of Symbols
i Current
L Inductance
R Resistance
V Voltage
C Capacitance
ε(λ) Absorptivity (or Extinction Coefficient)
c Medium Specific Constant
𝐼0 Incident Light
I Transmitted Light
T Transmittance of Light
A Unscattered Absorbance
d Optical Path Length
R Ratio of Normalized Absorbance
k Constant
R Resistance
V Voltage
I Current
A Gain
⁰ Degree
xv
Acknowledgment
This thesis is dedicated to my family who always loved and supported me. Also, I want
to thank my dear friends who supported me during my Master’s in Canada which was a
new section of my life.
Many thanks to my supervisor, Prof. Benoit Gosselin, for his help to complete this
degree, a young, brilliant, dedicated professor and head of the Bio-Microsystem’s
Laboratory at Laval University. I learned a lot from his collaboration. Also, I would like
to thank my co-supervisors, Prof. Amine Miled and Prof. Mounir Boukadoum for
helping and guiding me to reach my potentials.
1
Chapter One
Introduction
2
1 Introduction
Continuous health monitoring for patients with chronic diseases or people working in
high-risk environments has been an interesting topic of research in recent years [1]. In
modern medical practice, the blood oxygen level has been considered as one of the
important signs of the body functionality along with the traditional ones, such as heart
rate, glucose level, blood pressure, breathing rate and body temperature. Pulse
oximeters provide early information on problems in the respiratory and circulatory
systems. They are widely used in intensive care, operating rooms, emergency care, birth
and delivery, neonatal and pediatric care, sleep studies, and in veterinary care [2]–[4].
All these capabilities are because of the possibility of reducing the sensor size and
electronic circuits and modern techniques of communication.
In modern medicine, pulse oximetry devices are ubiquitous for measuring the
percentage of oxygenated hemoglobin in blood by comparing the transmission or
reflection characteristics of two different wavelengths (red and infrared) of light passing
through the patient’s body with a photoreceptor.
Lots of designs have been presented up to now and each one has its own advantages and
disadvantages. Some papers talk about the methods of reducing power consumption,
some try to receive better accuracy, some are trying to minimize the dimension of the
sensors and some are trying to introduce new and more effective methods to measure
the oxygen level and have better processing of the signals. Also, there are some articles
talking about using the invasive method to have better and more accurate signals without
any environmental bad effects.
There are different aspects in designing a pulse oximeter which should be considered,
including power consumption, sensor size, and its comfortability, finding the best site
to put a sensor or the best method of LED configuration and motion artifacts. All of
them can be considered as a challenge for a designer. In addition, some researchers are
looking for methods to have a good implantable system, which has its own advantages
and difficulties.
3
In this thesis, we will have a total review of different part of a pulse oximetry system
and the operation of the whole system. Also, we will talk about the problems which a
designer should handle to have a better result. All parts of this review are prepared based
on papers, application notes, and online information.
1.1 Pulse Oximetry
Pulse oximetry is a non-invasive method to measure the oxygen level of blood. This
method is based on the photoplethysmography (PPG) signal, which contains
information related to the blood and its components. The term of PPG refers to an optical
and low-cost method to obtain the pulsatile signals demonstrating the volume change of
blood in the tissue. PPG signals will be acquired by non-invasive methods to make the
measurements on the surface of the skin. The PPG signals is a combination of two
signals, AC and DC. The pulsatile (AC) component is caused by changes in blood
volume which are synchronous with heartbeats. The non-pulsatile (DC) component with
low-frequency components is caused by respiration, sympathetic nervous system
activity, and thermoregulation. These changes in volume are detected by illuminating
the skin surface with light sources (light emitting diode) and then measuring the
reflected or transmitted light to a photoreceptor. The PPG waveform will vary in
different subjects, locations, and different manners that the signal is acquired. Since the
blood flow can be modulated with different physiological systems, the PPG signal can
demonstrate hypovolemia, breathing, and other circulatory conditions. In pulse
oximetry method, PPG signals in two different wavelengths are measured and by
comparing these two signals valuable information can be obtained. Two different
wavelengths of light by two LEDs are sent through the tissue and the received light by
a photodetector contains the required information. The received light by the
photodetector is a combination of DC and AC signals. Based on Beer-Lambert’s law
about light absorption, the ratio of these two components of the received light are used
to measure the oxygen level of the blood.
1.2 Challenges in Pulse Oximetry Design
Although the design of a pulse oximeter has a simple base and it is possible to design a
test pulse oximeter prototype with simple components, to have a working commercial
4
pulse oximeter implies lots of challenges and limitations. One of the first challenges that
we were facing was the size of the system. Since this design was going to be a ring shape
pulse oximeter the size and placement of the components were vital and it led to a rigid-
flex PCB design, which has all the required parts to have a wireless low power pulse
oximetry system. The other important aspect is designing the wireless system because
tethering the pulse oximeter creates some problems like producing more motion artifacts
and uncomfortable attachment of the sensors to patients. This wireless system has the
possibility of measuring and analyzing the acquired pulse oximetry signals. Also, a
separate base station like a mobile phone or computer can be used to do further
processing, data saving and displaying the final results. Battery size and its power
consumption can be considered as another challenge, which should be taken care of it.
Normally most of the power consumption of a pulse oximeter is in the LED driving
system, which should be managed to have a minimum power consumption so that it is
possible to have small size batteries.
1.3 Goal of the Thesis
In this thesis, we try to design and build a device to measure the heart beat and oxygen
level of the blood. Basically, we aim to design a wireless pulse oximeter that is capable
of, measuring the oxygen level using light emitting diodes and recording the
photoplethysmography responses. By the term “wireless pulse oximeter”, we mean a
light-weight device that is not tethered to any other devices or power source. Also, we
tried to use the components with lowest power consumption. Although the power
consumption is managed to be as low as possible regarding the available off the shelf
components, because of using discrete LEDs the power consumption is not minimum.
To achieve this goal custom designed LEDs should be used. The pulse oximeter will
have embedded optical stimulating and recording circuitry and will be capable of
sending the recording signals back to a base station computer in real-time.
We have tried to make this pulse oximetry tool performance as close as possible to the
commercial products. In order to do so, along with a complete literature review on the
subject, we worked with a local company (Oxy'nov Inc.) specialized in innovative
medical devices for patients requiring respiratory care. Thanks to this collaboration, we
5
gathered a set of realistic criteria that were deemed desirable for this type of research
tool.
The mentioned characteristics include being wireless, lightweight and having multiple
stimulations and recording sensors to increase signal coverage. These characteristics
make the pulse oximetry tool suitable for long term (several hours) monitoring of
patients with smaller errors caused by motion artifacts.
1.4 Contribution
The design of the wireless pulse oximeter (this work) is based on the experience
acquired during the design of proof-of-concept version with limited capabilities. At all
stages of the design process of the new pulse oximeter, Alireza Avakh Kisomi (author
of this thesis) worked alone on the project. This work presents the design process of a
pulse oximetry system that is capable of measuring oxygen level and heart rate using
light emitting diodes and photodetectors, which is practical to use in intensive care,
operating rooms, emergency care, birth and delivery, neonatal and pediatric care, sleep
studies, and in veterinary care. The advantage of this design is replacing finger clip
sensors with a ring shaped designed sensors, which provides better signal coverage
because of multi-site measurement. Also, this wireless design removes the tethering that
causes measurement errors and inconvenience for patients.
The results of this project have been published at two conferences. The first one is a
conference paper titled “A Novel Wireless Ring-shaped Multi-site Pulse Oximeter” and
it was published in IEEE International Symposium on Circuits and Systems (ISCAS)
Montreal, Canada, 2016. The second paper is titled “A Multi-Wavelength Spectroscopy
Platform for Whole Blood Characterization and Analysis” and was published in IEEE
Engineering in Medicine and Biology Society (EMBC), Florida, USA, 2016. Also,
another paper focusing on the multisite sensors and intelligent algorithm of the system
is planned to be submitted to a journal.
1.5 Structure of the Thesis
This multidisciplinary thesis is devoted to the design and manufacturing of a low-power,
multisite, ring shaped and wireless impedance spectroscopy platform capable of being
used for patients with chronic diseases.
6
Chapter 2 of this thesis is assigned to the literature review and understanding the basics
of pulse oximetry systems. In this chapter, the physiological basis of pulse oximetry and
photoplethysmography is explained. Then different measurement methods of oxygen
saturation, essential system parts in a pulse oximeter and existing challenges are
discussed.
Chapter 3 presents the explanation about the methodology of the whole system design.
This section talks about the preliminary tests that led to designing such a system and the
general idea of the multi-site pulse oximeter. In addition, the proposed system is
explained in this chapter.
Chapter 4 has been assigned to system design of the pulse oximetry and explanations
about all the analog and digital circuits that are used in this system. The proposed multi-
site ring shape pulse oximeter is explained in detail.
Chapter 5 presents the measured results of this research project, discusses the system
performance and shows the realized pulse oximeter in detail. The physical design of the
pulse oximeter is also discussed in this chapter.
Finally, in chapter 6, the conclusion of this thesis is presented followed by the references
and the appendices.
7
Chapter Two
Literature Review on
Pulse Oximetry Methods
8
2 Literature Review on Pulse Oximetry Methods
2.1 Introduction
Pulse oximetry is a fast, non-invasive, and common method for monitoring the oxygen
saturation of patient’s blood. It was introduced in 1983 [5] and therefore is considered
a newcomer in the world of medicine. Nevertheless, it is a very important vital sign of
a patient in modern medical practice along with the more traditional ones, such as blood
pressure, glucose level, heart rate, body temperature, and electrocardiogram (ECG)
signal.
The respiratory and circulatory systems are required to deliver oxygen to the cells. The
first step is ventilation so that air moves in and out of the lungs to exchange gas. Oxygen
is diffused into the blood, while carbon dioxide diffuses into the lungs. The oxygenated
blood circulates in the body to diffuse the oxygen to cells, and carbon dioxide is
transferred to the blood that is returning to the lungs.
Pulse oximetry tries to find the possible problems in the process of transporting oxygen
to the tissues. Those problems may arise because of improper gas mixtures, inadequate
ventilation or diffusion, blocked airways or hoses, poor circulation, etc [5]. The most
frequent use of pulse oximetry, where it is recognized worldwide as the standard of care,
is in anesthesiology.
Since anesthesiologists administer narcotics to the patients to suppress the central
nervous system, tissue oxygenation and, consequently, blood saturation has extreme
importance to them. This stops the patient’s desire to breathe and places them in a state
where they can no longer meet oxygen demands on their own. In addition,
anesthesiologists administer muscle relaxants, which stop the ability to breathe and
permits airways to collapse. Thus, it is necessary to restore breathing through intubation
and artificial respiration.
In a sense, the anesthesiologist controls for the patient’s respiratory system, and the
blood oxygen level provides the best feedback variable. In response to an oxygenation
problem, anesthesiologists can check for cyanosis or monitor blood pressure, ECG, and
heart rate: however, they all indicate problems long after oxygen declines. Blood gas
9
samples give an accurate measurement of oxygen, but take about 5 minutes to process.
Therefore, pulse oximetry has literally revolutionized the field of anesthesiology as a
non-invasive, fast, easy-to-use, continuous, and affordable monitoring device [6].
2.2 Basics of Pulse Oximetry
2.2.1 Physiological Basics
Gasses are not solvable in blood because it is mostly made out of the water, and this
prevents plasma to carry oxygen effectively in the body. Therefore, hemoglobin is an
extremely important compound in the body to help plasma to be able to carry oxygen.
In fact, hemoglobin helps plasma to be 65 times more effective in the transportation of
oxygen.
Nearly 265 million molecules of hemoglobin, respiratory pigments, are in each red
blood cell [5]. Hemoglobin is made out of four heme units and four globin units. Each
base unit of hemoglobin can transport one molecule of oxygen. Accordingly, as shown
in Figure 1 [5], four molecules of oxygen can be transferred by one hemoglobin
molecule.
Figure 1 Oxygenated and deoxygenated hemoglobin molecules [5].
Hemoglobin, as a respiratory pigment, has different colors based on whether it carries
oxygen or not. Hemoglobin becomes dark red when it is oxygenated because it absorbs
most of the red light beams hitting it. On the other hand, deoxygenated hemoglobin
becomes light red as a result of transmitting most of the red light beams. Henceforth,
10
pulse oximetry uses this feature to measure the oxygen saturation of hemoglobin [7],
[8].
In other words, if we shine red light onto blood, we can estimate the level of oxygen by
measuring the rate of red light transmission and comparing that with a reference value.
Therefore, Infrared (IR) light can be used as a reference value because it has
approximately the same transmission rate for both oxygenated and deoxygenated
hemoglobin molecules [9]–[11].
Furthermore, this way of measuring oxygen helps us to defer arterial blood from venous
blood and other body tissues such as bone and skin pigmentation. In fact, arterial blood
pulsatile characteristic affects the waveform of reflected light signal that is different
from the reflection of non-pulsatile venous blood and other tissues. Therefore, one of
the main advantages of pulse oximeter over other kinds of oximeters is that it does not
need absolute calibration regarding the total absorbance of tissue. We will express these
statements in the form of mathematical formulas later which can help understanding the
concept better.
Regarding other methods of oximetry, some methods consider the partial pressure of
oxygen (PO2) while some consider oxygen saturation (So2). Some of these methods
function outside of the body while some others function inside the body. Moreover,
from the operation perspective, some of them perform based on chemical operations
while the operation is optical in others. In chemical methods, the oxygen level in blood
is measured by using chemical reactions to extract the oxygen from a sample of the
blood. Chemical methods such as the galvanic electrode [12], Van Slyke method [13],
the Clark electrode [12], and mixing syringe method [13] tend to be slow.
The first mass-produced CO-oximeter was released in 1966 by Instrumentation
Laboratories Inc. [14] and the employed technique of CO-oximeter was based on
spectrophotometry which is fundamental for all optical oximetry methods. The method
examines the concentration of different kinds of hemoglobin including oxyhemoglobin
(HbO2), reduced hemoglobin (Hb) and carboxyhemoglobin (COHb). In Co-oximeter,
discrete samples are drawn in vitros and examination will be held on the samples. Co-
11
oximeter is one the most accurate method although the accuracy is at the time of drawing
samples and not all the time [12]. Other optical oximeters have also been used before.
2.2.2 Photoplethysmography
Photoplethysmography (PPG) points to an optical approach that is cost effective for
acquiring the pulsatile signal that demonstrates the variation of blood volume in tissue.
Non-invasive methods can measure the PPG signals on skin surface [15], [16].
The PPG signals consist of AC and DC signals. Volume change of blood results in
pulsatile (AC) component, synchronous with heartbeats. The low-frequency non-
pulsatile (DC) part is originated from thermoregulation, respiration, and sympathetic
nervous system functions. These components present invaluable information about the
body cardiovascular system, however, the basis of them are not fully known [15]. These
volume changes are determined by illuminating the skin surface with emitting diode
source and computing the reflected or transmitted light to the photoreceptor. The
acquired PPG signal will alter in different matters, locations, and manners. Various
physiological systems can modulate the blood flow, hence the PPG signal can illustrate
hypovolemia, breathing, and other circulatory conditions [17]. Figure 2 shows two
different PPG signals that are measured by the proposed system of this thesis.
Figure 2 two PPG signal measured by the proposed system.
Recently a demand for portable, cost efficient, and easy to use technology for clinical
setup and primary care got great attention. The obtainable low cost and light weight
components and available advanced computer based signal analysis are the aspects that
should be studied to meet the requisition. There is a broad span of products from medical
instruments companies that apply PPG technique to evaluate blood pressure, cardiac
12
output, peripheral vascular-related disorders, oxygen saturation, and autonomic
function[15].
One of the important variables that should be calculated from PPG is Perfusion Index
(PI). Perfusion index is the ratio of the pulsatile component (AC) to the non-pulsatile
static component (DC) in the blood passing through the patient's peripheral tissue [18].
Perfusion index acts as an indicator of the pulse strength at the sensor site. The PI's
values vary from 0.02% for very weak pulse to 20% for extremely strong pulse [19].
The PI should be used as a tool for optimal placement of the sensor, not as an indicator
for accurate SpO2 [20].
2.3 Methods for the Measurement of Oxygen Saturation
2.3.1 Light Absorbance Principles
This section explains the significant physical theorems that underlie the pulse oximeter
operation by studying the fundamentals of light absorption in materials.
Beer-Lambert’s or Bouguer’s law defines the attenuation of monochromatic light
proceeding in through a homogenous medium consisting of absorbing substance. Figure
3 demonstrates the traveling of monochromatic incident light through matter and its
exponential intensity decrease with distance by its partial absorption.
Figure 3 Beer’s law showing light absorption through a uniform substance [5].
𝐼 = 𝐼0𝑒−𝜀(𝜆)𝑐𝑑 (2.1)
13
where, 𝜀(𝜆) stands for the absorptivity (or extinction coefficient) of the material at a
particular wavelength. c is a medium specific constant parameter representing the
absorbing substance concentration, and d is the optical path length through the matter.
The concentration, c, is normally measured in 𝑚𝑚𝑜𝑙𝐿−1, and the extinction coefficient
is expressed in 𝐿𝑚𝑚𝑜𝑙−1𝑐𝑚−1.
In each single material, the atoms of all molecules oscillate in definite patterns. The
frequencies of light passing through a medium that are close to the vibrational
frequencies of the substance are absorbed. The unique spectrum corresponding to each
substance could be graphed by extinction coefficient at different wavelengths.
Other essential terms to be defined are transmittance (T) of light as the ratio of
transmitted light (I) to the incident light (𝐼0)
𝑇 = 𝐼
𝐼0= 𝑒−𝜀(𝜆)𝑐𝑑 (2.2)
and unscattered absorbance (A) as the negative natural logarithm of the light
transmittance.
𝐴 = − ln 𝑇 = 𝜀(𝜆)𝑐𝑑 (2.3)
The superposition property of Beer's law lets the principle of substance absorption in
medium valid for more than one substance such that the total absorption 𝐴𝑡 is calculated
by adding each substance contribution independently (superposition).
𝐴𝑡 = 𝜀1(𝜆)𝑐1𝑑1 + 𝜀2(𝜆)𝑐2𝑑2 +⋯+ 𝜀𝑛(𝜆)𝑐𝑛𝑑𝑛 = ∑ 𝜀𝑖(𝜆)𝑐𝑖𝑑𝑖𝑛𝑖=1 (2.4)
where 𝜀𝑖(𝜆), 𝑐𝑖 and 𝑑𝑖 are the extinction coefficient, concentration, and optical path
length through the matter, respectively. Hence, the concentration of different absorbing
substances in a uniform medium could be found out when the extinction coefficients of
the substances are known and the absorbance of light is measured at n various
wavelengths.
2.3.2 Light Absorbance in Pulse Oximetry
In order to illustrate the blood oxygen saturation phenomena, the basics of light
absorbance measurement in pulse oximetry are described in this section.
14
The main element present in human blood which absorbs light at the same wavelengths
as pulse oximetry is Hemoglobin. Depending on the wavelength of the incident light
and its chemical binding, Hemoglobin may behave differently when absorbing light. In
a healthy adult, functional Hemoglobin, namely oxygenated (𝐻𝑏𝑂2) and reduced
hemoglobin (𝐻𝑏) is the most common type of Hemoglobin in blood. The percentage of
oxygen saturation (𝑆𝑂2) can be stated as:
𝑆𝑂2 =𝐻𝑏𝑂2
𝐻𝑏+ 𝐻𝑏𝑂2=
𝐶𝐻𝑏𝑂2
𝐶𝐻𝑏+ 𝐶𝐻𝑏𝑂2 (2.5)
Using equation (2.5), the relation between the concentration of Hb and 𝐻𝑏𝑂2, and
oxygen saturation (𝑆𝑂2) can be displayed accordingly.
Figure 4 Extinction coefficient of deoxygenated hemoglobin (Hb) and oxygenated hemoglobin (HbO2)
[5].
𝐶𝐻𝑏𝑂2 = 𝑆𝑂2 × (𝐶𝐻𝑏 + 𝐶𝐻𝑏𝑂2) , 𝐶𝐻𝑏 = (1 − 𝑆𝑂2) × (𝐶𝐻𝑏 + 𝐶𝐻𝑏𝑂2) (2.6)
The arterial blood’s saturation is constant throughout the arterial system. The oxygen
saturation of arterial blood is termed as SaO2, which has a normal operating range above
90% for a healthy adult.
The extinction coefficients of reduced hemoglobin (Hb) and oxyhemoglobin (HbO2) at
the wavelengths in the desired range for pulse oximetry [9], [21], [22] are depicted in
Figure 4. More previously mentioned, the red region of the spectrum for Hb shows
15
significantly higher light absorbance than HbO2. Both Hemoglobin types indicate the
same extinction coefficients at the 805 nm point. However, the transparency of Hb to
light from the infrared (IR) region is somewhat higher than HbO2.
In pulse oximetry, the most preferred wavelengths are 660 nm for red and 940 for
infrared. One of the major reasons for such choice is that light absorption varies
considerably at 660 nm due to the large variation of extinction coefficients of Hb and
HbO2. This holds even when having slight variations of oxygen saturation. Another
reason could be the availability of LEDs in the mentioned wavelengths that contribute
to more cost effective commercial oximeters. Another reason that is worth mentioning
is the better robustness achieved in such wavelengths as shifts in the peak wavelength
of the LEDs caused by temperature or fabrication (a variation of ±15 nm is typical) will
not lead to huge errors thanks to the flatness of absorption spectra in the neighborhood
of selected wavelengths.
The total light absorption of the blood can be achieved based on Beer’s Law
(considering d as the same optical path length for Hb and HbO2):
𝐴𝑡 = 𝜀𝐻𝑏𝑂2(𝜆)𝑐𝐻𝑏𝑂2𝑑𝐻𝑏𝑂2 + 𝜀𝐻𝑏(𝜆)𝑐𝐻𝑏𝑑𝐻𝑏 (2.6) →
𝐴𝑡 = [𝜀𝐻𝑏𝑂2(𝜆) × 𝑆𝑂2 + 𝜀𝐻𝑏(𝜆) × (1 − 𝑆𝑂2)](𝐶𝐻𝑏 + 𝐶𝐻𝑏𝑂2)𝑑 (2.7)
Several elements may absorb light when passing through the biological tissue, e.g.
finger or earlobe. Among all the different absorbers, skin pigmentations, bones, and the
arterial and venous blood are the main ones that absorb light in the desired region. The
light absorption and transmission of a living tissue in time are illustrated in Figure 5.
Since the light absorption amount and arterial blood pulsation are related (Figure 5),
pulse oximeters can benefit from arterial pulsation.
16
Figure 5 Photoplethysmography signal acquired from a living tissue [5].
To illustrate, the diameter of arteries enlarges with the raising of the amount of pressure
as more blood is carried during systole than diastole. Such phenomena, however, is
specific to arteries only. During systole, the light absorption in tissue with arteries boosts
as optical path length d in arteries enlarges thanks to the presence of more absorbing
substances (Hemoglobin). Such variation in total absorption eases distinguishing
between the absorption caused by venous blood, a constant amount of arterial blood,
and other non-pulsatile parts like skin pigmentation (DC component of the total
absorbance) and the absorption caused by the pulsatile part of the arterial blood (AC
component). The AC component of the light absorption is usually no more than 0.5-2%
of the DC component. The transmitted light’s signal which changes in time is known as
the plethysmography (or photoplethysmography) signal [1], [9], [10], [15], [23], [24].
As Figure 5 and Figure 6 denote since the diameter of arterial vessels are minimal (𝑑𝑚𝑖𝑛)
during diastole, the absorbance of arterial hemoglobin is also minimal with a peak in
transmitted light.
𝐼𝐻 = 𝐼0𝑒𝑥𝑝 [−𝜀𝐷𝐶𝑐𝐷𝐶𝑑𝐷𝐶] × exp [−(𝜀𝐻𝑏𝑐𝐻𝑏 + 𝜀𝐻𝑏𝑂2𝑐𝐻𝑏𝑂2)𝑑𝑚𝑖𝑛] (2.8)
𝜀𝐷𝐶(𝜆), 𝑐𝐷𝐶 and 𝑑𝐷𝐶 represent the DC light absorbers from the pulsating arterial blood
vessels. The diameter of arterial vessels grows to its maximum during the systole while
the transmitted light also reaches a low peak (𝐼𝐿). The maximum diameter is represented
by (𝑑𝑚𝑎𝑥)
𝐼𝐿 = 𝐼0𝑒𝑥𝑝 [−𝜀𝐷𝐶𝑐𝐷𝐶𝑑𝐷𝐶] × exp [−(𝜀𝐻𝑏𝑐𝐻𝑏 + 𝜀𝐻𝑏𝑂2𝑐𝐻𝑏𝑂2)𝑑𝑚𝑎𝑥] (2.9)
17
The aforementioned properties are illustrated in Figure 6. In different wavelengths,
LEDs emit different intensities or may have a different sensitivity or absorbing
characteristics of the DC components. With this regard, in order to compare the light
intensities of different wavelengths, we first have to normalize the measured quantities.
By normalizing 𝐼𝐿 with respect to 𝐼𝐻, we get ∆𝑑 = 𝑑𝑚𝑎𝑥 − 𝑑𝑚𝑖𝑛
𝐼𝐿
𝐼𝐻= exp [−(𝜀𝐻𝑏𝑐𝐻𝑏 + 𝜀𝐻𝑏𝑂2𝑐𝐻𝑏𝑂2)∆𝑑] (2.10)
Figure 6 Beer's law in pulse oximetry [5].
We calculate the natural logarithm of the normalized signal as equation (2.10) shows to
find the total absorbance of the AC component in the light pathway. The new constant
light level and the ratio, R, of these normalized absorbance is represented by the
transmitted light during diastole. The absorbance is considered in the red and IR
wavelengths and shows the light absorbers in the arteries.
𝑅 =𝐴𝑡,𝑅
𝐴𝑡,𝐼𝑅=
−ln (𝐼𝐿,𝑅/𝐼𝐻,𝑅)
−ln (𝐼𝐿,𝐼𝑅/𝐼𝐻,𝐼𝑅)
(2.10) → 𝑅 =
(𝜀𝐻𝑏(𝜆𝑅)𝑐𝐻𝑏+𝜀𝐻𝑏𝑂2(𝜆𝑅)𝑐𝐻𝑏𝑂2)∆𝑑𝑅
(𝜀𝐻𝑏(𝜆𝐼𝑅)𝑐𝐻𝑏+𝜀𝐻𝑏𝑂2(𝜆𝐼𝑅)𝑐𝐻𝑏𝑂2)∆𝑑𝐼𝑅 (2.11)
Here we assume that the optical path lengths are the same for the red and infrared lights.
The ratio of normalized absorbance R is then calculated as follows
(2.11) (2.6) → 𝑅 =
[𝜀𝐻𝑏(𝜆𝑅)(1−𝑆𝑂2)+𝑐𝐻𝑏𝑂2(𝜆𝑅)𝑆𝑂2](𝑐𝐻𝑏+𝜀𝐻𝑏𝑂2)
[𝜀𝐻𝑏(𝜆𝐼𝑅)(1−𝑆𝑂2)+𝑐𝐻𝑏𝑂2(𝜆𝐼𝑅)𝑆𝑂2](𝑐𝐻𝑏+𝜀𝐻𝑏𝑂2)
→ 𝑅 =𝜀𝐻𝑏(𝜆𝑅)+[𝑐𝐻𝑏𝑂2(𝜆𝑅)−𝜀𝐻𝑏(𝜆𝑅)]𝑆𝑂2
𝜀𝐻𝑏(𝜆𝐼𝑅)+[𝑐𝐻𝑏𝑂2(𝜆𝐼𝑅)−𝜀𝐻𝑏(𝜆𝐼𝑅)]𝑆𝑂2 (2.12)
18
It is worth mentioning that R is independent of the optical length (diameter of the blood
vessels), the intensity of the incident light and the constant amount of light absorption
by certain parts of the tissue.
Lastly, we have an equation, (2.12), which is formed to calculate the blood oxygen
saturation (𝑆𝑂2) by the measured R.
𝑆𝑂2 =𝜀𝐻𝑏(𝜆𝑅)−𝜀𝐻𝑏(𝜆𝐼𝑅)𝑅
𝜀𝐻𝑏(𝜆𝑅)−𝜀𝐻𝑏𝑂2(𝜆𝑅)+[𝜀𝐻𝑏𝑂2(𝜆𝐼𝑅)−𝜀𝐻𝑏(𝜆𝐼𝑅)]𝑅× 100% (2.13)
To illustrate, the oxygen saturation of the arterial blood (𝑆𝑎𝑂2) can be assessed using
the R of equation (2.13) and the extinction coefficients of Figure 4.
𝑆𝑂2 =0.81−0.18𝑅
0.73+0.11𝑅× 100% (2.14)
Figure 7 illustrates the correlation of parameters from the calibration.
Figure 7 The calibration curves for a pulse oximeters [5].
As discussed earlier, we find the minimum and maximum values of the light intensities
of red and IR wavelengths (𝐼𝐿,𝑅, 𝐼𝐻,𝑅, 𝐼𝐿,𝐼𝑅, 𝐼𝐻,𝐼𝑅), find the minimum over maximum ratio
and calculate the logarithm of the ratio is counted as R as shown in equation 2.15
𝑅 =𝐴𝑡,𝑅
𝐴𝑡,𝐼𝑅=
−ln (𝐼𝐿,𝑅/𝐼𝐻,𝑅)
−ln (𝐼𝐿,𝐼𝑅/𝐼𝐻,𝐼𝑅) (2.15)
We then normally use the calculated calibration curves to calculate the oxygen
saturation from R.
19
However, we will show in this section that we can approximate this standard calculation
method and extract R by means of using the AC and DC components of the transmitted
light signals [5], instead of looking at their minimum and maximum values. Figure 8
illustrates the AC and DC components of a typical waveform of the transmitted light
intensity through a tissue.
Figure 8 A PPG waveform with its AC and DC [5].
We have decomposed and approximated the maximum (peak) and minimum (valley)
values of this signal as:
𝐼𝐷𝐶 =𝐼𝐻+𝐼𝐿
2 , 𝑖𝑎𝑐 = 𝐼𝐻 − 𝐼𝐿 ⇒ 𝐼𝐿 = 𝐼𝐷𝐶 −
𝑖𝑎𝑐
2 , 𝐼𝐻 = 𝐼𝐷𝐶 +
𝑖𝑎𝑐
2 (2.16)
Then, we have used the natural logarithm of 𝐼𝐿
𝐼𝐻 according to the standard approach to
calculate R as follows:
ln (𝐼𝐿
𝐼𝐻) = ln (
𝐼𝐷𝐶−𝑖𝑎𝑐/2
𝐼𝐷𝐶+𝑖𝑎𝑐/2) = ln (
1−𝑖𝑎𝑐/2𝐼𝐷𝐶
1+𝑖𝑎𝑐/2𝐼𝐷𝐶) (2.17)
Since the time-varying (ac) component of the transmitted light signal through the human
tissue does not exceed 0.5-2% of its average, we can approximate x as
𝑥=𝑖𝑎𝑐2𝐼𝐷𝐶
,|𝑥|≪1
→ ln (𝐼𝐿
𝐼𝐻) = ln (
1−𝑥
1+𝑥) ≃ ln(1 − 𝑥)2 = 2 ln(1 − 𝑥) ≃ −2𝑥 = −
𝑖𝑎𝑐
𝐼𝐷𝐶 (2.18)
The error in the approximation above is negligible, even in the very improbable case of
𝑖𝑎𝑐
𝐼𝐷𝐶= 5%, which will cause an error of 0.02. Now, R can be obtained as
𝑅 =𝐴𝑡,𝑅
𝐴𝑡,𝐼𝑅=
ln (𝐼𝐿,𝑅/𝐼𝐻,𝑅)
ln (𝐼𝐿,𝐼𝑅/𝐼𝐻,𝐼𝑅)=
𝑖𝑎𝑐,𝑅/𝐼𝐷𝐶,𝑅
𝑖𝑎𝑐,𝐼𝑅/𝐼𝐷𝐶,𝐼𝑅 (2.19)
20
2.3.3 Validity of Beer’s Law in Pulse Oximetry
Beer’s law physically states that the sum of transmitted and absorbed light signals is
equal to the incident light signal. However, incident light passing through a human tissue
does not split solely into absorbed and transmitted portions; there are parts of the light
that are reflected at the surface or scattered in the human tissue. Beer’s law does take
such parts into account [5].
Although the scattering phenomenon highly increases the absorbance of light, the
arterial oxygen saturation level of the blood can still be read by pulse oximeters with
enough accuracy for clinical use under normal circumstances. This capability comes
from the fact that most of the commercial pulse oximeters use a calibration curve which
is obtained based on empirical data, mainly because mathematical modeling of the light
scattering problem under different conditions in a complex medium such as human body
presents a lot of complications. This calibration is performed using in vitro data. A large
set of data is gathered containing information about the ratio R between the normalized
absorbance calculated by the pulse oximeter (obtained in clinical studies) and the actual
arterial oxygen saturation 𝑆𝑎𝑂2 obtained by the CO-oximeter, which is a very accurate
measurement method. The reader can look up tables or equations that are used to find
the relationship between the two above-mentioned variables for a pulse oximeter
reading.
As an example, equation (2.14) which is a theoretical calibration curve obtained based
on Beer’s law can be modified to [25]
𝑆𝑝𝑂2 =𝑘1−𝑘2𝑅
𝑘3−𝑘4𝑅 (2.20)
where 𝑆𝑝𝑂2 is the saturation of the arterial oxygen measured using the pulse oximeter.
The constants used in equation (2.20) are determined through clinical studies in order
for the curve to acquire a best fit into the in vitro measured data. Polynomial expressions
are frequently used as empirical calibration curves as well, as follows
𝑆𝑝𝑂2 = 𝑘1 + 𝑘2𝑅 + 𝑘3𝑅2 𝑜𝑟 𝑆𝑝𝑂2 = 𝑘1 + 𝑘2𝑅 (2.21)
21
Figure 7 demonstrates a representative 2nd-order polynomial calibration curve employed
in pulse oximeters. A 1st-order polynomial of the form
𝑆𝑝𝑂2 = 110 − 25 × 𝑅 (2.22)
is suggested in the literature [5] as well, as a possible simple approximation for the
calibration curve.
In general, obtaining the correlation between various pulse oximeter measurements
(𝑆𝑝𝑂2) is sufficient if proper initial calibration is performed. Usually, less than 3%
discrepancy will be observed provided that 𝑆𝑎𝑂2 is above 70% [26], [27].
2.4 Pulse Oximetry Design Overview
The block diagram of a typical pulse oximeter system is illustrated in Figure 9 [5]. As
we see in this figure, a microprocessor system is the core of the pulse oximeter and,
thus, most of the signal processing is performed in the digital domain. This section gives
a brief description of the major parts of a pulse oximeter.
Figure 9 Block diagram of a typical pulse oximeter system. The arrows show the flow of data [5].
2.4.1 LEDs and Photoreceptor
In order to make pulse oximetry practical in the modern medical environment, a light
source is required that is powerful enough to penetrate more than a centimeter of tissue
22
yet diminutive enough to fit in a small probe. It is also desirable for the light source at
each desired wavelength to have a very narrow emission spectrum, which minimizes
error in the measurement of blood oxygen saturation. Fortunately, light-emitting diodes
(LEDs) fulfill all the requirements for the light source in a pulse oximeter.
Indeed, one of the improvements of the pulse oximeter over earlier oximeter is the use
of LEDs as the light source. The LEDs transmit large intensities of light proportional to
the amount of drive current. The LED control block in Figure 9 controls the timing of
the LEDs and, in some advanced pulse oximeters, the amount of drive current. The
timing of the pulsations is critical because the photodiode cannot distinguish between
different wavelengths of light. The pulse oximeter relies on the microprocessor system
to synchronize the pulsation of the LEDs with the samples taken by an analog-to-digital
converter (ADC) so that the absorbance detected by the photodiode can be attributed to
the correct LED.
Normally, a 660 nm red LED and a 940 nm IR LED are used in pulse oximetry, for
reasons described before. The typical radiated power of these two LEDs is 1 mW at
about 20 mA of DC drive current. LEDs normally are not very efficient, meaning that
the majority of the power dissipated by an LED becomes heat. LED power consumption
is, in fact, an important consideration since it normally constitutes a large portion of the
overall power requirement of the sensor. While most of the pulse oximeters are used in
a stationary clinical environment where power is readily available from the nearest wall
outlet, some are portable units used in a variety of emergency medical situations or
continuous home monitoring. It is therefore essential that LED power dissipation be
minimized while still providing adequate radiated power for pulse oximetry.
To minimize the number of wires in each probe (and hence cost), the LEDs are wired in
a parallel arrangement with polarities reversed, as shown in Figure 9. This means that
while one LED is ON, the other one is under reversed bias. The typical LED has a
reverse breakdown voltage (3-5 V) that is larger than the forward voltage of most LEDs
(0.9-2.5 V). Thereby, there is no danger of breaking down the LEDs in this arrangement.
23
The other important practical consideration is that LED drive signals are usually pulsed
(chopped). This is mainly to save power dissipation of LEDs. The duty cycle of the
pulse varies between 1.5-50% depending on the manufacturer of the oximeter.
Most LEDs have an ON-OFF (or vice versa) switching time of about 100-500 ns which
is much faster than their drive chopping frequency (typically in the 0.1-10 kHz range).
On the other hand, the photodetector is the main input device of the pulse oximeter
system (light sensor) and is normally a silicon photodiode. The use of a single
photodiode guarantees that the optical path for both the red and IR light is the same
which is an important condition for proper calculation of oxygen saturation. When the
p-n photodiode is used in the photoconductive mode, a highly linear relationship exists
between the intensity of incident light and the output photocurrent over a span of up to
7 decades. The sensitivity, however, varies significantly with incident light wavelength.
The spectral response is determined by the material and the doping used for fabrication
and the physical depth of the p-n junction. Therefore, it is important to make sure that
the photodiode works properly with the wavelengths of interest to pulse oximetry. When
selecting a photodiode, other properties such as junction capacitance and dark current
also need to be considered.
The configuration of the LEDs and photodetector can be changed based on the place
where the sensors will be used for data acquisition. The transmission mode is very
suitable for thin part of the body like finger, earlobe, and feet (for infants), which the
light can travel through the tissue and be received on the other side. For this method, a
clip to hold the sensors or ring shape sensors are used. Now we introduce some of the
LED and photodetector sensor designs presented in different systems and articles.
In [23], another ring shape sensor is presented. As it is claimed by the author, in the
design of this ring three main aspects have been considered including the comfort for
the user, optical properties and safety issues. This ring can be opened during placement
operation and then can be locked by pulling a band after placing. Also, two series of
LEDs and photoreceptor have been used. The design is shown in Figure 10.
24
Figure 10 The mechanical design and distribution of optical components over the flexible PCB: two
photo-diode and four LEDs are mounted [23].
In the reflection mode, although the quality of the signal is lower, we can have the
sensors in every part of the body because both LEDs and photoreceptors are on the same
side which means there is no need to use on thin parts of the body.
In [28]–[30], a ring shape sensor is proposed which contains an outer ring covering an
inner ring, as shown in Figure 11 and Figure 12. The LEDs and photoreceptor are placed
on the inner ring and the outer ring is for coating, and as it is claimed, this structure will
reduce the external pressure on the ring and will prevent dislocation of LEDs and
photoreceptor, so it can be very reliable against motion artifact. Also, because of the
coating, the ambient light has low effect on the signals.
Figure 11 Dislocation of ring sensors due to an external load. (a) Traditional single-body design under
external force. (b) New isolating ring sensor under external force [28].
25
Figure 12 Construction of isolating ring [28].
In [31], the sensors are used in reflection mode and the backscattered signal from the
surface of the skin is measured, as shown in Figure 13. It is shown that the pulsatile
component of the signal can be amplified by heating the area of the skin. Furthermore,
to achieve better signal to noise ratio (SNR), the active area of the photoreceptor has
been increased. Also, optimizing the distance between the LEDs and the photoreceptor
will improve the SNR.
Figure 13 Principle of reflection pulse oximetry illustrating the optical sensor and the different layers of
the skin [31].
26
In [32], the sensors are in reflection mode, and the diode size has been considered to
reduce the overall power consumption. This paper talks about the advantages which
were achieved by using a photoreceptor with the larger active area. The results are
presented in Figure 14.
(a)
(b)
(c)
Figure 14 Photo-diode performance under different conditions (a) Photo-diode output in complete
darkness and constant light illumination, (b) Calculated and measured photo-diode output, (c)
Photodiode output for Red and IR LED [32].
27
In the experiments, it has been demonstrated that by increasing the area of the
photoreceptor, it is possible to reduce the overall power requirement.
One of the other ways to increase the area of the photoreceptor is to use a ring shape
photoreceptor introduced in [33]. In this work, as it is shown in Figure 15, a ring shaped
photodiode has been developed for a wearable reflection pulse oximeter. For continues
measurement of signals of a human body, a temperature sensor has been integrated into
the chip containing the photodiode.
Figure 15 Illustration of the developed electronic patch with ring shaped photodetector [33].
In [34], the potential of power saving in the design has been considered. Also, the
differences between the signals of wrist and forehead have been studied. A new design,
Figure 16, for sensors is presented which consists of two LEDs as light sources and two
series of six photoreceptors that each series of detectors are arranged in two circular
configurations around the LEDs called inner and outer sensors.
Figure 16 Prototype reflectance sensor configuration showing the relative positions of the rectangular-
shaped PDs and the LEDs [34].
28
During measurements, the signals are acquired from near (N), far (F) and the
combination of near and far (N+F) photoreceptors. The PPG signals have been measured
for two different LED current ((a) R: 8.5 mA and (b) IR: 4.21 mA).
Figure 17 PPG signal amplitudes in different conditions [34].
As we can see, near sensors have a better signal level in comparison to far sensors but
the total signal of both near and far is stronger. Also, we can obtain stronger signals
from the forehead.
2.4.2 Probes
The probe of a pulse oximeter typically consists of the two (red and IR) LEDs and the
photodiode. There are two different types of probes, transmittance and reflectance,
which are shown in Figure 18. As the names indicate, a transmittance pulse oximeter
measures the amount of light that passes through the tissue, as in a finger probe, to
measure the arterial oxygen saturation. A reflectance pulse oximeter measures the
29
amount of light reflected back to the probe. Both types use the same technology,
differing only in relative positioning of the LEDs and the photodiode.
Figure 18 A transmittance probe on the left and a reflectance probe on the right.
In transmittance probes, the photodiode is placed in line with and facing the LEDs. The
trade-off between the applied pressure to the tissue and the detected light determines the
distance between the detector and the LEDs. If this distance is too large, the amount of
transmitted light decreases, as it is seen from Beer’s law. If it is too small, the force
exerted by the probe is significant and the blood under the tissue, where the probe is
placed, may clot due to external pressure applied. In a clip type probe, this distance is
usually between 10-15 mm [5]. Normally, transmittance probes are placed on the
patient’s finger, toe, ear, or nose in adults or on the foot or palms in the infants. One
important biological reason behind the selection of these body locations for the probing
is that the body will decrease blood flow to these parts before more vital organs, so the
physician can take notice of a problem in the oxygen delivery system before it is too
late.
The idea of using light reflection instead of light transmission in oximetry was first
described in [35]. In reflectance probes, the LEDs and the photodiode are placed on the
same side of the skin surface, as displayed in Figure 18. Normally, these types of probes
are placed on the forehead or temple where there are large and smooth bones under the
skin which can reflect a large amount of LED light.
Studies have been performed to compare these two types of probes and optimize their
design to enhance the performance of a pulse oximeter [34], [36]. However, it is known
that, in general, the basic advantage of transmittance probes over their reflectance
30
counterparts is the intensity of the light detected by the photodiode. As the amount of
light passing through thin tissue is greater than the amount of light reflected and as the
light passing through the tissue is concentrated in a particular area whereas the reflected
light is usually distributed over a relatively large area surrounding the LEDs, the
intensity of detected light is larger for transmittance probes. Consequently, having fixed
all the other parameters, a transmittance pulse oximeter often performs more accurately
and robustly than a reflectance oximeter. The major disadvantage of transmittance
probes is that the sensor application is limited to the peripheral parts of the body such
as the finger. Reflectance probes can be placed on virtually any place on the body where
we can expect light reflection due to tissue.
Some of the pulse oximeter probes are reusable, while some are disposable. The main
advantage of the reusable probes is the low per use cost involved because we use the
same probe over and over. However, reusable sensors require cleaning between patients
to minimize the risk of cross contamination.
In addition to the mentioned signal acquisition modes, there is another light path which
was proposed in [37], [38] that should be used in auditory canal and the expression
“Circummission pulse oximetry” was suggested for it. In this method, the optoelectronic
components face outside the canal and away from each other, using a semi-circle path
for light to travel through the tissue.
The best operation of a pulse oximeter is the time when all the light passes through the
tissue. However, because of the wrong size of the probe, not applying the probe in the
right way or misalignment of the sensors, some part of the light passes by the side of the
artery (shunting). This reduces the strength of the signal and causes some error in the
pulse oximeter’s results.
The shunt light level is high in reflection mode and it will be decreased by using the
transmission mode. Based on [37], [38], the shunt level is decreased by using the
presented method in their papers. Table 1 shows a comparison between the 3 mentioned
methods, [37]. As it is shown, the quality of the signal is good in circummission method
but the placement of the sensor is limited to the auditory canal and it will make this
method not practical for other parts of the body.
31
Table 1 Comparison between three pulse oximetry methods.
Method Reflectance Transmission Circummission
Sensor
Available Site Any well-perfused
skin
Finger, toe, foot(just for
newborn babies) Auditory Canal
Signal Quality Weak signal quality Excellent signal quality Good signal quality
Shunt Light High shunt level Few shunt level Smallest shunt level
Disadvantages Unreliable SaO2
Motion sensitivity Motion sensitivity
High light level required
because of long path
2.4.3 Front End Amplifier
One of the most important parts of a pulse oximetry system is the transimpedance
amplifier (TIA) which affects the whole system noise sensitivity and speed. The main
role of this part of the system is to convert the current, produced by the photodetector,
to voltage. Different topologies for TIA have been proposed up to now. The most
popular topology is the shunt feedback which is a voltage inverting amplifier and a
feedback resistor. The feedback resistor affects the dynamic range of the TIA that is
defined as the ratio of maximum to minimum photocurrent which can be properly
sensed[39]. A good TIA should have a good performance against the noise which means
a good signal to noise ratio (SNR), it should also have small input impedance. Figure
19 shows a conventional TIA topology which uses an ideal op-amp [39].
The photodetector is modeled as a current source which is parallel with a capacitance.
And a resistor is used in the feedback loop, which determines the gain of the amplifier.
The output gain is,
𝑉𝑂𝑈𝑇 = 𝐼𝐼𝑁𝑅𝐹 → 𝐺𝑎𝑖𝑛 =
𝑉𝑂𝑈𝑇
𝐼𝐼𝑁= 𝑅𝐹 (2.23)
32
-A
IIN CD
VoutPD
RF
Figure 19 TIA topology based on an ideal op-amp [39].
In this circuit, it is considered that the whole current passes through the feedback resistor
and it means that the input current of the amplifier should be very small so that it could
be ignored.
The research in the field of TIA can be categorized into three groups. First, the papers
that are using a precise amplifier with a resistor as a feedback loop, so there is no design
of TIA. A shunt feedback resistor with an amplifier is used and the operation of the TIA
is based on the design of the op-amp. In these cases, the op-amp should have a very high
gain and very small input current noise.
Second, the TIA design for photoplethysmography signals. These designs are very
suitable for different current and frequency ranges used in PPG signals but there is a
problem that the DC part of the signal is rejected and there should be some modification
in these circuits because for measuring the oxygen level the ratio of DC and AC is
required. These circuits should be designed in a way that makes the measurement of the
DC component possible. In other words, after separating the AC and DC instead of
rejecting the DC it can be measured to do the calculation [40]–[42].
Third, the high-frequency TIA designs that the current range is completely different
from the desired frequency for pulse oximetry, for example, the maximum input current
is 1 mA that is not practical to be used for pulse oximeters [39].
For the shunt-feedback TIA amplifiers, a large feedback resistor is used in order to
minimize its contribution to the input referred noise current achieving a good noise
performance.
33
𝑖𝑛𝑜𝑖𝑠𝑒,𝑅𝐹 =4𝑘𝐵𝑇
𝑅𝐹 (2.24)
Then, a high open-loop inverting amplifier gain A is required to provide enough
bandwidth (BW) [1].
𝐵𝑊 ∝𝐴
𝑅𝐹𝐶𝐷 with 𝐴 ≫ 1 (2.25)
In [24], as shown in Figure 20, an innovative design is proposed which uses a MOSFET
as a feedback loop. The advantage of this design is that the output of the TIA has a direct
relation with the ratio of AD and DC component of the signal. Also, a three stage
amplifier with controllable gain is used to have an overall gain for the TIA. In this
design, the power consumption of the whole system is also reduced.
A
Q
II CD
Vout
VDD
Figure 20 The proposed trans impedance amplifier [24].
2.4.4 Filters
Filter circuits in an analog front end can be considered as the most important parts, since
they are used to remove noise, and separating DC and AC components. Based on the
signal acquisition method and the quality of the signal, different types of filters can be
used in the analog front end including low pass filters (LPF), high pass filters (HPF) and
notch filters.
LPF is used to remove high-frequency noises in the environment which can be caused
by many different reasons and have various types. Also one of the conventional types
of noise is 60 Hz (or 50 Hz) noise, which is made by the local power line frequency. In
34
some cases, using a notch filter is the best way to eliminate this type of noise. Moreover,
DC and AC components of the signal should be separated in some systems, and an HPF
filter can be the solution to remove the DC components. At the end of the AFE circuit,
an amplifier stage can be used to set the level of the signal to a suitable value for ADC.
These amplifiers should be low power and low noise and in some designs, the amplifiers
can be an LPF too.
Although there should be some filters to remove the noise to have a clear signal, the
existing noise can be decreased by some post-processing algorithms in the
microcontroller unit. In [2], a small size and low-cost pulse oximeter appropriate for
wearable applications is presented that produces unfiltered PPGs ideal for emerging
diagnostic algorithms. This design is distinguishable from conventional systems
because of its filter free embodiment which employs only digital subtraction on the
signal as a signal compensation mechanism [2].
Figure 21 Analog front end circuit with analog filters
Based on the type of filtering different circuitry can be proposed to be used as the AFE.
The analog front end is designed for amplification, conversion, filtering, and separation
of the signal components. One approach is to separate the AC and DC signal after the
35
TIA and after the separation, the signal will be sent to the AFE which reduces the tasks
in the digital processing part.
Figure 21 shows a fully analog circuit that was used to separate AC and DC signals. In
this circuit, two low pass and high pass Sallen-key filter were used to do the signal
separation [43].
Another circuit that can be used as the AFE is presented in Figure 22. In the first stage,
the output current of PD which is in the range of µA passes through the TIA and converts
to voltage. A capacitor is in parallel with the resistor to make a low pass filter for the
first stage of the AFE. After this stage, the signal goes through two different paths, one
goes to the second stage for more amplification and separation and one goes to the ADC
of the microcontroller. The signal that goes into the ADC passes through a digital low
pass filter to calculate the DC amount. Then a DAC generates the same value for the
second stage as a reference. The negative port of the amplifier in the second stage has
both AC and DC components of the signal but the positive port just has the DC
component. So the second amplifier acts as signal separator and in the output has the
AC signal which is also amplified too. Then this signal goes to the ADC for
measurements and is used for the final calculation. Also, the same as the first stage, in
the second stage there is a capacitor in parallel with resistor to make a low pass filter
[44].
Figure 22 Two stage analog front end circuit
36
The other circuit that can be used as the AFE has a simpler circuitry which makes the
analog part simpler but puts more burden on the digital processing section [45]. This
circuitry is presented in Figure 23. As it is shown this circuitry is a simple TIA which
after converting the PD current to voltage the signal will be sent to the ADC for further
processing which includes filtering and separating the AC and DC signals.
Figure 23 One stage analog front end circuit
2.4.5 Signal Processing Unit
This unit receives the photocurrent from the photodiode and computes the oxygen
saturation (𝑆𝑝𝑂2) at its output. In state-of-the-art commercial pulse oximeters, the front-
end of this processing unit is a linear current-to-voltage converter (usually a classic
transimpedance amplifier). Since the change in voltage due to the pulsations of the
arteries is small (0.5-2%) in comparison to the DC portion of the signal, careful
consideration should be incorporated into the design so that the unit can handle this
small AC signal.
As seen in the system of Figure 9, the amplifier is followed by a demodulator to separate
the signals from the red and IR LEDs. After each of these signals passes through a filter
(to remove the switching frequency and noise) and a gain stage, a modulator modulates
the red and IR signals back together to go through an ADC for use by the
microprocessor. Using this data, the microprocessor calculates IL/IH for each red and
IR signal and after that the ratio of normalized absorbance R. Then, based on its
programmed calibration curve, it derives 𝑆𝑝𝑂2. There are also some signal processing
algorithms to provide noise reduction. The microprocessor also controls the timing
37
between the different blocks. Alarms (if any) and display exist to convey the blood
oxygen saturation level and often the pulse rate to the user.
2.5 Existing Challenges and Problems
Under normal circumstances, the pulse oximeter measurement (𝑆𝑝𝑂2) is generally a
reliable indicative of the blood oxygen saturation of the patient. However, as part of our
general introduction to pulse oximetry so far presented in this chapter, it is also
important to briefly discuss sources of inaccuracy in pulse oximeters. Recognizing the
limitations described in this section and applying appropriate corrective interventions
are necessary to optimize the use of pulse oximetry.
2.5.1 Sources of errors
2.5.1.1 Motion Artifact
As with most medical devices, motion artifacts can contribute a significant error to pulse
oximetry. Any transient motion of the sensor relative to the skin may cause a large
artifact in the transmitted light signal and disturb the optical measurement. Some
manufacturers use digital signal processing (like averaging the SpO2 values) or
synchronize the measurements with the patient’s electrocardiogram (ECG) to improve
the performance of their sensors under movements. As we will explain in the next
chapter, we perform our measurements based on simultaneously-detected red and IR
light waveforms. Thus, we expect any motion to only cause common-mode artifacts on
both signals whose effect will be mostly canceled when we take their ratio.
This problem can be solved by two different methods. First, reducing the source of the
error, in other words, we should have some consideration while designing the sensors
and have the least possible displacement. Second, detect the error during signal
processing, in other words when we receive the raw data use some mathematical and
statistical methods to separate the usable signals and error signal.
In [28]–[30], a new sensor is designed in a ring shape and it is said that it has less motion
artifact effect against other ring shaped sensors.
38
A double ring shaped design is presented to degrade the external effects on the signal
acquisition. External force on the sensors, acceleration, and ambient light can be
lowered by this design also it will hold the sensors securely on the skin surface.
The conventional ring sensors will face some problems like the air gap when the sensor
will be pushed by an external force, the acceleration produced as a result of heavy weight
of the batteries circuitry, and difficulty of shielding the photoreceptor from ambient
light.
The double ring design lowers the effect of external force because it will be applied to
the outer ring and do not affect the inner ring which holds the sensors. Also, because of
the light weight of the inner ring, less acceleration will be applied to the sensors. Since
the outer ring covers the inner ring, the optical disturbance caused by ambient light is
reduced.
Besides lowering the motion artifact, as it is shown in Figure 24, this system has a low
power consumption.
Figure 24 Power consumption comparisons [28], [29].
In [46] and [47], the focus is on mathematical and statistical methods to detect and
reduce the motion artifacts. In [46], the analysis of the data is based on comparing the
time and frequency responses of the system which distinguishes between clean and
motion-corrupted data.
39
2.5.1.2 Optical Interference
Bright ambient light or optical shunting (LED light reaching to photodiodes without
passing through the tissue) can cause an error in SpO2 readings. Proper optical shielding
of oximeter probe by the manufacturer (such as using black opaque material) and its
careful application and placement on the patient’s body by the user are the key factors
in reducing these interferences. Skin pigmentation and other surface light absorbers such
as nail polish might make the detected light too small to be reliably processed and thus
should be removed prior to measurement.
2.5.1.3 Dysfunctional Hemoglobin
Although oxygenated hemoglobin (HbO2) and reduced hemoglobin (Hb) compose
about 97% of hemoglobin concentration in blood and absorb most of the light passing
through blood, they do not represent the only hemoglobin species present in human
blood. For example, hemoglobin may combine with other substances such as carbon
monoxide to form carboxyhemoglobin (COHb) or become oxidized (lose one electron)
to make methemoglobin (MetHb). These types of abnormal hemoglobins, which cannot
transport oxygen to the tissue, are called dysfunctional hemoglobins. They have their
own optical characteristics (e.g. extinction coefficients for red and IR light) and
therefore distort the optical measurement of the blood oxygen level. Consequently, these
hemoglobins cause a small error in the reading of pulse oximeter SpO2. With proper
calibration using data taken from real human test subjects, commercial oximeters
usually account for and cancel this error.
2.5.1.4 Low Saturation Level
Pulse oximeters have a high potential for errors at low oxygen saturation, simply
because ethical manufacturers cannot induce severe hypoxia (deficient oxygenation of
tissue) repeatedly in volunteers for calibration purposes. In other words, since there are
not enough data, oximeters are poorly calibrated for saturations below 70%. Fortunately,
this limit is low enough that, in any case, it signals a major problem in the patient’s
oxygen transport system and requires the physician to take drastic measures, regardless
of the accuracy of the measurement.
40
2.5.1.5 Sensor Placement
As expected, the performance of pulse oximeters depends on which part of the body
their probes are placed. Studies [5], [48] suggest that, in general, finger probes
demonstrate a more accurate response (~2%) than ear, nose, and forehead probes (3-
4%). On the contrary, ear and forehead probes are shown to have a faster response to
changing SpO2 values than finger probes [49] because finger probes require a greater
transit time for blood to reach the finger compared to ear or forehead.
In addition to design consideration and mathematical method to reduce the motion
artifact that was talked before, there is one other aspect which should be considered to
have better signal quality. This aspect is the site of the sensor on the body.
In [50], an experiment is designed to check the signal quality from a different part of the
body in various conditions. In this experiment, three identical reflectance mode sensors
are placed on a military helmet and the PPG signals of the forehead, right jaw, and chin
is measured. Additionally, another sensor that works in the transmission mode is
attached to the subject’s finger as a control signal.
The experiment is done in a vehicle, and the recording was during some steps including,
relax mode, reading an article, moving their head. All these steps are done in two modes
of static and moving vehicle.
Figure 25 below shows the result of this experiment,
Figure 25 Comparison of SpO2 recording from sensor location with annotated activities [50].
41
The study results show that the recorded signals from jaw and chin are not stable during
movements, like talking. In contrast, the recorded signal from the forehead is stable
during all the activities, which makes the forehead a good choice to extract PPG signals
in reflection mode.
2.5.1.5.1 In Ear Sensors
One of the suitable sites for recording the PPG signal is the ear. The procedure is the
same as the conventional pulse oximeters which use two LEDs and one photoreceptor
for measuring the SpO2, heart rate, and other photoplethysmography signals. One of the
most important advantages of in-ear pulse oximetry is the fact that this method is less
sensitive to motion because the sensors will be placed in the ear channel and the motion
of the body does not disturb the measurements. So it can be used for cardiovascular
monitoring during sleep.
In [51], an in-ear reflectance sensor is designed for measuring cardiovascular signals
during sleep based on a clinical study. The designed sensor can simultaneously measure
the heart rate, 𝑆𝑝𝑂2 and the respiration rate, and it might decrease the amount of required
sensors, cables and other devices which improves the quality of the sleep during the
examination. In addition, it will be easier to use with a single sensor for homecare
devices.
Figure 26 Patient with reflective PPG sensor sealed into an individually customized ear mold. The
reflective sensor element is placed at the inner tragus. The sensor is connected to the sensor interface
device via a cable which is taped for artifact reduction[51].
42
The experiments show excellent performance during the night for the in-ear sensor.
These results are probably because of the darkness and reduced motion. The signal
quality was quantified by signal to noise ratio (SNR) [43].
In [44], an optoelectronic sensor and the autonomous design of the in-mount
(embedded) measurement system is presented. For measuring the heart rate, different
algorithms are introduced and the developed sensor is compared with conventional
systems. In addition, the effect of external artifact is evaluated and some strategies have
been considered to reduce the motion artifact.
Figure 27 Functional principle of the micro-optic sensor. Since it works in reflection mode, special
precautions for the avoidance of direct crosstalk from LED to p-i-n diode have been taken [44].
The proposed silicon sensor chip contains a detector diode, an optically shielded monitor
diode, and a receiver diode. The receiver diode is positioned at one side of the sensor
and the monitor diode provides chip temperature measurement. Between the LEDs and
the p-i-n diodes, there is an optical barrier in the glass to minimize shunt light. About
50% of the consumed energy is used to drive the LEDs, while the remaining half is used
for the A/D conversion and pre-processing on the microcontroller.
In [31], [32], an unusual light path is presented for in-ear canal for which the expression
“circummission pulse oximetry” is suggested. As it is shown in Figure 28, the
optoelectronic sensors are faced outside of the canal and away from each other. It will
generate a minimal light path within the auditory canal’s wall. A more important
element in the sensor design is a shunt light blocker, an opaque plastic disc or half-
sphere, which covers the inner wall of the auditory canal. Based on the measured
43
modulation and omega values, the shunt light level is lower than transmission pulse
oximetry finger sensors. It shows that the finger sensors, which have been considered
as shunt free by researchers, actually have some shunt light. Moreover, the
circummission pulse oximetry sensors have signals that are more reliable in the presence
of motion even with the heavy motion of the body.
Since both optoelectronic sensors, the emitters and the receiver, are positioned at 180°
to each other, the light must travel through the skin of the auditory canal. This long
length of the light path requires LED currents of over 0.5 A to have enough light at the
photodiode.
Figure 28 Auditory canal sensor [37].
2.5.1.5.2 Retinal Sensors
Operation of conventional pulse oximeters is based on measuring pulsatile changes in
the amount of light transmitted through a peripheral vascular bed, such as the fingertip
or earlobe. These pulsations are because of the pulsating volume of arterial blood and
are synchronous with the cardiac cycle. It is also possible for pulse oximeters to make
their measurements on light reflected from a vascular bed.
Since the operation of conventional pulse oximeters is based on the amount of light they
detect, they may not fulfill their role for cardiac patients. Whenever the amplitude of the
PPG signal is reduced, they cannot be distinguished from noise and then the oxygen
level cannot be monitored. As an example, during a cardiac surgery, there are several
reasons which can degrade the pulse amplitude, like small pulse pressure produced by
the cardiopulmonary bypass machine, poor perfusion, and hypothermia. As each of
these issues occur, a pulse oximeter with a probe placed at a peripheral location, such
as the fingertip, cannot provide reliable reading of oxygen saturation [53].
44
In [54], a reflectance pulse oximeter to measure arterial oxygen saturation from the
retinal fundus is described. The transparency of the ocular media makes the eye the only
area of the body where systemic blood vessels can readily be observed, and this
accessibility can be exploited to have a reflectance pulse oximetry measurements from
those vessels. Figure 29 shows the contact lens probe.
Figure 29 Contact lens probe [55].
This method has some advantages, which can be considered in comparison to other types
of pulse oximetry.
First, the origin of the blood, which supplies the retinal arteries is the ophthalmic artery
from the internal carotid artery that supplies the cerebral tissues. Therefore, a good
indication of cerebral oxygen saturation can be measured from retinal SaO2. This is also
important because the cerebral tissues are sensitive to permanent damages during
hypoxic conditions.
Second, unlike peripheral blood flow, the retinal blood circulation is not susceptible to
arterial shutdown in case of shock, hypothermia, hypovolemia, hemorrhage, etc.
Conventional pulse oximeters are not functional in these situations and no reading will
be displayed, while a retinal pulse oximeter continues to work properly.
Finally, the measurement of retinal arterial oxygen saturation can be used to diagnose
and treat the retinal diseases.
2.5.1.5.3 Implantable Sensors
Implantable pulse oximetry sensors have almost the same design process and operation
as the non-invasive methods, but they have some differences in details, which can make
the measurements more accurate and possible to use for long term (several hours).
45
For example, in transmission pulse oximetry, the AC signal level ranges from 1% to
10% of the total transmitted light. Due to the location of the implantable sensors directly
on an arterial vessel, an enhanced AC signal is expected, because the signals are less
influenced by the limitations associated with standard pulse oximetry such as ambient
light, low perfusion state, skin pigmentation, nail polish, intravenous dyes, etc. So the
key benefits of an implantable oxygen sensor are the capability of long term monitoring
and assessment, emergency detection, and, if necessary, for efficient treatment or
medication [56].
An implantable sensor can offer some diagnostic advantages for the disease patterns or
medical issues like cardiac insufficiency and pulmonary hypertension for high-risk
cardiovascular patients, chronic hypoxemia, congenital heart defects of children,
including surveillance and optimization of timing for surgery, and surveillance of
premature infants [56].
One of the most important considerations in implantable pulse oximetry is the materials,
which are used for manufacturing the sensors. The manufacturing of the various sensor
components relies on soft and flexible biocompatible polymer materials which let the
blood vessels do their normal function such that they can expand during dilation of the
vessel (up to 10% change of diameter) [57].
In addition, the alignment of the sensors is a very important part of this method because
LEDs and photoreceptor should be exactly in front of each other to have the least loss
of signal. Different methods have been introduced in papers, which use reflection or
transmission to measure the absorption of light.
The following method was introduced in [58], [59] and uses reflection analysis. As it is
shown in Figure 30, the artery is caught by two silicon stripes and the LEDs and
photodetectors will be placed under the artery. In this system, a robust wavelet algorithm
is used to resolve the problems of the physiological data. In addition, a wavelet based
de-noising for in-vivo recorded PPG is presented.
46
Figure 30 3D model of the sensor mounted on an artery [59].
In [57], a MEMS-based sensor which uses transmission light is presented, it can be used
to measure blood oxygen saturation, pulse and respiration frequencies. This
biocompatible sensor uses a silicon-based manufacturing technique. The optoelectronic
devices are housed by two elastic silicone stripes. These flexible stripes can be wrapped
around the arterial blood vessels without affecting the blood flow even in large dilations.
Based on the in vivo experiments on domestic pigs, real time measurements provide
excellent data. The cross-sectional view of the sensor is shown in Figure 31 and the
sensor is shown in Figure 32.
Figure 31 Cross-sectional view of the sensor wrapped around a blood vessel. Both stripes are fixed with
ligature clips. The oxygen saturation is spectrometrically measured by the transmitted intensity of two
wavelengths [57].
47
Figure 32 Encapsulated silicone stripe with two embedded LEDs mounted onto a laser-structured
polyimide foil before covering with black colored silicone adhesive for optical shielding [57].
Another implantable multi-sensor with silicon-based fabrication is presented in [60]
which besides measuring oxygen saturation level, can measure the blood pressure with
a piezoelectric sensor. The CAD drawing of the sensor is shown in Figure 33. An elastic
silicone stripe, which will be wrapped around an arterial blood vessel, houses the
sensors. Because of the use of soft material, there will be no effect on the vessels even
in large dilations. The pulse oximetry sensors can measure the oxygen level in the range
of 65 % to 100 % with a precision of ±1%.
Figure 33 CAD drawing of a silicone stripe wrapped around a blood vessel acting as a platform for
various embedded sensors [60].
2.5.2 Challenges
2.5.2.1 Power Consumption
Reducing the power consumption for continues and long time measurements and as a
result reducing the battery size is crucial in a pulse oximeter design. In a pulse oximetry
48
system design, there are different parts, which affect the power consumption and each
part should have its own consideration. Most of the power will be consumed in the LED
drivers, the display, and the TIA part. The other parts of the system have less power
consumption and can be ignored.
The LED driver has the most consumption because it should provide lots of current to
turn the LEDs on and the required amount of the current and voltage is completely based
on the characteristics of the LED. There are some methods to reduce the power, which
is based on changing the duty cycle of the input pulse that turn the LEDs on and off. It
means that by reducing the duty cycle, the amount of power will be reduced, but it
should be considered that in that period of time the data should be read. Therefore, there
should be a trade-off between the duty cycle reduction and having valuable data [53].
Design of the TIA and filters is the other part of the system, which directly affects the
power consumption level. In [18], a new circuit and method are designed to reduce the
power consumption and the results show that it will improve the operation of the circuit.
The display is the last part, which can be removed in some systems because in some
cases the data needs to be transferred to another device. But in mobile devices, the
oxygen level value and the heart rate must be displayed to the user on the device. Other
parts of the pulse oximeter use some power including MCU and ADC, which their
values are low enough to be ignored.
2.5.2.2 Wired Sensors
One of the most important goals of recent biomedical devices is providing comfort for
the user and making the devices as small as possible. Tethering is always a reason to
make a device uncomfortable. Wireless systems avoid this problem; especially in the
case of pulse oximeters, they can reduce the motion artifact of the system. When the
system is wired, there is always a chance that the wires be stuck and change the position
of the sensors resulting in the wrong readings. Even though the wireless pulse oximeters
are a little more complicated in design, they have the advantage of better performance,
which makes them more requested.
49
2.5.2.3 Sensor Size
Nowadays, almost all the electronic systems are going to the direction of reduction in
size, starting from reducing the size of the sensors (PDs and LEDs) and continuing to
amplifiers, transceivers, micro controller and other parts of a pulse oximetry system.
Small size pulse oximeters are more practical for long time monitoring of the oxygen
level of the blood. They can be used as a gadget to communicate with intelligent phones
during sleep, doing sport exercises or can be used in intelligent watches or bracelets.
50
Chapter Three
Ring Shape Pulse
Oximeter Design
51
3 Ring Shape Pulse Oximeter Design
3.1 Methodology
Based on the results and conclusions acquired by the literature review chapter, there is
a need for a pulse oximeter that can work regardless of the sensor location. The
conventional Pulse Oximeters use a finger clip containing the sensors which uses only
one set of LEDs and photodetectors (PD), which can measure only the signals from one
side of the finger. It means that there is a need for a pulse oximeter that can work even
if the sensor is dislocated or moved during the measurement. This feature guarantees a
valuable and reliable measurement especially during long term monitoring of a patient,
which in the case of patients with chronic diseases, where it is very vital to have a
continuous measurement. To have a comfortable device for a long time measurement
the placement and the size of the sensor is very critical. Although most of the pulse
oximeter devices are using the finger tip for measurements, this part of the finger is not
comfortable for the patient and it will cause lots of problems like motion artifact or
removing the device during the sleep, etc. This is why a ring-shaped pulse oximeter
which has a smaller size can be more practical for long time measurements. Also,
tethering has the same problems as big size devices and even more. So the idea of this
project is to have a ring shaped wireless multi-site pulse oximeter, which also needs to
be small.
The idea comes from the point that the signal level around the finger has different
amplitudes. The reason of having different level of signal can be explained by Figure
34. The idea of having multiple sensors is proposed and validated in [62].
Phalanx
Tendon
Epidermis
Proximal Phalanx
Veins
Arteries
Figure 34. Proximal phalanx structure [62].
52
In [62], the functionality of a ring-type pulse oximeter with a multi-detector by optical
human tissue simulation was investigated. Moreover, they made two different finger-
base models to investigate the influence of the structural differences of the finger based
on the measuring performance of different ring-type pulse oximeter designs. They
discussed the optimal placement of the sensors and the efficiency of different ring-type
pulse oximeters with a single detector and a multi-detector on measuring SPO2. Finally,
wearable and wireless ring-type pulse oximeters with a single detector and a multi-
detector were also implemented to validate their simulation results.
Based on the results presented in [62], and the preliminary test that we performed it can
be concluded that from different angles the finger has a different structure which makes
a different path for light to pass through. Furthermore, this structure is different from
person to person.
To test this idea and developing the system some preliminary tests have been performed.
0° 180°
45°
90°
315° 225°
135°
270°
(b)
0° 180°
45°
90°
315° 225°
135°
270°
(a)
Figure 35 Preliminary acquired signal from around the proximal phalanx, (a) IR LED, (b) red LED
As it is mentioned before, the PPG signals is a combination of two signals. The pulsatile
(AC) component is caused by changes in blood volume which is synchronous with
heartbeats. The non-pulsatile (DC) component is caused by respiration, sympathetic
nervous system activity, and thermoregulation. Based on the preliminary tests around
the proximal phalanx, the strength of the AC and DC components of the PPG signal
varies by changing the position of the sensors. As it is shown in Figure 35, the amplitude
of the signal is different around the finger and it will change if the signal is acquired
from a different finger or different person. These signals were measured before the
assembly of the full system and each of them has been recorded separately. To prove
the advantage of using multi-site sensors, one set of sensors was used and placed around
53
the finger of a subject and in 45⁰ positions, the measurements have been done. It should
be mentioned that in Figure 35 just the AC amplitude of the signal is shown while the
DC level varies too. The variation of DC level of the signal is out of range in comparison
to the AC level so they cannot be shown in the same figure.
Figure 35 shows the measurement results for one subject that is performed in 8 different
angles around the finger. The amplitude of the signal changes for each position and, as
we can see, they are not following the same pattern for red and IR signal. This means
that the variation of the signal is not predictable. These test has been performed with
five different co-workers (25 to 35 years old) and with their different fingers. The results
show that the maximum amplitude is not always in a fix position for all the subjects. So
it does not make sense to expect having a fixed place around the finger to locate the
sensors there. Also, because of other mentioned reasons, we decided to design a multi-
site wireless ring shaped pulse oximeter which is more comfortable and has smaller size.
3.2 Principles of Proposed System
The proposed system is a wireless ring-shaped multi-sensor pulse oximeter. The final
design is a ring which carries all the components and is based on a rigid-flex PCB. This
ring has six sets of sensors where each set is composed of a photodetector and two LEDs
(one red and one IR). It should be mentioned that based on the tests that have been
performed different number of sensors has been considered and finally six sensors have
been chosen. The reason for using six sets of sensors is to have a complete coverage
around the finger. Based on the size of the LEDs and PDs that has been considered
(SMD - 0603) more than six sensors took too much place and could not be fitted around
the finger, and lower that six was not providing enough data for the system. Three
multiplexer are used to choose between LEDs and PDs and send the input/output signals
to the proper section of the circuit. The output of the PDs goes through the analog front
end to be amplified, converted to the voltage and filtered. Also in this part of the circuit,
the AC and DC parts of the signal will be separated by a feed forward system which is
operated by ADC and DAC through the MCU. The measured PPG signal, which is
decomposed into AC and DC parts is sent to the microcontroller for basic SpO2
calculation and the results are transmitted to the base station by the radio transceiver for
54
further processing. Another part of the system is the LED driver which is controlled by
a DAC to adjust the proper amount of current for LEDs. Also, there is a timing for the
LED driver which is controlled by the microcontroller to choose the red or IR LEDs
sequentially. The last part of the system is the power management unit which consists
of a battery, a voltage regulator, and a RLC filter to provide the system with power.
Each part of the proposed pulse oximeter is explained in details in the next chapter.
The block diagram of the designed pulse oximeter is presented in Figure 36. Each part
of the proposed pulse oximeter is explained in details in the following sections.
CPU
ADC
DAC Micro Controller Unit
TransmitterLED Driver
DAC
To LEDs
From PDsAnalog
Multiplexer
Analog DeMultiplexer
Ring-Shaped Sensor
ADC
Receiver
Power Management UnitBattery
RLC Filter
LDO Regulator
AC
Sig
na
l
DC
Sig
nal
Re
fere
nce
Vo
lta
ge
LED
Cu
rren
t
TIA
Analog Front End
Figure 36 Block diagram of the proposed ring shaped pulse oximeter
3.3 Photosensor
The whole idea of using multiple sensing probes is to provide flexibility and the ability
to use the system in both transmission and reflection modes within a single device. The
system determines if each site will be LEDs or PDs in order to provide the best sets of
sensors/LEDs. There are six red LEDs (660 nm), six infrared LEDs (940 nm) and six
PDs, all mounted on a rigid-flex printed circuit board (PCB). Each LED’s emission can
be received from any of the PDs. Hence, an LED can be chosen from one set and a PD
form another set, or more than one set of LEDs and/or PDs can be selected. To achieve
this goal, first, one set of LEDs and PD was selected to acquire the
photoplethysmography signal. Different LEDs and PDs have been tested to choose a set
with the highest signal amplitude and the lowest current sink. So, to solve this problem,
an analog front end with the highest possible output signal was designed. In the AFE,
the DC component of the PPG signal is removed because the DC component is much
55
stronger than the AC component and together they will always saturate the ADC and
the measurement of AC signal would not be possible. By using the designed AFE and
permanently turning the LEDs ON, the preliminary tests were done. In the preliminary
tests, the AC component of the PPG signal on a fixed position around the finger was
measured with different sets of LEDs and PDs. Table 2 shows the test result of the AFE
with some of the LEDs and PDs that have been tested. It is necessary to mention that
due to form factor limitations of the designed pulse oximeter, only LEDs with SMD
packages (0603 and 0805) are tested and the larger packages were not used.
Table 2 Results of testing different LEDs and PDs to choose the best set.
PD LED Current Vpp
TEMD5080X01CT SML-310LTT86 (red) 46mA 135mV
TEMD5080X01CT HSMH-C190 (red) 39mA 112mV
TEMD5080X01CT LTST-C190CKT (red) 38mA 110mV
TEMD5080X01CT SML-LX0603SRW-TR (red) 35mA 72mV
TEMD5080X01CT BR1101W-TR (red) 40mA 105mV
TEMD5080X01CT APT1608F3C (IR) 64mA ≈ 0
TEMD5080X01CT SIR19-21C/TR8 (IR) 66mA ≈ 0
TEMD5080X01CT IR17-21C (IR) 66mA 20mV
PDB-C152SM SML-310LTT86 (red) 43mA 20mV
PDB-C152SM HSMH-C190 (red) 45mA ≈ 0
SFH2701 SML-210LTT86 (red) 45mA 33mV
SFH2701 SML-310LTT86 (red) 45mA 180mV
SFH2701 IR17-21C (IR) 60mA 192mV
PDB-C154SM SML-310LTT86 (red) 45mA 60mV
PDB-C154SM HSMH-C190 (red) 41mA 46mV
PDB-C154SM LTST-C190CKT (red) 37mA 44mV
PDB-C154SM BR1101W-TR (red) 40mA 44mV
PDB-C154SM SML-LX0603SRW-TR (red) 35mA 25mV
PDB-C154SM SML-210LTT86 (red) 45mA 25mV
PDB-C154SM SML-LX0805SRC-TR (red) 34mA 46mV
56
The selection criteria to select the LEDs and photodetectors is to find a set that has the
lowest current consumption while generating the maximum output voltage at the output
of the AFE. Based on these measurements, the best set of red, IR and photodetector have
been chosen. The final prototype uses the SML-310LTT86 (ROHM Semiconductor) for
the red LED (660 nm), the IR17-21C/TR8 (Everlight) for the IR LED (940 nm), and the
SFH 2701 (OSRAM Opto Semiconductors) for the photodiode.
Figure 37Error! Reference source not found. shows the LEDs and PDs connections
in the final design. Figure 38 shows the test prototype of the ring sensor that should be
connected to the peripheral boards with wires. As it is shown in these figures, inside
each ring there are 6 red LEDs, 6 IR LEDs, and 6 PDs. They are sorted in a way that
make 6 sets of sensors, and Figure 39 shows the way they are placed on a PCB.
Figure 37 LED and PD connection.
57
Figure 38 Test prototype of the ring sensors.
Photodetector
IR LED Red LED
Figure 39 One of the 6 sets of LEDs and PD inside the test prototype of the ring sensors.
3.4 Analog Front End
The analog front end is designed for amplification, conversion, filtering, and separation
of the signal components. As mentioned previously, to find the LEDs and PDs, a first
prototype of the AFE was used to separate the AC part of the PPG in the output. But
after choosing the LEDs and PDs the AFE circuit was modified. First, a fully analog
circuit was used to separate the AC and DC signals. In this circuit, a low pass and a high
pass Sallen-key filters were used to do the signal separation. The circuit is shown in the
Figure 40.
The output of this circuit was strong enough to have a high PI and the amplitude of the
output signal was high, but the problem was when using two LEDs at the same time.
When two red and IR LEDs are supposed to work sequentially, there is a big time
constant for the filters. So the output signals of the LEDs did not have enough time to
58
return to their static levels and the signals were mixed together. Hence, it was not
possible to distinguish between the red and the IR signals.
Figure 40 AFE circuit with analog filters
Based on the abovementioned reasons the circuit was changed to the final circuit that is
presented in Figure 41. In the first stage, the output current of the PD which is in the
range of µA passes through the TIA and converts to voltage with a gain of 10K. A
capacitor is in parallel with the resistor to make a low pass filter for the first stage of the
AFE. After this stage, the signal goes through two different paths, one goes to the second
stage for more amplification and separation and one goes to the ADC of the
microcontroller. The signal that goes into the ADC passes through a digital low pass
filter to calculate the DC amount. Then a DAC generates the same value for the second
stage as a reference. The negative port of the amplifier in the second stage has both AC
and DC components of the signal, but the positive port just has the DC component. So
the second amplifier acts as a signal separator and the output has the AC signal which
is also amplified. Then this signal goes to the ADC for measurements and is used for
the final calculation. Again, in the second stage, there is a capacitor in parallel with a
resistor to make a low pass filter.
59
Figure 41 Two stages AFE circuit with digital feedforward
3.5 LED Driver
The first test for choosing LEDs and PDs were done using the DC signals, but for the
final version, it should be pulses with variable duty cycles, because two red and IR
signals should be turned on/off sequentially and there should be some time gap between
the two signals. The first circuit was transistor-based and needed two DACs and two
pins to control the output light of each LED. The circuit is shown in Figure 42.
Figure 42 LED driver with transistor
After some preliminary tests and because of size considerations and current
consumption the circuit was rejected and another circuit was presented. To provide the
required current for the LEDs, two LED driver chips are used. The input signals of these
chips are provided by the DAC and have an adjustable current. These two LED drivers
60
are used sequentially based on the timing of the microcontroller. In this system, as
shown in Figure 43, two LED drivers (MAX1916) are used, one for each wavelength.
Figure 43 LED driver circuit
3.6 Multiplexers
One of the goals of this project is to have multi-site measurements. To achieve this goal,
we should work with six sets of LEDs and PDs. However, the point is that we cannot
either use an analog front end for each of the PDs or use an LED driver for each of the
LEDs. The solution for this situation is to use multiplexers to switch between the LEDs
and the PDs. Therefore, for each wavelength of LEDs, one LED driver is considered
and one analog front end for PDs. In this case, there are two LED drivers for the red and
the IR LEDs. The multiplexers are controlled by the micro controller and based on the
need of the algorithm, they can be chosen to be turned on or off. In this system, we used
three multiplexers (MAX4781). As we can see in the circuit schematic, the input pins
of the multiplexer that is used for the PDs are connected to the ground by a resistor to
avoid noise. The reason is that the input signal for the PDs is very low current (~µA)
and it is easily affected by environment noise. The multiplexers circuit is shown in
Figure 44.
61
Figure 44 Multiplexers circuit
3.7 Digital to Analog Converter
In this project, digital to analog converters (DAC) are used in two sections, in the LED
driver, and in the analog front end. In the LED driver circuit, they will adjust the output
current of the LEDs which will increase or decrease the intensity of light passing through
the tissue. In the analog front end circuit, the DAC is used to separate the DC and AC
signals. It will generate the exact DC amount of the output of the last stage and by use
of an amplifier the subtraction is done and the DC is subtracted from the whole signal
(AD+DC), leading to have the AC signal and do the oxygen level calculation. In this
system, the DAC (MCP4812) is controlled by the SPI protocol. Since this DAC has two
outputs and we need three outputs, two chip are used in the design of the system. The
connections for DAC circuit are shown in Figure 45.
62
Figure 45 Digital to Analog converter circuit
3.8 Power Management Unit
Figure 46 shows the Power Management Unit (PMU) circuitry. The whole system is
powered by a 3.7-V, 100-mAh lithium-ion battery, so the PMU must provide a fixed
3.3-V supply voltage for the control unit and radio transmission. To address this
requirement, a low-drop voltage regulator (TLV70233 from Texas Instruments) is used,
which has a 51-dB PSRR to decrease the effects of high-frequency fluctuations
produced by the optical stimulation circuitry. In addition, a passive power supply filter
network is designed to be located after the regulation circuitry to remove the optical
fluctuation effects. This passive network has a low-pass behavior and compensates the
low PSRR of the LDO voltage regulator at higher frequencies [63].
The PMU has three sub-units including battery, LDO regulator, and RLC filter. Each
part is explained in details in the following sections. In addition to these three parts, a
reference voltage is provided for the rest of the circuit which is used specifically in the
analog front end.
Figure 46 Power management unit circuitry
63
3.8.1 Battery
The energy source of the system is a very compact Li-ion battery (5 × 14 × 17 mm3) that
can provide 3.7 V up to 100 mA with a capacity of 1000 mAh. The small size of this
battery helps to fit in the rigid-flex PCB design.
3.8.2 Low Drop-Out Regulator
Since the microcontroller and other ICs use 3.3V as their input voltage and the battery
voltage is 3.7 V, a voltage regulator is used. This low drop-out regulator provides the
required voltage and current for the whole system. In this system, two LDO regulators
(TLV70233 and TLV70230) are used. One is used for LEDs and the other for the rest
of the system including the microcontroller, the DACs, the multiplexers, the transceiver,
the amplifiers and the LED drivers.
3.8.3 RLC Filter
The system uses LEDs and those sink large amount of current during each cycle, which
produce some ripples or spikes in the voltage source. These distortions affects the output
signal of the analog front end and/or the ADC reference of the microcontroller. To avoid
this problem, an RLC filter is designed which is shown in Figure 46 [63]. This low pass
RLC filter accompanying the LDO regulator increases the PSRR of the system to avoid
the negative effects of high current LEDs.
3.9 Microcontroller Unit
In this system, a low-power microcontroller, MSP430F5328 from Texas Instruments,
controls the operation of the pulse oximeter. The tasks of this microcontroller include
controlling the RF communications, digitizing the output of the AFE and generating the
stimulation patterns. This microcontroller, besides occupying a small area on the PCB,
has all the necessary peripherals required for the pulse oximetry system including the
required number of A/D channels, UART and SPI (serial peripheral interface)
peripherals. The operating voltage of this microcontroller and its IO (input/output)
voltages are 3.3 volts. The connections of the microcontroller are shown in Figure 47.
64
Figure 47 Microcontroller connections
3.9.1 Analog to Digital Converter
To measure the output of the AFE and doing the processing in microcontroller the ADC
of the microcontroller is used. The AC and DC components of the output signal of the
PD are measured by the ADC. This microcontroller has a 12-bit analog to digital
converter, which can measure low voltages down to almost 1 mV that covers the small
changes of voltage in the PPG signal.
3.9.2 UART
To communicate with transceiver circuit and signal processing in the MATLAB the
UART is used. The measured signals by the ADC are encoded and sent in 8-bit packages
to the PC. In the PC, the signals are decoded and the results are used for further
processing.
65
3.9.3 SPI
The DACs that are generating adjustable voltages for analog front end and LED driver
use the SPI protocol. The DACs’ registers should be set each time to generate new
voltage in each of their channel.
3.9.4 Programming
To have a flexible system and for future changes and calibrations in the system, a
connector is considered in the PCB design that has access to the pins of the
microcontroller for programming. These connections are shown in Figure 48.
Figure 48 Microcontroller connector for programming
3.10 Transceiver
In order to transmit the received data back to the base station and to receive the
stimulation parameters, a modular low-power digital wireless transceiver (nRF24L01+
from Nordic Semiconductor) was used. This transceiver is a low-power GFSK radio
module operating in the 2.4 GHz ISM (industrial, scientific and medical) band. The raw
data of this module can be as high as 2 Mbits per second and the net data rate can be up
to almost 700 kbits per second. An SPI interface is available to control the radio and the
chip package is QFN (Quad Flat No-leads) and measures 4×4 𝑚𝑚2. This radio module
requires an antenna tuned to the 2.4 GHz band and an antenna matching network
consisting of capacitors and inductors. In this project, a chip antenna has been used to
decrease the system footprint. Finally, in order to control the radio module, a C library
has been developed that is available in the Appendix A. The connections of the
transceiver is shown in Figure 49.
66
Figure 49 Nordic transceiver connections and circuitry
3.11 Rigid-Flex PCB Design
Figure 50 shows the test setup including custom prototyping board, microcontroller
board, and ring sensor while measuring photoplethysmography signal. After testing and
validating this functionality of the system, to minimize the size of the pulse oximeter
with off the shelf components a Rigid-Flex PCB has been designed.
The idea of a ring shaped sensor is to try to reduce the size of the system and to provide
more comfortability for the pulse oximeter. Hence, the whole system should be placed
on a ring with the smallest possible size. This ring is designed using the same PCB that
is going to carry the circuitry of the system. The LEDs will be placed on the inner side
of the ring, and the rest of the chips and components will be placed on the outer side,
except for the transceiver circuitry that will be placed on the top of the PCB, as it is
shown in Figure 51, Figure 52 and Figure 53.
67
Preliminary Test
Prototype Ring
Microcontroller
Launchpad
BoardCustom Prototyping
Board
Output Signal of one LED (Red)
Figure 50 Test Setup Including Custom Prototyping Board, Microcontroller and Ring Sensor
Figure 51 Designed rigid-flex PCB connections
68
Figure 52 3D presentation of the ring shaped sensor
Multiplexers
AFE
LED Driver
DAC
PMU
Microcontroller
LEDs and PDs
Transmitter
BottomTop
Figure 53 Top and bottom view of ring shaped sensor
69
3.12 Algorithm
To achieve the goal of this project, which is using multiple sensors at the same time an
algorithm is required. This algorithm should be able to check all the sensors at the
beginning of the operation then choose the set of LEDs and PDs with the highest
Perfusion Index (PI). This algorithm should be performed repeatedly if the sensors are
relocated or something happens that reduces the signal quality. Also, the signal at the
chosen set should have a minimum value of PI. If this condition is not satisfied, another
sensor should be chosen or the current of the LEDs should be amplified to have a higher
level of light. This algorithm is shown in Figure 54.
By using this algorithm, we can make sure that the best quality of the signal is provided
at the output. The term of best quality refers to the highest amplitude at the output of the
AFE between all the possible choices which are provided by each set of LEDs and PDs.
One of the important points of this algorithm is that it can manage to increase or decrease
the number of LEDs and it does not force the system to use just a specified LED or PD.
In other words, for example, the LEDs can be chosen from set 1 and the PD can be
chosen from set 4. In this case, the system is using transmission mode. Or the LEDs can
be chosen from the same set which makes the reflection mode.
The flowchart in Figure 54 explains the details of the algorithm. First, a counter is set to
1 (N=1), then the output signal of the selected set (N) of sensors will be recorded and
saved to the memory. This loop will continue for all the six sets. When the output signal
of all the sensors have been measured, by comparing the output values, the set of sensors
which has generated the highest amplitude will be chosen. The PI will be measured and
if it is in the acceptable range, the SpO2 will be calculated. But if the PI is not in the
right range, the current sourcing into the LED will be increased to increase the output
amplitude. In case the output signal is still low, another approach will be considered. In
this case, the LEDs next to the first selected LEDs will be powered on to compensate
the lack of light leading to have higher signal amplitude. This loop will be repeated
every few seconds to make sure that the best set of LEDs and PDs are always selected
and the movement of the ring or other motion artifacts do not degrade the signal strength.
70
N = 1
Store
Read Sensor N
Find the Highest Amp. and Choose the N
N = 6
Measure PI
Turn on Sensors N-1 and N+1
Measure SpO2
Increase the current of sensor N
PI ≥ Accepted range
PI ≥ Accepted range
PI ≥ Accepted range
Display the SpO2
Yes
Yes
No
NoYes
Yes
Memory N = N + 1
Figure 54 Flowchart of the algorithm
71
Chapter Four
Experimental Results
72
4 Experimental Results
4.1 Quality of signal
The output results of the sensors can be presented as the output PPG signal of each
sensor. Since all the six sensors have the same placement and are using the same LEDs
and PDs, the tests are done just for one set of the six sensors. The results for multi-site
sensors are presented in the next part of this chapter.
The goal is to have a suitable level of perfusion index (PI) that allows us to measure the
oxygen level. As it was mentioned before, the output signal of one set of six LEDs and
PDs are recorded and presented in Figure 55.
Figure 55 AC output of the red and IR LEDs
This figure presents the AC signal of the system for the red and the IR LEDs. The DC
level is not presented because the DC signal is measured at the output of the first stage
of the AFE circuit (Figure 41) and is removed to avoid saturation of the output. The
reason for the saturation is that the DC signal has a higher amplitude than the AC signal
and after the final stage of amplification it will go higher than the voltage reference. In
Figure 56, we can see the changes in the DC signal before the final stage.
1.4
1.5
1.6
1.7
1.8
1.9
Vo
ltag
e (V
)
Time
AC output of the red and IR LEDs
ir_bl red_bl
73
Figure 56 DC output signal of red and IR signal without tissue.
Figure 57 DC output signal of the red and the IR signals with the tissue.
Figure 56 is the DC output of the sensor while there is no tissue in front of it and Figure
57 shows the DC output when the sensor is close to the tissue. As it is shown in these
figures, in presence of the tissue the DC level is changed and it is easy to measure. In
case of IR signal in the presence of tissue the signal level moved from 1.60 V to 1.70 V
and in case of red signal, it moves from 1.59 V to 1.82 V.
Based on the previous figures, it is clear that the system can measure the AC and DC
components of the signal and then use them as input values to measure the oxygen level.
1.50
1.52
1.54
1.56
1.58
1.60
1.62
1.64
1.66
1.68
1.70
0 0.5 1 1.5 2 2.5 3
Vo
ltag
e (V
)
Time (×10 Seconds)
DC output of LEDs without tissue
1.6
1.65
1.7
1.75
1.8
1.85
1.9
0 0.5 1 1.5 2 2.5 3
Vo
ltag
e (V
)
Time (×10 Seconds)
DC output of LEDs with tissue
74
These values are presented in Table 4 and Table 4 which shows the results of a
commercial pulse oximetry and the proposed system respectively. These tests are
performed on five different subjects and comparing the output results with commercial
pulse oximeters. The 20 measurements are done every 10 seconds.
Table 3 Oxygen level measurements with a commercial pulse oximeter
Subject 1 Subject 2 Subject 3 Subject 4 Subject 5
Nonin P.O.
(Onyx II 9560) 99 98 99 99 100
Table 4 Oxygen level measurements with the proposed system
Subject 1 Subject 2 Subject 3 Subject 4 Subject 5
Measurement 1 88.74 86.04 88.04 88.48 90.77
Measurement 2 92.32 85.57 88.59 87.39 90.11
Measurement 3 88.87 85.35 88.08 87.65 91.92
Measurement 4 88.86 85.03 87.74 87.99 90.98
Measurement 5 88.53 85.95 88.01 87.14 90.36
Measurement 6 88.48 85.53 87.15 88.47 91.19
Measurement 7 89.17 85.54 87.48 88.28 91.34
Measurement 8 86.72 84.98 87.15 87 91.63
Measurement 9 88.11 85.65 88.31 87.49 90.45
Measurement 10 89.36 85.55 88.52 87.83 90.3
Measurement 11 89.62 86.56 88.94 88.22 89.24
Measurement 12 88.24 85.59 86.13 88.11 90.08
Measurement 13 87.56 86.97 87.16 88.49 91.47
Measurement 14 88.71 86.15 87.92 88.48 92.53
Measurement 15 81.08 86.89 88.91 87.75 91.59
Measurement 16 88.88 85.49 88.74 87.1 90.9
Measurement 17 87.95 85.76 87.05 87.43 91.17
Measurement 18 86.63 85.48 87.78 88.4 91.07
Measurement 19 89.24 85.07 87.9 87.35 90.17
Measurement 20 88.32 87.93 87.49 88.06 90.12
75
As we can see, the output percentages are in the same range for each subject but they
are not in the same range as the commercial device. The reason is the different offsets
that this system has and its constant values should be changed to be the same or close to
the commercial device. Since the output results are linear, by changing the constants,
the results are shifted to the proper percentage range. Table 5 shows the variance and
standard deviation of the measurements presented in Table 4.
Table 5 Variance and standard deviation of oxygen level measurements
Subject 1 Subject 2 Subject 3 Subject 4 Subject 5
Variance 4.220742 0.544162 0.514289 0.260521 0.60331
Standard Deviation 2.054444 0.737673 0.71714 0.510412 0.77673
It should be mentioned that the oxygen level of a normal person should be between 95%
and 100%. This is why the test could not be done on different values unless they are
done on special systems in hospitals.
Further research and finding better LEDs and PDs can help us to have better output
values that lead us to a higher quality of signals.
It should be mentioned that the calculation of the heart beat can be performed using a
simple algorithm that could be embedded in the system to measure the frequency of the
PPG signal. Since the focus of this work is on oxygen level measurement and
calculation, the results for heart beat are not presented.
4.2 Algorithm
The main contribution of this project is using multiple sensors that can be used at the
same time to find the best set that has a higher signal quality. After being sure about the
functionality of each sensor separately, the system output with all the sensors is
measured. As it is shown in Figure 58, the algorithm can find the best set of sensors if
there is a misplacement of the ring. Based on the algorithm, the system finds the set of
LEDs and PD that has the highest level of PI. In the performed test, the high-quality
signals were found at the lower part of the finger. In Figure 58 (a), sensor number 1 is
at the lower part of the finger and it is shown that the sensors 6, 1 and 2 have a better
signal quality than the rest. This signal quality is also demonstrated by checking the PI
76
value. In Figure 58 (b), the sensor is relocated and sensor number 2 is at the bottom of
the finger. In this case, the signal qualities of sensors 1, 2 and 3 are better. This shows
that no matter where the sensors are placed, the one with the best signal quality will be
chosen. The same procedure happens in Figure 58 (c), (d), (e) and (f).
These results show that our system finds the sensors that have the higher PI and chooses
them to do the measurements. If there are no set of sensors that have the minimum level
of the output signal, it will provide more light to amplify the output signal then chooses
the best sensors.
1
2
3
4
5
6
4
5
6
1
2
3
3
4
5
6
1
2
5
6
1
2
3
4
2
3
4
5
6
1
6
1
2
3
4
5
(a)(b)
(c)
(d)
(e) (f)
PI = 2.5 PI = 2
PI = 0.5 PI = 3
PI = 2.5 PI = 3
PI = 1.5 PI = 4
PI = 1.5 PI = 3.5
PI = 2 PI = 4
PI = 0.1 PI = 3
PI = 1.5 PI = 3
PI = 2.5 PI = 2.5
PI = 1.5 PI = 4
PI = 2.5 PI = 2.5
PI = 2 PI = 2
PI = 2.5 PI = 2
PI = 0.1 PI = 3
PI = 2.5 PI = 2.5
PI = 1.5 PI = 4
PI = 0.5 PI = 3
PI = 1.5 PI = 3
PI = 2.5 PI = 2.5
PI = 1.5 PI = 3.5
PI = 0.5 PI = 3.5
PI = 1.5 PI = 4
PI = 2.5 PI = 2.5
PI = 0.1 PI = 3
PI = 2.5 PI = 2.5
PI = 1.5 PI = 3
PI = 1.5 PI = 3.5
PI = 2 PI = 3.5
PI = 0.5 PI = 3
PI = 0.1 PI = 3
PI = 2.5 PI = 2.5
PI = 1 PI = 3
PI = 1.5 PI = 4
PI = 1.5 PI = 4
PI = 2.5 PI = 2.5
PI = 0.1 PI = 2.5
Figure 58 Output signal of the system based on the algorithm in a different position of sensors.
77
4.3 Power Consumption
Another important result of the system is the power consumption. Since this system is
working with a battery, it should have the minimum possible power consumption.
Although the system design has the minimum possible power consumption, it can be
even less by making some changes in future works. Table 6 shows the power
consumption of the system.
Table 6 System characteristics
Parameter Value
Voltage 3.3 V
Current cons. without LEDs < 1 mA
Current cons. Of LEDs 11 mA (red) + 15 mA (IR)
LED Stimulation Frequency 2.5 kHz
Duty Cycle 25 %
Sampling Frequency 250 Hz
Number of Sampling bits 12 bit
TIA Gain 200000 V/V (≈106 dB)
Input Referred Noise 0.25 μV (rms)
Average Power Consumption of the whole System Running
24.75 mW
As it is shown, most of the power is used by the LEDs and replacing them with better
LEDs can improve power usage. One of the easiest changes is to use the sleep mode of
the ICs that can reduce power consumption when they are not in use. Integrating the
whole system in one chip can be another future work, which reduces the power
consumption.
78
Chapter Five
Discussion and Conclusion
79
5 Discussion and Conclusion
Based on the acquired results, we showed the measurement results of the system. First,
the output of a single set of sensors has been presented which shows the proper operation
of the pulse oximetry system. As shown in Figure 55, Figure 56 and Figure 57, the AC
and DC components of the signals are properly measured and have been separated.
These signals respond to the changes that are generated by tissue and pulses.
The next step is to make sure the oxygen level calculation is steady and reliable. Based
on the measured values on different subjects the output percentage is steady and moving
around a fixed value with a minimum variation. To fix the offset problem an adjustment
should be done.
Another part of the results are about the algorithm that selects the best set of sensors.
Based on the results of the system, the algorithm shows a great operation which leads to
find the best set of sensors.
At the end, the electrical characteristics of the system are measured and shown in Table
6. The system is working with 3.3 V and less than 1 mA current (except LEDs). The
current consumed by LEDs are 11 mA (red) + 15 mA (IR), which will be divided to 4
because of the 25 % duty cycle.
In conclusion, the whole system is working as it was expected. Although, there are some
parts of the system that can be improved. For example, the algorithm can be improved
based on more test on different subjects, the power consumption can be reduced by
choosing other LEDs or a different type of LED driver circuitry. One of the other factors
of the system is the sensitivity of the measured signals which can be improved in the
future.
In this thesis, we presented a new ring shaped multi sensor probe for
photoplethysmography signal acquisition. We illustrated that the quality of signal
changes with respect to the location of the sensor around the finger, which requires a
solution that is independent of sensor location. The proposed design uses six sets of
LEDs and PDs to acquire the signal from different sites evenly distributed around the
finger and to choose the best sets of sensors that provide the highest signal quality. Such
80
a ring shaped sensor can tremendously increase the comfort of the patient for long-term
monitoring periods.
The measurements show the proper functionality of the system as it was expected.
Although the signal strength at the part of the finger that we are measuring is not as high
as the tip of the finger or other parts of the body that usually are used, this system
managed to measure the oxygen level properly.
The development of the multi-side fractional pulse oximetry algorithm proved to be
challenging. Positive signs were observed and a lot was learned during the research. As
it was assumed, this method could be further studied and analyzed to find out how well
it recognizes abnormalities in photoplethysmography signals. Compared to a
commercially available fractional pulse oximetry device, the performance was
acceptable. We should test how the algorithm would behave with better quality data
(better sets of LEDs and PDs). In that case, it will lead the system to use the LEDs in a
shorter period of time which means saving power.
Altogether the work conducted for this thesis succeeded well and a lot more is known
of the requirements of fractional pulse oximetry measurement. An improved prototype
needs to be developed using the information acquired during the development of the
first prototype and this thesis. Also, the algorithm needs to be simplified and a lot more
work is required before the technology can be commercialized and used as an effective
tool in medical care.
Although one of the goals of this project was to reduce the size of the pulse oximeter,
with off the shelf components there are some limitations that the size cannot for less
than a specific dimension. So for the future phase of this project, integration of the
system is considered to implement all the system parts on a single chip. Using CMOS
technology reduces the size, and improves the accuracy of the system. Also, ultra low
power circuits help reducing the power consumption as it was tested and validated in
previous researches [64].
To obtain more results and covering a wider range of oxygen levels, more tests can be
performed at Respiratory Clinics of Institut universitaire de cardiologie et de
81
pneumologie de Québec (IUCPQ) In this research center, various test can be performed
on different subjects with different blood oxygen level by precise respiratory test
machines. Thus, the system can be tested for oxygen level values less of than 95%,
which is amongst the minimum values that can be measured for a healthy person.
The results of this project have been published in two conferences. The first one is a
conference paper titled as “A Novel Wireless Ring-shaped Multi-site Pulse Oximeter”
and it was published in IEEE International Symposium on Circuits and Systems
(ISCAS) Montreal, Canada, 2016 [65]. The second paper is titled as “A Multi-
Wavelength Spectroscopy Platform for Whole Blood Characterization and Analysis”
and was published in IEEE Engineering in Medicine and Biology Society (EMBC),
Florida, USA, 2016 [66]. Another paper focusing on the multisite sensors design and
the algorithm of the system is planned to be submitted to a journal.
82
References
[1] S. B. Duun, R. G. Haahr, K. Birkelund, and E. V Thomsen, “A Ring-Shaped
Photodiode Designed for Use in a Reflectance Pulse Oximetry Sensor in Wireless
Health Monitoring Applications,” IEEE Sens. J., vol. 10, no. 2, pp. 261–268,
2010.
[2] K. Li and S. Warren, “A wireless reflectance pulse oximeter with digital baseline
control for unfiltered photoplethysmograms,” IEEE Trans. Biomed. Circuits
Syst., vol. 6, no. 3, pp. 269–78, Jun. 2012.
[3] B. Venema, N. Blanik, V. Blazek, H. Gehring, A. Opp, and S. Leonhardt,
“Advances in reflective oxygen saturation monitoring with a novel in-ear sensor
system: results of a human hypoxia study.,” IEEE Trans. Biomed. Eng., vol. 59,
no. 7, pp. 2003–10, Jul. 2012.
[4] R. G. Haahr et al., “An Electronic Patch for wearable health monitoring by
reflectance pulse oximetry.,” IEEE Trans. Biomed. Circuits Syst., vol. 6, no. 1,
pp. 45–53, Feb. 2012.
[5] J. G. Webster, Design of Pulse Oximeters. Bristol, UK: Institute of Physics
Publishing, 1997.
[6] H. B. Fairley, “Changing Perspectives in Monitoring Oxygenation,” Anesthesiol.
J., vol. 70, 1989.
[7] A. Keerthika and R. Ganesan, “Pervasive Health Care System for Monitoring
Oxygen Saturation using Pulse Oximeter Sensor,” in IEEE Conference on
Information & Communication Technologies (ICT), 2013, no. lCT, pp. 819–823.
[8] P. D. Mannheimer, J. R. Casciani, M. E. Fein, and S. L. Nierlich, “Wavelength
selection for low-saturation pulse oximetry.,” IEEE Trans. Biomed. Eng., vol. 44,
no. 3, pp. 148–58, Mar. 1997.
[9] S. Bagha and L. Shaw, “A Real Time Analysis of PPG Signal for Measurement
of SpO 2 and Pulse Rate,” Int. J. Comput. Appl., vol. 36, no. 11, pp. 45–50, 2011.
83
[10] G. Maruf Azmal, A. Al-Jumaily, and M. Al-Jaafreh, “Continuous Measurement
of Oxygen Saturation Level using Photoplethysmography Signal,” in
International Conference on Biomedical and Pharmaceutical Engineering, 2006,
no. 1, pp. 504–507.
[11] A. Wongjan, A. Julsereewong, and P. Julsereewong, “Continuous Measurements
of ECG and SpO 2 for Cardiology Information System,” in MultiConference of
Engineers and Computer Scientists, 2009, vol. II, pp. 18–21.
[12] B. A. Shapiro, R. A. Harrison, R. D. Cane, and R. Templin, Clinical Application
of Blood Gases, 4th ed. 1990.
[13] A. P. Adams and C. E. W. Hahn, Principles and Practice of Blood-Gas Analysis,
2nd ed. 1982.
[14] J. Moyle, Pulse Oximetry. London BMJ, 1994.
[15] J. Allen, “Photoplethysmography and its application in clinical physiological
measurement,” Physiol. Meas., vol. 28, 2007.
[16] A. M. D. Reisner, P. A. Shaltis, D. McCombie, and H. H. Asada, “Utility of the
Photoplethysmogram in Circulatory Monitoring,” Anesthesiology, vol. 108, no.
5, pp. 950–958, 2008.
[17] K. Shelley and S. Shelley, “Pulse Oximeter Waveform: Photoelectric
Plethysmography,” W.B. Saunders Co., pp. 420–428, 2001.
[18] Masimo Corporation, “Clinical Applications of Perfusion Index,” 2007.
[19] Amperordirect, “What is Perfusion Index (PI).” [Online]. Available:
www.amperordirect.com.
[20] K. S. Corporation, “What is the % perfusion (Perfusion Index) actually telling
me?” [Online]. Available: www.kentscientific.com.
[21] D. Roest and P. Alto, “Absorption Spectra of Human Fetal and Adult
Oxyhemoglobin , De-Oxyhemoglobin ,” vol. 37, no. 9, pp. 1633–1638, 1991.
[22] Y.-S. Yan, C. C. Poon, and Y.-T. Zhang, “Reduction of motion artifact in pulse
84
oximetry by smoothed pseudo Wigner-Ville distribution.,” J. Neuroeng.
Rehabil., vol. 2, no. 1, p. 3, Mar. 2005.
[23] J. Solà et al., “SpO2 sensor embedded in a finger ring: design and
implementation.,” Annu. Int. Conf. IEEE Eng. Med. Biol. Soc., vol. 1, no. 1, pp.
4295–8, Jan. 2006.
[24] M. Tavakoli, L. Turicchia, and R. Sarpeshkar, “An ultra-low-power pulse
oximeter implemented with an energy-efficient transimpedance amplifier,” IEEE
Trans. Biomed. Circuits Syst., vol. 4, no. 1, pp. 27–38, 2010.
[25] Y. Mendelson, “Variations in Optical Absorption Spectra of Adult and Fetal
Hemoglobins and Its Effect on Pulse Oximetry,” vol. 36, no. 8, pp. 844–848,
1989.
[26] M. Yelderman and W. New, “Evaluation of Pulse Oximetry,” Anesthesiol. J., vol.
59, pp. 349–353, 1983.
[27] J. Severinghaus and J. Kelleher, “Recent Developments in Pulse Oximetry,”
Anesthesiol. J., vol. 76, pp. 1018–1038, 1992.
[28] S. Rhee, B. Yang, H. H. Asada, and A. Member, “Artifact-Resistant Power-
Efficient Design of Finger-Ring Plethysmographic Sensors,” IEEE Trans.
Biomed. Eng., vol. 48, no. 7, pp. 795–805, 2001.
[29] S. Rhee, B. Yang, and H. H. Asada, “Artifact-Resistant, Power-Efficient Design
of Finger-Ring Plethysmographic Sensors Part I : Design and Analysis,” in
Annual EMBS International Conference, 2000, pp. 2792–2795.
[30] S. Rhee, B. Yang, and H. H. Asada, “Artifact-Resistant, Power-Efficient Design
of Finger-Ring Plethysmographic Sensors Part II : Prototyping and
Benchmarking,” in Annual EMBS International Conference, 2000, pp. 2796–
2799.
[31] Y. Mendelson and B. D. Ochs, “Noninvasive Pulse Oximetry Utilizing Skin
Reflectance Photoplethysmography,” IEEE Trans. Biomed. Eng., vol. 35, no. 10,
pp. 798–805, 1988.
85
[32] C. Pujary, M. Savage, and Y. Mendelson, “Photodetector Size Consideration in
the Design of a Noninvasive reflectance Pulse Oximeter for Telemedicine
Applications,” in Bioengineering Conference, 2003, pp. 148–149.
[33] R. G. Haahr et al., “A Novel Photodiode for Reflectance Pulse Oximetry in Low-
Power Applications,” Annu. Int. Conf. IEEE Eng. Med. Biol. Soc., pp. 2350–3,
Jan. 2007.
[34] Y. Mendelson and C. Pujary, “Measurement Site and Photodetector Size
Considerations in Optimizing Power Consumption of a Wearable Reflectance
Pulse Oximeter,” in Annual EMBS International Conference, 2003, pp. 3016–
3019.
[35] R. Brinkman and W. G. Zylstra, “Determination And Continuous Registration Of
The Percentage Oxygen Saturation In Clinical Conditions,” Arch. Chir. Neerl.,
vol. 1, pp. 177–183, 1949.
[36] M. Savage, C. Pujary, and Y. Mendelson, “Optimizing Power Consumption In
The Design Of A Wearable Wireless Telesensor : Comparison Of Pulse Oximeter
Modes I 11,” pp. 150–151, 2003.
[37] J. P. Buschmann and J. Huang, “New Ear Sensor for Mobile, Continuous and
Long-term Pulse Oximetry,” in IEEE Annual International Conference of the
Engineering in Medicine and Biology Society, 2010, pp. 5780–5783.
[38] J. P. Buschmann, J. Huang, and S. Member, “Pulse Oximetry in the External
Auditory Canal – A New Method of Mobile Vital Monitoring,” IEEE Sens. J.,
vol. 12, no. 3, pp. 671–676, 2012.
[39] F. Aznar, W. Gaberl, and H. Zimmermann, “A Highly Sensitive 2.5 Gb/s
Transimpedance Amplifier in CMOS Technology,” in IEEE International
Symposium on Circuits and Systems ISCAS, 2009, pp. 189–192.
[40] A. K. Y. Wong, K.-P. Pun, Y.-T. Zhang, and K. N. Leung, “A Low-Power CMOS
Front-End for Photoplethysmographic Signal Acquisition With Robust DC
Photocurrent Rejection.,” IEEE Trans. Biomed. Circuits Syst., vol. 2, no. 4, pp.
86
280–8, Dec. 2008.
[41] Y. Li, A. K. Y. Wong, and Y.-T. Zhang, “Fully-integrated transimpedance
amplifier for photoplethysmographic signal processing with two-stage Miller
capacitance multiplier,” Electron. Lett., vol. 46, no. 11, p. 745, 2010.
[42] G. Ferrari, F. Gozzini, and M. Sampietro, “Very high sensitivity CMOS circuit
to track fast biological current signals,” in IEEE Biomedical Circuits and Systems
Conference BioCAS, 2006, pp. 53–56.
[43] S. Lopez, “Pulse Oximeter Fundamentals and Design,” 2012.
[44] V. Chan and S. Underwood, “A Single-Chip Pulsoximeter Design Using the
MSP430,” 2010.
[45] Medical Solutions Guide, “Pulse oximeters (Diagnostics, monitoring, and
therapy).”
[46] R. Krishnan, B. B. Natarajan, and S. Warren, “Two-stage approach for detection
and reduction of motion artifacts in photoplethysmographic data.,” IEEE Trans.
Biomed. Eng., vol. 57, no. 8, pp. 1867–76, Aug. 2010.
[47] R. Krishnan, B. Natarajan, and S. Warren, “Analysis and Detection of Motion
Artifact in Photoplethysmographic Data Using Higher Order Statistics,” IEEE
Int. Conf. Acoust. Speech Signal Process. ICASSP, pp. 613–616, 2008.
[48] D. G. Clayton, R. K. Webb, A. C. Ralston, D. Duthie, and W. B. Runciman,
“Pulse oximeter probes,” Anesthesia, vol. 46, no. August 1990, pp. 260–265,
1991.
[49] J. W. Severinghaus, K. H. Naifeh, and S. O. Koh, “Errors in 14 pulse oximeters
during profound hypoxia,” J. Clin. Monit., vol. 5, no. 2, pp. 72–81, 1989.
[50] W. S. Johnston, P. C. Branche, C. J. Pujary, and Y. Mendelson, “Effects of
Motion Artifacts on Helmet-Mounted Pulse Oximeter Sensors,” in IEEE
Bioengineering Conference, 2004, pp. 20–21.
[51] B. Venema, J. Schiefer, V. Blazek, N. Blanik, and S. Leonhardt, “Evaluating
87
Innovative In-Ear Pulse Oximetry for Unobtrusive Cardiovascular and
Pulmonary Monitoring During Sleep,” IEEE J. Transl. Eng. Heal. Med., no.
August, 2013.
[52] S. Vogel, M. Hülsbusch, T. Hennig, V. Blazek, and S. Leonhardt, “In-ear vital
signs monitoring using a novel microoptic reflective sensor.,” IEEE Trans. Inf.
Technol. Biomed., vol. 13, no. 6, pp. 882–9, Nov. 2009.
[53] V. A. Scott, L. Tarassenko, C. J. Glynn, and A. R. Hill, “Contact lens oximetry:
a valid concept?,” in IEE Colloquium on Pulse Oximetry: A Critical Appraisal,
1996, pp. 1–3.
[54] J. P. de Kock, L. Tarassenko, C. J. Glynn, and a R. Hill, “Reflectance pulse
oximetry measurements from the retinal fundus.,” IEEE Trans. Biomed. Eng.,
vol. 40, no. 8, pp. 817–23, Aug. 1993.
[55] V. A. Scott, L. Tarassenko, E. Science, A. R. Hill, O. Eye, and R. Infirrnary,
“Retinal Pulse Oximetry: Toward a Method for Measuring Cerebral Oxygen
Saturation,” in Annual IEEE Conference of Engineering in Medicine and Biology
Society, 1995, pp. 1555–1556.
[56] S. Reichelt et al., “Development of an implantable pulse oximeter,” IEEE Trans.
Biomed. Eng., vol. 55, no. 2 Pt 1, pp. 581–8, Feb. 2008.
[57] P. Bingger et al., “In vivo monitoring of blood oxygenation using an implantable
MEMS-based sensor,” in IEEE International Conference onMicro Electro
Mechanical Systems (MEMS), 2010, pp. 1031–1034.
[58] J. Fiala, P. Bingger, K. Foerstert, C. Heilmann, and F. Beyersdorti, “Implantable
Sensor for Blood Pressure Determination via Pulse Transit Time,” in IEEE
Sensor Conference, 2010, pp. 1226–1229.
[59] D. Ruh, J. Fiala, H. Zappe, and A. Seifert, “Wavelet based data analysis for
implantable pulse oximetric sensors.,” in Annual International Conference of the
IEEE Engineering in Medicine and Biology Society, 2011, vol. 2011, no. 4, pp.
4812–5.
88
[60] P. Bingger et al., “Implantable Multi Sensor System for In Vivo Monitoring of
Cardiovascular Parameter,” in Conference of Solid-State Sensors, Actuators and
Microsystems, 2009, no. Figure 1, pp. 1469–1472.
[61] E. A. Peláez and E. R. Villegas, “LED power reduction trade-offs for ambulatory
pulse oximetry.,” in Annual International Conference of the IEEE Engineering
in Medicine and Biology Society, 2007, pp. 2296–9.
[62] C.-Y. Huang, M.-C. Chan, C.-Y. Chen, and B.-S. Lin, “Novel wearable and
wireless ring-type pulse oximeter with multi-detectors.,” Sensors (Basel)., vol.
14, no. 9, pp. 17586–99, Jan. 2014.
[63] G. Gagnon-Turcotte et al., “A wireless optogenetic headstage with multichannel
electrophysiological recording capability,” Sensors (Switzerland), vol. 15, no. 9,
2015.
[64] B. Gosselin and M. Sawan, “Adaptive detection of action potentials using ultra
low-power CMOS circuits,” in IEEE Biomedical Circuits and Systems
Conference (BIOCAS’08), 2008, pp. 209–212.
[65] A. Avakh Kisomi, A. Miled, M. Boukadoum, M. Morissette, F. Lellouche, and
B. Gosselin, “A novel wireless ring-shaped multi-site pulse oximeter,” in
Proceedings - IEEE International Symposium on Circuits and Systems, 2016.
[66] A. Avakh Kisomi, H. Landari, M. Boukadoum, A. Miled, and B. Gosselin,
“Towards A Multi-Wavelength Spectroscopy Platform for Blood
Characterization and Analysis,” IEEE Eng. Med. Biol. Soc., 2016.
89
Appendix A: Ring Pulse Oximeter Microcontroller
Code
#include <msp430.h>
#include <math.h>
// Variables
unsigned int i;
unsigned int k;
unsigned int counter_timer=0;
unsigned int counter_uart_ir=0;
unsigned int counter_uart_red=0;
// ADC variables
int ac_ir_in = 0;
int dc_ir_in = 0;
int dc_ir_out = 0;
float dc_output_ir=0;
int ac_red_in = 0;
int dc_red_in = 0;
int dc_red_out = 0;
float dc_output_red=0;
int offset=0;
// UART Variables
void UARTData(char);
unsigned char data_LSB=0;
unsigned char data_MSB=0;
// MUX Variables
void MUX_IR(int);
90
void MUX_RED(int);
void MUX_PD(int);
// DAC Variables (each 100s for DAC generate 400 mV in output)
unsigned char DAC_register_high,DAC_register_low;
void DAC1_A(unsigned int);
void DAC1_B(unsigned int);
void DAC2_A(unsigned int);
void DAC2_B(unsigned int);
// Initial setting
void Setting (void);
int main(void) {
Setting();
while (1);
}
void Setting(void)
{
// Stop watchdog timer
WDTCTL = WDTPW | WDTHOLD;
P1DIR |= BIT5 + BIT6;
// Set P1.5 (IR) and P1.6(red) as output for LED driving
// Set Frequency to 16 MHz
UCSCTL3 = SELREF_2;
91
// Set DCO FLL reference = REFO
UCSCTL4 |= SELA_2;
// Set ACLK = REFO
UCSCTL0 = 0x0000;
// Set lowest possible DCOx, MODx
// Loop until XT1,XT2 & DCO stabilizes -‐ In this case only DCO has to stabilize
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG +
DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG;
// Clear fault flags
}while (SFRIFG1&OFIFG);
// Test oscillator fault flag
__bis_SR_register(SCG0);
// Disable the FLL control loop
UCSCTL1 = DCORSEL_5;
// Select DCO range 16MHz operation
UCSCTL2 |= 499;
// Set DCO Multiplier for 8MHz
// (N + 1) * FLLRef = Fdco
// (499 + 1) * 32768 = 16MHz
__bic_SR_register(SCG0);
// Enable the FLL control loop
92
// Worst-‐case settling time for the DCO when the DCO range bits have been
// changed is n x 32 x 32 x f_MCLK / f_FLL_reference. See UCS chapter in 5xx
// UG for optimization.
// 32 x 32 x 8 MHz / 32,768 Hz = 250000 = MCLK cycles for DCO to settle
__delay_cycles(250000);
//P7DIR |= BIT7; // MCLK set out to pins
//P7SEL |= BIT7;
// DAC Settings (SPI)
P1DIR |= BIT2 + BIT3 + BIT4;
// Set P1.2 and P1.4 as output (DAC1 and DAC2 Selection), Set P1.3 as output
(LDAC)
P1OUT |= BIT2 + BIT4;
// CS = 1
P2DIR |= BIT7;
// Set P2.7 to output direction
P2SEL |= BIT7;
// Enable SCK
P3DIR |= BIT3;
// Set P3.3 to output direction
P3SEL |= BIT3;
// Enable SIMO
UCA0CTL1 |= UCSWRST;
// **Put state machine in reset**
UCA0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB;
// 3-pin, 8-bit SPI master, Clock polarity high, MSB
UCA0CTL1 |= UCSSEL_2;
// SMCLK
93
UCA0BR0 = 0x02;
// /2
UCA0BR1 = 0;
//
UCA0MCTL = 0;
// No modulation
UCA0CTL1 &= ~UCSWRST;
// **Initialize USCI state machine**
// MUX Setting
P6DIR |= BIT0 + BIT1 + BIT2 + BIT3;
// P6.0,1,2,3 set as output // RED
P4DIR |= BIT0 + BIT1 + BIT2 + BIT3;
// P4.0,1,2,3 set as output // PD
P3DIR |= BIT0 + BIT1 + BIT2 + BIT4;
// P3.0,1,2,4 set as output // IR
// UART Setting
P4SEL |= BIT4 + BIT5;
// P4.4,5 = USCI_A1 TXD/RXD
UCA1CTL1 |= UCSWRST;
// **Put state machine in reset**
UCA1CTL1 |= UCSSEL_2;
// SMCLK
UCA1BR0 = 8;
// 1MHz 115200 (see User's Guide)
UCA1BR1 = 0;
// 1MHz 115200 (Page 993 - slau208n)
// UCA1MCTL |= UCBRS_1 + UCBRF_0;
94
// Modulation UCBRSx=1, UCBRFx=0
UCA1MCTL |= 0xF7 + UCBRF_10;
UCA1CTL1 &= ~UCSWRST;
// **Initialize USCI state machine**
// ADC Setting
P6DIR &= ~BIT4;
// P6.4 input
P6SEL |= BIT4;
// Enable A/D channel A4
P6DIR &= ~BIT5;
// P6.5 input
P6SEL |= BIT5;
// Enable A/D channel A5
ADC12CTL0 = ADC12ON + ADC12MSC + ADC12SHT0_2;
// Turn on ADC12, set sampling time
ADC12CTL1 = ADC12SHP + ADC12CONSEQ_1;
// Use sampling timer, single sequence
ADC12MCTL0 = ADC12INCH_4;
// ref+=AVcc, channel = A0
ADC12MCTL1 = ADC12INCH_5 + ADC12EOS;
// ref+=AVcc, channel = A1, end seq.
ADC12IE = 0x02;
// Enable ADC12IFG.1
ADC12CTL0 |= ADC12ENC;
// Enable conversions
95
// Timer Setting
TA0CCTL0 = CCIE;
// CCR0 interrupt enabled
TA0CCR0 = 4187;
// Capture Compare Register
TA0CTL = TASSEL_2 + MC_1 + TACLR;
// SMCLK, upmode, clear TAR
__bis_SR_register(LPM0_bits + GIE);
// Enter LPM0, enable interrupts
__no_operation();
// For debugger
}
void UARTData(char data)
{
while (!(UCA1IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA1TXBUF = data;
// TX --> RXed character
}
void DAC1_A(unsigned int dac_value_a)
{
dac_value_a = dac_value_a << 2;
DAC_register_low = dac_value_a & 0xFF;
DAC_register_high = (dac_value_a >> 8) & 0x0F;
DAC_register_high |= 0x10;
96
P1OUT &= ~BIT2;
// CS = 0
while (!(UCA0IFG & UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_high;
// Transmit first character
__delay_cycles(1);
// delay
while (!(UCA0IFG & UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_low;
// Transmit first character
__delay_cycles(13);
// delay
P1OUT |= BIT2;
// CS = 1
P1OUT &= ~BIT3;
// LDAC = 0
__delay_cycles(1);
// delay
P1OUT |= BIT3;
// LDAC = 1
}
void DAC1_B(unsigned int dac_value_b)
{
dac_value_b = dac_value_b << 2;
97
DAC_register_low = dac_value_b & 0xFF;
DAC_register_high = (dac_value_b >> 8) & 0x0F;
DAC_register_high |= 0x90;
P1OUT &= ~BIT2;
// CS = 0
while (!(UCA0IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_high;
// Transmit first character
__delay_cycles(1);
// delay
while (!(UCA0IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_low;
// Transmit first character
__delay_cycles(13);
// delay
P1OUT |= BIT2;
// CS = 1
P1OUT &= ~BIT3;
// LDAC = 0
__delay_cycles(1);
// delay
P1OUT |= BIT3;
// LDAC = 1
}
98
void DAC2_A(unsigned int dac_value_a)
{
dac_value_a = dac_value_a << 2;
DAC_register_low = dac_value_a & 0xFF;
DAC_register_high = (dac_value_a >> 8) & 0x0F;
DAC_register_high |= 0x10;
P1OUT &= ~BIT4;
// CS = 0
while (!(UCA0IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_high;
// Transmit first character
__delay_cycles(1);
// delay
while (!(UCA0IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_low;
// Transmit first character
__delay_cycles(13);
// delay
P1OUT |= BIT4;
// CS = 1
P1OUT &= ~BIT3;
// LDAC = 0
__delay_cycles(1);
// delay
P1OUT |= BIT3;
99
// LDAC = 1
}
void DAC2_B(unsigned int dac_value_b)
{
dac_value_b = dac_value_b << 2;
DAC_register_low = dac_value_b & 0xFF;
DAC_register_high = (dac_value_b >> 8) & 0x0F;
DAC_register_high |= 0x90;
P1OUT &= ~BIT4;
// CS = 0
while (!(UCA0IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_high;
// Transmit first character
__delay_cycles(1);
// delay
while (!(UCA0IFG&UCTXIFG));
// USCI_A0 TX buffer ready?
UCA0TXBUF = DAC_register_low;
// Transmit first character
__delay_cycles(13);
// delay
P1OUT |= BIT4;
// CS = 1
P1OUT &= ~BIT3;
// LDAC = 0
100
__delay_cycles(1);
// delay
P1OUT |= BIT3;
// LDAC = 1
}
// Multilexer RED
void MUX_RED(int x)
// PORT6 _ BIT 0,1,2,3
{
P6OUT &= ~BIT0;
// Disable the MUX
switch(x)
{
case 1:
P6OUT &= ~BIT1; // 0
P6OUT &= ~BIT2; // 0
P6OUT &= ~BIT3; // 0
break;
case 2:
P6OUT |= BIT1; // 1
P6OUT &= ~BIT2; // 0
P6OUT &= ~BIT3; // 0
break;
case 3:
P6OUT &= ~BIT1; // 0
P6OUT |= BIT2; // 1
P6OUT &= ~BIT3; // 0
break;
101
case 4:
P6OUT |= BIT1; // 1
P6OUT |= BIT2; // 1
P6OUT &= ~BIT3; // 0
break;
case 5:
P6OUT &= ~BIT1; // 0
P6OUT &= ~BIT2; // 0
P6OUT |= BIT3; // 1
break;
case 6:
P6OUT |= BIT1; // 1
P6OUT &= ~BIT2; // 0
P6OUT |= BIT3; // 1
break;
}
P6OUT |= BIT0;
// Enable the MUX
}
// Multiplexer IR
void MUX_IR(int x)
// PORT3 _ BIT 0,1,2,4
{
P3OUT &= ~BIT0;
// Disable the MUX
102
switch(x)
{
case 1:
P3OUT &= ~BIT1; // 0
P3OUT &= ~BIT2; // 0
P3OUT &= ~BIT4; // 0
break;
case 2:
P3OUT |= BIT1; // 1
P3OUT &= ~BIT2; // 0
P3OUT &= ~BIT4; // 0
break;
case 3:
P3OUT &= ~BIT1; // 0
P3OUT |= BIT2; // 1
P3OUT &= ~BIT4; // 0
break;
case 4:
P3OUT |= BIT1; // 1
P3OUT |= BIT2; // 1
P3OUT &= ~BIT4; // 0
break;
case 5:
P3OUT &= ~BIT1; // 0
P3OUT &= ~BIT2; // 0
P3OUT |= BIT4; // 1
break;
103
case 6:
P3OUT |= BIT1; // 1
P3OUT &= ~BIT2; // 0
P3OUT |= BIT4; // 1
break;
}
P3OUT |= BIT0;
// Enable the MUX
}
// MUX PD
void MUX_PD(int x)
// PORT4 _ BIT 0,1,2,3
{
P4OUT &= ~BIT0;
// Disable the MUX
switch(x)
{
case 1:
P4OUT &= ~BIT1; // 0
P4OUT &= ~BIT2; // 0
P4OUT &= ~BIT3; // 0
break;
case 2:
P4OUT |= BIT1; // 1
P4OUT &= ~BIT2; // 0
P4OUT &= ~BIT3; // 0
break;
104
case 3:
P4OUT &= ~BIT1; // 0
P4OUT |= BIT2; // 1
P4OUT &= ~BIT3; // 0
break;
case 4:
P4OUT |= BIT1; // 1
P4OUT |= BIT2; // 1
P4OUT &= ~BIT3; // 0
break;
case 5:
P4OUT &= ~BIT1; // 0
P4OUT &= ~BIT2; // 0
P4OUT |= BIT3; // 1
break;
case 6:
P4OUT |= BIT1; // 1
P4OUT &= ~BIT2; // 0
P4OUT |= BIT3; // 1
break;
}
P4OUT |= BIT0;
// Enable the MUX
}
// Timer0 A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
switch (counter_timer % 8)
{
105
case 0:
// LED driving
DAC1_A(350);
// 5 uSec (+ 1.26us(100) / 1.88us(200) / 2.6us(300) / 3.32us(400) / 3.96us(500) /
4.66us(600) / 5.38us(700) / 6us(750))
MUX_IR(1);
MUX_RED(1);
MUX_PD(1);
break;
case 1:
__delay_cycles(1000);
// ADC reading
//P1OUT |= BIT5;
ADC12CTL0 |= ADC12SC;
// Start conversion
while (!(ADC12IFG & BIT1));
ADC12CTL0 &= ~ADC12SC;
// Stop conversion
dc_ir_in = ADC12MEM1 - offset;
// Move results, IFG is cleared
//P1OUT &= ~BIT5;
break;
case 2:
DAC1_A(0);
106
//DAC2_A(0);
counter_uart_ir++;
if (counter_uart_ir==1)
{
//P1OUT |= BIT5;
// Send by UART IR
UARTData('i');
// DC preparation
data_LSB = 0x0080 | (0x003F & dc_ir_in);
// to put 10 in the first 2 bits
data_MSB = 0x00C0 | (0x003F & (dc_ir_in >> 6));
// to put 11 in the first 2 bits
// Transmitting DC signal
UARTData(data_LSB);
// 5 uSec
UARTData(data_MSB);
// 5 uSec
counter_uart_ir = 0;
//P1OUT &= ~BIT5;
}
107
break;
case 3:
// ADC reading
ADC12CTL0 |= ADC12SC;
// Start conversion
while (!(ADC12IFG & BIT1));
ADC12CTL0 &= ~ADC12SC;
// Stop conversion
offset = ADC12MEM1;
// Move results, IFG is cleared
break;
case 4:
// LED driving
DAC1_B(350);
// 5 uSec (+ 1.26us(100) / 1.88us(200) / 2.6us(300) / 3.32us(400) / 3.96us(500) /
4.66us(600) / 5.38us(700) / 6us(750))
break;
case 5:
__delay_cycles(1000);
// ADC reading
//P1OUT |= BIT5;
ADC12CTL0 |= ADC12SC;
// Start conversion
while (!(ADC12IFG & BIT1));
ADC12CTL0 &= ~ADC12SC;
108
// Stop conversion
dc_red_in = ADC12MEM1 - offset;
// Move results, IFG is cleared
//P1OUT &= ~BIT5;
break;
case 6:
DAC1_B(0);
//DAC2_A(0);
counter_uart_red++;
if (counter_uart_red == 1)
{
// Send by UART Red
UARTData('r');
// DC preparation
data_LSB = 0x0080 | (0x003F & dc_red_in);
// to put 10 in the first 2 bits
data_MSB = 0x00C0 | (0x003F & (dc_red_in >> 6));
// to put 11 in the first 2 bits
// Transmitting DC signal
UARTData(data_LSB);
// 5 uSec
UARTData(data_MSB);
109
// 5 uSec
counter_uart_red = 0;
}
break;
case 7:
// ADC reading
ADC12CTL0 |= ADC12SC;
// Start conversion
while (!(ADC12IFG & BIT1));
ADC12CTL0 &= ~ADC12SC;
// Stop conversion
offset = ADC12MEM1;
// Move results, IFG is cleared
break;
}
counter_timer++;
}
110
Appendix B: Ring Pulse Oximeter MATLAB Code
Main
BD = 115200;
Port = 'COM3';
BUFFERIN = 1500000;
global counter
global t
global buffer_ac_ir
global buffer_dc_ir
global buffer_ac_red
global buffer_dc_red
counter =0;
buffer_ac_ir = zeros(1,100);
buffer_dc_ir = zeros(1,100);
buffer_ac_red = zeros(1,100);
buffer_dc_red = zeros(1,100);
disp('Program started');
try
board = serial(Port, 'BaudRate', BD, 'DataBits',8, 'Timeout', 5);
set(board, 'InputBufferSize', BUFFERIN);
fopen(board);
% Initialize the stripchart
Fs = 1000; %sampling frequency
ScopeWidth = 1; %defines the stripchart's scope width
Nb_curves = 1; %number of curves plotted in the stripchart
figure(1);
stripchart(Fs, ScopeWidth, Nb_curves);
111
% Setup the timer
TMR_PERIOD = 0.001; %period in s
t = timer('TimerFcn', @(x,y)getData(board), 'Period', TMR_PERIOD);
set(t,'ExecutionMode','fixedRate');
start(t);
catch err
disp('Unexpected program termination');
disp(err.message);
fclose(board);
throw(err);
end
getData:
function getData(board)
% Variables
global G2
global buffer_ac_ir
global buffer_dc_ir
global buffer_ac_red
global buffer_dc_red
global counter
global data_in_ac_ir
global data_in_dc_ir
global data_in_ac_red
global data_in_dc_red
data_in_ac_ir = 0;
112
data_in_dc_ir = 0;
data_in_ac_red = 0;
data_in_dc_red = 0;
G2 = 20;
counter = counter + 1;
NB_bytes_code = 1;
NB_bytes_to_read = 9;
% Signal Acquisition
code_char = fread(board, NB_bytes_code);
% Waitng to find an 'i' charcter as IR
while (code_char ~= 105)
code_char = fread(board, NB_bytes_code);
end
% Reading ir signal
%if (code_char == 105 ) % ascii code for 'i' is 105
ir_data = fread(board, NB_bytes_to_read);
ac_LSB = de2bi(ir_data(1),8);
ac_MSB = de2bi(ir_data(2),8);
dc_LSB = de2bi(ir_data(3),8);
dc_MSB = de2bi(ir_data(4),8);
if (ac_LSB(8)== 0 && ac_LSB(7)== 0 && ac_MSB(8)== 0 &&
ac_MSB(7)== 1)
data_in_ac_ir(1) = bi2de(ac_LSB) + (bi2de(ac_MSB)-64)*64;
data_in_ac_ir(2) = bi2de(ac_LSB) + (bi2de(ac_MSB)-64)*64;
end
113
if (dc_LSB(8)== 1 && dc_LSB(7)== 0 && dc_MSB(8)== 1 &&
dc_MSB(7)== 1)
data_in_dc_ir (1)= (bi2de(dc_LSB)-128) + (bi2de(dc_MSB)-192)*64;
data_in_dc_ir (2)= (bi2de(dc_LSB)-128) + (bi2de(dc_MSB)-192)*64;
end
%end
%code_char = fread(board, NB_bytes_code);
% Waitng to find an 'r' charcter as red
% while (code_char ~= 114)
% code_char = fread(board, NB_bytes_code);
% end
% Reading red signal
%if (code_char == 114 ) % ascii code for 'r' is 114
%red_data = fread(board, NB_bytes_to_read);
ac_LSB = de2bi(ir_data(6),8);
ac_MSB = de2bi(ir_data(7),8);
dc_LSB = de2bi(ir_data(8),8);
dc_MSB = de2bi(ir_data(9),8);
if (ac_LSB(8)== 0 && ac_LSB(7)== 0 && ac_MSB(8)== 0 &&
ac_MSB(7)== 1)
data_in_ac_red(1) = bi2de(ac_LSB) + (bi2de(ac_MSB)-64)*64;
data_in_ac_red(2) = bi2de(ac_LSB) + (bi2de(ac_MSB)-64)*64;
end
if (dc_LSB(8)== 1 && dc_LSB(7)== 0 && dc_MSB(8)== 1 &&
dc_MSB(7)== 1)
data_in_dc_red(1) = (bi2de(dc_LSB)-128) + (bi2de(dc_MSB)-192)*64;
data_in_dc_red(2) = (bi2de(dc_LSB)-128) + (bi2de(dc_MSB)-192)*64;
end
114
%end
buffer_ac_ir (counter)= data_in_ac_ir(1);
buffer_dc_ir (counter)= data_in_dc_ir(1);
buffer_ac_red (counter)= data_in_ac_red(1);
buffer_dc_red (counter)= data_in_dc_red(1);
if (counter == 100)
dc_ir = mean (buffer_dc_ir) * G2;
p2p_ir = peak2peak(buffer_ac_ir);
dc_red = mean (buffer_dc_red) * G2;
p2p_red = peak2peak(buffer_ac_red);
Output = [dc_ir, p2p_ir, dc_red, p2p_red];
disp(Output);
ratio_ir = p2p_ir / dc_ir;
ratio_red = p2p_red / dc_red;
total_ratio = ratio_red / ratio_ir;
disp(total_ratio);
SPO2 = 100 * (0.81 - (0.18 * total_ratio))/ (0.73 + (0.11 * total_ratio));
disp(strcat('SPO2 : ', sprintf(' %.2f ', SPO2), '%'));
counter =0;
end
% Updating the stripchart
figure(1);
stripchart(data_in_ac_ir(1 : end));drawnow;
115
Stripchart:
% Original version of StripChart written by Bob Bemis
% This modification was developed by Michelle Hirsch to match syntax
% of SpectrumScope
% Copyright 2003-2004 The MathWorks, Inc
%% Parse input arguments
% Decision tree:
% + Initialize or update?
% o If update -> OK
% o If initialize -> Axes specified, or use GCA?
error(nargchk(1,4,nargin))
%% Initialize or update?
% If first or second input argument is not a scalar, it must be data - i.e. we are
% updating
if numel(varargin{1}) > 1 || numel(varargin{2}) > 1 % Update
action = 'update';
if nargin==1 % Use current axes
hAxes = gca;
data = varargin{1};
else
hAxes = varargin{1}; % Axes was specified
data = varargin{2};
116
end;
% If the user has not initialized this scope, do it for them
parms = getappdata(hAxes,'StripChartParameters');
% Ensure that scope has been initialized
if isempty(parms)
% Use default values
Fs = 1;
data = rowmajor(data);
[Ns,NTraces] = size(data);
AxesWidth = Ns*Fs;
feval(mfilename,hAxes,Fs,AxesWidth,NTraces); % This recursive call will
initialize the scope
% Get the new parameter structure
parms = getappdata(hAxes,'StripChartParameters');
end;
else % Initialize
action = 'init';
if ~isaxes(varargin{1}) % Easy mode, no handle passed in
% Use current axes
hAxes = gca;
Fs = varargin{1};
AxesWidth = varargin{2};
Ns = AxesWidth*Fs; % Number of samples across axes
if nargin==3
NTraces = varargin{3};
117
else
NTraces = 1;
end;
else % Expert mode, passed handle in
hAxes = varargin{1};
Fs = varargin{2};
AxesWidth = varargin{3};
Ns = AxesWidth*Fs; % Number of samples across axes
if nargin==4
NTraces = varargin{4};
else
NTraces = 1;
end;
end;
end;
%% Dole out the work
%
switch action
case 'init' % Initialize
% Build structure to internally pass information
parms.Fs = Fs; % Sample Rate
parms.NTraces = NTraces; % Number of lines in plot
parms.hAxes = hAxes; % Handle to axes
parms.Ns = Ns; % Number of samples across axes
parms.AxesWidth = AxesWidth; % Requested Axes Width (s)
% Store parameter structure
118
setappdata(hAxes,'StripChartParameters',parms);
localInitScope(parms) % Initialize scope
case 'update' % Update
parms = getappdata(hAxes,'StripChartParameters');
% Error checking
% Ensure that scope has been initialized. This shouldn't slip
% through to here.
if isempty(parms)
error(['The spectrum scope must first be initialized ' ...
'with the sample rate: stripchart(hAxes,Fs)']);
end;
% Force data to be in columns. Allow for multiple columns. This will
% error if data actually has more channels than samples.
data = rowmajor(data);
% Check that the number of columns corresponds to the number of lines
nc = size(data,2); % Number of columns
if nc ~= parms.NTraces
error(['Size mismatch. You initialized stripchart with '
num2str(parms.NTraces) ...
' lines, but just passed in ' num2str(nc) ' channels of data. These' ...
' numbers must be the same.']);
end;
localUpdateScope(data,parms) % Update the scope
end;
119
% Return appropriate output argument
if nargout
varargout{1} = parms.hAxes;
end;
%
*******************************************************************
****
% Initialize the Scope
function localInitScope(parms)
% Set axes
t = (0:1:parms.Ns-1)'/parms.Fs;
% Add line(s)
parms.hLine = plot(t,NaN*ones(length(t),parms.NTraces), ...
'Tag','StripChart', ...
'Parent',parms.hAxes);
set(parms.hAxes,'XLim',[0 parms.AxesWidth]);
setappdata(parms.hAxes,'StripChartParameters',parms);
%% Get handle to the figure
% Turn doublebuffer on to eliminate flickering
hFig = get(parms.hAxes,'Parent');
% In R14, it's possible that hFig would return a handle to a panel, not a
% figure
if ~strcmp(get(hFig,'Type'),'figure')
hFig = get(hFig,'Parent');
end;
120
%%
% Format the axes
% maintain X tick spacing
Ticks = get(parms.hAxes,'XTick');
dX = mean(diff(Ticks));
% enforce right justification for grid lines & remove X tick labels
Range = get(parms.hAxes,'XLim');
if Range(end)~=Ticks(end)
Ticks = fliplr(Range(end):-dX:Range(1));
set(parms.hAxes,'XTick',Ticks)
end
set(parms.hAxes,'XTickLabel',[],'XTickMode','Manual','XGrid','On','YGrid','On')
%%
% Label the plot.
% There's a bug in R13 when creating xlabel and ylabel with direct
% parenting - the alignment gets all messed up. Instead, make hAx current
% axes
ca = gca;
set(hFig,'CurrentAxes',parms.hAxes);
xlabel(sprintf('%g%s/div',dX,'s'))
ylabel('Amplitude');
set(hFig,'CurrentAxes',ca);
axis manual
%%
% Turn doublebuffer on to eliminate flickering
121
set(hFig,'DoubleBuffer','on');
%
*******************************************************************
****
% Update the plot.
function localUpdateScope(data,parms)
% Callback function to update stripchart with new data
% Dynamically modify Magnitude axis as we go. Expand, but don't shrink.
maxM=max(data(:));
minM=min(data(:));
yax2=get(parms.hAxes,'YLim');
if minM<yax2(1),
yax2(1)=minM;
end
if maxM>yax2(2),
yax2(2)=maxM;
end
set(parms.hAxes,'YLim',yax2)
hLine = parms.hLine;
[newPts,NLines] = size(data);
yData = get(hLine,'YData'); % old data
if NLines==1 %Special case for one line only
yData(1:end-newPts) = yData(newPts+1:end); % shift old data left
yData(end-newPts+1:end) = data; % new data goes on right
set(hLine,'YData',yData) % update plot
122
else
for ii=1:NLines
yData{ii}(1:end-newPts) = yData{ii}(newPts+1:end); % shift old data left
yData{ii}(end-newPts+1:end) = data(:,ii); % new data goes on right
end;
set(hLine,{'YData'},yData) % update plot
end;
%
*******************************************************************
****
% Utility - isaxes
function truefalse = isaxes(h)
% ISAXES(H) True if H is a handle to a valid axes
truefalse = 0; % Start false
if ishandle(h)
if strcmp('axes',get(h,'Type'))
truefalse = 1;
end;
end;
%
*******************************************************************
****
% Utility - rowmajor
function data = rowmajor(data)
% Force data to be row major. i.e. more rows than columns
[nr,nc] = size(data);
if nc>nr
123
data = data';
end;
124
Appendix C: Datasheets of the Components
125
126
127
128
129
130
131
132
133
134
Recommended