-
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