Sei sulla pagina 1di 37

Universit degli Studi di Padova

Dipartimento di Ingegneria dellInformazione


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

Anno Accademico 2014/2015

Non c piacere nel successo,


se non lo dividi con qualcuno.
I fantastici 4

Indice
1 Strumentazione e forma donda di un segnale fotopletismografico
1.1 Descrizione di un segnale ECG . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Struttura circuitale e sensore fotopletismografico . . . . . . . . . . . . . .
1.3 Caratteristiche di un segnale PPG e formato dei dati . . . . . . . . . . . .

13
13
15
17

2 Struttura dellalgoritmo
21
2.1 Scomposizione ai valori singolari (SVD) . . . . . . . . . . . . . . . . . . . 21
2.2 Analisi nel dominio delle frequenze . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Analisi spettrale del segnale
3.1 Introduzione alla trasformata di Fourier a tempo discreto . . . . . . . . .
3.2 Metodo di stima del battito cardiaco . . . . . . . . . . . . . . . . . . . . .
3.3 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25
25
28
31

Bibliografia

37

Elenco delle figure


0.1
0.2

Confronto segnale ECG con segnale PPG . . . . . . . . . . . . . . . . . . 11


Logo IEEE Signal Processing Society . . . . . . . . . . . . . . . . . . . . . 12

1.1
1.2
1.3
1.4
1.5
1.6

Cellule miocardiche . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cellule pacemaker . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conduzione del potenzione elettrico . . . . . . . . . . . . . . . . . . .
Tracciato ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tipologia di un circuito base . . . . . . . . . . . . . . . . . . . . . .
I principali punti in cui si posizionano i sensori per lacquisizione
segnale PPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Esempio modalit di trasmissione . . . . . . . . . . . . . . . . . . . .
1.8 Esempio modalit di riflessione . . . . . . . . . . . . . . . . . . . . .
1.9 Segnale rilevato dal fotopletismografo in diverse parte de corpo. . . .
1.10 Confronto tra segnale acquisito tramite ECG e tramite PPG . . . .
1.11 Segnali riguardante lattivit cardiaca . . . . . . . . . . . . . . . . .
1.12 Segnali derivanti dallaccelerometro . . . . . . . . . . . . . . . . . . .

. .
. .
. .
. .
. .
del
. .
. .
. .
. .
. .
. .
. .

.
.
.
.
.

13
13
14
14
15

.
.
.
.
.
.
.

16
16
16
17
18
18
18

2.1
2.2
2.3

Confronto segnali PPG acquisite in situazioni differenti . . . . . . . . . . . 21


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

3.1
3.2
3.3
3.4
3.5
3.6

Segnale sinusoidale e suo spettro . . . . . . . . . . . . . . . . . . . . . .


Segnale fotopletismografico tradizionale e suo spettro . . . . . . . . . . .
Vantaggio della tecnica di zero-padding su un segnale sinusoidale . . . .
Picchi dello spettro di un segnale PPG . . . . . . . . . . . . . . . . . . .
Spettro segnale intero e in un intervallo di interesse . . . . . . . . . . . .
Illustrazione algortimo di interpolazione. k rappresenta il picco trovato
(fM1 ) nellintervallo descritto in precedenza. . . . . . . . . . . . . . . . .
Grafici di confronto tra stime e valori veri . . . . . . . . . . . . . . . . .

3.7

.
.
.
.
.

26
26
27
28
29

. 30
. 32

Sommario
Questo lavoro nasce dallesigenza di analizzare il segnale fornito da un fotopletismografo (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 segnale del battito fortemente disturbato e coperto da artefatti dovuti al movimento del
soggetto, in particolar modo della mano.
Inoltre, siccome la frequenza di questi disturbi non ben separata dalla frequenza del
battito, non si pu eliminare completamente il rumore sovrapposto attuando un semplice filtraggio lineare, soluzione pi comune per risolvere questa tipologia di problemi.
Lalgoritmo che verr presentato in questo elaborato combina analisi spettrale, ottenuta
tramite trasformata discreta di Fourier (DFT), ripulitura del segnale tramite scomposizione 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.

Introduzione
Un segnale contenente informazioni sul battito cardiaco pu essere misurato attraverso
lattivit elettrica p meccanica del cuore.
Il segnale elettrico pu essere acquisito attraverso un elettrocardiografo il quale, attraverso elettrodi posti sul torace del soggetto in punti di particolare interesse, permette di
visualizzare la manifestazione elettrica dellattivit contrattile del cuore (ECG, elettrocardiogramma).
Nel secondo caso, per misurare lattivit meccanica cardiaca, pu essere usato un fotopletismografo. La fotopletismografia una tecnica di misurazione ottica utilizzata
per rilevare le variazioni di volume sanguigno nello strato di tessuto microvascolare. Ha
disparate applicazioni cliniche, come ad esempio controllare lossimetria nel sangue, analizzare la frequenza respiratoria e, appunto, monitorare il battito cardiaco. Negli ultimi
anni, lo studio del segnale fotopletismografico, ha acquisito sempre maggior importanza
per 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 e
precisi ottenendo risultati sufficienti per le applicazione a cui sono adibite. Il lavoro
descritto in questa tesi si inserisce in tale contesto e rappresenta, in modo evidente, le
difficolt di analisi di un segnale fotopletsimografico ma, allo stesso tempo, anche la sua
efficacia nella misurazione della frequenza cardiaca.

ECG
500

500

1000

200

400

600

800

1000

600

800

1000

PPG
50

50

200

400

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 anno di Ingegneria Biomedica supervisionati dai docenti del Dipartimento di Ingegneria
dellInformazione (DEI) dellUniversit degli Studi di Padova che ha partecipato ad un
concorso, chiamato Signal Processing Cup (SP Cup), indetto dalla IEEE Signal Processing Society annualmente.
La competizione rivolta principalmente agli studenti di laurea triennale di tutto il
mondo e ha lo scopo di coinvolgere gli studenti e creare interesse nei confronti di un settore 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 Exercise
Using Wrist-Type Photoplethysmographic (PPG) Signals e riguardava essenzialmente
lo studio di segnali biologici derivanti dal cuore.
Le squadre partecipanti, costituite da studenti provenienti da tutto il mondo, in tutto
sono state 49. Il nostro lavoro non entrato nelle prime tre posizioni ma sar presentato
alla conferenza 1st International Forum on Research and Technologies for Society and
Industry che si terr in settembre a Torino, dove avremo la possibilit di esporlo.

12

1
Strumentazione e forma donda
di un segnale
fotopletismografico

1.1

Descrizione di un segnale ECG

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

Figura 1.2: Cellule pacemaker

Figura 1.1: Cellule miocardiche

In figura 1.1 si pu notare che nelle cellule miocardiche questa fase costante e ci
implica che necessario uno stimolo esterno per ottenere una risposta dalla cellula;
mentre, nelle cellule pacemaker, la fase di riposo ha una deriva verso lalto, questo
implica che sono in grado di generarsi autonomamente il potenziale dazione senza stimoli
esterni. Questo particolare comportamento delle cellule pacemaker responsabile della
contrazione 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 lelettrocardiogramma che ne deriva rappresenta il fenomeno globale ed dato dalla somma di
tutti i potenziali interni.
Il segnale elettrico acquisito dal cuore possiede determinate caratteristiche che lo contraddistinguono 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 dellapparato microvascolare e permette, dunque, il monitoraggio dellattivit meccanica
del 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-elettronico


non particolarmente costoso poich formato da semplici componenti elettroniche. La
struttura del sensore si articola in una sorgente luminosa che illumini il tessuto e un
fotorivelatore per misurare le piccole variazioni di intensit luminosa associate ai cambiamenti volumetrici del sangue.
La sorgente luminosa consiste in un LED (Light Emission Diode) che converte energia
elettrica in energia luminosa ed opera, solitamente, tra le lunghezze donda del rosso e
dell infrarosso (680nm - 1000nm). Tale componente ha il vantaggio di essere compatto, meccanicamente robusto e affidabile, avere un lungo ciclo di vita e di operare in un
ampio intervallo di temperatura con scostamenti della lunghezza donda di picco emesso
trascurabili.
Il fotorivelatore deve avere caratteristiche spettrali che gli consentono un vero e proprio
abbinamento con quelle della sorgente di luce; la funzione di questa componente quella
di convertire energia luminosa in corrente elettrica.
Analogamente ai LED, i fotorivelatori sono compatti, a basso costo, molto sensibili, inoltre hanno una notevole velocit di risposta in fase di transitorio temporale.
Il circuito elettrico del sensore, illustrato in figura 1.2, costituito essenzialmente da
quattro 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 di
luce allinterno del tessuto vascolare.
La luce emessa polarizza il foto-transistore collegato in serie a una resistenza con alta
impedenza affich la corrente che si crea venga assorbita, quasi totalmente, dal filtro
passa alto. Questultimo composto da un semplice circuito RC di primo ordine con
frequenza di soglia pari a (2R0 C0 )1 .
Infine si ha un circuito amplificatore con guadagno (R1 +R2 )/R2 che ha anche la propriet
di filtrare componenti a basse frequenze con una frequenza di taglio di (2R2 C2 )1 .

15

1. Strumentazione e forma donda di un segnale fotopletismografico


I sensori fotopletismografici vengono posti in determinati punti del corpo. Le zone che
si utilizzano pi comunemente sono quelle dei lobi dellorecchio, i polsi del braccio, le
dita 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 di


acquisizione 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.8: Esempio modalit di riflessione

Figura 1.7: Esempio modalit di trasmissione

importante che la sonda del PPG sia ben ancorata al fine di minimizzare gli artefatti
di movimento.
Un elemento di cui ci siamo serviti per il lavoro al fine di valutare al meglio i disturbi
provenienente 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. In
questo caso si utilizzato un accelerometro triassiale al fine di rilevare accelerazioni
disposte lungo tutti e tre gli assi spaziali con lo scopo di misurare segnali sensibili solo
al movimento che costituisce rumore.
Sia i pulsossimetri che laccelerometro erano incorporati allinterno di un polsino in modo
da 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 variazioni di volume delle arterie allinterno dellapparato circolatorio.
La forma donda del segnale in uscita del fotopletismografo presenta due importanti caratteristiche: la fase anacrotica, corrispondente al fronte di salita dellonda e coincidente
con la fase di sistole, seguita dalla fase catacrotica in cui si osserva il fronte di discesa
e corrispondente alla fase di diastole. Le forme donda variano leggermente a seconda
della 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 ritardo
del picco del primo rispetto al picco dellonda R, rivelato nellelettrocardiogramma; ci
dovuto al tempo che il sangue impiega per propagarsi allinterno del sistema vascolare
per 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 mettevano 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 registrati
simultanemente 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 pulsossimetri costituiti da sensori a LED di colore verde ( = 515 nm) distanziati luno
dallaltro di 2 cm.
Il segnale elettrocardiografico, invece, stato estratto simultaneamente per mezzo di
sensori 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 ad
un computer vicino via bluetooth.

ECG

Xaxis

200

0.8

0.6

200

0.4

400

0.2

600
800

0
0

100

200

300

400

500

600

700

800

900

1000

0.2

100

200

300

400

PPG (channel 1)

500

600

700

800

900

1000

600

700

800

900

1000

600

700

800

900

1000

Yaxis

60

0.8

40

0.6

20
0.4
0
0.2

20
40

100

200

300

400

500

600

700

800

900

1000

100

200

300

400

PPG (channel 2)

500
Zaxis

100

1.2
1

50

0.8
0.6

0.4
50

100

200

300

400

500

600

700

800

900

Figura 1.11: Segnali riguardante lattivit cardiaca

18

1000

0.2

100

200

300

400

500

Figura 1.12: Segnali derivanti dallaccelerometro

1. Strumentazione e forma donda di un segnale fotopletismografico


Le tracce che abbiamo come campioni hanno la durata di circa 5 minuti: per i primi
30 secondi i soggetti sono a riposo; successivamente, terminata questa fase iniziale, i
soggetti 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 della
durata, quindi, di 8 secondi. Ogni blocco discostava da quello precedente di 250 campioni, corrispondenti a 2 secondi di tracciato.
Infine. per ogni set di dati si considerato come risultato corretto la frequenza cardiaca
calcolata rispetto al segnale ECG registrato simultaneamente.

19

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

Soggetto a riposo

Soggetto sottoposto ad intenso sforzo fisico

50

120

40

100
80

30

60

20

40
10
20
0
0
10

20

20

40

30
40

60
0

4
t(s)

80
80

4
t(s)

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 (frequenza
0.5-4 Hz) in modo da eliminare il rumore di sottofondo pi abbondante. Si procede in
seguito con una decomposizione ai valori singolari; lalgoritmo stato applicato sia alla
matrice di Hankel del nostro segnale PPG sia ai segnali ottenuti tramite accelerometri. A
questo 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 del
segnale 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 quella
cardiaca la componente principale ed perci facile ripulire il segnale da rumore. Nel
nostro caso per, gli artefatti di movimento sono spesso cos grandi che rendono pi
complessa lindividuazione degli autovalori riferiti alla sinusoide.
Si procede quindi ricorrendo a matrici di correlazione tra i segnali PPG e quelli degli
accelerometri, tentando di individuare le componenti meno correlate tra loro, in quanto i
due 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 lo
studio al fine di ricavare la prima stima del battito cardiaco. In particolare lanalisi che
si compie di tipo spettrale, ovvero viene fatto uno studio nel campo delle frequenze del
segnale andando a valutare allinterno del suo spettro i picchi fondamentali. Tali picchi
sono utili per determinare le caratteristiche principali del segnale che si sta osservando
e per rilevare determinati fenomeni che non si osserverebbero se lanalisi fosse fatta nel
dominio 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 applicazioni nellambito delle scienze applicate, che permette di trasformare una funzione
matematica definita nel dominio del tempo x(t) in una nuova funzione X(f) il cui argomento una frequenza. Il processo risulta essere efficace nel momento in cui sia stato
precedentemente attuato un filtraggio in modo da azzerare, o quasi, le componenti che
si riferiscono sicuramente a rumore. Inoltre sono necessarie anche alcune manipolazioni
dei dati sorgenti, come zero-padding e finestrature, affinch lalgoritmo utilizzato sia il
pi 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 caratteristico del battito cardiaco che poi verr estrapolato per calcolare la stima. Lidea
quella che, solitamente, il picco fondamentale sia evidenziato dalla presenza di due
massimi: uno in corrispondenza della frequenza di interesse del battito e laltro in corrispondenza 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, in
un segnale pulito come nel caso del paziente a riposo, le due componenti, evidenziate in
rosso e verde, sono ben distinguibili. In particolare si verifica che la seconda componente
si trova esattamente a frequenza doppia rispetto alla prima.
Nel momento in cui il segnale viene perturbato, il disturbo va a influire anche sullo spettro stesso dellonda rendendo difficile la ricerca del picco corretto. Infatti nel secondo
grafico viene evidenziato il picco di ampiezza massima che, chiaramente, non si riferisce
alla corrretta componente.

22

2. Struttura dellalgoritmo
Vedremo successivamente che con la ripulitura del segnale la situazione migliora; nonostante ci fondamentale avere una stima iniziale da cui poter procedere alla ricerca del
picco esatto.
Anche nel caso della ricerca della componente fondamentale necessario lausilio di uno
strumento matematico quale la interpolazione in frequenza che consente di calcolare in
modo pi preciso il valore effettivo del picco di riferimento del battito cardiaco.

Spettro soggetto a riposo

Spettro soggetto sotto sforzo

9000

12000

8000
10000

7000
8000

6000
5000

6000

4000
4000

3000
2000

2000

1000
0

f (Hz)

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 in
istanti temporali successivi e che riesce a valutare efficientemente lo stato di un sistema
variabile nel tempo anche se questo affetto da rumore. Il filtro prende il nome da
Rudolf E. Kalman, uno dei primi sviluppatori di questa teoria. Una prima applicazione
di tale filtro dovuta a Stanley F. Schmidt il quale, durante una visita da parte di
Kalman al centro di ricerca Ames della NASA, vide una applicabilit delle sue teorie
al problema della stima della traiettorie del programma Apollo ed il filtro in questione
venne successivamente incorporato nel sistema di navigazione. La sua applicazione pu
spaziare in molti campi a partire dallo studio di serie temporali nelle analisi di segnali
fino ad esempio alla Guida, Navigazione e Controllo (GNC) di veicoli. Lalgoritmo lavora
in 2 fasi, una di predizione dove lalgoritmo produce una stima dello stato attuale del
sistema con la propria incertezza e una di aggiornamento dove, una volta ottenuta una
nuova misurazione, la stima viene aggiornata con una media pesata secondo laccuratezza
della misura. Uno dei vantaggi di tale algoritmo che pu essere implementato per un
utilizzo real time dove vengono usate unicamente le informazioni dello stato attuale e
della 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

3
Analisi 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 Fourier Transform) una trasformata che a partire da un segnale discreto ne fornisce una
descrizione periodica nel dominio della frequenza, similmente alla trasformata di Fourier
tradizionale che per fornisce una rappresentazione continua e non periodica. Infatti
la DTFT pu essere considerata come unapprossimazione della trasformata di Fourier
classica.
Tale strumento matematico ha un ruolo rilevante quando si studiano segnali campionati, ovvero ottenuti da un segnale a tempo continuo considerandone il valore assunto in
precisi 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 Fourier
a tempo discreto la serie:

X() =

x[n] ein

n=

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 viene
spesso definito analisi spettrale.
Essendo i valori della trasformata appartenenti allinsieme dei numeri complessi, spesso
si rappresenta in un grafico il suo valore assoluto |X()| con frequenza normalizzata
nel continuo [0, 2).
Prendendo come esempio una sinusoide sin(t), con = 5Hz, (fig.3.1) risulta semplice
osservare che il picco dello spettro con ampiezza maggiore corrisponde alla pulsazione
angolare 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, infatti in figura 3.2 viene mostrato un segnale fotopletismografico tradizionale campionato
a 125Hz ed il suo spettro.
Si pu notare che nello spettro lintervallo delle ascisse possiede come limite superiore
proprio la frequenza di campionamento. Inoltre, avendo la DTFT una propria simmetria, si pu osservare come lo spettro sia speculare rispetto al punto intermedio delle
ascisse e, di conseguenza, le informazioni significative sono contenute entro una frequenza 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 filtri
digitali;
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-etimpera che consiste nella decomposizione ricorsiva della DTFT in trasformate di dimensioni ridotte ogni volta della met. Per tale motivo si sceglie di calcolare la trasformata
su 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 da
Cooley e Tukey nel 1965 che permettono una forte riduzione della complessit nel tempo
per il calcolo della trasformata.
Prima di passare alla descrizione del metodo di stima con cui si procede per la ricerca
del picco in frequenza necessario fare alcune considerazioni aggiuntive.
I segnali reali, come quello PPG, sono costituiti da un numero finito di campioni; di
conseguenza significa effettuare un campionamento anche in frequenza in modo da considerare solo un numero finito di frequenze anzich lintervallo continuo.
In questo caso la trasformata (DFT) risulta:

X(

1
kn
k
1 NX
)=
x[n] ei2 N
NT
N n=0

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
senta il passo di discretizzazione in frequenza.

1
NT

= F rappre-

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 la
trasformata, migliora anche la risoluzione in frequenza dello spettro. Si pu notare intuitivamente chem considerando un numero maggiore di campioni N 0 tale che N 0 T >> N T ,
si ottiene una passo in frequenza F 0 = N10 T << N1T = F .
per questo motivo che viene utilizzata la tecnica dello zero-padding che consiste nellaggiungere zeri al segnale di partenza in modo da ottenere N 0 >> N campioni (fig.3.3)
e in modo da consentire il calcolo della FFT con una discretizzazione in frequenza pari a
F 0 . In questo modo possibile migliorare la risoluzione in frequenza dello spettro senza
modificare in alcun modo il segnale di interesse.
La tecnica di zero-padding viene spesso utilizzata in ambito di elaborazione di segnali
poich, oltre ad aumentare la risoluzione dello spettro, permette di ottenere un numero
di 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 ad
alterare 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 correzione
del filtro di Kalman.
Il fine quello di ricavare una stima della frequenza cardiaca attraverso la ricerca del
picco di ampiezza maggiore nello spettro del segnale PPG.
Bisogna tenere presente che nella DFT delle tracce (fig.3.4) i picchi presenti sono numerosi 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 non
sono sufficienti per effettuare in modo preciso e corretto la ricerca della componente in
frequenza corrispondente al battito cardiaco, poich lintervallo di ricerca risulta troppo
ampio ed quindi possibile agganciare erroneamente un picco che non rappresenti il
battito.
Per tale ragione lalgoritmo di analisi spettrale stato implementato allinterno di un
filtro di Kalman. Questultimo, attraverso una stima iniziale fI calcolata durante la fase
di predizione del filtro, permette di restringere lintervallo su cui procedere con la successiva ricerca del picco di interesse in modo da aumentare laccuratezza e la precisione
della 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 battito
cardiaco (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 potrebbero includere componenti di rumore o, viceversa, se troppo piccolo, si rischierebbe di
non 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 tra


il picco trovato ed il picco adiacente con ampiezza maggiore in modo da migliorare la
correttezza della misura.
In particolare, lalgoritmo di interpolazione [6] utilizzato si basa sul fatto che il numero
di campioni del segnale finito e che, quindi, il blocco di dati pu essere visto come una
finestra temporale rettangolare definita come segue:
nR =

1,

0 n < NR

0,

0 > n NR

Dunque, lo spettro di una finestra rettangolare risulta essere:


W R (ej ) = e

j(N 1)
2

29

sin(N R /2)
sin(/2)

3. Analisi spettrale del segnale


Lidea di base quella di trovare il valore di correzione che permetta di calcolare il
valore (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 N R = N ), viene definito il rapporto dei moduli della DFT fra
i due valori con ampiezza maggiore (k e k+1 ) come:
|V (0 2/N + 2/N )|
|W (2/N + 2/N )|
|V (k+1 )|
=

|V (k )|
|V (0 2/N |
|W (2/N |

Dalla definizione dello spettro della finestra rettangolare si pu semplificare il rapporto


dei moduli con la seguente espressione:
|V (k+1 )|
|sin( + )|
|sin(/N )|

|V (k )|
|sin(/N + /N )| |sin()|

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


|/N |
||
|V (k+1 )|

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

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


fM1 :

|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 finestratura (come quella di Hanning e Kaiser-Bessel) ma i risultati ottenuti mostravano che la
banda considerata era troppo larga e che, dunque, cera il rischio di includere valori indesiderati o non riferite allinformazione di interesse, ovvero quella del battito cardiaco.
Linterpolazione in frequenza si rivelata inoltre utile nel momento in cui si procede con
la ricerca picco della seconda armonica, se presente. Come si pu osservare in Figura
2.2, in un soggetto a riposo i due picchi sono chiaramente visibili. Viene quindi creato
un secondo intervallo a frequenza doppia [2fI , ..., 2fI + ] e, in modo analogo a
prima, si procede con la ricerca del massimo fM2 .
una verifica ulteriore che viene compiuta con il fine di rafforzare il codice e di rendere la
stima della frequenza caridaca pi corretta. Senza il passaggio di interpolazione lerrore
presente 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 picchi
trovati 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 differiscono
tra di loro (fM2 6= 2fM1 ), si tiene come stima corretta la componente di frequenza pi
simile a quella della stima iniziale fI .
Si pu inoltre osservare che nel caso di un soggetto sotto sforzo i picchi spettrali rilevabili
sono pi numerosi e la verifica di questa condizione presenta maggiori difficolt.
Una volta estratta la stima di interesse riguardante la frequenza cardiaca, essa viene
aggiustata dal filtro di Kalman aggiornando lo stato attuale del sistema.
In conclusione, dunque, la stima fornita durante lanalisi spettrale una stima grezza la
quale viene corretta dal filtro. Ci nonostante, lanalisi in frequenza risulta un passaggio
fondamentale allinterno dellalgoritmo; senza questo procedimento il lavoro rimarrebbe
privo di un metodo basilare di stima del battito cardiaco e lalgoritmo risulterebbe poco
efficace.

3.3

Risultati

In questa tesi stata presentata una parte dellalgortimo basato sul filtro di Kalman
sviluppato con lo scopo di stimare in tempo reale il battito cardiaco. I risultati, che
verrano esposti a breve, sono dunque il frutto dellintero lavoro e derivano dallunione
dei 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 bassa
complessit computazionale per quanto riguarda le tempistiche di esecuzione.
Lalgoritmo, dunque, risulta essere implementabile su dispositivi a basso costo, in cui c
sufficiente disponibilit di memoria e capacit di elaborazione.
Di seguito vengono proposti un paio di grafici (fig.3.7) con i risultati ottenuti applicando
lalgoritmo ai test di prova forniti ufficialmente. interessante notare come le stime
seguano in modo corretto i valori del battito cardiaco.

31

3. Analisi spettrale del segnale


Estimation Results on Subject 05

Estimation Results on Subject 06

170

160
150

160

Beat Per Minute (BPM)

Beat Per Minute (BPM)

140
150

140

130

120

130
120
110
100
90
80

110
Groundtruth of Heart Rate
Estimates by 3PGteamDEI
100

50

100

150

200

250

300

70
60

Groundtruth of Heart Rate


Estimates by 3PGteamDEI
0

50

Time (Second)

100

150

200

Time (Second)

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 elettrocardiografico e ritenuti come valori veri.
Come si pu osservare dal codice seguente, in cui viene mostrata la parte di algortimo
relativa 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 pari
a 213 = 8192. Essendo il numero di dati a disposizione uguale a 1000 (equivalente a
8 secondi di traccia), laggiunta di zeri attraverso lo zero-padding risulta perci essere
8192 1000 = 7192!
In questo modo si riesce a constatare limportanza di tale tecnica e leffetto che produce
sul 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

250

300

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 affidamento principalmente a due definizioni di errore: lerrore assoluto medio (Err 1) e
lerrore percentuale medio (Err 2).
Dato BP Mtrue (i) il valore, assunto come vero, del battito cardiaco alla finestra temporale i esima e dato BP Mest (i) il valore stimato dallalgortimo, si definisce errore
assoluto medio:

W
1 X
Error1 =
|BP Mest (i) BP Mtrue (i)|
W i=1

dove W il numero totale delle finestre temporali. In modo analogo, si definisce errore
percentuale medio:

Error2 =

W
|BP Mest (i) BP Mtrue (i)|
1 X
W i=1
BP Mtrue (i)

In seguito nella tabella 3.1 vengono riportati i relativi errori assoluti medi e relativi
errori percentuali medi riscontrati nei 12 test di prova messi a disposizione dagli organizzatori del concorso.
molto incoraggiante osservare che i risultati appaiono positivi ed appropiati rispetto
allo 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 questa
tesi.

# Tracce
Err 1 (BPM)
Err 2 (%)

1
2.11
1.71

2
1.89
1.56

3
1.01
0.88

4
1.08
1.00

5
0.61
0.46

6
1.66
1.37

7
0.54
0.42

8
0.59
0.52

9
0.54
0.48

10
4.12
2.75

11
1.15
0.74

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

33

12
2.83
1.86

Conclusioni
Il lavoro proposto in questa tesi, vuole evidenziare la necessit e lutilit dellanalisi spettrale per la risoluzione di problemi quotidiani, come il semplice monitoraggio del battito
cardiaco attraverso segnali fotopletismografici.
Lo scopo di questo studio quello di calcolare una stima iniziale della frequenza cardiaca
andando alla ricerca del picco di ampiezza maggiore nel dominio della frequenza.
Essendo lo spettro di un segnale PPG ampio e denso di picchi, necessario selezionare
un intervallo ristretto su cui procedere con la successiva ricerca del massimo e per questo si ricorre allausilio del filtro di Kalman che inoltre in grado di correggere la stima
iniziale.
Nellelaborato si voluto mostrare inoltre che i criteri selezionati per lo studio non sono
immediati e, spesso, vengono scelti dallutente attraverso lunione di pi procedimenti.
Infatti la tecnica utilizzata per lanalisi in frequenza spesso basata su una combinazione
di metodi e strumenti matematici in grado di migliorare la precisione della ricerca del
picco, incrementare la risoluzione in frequenza e aumentare laccuratezza della stima.
Lanalisi spettrale rappresenta solamente una parte dellalgortimo che stato sviluppato
ma, sicuramente, un passaggio importante e risulta essenziale nella struttura globale
del lavoro.
I risultati proposti sono molto convincenti e relativamente migliori rispetto ad altri lavori proposti a riguardo, considerando oltrettutto il fatto che lalgoritmo presenta una
complessit computazionale bassa.
Alcune migliorie potrebbero essere introdotte al codice al fine di irrobustirlo. Successivamente sar di nostro interesse approfondire determinati passaggi ed ampliare il discorso
attraverso lutilizzo di nuovi approcci al problema, in modo da sviluppare un metodo di
analisi 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 signals
based on the Kalman filter;
University of Padua, Department of Information Engineering
2015
[2] Z. Zhang, Z. Pi, B. Liu;
TROIKA: A general framework for heart rate monitoring using wrist-type photoplethysmographic (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 damped sinusoidal signals;
AGH University of Science and Technology,Department of Measurement and Instrumentation, Krakow, poland;
2012.

37