Electronic – pulse oximeter,spo2 calculation


I am designing a Pulse Oximeter.
The SpO2 probe has an IR LED and a photodiode.

I need assistance with the algorithm for calculation of SpO2.

I'm aware of eg Wikpedia and similar sites and I have referred to many papers for the SpO2 calculation, understood till calculation of modulation ratio. But different equations were used in different papers, which they say that they obtained by calibration results. That's the problem. How to calibrate the Sp02 level?

Best Answer

SPO2 calculations are a "black art".
While they are based on the optical characteristics of haemoglobin at two wavelengths, there are a range of other parameters which make a simple calculation impractical.

The basic theory can be simplistically described as: At one optical "reference" wavelength, blood is about equally 'transparent' regardless of its degree of oxygenation, whereas at a second wavelength the 'transparency' varies with the degree of oxygenation in an analytically understood manner. By comparing the optical attenuation at the two wavelengths the losses due to mechanical issues can be eliminated and the loss due to change in oxygenation level can be determined.

In practice, a range of additional factors greatly complicate the system. Developers make various assumptions and derive their own proprietary methods and algorithms to cope. Your main choices are to either become another 'developer' carrying out your own investigations , or to "pickyback" on prior work by intelligent "curve fitting" of your measured optical results with the reported SpO2 levels from commercial systems when your system and theirs are measuring the same "target". I'll assume that the latter "stand on the shoulders of giants" approach will be preferred.

You say that you have referred to many papers that discussed calibration - which is an essential starting point. You now need to make your own decisions based on what others have done and applying some practical reasoning. Depending on the purpose of your device (student project or commercial product or ....) you may be able to get a 'good enough' result by simple means.

You may be able to get access to a commercial machine either on a loan basis or perhaps by persuading a local clinic or hospital to come in and "play" with one in an unused treatment room when they are not busy. All you then need is your machine, their machine , a means of measuring the output of your machine AND, importantly, a source of varyingly oxygenated blood inside a finger or whatever target you are using. The last requirement is both the hardest and easiest. The easiest method is to have a willing "target" who is able to vary SpO2 levels on demand. You or a friend/candidate/guinea pig are a good choice.

By varying my own breathing, I personally can reduce my SpO2 level to the point where a typically set monitoring alarm will sound. From memory this is often about 80% but whatever figure it is, it's not too hard by breathing slowly and retaining air as long as possible and controlling breath size to lower SpO2 to alarm level in perhaps (from memory) 20-30 seconds. Return to high levels (95% +?) is rapid when breathing normally. With a small amount of practice and "optical feedback" from a calibrated machine one can hold SpO2 at any desired level between trigger point and close to fully saturated. (Ask me how I know :-) ).

SO if you have the two machines (yours and a commercial one for comparison) you can vary the SpO2 levels easily and widely, and record data output by your machine plus recorded SpO2% from the commercial machine under various conditions. Being able to do this with several brands of commercial equipment would be even better. Doing this with different users, different fingers, varying conditions (temperature, user mild inebriation, fasting, post glucose 'spike', .... ) would allow you to see what if any difference these things make.

It is useful, fun and important to note that altitude alters the result due to the affect of absolute oxygen mass per litre of inhaled air and the body's consequent adjustment of its operating point on the haemoglobin takeup / release curve (which is the main factor affecting altitude climatization).

If you are using an Arduino or similar it would be easy to log your results - and not quite so easy to record the commercial machines SpO2 values. If it has a USB or serial output that can be logged. If not you may need to use manual keyboard input of displayed SpO2 levels.

Long ago (10-20 years) I read an utterly superb Hewlett Packard Journal with a number of related articles. It covered equipment and sensor design and decisions and more. Should be findable.

Possible use:

Hewlett Packard Journal, 1997

Volunteer Study for Sensor Calibration

A New Family of Sensors for Pulse Oximetry

Neonatal Sensor Clinical Validation

Hewlett Packard Journal, 1976

Haha wow !!!



Philips 22 pages !!! Understanding Pulse Oximetry SpO2 Concepts



Related Topic