TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch...

8
TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch http://www.ece.cmu.edu/~ece549/spring07/team5/ http://www.ece.cmu.edu/~ece549/spring07/team5/

Transcript of TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch...

Page 1: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

TEAM 5

CHRIS HOFFMAN

RYAN KELLOGG

MIKE ZIZZA

APRIL 11, 2007

HeartSavers: The Final Stretch

http://www.ece.cmu.edu/~ece549/spring07/team5/http://www.ece.cmu.edu/~ece549/spring07/team5/

Page 2: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Status Update

Project Concept: Wearable heart monitor: Electrodes in shirt, capture/process signal, send

data wirelessly to smart phone Status update: Implementation

Have working hardware FIFO Buffer implemented, tested on Robostix for storing ADC values

Eases real-time pressure for polling Robostix Enables variable length processing time on Gumstix

Gumstix can interact with Robostix FIFO Progress on ECG circuit: Can see a heart beat, but it’s super noisy

Status update: Testing and Experimentation Performance comparison of different QRS complex detection algorithms Whether QRS algorithm throughput changes with heart rate Length of time to do ADC conversion How long takes to transfer full buffer on Robostix to Gumstix

Page 3: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Experiment Plan #1

Compare QRS detection algorithms Overall performance (speed, accuracy) Does performance depend on frequency of QRS complexes (heart

rate)?

Metrics: Run Time (sec) Accuracy (%)

Why they matter: Helps us decide which is best for our project

How we measure Script (in C) to run each algorithm 100 times and record

performance values in a file Compute statistics in MATLAB

Page 4: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Initial Data #1

1 2 3 4 5 6 7 8 9 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Data Set #

Exe

cutio

n tim

e (s

ec)

WQRS vs. SQRS (Execution time)

SQRS

WQRS

This graph compares execution time for

competing QRS detection algorithms – WQRS is faster for all data sets

tried.

This graph compares execution time for

competing QRS detection algorithms – WQRS is faster for all data sets

tried.

0 2 4 6 8 100.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Does algorithm performance change with heart rate?

Data Set #

Exe

cutio

n tim

e (n

orm

aliz

ed s

ec.)

Rel

ativ

e fr

eque

ncy

of Q

RS

Com

plex

es

QRS Complex frequency

SQRS Execution time (Normalized)WQRS Execution time (Normalized)

QRS detection algorithm performance depends only on number of sample points

and not on heart rate.

QRS detection algorithm performance depends only on number of sample points

and not on heart rate.

Page 5: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Experiment #2

Determine sampling parameters on Robostix (ADC conversion time, transfer rate to Gumstix)

Metrics Time (sec) Data rate (KB/s)

Why they’re important Want to know how many ADC samples we can do

Can we sample fast enough? How much processing time is left on Robostix?

How we will measure Toggle IO pins and view ADC conversion time on scope Take full FIFO (~ 3K), send across I2C, get timestamp on

Gumstix at finish

Page 6: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Initial Data #2

Set polling frequency to 244 HzCan only send 16 points (ADCs) in one packet15 transfers just to get a second’s worth of data488 bytes to transfer for one second (244

samples/sec * 2 bytes per sample)

Results Time for one ADC conversion: 115 us Transfer rate to Gumstix: 5.7 KB/s Time to send one packet 0.1 sec

Page 7: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Looking Forward

What have learned so far? Don’t underestimate the weirdness of analog Quirky timing function on Gumstix Quirky I2C on Robostix

Next steps: Make ECG algorithms run in streaming fashion

Run algorithm as daemon, communicate through sockets or pipes

Make the circuit work as expected Make GUI on phone to display ECG information Don’t give up on non-stick electrodes

Page 8: TEAM 5 CHRIS HOFFMAN RYAN KELLOGG MIKE ZIZZA APRIL 11, 2007 HeartSavers: The Final Stretch ece549/spring07/team5

Questions?