2009-03-23

Homebrew Photoplethysmography

I've been meaning to try this for years, even since I first saw Pulse Oximeter technology in use. It was only today that I sat down with the optoelectronic junk-box and tried various sensor and ultra-bright LED combinations. Clearly the Oximeter part would be difficult to calibrate and is a complication I decided to leave out as I was mainly interested in building a heart rate monitor that wasn't ECG based (although I want to try that too some day).

Photoplethysmograph Sensor and Amplifier Lash-Up

The circuit is *extremely* primitive at this point, and is insufficiently filtered to be attached to a microcontroller to implement a real digital cardiotachometer. As a proof of concept though, I was amazed at how relatively easy it is to extract the photoplethysmographic signal from less than $5 worth of electronics.

The sensor is a 2500 mCd red LED and a random photo-transistor from the junkbox. Photo diodes didn't work as well as the photo-transistor, but surprisingly CdS photo-resistive cells worked quite well offering excellent sensitivity and a natural low-pass characteristic. I've stuck with the photo transistor for now though. Please excuse the cardboard, rubber and masking tape construction of the prototype sensor head itself!

The signal processing is a coarsely band-limited amplifier followed by a simple comparator. A pot controls the comparator switching level, and a green LED supplies the near mid-rail DC bias for the amplifier chain. The band limiting needs improvement and perhaps the photo detector should be put in-loop to give it more dynamic range, but the simple lash-up works surprisingly well as long as the sensor parameters don't change too much (i.e. Keep still!).

Video of the Photoplethysmograph Lash-Up Beeping to my Heart Rate
Video of the Photoplethysmograph Lash-Up Beeping to my Heart Rate
(1.966 Mbytes)

The video shows the unit beeping along to my somewhat elevated heart rate after a brisk walk to The Mall and back to get parts for a less hacky sensor assembly (i.e. Clothes pegs, hardware, flat-black paint, etc). Depending on the setting of the comparator trigger level you can often hear the Dicrotic Wave after the Systole, but its amplitude seems to vary depending on how recently you've exerted yourself and is frequently almost impossible to detect, at least with the current configuration. Better filtering and amplification of the signal will allow its capture with the data logger and visualisation of the Photoplethysmogram which should prove interesting.

Future work will concentrate on the frequency domain filtering of the optical signal. Physiologically relevant heart rates range from about 20-250 bpm, with the typical resting rate near 70 bpm. A band-pass filter with a pass band of about 0.3-5 Hz should be ideal for cardiotachometry, as long as it offers fast settling near DC and is very rolled-off near the mains frequency and its harmonics. A somewhat higher frequency response may helpful if the true shape of the Photoplethysmogram needs to be preserved, especially while looking for 2nd harmonic content like the Dicrotic Wave. Still the filter needs some special consideration, and perhaps doing it digitally would be the easiest solution. The ambient light and EM pick-up of mains-related noise and the DC level shifts associated with differing bulk opacity of the body part in the transmission space are the stray main signals that need to be rejected. Low pass and high-pass filtering should be sufficient to take care of each respectively. I am curious about the frequency-domain appearance of the Photoplethysmographic data too.

18 comments.