37
Universitá degli Studi di Padova Dipartimento di Ingegneria dell’Informazione Corso di Laurea Triennale in Ingegneria Biomedica 21 luglio 2015 - Anno accademico 2014/2015 Analisi spettrale di un segnale fotopletismografico (PPG) per lo sviluppo di un algoritmo di stima del battito cardiaco basato sul filtro di Kalman Relatore Prof. Claudio Narduzzi Laureando Italo Agustin Marsili Matr. 1047279

Analisi spettrale di un segnale fotopletismografico (PPG) per lo sviluppo di un algoritmo di stima del battito cardiaco basato sul filtro di Kalman

Embed Size (px)

DESCRIPTION

Questo lavoro nasce dall’esigenza di analizzare il segnale fornito da un fotopletismografo(PPG), posizionato nel polso di un soggetto sottoposto ad un intenso sforzo fisico.L’informazione che si vuole ricavare riguarda il monitoraggio della frequenza cardiaca;separare questa componente del segnale non è di realizzazione immediata poiché il segnaledel battito è fortemente disturbato e coperto da artefatti dovuti al movimento delsoggetto, in particolar modo della mano.Inoltre, siccome la frequenza di questi disturbi non è ben separata dalla frequenza delbattito, non si puó eliminare completamente il rumore sovrapposto attuando un semplicefiltraggio lineare, soluzione piú comune per risolvere questa tipologia di problemi.L’algoritmo che verrá presentato in questo elaborato combina analisi spettrale, ottenutatramite trasformata discreta di Fourier (DFT), ripulitura del segnale tramite scomposizioneai valori singolari (SVD) e infine un filtraggio attraverso il filtro di Kalman (KF).La presente tesi tratterá con maggior dettaglio la parte relativa all’analisi spettrale.

Citation preview

  • Universit degli Studi di PadovaDipartimento di Ingegneria dellInformazione

    Corso di Laurea Triennale in Ingegneria Biomedica21 luglio 2015 - Anno accademico 2014/2015

    Analisi spettrale di un segnalefotopletismografico (PPG) per lo sviluppo di unalgoritmo di stima del battito cardiaco basato sul

    filtro di Kalman

    RelatoreProf. Claudio Narduzzi Laureando

    Italo Agustin MarsiliMatr. 1047279

  • Anno Accademico 2014/2015

    2

  • Non c piacere nel successo,se non lo dividi con qualcuno.

    I fantastici 4

  • Indice1 Strumentazione e forma donda di un segnale fotopletismografico 13

    1.1 Descrizione di un segnale ECG . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Struttura circuitale e sensore fotopletismografico . . . . . . . . . . . . . . 151.3 Caratteristiche di un segnale PPG e formato dei dati . . . . . . . . . . . . 17

    2 Struttura dellalgoritmo 212.1 Scomposizione ai valori singolari (SVD) . . . . . . . . . . . . . . . . . . . 212.2 Analisi nel dominio delle frequenze . . . . . . . . . . . . . . . . . . . . . . 222.3 Filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3 Analisi spettrale del segnale 253.1 Introduzione alla trasformata di Fourier a tempo discreto . . . . . . . . . 253.2 Metodo di stima del battito cardiaco . . . . . . . . . . . . . . . . . . . . . 283.3 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Bibliografia 37

    5

  • Elenco delle figure0.1 Confronto segnale ECG con segnale PPG . . . . . . . . . . . . . . . . . . 110.2 Logo IEEE Signal Processing Society . . . . . . . . . . . . . . . . . . . . . 12

    1.1 Cellule miocardiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Cellule pacemaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Conduzione del potenzione elettrico . . . . . . . . . . . . . . . . . . . . . . 141.4 Tracciato ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5 Tipologia di un circuito base . . . . . . . . . . . . . . . . . . . . . . . . . 151.6 I principali punti in cui si posizionano i sensori per lacquisizione del

    segnale PPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.7 Esempio modalit di trasmissione . . . . . . . . . . . . . . . . . . . . . . . 161.8 Esempio modalit di riflessione . . . . . . . . . . . . . . . . . . . . . . . . 161.9 Segnale rilevato dal fotopletismografo in diverse parte de corpo. . . . . . . 171.10 Confronto tra segnale acquisito tramite ECG e tramite PPG . . . . . . . 181.11 Segnali riguardante lattivit cardiaca . . . . . . . . . . . . . . . . . . . . 181.12 Segnali derivanti dallaccelerometro . . . . . . . . . . . . . . . . . . . . . . 18

    2.1 Confronto segnali PPG acquisite in situazioni differenti . . . . . . . . . . . 212.2 Confronto spettri di segnali PPG in situazioni differenti . . . . . . . . . . 232.3 Rudolf E. Kalman e le due fasi del filtro da lui creato . . . . . . . . . . . . 24

    3.1 Segnale sinusoidale e suo spettro . . . . . . . . . . . . . . . . . . . . . . . 263.2 Segnale fotopletismografico tradizionale e suo spettro . . . . . . . . . . . . 263.3 Vantaggio della tecnica di zero-padding su un segnale sinusoidale . . . . . 273.4 Picchi dello spettro di un segnale PPG . . . . . . . . . . . . . . . . . . . . 283.5 Spettro segnale intero e in un intervallo di interesse . . . . . . . . . . . . . 293.6 Illustrazione algortimo di interpolazione. k rappresenta il picco trovato

    (fM1) nellintervallo descritto in precedenza. . . . . . . . . . . . . . . . . . 303.7 Grafici di confronto tra stime e valori veri . . . . . . . . . . . . . . . . . . 32

    7

  • Sommario

    Questo lavoro nasce dallesigenza di analizzare il segnale fornito da un fotopletismogra-fo (PPG), posizionato nel polso di un soggetto sottoposto ad un intenso sforzo fisico.Linformazione che si vuole ricavare riguarda il monitoraggio della frequenza cardiaca;separare questa componente del segnale non di realizzazione immediata poich il se-gnale del battito fortemente disturbato e coperto da artefatti dovuti al movimento delsoggetto, in particolar modo della mano.Inoltre, siccome la frequenza di questi disturbi non ben separata dalla frequenza delbattito, non si pu eliminare completamente il rumore sovrapposto attuando un sem-plice filtraggio lineare, soluzione pi comune per risolvere questa tipologia di problemi.Lalgoritmo che verr presentato in questo elaborato combina analisi spettrale, ottenutatramite trasformata discreta di Fourier (DFT), ripulitura del segnale tramite scomposi-zione ai valori singolari (SVD) e infine un filtraggio attraverso il filtro di Kalman (KF).La presente tesi tratter con maggior dettaglio la parte relativa allanalisi spettrale.

    9

  • Introduzione

    Un segnale contenente informazioni sul battito cardiaco pu essere misurato attraversolattivit elettrica p meccanica del cuore.Il segnale elettrico pu essere acquisito attraverso un elettrocardiografo il quale, attra-verso elettrodi posti sul torace del soggetto in punti di particolare interesse, permette divisualizzare la manifestazione elettrica dellattivit contrattile del cuore (ECG, elettro-cardiogramma).Nel secondo caso, per misurare lattivit meccanica cardiaca, pu essere usato un fo-topletismografo. La fotopletismografia una tecnica di misurazione ottica utilizzataper rilevare le variazioni di volume sanguigno nello strato di tessuto microvascolare. Hadisparate applicazioni cliniche, come ad esempio controllare lossimetria nel sangue, ana-lizzare la frequenza respiratoria e, appunto, monitorare il battito cardiaco. Negli ultimianni, lo studio del segnale fotopletismografico, ha acquisito sempre maggior importanzaper via del fatto che meno invasiva rispetto ad altri metodi dove necessario applicare,per esempio, alcuni elettrodi al piazente, come nel caso dellelettrocardiografo.Inoltre, gli strumenti di elaborazione di un segnale PPG sono sempre pi raffinati eprecisi ottenendo risultati sufficienti per le applicazione a cui sono adibite. Il lavorodescritto in questa tesi si inserisce in tale contesto e rappresenta, in modo evidente, ledifficolt di analisi di un segnale fotopletsimografico ma, allo stesso tempo, anche la suaefficacia nella misurazione della frequenza cardiaca.

    0 200 400 600 800 10001000

    500

    0

    500ECG

    0 200 400 600 800 100050

    0

    50PPG

    Figura 0.1: Confronto segnale ECG con segnale PPG

    11

  • Elenco delle figure

    Il lavoro frutto di un progetto realizzato da una squadra di studenti del terzo an-no di Ingegneria Biomedica supervisionati dai docenti del Dipartimento di IngegneriadellInformazione (DEI) dellUniversit degli Studi di Padova che ha partecipato ad unconcorso, chiamato Signal Processing Cup (SP Cup), indetto dalla IEEE Signal Proces-sing Society annualmente.La competizione rivolta principalmente agli studenti di laurea triennale di tutto ilmondo e ha lo scopo di coinvolgere gli studenti e creare interesse nei confronti di un set-tore in particolare: quello dellanalisi e dello studio di segnali di tipo biologico e non solo.

    Figura 0.2: Logo IEEE Signal Processing Society

    Nel 2015 il titolo della gara era Heart Rate Monitoring During Physical ExerciseUsing Wrist-Type Photoplethysmographic (PPG) Signals e riguardava essenzialmentelo studio di segnali biologici derivanti dal cuore.Le squadre partecipanti, costituite da studenti provenienti da tutto il mondo, in tuttosono state 49. Il nostro lavoro non entrato nelle prime tre posizioni ma sar presentatoalla conferenza 1st International Forum on Research and Technologies for Society andIndustry che si terr in settembre a Torino, dove avremo la possibilit di esporlo.

    12

  • 1Strumentazione e forma donda

    di un segnalefotopletismografico

    1.1 Descrizione di un segnale ECG

    Generalmente, per il monitoraggio della frequenza cardiaca viene studiata lattivit elet-trica del cuore oppure la sua attivit meccanica attraverso la misura della pressionesanguigna.Nel cuore troviamo principalmente due differenti tipi di cellule: quelle miocardiche equelle pacemaker; le prime si trovano su tutte le pareti del cuore mentre le seconde solonel nodo seno atriale.Le due tipologie di cellule si differenziano per la loro funzione: le cellule pacemaker han-no il compito di generare il potenziale dazione al fine di stimolare le cellule muscolaridel cuore, ossia le cellule miocardiche. Queste ultime, attraverso la propagazione dellostimolo elettrico, si contraggono e imprimono la spinta necessaria affinc il sangue circolinel corpo.Tra i due gruppi di cellule si pu notare una differenza nella forma dei potenziali dazionei quali si distinguono per quella che la fase di riposo (fase 4).

    Figura 1.1: Cellule miocardiche Figura 1.2: Cellule pacemaker

    In figura 1.1 si pu notare che nelle cellule miocardiche questa fase costante e ciimplica che necessario uno stimolo esterno per ottenere una risposta dalla cellula;mentre, nelle cellule pacemaker, la fase di riposo ha una deriva verso lalto, questoimplica che sono in grado di generarsi autonomamente il potenziale dazione senza stimoliesterni. Questo particolare comportamento delle cellule pacemaker responsabile dellacontrazione cardiaca.

    13

  • 1. Strumentazione e forma donda di un segnale fotopletismografico

    Limpulso elettrico, dunque, viene generato nel nodo seno atriale e, successivamente(fig.1.3), si propaga per tutto il resto del cuore.

    Figura 1.3: Conduzione del potenzione elettrico

    Lelettrocardiografo permette di misurare tale attivit elettrica del cuore e lelettro-cardiogramma che ne deriva rappresenta il fenomeno globale ed dato dalla somma ditutti i potenziali interni.Il segnale elettrico acquisito dal cuore possiede determinate caratteristiche che lo con-traddistinguono e che possono essere sintetizzate come segue:

    Onda P : rappresenta la depolarizzazione degli atri (somma di tutti i potenziali atriali).

    Complesso QRS : rappresenta la depolarizzazione dei ventricoli.

    Onda T : rappresenta la ripolarizzazione dei ventricoli.

    Figura 1.4: Tracciato ECG

    Un segnale fotopletismografico, invece, non misura alcuna attivit elettrica.Esso in grado di rilevare solamente variazioni di pressione sanguigna allinterno del-lapparato microvascolare e permette, dunque, il monitoraggio dellattivit meccanicadel cuore.

    14

  • 1. Strumentazione e forma donda di un segnale fotopletismografico

    1.2 Struttura circuitale e sensore fotopletismografico

    Il fotopletismografo, da cui si ricava il segnale PPG, un dispositivo opto-elettroniconon particolarmente costoso poich formato da semplici componenti elettroniche. Lastruttura del sensore si articola in una sorgente luminosa che illumini il tessuto e unfotorivelatore per misurare le piccole variazioni di intensit luminosa associate ai cam-biamenti volumetrici del sangue.La sorgente luminosa consiste in un LED (Light Emission Diode) che converte energiaelettrica in energia luminosa ed opera, solitamente, tra le lunghezze donda del rosso edell infrarosso (680nm - 1000nm). Tale componente ha il vantaggio di essere compat-to, meccanicamente robusto e affidabile, avere un lungo ciclo di vita e di operare in unampio intervallo di temperatura con scostamenti della lunghezza donda di picco emessotrascurabili.Il fotorivelatore deve avere caratteristiche spettrali che gli consentono un vero e proprioabbinamento con quelle della sorgente di luce; la funzione di questa componente quelladi convertire energia luminosa in corrente elettrica.Analogamente ai LED, i fotorivelatori sono compatti, a basso costo, molto sensibili, inol-tre hanno una notevole velocit di risposta in fase di transitorio temporale.Il circuito elettrico del sensore, illustrato in figura 1.2, costituito essenzialmente daquattro componenti diverse.

    Figura 1.5: Tipologia di un circuito base

    Il diodo (LED) viene polarizzato con una tensione di circa 5V ed emette il fascio diluce allinterno del tessuto vascolare.La luce emessa polarizza il foto-transistore collegato in serie a una resistenza con altaimpedenza affich la corrente che si crea venga assorbita, quasi totalmente, dal filtropassa alto. Questultimo composto da un semplice circuito RC di primo ordine confrequenza di soglia pari a (2R0C0)1.Infine si ha un circuito amplificatore con guadagno (R1+R2)/R2 che ha anche la proprietdi filtrare componenti a basse frequenze con una frequenza di taglio di (2R2C2)1.

    15

  • 1. Strumentazione e forma donda di un segnale fotopletismografico

    I sensori fotopletismografici vengono posti in determinati punti del corpo. Le zone chesi utilizzano pi comunemente sono quelle dei lobi dellorecchio, i polsi del braccio, ledita della mano e i piedi.

    Figura 1.6: I principali punti in cui si posizionano i sensori per lacquisizione del segnale PPG

    A seconda di come vengono posizionati i sensori si hanno due diffrenti modalit diacquisizione del segnale:

    - modalit di trasmissione: il tessuto viene interposto tra la sorgente e il rivelatore(ad esempio allestremit del dito);

    - modalit di riflessione: il rivelatore e la sorgente sono disposti uno affianco allaltro(ad esempio nel polso).

    Figura 1.7: Esempio modalit di tra-smissione

    Figura 1.8: Esempio modalit di ri-flessione

    importante che la sonda del PPG sia ben ancorata al fine di minimizzare gli artefattidi movimento.Un elemento di cui ci siamo serviti per il lavoro al fine di valutare al meglio i disturbiprovenienente dagli spostamenti laccelerometro. Il suo funzionamento si basa sulla

    16

  • 1. Strumentazione e forma donda di un segnale fotopletismografico

    rilevazione dellinerzia di una massa quando viene sottoposta a unaccelerazione. Inquesto caso si utilizzato un accelerometro triassiale al fine di rilevare accelerazionidisposte lungo tutti e tre gli assi spaziali con lo scopo di misurare segnali sensibili soloal movimento che costituisce rumore.Sia i pulsossimetri che laccelerometro erano incorporati allinterno di un polsino in mododa rendere il tutto pi confortevole al paziente e il pi fisso possibile.

    1.3 Caratteristiche di un segnale PPG e formato dei dati

    Il segnale di tipo fotopletismografico (PPG) deriva da misurazioni riguardanti le varia-zioni di volume delle arterie allinterno dellapparato circolatorio.La forma donda del segnale in uscita del fotopletismografo presenta due importanti ca-ratteristiche: la fase anacrotica, corrispondente al fronte di salita dellonda e coincidentecon la fase di sistole, seguita dalla fase catacrotica in cui si osserva il fronte di discesae corrispondente alla fase di diastole. Le forme donda variano leggermente a secondadella sede in cui viene prelevato il segnale (dita di mani e piedi, polsi, lobi delle orecchie)ma in tutte si trova riscontro delle due fasi appena descritte.

    Figura 1.9: Segnale rilevato dal fotopletismografo in diverse parte de corpo.

    Ponendo a confronto il segnale del PPG con quello dellECG si nota un leggero ritardodel picco del primo rispetto al picco dellonda R, rivelato nellelettrocardiogramma; ci dovuto al tempo che il sangue impiega per propagarsi allinterno del sistema vascolareper raggiungere il sito di misura.

    17

  • 1. Strumentazione e forma donda di un segnale fotopletismografico

    Figura 1.10: Confronto tra segnale acquisito tramite ECG e tramite PPG

    Per quanto riguarda i dati utilizzati in questo lavoro le registrazioni dei segnali mette-vano a disposizione un segnale PPG fornito da due canali, un segnale elettrocardiografico(ECG) fornito da un canale solamente e un segnale accelerometrico sui tre assi registratisimultanemente da soggetti di et compresa tra i 18 e i 35 anni.Il segnale PPG stato registrato dal polso di ciascun soggetto per mezzo di due pul-sossimetri costituiti da sensori a LED di colore verde ( = 515 nm) distanziati lunodallaltro di 2 cm.Il segnale elettrocardiografico, invece, stato estratto simultaneamente per mezzo disensori ECG composti essenzialmente da elettrodi posti sul petto del soggetto.Tutti i tipi di segnali sono stati campionati ad una frequena pari a 125 Hz e inviati adun computer vicino via bluetooth.

    0 100 200 300 400 500 600 700 800 900 1000800

    600

    400

    200

    0

    200ECG

    0 100 200 300 400 500 600 700 800 900 100040

    20

    0

    20

    40

    60PPG (channel 1)

    0 100 200 300 400 500 600 700 800 900 100050

    0

    50

    100PPG (channel 2)

    Figura 1.11: Segnali riguardante lattivit car-diaca

    0 100 200 300 400 500 600 700 800 900 10000.2

    0

    0.2

    0.4

    0.6

    0.8Xaxis

    0 100 200 300 400 500 600 700 800 900 10000

    0.2

    0.4

    0.6

    0.8Yaxis

    0 100 200 300 400 500 600 700 800 900 10000.2

    0.4

    0.6

    0.8

    1

    1.2Zaxis

    Figura 1.12: Segnali derivanti dallaccelerome-tro

    18

  • 1. Strumentazione e forma donda di un segnale fotopletismografico

    Le tracce che abbiamo come campioni hanno la durata di circa 5 minuti: per i primi30 secondi i soggetti sono a riposo; successivamente, terminata questa fase iniziale, isoggetti iniziano a correre e compare sul segnale utile del disturbo molto accentuato.Lintero numero di dati stato poi suddiviso in blocchi di 1000 campioni ciascuno delladurata, quindi, di 8 secondi. Ogni blocco discostava da quello precedente di 250 cam-pioni, corrispondenti a 2 secondi di tracciato.Infine. per ogni set di dati si considerato come risultato corretto la frequenza cardiacacalcolata rispetto al segnale ECG registrato simultaneamente.

    19

  • 2Struttura dellalgoritmo

    Il segnale acquisito attraverso il PPG, nel momento in cui il soggetto inizia a corre-re, diventa particolarmente rumoroso e sovrapposto al segnale utile, che rappresenta lafrequenza cardiaca. Compaiono, infatti, svariati picchi che indicano la presenza degliartefatti di movimento. Osservando il segnale nel dominio della frequenza appare subitoovvia limpossibilit di individuare il picco rappresentante la frequenza corretta; perci,come prima cosa, si cerca di eliminare pi rumore possibile dal segnale.

    0 1 2 3 4 5 6 7 840

    30

    20

    10

    0

    10

    20

    30

    40

    50

    t(s)

    Soggetto a riposo

    0 1 2 3 4 5 6 7 880

    60

    40

    20

    0

    20

    40

    60

    80

    100

    120

    t(s)

    Soggetto sottoposto ad intenso sforzo fisico

    Figura 2.1: Confronto segnali PPG acquisite in situazioni differenti

    2.1 Scomposizione ai valori singolari (SVD)

    Come primo passaggio il segnale viene filtrato attraverso un filtro passa-banda (frequenza0.5-4 Hz) in modo da eliminare il rumore di sottofondo pi abbondante. Si procede inseguito con una decomposizione ai valori singolari; lalgoritmo stato applicato sia allamatrice di Hankel del nostro segnale PPG sia ai segnali ottenuti tramite accelerometri. Aquesto punto abbiamo delle matrici contenenti gli autovalori del segnale acquisito; lidea

    21

  • 2. Struttura dellalgoritmo

    di base consiste nel fatto che le informazioni relative alla componente preponderante delsegnale siano contenute in un sottoinsieme ridotto di autovettori\autovalori.Nel caso in cui il rumore non sia troppo elevato la sinusoide a frequenza pari a quellacardiaca la componente principale ed perci facile ripulire il segnale da rumore. Nelnostro caso per, gli artefatti di movimento sono spesso cos grandi che rendono picomplessa lindividuazione degli autovalori riferiti alla sinusoide.Si procede quindi ricorrendo a matrici di correlazione tra i segnali PPG e quelli degliaccelerometri, tentando di individuare le componenti meno correlate tra loro, in quanto idue segnali dovrebbero differire solo per la presenza della sinusoide che stiamo cercando.

    2.2 Analisi nel dominio delle frequenze

    Una volta conclusa la parte di ricostruzione del segnale, si procede con lanalisi e lostudio al fine di ricavare la prima stima del battito cardiaco. In particolare lanalisi chesi compie di tipo spettrale, ovvero viene fatto uno studio nel campo delle frequenze delsegnale andando a valutare allinterno del suo spettro i picchi fondamentali. Tali picchisono utili per determinare le caratteristiche principali del segnale che si sta osservandoe per rilevare determinati fenomeni che non si osserverebbero se lanalisi fosse fatta neldominio del tempo. Lo strumento matematico principale che si utilizza a tale scopo quello della Trasformata di Fourier a tempo discreto (DFT - Discrete Fourier Trasform).La Trasformata di Fourier, come ben noto, una trasformata integrale, con molte ap-plicazioni nellambito delle scienze applicate, che permette di trasformare una funzionematematica definita nel dominio del tempo x(t) in una nuova funzione X(f) il cui argo-mento una frequenza. Il processo risulta essere efficace nel momento in cui sia statoprecedentemente attuato un filtraggio in modo da azzerare, o quasi, le componenti chesi riferiscono sicuramente a rumore. Inoltre sono necessarie anche alcune manipolazionidei dati sorgenti, come zero-padding e finestrature, affinch lalgoritmo utilizzato sia ilpi efficiente possibile e affinch la risoluzione del segnale, nel dominio della frequenza,sia la pi accurata possibile.Infine, lultimo passo che riguarda questa parte consiste nellindividuazione del picco ca-ratteristico del battito cardiaco che poi verr estrapolato per calcolare la stima. Lidea quella che, solitamente, il picco fondamentale sia evidenziato dalla presenza di duemassimi: uno in corrispondenza della frequenza di interesse del battito e laltro in corri-spondenza della seconda armonica, ossia a frequenza doppia rispetto a quella precedente.In figura 2.2 sono messi a confronto due spettri di segnali PPG; come si pu notare, inun segnale pulito come nel caso del paziente a riposo, le due componenti, evidenziate inrosso e verde, sono ben distinguibili. In particolare si verifica che la seconda componentesi trova esattamente a frequenza doppia rispetto alla prima.Nel momento in cui il segnale viene perturbato, il disturbo va a influire anche sullo spet-tro stesso dellonda rendendo difficile la ricerca del picco corretto. Infatti nel secondografico viene evidenziato il picco di ampiezza massima che, chiaramente, non si riferiscealla corrretta componente.

    22

  • 2. Struttura dellalgoritmo

    Vedremo successivamente che con la ripulitura del segnale la situazione migliora; nono-stante ci fondamentale avere una stima iniziale da cui poter procedere alla ricerca delpicco esatto.Anche nel caso della ricerca della componente fondamentale necessario lausilio di unostrumento matematico quale la interpolazione in frequenza che consente di calcolare inmodo pi preciso il valore effettivo del picco di riferimento del battito cardiaco.

    0 1 2 3 4 5 6 70

    1000

    2000

    3000

    4000

    5000

    6000

    7000

    8000

    9000Spettro soggetto a riposo

    f (Hz)0 1 2 3 4 5 6 7

    0

    2000

    4000

    6000

    8000

    10000

    12000Spettro soggetto sotto sforzo

    f (Hz)

    Figura 2.2: Confronto spettri di segnali PPG in situazioni differenti

    2.3 Filtro di Kalman

    Il filtro di Kalman un algoritmo ricorsivo che usa una serie di misure osservate inistanti temporali successivi e che riesce a valutare efficientemente lo stato di un sistemavariabile nel tempo anche se questo affetto da rumore. Il filtro prende il nome daRudolf E. Kalman, uno dei primi sviluppatori di questa teoria. Una prima applicazionedi tale filtro dovuta a Stanley F. Schmidt il quale, durante una visita da parte diKalman al centro di ricerca Ames della NASA, vide una applicabilit delle sue teorieal problema della stima della traiettorie del programma Apollo ed il filtro in questionevenne successivamente incorporato nel sistema di navigazione. La sua applicazione puspaziare in molti campi a partire dallo studio di serie temporali nelle analisi di segnalifino ad esempio alla Guida, Navigazione e Controllo (GNC) di veicoli. Lalgoritmo lavorain 2 fasi, una di predizione dove lalgoritmo produce una stima dello stato attuale delsistema con la propria incertezza e una di aggiornamento dove, una volta ottenuta unanuova misurazione, la stima viene aggiornata con una media pesata secondo laccuratezzadella misura. Uno dei vantaggi di tale algoritmo che pu essere implementato per unutilizzo real time dove vengono usate unicamente le informazioni dello stato attuale edella nuova misura senza curarsi degli stati precedenti.Le equazioni del filtro sono riportate in figura 2.3.

    23

  • 2. Struttura dellalgoritmo

    Figura 2.3: Rudolf E. Kalman e le due fasi del filtro da lui creato

    24

  • 3Analisi spettrale del segnale

    3.1 Introduzione alla trasformata di Fourier a tempo discreto

    In matematica, la trasformata di Fourier a tempo discreto (DTFT - Discrete-Time Fou-rier Transform) una trasformata che a partire da un segnale discreto ne fornisce unadescrizione periodica nel dominio della frequenza, similmente alla trasformata di Fouriertradizionale che per fornisce una rappresentazione continua e non periodica. Infattila DTFT pu essere considerata come unapprossimazione della trasformata di Fourierclassica.Tale strumento matematico ha un ruolo rilevante quando si studiano segnali campiona-ti, ovvero ottenuti da un segnale a tempo continuo considerandone il valore assunto inprecisi istanti di tempo, solitamente separati da un intervallo temporale fisso T .Per definizione, dato un insieme di numeri x[n], con n Z, la sua trasformata di Fouriera tempo discreto la serie:

    X() =

    n=x[n] ein

    La funzione X() che ne risulta rappresenta graficamente lo spettro del segnale x[n]di partenza. Per questo motivo lo studio del segnale nel dominio delle frequenze vienespesso definito analisi spettrale.Essendo i valori della trasformata appartenenti allinsieme dei numeri complessi, spessosi rappresenta in un grafico il suo valore assoluto |X()| con frequenza normalizzatanel continuo [0, 2).Prendendo come esempio una sinusoide sin(t), con = 5Hz, (fig.3.1) risulta sempliceosservare che il picco dello spettro con ampiezza maggiore corrisponde alla pulsazioneangolare del segnale sinusoidale.

    25

  • 3. Analisi spettrale del segnale

    Figura 3.1: Segnale sinusoidale e suo spettro

    La situazione si complica per nel momento in cui si analizzano segnali biologici, in-fatti in figura 3.2 viene mostrato un segnale fotopletismografico tradizionale campionatoa 125Hz ed il suo spettro.Si pu notare che nello spettro lintervallo delle ascisse possiede come limite superioreproprio la frequenza di campionamento. Inoltre, avendo la DTFT una propria simme-tria, si pu osservare come lo spettro sia speculare rispetto al punto intermedio delleascisse e, di conseguenza, le informazioni significative sono contenute entro una frequen-za massima pari a met della frequenza di campionamento.

    Figura 3.2: Segnale fotopletismografico tradizionale e suo spettro

    Nellelaborazione dei segnali, la FFT ha tre principali settori di utilizzo:

    1. analisi spettrale di segnali analogici e digitali, con applicazioni alla sintesi di filtridigitali;

    2. calcolo veloce della convoluzione e della correlazione;

    3. compressione di dati per la memorizzazione e la trasmissione efficiente degli stessi.

    26

  • 3. Analisi spettrale del segnale

    La principale ragione che rende importante la DTFT lesistenza di algoritmi veloci(FFT - Fast Fourier Transform) per il suo calcolo; essi adottano la tecnica divide-et-impera che consiste nella decomposizione ricorsiva della DTFT in trasformate di dimen-sioni ridotte ogni volta della met. Per tale motivo si sceglie di calcolare la trasformatasu un numero N di campioni pari ad una potenza di 2 (N = 2n).Gli algoritmi FFT pi comuni sono quelli proposti da Runge e Konig nel 1924 e daCooley e Tukey nel 1965 che permettono una forte riduzione della complessit nel tempoper il calcolo della trasformata.Prima di passare alla descrizione del metodo di stima con cui si procede per la ricercadel picco in frequenza necessario fare alcune considerazioni aggiuntive.I segnali reali, come quello PPG, sono costituiti da un numero finito di campioni; diconseguenza significa effettuare un campionamento anche in frequenza in modo da con-siderare solo un numero finito di frequenze anzich lintervallo continuo.In questo caso la trasformata (DFT) risulta:

    X( kNT

    ) = 1N

    N1n=0

    x[n] ei2knN

    dove:

    - N : numero di campioni

    - T : periodo di campionamento

    - k: indice di discretizzazione della frequenza (k [0, N 1])

    chiaro che T indica il passo di campionamento nel tempo mentre 1NT = F rappre-senta il passo di discretizzazione in frequenza.

    Figura 3.3: Vantaggio della tecnica di zero-padding su un segnale sinusoidale

    27

  • 3. Analisi spettrale del segnale

    Dunque risulta evidente che aumentando il numero di campioni su cui si applica latrasformata, migliora anche la risoluzione in frequenza dello spettro. Si pu notare intui-tivamente chem considerando un numero maggiore di campioni N tale che N T >> NT ,si ottiene una passo in frequenza F = 1N T > N campioni (fig.3.3)e in modo da consentire il calcolo della FFT con una discretizzazione in frequenza pari aF . In questo modo possibile migliorare la risoluzione in frequenza dello spettro senzamodificare in alcun modo il segnale di interesse.La tecnica di zero-padding viene spesso utilizzata in ambito di elaborazione di segnalipoich, oltre ad aumentare la risoluzione dello spettro, permette di ottenere un numerodi campioni pari ad una potenza di 2. Si visto che, quando la lunghezza del segnale pari N = 2n, lalgoritmo FFT pu essere usato in modo pi efficiente senza andare adalterare la sua rapidit di esecuzione.

    3.2 Metodo di stima del battito cardiaco

    Nel lavoro proposto, lanalisi spettrale del segnale viene inserita nella fase di correzionedel filtro di Kalman.Il fine quello di ricavare una stima della frequenza cardiaca attraverso la ricerca delpicco di ampiezza maggiore nello spettro del segnale PPG.Bisogna tenere presente che nella DFT delle tracce (fig.3.4) i picchi presenti sono nume-rosi e, nella maggior parte dei casi, sono poco distinguibili.

    Figura 3.4: Picchi dello spettro di un segnale PPG

    28

  • 3. Analisi spettrale del segnale

    Le varie tecniche ed i vari strumenti di analisi descritti nel paragrafo precedente nonsono sufficienti per effettuare in modo preciso e corretto la ricerca della componente infrequenza corrispondente al battito cardiaco, poich lintervallo di ricerca risulta troppoampio ed quindi possibile agganciare erroneamente un picco che non rappresenti ilbattito.Per tale ragione lalgoritmo di analisi spettrale stato implementato allinterno di unfiltro di Kalman. Questultimo, attraverso una stima iniziale fI calcolata durante la fasedi predizione del filtro, permette di restringere lintervallo su cui procedere con la suc-cessiva ricerca del picco di interesse in modo da aumentare laccuratezza e la precisionedella stima.Partendo dalla stima fI , dunque, si crea un intervallo in frequenza [fI , ..., fI + ]nel quale si ipotizza sia presente il valore di ampiezza massima fM1 associato al battitocardiaco (fig.3.5). La ricerca del picco viene di conseguenza limitata a questo intervallo. importante definire con attenzione il valore di poich se troppo grande si potreb-bero includere componenti di rumore o, viceversa, se troppo piccolo, si rischierebbe dinon considerare componenti riferite al segnale utile.

    Figura 3.5: Spettro segnale intero e in un intervallo di interesse

    La stima viene successivamente raffinata attraverso il calcolo dellinterpolazione trail picco trovato ed il picco adiacente con ampiezza maggiore in modo da migliorare lacorrettezza della misura.In particolare, lalgoritmo di interpolazione [6] utilizzato si basa sul fatto che il numerodi campioni del segnale finito e che, quindi, il blocco di dati pu essere visto come unafinestra temporale rettangolare definita come segue:

    Rn =

    1, 0 n < NR0, 0 > n NRDunque, lo spettro di una finestra rettangolare risulta essere:

    WR(ej) = ej(N1)

    2sin(NR/2)sin(/2)

    29

  • 3. Analisi spettrale del segnale

    Lidea di base quella di trovare il valore di correzione che permetta di calcolare ilvalore (fM1 + ) in modo da ottenere una misura pi precisa (fig. 3.6).

    Figura 3.6: Illustrazione algoritmo di interpolazione. k rappresenta il picco trovato (fM1)nellintervallo descritto in precedenza.

    Inizialmente (ponendo NR = N), viene definito il rapporto dei moduli della DFT frai due valori con ampiezza maggiore (k e k+1) come:

    |V (k+1)||V (k)|

    = |V (0 2/N + 2/N)||V (0 2/N |

    |W (2/N + 2/N)||W (2/N |

    Dalla definizione dello spettro della finestra rettangolare si pu semplificare il rapportodei moduli con la seguente espressione:

    |V (k+1)||V (k)|

    |sin( + )||sin(/N + /N)|

    |sin(/N)||sin()|

    E, infine, approssimando la funzione seno con largomento si ottiene:

    |V (k+1)||V (k)|

    |/N || /N + /N | =

    ||| 1|

    Lultima equazione ci consente di trovare il valore di in modo da correggere la stimafM1 :

    = |V (k+1)||V (k)|+ |V (k+1)|

    30

  • 3. Analisi spettrale del segnale

    Per limplementazione di questo algoritmo si sono valutati anche altri tipi di finestra-tura (come quella di Hanning e Kaiser-Bessel) ma i risultati ottenuti mostravano che labanda considerata era troppo larga e che, dunque, cera il rischio di includere valori in-desiderati o non riferite allinformazione di interesse, ovvero quella del battito cardiaco.Linterpolazione in frequenza si rivelata inoltre utile nel momento in cui si procede conla ricerca picco della seconda armonica, se presente. Come si pu osservare in Figura2.2, in un soggetto a riposo i due picchi sono chiaramente visibili. Viene quindi creatoun secondo intervallo a frequenza doppia [2fI , ..., 2fI + ] e, in modo analogo aprima, si procede con la ricerca del massimo fM2 . una verifica ulteriore che viene compiuta con il fine di rafforzare il codice e di rendere lastima della frequenza caridaca pi corretta. Senza il passaggio di interpolazione lerrorepresente in fM1 verrebbe raddoppiato durante la ricerca nel secondo intervallo.I criteri per la scelta finale della stima prevedono un paio di accorgimenti: se i due picchitrovati si trovano esattamente uno a frequenza doppia dellaltro (fM2 = 2fM1) allora sicuro che la stima si riferisce al battito cardiaco; altrimenti, se i due picchi differisconotra di loro (fM2 6= 2fM1), si tiene come stima corretta la componente di frequenza pisimile a quella della stima iniziale fI .Si pu inoltre osservare che nel caso di un soggetto sotto sforzo i picchi spettrali rilevabilisono pi numerosi e la verifica di questa condizione presenta maggiori difficolt.Una volta estratta la stima di interesse riguardante la frequenza cardiaca, essa vieneaggiustata dal filtro di Kalman aggiornando lo stato attuale del sistema.In conclusione, dunque, la stima fornita durante lanalisi spettrale una stima grezza laquale viene corretta dal filtro. Ci nonostante, lanalisi in frequenza risulta un passaggiofondamentale allinterno dellalgoritmo; senza questo procedimento il lavoro rimarrebbeprivo di un metodo basilare di stima del battito cardiaco e lalgoritmo risulterebbe pocoefficace.

    3.3 Risultati

    In questa tesi stata presentata una parte dellalgortimo basato sul filtro di Kalmansviluppato con lo scopo di stimare in tempo reale il battito cardiaco. I risultati, cheverrano esposti a breve, sono dunque il frutto dellintero lavoro e derivano dallunionedei tre pezzi principali di cui composto lalgoritmo: scomposizione a valori singolari,analisi spettrale e filtro di Kalman.Una caratteristica particolare dellalgoritmo da tenere in considerazione la sua bassacomplessit computazionale per quanto riguarda le tempistiche di esecuzione.Lalgoritmo, dunque, risulta essere implementabile su dispositivi a basso costo, in cui csufficiente disponibilit di memoria e capacit di elaborazione.Di seguito vengono proposti un paio di grafici (fig.3.7) con i risultati ottenuti applicandolalgoritmo ai test di prova forniti ufficialmente. interessante notare come le stimeseguano in modo corretto i valori del battito cardiaco.

    31

  • 3. Analisi spettrale del segnale

    0 50 100 150 200 250 300100

    110

    120

    130

    140

    150

    160

    170Estimation Results on Subject 05

    Time (Second)

    Bea

    t P

    er M

    inut

    e (B

    PM

    )

    Groundtruth of Heart RateEstimates by 3PGteamDEI

    0 50 100 150 200 250 30060

    70

    80

    90

    100

    110

    120

    130

    140

    150

    160Estimation Results on Subject 06

    Time (Second)

    Bea

    t P

    er M

    inut

    e (B

    PM

    )

    Groundtruth of Heart RateEstimates by 3PGteamDEI

    Figura 3.7: Grafici di confronto tra stime e valori veri

    La curva in blu corrisponde alle stime effettuate con lalgoritmo di stima implementato,mentre la curva in rosso rappresenta i valori ottenuti attraverso il segnale elettrocardio-grafico e ritenuti come valori veri.Come si pu osservare dal codice seguente, in cui viene mostrata la parte di algortimorelativa alla ricerca del picco nello spettro, per ottenere i risultati visibili nei grafici,il numero di campioni su cui si applicata la trasformata discreta di Fourier paria 213 = 8192. Essendo il numero di dati a disposizione uguale a 1000 (equivalente a8 secondi di traccia), laggiunta di zeri attraverso lo zero-padding risulta perci essere8192 1000 = 7192!In questo modo si riesce a constatare limportanza di tale tecnica e leffetto che producesul segnale di partenza.

    %% PEAK AND DOUBLE FREQUENCY PEAK (dfp) SEARCHING

    NFFT = 2^13; % fft points (zero padding)

    df = FS/NFFT; % frequency quantum (resolution = 1.8311 bpm)

    % fft application

    X = fft(x, NFFT)/length(x);

    X = abs(X(1:NFFT/2+1));

    % band selection of the spectrum

    i_min = floor(FCMIN/df)+1;

    i_max = floor(FCMAX/df)+1;

    % peak searching, with max, and raw frequency evalution (temporary)

    [value, loc] = max(X(i_min:i_max));

    f_hat = f_pri;

    L_loc = length(loc);

    if L_loc > 0

    f_hat = (loc+i_min-2)*df;

    end

    32

  • 3. Analisi spettrale del segnale

    % double frequency peak searching, with findpeaks2

    dpe = 3/60; % seraching range of the dfp in Hz

    FCMIN2 = 2*f_pri-dpe;

    FCMAX2 = 2*f_pri+dpe;

    i_min2 = floor(FCMIN2/df)+1;

    i_max2 = floor(FCMAX2/df);

    locs = [];

    if i_max2-i_min2 > 3

    [~, locs] = findpeaks2(X(i_min2:i_max2));end

    Per valutare al meglio i risultati provenienti dalla stima dellalgoritmo si fatto af-fidamento principalmente a due definizioni di errore: lerrore assoluto medio (Err 1) elerrore percentuale medio (Err 2).Dato BPMtrue(i) il valore, assunto come vero, del battito cardiaco alla finestra tem-porale i esima e dato BPMest(i) il valore stimato dallalgortimo, si definisce erroreassoluto medio:

    Error1 = 1W

    Wi=1|BPMest(i)BPMtrue(i)|

    doveW il numero totale delle finestre temporali. In modo analogo, si definisce errorepercentuale medio:

    Error2 = 1W

    Wi=1

    |BPMest(i)BPMtrue(i)|BPMtrue(i)

    In seguito nella tabella 3.1 vengono riportati i relativi errori assoluti medi e relativierrori percentuali medi riscontrati nei 12 test di prova messi a disposizione dagli orga-nizzatori del concorso. molto incoraggiante osservare che i risultati appaiono positivi ed appropiati rispettoallo scopo del lavoro.Sono stati proposti altri algoritmi di stima del battito cardiaco (come in [2]) nei quali,per, vengono riportati risultati con errori pi alti rispetto a quello presentato in questatesi.

    # Tracce 1 2 3 4 5 6 7 8 9 10 11 12Err 1 (BPM) 2.11 1.89 1.01 1.08 0.61 1.66 0.54 0.59 0.54 4.12 1.15 2.83Err 2 (%) 1.71 1.56 0.88 1.00 0.46 1.37 0.42 0.52 0.48 2.75 0.74 1.86

    Tabella 3.1: Risultati del confronto in termini di errore assoluto medio (Err 1) e in terminidi errore percentuale medio (Err 2) tra i valori stimati ottenuti con lalgoritmoproposto e valori veri.

    33

  • Conclusioni

    Il lavoro proposto in questa tesi, vuole evidenziare la necessit e lutilit dellanalisi spet-trale per la risoluzione di problemi quotidiani, come il semplice monitoraggio del battitocardiaco attraverso segnali fotopletismografici.Lo scopo di questo studio quello di calcolare una stima iniziale della frequenza cardiacaandando alla ricerca del picco di ampiezza maggiore nel dominio della frequenza.Essendo lo spettro di un segnale PPG ampio e denso di picchi, necessario selezionareun intervallo ristretto su cui procedere con la successiva ricerca del massimo e per que-sto si ricorre allausilio del filtro di Kalman che inoltre in grado di correggere la stimainiziale.Nellelaborato si voluto mostrare inoltre che i criteri selezionati per lo studio non sonoimmediati e, spesso, vengono scelti dallutente attraverso lunione di pi procedimenti.Infatti la tecnica utilizzata per lanalisi in frequenza spesso basata su una combinazionedi metodi e strumenti matematici in grado di migliorare la precisione della ricerca delpicco, incrementare la risoluzione in frequenza e aumentare laccuratezza della stima.Lanalisi spettrale rappresenta solamente una parte dellalgortimo che stato sviluppatoma, sicuramente, un passaggio importante e risulta essenziale nella struttura globaledel lavoro.I risultati proposti sono molto convincenti e relativamente migliori rispetto ad altri la-vori proposti a riguardo, considerando oltrettutto il fatto che lalgoritmo presenta unacomplessit computazionale bassa.Alcune migliorie potrebbero essere introdotte al codice al fine di irrobustirlo. Successiva-mente sar di nostro interesse approfondire determinati passaggi ed ampliare il discorsoattraverso lutilizzo di nuovi approcci al problema, in modo da sviluppare un metodo dianalisi ancora pi efficiente.

    35

  • Bibliografia

    [1] M. Fabris, A. Galli, F. Gambarin, G. Giorgi, I. A. Marsili;An efficient algorithm for heart rate estimation from photoplethysmographic signalsbased on the Kalman filter ;University of Padua, Department of Information Engineering2015

    [2] Z. Zhang, Z. Pi, B. Liu;TROIKA: A general framework for heart rate monitoring using wrist-type photo-plethysmographic (PPG) signals during intensive physical exercise;Biomedical Engineering, IEEE Transactions on;2014.

    [3] J. Allen;Photoplethysmography and its application in clinical physiological measurement;Physiological Measurement;2007.

    [4] Shamir, L. A. Eidelman, Y. Floman, L. Kaplan, R. Pi-zov;Pulse oximetry plethysmographic waveform during changes in blood volume;Br. J. Anaesth;1999.

    [5] J. W. Cooley, J. W. Tukey;An algorithm for the machine calculation of complex Fourier series;American Mathematical Society;1965.

    [6] K, Duda;Interpolation algorithms of DFT for parameters estimation of sinusoidal and dam-ped sinusoidal signals;AGH University of Science and Technology,Department of Measurement and In-strumentation, Krakow, poland;2012.

    37