Previous in Forum: Condenser Motor   Next in Forum: i need help
Close
Close
Close
15 comments
Rating: Comments: Nested
Member

Join Date: Oct 2009
Posts: 7

Pulse Oximeter - Period Calculation Algorithm

12/31/2009 3:26 AM

Hello,

My group is implementing a pulse oximeter(on the finger) as part of our final year engineering project. My question relates to the algorithm for finding the period of the sampled data (and hence the pulse). The first graph in the image below shows what an ideal photoplethysmograph from a pulse oximeter might look like. Essentially, the goal is to find the time between the maximum peaks in the waveform. We were considering sampling around 50Hz. Due to noise, I thought about using a 5 or 7 sample average of the data (ie. low pass filter). Then, based on when this average begins to decrease a maximum can be detected. The problem is that there can be more than one maximum in one period (of different amplitude) and furthermore the portions are variable as shown in the wikipedia page here:

http://en.wikipedia.org/wiki/File:PPG.PNG

I haven't yet been able to think of a robust algorithm to take into account these factors. Any assistance would be greatly appreciated.

Thank you,

Harinder

Other info:

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC137227/

Register to Reply
Pathfinder Tags: Algorithm oximeter period pulse
Interested in this topic? By joining CR4 you can "subscribe" to
this discussion and receive notification when new comments are added.

Good Answers:

These comments received enough positive votes to make them "good answers".

"Almost" Good Answers:

Check out these comments that don't yet have enough votes to be "official" good answers and, if you agree with them, vote them!
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#1

Re: Pulse Oximeter - period calculation algorithm

12/31/2009 4:37 AM

Dunno of any actual algorithm, but I've done similar work on respiratory instrumentation. I'd suggest your sampling rate should be higher. The running average generally works well, but fine tuning can only be done by experiment in my opinion.
If you take enough maxima and the ndo stats on them you should be able to weed out any false ones. I s'pose it depends what response time you need, I wouldn't think you are too worried about say 5 or 10 seconds delay.
Looking for abnormal difference between adjacent sample can also provide a 'time stamp' for abnormal readings, you could just ignore the next few...

I'd say, look at your data, can you see where the true peaks are? If you can then ask yourself exactly how you are doing this. If you can answer that question then you can write software to apply those same criteria.
EG, a genuine peak will typically trail off gently afterwards, so check that your 'first guess' peak has subsequent readings which don't drop off too quickly or unevenly.
Nice question, I shall read other replies with interest.
Dunno if that helps.
Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply Score 1 for Good Answer
Guru

Join Date: Mar 2007
Location: City of Light
Posts: 3943
Good Answers: 183
#2

Re: Pulse Oximeter - period calculation algorithm

12/31/2009 5:47 AM

According to the Shannon or Nyquist theorems a curve could be recognized only if its frequency is less half of sampling frequency. This means that you can recognize a maximum ONLY if your sampling frequency is at least 2x the frequency of the highest harmonic in the signal. If your sampling frequency is low then you get a "rounded" result and extreme values are not to notice.

This goes in the same direction as what was written by Del only now you have a quantified guide line.

Register to Reply Score 1 for Good Answer
Member

Join Date: Oct 2009
Posts: 7
#4
In reply to #2

Re: Pulse Oximeter - period calculation algorithm

12/31/2009 12:21 PM

Given a really high heart rate, say 200 beats/min, the frequency of the pulse would be 3.33 beats/sec which is much lower than the sampling ratewhich is 50Hz. So I think picking up the heart rate is no problem, its the noise i'd be picking up at these sampling frequencies which is the issue.

Thanks for the input.

Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#6
In reply to #4

Re: Pulse Oximeter - period calculation algorithm

12/31/2009 12:49 PM

"3.33 beats/sec which is much lower than the sampling ratewhich is 50Hz."
Ah yes maybe,... but there is information in the shape of the waveform (eg harmonics) which will be lost if you sample too slowly.
Also you are interested in the shape of the interference so that you can discount it, unless you can remove it at source.
"So I think picking up the heart rate is no problem, its the noise i'd be picking up at these sampling frequencies which is the issue."
It also depends how you are doing your filtering etc, are you doing it in the electronics or by software.
What is causing the movement induced noise? Can you have a second, non active sensor and do some noise cancelling?
Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply Score 1 for Good Answer
Member

Join Date: Oct 2009
Posts: 7
#8
In reply to #6

Re: Pulse Oximeter - period calculation algorithm

01/03/2010 3:05 AM

Oh i see, that makes sense.

The filtering will be done in software. We are using a light to voltage converter from TAOS (http://www.taosinc.com/ProductDetails.aspx?id=57). The output is fed directly to a PIC microcontroller.

We don't have the hardware built yet so i'm not sure how much noise due to the movement of the finger will result. hopefully minimal. Currently, we are planning on using a single photo-diode sensor. how does noise cancellation with a non-active sensor work?

Thanks.

Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#9
In reply to #8

Re: Pulse Oximeter - period calculation algorithm

01/03/2010 4:38 AM

Ah, if I'm making sense already maybe it'll be a good year.
Noise cancelling is a bit like a bridge circuit.
EG. Say two virtually identical resistive (for simplicity) sensors are wired as a simple potential divider (say across 5v) and subject to the same ambient conditions, those conditions will effect them both the same and thus the junction of the two elements would stay at 2.5v. If the active sensor (say they are light dependent resistors) is exposed to the light then you will get the light signal but with less noise.
This is a rather simplified example of course, this sort of proactice is common with strain gauges etc.

I'd think some high frequency electric filtering at the input would be a good idea, even if it's just a 0.01uf slapped in somewhere appropriate.
Del
Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply
Guru
United Kingdom - Member - Not a New Member Hobbies - Musician - New Member Hobbies - Fishing - New Member

Join Date: May 2006
Location: Reading, Berkshire, UK. Going under cover.
Posts: 9684
Good Answers: 468
#10
In reply to #9

Re: Pulse Oximeter - period calculation algorithm

01/03/2010 6:21 AM

Think in this case the motion-induced part of the signal would be down to movement of muscle & whatever inside the finger as it flexes. If so, you'd need your second sensor to be looking at a region moving in exactly the same way, but without the pulse. .

Think some kind of base line restoration would be more practical (i.e. VLF filtering).

__________________
"Love justice, you who rule the world" - Dante Alighieri
Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#11
In reply to #10

Re: Pulse Oximeter - period calculation algorithm

01/03/2010 11:31 AM

Good point...
They are usually on a clothes peg type thingy, maybe you could have one on each side, but I don't know if you could pick up the mov't without the pulse. But hey ya gotta try stuff.
Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply
Guru
United Kingdom - Member - Not a new member!

Join Date: Jun 2008
Location: USA/Europe
Posts: 4547
Good Answers: 68
#12
In reply to #11

Re: Pulse Oximeter - period calculation algorithm

01/04/2010 6:27 AM

Hi Del,

I am wondering why the OP and friends are trying to 'invent' something that already is used and works just fine? I would be a little suspect of any references in this case as it is all too easy to look up the design of the ones that are used at the moment? But that is up to their Tutor I suppose?

Take care.

__________________
Take it easy, bb. >"HEAR & you FORGET<>SEE & you REMEMBER<>DO & you UNDERSTAND"<=$=|O|=$=>"Common Sense is Genius dressed in its Working Clothes"<>[Ralph Waldo Emerson]
Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#13
In reply to #12

Re: Pulse Oximeter - period calculation algorithm

01/04/2010 6:55 AM

Yeah, but it's quite hard to think of new things to invent...I expect mech eng students keep re-inventing the wheel.
Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply
Guru
United Kingdom - Member - Not a new member!

Join Date: Jun 2008
Location: USA/Europe
Posts: 4547
Good Answers: 68
#14
In reply to #13

Re: Pulse Oximeter - period calculation algorithm

01/04/2010 7:22 AM

Hi Del,

I suppose you are kinda right............... Did you see the Chinese wheel on this site that was not round?

__________________
Take it easy, bb. >"HEAR & you FORGET<>SEE & you REMEMBER<>DO & you UNDERSTAND"<=$=|O|=$=>"Common Sense is Genius dressed in its Working Clothes"<>[Ralph Waldo Emerson]
Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#15
In reply to #14

Re: Pulse Oximeter - period calculation algorithm

01/04/2010 7:42 AM

Yup...

__________________
health warning: These posts may contain traces of nut.
Register to Reply Off Topic (Score 5)
2
Guru
United Kingdom - Member - Not a New Member Hobbies - Musician - New Member Hobbies - Fishing - New Member

Join Date: May 2006
Location: Reading, Berkshire, UK. Going under cover.
Posts: 9684
Good Answers: 468
#3

Re: Pulse Oximeter - Period Calculation Algorithm

12/31/2009 8:15 AM

Off the top of my head, I'd say try working on a FFT to go from time to frequency domain. The lowest frequency component will correspond to the pulse rate.

Alternatively (& maybe easier), try autocorrelation.

Another thought - try this google search & read up some of the results - this must've been done before many times.

__________________
"Love justice, you who rule the world" - Dante Alighieri
Register to Reply Good Answer (Score 2)
Member

Join Date: Oct 2009
Posts: 7
#5
In reply to #3

Re: Pulse Oximeter - Period Calculation Algorithm

12/31/2009 12:25 PM

Hmm this is very interesting I hadn't considered these. I'll look into these approaches. Thank you for your help.

Register to Reply
Guru
United Kingdom - Member - Not a new member!

Join Date: Jun 2008
Location: USA/Europe
Posts: 4547
Good Answers: 68
#7

Re: Pulse Oximeter - Period Calculation Algorithm

01/01/2010 2:10 AM

Hi VyRuS,

Please let me know if this is helpful. Good luck and happy new year.

Try these:

Scholarly articles for pulse oximetry algorithm

Noise-resistant pulse oximetry using a synthetic ... - Coetzee - Cited by 33
Reliability of pulse oximetry in titrating supplemental ... - Jubran - Cited by 70
Signal processing methods for pulse oximetry - Rusch - Cited by 55

Search Results

  1. Principles and algorithms for determining blood oxygenation level ...by VY Volkov - 1993
    J. Anaesth., 59, No. 7, 901-912 (1987). PRINCIPLES AND ALGORITHMS FOR DETERMINING BLOOD. OXYGENATION LEVEL BY PULSE OXIMETRY. V. Ya. Volkov, Yu. M. Gladkov, ...
    www.springerlink.com/index/LL22XX441J77U283.pdf
  2. AN ALGORITHM FOR THE DETECTION OF INDIVIDUAL BREATHS FROM THE ...by P Leonard - 2004
    Results of pulse oximetry breathing algorithm validation trials. Optimal breath. Patient No. Optimal method∗ capture results† ...
    www.springerlink.com/index/R12895437120836M.pdf
    Show more results from www.springerlink.com
  3. Alternate pulse oximetry algorithms for SpO/sub 2/ computati ...by TL Rusch - 1994
    The most commonly used algorithm in pulse oximeters today is the weighted moving average (WMA) algorithm. The WMA algorithm is used to process the time ...
    ieeexplore.ieee.org/iel4/3230/9234/00415177.pdf?arnumber=415177
  4. Welcome to IEEE Xplore 2.0: Alternate pulse oximetry algorithms ...by TL Rusch - 1994
    Alternate pulse oximetry algorithms for SpO2 computation. Rusch, T.L. Scharf, J.E. Sankar, R. Dept. of Anesthesiology & Electr. Eng., Univ. of South Florida ...
    ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=415177
    Show more results from ieeexplore.ieee.org
  5. [PDF] How do Masimo SET pulse oximetry parallel engines work? How does
  6. File Format: PDF/Adobe Acrobat
    making it the most powerful pulse oximetry algorithm. Pulse Oximetry Overview,. Masimo SETо vs Tyco-Nellcorо and Philipsо technical bulletin. Digitized, ...
    www.masimo.com/pdf/whitepaper/LAB3213D.pdf
  7. Why Masimo? - The DifferenceDST makes only one assumption—that arterial blood has a higher oxygenation than venous—making it the most powerful pulse oximetry algorithm. ...
    www.masimo.com/whymasimo/difference.htm
  8. Arch Pediatr Adolesc Med -- Abstract: The Role of Pulse Oximetry ...by G Madico - 1995
    Pulse oximetry detected 88% and the WHO algorithm 90% of cases of pneumonic ALRI. The WHO algorithm and pulse oximetry detected 72% of radiologic pneumonia. ...
    archpedi.ama-assn.org/cgi/content/abstract/149/11/1259
  9. Pulse oximetry SpO2 determination - US Patent 6987994 ClaimsA method for use in pulse oximetry, comprising the steps of: ... A method as set forth in claim 21, wherein said algorithm involves excluding certain data ...
    www.patentstorm.us/patents/6987994/claims.html
  10. CR4 - Thread: Pulse Oximeter - Period Calculation Algorithm4 posts - 3 authors - Last post: 22 hours agoMy group is implementing a pulse oximeter(on the finger) as part of our final year engineering project. My question relates to the algorithm ...
    cr4.globalspec.com/.../Pulse-Oximeter-period-calculation-algorithm - 22 hours ago
  11. Motion artefact rejection system for pulse oximeters. - Patent ...by PR Hall - 1989 -
    If artefact is not judged present, the bandpass filter is tuned to the pulse rate as determined by the normal oximeter algorithms. ...
    www.freepatentsonline.com/EP0303502.html
  12. Science Links Japan | A New Oximetry Algorithm for Screening of ...by H NAKANO - 2005
    However, pulse oximetry has been not fully optimized for such a purpose. The algorithm to obtain the value of oxygen saturation included procedures to ...
    sciencelinks.jp
  13. A computer algorithm for differentiating valid from distorted ...pulse oximeter pulses. Two distinct periods are seen, where movement of the extremity was induced. EDP algorithm for detection of a valid pulse. Each pulse ...
    doi.wiley.com/10.1002/ppul.1950190510
  14. Test of a processing algorithm for NIR-laser-diode-based pulse ...by SML Silva
    Previously it has been reported a signal processing algorithm for a near infrared (NIR) laser diodes based transmittance pulse oximetry system. ...
    spie.org/x648.html?product_id=499067
  15. Pulse Oximeter With Alternate Heart-Rate Determination - Patent ...Samples are ignored by many of the oximetry algorithm's subsystems while the Signal State is not either Pulse Present or Sensor Maybe Off. The values of the ...
    www.faqs.org/patents/app/20090221889
  16. Noise-resistant pulse oximetry using a synthetic reference signal.by FM Coetzee - 2000
    We describe a noise-resistant pulse oximetry algorithm suited to both signal reconstruction and oxygen saturation estimation. The algorithm first detects ...
    www.ncbi.nlm.nih.gov/pubmed/10943049
  17. [PPT] Pulse Oximetry: More than Just Oxygen SatFile Format: Microsoft Powerpoint
    Conventional Pulse Oximetry Algorithm. 3 options during motion or low perfusion: Freeze last good value; Lengthen averaging cycle; Zero out ...
    mikemcevoy.com/open_bar/NewTechPO_Michigan2009.ppt
  18. [PDF] Philips Pulse OximetryFile Format: PDF/Adobe Acrobat
    Philips Pulse Oximetry. A More Reliable Approach for Deriving ... Finding the Pulse Rate Component. The Philips algorithm takes a number of samples of the ...
    incenter.medical.philips.com/doclib/getDoc.aspx?func=ll...
  19. Real-time pulse oximetry artifact annotation on computerized ...by RK GOSTT - 2002
    This study developed an algorithm to automatically annotate pulse oximetry artifacts and sought to evaluate the algorithm's accuracy in routine surgical ...
    cat.inist.fr/?aModele=afficheN&cpsidt=13997820
  20. [PDF] Pulse oximetryFile Format: PDF/Adobe Acrobat
    by A Jubran - 1999
    oximetry was fully available. Inman et al. [60] examined the effect of implementing pulse oximetry without any specific algorithm for its appropriate use. ...
    www.biomedcentral.com/content/pdf/cc341.pdf
  21. Pulse Oximetry and Low Perfusion | August/September 2002 | RT for ...by D Hatlestad
    These attributes are determined by the interaction of hardware—the sensor and pulse oximeter electronics—and software—the algorithm, used to measure the ...
    www.rtmagazine.com/issues/articles/2002-08_03.asp

Searches related topulse oximetry algorithm

pulse oximeter readings

pulse oximetry oxygen saturation

spo2 pulse oximetry

pulse oximetry sensors

non invasive pulse oximetry

pulse oximeter function

__________________
Take it easy, bb. >"HEAR & you FORGET<>SEE & you REMEMBER<>DO & you UNDERSTAND"<=$=|O|=$=>"Common Sense is Genius dressed in its Working Clothes"<>[Ralph Waldo Emerson]
Register to Reply
Register to Reply 15 comments

Good Answers:

These comments received enough positive votes to make them "good answers".

"Almost" Good Answers:

Check out these comments that don't yet have enough votes to be "official" good answers and, if you agree with them, vote them!
Copy to Clipboard

Users who posted comments:

babybear (3); JohnDG (2); nick name (1); user-deleted-1105 (6); VyRuS (3)

Previous in Forum: Condenser Motor   Next in Forum: i need help

Advertisement