optical heart monitor/jump drive
DESCRIPTION
ECE 191 – Group 6 Fall 2008. Optical Heart Monitor/Jump Drive. Sponsor: Calit2 Mentor: Paul Blair Ph.D. Team: Matt Chandrangsu, Jeffrey Chi, Kari Nip. Agenda. Project Background and Objective Design Summary Approach and Methodology Results Conclusions. Background and Objective. - PowerPoint PPT PresentationTRANSCRIPT
Optical Heart Optical Heart Monitor/Jump DriveMonitor/Jump Drive
Sponsor: Calit2Sponsor: Calit2
Mentor: Paul Blair Ph.D.Mentor: Paul Blair Ph.D.
Team: Matt Chandrangsu, Jeffrey Chi, Kari NipTeam: Matt Chandrangsu, Jeffrey Chi, Kari Nip
ECE 191 – Group 6ECE 191 – Group 6Fall 2008Fall 2008
AgendaAgenda
• Project Background and Objective
• Design Summary
• Approach and Methodology
• Results
• Conclusions
Background and ObjectiveBackground and Objective
• There is increasing interest within the medical community in studying an individual’s heart rate variability.
• Existing data collection systems are cumbersome and report heart rate rather than the variations of each heart beat.
• There are not many applications that allow users to save their heart rate data to view later for medical purposes.
• Our objective is to develop a small, reliable device capable of conveniently reporting a person's heart rate variability and storing the data for later use.
Design SummaryDesign Summary
Pulse Oximeter Sensor
Digital Signal Filtering
Flash Memory
AVR Microprocessor
AT90USB1287
Computer
Database
2 Stage Amplifier
Approach and MethodologyApproach and Methodology
• Research and familiarize with Atmel AVR Microcontrollers
• Understand heart rate monitor work from previous quarters
• Research FAT12 file systems• Write digital signal processing code that detects time
differences between heart beats from a raw signal• Write code that properly writes data to microcontroller
flash memory and verify data is read on PC• Write interrupt driven AVR Microcontroller code to
properly run application integrating all components
Pulse Oximeter SensorPulse Oximeter SensorPurpose: Indirectly measures the oxygen saturation of a patient's blood to find heart beat wave
Typically a 2 LED system:-One red LED (660nm)-One infrared LED (910nm).
We only use 1 LED:-Only care about finding peaks of heart beat signal, not oxygenation levels or accuracy of waveform
-Implemented using 1 SFH487 infrared LED transmitter and 1 SFH309 photodetector
light
2 Stage Amplifier Schematic2 Stage Amplifier Schematic
2 Stage Amplifier2 Stage Amplifier
• Operational Amplifier Chip LM358 used• Circuit amplifies input signal and also filters out
higher frequency noise components– Gain of circuit is ~ 9.4
• Potentiometer functions as “volume control” – dials up or down output voltage
• Analog filter output signal is fed into ADC port of the microcontroller to undergo digital signal processing
Oscilloscope ViewsOscilloscope Views
Inside the AVR MicrocontrollerInside the AVR MicrocontrollerInterrupt-driven AVR Microcontroller code structure
Timer 1
LED ON
Start Timer 0 ADC ON
ADC OFF
LED OFF
Digital Signal ProcessingDigital Signal Processing
• Find time between peaks to determine heart rate variability
• High frequencies make determining the time between beats difficult
• Approach: Matched filtering to improve signal-to-noise ratio
Matched FilteringMatched Filtering
Convolve input signal with template pulse to detect the presence of the template in the obtained signal
Inside the MicrocontrollerInside the Microcontroller
• Data from ADC inputted into an array
• Array filtered using template signal array
• Time between beats is saved to buffer array for later storage onto flash memory
Storing the heart rate variability to Storing the heart rate variability to flash memoryflash memory
• Modifications of working storage C code to implement.
• As data flows into a buffer array, it is read and stored into a single file on the flash memory.
• New data is appended to the same file.
FAT FilesystemFAT Filesystem
• Boot Sector– Describes structure of file system
• File Allocation Table– Acts as a map of the data region
• Root Directory (aka Directory Table)– Displays name and information about the files stored in memory
• Data Region– Actual file storage
File locations in the flash memoryFile locations in the flash memory
• Directory Table = Sector 0x20 (32)
• First File in Data Region = Sector 0x40 (64)
Inside the MicrocontrollerInside the MicrocontrollerDigital Filtering Output Array = 1010 900 1300 …
ASCII Conversion = 31 30 31 30 00 39 30 30 00 31 33 30 30 00
Storage in USB filesystem at sector 40 = 31 30 31 30 00 39 30 30 00 31 33 30 30 00 00 00 00 00 00 00 …
Preparation for Conversion = 1 0 1 0 NULL 9 0 0 NULL 1 3 0 0 NULL
Store to intermediate buffer
ConclusionConclusion
• Completed:– Pulse oximeter sensor– 2 stage analog amplification element– Digital filtering code that detects peaks and computes time
differences– Code for writing bytes to a file system and transferring to PC via
USB– Interrupt driven code infrastructure in place
• Future Development:– Integrate all individual code elements into one cohesive program
and test and fine tune for functionality– Mill PCB of amplifier circuit along with surface-mountable AVR
microcontroller chip and other circuit components to have a standalone module
Questions??