Identificazione dello stato fisiologico del guidatore attraverso l

Identificazione dello stato fisiologico
del guidatore attraverso l’analisi del
segnale ECG
Alessandro Preti
Università degli Studi di Padova
Corso di Laurea Magistrale in Ingegneria dell’Automazione
Relatore:
Correlatore:
Ch.mo Prof. Giorgio Picci
Ing. Attilio Brighenti
Padova a.a. 2012/2013
Ai miei genitori e a Stefania...
Abstract
La mia tesi è frutto di una collaborazione con la Attain IT s.r.l. nello
sviluppo di sistemi on-board per il monitoraggio dell’attività di guida.
Attain IT s.r.l. sfrutta e sviluppa il know-how tecnico di S.A.T.E. s.r.l.
nell’ambito della modellistica sul tema del in-vehicle monitoring.
Lo studio del comportamento umano alla guida è una tematica molto
rilevante per il miglioramento dei livelli di sicurezza nell’ambito automobilistico. La comunità europea ha finanziato vari progetti in quest’ambito
di ricerca tra i quali METABO, del quale S.A.T.E era partner, che aveva
tra i suoi obiettivi, l’individuazione di eventi ipoglicemici durante la guida
di un autoveicolo analizzando il comportamento del guidatore attraverso
l’utilizzo di segnali che provengono da ambiti diversi:
1. Segnali del veicolo: provenienti dalla rete CAN (Communication
Area Network) di bordo.
2. Segnali biomedici: provenienti da sensori installati sul corpo del guidatore che comunicano con il sistema di bordo tramite collegamento
wireless, oppure da dispositivi situati all’interno della vettura che
misurano grandezze biomedicali.
3. Segnali ambientali: provenienti dall’ambiente esterno o interno della
vettura.
In questa tesi ci si occupa di una parte dei possibili metodi per lo studio del comportamento del guidatore tramite l’analisi del segnale ECG
(Elettrocardiogramma) e il monitoraggio dell’attività cardiaca. Il segnale
ECG viene misurato da un sensore WBA (Wireless BioAmplifier) e viene
inviato attraverso una connessione Bluetooth a un Ultra-mobile PC che
realizza l’analisi del segnale biomedico per l’identificazione in tempo reale
dello stato fisiologico del guidatore. Questa piattaforma consente non solo
di elaborare il segnale ECG ma raccoglie anche i segnali provenienti dal
veicolo e dall’ambiente. La possibilità di utilizzare il segnale GPS consente di associare tutte le informazioni ad un riferimento spaziale in aggiunta
al convenzionale riferimento temporale.
Avendo a disposizione il segnale ECG si può procedere ad uno studio che
mira all’individuazione di “features” che sono associate a caratteristiche
cliniche standard. Queste possono essere descritte dagli intervalli temporali tra le diverse onde che compongono un battito cardiaco e la loro
variazione durante l’attività di guida viene analizzata per determinare lo
stato fisiologico del guidatore.
La tesi è sviluppata nei seguenti capitoli:
1. Nel primo capitolo sono descritti gli strumenti software, hardware e
l’architettura del sistema di acquisizione del segnale ECG on-board.
2. Nel secondo capitolo viene presentato il segnale ECG descrivendo
la sua natura fisiologica e le sue modalità di acquisizione. Vengono
presentate le features che caratterizzano un battito cardiaco e la loro
descrizione dal punto di vista fisiologico. Inoltre, sono descritti il
rumori e gli artefatti che contaminano i tracciato ECG e viene fatta
un’analisi frequenziale del segnale.
3. Il terzo capitolo tratta lo sviluppo dell’algoritmo per l’estrazione delle features. L’informazione principale che viene estratta dal segnale ECG è la frequenza cardiaca (HR Heart Rate) che corrisponde
all’inverso dell’intervallo temporale che intercorre tra due onde R
corrispondenti a due battiti consecutivi. In aggiunta, viene estratto
l’intervallo QT, intervallo temporale tra l’inizio dell’onda Q e la fine
dell’onda T. Tale caratteristica indica la depolarizzazione dei ventricoli e recenti studi [19] mostrano un certo grado di correlazione
tra la durata dell’intervallo QT e lo stato ipoglicemico nelle persone
diabetiche. Viene sviluppato un metodo di filtraggio per ridurre la
presenza di rumori ed artefatti nel segnale analizzato e per migliorare
l’efficienza dell’algoritmo di estrazione delle features.
4. Nel quarto capitolo viene fatta un’analisi della variabilità della frequenza cardiaca (HRV Heart Rate Variability) per indagare lo stato
di salute del guidatore.
Il lavoro svolto è stato realizzato interamente in ambiente Matlab® e
Simulink® , studiando i segnali raccolti durante sessioni di guida reale
e di guida al simulatore in postprocessing. Gli sviluppi futuri consistono
nell’implementare l’algoritmo di estrazione delle features per un utilizzo
in real-time su dispositivo on-board.
iv
Indice
1 Architettura di acquisizione
1.1 Hardware . . . . . . . . .
1.1.1 Ultramobile-PC . .
1.1.2 WBA . . . . . . .
1.1.3 Bluetooth . . . . .
1.2 Software . . . . . . . . . .
dati
. . .
. . .
. . .
. . .
. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
2
4
4
2 Il Segnale ECG
2.1 Basi fisiologiche . . . . . . . . . . . . . . . . . . . .
2.1.1 Sistema a 12 derivazioni Standard . . . . . . .
2.2 Morfologia del segnale ECG . . . . . . . . . . . . . .
2.3 Rumori e artefatti . . . . . . . . . . . . . . . . . . . .
2.4 Analisi Frequenziale . . . . . . . . . . . . . . . . . . .
2.4.1 Analisi frequenziale del segnale ECG acquisito
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
9
10
13
14
16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
20
20
22
24
27
29
31
34
34
36
40
42
46
47
di un veicolo
del guidatore . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
55
55
57
58
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Algoritmo per l’estrazione delle features
3.1 Algoritmo per la misura dell’intervallo R-R . . . . . . . . . . .
3.1.1 Metodo di identificazione del picco R . . . . . . . . . .
3.1.2 Prestazioni e limitazioni dell’algoritmo . . . . . . . . .
3.1.3 Introduzione soglie adattative . . . . . . . . . . . . . .
3.2 Algoritmo per la misura dell’intervallo QT . . . . . . . . . . .
3.2.1 Algoritmo per l’identificazione del punto Qonset . . . .
3.2.2 Algoritmo per l’identificazione del punto Tof f set . . . .
3.3 Filtraggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Principal Component Analysis (PCA) . . . . . . . . .
3.3.2 Metodo . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Aggiornamento dinamico della PCA . . . . . . . . . . .
3.3.4 Identificazione di anomalie nella matrice di osservazione
3.3.5 Algoritmo di filtraggio . . . . . . . . . . . . . . . . . .
3.3.6 Prestazioni dell’algoritmo di filtraggio . . . . . . . . . .
4 Analisi dell’affaticamento alla guida
4.1 Identificazione dello stato fisiologico
4.2 Heart Rate Variability . . . . . . .
4.2.1 Misura del HRV . . . . . . .
v
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.3
4.4
4.2.2 HRV e frequenza di campionamento
Test di Simulazione e Guida . . . . . . . .
4.3.1 Test al simulatore . . . . . . . . . .
4.3.2 Test di guida . . . . . . . . . . . .
Risultati . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
63
63
65
67
5 Conclusioni
73
Bibliografia
75
A Sistema cardiocircolatorio
A.1 Il cuore . . . . . . . . . . . . .
A.2 Tessuti funzionali del cuore . . .
A.3 Vie di conduzione del potenziale
A.4 Controllo nervoso del cuore . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
79
80
81
82
B SVD : teoria e applicazione
B.1 Decomposizione ai Valori Singolari (SVD)
B.2 SVD Ridotta . . . . . . . . . . . . . . . .
B.3 Relazione tra SVD e EVD . . . . . . . . .
B.4 Stabilità numerica della SVD . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
84
84
86
86
87
. . . . .
. . . . .
d’azione
. . . . .
C Modello Simulink
89
vi
Elenco delle figure
1.1
1.2
1.3
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3.1
3.2
3.3
3.4
3.5
Architettura del sistema di acquisizione del segnale ECG all’interno
della vettura. A sinistra viene raffigurato il sensore W BA ECG mentre
a destra viene raffigurato l’UMPC Samsung Q1. . . . . . . . . . . .
Configurazione degli elettrodi per misurazione ECG a derivazione singola (“single lead”). Gli elettrodi giallo e rosso sono elettrodi di misura
mentre quello nero è l’elettrodo di terra. . . . . . . . . . . . . . . . .
Schema di funzionamento del software MegaWin. . . . . . . . . . . .
Traiettoria del vettore elettrico del cuore durante un normale battito
cardiaco [6]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traiettoria del vettore elettrico del cuore comparata con i tracciati ECG
scalari ottenuti lungo tre derivazioni periferiche (Lead I orientamento
a 0◦ ,Lead II orientamento a +60◦ , Lead III orientamento a +120◦ ) [6].
Tracciati ECG scalari ottenuti lungo le sei derivazioni precordiali [6].
Caratteristiche di un elettrocardiogramma normale [6]. . . . . . . . . .
Spettro di potenza del segnale ECG e spettri relativi al complesso QRS,
all’onda P e T, al rumore dovuto al movimento muscolare e agli artefatti. Esso è basato su 150 battiti [21]. . . . . . . . . . . . . . . . . .
Segnale ECG e relativo spettro di potenza corrispondente a diversi tipi
di aritmie: ritmo sinusale normale (Sinus), tachicardia ventricolare
(VL), fluttuazioni ventricolari (VFL), fibrillazione ventricolare (VFIB)
[6]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spettro di potenza nel tempo calcolato ogni 20 secondi di segnale ECG,
usando il metodo di Welch con finestratura di Hamming a 4096 punti
e overlap del 50%. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grafico dei rapporti tra: (a) Ampiezze dei picchi presenti nello spettro;
(b) Frequenze relative ai picchi presenti nello spetro. . . . . . . . . .
Schema generale di un algoritmo di estrazione features da segnale ECG
[11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schema di funzionamento del metodo di identificazione del picco R. .
Soglie Adattative sull’ampiezza del segnale ECG. . . . . . . . . . . . .
Soglia Adattativa per la derivata del segnale ECG. . . . . . . . . . . .
Metodi di misurazione automatica dell’intervallo QT: TH (Threshold
level interception), DTH (differential ECG and threshold intersection),
SI (slope intecept with isoeletric level) [14]. . . . . . . . . . . . . . . .
vii
2
3
4
8
10
11
11
15
15
16
17
19
22
25
25
28
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
Caratteristiche morfologiche che permettono l’identificazione dell’inizio
dell’onda Q e del picco Q. Vengono rappresentati in alto il segnale ECG
e in basso la sua derivata con la stessa scala temporale. . . . . . . . .
Schema di funzionamento dell’algoritmo di identificazione dei punti
Qonset e Qpeak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rappresentazione del metodo Peak Slope Intercept (PSI): il triangolo
nero rappresenta il punto Tpeak , l’asterisco nero rappresenta il punto
Tof f set , la linea blu il tracciato ECG, la linea tratteggiata rappresenta
la linea passante tra i punti Tpeak e Tof f set e la linea nera rappresenta
il livello isoelettrico. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schema di funzionamento dell’algoritmo di identificazione del punto
Tof f set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40 sequenze estratte da un tracciato ECG, allineate con il picco R, che
vanno a formare la matrice di osservazione X. . . . . . . . . . . . . .
Metodo di filtraggio tramite PCA. . . . . . . . . . . . . . . . . . . . .
Filtraggio del segnale con PCA. In blu il segnale filtrato mentre in nero
tratteggiato il segnale ECG originale. . . . . . . . . . . . . . . . . . .
Ritardo tra il segnale di ingresso (il segnale ECG misurato rappresentato dalla linea blu tratteggiata) e il segnale in uscita dal processo
di filtraggio con PCA (linea blu). La linea nera tra i due picchi R
rappresenta il delayP CA . . . . . . . . . . . . . . . . . . . . . . . . . .
Logica di decisione per l’identificazione delle anomalie: (a) T 2 di Hotteling (b) SPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rappresentazione della identificazione delle anomalie. In alto vengono
rappresentati i segmenti di segnali contenuti in una matrice di osservazione senza identificare le anomalie. In basso vengono eliminate dalla
matrice di osservazione X le sequenze che non soddisfano le logiche di
decisione sulle statistiche T 2 e SPE. . . . . . . . . . . . . . . . . . . .
Identificazione del picco R migliorata. In questo esempio viene rappresentato: (a) Segnale non filtrato a cui viene applicato l’algoritmo
di estrazione delle features. Nel cerchio rosso vengono evidenziati due
picchi R falsi positivi. (b) Segnale fitrato con PCA. . . . . . . . . . .
Identificazione del picco T migliorata. In questo esempio viene rappresentato: (a) Segnale non filtrato a cui viene applicato l’algoritmo di
estrazione delle features. Nel cerchio rosso viene evidenziato il punto
Tof f set sovrastimato. (b) Segnale fitrato con PCA. . . . . . . . . . . .
Intervallo QT nel tempo. In blu le misurazioni ottenute dal segnale
non filtrato, in rosso quelle ottenute applicando il filtro con PCA. . .
viii
29
30
31
33
36
39
41
42
44
45
48
49
50
3.19 Distribuzione degli intervalli QT misurati dall’algoritmo di estrazione
delle features applicato al segnale ECG: (a) Originale, (b) filtrato con
metodo PCA. L’intervallo QT misurato è stato diviso in 40 segmenti di
misura (numero delle barre dell’istogramma). Le statistiche calcolate
sono: la media (µ), la deviazione standard (σ), Asymmetry Factor
(AF), percentile allo 0.1% (prctile 0.1%), percentile al 99.9% (prctile
99.9%), percentile normalizzato alla media allo 0.1% (prctile 0.1%norm)
e percentile normalizzato alla media al 99.9% (prctile 99.9%norm). . .
3.20 Analisi di efficienza dell’algoritmo di estrazione delle features nel caso di applicazione sul segnale originale (linea a tratti) e sul segnale
filtrato con PCA (linea continua). Vengono graficati nel tempo i seguenti indici: in blu la deviazione standard normalizzata alla media
(σ/µ), in verde il percentile normalizzato alla media allo 0.1% (prctile
0.1%norm) e in rosso il percentile normalizzato alla media al 99.9%
(prctile 99.9%norm). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
Sistemi intelligenti di monitoraggio del guidatore di un veicolo: (a)
Componenti che influenzano l’attività di guida, (b) Schema del sistema.[7]
Insieme dei segnali che possono essere utilizzati per costruire un modello per l’individuazione dello stato del guidatore di un veicolo [7]. .
Metodi nel dominio dell frequenza per il calcolo della HRV. In alto vengono riportati gli intervalli RR acquisiti in 5 minuti di misurazione. In
basso vengono rappresentati gli spettri di frequenza: a sinistra calcolato
con il periodogramma di Welch, a destra calcolato con spettro AR. Le
densità spettrali di potenza sono divise in tre bande di frequenza: in
rosso VLF, in blu LF, in giallo HF. . . . . . . . . . . . . . . . . . . .
Esempio di utilizzo della HRV in un Tilt Test. La PSD è stata calcolata
con un modello autoregressivo di ordine 12: a destra lo spettro relativo al periodo di riposo mentre a sinistra lo spettro relativo al periodo
successivo al movimento [13]. . . . . . . . . . . . . . . . . . . . . . .
Rappresentazione schematica di due cicli cardiaci da un tracciato ECG
campionato ad una frequenza pari a f = 1/∆t. La nomenclatura convenzionale delle onde che compongono un ciclo è data da (P, Q, R,
S, T). Vengono usati i simboli: e(·) per gli errori di misura dovuti
al campionamento; xm (n) per il il valore del n-esimo intervallo R-R
misurato; xt (n) per il il valore del n-esimo intervallo R-R vero [15]. .
Simulatore di guida. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Percorso dei test di guida in contesto extra-urbano. L’itinerario prevede
di percorrere la strada statale 47 (SS47) della Valsugana che collega
Padova a Trento passando per Bassano del Grappa. . . . . . . . . . .
Risultati simulazione di guida: a) Test 1, b) Test 2, c) Test 3, d) Test
4. A sinista i grafici del HF nel tempo, a destra i grafici del HR medio
nel tempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Risultati simulazione di guida: a) Test 5, b) Test 6, c) Test 7. A sinista
i grafici del HF nel tempo, a destra i grafici del HR medio nel tempo.
ix
51
53
56
57
59
60
61
64
66
68
69
4.10 Risultati guida reale: a) Test 1, b) Test 2, c) Test 3, d) Test 4. A
sinista i grafici del HF nel tempo, a destra i grafici del HR medio nel
tempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
A.1 Anatomia del cuore [5]. . . . . . . . . . . . . . . . . . . . . . . . . . .
80
C.1
C.2
C.3
C.4
C.5
90
91
92
93
94
Modello Simulink per l’estrazione delle features.
Blocco ECG Analysis. . . . . . . . . . . . . . . . .
Blocco PCA_Filter . . . . . . . . . . . . . . . . .
Blocco PCA_Block. . . . . . . . . . . . . . . . . .
Blocco Features_extraction. . . . . . . . . . . . .
x
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Elenco delle tabelle
1.1
Caratteristiche tecniche del W BA ECG. . . . . . . . . . . . . . . . .
3.1
Prestazioni dell’algoritmo per l’identificazione del picco R. NUM. rappresenta il numero del test, PERS. corrisponde alle iniziali della persona che ha svolto il test, TYPE rappresenta il tipo di test effettuato
(C=Clinico, S=Simulatore), TP rappresenta la percentuale di veri positivi, FP rappersenta la percentuale di falsi positivi e FN rappresenta
la percentuale di falsi negativi . . . . . . . . . . . . . . . . . . . . . .
Confronto efficienza dell’algoritmo con variazione dei valori delle soglie e con l’utilizzo di soglie adattative per la prima parte del test al
simulatore di AB. Par 1 indica l’ampiezza della soglia per il segnale
ECG, Par 2 indica l’ampiezza della soglia per la derivata del segnale
ECG e Par 3 il numero di campioni per determinare la pendenza del
picco R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Confronto efficienza dell’algoritmo con variazione dei valori delle soglie e con l’utilizzo di soglie adattative per la seconda parte del test al
simulatore di AB. Par 1 indica l’ampiezza della soglia per il segnale
ECG, Par 2 indica l’ampiezza della soglia per la derivata del segnale
ECG e Par 3 il numero di campioni per determinare la pendenza del
picco R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Statistiche sull’analisi dell’intervallo QT: (caso 1) analisi effettuata sul
segnale originale non filtrato, (caso 2) analisi effettuata sul segnale filtrato con metodo PCA. Le statistiche calcolate sono: la media (µ), la
deviazione standard (σ), Asymmetry Factor (AF), percentile allo 0.1%
(prctile 0.1%), percentile al 99.9% (prctile 99.9%), percentile normalizzato alla media allo 0.1% (prctile 0.1%norm ) e percentile normalizzato
alla media al 99.9% (prctile 99.9%norm ). . . . . . . . . . . . . . . . .
3.2
3.3
3.4
4.1
4.2
Test al simulatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test di guida reale effettuato da un soggetto di 24 anni di età di sesso
maschile. Con la sigla Pd-Tn si indica il percorso da Padova verso
Trento e viceversa. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
3
23
26
27
52
65
66
xii
Capitolo 1
Architettura di acquisizione dati
1.1
Hardware
Per determinare lo stato fisiologico del guidatore è necessario registrare e controllare i
parametri vitali attraverso l’acquisizione di segnali di tipo biomedicale. In questa tesi
viene presentato un sistema che è basato sul monitoraggio e sull’analisi del segnale
ECG. I segnali biomedici tipicamente necessitano di un supporto hardware non adatto ad un applicazione on-board, in quanto i sistemi di acquisizione hanno bisogno
di una capacità di calcolo elevata e di un hardware dedicato. Oltre a questo sono
necessari sensori invasivi che spesso sono a contatto con la pelle e limitano l’attività
di guida. L’ambiente on-board presenta quindi delle limitazioni rispetto all’ambiente
di ambulatorio e necessita quindi di un’architettura di aquisizione particolare.
Il sistema utilizzato per registrare il segnale ECG viene descritto in figura1.1:
esso è formato da un sensore W BA (Wireless BioAmplifier) ECG fornito da Mega
Eletronics connesso tramite interfaccia Bluetooth ad un UMPC (Ultramobile PC)
Samsung Q1. Il sensore WBA utilizzato per effettuare la misura del segnale ECG è
composto da tre elettrodi che vengono applicati direttamente sulla pelle del guidatore
e grazie alle sue piccole dimensioni e alla sua semplice configurazione non impedisce
i movimenti e non reca disturbo all’attività di guida. La trasmissione del segnale
viene gestita dal trasmettitore Bluetooth presente nel sensore W BA che invia i dati
all’Ultramobile-PC dove vengono gestiti dal software MegaWin.
1.1.1
Ultramobile-PC
Il Samsung Q1 è un Ultramobile computer che dispone di sistema operativo Windows
XP. Nel sistema di acquisizione l’UMPC acquisisce il segnale biomedicale tramite
collegamento Bluetooth. Su di esso è installato il software MegaWin che svolge le
funzioni di acquisisizione e di memorizzazione dei dati.
Il Samsung Q1 inoltre è compatibile ed è in grado di spedire messaggi tramite
connessione telefonica (HSDPA/UMTS, EDGE, GPRS, GSM) e può essere connesso
1
Figura 1.1: Architettura del sistema di acquisizione del segnale ECG all’interno della
vettura. A sinistra viene raffigurato il sensore W BA ECG mentre a destra viene
raffigurato l’UMPC Samsung Q1.
via USB alla rete CAN della vettura. Questo consente di utilizzare tutte le informazioni rese disponibili dalla rete locale del veicolo. In aggiunta è possibile disporre delle
informazioni del GPS (global positioning system) che può essere collegato al UMPC
tramite collegamento Bluetooth.
1.1.2
WBA
I segnali fisiologici possono essere raccolti in un ambiente on-board tramite due tipi
distinti di sistemi di misura: “Wearable sensors” oppure “Car-based sensors”. I primi
sono sensori che possono essere indossati dal guidatore, applicandoli sulla superficie
del corpo, e trasmettono i dati attraverso una rete wireless. I secondi sono dei sensori meno invasivi e vengono situati all’interno di alcuni componenti del veicolo (ad
esempio sul volante o sul sedile del guidatore).
Il W BA ECG fa parte della categoria dei “Wearable sensors” e misura l’attivià
elettrica del cuore determinando la differenza di potenziale sulla superficie del corpo
dovuta al battito del cuore. L’interfaccia tra la sorgente di segnale ECG (il guidatore)
e il dispositivo di acquisizione è un sistema di due o più elettrodi dai quali viene misurata una differenza di potenziale. Il sensore è dotato di tre elettrodi di superficie, non
invasivi e comprensivi di gel per ridurre l’impedenza tra pelle e elettrodo, posizionati
sulla superficie del corpo secondo lo schema di figura1.2. La disposizione utilizzata
per la misura dell’attività elettrica del cuore segue la configurazione a singola derivazione (Lead II) che verrà discussa nel prossimo capitolo. Essa prevede di utilizzare
due elettrodi per effettuare la misura (giallo e rosso) e un elettrodo come riferimento
(nero).
Gli elettrodi di superficie, se da un lato presentano il vantaggio di essere facilmente
posizionabili e di essere poco sensibili ai movimenti fisici del guidatore, dall’altro
sono considerati un metodo di misura abbastanza invasivo. Essi infatti devono essere
posizionati sulla superficie del corpo ogni volta che si vuole effettuare una misura e
quindi sono poco adatti ad un uso on-board quotidiano.
2
Figura 1.2: Configurazione degli elettrodi per misurazione ECG a derivazione singola
(“single lead”). Gli elettrodi giallo e rosso sono elettrodi di misura mentre quello nero
è l’elettrodo di terra.
Il segnale analogico registrato dal dispositivo di misura viene convertito in segnale
digitale con una frequenza di campionamento di 1000 [Hz] e viene trasmesso per mezzo
del trasmettitore Bluetooth presente nel W BA. Una caratteristica fondamentale per
un “Wearable sensors” è il consumo di energia, sia quella necessaria per il processo
di acquisizione che per il processo di salvataggio e trasmissione dati. Il dispositivo
W BA è dotato di una batteria al litio ricaricabile interna che grazie alla trasmissione
Bluetooth a basso consumo consente un’autonomia di 4 ore di registrazione. Le
caratteristiche principali del dispositivo sono riassunte in tabella1.1.
Resolution
Sensitivity
Range
Sampling rate
Sensor freq band
Data transfer
EDR Range
Operating time
Weight
Size
12 [bits]
1 [μV per bit]
±2048 [μV ]
1000 [Hz]
1 − 30 [Hz]
Wireless Bluetooth 2.0
10 − 20 [m]
4 [hours]
16 [g]
35 × 35 × 15 [mm]
Tabella 1.1: Caratteristiche tecniche del W BA ECG.
3
1.1.3
Bluetooth
Bluetooth è una tecnologia radio studiata appositamente per trasmissioni a corto
raggio (tipicamente 10 [m]) ed è caratterizzata da un bassissimo consumo di potenza
e da un basso costo computazionale. Queste caratteristiche rendono questa tecnologia
adatta per comunicazioni wireless per apparecchi di piccole dimensioni alimentati a
batteria. Lo standard Bluetooth consente ai dispositivi di connettersi e comunicare
tra loro in una regione limitata attraverso una rete ad hoc, che è costituita da un
massimo di otto dispositivi attivi: uno è il master, ossia colui che inizia lo scambio
di dati, e gli altri sette sono gli slave, che funzionano in risposta al master e non
hanno altri collegamenti oltre a quello col master. Lo standard Bluetooth opera nella
banda libera ISM (Industrial, Scientific and Medical) centrata attorno ai 2.4 [GHz] e
funziona secondo uno schema Time Division Multiplexing (TDM), dove l’unità base
di operazione è uno slot di durata pari a 625 [μs].
1.2
Software
Il sistema di acquisizione dei dati on-board viene gestito dal software MegaWin®
installato sul Ultramobile PC che si interfaccia tramite collegamento Bluetooth al
sensore ECG indossato dal guidatore. In figura1.3 viene riportato lo schema di funzionamento del software di acquisizione. Esso permette di personalizzare le acquisizioni
e di visualizzare e salvare il segnale ECG per analisi successive.
Figura 1.3: Schema di funzionamento del software MegaWin.
Le caratteristiche principali del software MegaWin® sono:
• L’acquisizione del segnale ECG tramite protocollo Bluetooth.
• La visualizzazione del segnale in tempo reale.
• La personalizzazione delle acquisizione inserendo i dati personali dei diversi
soggetti che effettuano le misurazioni.
4
• L’inserimento di markers durante la misurazione. Tipicamente un marker viene
utilizzato per identificare un evento durante la misurazione come può essere il
cambio di attività o un movimento.
• La creazione di protocolli di misura. Un protocollo definisce come una misurazione viene effettuata, quali configurazioni vengono utilizzate e quali aspetti
influenzano la misura.
• La possibilità di esportare le acquisizioni in formato (∗.mat) per una successiva
analisi in ambiente Matlab® . Il file non contiene solo le acquisizioni ma pure
eventuali marker e le informazioni di acquisizione (come ad esempio canali e
frequanza di acquisizione del segnale).
5
6
Capitolo 2
Il Segnale ECG
2.1
Basi fisiologiche
L’elettrocardiogramma (ECG) è un segnale biomedicale registrato alla superficie del
corpo che descrive l’attività elettrica del muscolo cardiaco. Il cuore ha la funzione
di pompare il sangue a tutto il corpo, contraendo ritmicamente i muscoli che lo
compongono. Questo movimento è regolato da un’onda elettrica che passa attraverso
le pareti del cuore e si propaga fino alla superficie del corpo dove è possibile misurarne
la differenza di potenziale.
La struttura che genera la carica elettrica sufficiente a provocare la contrazione del
cuore e governa l’attività cardiaca viene definita nodo del seno, costituito da speciali
cellule che in modo automatico e ritmico si ricaricano di energia e la scaricano non
appena questa ha raggiunto un certo valore di soglia. L’impulso elettrico generato
dal nodo del seno si propaga in maniera ordinata e successiva a tutte le fibre muscolari degli atri e dei ventricoli, seguendo percorsi ben precisi. Le correnti elettriche
extracellulari generate dal processo di eccitazione si propagano fino alla superficie
del corpo distribuendosi nei tessuti che circondano il cuore che si comportano come
un coduttore tridimensionale. Il campo elettrico generato dall’attività cardica che
viene misurato sulla superficie presenta quindi caratteristiche differenti in base alla
posizione in cui vengono effettuate le misure. Il problema di deteminare la diffusione
del campo elettrico nel cuore a partire dalle misure non ha una soluzione globale
essendo caratterizato da una distribuzione eterogenea e una diversità dei potenziali
d’azione delle cellule cardiache lungo le vie di conduzione dell’impulso. Inoltre, i continui movimenti del cuore e la complessità della geometria della struttura corporea
contribuiscono a condizionare tale misura.
Per studiare la relazione tra il generatore cardiaco e i potenziali misurati sulla
superficie corporea esistono in letteratura vari modelli matematici, il più semplice è
il modello a singolo dipolo. Si accetta quindi l’approssimazione di considerare l’ECG
come la manifestazione superficiale del campo elettrico generato da un vettore elettri7
Figura 2.1: Traiettoria del vettore elettrico del cuore durante un normale battito
cardiaco [6].
co (dipolo) che cambia di intensità e direzione in funzione del tempo e in un volume
conduttore omogeneo. Tali variazioni del vettore elettrico del cuore durante il ciclo
cardiaco dipendono dalla geometria e dalle contrazioni muscolari del miocardio e possono essere rappresentate graficamente come mostrato in figura 2.1. Questa descrive
come l’impulso elettrico abbia origine nel nodo seno atriale (SA) e si sviluppi in stati
temporalmente differenti in tutto il tessuto cardiaco. La prima fase è la depolarizzazione degli atri seguita da una fase di ritardo a livello del nodo atrioventricolare
(AV) durante la quale non è presente attività elettrica sulla superficie corporea ed
è indispensabile affinchè la contrazione atriale finisca prima che abbia inizio quella
ventricolare.
Le fasi successive sono riferite alla depolarizzazione dei ventricoli. Si ha dapprima la depolarizzazione dal setto interventricolare (parete che divide i due ventricoli),
seguita dalla depolarizzazione dell’apice inferiore del cuore e dalla depolarizzazione
delle pareti ventricolari esterne. Le ultime fasi riguardano la ripolarizzazione ventricolare. Con la linea tratteggiata viene indicata la traiettoria del vettore elettrico del
cuore durante le varie fasi che compongono un battito cardiaco.
Per determinare un ECG scalare, il vettore cardiaco che si espande, si comprime e
ruota in uno spazio tridimensionale viene proiettato su 12 linee di diversa orientazione. Ognuna di queste linee viene definita derivazione (Lead) e le proiezioni risultanti
8
rappresentano l’ampiezza del vettore elettrico del cuore nella direzione della derivazione scelta in funzione del tempo. Per effettuare la misura sulla superficie del corpo
vengono utilizzati degli elettrodi posizionati in modo opportuno a seconda delle diverse misurazioni che si vogliono effettuare. Per analisi mediche accurate solitamente
vengono effettuate le misurazioni a dodici derivazioni, mentre per altre applicazioni, di
carattere non strettamente medicale, si può fare un’analisi su una singola derivazione.
2.1.1
Sistema a 12 derivazioni Standard
In una registrazione a 12 Lead standard si utilizzano le seguenti derivazioni per
effettuare la misura :
• Tre derivazioni periferiche bipolari (lead I, lead II, lead III) che utilizzano un
singolo elettrodo positivo e un singolo elettrodo negativo per misurare il potenziale elettrico tra di essi. Per posizionare i tre elettrodi bipolari si segue la
regola di Einthoven che ipotizza che il cuore si trovi al centro di un triangolo
equilatero, i cui vertici sono la spalla sinistra, quella destra e il cavallo. Questi sono i punti in cui posizionare gli elettrodi bipolari per determinare le tre
derivazioni periferiche. L’elettrodo positivo per la prima derivazione (Lead I)
ha un orientamento rispetto al cuore di zero gradi lungo l’asse orizzontale (vedi figura2.2). In modo similare, l’elettrodo positivo per la seconda derivazione
(Lead II) ha una rotazione relativa rispetto al cuore di +60º gradi, e l’elettrodo
positivo per la terza derivazione (Lead III) ha una rotazione relativa di +120º
gradi (vedi figura2.2).
• Tre derivazioni aumentate (aVF, aVR, aVL) che utilizzano un singolo elettrodo unipolare positivo e una combinazione degli altri elettrodi con funzione di
elettrodo negativo composito. In pratica vengono usati gli stessi elettrodi utilizzati per le tre derivazioni periferiche, ma le tre derivzioni aumentate hanno
un orientamento differente. Usando il sistema di riferimento visto in precedenza la derivazione aVL è ruotata di −30° gradi rispetto alla prima derivazione
(Lead I); la derivazione aVR è ruotata di −150◦ gradi mentre la derivazione
aVF è ruotata di +90◦ gradi rispetto alla prima derivazione (Lead I). Le tre derivazioni aumentate e le tre derivazioni periferiche sono accoppiate e registrano
l’attività elettrica lungo un singolo piano, definito piano frontale, in relazione
alla posizione del cuore.
• Sei derivazioni precondriali (V1-V6) che utilizzano sei elettrodi positivi posizionati sulla superficie del petto in modo da poter registrare l’attività elettrica del
cuore lungo il piano perpendicolare al piano frontale (vedi figura 2.3 ).
I tracciati ECG bidimensionali ottenuti lungo le diverse derivazioni sono riportati
nelle figure seguenti: in figura 2.2 sono rappresentate le tre derivazioni periferiche
9
Figura 2.2: Traiettoria del vettore elettrico del cuore comparata con i tracciati ECG
scalari ottenuti lungo tre derivazioni periferiche (Lead I orientamento a 0◦ ,Lead II
orientamento a +60◦, Lead III orientamento a +120◦) [6].
bipolari (Lead I, Lead II, Lead III) che sono spaziate di sessanta gradi l’una dall’altra e
danno un’immagine dell’attività cardiaca lungo il piano frontale; in figura 2.3 vengono
invece rappresentati i tracciati ECG che rappresentano le derivazioni precondriali che
descrivono l’attività elettrica del cuore lungo un piano orizzontale.
2.2
Morfologia del segnale ECG
Il segnale ECG che misura il vettore elettrico del cuore sulla superficie del corpo
presenta delle caratteristiche morfologiche ben definite che variano a seconda della
derivazione che viene utilizzata. Le caratteristiche cliniche di un elettrocardiogramma rappresentano quindi la depolarizzazione e la ripolarizzazione delle cellule che
compongono il muscolo cardiaco (atri e ventricoli).
In Figura 2.4 vengono rappresentate le caratteristiche standard che descrivono
la morfologia del segnale ECG (Lead II di una persona adulta con ritmo sinusale
normale), con la distinzione tra diverse forme d’onda e diversi intervalli temporali.
Vengono individuate le seguenti forme d’onda:
• Onda P: rappresenta la depolarizzazione della muscolatura atriale e ha come
ampiezza tipica 0.25 [mV ].
• Complesso QRS: è il risultato della combinazione della ripolarizzazione atriale
(onda Q) e della depolarizzazione dei ventricoli (onda R e S) che avviene quasi
10
Figura 2.3: Tracciati ECG scalari ottenuti lungo le sei derivazioni precordiali [6].
Figura 2.4: Caratteristiche di un elettrocardiogramma normale [6].
11
simultaneamente. L’ampiezza tipica dell’onda R è di 1.6 [mV ] mentre quella
dell’onda Q è il 25% dell’ampiezza tipica dell’onda R.
• Onda T: rappresenta la ripolarizzazione della muscolatura ventricolare e ha
un’ampiezza tipica che varia tra 0.1 e 0.5 [mV ].
• Onda U: non sempre è presente quest’onda e la sua forma non viene associata
ad una determinata fase del ciclo cardiaco.
La morfologia delle varie onde che compongono il segnale ECG dipende da diversi
fattori: come anticipato in precedenza a diverse derivazioni corrispondono diverse
morfologie di onda e la presenza di malattie cardiovascolari o di anomalie cardiache
può introdurre forme d’onda differenti a seconda del soggetto. Le onde P e T possono avere varie morfologie: positiva, inversa o bifasica (onda con deflessione positiva
seguita da deflessione negativa e viceversa).
Le features che descrivono il segnale ECG e che assumono un’importanza dal
punto di vista clinico sono gli intervalli temporali che intercorrono tra il punto di
inizio e il punto di fine delle varie onde (vedi figura 2.4).
Gli intervalli considerati sono:
• Intervallo R-R: intervallo di tempo che intercorre tra due onde R riferite a due
contrazioni cardiache consecutive. La durata di tale intervallo varia periodicamente in base allo stato di attività del soggetto e viene usato per calcolare la
frequenza cardiaca istantanea che corrisponde all’inverso dell’intervallo R-R.
• Intervallo PR (tra 0.12 e 0.2 [s]): intervallo di tempo che intercorre tra il punto
di inizio dell’onda P e l’apice dell’onda R. Esso rappresenta il tempo di ritardo
causato dal nodo atrioventricolare.
• Intervallo QT (tra 0.35 e 0.44 [s]): intervallo di tempo che intercorre tra il punto
di inizio del complesso QRS fino al punto di fine dell’onda T. tale intervallo
corrisponde alla durata totale, depolarizzazione e ripolarizzazione, dell’attività
elettrica dei ventricoli.
• Intervallo ST (tra 0.05 e 0.15 [s]): intervallo di tempo che intercorre tra il
punto di flesso dopo l’onda S e il punto di fine onda T. Normalmente dovrebbe
essere un intervallo isoelettrico che descrive la pausa tra depolarizzazione e
ripolarizzazione dei ventricoli.
• Durata del complesso QRS (circa 0.09 [s]): rappresenta la durata della depolarizzazione dei ventricoli in ogni battito cardiaco.
12
2.3
Rumori e artefatti
La morfologia del segnale ECG è spesso alterata dalla presenza di rumori e artefatti
nella banda di frequenza di interesse. Con artefatti si indica la presenza di una
variazione transiente del segnale, che può essere ad esempio dovuta al movimento di
un elettrodo; con il termine rumore si descrive invece una contaminazione persistente
del segnale, come può essere ad esempio il fenomeno dell’interferenza [6]. Le fonti
di contaminazione del segnale ECG possono essere classificate secondo lo schema
utilizzato in [8]:
1. Interferenza dovuta alla linea di alimentazione: si manifesta ad una frequenza
di 50 ± 0.2 [Hz] (60 [Hz] in alcuni set di dati) e comporta una distorsione delle
ampiezza del segnale ECG.
2. Rumore da contatto degli elettrodi: è presente quando avviene una perdita di
contatto tra la pelle e l’elettrodo e causa una variazione della morfologia del
segnale ECG per un periodo che generalmente dura un secondo circa.
3. Artefatto da movimento dell’elettrodo: il movimento dell’elettrodo attorno all’area di contatto con la pelle genera una variazione di impedenza tra l’elettrodo
e la pelle, causando una variazione di potenziale nel ECG. Tipicamente questo
fenomeno si manifesta con un rapido ma continuo spostamento del segnale rispetto alla linea di base o con un fenomeno di saturazione, mediamente per 0.5
secondi.
4. Rumore Elettromiografico (EMG): è dovuto all’attività elettrica delle contrazioni muscolari del corpo e si manifesta ad una frequenza di circa 10 [Hz].
5. Spostamento dalla linea di base: è causato principalmente dalla respirazione e
si manifesta in una banda di frequenza che va da 0.15 a 0.3 [Hz].
6. Rumore del dispositivo di raccolta dati: esso è generato dall’hardware utilizzato
per analizzare il segnale ECG e si manifesta sotto forma di saturazione.
7. Rumore di quantizzazione e aliasing.
Gran parte di queste contaminazioni si trovano nella banda di interesse del segnale e
non è facile eliminarle completamente in quanto la maggior parte dei rumori e degli
artefatti descritti in precedenza sono spesso transitori, poco prevedibili e possono manifestarsi simultaneamente. Per esperimenti di laboratorio si può cercare di ridurre le
fonti di rumore utilizzando hardware e condizioni sperimentali appropriate. Lo stesso
non può avvenire in un ambiente “on board” dove si ha a disposizione un hardware
dalle prestazioni limitate e dove le condizioni ambientali amplificano i rumori e gli
artefatti da movimento (per esempio l’attività di guida e le dinamiche del veicolo).
13
Per questo motivo risulta molto importante quantificare la natura di queste contaminazioni ed adottare degli algoritmi opportuni che siano in grado di soddisfare le
specifiche dell’applicazione in ambienti rumorosi.
2.4
Analisi Frequenziale
Lo spettro di potenza del segnale ECG è uno strumento utile per quantificare la
potenza con cui un’oscillazione è presente in una particolare banda di frequenza. Il
segnale ECG presenta due differenti tipi di caratteristiche:
• Caratteristiche quasi-periodiche: esse si manifestano in modo persistente tra un
battito e l’altro. Possiamo riconoscere tra queste caratteristiche la morfologia
delle varie onde P-QRS-T che compongono il segnale ECG. Esse infatti sono
identificate da forme d’onda ben definite che mediamente non variano.
• Caratteristiche non stazionarie: variazioni che avvengono tra un battito e l’altro
come ad esempio la variazione della durata dei singoli intervalli R-R e QT,
oppure il cambio di morfologia delle varie onde. Possono anche manifestarsi
sotto forma di trend a lungo termine della misurazione del battito cardiaco [6].
Un’analisi frequenziale approfondita del segnale ECG viene proposta in [21]. In essa
viene analizzata la potenza spettrale del complesso QRS, le potenze spettrali relative
alle onde secondarie (onda P e T) e le potenze spettrali relative ai rumori (artefatti da
movimento e rumori dovuti alle contrazioni muscolari). Lo spettro di potenza è stato
calcolato mediante l’utilizzo del metodo di Welch come mostrato in figura 2.5. Il primo
passo di questo metodo è dividere i dati in K segmenti sovrapposti (overlap), ognuno
contenente M campioni. Se definiamo D come il numero di campioni sovrapposti si
può definire la percentuale di overlap come 100 ∗ (M − D)/M.
L’analisi frequenziale viene effettuata calcolando la trasformata discreta di Fourier
(DFT) usando l’algoritmo della FFT (Fast Fourier Transform) per ogni segmento di
M campioni e facendo la media di tutti gli spettri così ottenuti.
In [21] per ottenere lo spettro del segnale ECG viene utilizzato un set di dati, della
durata di circa 150 battiti, relativo ad una persona adulta a riposo con ritmo sinusale.
Viene utilizzato il metodo di Welch con una finestratura a M = 512 campioni (che
contengono circa due battiti consecutivi) con una percentuale di overlap al 50% .
In questo spettro si possono identificare quattro picchi distinti alle frequenze di
1, 4, 7, e 10[Hz], che corrispondono approssimativamente alla frequenza del battito
cardiaco (60 battiti al minuto), all’onda T, all’onda P e al complesso QRS. Gli spettri
relativi alle onde secondarie (onda P e T) e al complesso QRS, sono stati calcolati
estraendo dal segnale ECG la forma d’onda da analizzare e aggiungendo degli zeri
(zero-padding) al posto del segnale ECG rimosso.
14
Figura 2.5: Spettro di potenza del segnale ECG e spettri relativi al complesso QRS,
all’onda P e T, al rumore dovuto al movimento muscolare e agli artefatti. Esso è
basato su 150 battiti [21].
L’analisi frequenziale è uno strumento utile anche per identificare il manifestarsi di
anomalie cardiache, che sono tipicamente classificate in aritmie ventricolari e atriali
e presentano una sensibile distorsione della morfologia delle onde che formano un
battito. In Figura 2.6 viene illustrata la variazione dello spettro di potenza su un
segmento ECG della durata di 5 secondi tra un ritmo sinusale e vari tipi di aritmie
ventricolari. La presenza di un’aritmia cardiaca ha come conseguenza la variazione
del numero di picchi e della loro posizione nello spettro.
Figura 2.6: Segnale ECG e relativo spettro di potenza corrispondente a diversi tipi di
aritmie: ritmo sinusale normale (Sinus), tachicardia ventricolare (VL), fluttuazioni
ventricolari (VFL), fibrillazione ventricolare (VFIB) [6].
15
2.4.1
Analisi frequenziale del segnale ECG acquisito
L’analisi frequenziale è stata effettuata sui tracciati elettrocardiografici raccolti dal
sistema di acquisizione descritto nel primo capitolo, con una frequenza di 1000 [Hz].
In particolare, è stato analizzato un set di dati relativo ad una sessione di guida al
simulatore della durata di circa 45 minuti che non presentava significative perturbazioni rumorose del segnale. Lo spettro di potenza è stato calcolato per ogni 20
secondi di segnale ECG mediante l’utilizzo del metodo di Welch con una finestratura
di Hamming (M = 4096 campioni) e overlap del 50%. In figura 2.7 viene riportato
l’andamento dello spettro di potenza in funzione del tempo.
Figura 2.7: Spettro di potenza nel tempo calcolato ogni 20 secondi di segnale ECG,
usando il metodo di Welch con finestratura di Hamming a 4096 punti e overlap del
50%.
Per ogni spettro, ad un determinato istante temporale, si possono identificare
vari picchi distinti da colori differenti. Ad ogni picco identificato si può associare
una determinata frequenza fi e una determinata ampiezza Ai . Il primo picco dello
spettro può essere associato al battito cardiaco. Vengono quindi definite fref e Aref
rispettivamente la frequenza e l’ampiezza relative al primo picco dello spettro.
Per gli altri picchi vengono calcolati degli indici che rappresentano il rapporto tra
l’ampiezza relativa al i-esimo picco e l’ampiezza del primo picco, definite come :
αi =
Ai
Aref
e il rapporto tra la frequenza relativa al i-esimo picco e la frequenza del primo
picco, definite come :
16
(a)
(b)
Figura 2.8: Grafico dei rapporti tra: (a) Ampiezze dei picchi presenti nello spettro;
(b) Frequenze relative ai picchi presenti nello spetro.
φi =
fi
.
fref
In figura 2.8 vengono riportati gli andamenti nel tempo degli indici calcolati precedentemente. L’analisi frequenziale ci offre molte informazioni sul comportamento
in frequenza del segnale ECG acquisito, per esempio ci permette di determinare la
frequenza cardiaca su ogni intervallo. Per ottenere maggiori informazioni si ricorre ad un’analisi nel tempo del segnale per determinare gli intervalli temporali che
caratterizzano la morfologia delle varie onde ad ogni battito.
17
18
Capitolo 3
Algoritmo per l’estrazione delle
features
Nell’analisi del segnale ECG per determinare lo stato fisiologico di una persona è
importante calcolare nella maniera più precisa l’intervallo R-R e l’intervallo QT. Il
primo descrive la distanza temporale tra un battito e l’altro e consente di calcolare la
frequenza cardiaca istantanea. Il secondo descrive l’intervallo temporale tra l’inizio
dell’onda Q e la fine dell’onda T che corrisponde alla depolarizzazione dei ventricoli.
Per deteminare questi due intervalli è stato sviluppato un algoritmo di estrazione delle
features in tempo reale. Esso infatti prende in ingresso il segnale ECG e restituisce
come uscite l’intervallo R-R e l’intervallo QT istantaneo, relativo ad ogni battito
cardiaco.
Lo schema di funzionamento di un algoritmo per l’estrazione delle features è rappresentato in maniera generale in figura 3.1. Esso è formato principalmente da due
blocchi distinti: il primo, detto “Preprocessing Stage”, prevede una fase di filtraggio
del segnale ECG utilizzando metodi di filtraggio lineare o non lineare; il secondo blocco, detto “Decision Stage”, prevede una fase di estrazione delle features utilizzando
metodi di identificazione dei picchi e logiche di decisione.
Figure 3.1: Schema generale di un algoritmo di estrazione features da segnale ECG
[11].
19
In letteratura esistono vari algoritmi di questo genere che si distinguono a seconda
degli approcci utilizzati nel filtraggio e delle differenti logiche di decisione.
L’algoritmo sviluppato è stato suddiviso in tre parti :
1. Algoritmo per la misura dell’intervallo R-R.
2. Algoritmo per la misura dell’intervallo QT.
3. Filtraggio.
3.1
Algoritmo per la misura dell’intervallo R-R
Per determinare l’intervallo R-R è necessario implementare un algoritmo per l’identificazione del picco R. Esso fa parte del complesso QRS che è la forma d’onda più
rilevante presente nel segnale ECG e rappresenta l’attività elettrica del cuore durante
le contrazioni ventricolari. Determinare con precisione e in maniera automatica il picco dell’onda R è un problema ben noto in letteratura: l’implementazione di software
per l’identificazione del complesso QRS è stato motivo di ricerca per più di trent’anni
[11]. Sia la complessità che il carico computazionale delle varie soluzioni ha subito un
progressivo aumento coincidente con il miglioramento delle prestazioni dei calcolatori.
Questo ha portato ad avere algoritmi molto efficienti ma dal carico computazionale
molto elevato ed è rilevante quando si ha a che fare con un hardware dalle potenze di
calcolo limitato come nel caso di un sistema on-board.
Uno dei primi metodi presenti in letteratura per determinare la posizione del picco
R è il “Derivative Threshold Method” (DTH), che analizza il segnale ECG e la sua
derivata e li confronta con uno degli intervalli di soglia predeterminati per identificare
il picco R [8]. Questo metodo di facile implementazione è stato migliorato da algoritmi
che utilizzano un confronto tra soglie e il segnale ECG filtrato numericamente da
“Digital Filter” (DF) [3], “Filter Bank” (FB) [2] o Wavelet Filter (WF) [16]. Negli
ultimi anni sono stati sviluppati degli algoritmi più complessi e computazionalmente
più onerosi che utilizzano reti neurali artificiali come predittori non lineari “Artificial
Neural Network” (ANN) [24].
3.1.1
Metodo di identificazione del picco R
Il metodo utilizzato per identificare il picco R si basa sull’analisi del segnale ECG e
della sua derivata numerica. La logica di decisione per la ricerca del picco prende in
considerazione le caratteristiche morfologiche dell’onda R. Essa infatti è l’onda più
rilevante ed è caratterizzata da un’ampiezza elevata e da una dinamica molto veloce.
Basandosi su queste particolarità vengono sviluppate le seguenti regole usate per la
decisione:
20
• L’ampiezza del segnale ECG deve superare una soglia prestabilita. Se definiamo
x(n) i campioni ECG nel tempo con n = 0, 1, 2, . . . ∈ N si ha:
x(n) > Θ,
dove Θ rappresenta il livello di soglia che viene impostato in modo dinamico
con l’utilizzo di soglie adattative (si veda il capitolo 3.1.3).
• La derivata del segnale ECG si annulla nel punto di picco dell’onda R in quanto
esso rappresenta un massimo locale. Per calcolare la derivata numerica y(n) si
usa la seguente formula di differenziazione :
y(n) =
x(n) − x(n − 1)
,
Ts
dove Ts rappresenta il periodo di campionamento e quindi la distanza temporale
tra un campione e l’altro. Nel punto di massimo locale si ha una situazione di
“zero-crossing”, la derivata passa da un valore positivo ad uno nullo o negativo,
descritta da:
y(nR − 1) > 0
,
y(nR ) ≤ 0
con nR che rappresenta l’istante temporale che corrisponde al picco R.
• L’ampiezza della derivata del segnale ECG deve superare una soglia prestabilita
e deve assumere valori positivi per un numero prestabilito di campioni e non
oltre. Questa regola descrive la dinamica dell’onda R che presenta un’ampiezza
massima molto elevata e dei fronti di salita con delle pendenze significative. In
particolare ha l’effetto di ridurre le identificazioni di picchi falsi-positivi.
Il picco R viene identificato quando tutte e tre le regole descritte vengono soddisfatte
nello stesso istante di tempo. In figura 3.2 viene descritto in modo schematico il
processo di identificazione e le logiche di decisione sul segnale ECG e sulla sua derivata.
Una volta trovato il picco viene attivato un timer che calcola l’intervallo temporale
tra esso e il picco R successivo, da tale misurazione si può calcolare il ritmo cardiaco
(HR Heart Rate) secondo la formula:
HR =
1
intervalloRR
e utilizzando le opportune costanti di conversione si può ottenere un ritmo cardiaco
espresso in battiti/min.
21
Figure 3.2: Schema di funzionamento del metodo di identificazione del picco R.
3.1.2
Prestazioni e limitazioni dell’algoritmo
Per determinare le prestazioni dell’algoritmo per l’identificazione del picco R sono
stati utilizzatoi tre parametri distinti:
• TP (%) che rappresenta la percentuale di veri positivi (True Positive) identificati
dall’algoritmo che corrispondono ai picchi R nel tracciato ECG.
• FP (%) che rappresenta la percentuale di falsi positivi (False Positive) identificati dall’algoritmo che non corrispondono a picchi R ma a picchi di altre forme
d’onda oppure a rumori nel tracciato ECG.
• FN (%) che rappresenta la percentuale di falsi negativi (False Negative) ossia
la percentuale di picchi R non identificati dall’algoritmo.
L’analisi delle prestazioni è stata effettuata utilizzando due divesi tipi di set dati. Il
primo è composto da 7 test Clinici (Type = C) ognuno della durata di 45 minuti.
Ogni test clinico è a sua volta suddiviso in diverse sottoparti dove si alternano esercizi
di attività fisica a parti di riposo. Utilizzando questi test si può verificare l’efficienza
dell’algoritmo con diverse dinamiche del ritmo cardiaco.
22
NUM.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PERS. TYPE TP [%]
AB
C
100
AB
C
99.98
CB
C
100
CB
C
100
JB
C
100
JB
C
100
MB
C
100
AB
S
88.66
AB
S
71.69
CB
S
99.96
CB
S
100
JB
S
100
JB
S
100
SB
S
100
SB
S
100
TF
S
100
TF
S
100
TF
S
100
AB
S
100
AB
S
99.94
TOT.
99.06
FP [%]
0.29
0
0.60
0.10
0.04
26.10
0.50
0.11
0.13
0
0.17
0.45
0.03
0
0
0
0
0.21
0.22
0.31
1.78
FN [%]
0
0.02
0
0
0
0
0
11.34
28.31
0.04
0
0
0
0
0
0
0
0
0
0.6
0.94
Tabella 3.1: Prestazioni dell’algoritmo per l’identificazione del picco R. NUM. rappresenta il numero del test, PERS. corrisponde alle iniziali della persona che ha svolto il
test, TYPE rappresenta il tipo di test effettuato (C=Clinico, S=Simulatore), TP rappresenta la percentuale di veri positivi, FP rappersenta la percentuale di falsi positivi
e FN rappresenta la percentuale di falsi negativi .
Il secondo set di dati comprende una sessione di guida al simulatore (Type = S).
Utilizzando questi test si può verificare l’efficacia dell’algoritmo di identificazione del
picco R in presenza di artefatti da movimento dovuti all’attività di guida.
In tabella 3.1 vengono riportati i risultati dell’analisi effettuata. Nei test che vanno
dal numero 1 al numero 18 sono stati utilizzati come parametri i seguenti valori:
• Ampiezza della soglia per il segnale ECG: 900 [µV ].
• Ampiezza della soglia per la derivata del segnale ECG: 100000 [µV /s].
• Numero di campioni per determinare la pendenza del picco R: 10 [Samples].
I test 19 e 20 sono basati sugli stessi dati dei test 8 e 9, ma è stato modificato
manualmente il parametro dell’ampiezza della soglia per la derivata del segnale ECG:
tale parametro è stato variato da 100000 [µV /s] a 60000 [µV /s] per diminuire la
23
percentuale di falsi negativi presenti nei test 8 e 9. Questi due set di dati sono
relativi alla stessa persona (AB) che presenta caratteristiche fisiche ed età differenti
dagli altri soggetti. Nell’analisi dei segnali biomedici questo fatto è rilevante in quanto
persone di corporatura ed età differenti hanno segnali ECG con ampiezze differenti. In
certi casi l’ampiezza massima di un soggetto può essere maggiore del doppio rispetto
all’ampiezza massima del segnale ECG di un altro individuo. Questo fatto rappresenta
quindi una limitazione dell’algoritmo quando si vuole determinare in modo univoco i
parametri delle soglie per l’ampiezza e per la derivata del segnale ECG in quanto si
vorrebbe poter utilizzare parametri universali indipendenti dai soggetti.
L’efficienza totale dell’algoritmo di identificazione del picco R è del 99.06%. Nel
test numero 6 è presente un valore elevato della percentuale di falsi positivi dovuti
principalmente alla presenza di rumore elevato nella parte finale del test.
3.1.3
Introduzione soglie adattative
L’efficienza dell’algoritmo di identificazione dei picchi R, come visto in precedenza,
è influenzata in maniera significativa dalla scelta dei valori delle soglie. Tali valori
non sono sempre univoci e possono variare anche di molto a seconda della persona
alla quale viene rilevato il tracciato ECG. Per questo motivo si è deciso di sostituire
i parametri fissi di soglia con degli algoritmi che calcolano in modo dinamico i valori
di soglia. In particolare tali valori si adattano al segnale con le seguenti modalità:
• Ampiezza della soglia per il segnale ECG: essa viene calcolata come 0.6 volte
la media dei campioni del segnale ECG di ampiezza massima nei 10 secondi
precedenti. Il valore massimo del tracciato ECG corrisponde effettivamente al
picco R e in presenza di ritmo sinusale normale in dieci secondi di tracciato
compaiono circa 10 picchi R. In questo modo mediando i valori ottenuti si può
avere una buona stima del valore del picco R e si sceglie il valore di soglia come
una frazione di questo valore.
• Ampiezza della soglia per la derivata del segnale ECG: essa viene calcolata come
0.55 volte la media dei campioni della derivata del segnale ECG di ampiezza
massima nei 50 secondi precedenti. Viene utilizzato lo stesso procedimento
precedente applicato al valore della soglia della derivata ma viene aumentato il
tempo su cui mediare i valori in quanto la derivata risente molto della presenza
di rumore e quindi c’è bisogno di un numero maggiore di valori per ottenere una
stima opportuna.
24
Figure 3.3: Soglie Adattative sull’ampiezza del segnale ECG.
Figure 3.4: Soglia Adattativa per la derivata del segnale ECG.
Le soglie adattative si aggiustano quindi sulla base delle variazioni delle ampiezze
del segnale ECG che differenziano persone con caratteristiche fisiche ed età differenti. In figura 3.3 e in figura 3.4 vengono rappresentati i comportamenti delle soglie
adattative. Nella prima figura le due soglie relative all’ampiezza del segnale ECG (in
verde quella adattativa e in rosso quella determinata a priori) sono molto simili e in
25
Par 1 [µV ]
900
900
adaptive
Test Adaptive threshold - CASE 1
Test 8 : AB - First Part - Simulator
Par 2 [µV /s] Par 3 [Samp.] TP [%] FN [%]
100000
10
88.66
0.11
60000
10
100
0.22
adaptive
10
99.89
0.16
FP [%]
11.34
0
0.11
Tabella 3.2: Confronto efficienza dell’algoritmo con variazione dei valori delle soglie
e con l’utilizzo di soglie adattative per la prima parte del test al simulatore di AB.
Par 1 indica l’ampiezza della soglia per il segnale ECG, Par 2 indica l’ampiezza della
soglia per la derivata del segnale ECG e Par 3 il numero di campioni per determinare
la pendenza del picco R.
questo esempio sono entrambe valide per la scelta del picco R. Nella seconda figura
sono rappresentate le soglie relative alla derivata del segnale ECG (in verde quella
adattativa, in rosso quelle fisse con due valori distinti). Come si può notare c’è differenza fra le due soglie fisse: quella con il valore più elevato (rossa non trattegiata)
assume un valore tale che non permette di identificare il primo picco R. Anche in
questo caso la soglia adattativa assume un valore tale da ottimizzare l’identificazione
dei picchi.
Per verificare l’efficacia dell’utilizzo delle soglie adattative sono stati analizzati
nuovamente i test 8 e 9 nei quali variando manualmente il valore delle soglie si erano
ottenuti miglioramenti nelle prestazioni dell’algorimo di identificazione dei picchi R.
In tabella 3.2 viene riportato il risultato del test 8: variando manualmente i parametri
delle soglie, in particolare aumentando il valore della soglia sull’ampiezza della derivata del segnale ECG da 100000 [µV /s] a 60000 [µV /s], si ottiene un miglioramento
delle prestazioni dell’algoritmo. La percentuale di veri positivi passa da 88.66% al
100%. Utilizzando le soglie adattative non si ottiene lo stesso miglioramento ma il
risultato di veri positivi ottenuto è pari al 99.89%, che è un valore ampiamente accettabile come livello di efficienza. In tabella 3.3 viene riportato il risultato del test
9: in questo caso i miglioramenti ottenuti variando manualmente i parametri delle
soglie e quelli ottenuti utilizzando le soglie adattative sono identici, in entrambi i casi
la percentuale di veri positivi è pari al 99.94%.
L’uso delle soglie adattative, se da una parte permette di migliorare le prestazioni
dell’algoritmo senza variazioni manuali dei parametri, dall’altra parte necessita di un
periodo di apprendimento per calcolare le soglie da applicare alle logiche di decisione.
Tale periodo corrisponde ai 10 secondi necessari al calcolo della prima soglia dell’ampiezza del segnale ECG. Durante questo tempo i picchi R vengono trovati usando
gli ultimi valori delle soglie contenuti in memoria come parametri nelle logiche di
decisione.
26
Par 1 [µV ]
900
900
adaptive
Test Adaptive threshold - CASE 2
Test 9 : AB - Second Part - Simulator
Par 2 [µV /s] Par 3 [Samp.] TP [%] FN [%]
100000
10
71.69
0.13
60000
10
99.94
0.31
adaptive
10
99.94
0.13
FP [%]
28.31
0.06
0.06
Tabella 3.3: Confronto efficienza dell’algoritmo con variazione dei valori delle soglie
e con l’utilizzo di soglie adattative per la seconda parte del test al simulatore di AB.
Par 1 indica l’ampiezza della soglia per il segnale ECG, Par 2 indica l’ampiezza della
soglia per la derivata del segnale ECG e Par 3 il numero di campioni per determinare
la pendenza del picco R.
3.2
Algoritmo per la misura dell’intervallo QT
L’intervallo QT è definito come l’intervallo temporale tra il punto Qonset di inizio
dell’onda Q e il punto Tof f set che corrisponde alla fine dell’onda T. Per estrarre l’intervallo QT dal tracciato ECG bisogna quindi identificare in modo preciso questi due
punti. Il punto Tof f set può essere trovato da un cardiologo in modo differente a seconda della diversa esperienza e sensibilità personale mentre utilizzando un metodo
automatico si può ottenere una localizzazione dei punti più consistente. L’algoritmo
può però fallire in presenza di rumore troppo elevato e in presenza di forme d’onda
anormali: bisogna quindi introdurre dei metodi di identificazione robusti e applicare
un filtraggio al segnale per ridurre il più possibile il rumore.
In letteratura esistono vari algoritmi di misurazione dell’intervallo QT, che si differenziano per complessità e carico computazionale. I primi metodi utilizzati sono
basati sull’intersezione tra il segnale ECG e un livello di soglia (Threshold Detection
[14]). Questi metodi sono molto semplici ma non molto efficienti e sono stati migliorati introducendo delle logiche di decisione con confronto tra la derivata del segnale e un
intervallo di soglia (Derivative Threshold Detection [14], [17] ). In [23] viene introdotta una nuova modalità per trovare il punto di fine dell’onda T che prevede l’utilizzo
dell’intersezione tra la linea passante per il punto di massima pendenza dell’onda T e
la linea isoelettrica (Slope Intercept Detection). Per migliorare quest’ultimo metodo
e per renderlo più robusto viene utilizzata l’intersezione tra la linea determinata dai
minimi quadrati nel punto di massima pendenza dell’onda T e la linea isoelettrica
(Least Squares Intercept Detection).
27
Figure 3.5: Metodi di misurazione automatica dell’intervallo QT: TH (Threshold level
interception), DTH (differential ECG and threshold intersection), SI (slope intecept
with isoeletric level) [14].
Un altro metodo presente in letteratura prevede di considerare l’area sottostante
all’onda T e di scegliere un intervallo temporale che massimizzi tale area (T-wave
Area Detection [25]). Negli ultimi anni sono stati sviluppati degli algoritmi basati
sulla trasformata Wavelet che decompone il segnale ECG nei suoi componenti basati
su scale differenti. L’identificazione dei punti di inizio e fine intervallo sono basati su metodi di massimo assoluto e zero crossing dei segnali trasformati con scale
caratteristiche differenti.
L’algoritmo che è stato sviluppato per la misurazione dell’intervallo QT è composto da due passi :
1. Algoritmo per l’identificazione del punto Qonset .
28
2. Algoritmo per l’identificazione del punto Tof f set .
3.2.1
Algoritmo per l’identificazione del punto Qonset
Per determinare l’intervallo QT è necessario come primo passo individuare il punto
Qonset , ossia l’inizio dell’onda Q che è la prima onda del complesso QRS e viene localizzata in un intervallo temporale antecedente al picco R di circa 120 [ms]. L’algoritmo
in questione è basato sulle caratteristiche morfologiche dell’onda Q.
Figure 3.6: Caratteristiche morfologiche che permettono l’identificazione dell’inizio
dell’onda Q e del picco Q. Vengono rappresentati in alto il segnale ECG e in basso la
sua derivata con la stessa scala temporale.
In figura 3.6 viene rappresentato il sistema con il quale vengono trovati i punti
Qonset (inizio dell’onda Q) e Qpeak (picco negativo dell’onda Q).
Il Qpeak viene identificato con l’istante temporale in cui la derivata del segnale
ECG si annulla per la prima volta prima del picco R. Il punto in cui la derivata si
annulla per la seconda volta invece rappresenta il Qonset .
29
L’algoritmo di identificazione del punto Qonset , descritto dallo schema in figura
3.7, implementa i seguenti passi :
• Prende in ingresso il segnale ECG e la sua derivata.
• Individua il picco R utilizzando le informazioni fornite dall’algoritmo di identificazione del picco R.
• Analizza il segnale in una finestra temporale localizzata 2 − 120 [ms] prima del
picco R, utilizzando una versione ritardata del segnale e determinando i punti
in cui la derivata attraversa il valore zero.
• Identifica il Qpeak con il primo punto antecedente al picco R in cui la derivata
si annulla.
• Identifica il Qonset con il secondo punto antecedente al picco R in cui la derivata
si annulla.
Figure 3.7: Schema di funzionamento dell’algoritmo di identificazione dei punti Qonset
e Qpeak .
30
L’efficienza di questo algoritmo è influenzata dalle prestazioni dell’algoritmo di
localizzazione dei picchi R. L’identificazione dei punti Qonset e Qpeak infatti avviene
solo se viene trovato il picco R e questo si verifica anche nel caso in cui venga identificato un picco R falso positivo, ottenendo come risultato dei punti Qonset e Qpeak
falsi positivi.
3.2.2
Algoritmo per l’identificazione del punto Tof f set
Il secondo punto fondamentale per determinare l’intervallo QT è il Tof f set , ossia la
fine dell’onda T. Questo punto non è definito in modo univoco e spesso nelle analisi
manuali può variare a seconda della sensibilità della persona che effettua la misurazione. Il metodo implementato per l’identificazione automatica del Tof f set è chiamato
Peak Slope Intercept (PSI) e viene rappresentato in figura 3.8. Questa tecnica calcola
la fine dell’onda T come il punto di intersezione tra due linee: la prima corrisponde
al livello isoelettrico mentre la seconda corrisponda alla linea che passa tra il punto Tpeak , di picco dell’onda T, e il punto Tms , che è il punto di massima pendenza
successivo al Tpeak .
Figure 3.8: Rappresentazione del metodo Peak Slope Intercept (PSI): il triangolo nero
rappresenta il punto Tpeak , l’asterisco nero rappresenta il punto Tof f set , la linea blu il
tracciato ECG, la linea tratteggiata rappresenta la linea passante tra i punti Tpeak e
Tof f set e la linea nera rappresenta il livello isoelettrico.
Questo metodo è più robusto rispetto ai metodi di confronto con le soglie descritti
precedentemente (TH e DTH) e rappresenta un’evoluzione del metodo SI.
31
L’algoritmo di identificazione del punto Tof f set , descritto dallo schema in figura
3.9, implementa i seguenti passi:
• Prende in ingresso il segnale ECG e la sua derivata.
• Identifica il picco R utilizzando le informazioni fornite dall’algoritmo di identificazione del picco R.
• Analizza il segnale in una finestra temporale di lunghezza variabile, localizzata
dopo il picco R, descritta dalla formula riportata in [12]:
(
[80, 500] [ms]
f or RRav < 700 [ms]
[80, 0.6 × RRav ] [ms]
f or RRav > 700 [ms]
dove RRav rappresenta la media dell’intervallo R-R negli ultimi 10 secondi. Se
tale intervallo è superiore ai 700 ms la finestra temporale si amplia in modo
da analizzare l’intera onda T e non avere una stima errata del punto Tof f set .
Questo tipo di finestratura variabile si adatta alle variazioni del battito cardiaco
che possono avvenire in diverse condizioni di attività del soggetto in esame.
• Identifica il punto Tpeak come il campione del segnale ECG ad ampiezza massima
all’interno della finestra temporale.
• Identifica il punto Tms come il campione della derivata del segnale ECG ad
ampiezza massima all’interno della finestra temporale e successivo al punto
Tpeak .
• Calcola la linea passante tra i punti Tpeak e Tms .
• Identifica il punto Tof f set come il punto di intersezione tra la linea calcolata al
passo precedente e la linea isoelettrica.
Come per l’algoritmo di identificazione del punto Qonset anche per questo algoritmo l’efficienza dipende strettamente dall’accuratezza con cui vengono determinati i
picchi R. L’errata o la mancata identificazione del picco R comporta infatti un’errata o mancata identificazione del punto Tof f set e quindi un errore nella misurazione
dell’intervallo QT.
32
Figure 3.9: Schema di funzionamento dell’algoritmo di identificazione del punto
Tof f set .
Un’altra causa di errore dovuta all’utilizzo di questo algoritmo può avvenira quando la morfologia dell’onda T viene modificata in modo sostanziale dalla presenza di
rumore. Usando il metodo PSI con un segnale ECG molto rumoroso può capitare che
i punti Tpeak e Tms vengano identificati in modo errato. In questi casi la retta passante per i due punti può assumere una pendenza anomala, risultando troppo pendente
e quindi sottostimando la posizione del punto Tof f set oppure poco pendente sovrastimando la posizione del punto Tof f set . La stima errata comporta una misurazione
imprecisa dell’intervallo QT corrispondente.
33
3.3
Filtraggio
Il processo di filtraggio ricopre una parte fondamentale dell’algoritmo di estrazione
delle features. Come visto in precedenza, la presenza di rumore nel segnale ECG
porta ad una mancata o errata misurazione degli intervalli di interesse. In particolare,
l’algoritmo di indentificazione dell’intervallo QT è molto sensibile e necessita di un
segnale molto pulito per avere un buon livello di efficienza.
La misurazione effettuata in ambiente on-board durante l’attività di guida non
consente di limitare la presenza di rumore nella misura come avviene invece per misurazioni in ambiente clinico ed ospedaliero. Gran parte dei disturbi hanno delle
componenti frequenziali che sono molto simili a quelle del segnale ECG di interesse e
risulta quindi difficile applicare le tecniche di filtraggio classiche.
Nelle sezioni successive viene presentata una tecnica di trasformazione per filtrare e
separare il segnale dal rumore senza basarsi sulla conoscenza a priori delle componenti
spettrali del segnale in esame ma sulla sua analisi statistica.
3.3.1
Principal Component Analysis (PCA)
L’Analisi delle Componenti Principali (PCA) è una tecnica utilizzata nell’ambito della
statistica multivariata che ha come obiettivo quello di semplificare le informazioni
di un set ampio di variabili correlate, in un insieme più piccolo dette “componenti
principali”. Ciò avviene tramite una trasformazione lineare delle variabili che proietta
quelle originarie in un nuovo sistema: le componenti principali vengono derivate come
una combinazione lineare delle variabili originarie, affinchè diventino mutuamente
indipendenti. Ogni componente contiene nuove informazioni in riferimento al set
di dati di origine e viene ordinata in ordine decrescente di varianza: pertanto, il
componente con maggiore varianza viene proiettato sul primo asse, il secondo sul
secondo asse e così via.
La riduzione della complessità avviene limitandosi ad analizzare tra le nuove componenti solo quelle principali (per varianza). Tuttavia riducendo la dimensione dello
spazio di rappresentazione si ha allo stesso tempo una perdita dell’informazione contenuta nei dati originali. In questo modo si può utilizzare la PCA per un problema
di riduzione del rumore. Il segnale di origine viene ricostruito usando solo le componenti a maggior varianza, associando la perdita di informazione dovuta alla riduzione
di complessità con l’eliminazione del rumore nel segnale in esame.
Diversamente da altre trasformazioni lineari di variabili in questa tecnica sono gli
stessi dati che determinano i vettori di trasformazione. Il processo della PCA consiste
in tre passi essenziali:
• creazione della matrice di covarianza.
• estrazione delle componenti principali.
34
• riduzione della complessità.
Sia il segnale x un processo aleatorio a media nulla, con matrice di correlazione
Rx = E[xxT ]. Le componenti principali di x sono il risultato dell’applicazione di una
trasformazione lineare e ortogonale Ψ = [ψ1 ψ2 . . . ψN ] al vettore x,
w = ΨT x,
tale che gli elementi del vettore delle componenti principali w = [w1 w2 . . . wN ]T siano
mutualmente incorrelati. In questo modo la PCA consente di trovare queste nuove
variabili w, ricavando un sistema di coordinate ortogonali tale che gli elementi di w,
proiezioni di quelli di x in tale sistema ortogonale, risultino incorrelati.
La prima componente principale è ottenuta calcolando il prodotto scalare secondo
la formula:
w1 = ψ1T x,
dove il vettore ψ1 viene scelto in modo da massimizzare la varianza di w1 sotto la
condizione di ortogonalità ψ1T ψ1 = 1, in modo che:
E[w12 ] = E[ψ1T xxT ψ1 ] = ψ1T Rx ψ1
In questo modo si massimizza la varianza delle proiezioni sul nuovo asse, così che
il primo asse corrisponda alla direzione di massima varianza. La massima varianza
viene ottenuta quando ψ1 viene scelto come l’autovettore normalizzato corrispondente
all’autovalore maggiore di Rx , denominato λ1 . La varianza risultante è:
E[w12 ] = ψ1T Rx ψ1 = λ1 ψ1T ψ1 = λ1 .
Il componente w2 viene ottenuto scegliendo ψ2 come l’autovettore corrispondente
al secondo maggiore autovalore di Rx , considerando il fatto che il primo ed il secondo
componente principale non devono essere correlati. Tale procedimento viene eseguito per l’intero set di N differenti componenti principali. Si ottiene cosi una nuova
formulazione per la matrice di correlazione:
Rx = ΨΛΨ,T
dove Λ corrisponde ad una matrice diagonale con elementi sulla diagonale pari agli
autovalori λ1 , . . . , λN .
La PCA ci fornisce quindi uno strumento per capire quali delle variabili in gioco
possano essere eliminate dalle analisi successive per il loro scarso contributo alla
varianza totale, ovvero all’informazione totale che i dati contengono.
35
3.3.2
Metodo
Nelle applicazioni di analisi del segnale la PCA viene applicata su un set di campioni
che rappresentano la sequenza temporale di un segnale. Nel caso del tracciato ECG,
che presenta una morfologia ricorrente tra un battito e l’altro, l’analisi viene effettuata
sui campioni estratti da un segmento localizzato temporalmente in differenti periodi
dello stesso segnale.
Usando questo approccio, il tracciato ECG viene diviso in adeguate sequenze tali
da contenere il complesso QRS e l’intera onda T per ogni battito distinto. Queste
sequenze vengono estratte dal segnale applicando una finestra di ampiezza variabile
ad ogni battito cardiaco centrata nel picco R, definita come :
(
[−120, 500] [ms]
f or RRav < 700 [ms]
[−120, 0.6 × RRav ] [ms]
f or RRav > 700 [ms]
(3.1)
.
Il segmento di segnale corrispondente ad un battito viene rappresentato dal vettore
colonna


xj (1)
 xj (2) 


xj = 
,
..


.
xj (N)
dove N è il numero di campioni del segmento. Le sequenze xj vengono estratte da
una serie di M battiti successivi.
2000
Segnale ECG [uV]
1500
1000
500
40
0
30
−500
20
10
−1000
0
100
200
300
400
500
0
600
Numero Sequenze
Intervallo di misura [ms]
Figura 3.10: 40 sequenze estratte da un tracciato ECG, allineate con il picco R, che
vanno a formare la matrice di osservazione X.
36
L’intero raggruppamento dei segmenti raccolti viene rappresentato in maniera
compatta da una matrice di osservazione N × M definita come,
X = [x1 x2 · · · xM ].
In figura 3.10 vengono rappresentati i segmenti di segnale contenuti in una matrice
di osservazione X. Le sequenze x1 , · · · , xM possono essere viste come M osservazioni del processo aleatorio x. Utilizzando un modello di osservazione con rumore di
modello additivo possiamo definire le sequenze osservate come in [12]:
xj = sj + ej ,
dove sj rappresenta il segnale ECG privo di rumore corrispondente alla j−esima
sequenza e ej rappresenta il rumore di misura additivo. Si assume che questo rumore
sia un processo stazionario a media nulla. Le M sequenze osservate compongono uno
spazio vettoriale S di dimensione dim(S) = min{M, N}. Ogni sequenza di segnale
ECG privo di rumore sj può essere approssimata come una combinazione lineare di
vettori base ϕk
sj = HS θj ,
dove HS = (ϕ1 . . . ϕK ) è una matrice N × K di vettori base che compongono i sottospazi di S a dimensione K. θj è un vettore colonna K dimensionale contenente i pesi
relativi alla j-esima sequenza.
Si può riscrivere il modello di osservazione in una forma più compatta
X = HS θ + E,
dove θ = [θ1 θ2 · · · θM ] rappresenta la matrice dei pesi ed E = [e1 e2 · · · eM ] la matrice degli errori di misura. I vettori base ϕk possono essere definiti in vari modi, in
particolare usando la PCA essi corrispondono agli autovettori della matrice di correlazione dei dati che può essere stimata mediante l’utilizzo della matrice di osservazione
usando la formula seguente
1
Rx =
XX T .
M
Gli autovettori possono essere calcolati risolvendo la decomposizione agli autovalori
(EVD) della matrice Rx . Gli autovettori calcolati hanno la proprietà di essere ortonormali e quindi la soluzione ai minimi quadrati per ottenere la matrice dei pesi θ
risulta semplicemente
θ̂ = HST X,
e la stima dei segmenti di segnale può essere calcolata come
X̂ = HS θ̂.
37
(3.2)
Applicando la PCA sull’intero raggruppamento delle sequenze X, lo schema delle componenti principali riflette il grado di variabilità morfologica tra un battito e
l’altro: quando l’autovalore associato alla prima componente principale è molto grande rispetto agli altri, il raggruppamento esibisce una bassa variabilità morfologica;
d’altra parte una lenta decrescita degli autovalori indica una grande variabilità.
Nelle applicazioni di filtraggio, l’obiettivo principale della PCA è quello di estrarre
le informazioni utili sj dal segnale rumoroso xj , che sono concentrate in un sottoinsieme delle componenti principali, definito come:
w1 , · · · , wK
dove K < N rappresenta il numero di componenti principali che contengono la
maggior parte dell’informazione utile.
Per determinare le componenti principali e i vettori base che compongono HS viene
utilizzato il metodo della Decomposizione ai Valori Singolari (SVD1 ). Consideriamo
la matrice reale N × M delle osservazioni X normalizzata che può essere decomposta
come segue:
1
√ X = UΣV T
M
dove V è una matrice quadrata M × M e U è una matrice quadrata N × N entrambe
ortogonali (UU T = I e V V T = I). La matrice V contiene gli autovettori della matrice
Rx ossia la matrice di covarianza. S è una matrice rettangolare N × M con tutti gli
elementi nulli tranne sulla diagonale principale. Questi elementi (σi ) vengono definiti
valori singolari di X e sono ordinati in ordine decrescente σ1 ≥ σ2 ≥ . . . ≥ Lσmin(N,M ) .
√
I valori singolari σi corrispondono alle radici quadrate degli autovalori ( λi ) della
matrice Rx .
Il vantaggio della SVD sta nel determinare gli autovalori e gli autovettori di Rx
senza il bisogno di calcolare la matrice di covarianza bensì operando sulla matrice di
osservazione X. La rappresentazione di questi valori ordinati secondo il loro indice
rappresenta lo spettro degli autovalori, come riportato in figura 3.11a. Gli autovalori
maggiori sono associati agli autovettori di massima varianza e minore è il valore
degli autovalori, minore è l’energia lungo i corrispettivi autovettori. Gli autovalori
più piccoli vengono quindi considerati come associati al rumore additivo presente nel
segnale.
Per ottenere il segnale privo di rumore calcoliamo una SVD troncata, utilizzando
solo i primi K autovettori più significativi, ottenendo
1
√ X̂ = UK ΣK VKT
M
1
La decomposizione ai valori singoli e i motivi della sua scelta vengono presentati in Appendice
B.
38
100
90
80
70
Autovalori
60
50
40
30
20
10
0
0
5
10
15
20
25
30
35
40
Numero Autovalori
(a) Spettro degli autovalori ricavati dalla PCA.
2000
Segnale ECG [uV]
1500
1000
500
40
0
30
−500
20
10
−1000
0
100
200
300
400
500
0
Numero di sequenze
600
Intervallo di misura [ms]
(b) Ricostruzione dei segmenti di segnale utilizzando la prima
componente principale.
2000
Segnale ECG [uV]
1500
1000
500
40
0
30
−500
20
10
−1000
0
100
200
300
400
500
0
600
Numero di sequenze
Intervallo di misura [ms]
(c) Ricostruzione dei segmenti di segnale utilizzando le prime 5
componenti principali.
Figura 3.11: Metodo di filtraggio tramite PCA.
39
dove la matrice ΣK è una matrice quadrata K ×K e diagonale con i K valori singolari
più significativi come elementi della diagonale. Le matrici UK e VK sono rispettivamente di dimensione M × K e K × N dove vengono eliminate le M − K colonne di
U e le N − K righe di V . La matrice X̂ di dimensioni N × M contiene i segmenti di
segnale filtrato dal rumore. Il valore di K dipende dalla natura dei dati e viene scelto
analizzando lo spettro degli autovalori in modo che:
K
X
si > α
M
X
si
i=1
i=1
dove α ≈ 0.95, risultando un valore di K = 5.
La PCA permette quindi di filtrare un set di dati utilizzando le informazioni
contenute nei dati stessi. Una volta ottenuta la matrice delle osservazioni X si può
calcolare la decomposizione ai valori singolari e utilizzando la forma troncata della
SVD si ottiene una versione filtrata Y dei segmenti di segnale osservato.
3.3.3
Aggiornamento dinamico della PCA
Questo processo viene adattato ad un’applicazione in tempo reale utilizzando le informazioni raccolte nella matrice di osservazione per filtrare il segnale successivo. I
primi M segmenti x1 , · · · , xM vanno a formare la matrice di osservazione iniziale X ′
di cui viene calcolata la SVD ottenendo:
1
√ X ′ = U ′ Σ′ V ′T ,
M
(3.3)
e viene troncata a K = 5 componenti. I vettori base corrispondono ai cinque
autovettori più significativi
HS = V5′ .
e la sequenza priva di rumore all’istante M + 1 viene calcolata riscrivendo (3.2) come:
x̂M+1 = V5′ V5T xM+1 .
(3.4)
In figura 3.12 viene rappresentato il risultato del filtraggio con PCA su un segmento di segnale ECG. In blu viene raffigurato il segmento filtrato x̂M+1 mentre in
nero tratteggiato viene presentato il segmento di segnale ECG originale xM+1 . Si può
ben notare come l’applicazione della PCA preservi le caratteristiche morfologiche del
segnale eliminando il rumore in modo efficace.
40
2000
Segnale ECG originale
Segnale Filtrato con la PCA
1500
Segnale ECG [uV]
1000
500
0
−500
−1000
0
100
200
300
400
500
600
Dimensione del segmento [ms]
Figura 3.12: Filtraggio del segnale con PCA. In blu il segnale filtrato mentre in nero
tratteggiato il segnale ECG originale.
I segmenti xM +1 , · · · , x2M vengono filtrati usando le informazioni contenute nella
matrice X ′ e vanno a formare la nuova matrice di osservazione X ′′ = [xM +1 , · · · , x2M ].
In questo modo c’è un aggiornamento dinamico della matrice di osservazione e degli
autovalori relativi. Tale aggiornamento consente di seguire le variazioni di forma
che il segnale ECG può presentare nel corso della misurazione. In modo iterativo
le informazioni contenute nella matrice di osservazione X ′′ verranno utilizzate per
filtrare il segmento x2M+1 e quelli successivi fino all’aggiornamento seguente.
Uno svantaggio dell’utilizzo di questo metodo di filtraggio sta nel fatto che bisogna
attendere la formazione della matrice di osservazione iniziale X ′ per iniziare a filtrare
il segnale in modo efficace. Il tempo di attesa dipende dal numero di sequenze M
che compongono la matrice X ′ e dalla frequenza del battito cardiaco. Maggiore è
la frequenza cardiaca infatti maggiore è il numero di sequenze che vengono misurate
nello stesso intervallo di tempo.
In figura 3.13 viene rappresentato un altro aspetto che caratterizza il processo di
filtraggio con PCA. Vi è infatti un ritardo dovuto al metodo di filtraggio tra il segnale
ECG misurato in ingresso e il segnale filtrato in uscita. Tale ritardo è dovuto alla
finestratura (3.1) usata per memorizzare le sequenze di segnale e creare la matrice di
osservazione. Dalla formula (3.4) si deduce che è necessario avere a disposizione tutta
la sequenza xj per ricavare il segnale fitrato x̂j della j-esima sequenza. Il tempo necessario per avere a disposizione tutti i campioni di xj dipende quindi dalla finestratura
(3.1) ed in particolare vale
delayP CA =
(
500 [ms]
f or RRav < 700 [ms]
0.6 × RRav [ms]
f or RRav > 700 [ms]
41
,
dove RRav rappresenta la media dell’intervallo R-R negli ultimi 10 secondi.
Figura 3.13: Ritardo tra il segnale di ingresso (il segnale ECG misurato rappresentato
dalla linea blu tratteggiata) e il segnale in uscita dal processo di filtraggio con PCA
(linea blu). La linea nera tra i due picchi R rappresenta il delayP CA .
3.3.4
Identificazione di anomalie nella matrice di osservazione
La formazione della matrice di osservazione X ricopre nel flitraggio con PCA un ruolo
fondamentale. In X infatti sono contenute le sequenze dalle quale vengono ricavate le
informazioni per ricostruire il segnale senza rumore. Di grande importanza è quindi il
fatto che le sequenze xj che formano X contengano le informazioni morfologiche che
caratterizzano il segnale ECG nella finestratura di misura (onde P-QRS-T).
Può capitare infatti che per errori di identificazione del picco R finiscano all’interno
di X sequenze che non hanno la stessa morfologia delle altre. Questo capita anche
quando il tracciato è disturbato da rumore molto elevato e vengono memorizzate in X
sequenze troppo rumorose. La presenza di queste anomalie all’interno della matrice
di osservazione determina un errato calcolo delle componenti principali. Vengono
rappresentate infatti delle caratteristiche morfologiche che sono dovute ad errori di
segmentazione del segnale e alla presenza di rumore troppo elevato.
Per la ricerca di anomalie all’interno della matrice di osservazione X sono utilizzate nella analisi multivariata le statistiche seguenti: T 2 di Hotteling che misura la
variazione nella PCA e la SPE (Square Prediction Error) che misura la quantità di
variazione non catturata dalla PCA [10][18].
La statistica di Hotteling T 2 rappresenta la maggior variazione nel set di dati
analizzati ed è basata sui primi K componenti principali in maniera tale da fornire
un test per la derivazione delle variabili latenti che sono di maggior importanza per
la varianza del processo. T 2 può essere calcolata come la somma dei quadrati di una
42
nuova sequenza di segnale x:
T
T 2 = xT VK Λ−1
K VK x,
(3.5)
dove VK è la matrice contenente gli autovettori relativi ai K autovalori della matrice
Rx maggiori. ΛK è una matrice quadrata di dimensione K × K sulla cui diagonale
ci sono i K autovalori maggiori della matrice Rx . Una sequenza viene considerata
normale se per un dato livello significativo α vale la relazione
T 2 ≤ Tα2 =
(M 2 − 1)K
Fα (K, M − K),
M(M − K)
dove Fα (K, M − K) è il valore critico della distribuzione di Fisher-Snedecor con M
e M − K gradi di libertà e α il livello significativo che assume valori compresi tra il
90% e il 95%.
La SPE viene determinata calcolando l’errore di predizione quadratico dei residui
di una nuova sequenza osservata.
SP E = r T r
(3.6)
con
r = (I − VK VKT )x
vettore dei residui. Il limite superiore per questa statistica può essere calcolato seguendo la formula:
Qα = θ1
√
1
θ2 h0 (h0 − 1) h0
h0 cα 2θ2
+1+
,
θ1
θ12
dove i parametri valgono rispettivamente
θi =
M
X
λij
j=K+1
h0 = 1 −
2θ1 θ3
3θ22
e dove cα è un valore di una distribuzione normale con α livello significativo.
L’identificazione delle anomalie all’interno della matrice di osservazione viene calcolata ogni qual volta viene misurata una nuova sequenza x. Quando x è disponibile
vengono calcolate le statistiche T 2 di Hotelling e la SPE secondo le formule (3.5) ,
43
(3.6), e viene seguita la logica di decisione seguente: se valgono
SP E ≤ Qα
T 2 ≤ Tα2
(3.7)
la sequenza x viene memorizzata nella matrice di osservazione X altrimenti x
viene identificato come una anomalia e non viene inserita in X.
12000
2
Statistica T di Hotteling
Soglia di decisione
10000
T2
8000
6000
4000
2000
0
0
200
400
600
800
1000
1200
1400
1600
Numero di Segmenti osservati
(a)
8
2
x 10
Statistica SPE
1.8
Soglia di decisione
1.6
1.4
SPE
1.2
1
0.8
0.6
0.4
0.2
0
0
200
400
600
800
1000
1200
1400
1600
Numero di Segmenti osservati
(b)
Figura 3.14: Logica di decisione per l’identificazione delle anomalie: (a) T 2 di
Hotteling (b) SPE.
In Figura 3.14 vengono riportati i grafici degli andamenti delle statistiche T 2 e
SPE. I segnali tratteggiati rappresentano le soglie di decisione utilizzate per identi44
ficare le sequenze che presentano anomalie secondo la formula (3.7). Il processo di
selezione delle sequenze che compongono X viene rappresentato in figura 3.15 dove
vengono graficati i segmenti contenuti nelle matrici di osservazione. Nel grafico in
alto sono presenti delle sequenze molto rumorose che non soddisfano la morfologia
del segnale. Queste sequenze vengono identificate dalle logiche di decisione descritte
precedentemente e vengono tolte dalla matrice X, come rappresentato nel grafico in
basso.
Figura 3.15: Rappresentazione della identificazione delle anomalie. In alto vengono
rappresentati i segmenti di segnali contenuti in una matrice di osservazione senza
identificare le anomalie. In basso vengono eliminate dalla matrice di osservazione X
le sequenze che non soddisfano le logiche di decisione sulle statistiche T 2 e SPE.
45
3.3.5
Algoritmo di filtraggio
L’algoritmo di fitraggio con PCA, descritto nelle sezioni precedenti, implementa i
seguenti passi:
• Prende in ingresso il segnale ECG.
• Identifica il picco R utilizzando le informazioni fornite dall’algoritmo di identificazione del picco R.
• Acquisisce i campioni delle sequenze xj nella finestra temporale (3.1) centrata
rispetto al picco R.
Fase di inizializzazione:
• Forma la matrice di osservazione iniziale X ′ composta dalle prime M sequenze
osservate
X′ = [x1 , · · · , xM ].
• Calcola la SVD della matrice di osservazione iniziale X ′ e ottiene la decomposizione usando la formula (3.3).
• Sceglie K = 5 valori singolari più significativi, relativi al segnale non rumoroso
e i rispettivi K autovettori contenuti in V5′ .
Fase di filtraggio e aggiornamento dinamico della matrice di osservazione:
• Filtra il segmento di segnale xM+1 usando le informazioni contenute in X ′
secondo la formula (3.4)
• Calcola le statistiche T 2 di Hotelling e la SPE secondo le formule (3.5) e (3.6),
e verifica se la sequenza xM+1 presenta anomalie usando le logiche di decisione
presentate in (3.7).
• Forma la matrice di osservazione X composta da M sequenze che non presentano
anomalie.
• Calcola la SVD della matrice di osservazione X aggiornando i valori singolari e
gli autovalori in maniera dinamica.
• Una volta completata X e calcolata la SVD aggiorna gli autovettori che userà
nel filtraggio del segnale seguente e avvia la formazione di una nuova matrice
di osservazione.
Lo schema a blocchi dell’algoritmo di filtraggio sviluppato in Simulink viene riportato
in appendice C in figura C.4.
46
3.3.6
Prestazioni dell’algoritmo di filtraggio
Il compito principale del metodo di filtraggio implementato è quello di ridurre al
minimo l’influenza di rumori e di artefatti da movimento durante la misurazione del
tracciato ECG in un’applicazione on-board. Come descritto nelle sezioni precedenti
ridurre al minimo la contaminazione presente nel segnale preservando la morfologia
delle onde è fondamentale per avere una buona efficienza dell’algoritmo di estrazione
delle features. In particolare, l’uso dell’analisi dei componenti principali ha consentito
di migliorare:
• L’identificazione del picco R
• L’identificazione del punto Tof f set
• La misurazione dell’intervallo QT
Identificazione del picco R La presenza di rumore molto intenso, spesso dovuto
a movimenti bruschi del guidatore o al movimento degli elettrodi sulla pelle, modifica
la morfologia del tracciato ECG. In questi casi sono presenti nel segnale misurato dei
picchi con caratteristiche molto simili al picco R, come evidenziato dal cerchio rosso
in figura 3.16a.
L’algoritmo di estrazione delle features, applicato al segnale non filtrato con PCA,
identifica tali picchi come picchi R introducendo quindi degli errori. Vengono identificati infatti dei picchi falsi positivi che portano alla ricerca di punti Qonset e Tof f set
falsi positivi, introducendo un ulteriore errore nella misurazione degli intervalli QT.
In questo esempio si vede bene quanto l’efficienza dell’algoritmo di identificazione
del picco R sia determinante per il calcolo dell’intervallo QT e quanto la corretta
identificazione del picco R sia legata alle corrette localizzazioni dei punti Qonset e
Tof f set .
Filtrando il segnale con il metodo PCA si riesce a eliminare il rumore dal segnale
originale preservando le caratteristiche morfologiche delle onde P-QRS-T. In figura
3.16b viene rappresentato il risultato ottenuto dall’algoritmo di identificazione delle
features applicato al segnale filtrato mediante PCA. I falsi picchi R non vengono
identificati e di conseguenza vengono trovati i punti che caratterizzano l’onda T in
modo più preciso.
In questo caso con la presenza di rumore intenso la PCA ha consentito di ricostruire la morfologia del segnale ECG in maniera molto precisa. L’efficienza delle
identificazioni del picco R ed in generale l’efficienza totale dell’algoritmo di estrazione
delle features è aumentata migliorando di conseguenza la misurazione degli intervalli
R-R e QT di interesse.
47
(a)
(b)
Figura 3.16: Identificazione del picco R migliorata. In questo esempio viene rappresentato: (a) Segnale non filtrato a cui viene applicato l’algoritmo di estrazione delle
features. Nel cerchio rosso vengono evidenziati due picchi R falsi positivi. (b) Segnale
fitrato con PCA.
Identificazione del punto Tof f set Il metodo di filtraggio ha come obiettivo principale quello di ricostruire la morfologia dell’onda T. Essa infatti ha delle caratteristiche
di forma che risentono maggiormente dell’effetto dei rumori e degli artefatti da movimento. In aggiunta l’algoritmo di identificazione del punto Tof f set è molto sensibile
e la sua efficienza dipende dalla morfologia dell’onda T come descritto nelle sezioni
precedenti.
In figura 3.17b viene rappresentato un esempio di come il metodo di filtraggio
con PCA migliora la misurazione dell’intervallo QT. Nel primo grafico in alto viene
48
raffigurato il segnale ECG originale a cui viene applicato l’algoritmo di estrazione delle
features. L’errore di identificazione viene evidenziato dal cerchio in rosso. La presenza
di rumore nel segnale originale modifica la morfologia dell’onda T portando ad un
erronea identificazione del punto Tpeak e ad una conseguente errata identificazione del
punto Tof f set . Ne risulta una misurazione sbagliata e sovrastimata dell’intervallo QT.
Nel grafico sottostante si può notare come l’effetto del filtraggio permetta una
migliore ricostruzione della morfologia del segnale che porta ad un’identificazione
corretta dei punti di interesse.
(a)
(b)
Figura 3.17: Identificazione del picco T migliorata. In questo esempio viene rappresentato: (a) Segnale non filtrato a cui viene applicato l’algoritmo di estrazione delle
features. Nel cerchio rosso viene evidenziato il punto Tof f set sovrastimato. (b) Segnale
fitrato con PCA.
49
Misurazione dell’intervallo QT Il migliorameno dell’identificazione del picco
R e del punto Tof f est porta ad una misurazione più precisa dell’intervallo QT. Per
verificare i vantaggi effettivi dovuti al filtraggio del segnale con PCA è stata fatta
un’analisi sulle misurazioni dell’intervallo QT utilizzando come set di dati i test 8
e 9. Questi tracciati presentano un’elevata presenza di disturbo dovuta a rumore e
artefatti da movimento e offrono quindi la possibilità di verificare la bontà del metodo
di filtraggio utilizzato.
In figura 3.18 vengono riportate le misurazioni dell’intervallo QT nel tempo. La
linea blu tratteggiata rappresenta la misura calcolata dall’algoritmo di estrazione delle
features sul segnale ECG originale. In rosso invece vengono riportate le misurazioni
dell’intervallo QT calcolate dall’algoritmo con in ingresso il segnale filtrato dalla PCA.
Figura 3.18: Intervallo QT nel tempo. In blu le misurazioni ottenute dal segnale non
filtrato, in rosso quelle ottenute applicando il filtro con PCA.
Già dall’analisi grafica si può notare che la linea tratteggiata presenta un andamento che si discosta in maniera significativa rispetto a quello della linea rossa. Per
verificare questo fatto viene fatta un’analisi statistica sui dati ottenuti dalle due misurazioni: vengono calcolate così le distribuzioni dei valori dell’intervallo QT ottenuti
nei due casi.
Nel grafico di figura 3.19a vengono riportati sull’asse x le misure dell’intervallo
QT ottenute analizzando il segnale non filtrato. Sull’asse delle ordinate invece viene
rappresentata la frequenza normalizzata con la quale una misurazione è presente all’interno della distribuzione. In blu viene rappresentato l’istogramma calcolato con
i dati di misura mentre in rosso viene riportata la distribuzione gaussiana che meglio rappresenta questi dati. Essa viene calcolata sulla base della media µ e della
deviazione standard σ ottenute dalle misurazioni.
50
(a) Segnale ECG Originale.
(b) Segnale ECG filtrato con metodo PCA.
Figura 3.19: Distribuzione degli intervalli QT misurati dall’algoritmo di estrazione
delle features applicato al segnale ECG: (a) Originale, (b) filtrato con metodo PCA.
L’intervallo QT misurato è stato diviso in 40 segmenti di misura (numero delle barre
dell’istogramma). Le statistiche calcolate sono: la media (µ), la deviazione standard
(σ), Asymmetry Factor (AF), percentile allo 0.1% (prctile 0.1%), percentile al 99.9%
(prctile 99.9%), percentile normalizzato alla media allo 0.1% (prctile 0.1%norm ) e
percentile normalizzato alla media al 99.9% (prctile 99.9%norm ).
Allo stesso modo in figura 3.19b viene raffigurata la distribuzione delle misurazioni
ottenute dall’applicazione dell’algoritmo di estrazione delle features sul segnale filtrato
con PCA (istogramma in blu) e la distribuzione gaussiana che meglio approssima i
dati (istogramma in rosso).
Dal punto di vista grafico si può subito notare come le due distribuzioni abbiano
una forma molto differente. Nel grafico di figura 3.19a ci sono una quantità maggiore
di misure che differiscono dal valor medio e si possono notare un certo numero di
51
µ [ms]
σ [ms]
Asymmetry F actor [−]
percentile 0.1% [ms]
percentile 99.9% [ms]
percentile norm. 0.1% [−]
percentile norm. 99.9% [−]
Segnle Originale
378.43
26.61
3.56
200.12
627.34
0.53
1.66
Segnale Filtrato
379.30
11.06
0.29
316.82
425.18
0.84
1.12
Tabella 3.4: Statistiche sull’analisi dell’intervallo QT: (caso 1) analisi effettuata sul
segnale originale non filtrato, (caso 2) analisi effettuata sul segnale filtrato con metodo
PCA. Le statistiche calcolate sono: la media (µ), la deviazione standard (σ), Asymmetry Factor (AF), percentile allo 0.1% (prctile 0.1%), percentile al 99.9% (prctile
99.9%), percentile normalizzato alla media allo 0.1% (prctile 0.1%norm) e percentile
normalizzato alla media al 99.9% (prctile 99.9%norm ).
queste che assumono dei valori che sono quasi il doppio della media. Tali misurazioni vengono ricondotte a degli outliers che corrispondono ad errori di identificazione
effettuati dall’algoritmo di estrazione delle features. Il grafico di figura 3.19b invece
presenta una maggior concentrazione delle misure attorno al valor medio. Oltre a
questo, si può notare la mancanza di misure molto distanti dalla media come invece capitava nella distribuzione precedente. L’approssimazione con una gaussiana in
questo caso descrive in modo abbastanza buono i dati di misura.
I parametri su cui si basa l’analisi statistica effettuata vengono riportati in tabella
3.4. L’aspetto principale che si può notare sta nel fatto che la deviazione standard
passa da un valore di σ = 26.61[ms], relativo all’analisi del segnale originale, ad un
valore di σ = 11.06[ms] relativo all’analisi del segnale filtrato con PCA. I valori della
media invece sono molto simili in entrambi i casi e differiscono soltanto di circa 1[ms].
Questo fatto fa capire quanto il filtraggio influisca in modo positivo sulle misurazioni
e sull’efficienza dell’algoritmo. Le misure infatti sono più concentrate attorno al valor
medio. Questo fatto viene certificato anche dal calcolo e dall’analisi dei percentili
e dei percentili normalizzati alla media. Viene calcolato il percentile allo 0.1% che
corrisponde al valore in [ms] che una misura può assumere con probabilità inferiore
allo 0.1% e il percentile allo 99.9% che corrisponde al valore in [ms] che una misura può
assumere con probabilità supriore allo 99.9%. Questi due valori rappresentano i valori
limite delle distribuzioni e sono associati a valori anomali calcolati dall’algoritmo.
Questi valori possono essere normalizzati alla media per ottenere degli indici per
verificare la quantità di errori commessi dall’algoritmo di estrazione delle features nei
due casi. Vengono calcolati quindi il percentile normalizzato alla media allo 0.1% e il
percentile normalizzato alla media allo 99.9% come indici di bontà dell’algorimo.
In figura 3.15 vengono graficati nel tempo i valori di questi due indici e della
deviazione standard normalizzata alla media . Per quanto riguarda il grafico in alto si
52
può notare come la deviazione standard normalizzata riferita all’utilizzo del filtraggio
con PCA sia sempre inferiore a quella riferita all’altro caso. Allo stesso modo nel
grafico in basso si vede bene come i percentili normalizzati riferiti all’utilizzo del
filtraggio con PCA siano sempre inferiori all’altro caso e siano sempre ben concentrati
vicino al valore unitario. Da questa analisi si capisce come l’utilizzo di un metodo di
filtraggio come quello implementato sia di fondamentale importanza per ottenere dei
risultati consistenti e per ridurre al minimo gli errori di identificazione dell’algoritmo
di estrazione delle features.
Figura 3.20: Analisi di efficienza dell’algoritmo di estrazione delle features nel caso
di applicazione sul segnale originale (linea a tratti) e sul segnale filtrato con PCA
(linea continua). Vengono graficati nel tempo i seguenti indici: in blu la deviazione
standard normalizzata alla media (σ/µ), in verde il percentile normalizzato alla media
allo 0.1% (prctile 0.1%norm ) e in rosso il percentile normalizzato alla media al 99.9%
(prctile 99.9%norm ).
53
54
Capitolo 4
Analisi dell’affaticamento alla guida
di un veicolo
4.1
Identificazione dello stato fisiologico del guidatore
L’affaticamento del guidatore di un veicolo può influire sullo stile di guida e può portare in casi estremi all’insorgere dei cosiddetti “colpi di sonno” che sono una causa
molto frequente di incidenti stradali. Il monitoraggio dello stato fisiologico del guidatore è quindi diventato un ambito di ricerca molto importante all’interno del settore
automobilistico ([7], [4]). I recenti sviluppi nell’information technology e nei sistemi
embedded intelligenti offrono nuove modalità di monitoraggio e di costruzione di sistemi complessi per individuare i comportamenti umani all’interno di un determinato
ambiente. Componenti differenti vengono integrate in un unico sistema intelligente
che può raccogliere informazioni di natura diversa per individuare soluzioni a problemi
complessi.
La sicurezza alla guida può essere un esempio nel quale applicare queste tecnologie.
I fattori che influiscono maggiormente sull’attività di guida sono: il guidatore, il
veicolo e l’ambiente esterno. In Figura 4.1a vengono rappresentati in modo schematico
come tre cerchi intersecati. I dispositivi di sicurezza che sono stati sviluppati fin ora
appartengono ai tre sottoinsiemi:
(a)Ambiente-Guidatore: infrastrutture che ottimizzano il rapporto tra ambiente
esterno e persona alla guida (es. segnaletica stradale).
(b)Guidatore-Veicolo: sistemi di sicurezza passiva (es. airbags).
(c)Veicolo-Ambiente: tecnologie intelligenti che aiutano ed assistono la guida (es.
ABS).
55
Il sottoinsieme (d) è l’unione dei tre fattori e richiede una partecipazione attiva del
guidatore nel sistema di sicurezza. La realizzazione di un sistema che preveda il
coinvolgimento di Ambiente-Veicolo-Guidatore è basata sullo schema di figura 4.1b
ed è formato da:
• Monitoraggio ed identificazione dello stato fisiologico del guidatore.
• Visualizzazione di queste informazioni al guidatore e trasferimento al sistema di
bordo del veicolo e all’ambiente esterno (nel caso di infrastrutture intelligenti).
• Segnali di allarme o di avviso per correggere i comportamenti di guida.
(a)
(b)
Figura 4.1: Sistemi intelligenti di monitoraggio del guidatore di un veicolo: (a)
Componenti che influenzano l’attività di guida, (b) Schema del sistema.[7]
Lo stato di salute di una persona durante l’attività di guida è un concetto complesso riferito ad un insieme di caratteristiche fisiche e fisiologiche che possono essere:
il livello di distrazione, la fatica, la capacità di attenzione e lo sforzo mentale. L’identificazione di questo stato è basato sulla misurazione completa o parziale dei segnali
che si possono effettuare in ambiente on-board. In Figura 4.2 vengono presentati i
segnali raccolti dal sistema di monitoraggio. In questo modello le informazioni sullo
stile di guida, sull’attenzione visiva, sulle emozioni apparenti e sul comportamento del
guidatore possono essere combinate con le informazioni delle prestazioni del veicolo
e delle condizioni ambientali per individuare in maniera più completa lo stato del
guidatore.
In questa tesi mi occupo di una piccola parte di questo modello riguardante l’analisi del segnale biomedico che descrive l’attività cardiaca. Nei capitoli precedenti
viene descritto l’algoritmo di estrazione delle fatures che contengono le informazioni
necessarie per analizzare lo stato di salute del guidatore. Viene calcolata la variabilità
56
della frequenza cardiaca (HRV) che ha una certa correlazione con la stanchezza e l’affaticamento alla guida [20]. Vengono calcolate le variazioni temporali delle bande di
alta frequenza (HF) e bassa frequenza (LF) che caratterizzano lo spettro di potenza
della HRV. Di particolare interesse sone le variazioni delle HF che sono considerate
un indicatore dell’attività del sistema nervoso parasimpatico.
Figura 4.2: Insieme dei segnali che possono essere utilizzati per costruire un modello
per l’individuazione dello stato del guidatore di un veicolo [7].
4.2
Heart Rate Variability
La Heart Rate Variability (HRV) misura la variabilità della frequenza cardiaca che
rappresenta la naturale oscillazione del ritmo del cuore correlata all’attività del sistema di controllo cardio-respiratorio e al sistema nervoso simpatico e parasimpatico1 .
In un cuore sano la frequenza cardiaca risponde velocemente a fattori che possono
essere: stati emozionali, stato di ansia, stress, rilassamento ecc., modificandosi a seconda della situazione, per meglio far adattare l’organismo alle diverse esigenze che
l’ambiente continuamente presenta.
Il sistema nervoso simpatico (o ortosimpatico), quando viene attivato, produce
una serie di effetti quali: accelerazione del battito cardiaco, dilatazione dei bronchi,
aumento della pressione arteriosa, vasocostrizione periferica, dilatazione pupillare, aumento della sudorazione. Il sistema simpatico è la normale risposta dell’organismo a
una situazione di allarme, lotta, stress. Al contrario, il sistema nervoso parasimpatico
(o vagale), quando viene attivato, produce un rallentamento del ritmo cardiaco, un
aumento del tono muscolare bronchiale, dilatazione dei vasi sanguinei, diminuizione
1
Maggiori informazioni sul controllo nervoso del cuore vengono presentati in Appendice A.4
57
della pressione, rallentamento della respirazione, aumento del rilassamento muscolare. Il sistema parasimpatico rappresenta la normale risposta dell’organismo ad una
situazione di calma, riposo, tranquillità ed assenza di pericoli e stress.
Il nostro corpo, in ogni momento, si trova in una situazione determinata dall’equilibrio o dalla predominanza di uno di questi due sistemi nervosi. L’HRV ci consente
di valutare in modo oggettivo lo stato relativo del sistema nervoso simpatico e parasimpatico valutando la capacità dell’organismo di modificare il proprio bilanciamento
verso l’uno o l’altro sistema.
4.2.1
Misura del HRV
La variazione della frequenza cardiaca può essere valutata con numerosi metodi, che
possono essere divisi in due categorie: metodi nel dominio del tempo e metodi nel
dominio della frequenza. I primi calcolano un indice mediante operazioni statistiche
sull’intervallo NN (Normal to Normal, cioè tra complessi QRS normali) come può
essere la media o la deviazione standard. I metodi nel dominio della frequenza prevedono il calcolo della densità spettrale di potenza (PSD) del segnale che contiene le
misure degli intervalli R-R tra un battito e l’altro. La serie di questi intervalli viene
rappresentata mediante il cosiddetto tacogramma degli intervalli definito come:
I(k) = tk − tk−1 ,
dove con tk si intende l’istante temporale in cui viene identificato il k-esimo picco R
e k = 1, 2, . . . ∈ Z rappresenta il numero di battiti progressivi. L’analisi della PSD
fornisce le informazioni basilari su come la potenza è distribuita in funzione della
frequenza.
Ci sono diversi metodi per il calcolo della PSD che forniscono un risultato comparabile e vengono classificati come: non parametrici che non prevedono alcuna ipotesi
sui possibili modelli del segnale considerato e parametrici che suppongono che il segnale sia ottenuto mediante l’uso di un opportuno modello i cui parametri devono
essere determinati.
In figura 4.3 vengono raffigutrati i due metodi utilizzati per il calcolo della HRV:
a sinistra il periodorgramma di Welch, un metodo non parametrico che sfrutta la
semplicità e la velocità computazionale dell’algoritmo della FFT; a destra lo Spettro
AR, un metodo parametrico che ha il vantaggio di fornire delle componenti spettrale
più smussate meglio distinguibili a seconda della banda e una stima migliore della
PSD quando si ha a disposizione un numero piccolo di campioni [13].
L’analisi effettuata prevede il calcolo della HRV su misurazioni a breve termine
(5 minuti) per cogliere le variazione nel breve e medio periodo della frequenza del
battito cardiaco. Sono tre le componenti spettrali che si possono distinguere in uno
spettro calcolato in questo modo:
58
Figura 4.3: Metodi nel dominio dell frequenza per il calcolo della HRV. In alto vengono
riportati gli intervalli RR acquisiti in 5 minuti di misurazione. In basso vengono
rappresentati gli spettri di frequenza: a sinistra calcolato con il periodogramma di
Welch, a destra calcolato con spettro AR. Le densità spettrali di potenza sono divise
in tre bande di frequenza: in rosso VLF, in blu LF, in giallo HF.
• HF (High Frequency): frequenze comprese fra 0.15 e 0.4 [Hz]. La banda delle
HF viene considerata espressione dell’attività del sistema nervoso parasimpatico. Questa zona di frequenze subisce una elevata influenza da parte del ritmo e
profondità della respirazione.
• LF (Low Frequency): frequenze comprese fra 0.04 e 0.15 [Hz]. La banda delle LF viene considerata principalmente dovuta all’attività del sistema nervoso
simpatico più una componente del parasimpatico, e all’attività di regolazione
dei barocettori.
• VLF (Very Low Frequency): frequenze comprese fra 0.01 e 0.04 [Hz]. La banda
VLF non ha una chiara spiegazione fisiologica, spesso ad essa vengono associati
componenti non armoniche. Per questo motivo la banda VLF determinata da
una misurazione a breve termine è una misura non rilevante e viene trascurata
nell’analisi della PSD [13].
Le misurazioni delle componenti di potenza HF e LF vengono fatte tipicamente in
valore assoluto di potenza (millsecondi al quadrato) e possono anche essere misurate in
unità normalizzate, che rappresentano il valore relativo di ogni componente di potenza
in proporzione alla quantità totale di potenza dello spettro meno la componente VLF.
In figura 4.4 viene presentato un esempio nel quale si può notare come le componenti
59
che caratterizzano lo spettro si modifichino a seconda delle condizioni imposte. Viene
effettuato un Tilt Test che prevede la misurazione della frequenza cardiaca ad una
persona che in una prima fase si trova a riposo in posizione supina e nella seconda
fase viene fatta sedere con la testa a 90◦ rispetto alla posizione precedente.
Durante il periodo di riposo si possono individuare le due componenti spettrali LF
e HF che assumono un valore di potenza quasi identico (LF = 310 [ms2 ], HF = 302
[ms2 ]) mentre dopo la variazione di posizione della persona la componente LF diventa
dominante (LF = 308 [ms2 ], HF = 95 [ms2 ]). La potenza delle LF come si può
notare dai valori assunti non cambia tra le due fasi mentre a decrescere in modo
significativo è la potenza delle HF. L’utilizzo delle misure normalizzate tendono a
minimizzare l’effetto dei cambiamenti nella potenza totale sui valori dei componenti
HF e LF. Nei test seguenti verrà misurata la componente HF come parametro per
identificare l’attività del sistema parasimpatico e quindi determinare l’affaticamento
del guidatore.
Figura 4.4: Esempio di utilizzo della HRV in un Tilt Test. La PSD è stata calcolata
con un modello autoregressivo di ordine 12: a destra lo spettro relativo al periodo di
riposo mentre a sinistra lo spettro relativo al periodo successivo al movimento [13].
4.2.2
HRV e frequenza di campionamento
Nell’analisi della HRV, qualunque sia il metodo che si utilizzi, è necessario tenere
conto dell’errore che si commette quando si misura l’intervallo R-R su un segnale
ECG campionato. Tale errore è funzione della frequenza di campionamento che deve
60
essere scelta in modo appropriato: una bassa frequnza di campionamento produce un
jitter nella stima del punto di picco R, che altera in modo considerevole lo spettro.
Per mostrare quale sia l’errore che si commette lavorando a basse frequenze di
campionamento e quale sia la sua influenza sulla PSD si procede come in [15]. In
figura 4.5 sono riportati due battiti cardiaci in un ipotetico tracciato ECG, vengono
contrassegnati i campioni del segnale dopo la conversione analogico digitale e viene
raffigurato l’errore di misura che si commette. Sono usate le seguenti notazioni:
• xm (n) è l’n-esimo intervallo R-R misurato che viene calcolato dai campioni ECG
disponibili.
• xt (n) è l’n-esimo intervallo R-R vero che viene considerato come la misura esatta
dell’intervallo.
• e(n) è l’errore di misura dovuti al campionamento che approssima il valore di
picco vero al campione di ampiezza massima.
La relazione tra xm (n) e xt (n) è:
xm (n) = xt (n) + e(n) − e(n − 1) = xt (n) + d(n),
(4.1)
dove d(n) rappresenta l’errore totale sull’intervallo R-R.
Figura 4.5: Rappresentazione schematica di due cicli cardiaci da un tracciato ECG
campionato ad una frequenza pari a f = 1/∆t. La nomenclatura convenzionale delle
onde che compongono un ciclo è data da (P, Q, R, S, T). Vengono usati i simboli: e(·)
per gli errori di misura dovuti al campionamento; xm (n) per il il valore del n-esimo
intervallo R-R misurato; xt (n) per il il valore del n-esimo intervallo R-R vero [15].
Si assume che le sequenze {xm (n)}, {xt (n)}, {e(n)} e {d(n)} siano sequenze di
variabili aleatorie e che:
61
• Le sequnze {e(n)} siano delle variabili aleatorie a media zero, indipendenti e
distribuite uniformemente nell’intervallo −∆t/2 ≤ e ≤ ∆t/2, dove ∆t = 1/f è
il periodo di campionamento.
• Le sequenze {xt (n)} e {e(n)} siano incorrelate.
• Le sequenze {xt (n)} siano stazionarie in senso lato.
In questo modo gli errori di misura sono dei rumori bianchi con media zero e varianza
∆t2
var(e) =
12
e la funzione di autocorrelazione vale
Ree (k) = E[e(n + k)e(n)] =
∆t2
δ(k),
12
dove E[·] indica l’aspettazione statistica e δ(k) indica la funzione delta di Kronecker.
La densità spettrale di potenza della sequenza {e} viene determinata calcolando la
trasformata di Fourier della funzione di autocorrelazione e vale
See (ϕ) = F [Ree (k)] =
∆t2
12
| ϕ |≤ 0.5,
dove ϕ indica un la frequenza espressa in cicli per battiti cardiaci e non in [Hz]
poichè le sequenze in esame sono funzione del battito cardiaco e non del tempo. Dalla
formula (4.1) viene calcolata la funzione di autocorrelazione delle sequenze {xm (n)}
e si ottiene:
Rxm xm (k) = E {[xt (n + k) + d(n + k)] · [xt (n) + d(n)]} = Rxt xt (k) + Rdd (k),
dove Rxt xt (k) e Rdd (k) sono le funzioni di autocorrelazione rispettivamente della
sequenza {xt (n)} e{d(n)}. Quest’ultima può essere scritta come:
Rdd (k) =
∆t2
∆t2
δ(k) −
[δ(k − 1) + δ(k + 1)]
6
12
dalla quale si ottiene la varianza delle sequenze {d(n)}, che vale
var(d) = Rdd (0) =
∆t2
.
6
Ora applicando la trasformata di Fourier si può scrivere la PSD della sequenza
{xm (n)} come:
Sxm xm (ϕ) = Sxt xt (ϕ) + Sdd (ϕ) = Sxt xt (ϕ) + 2See (ϕ)[1 − cos(2πϕ)]
62
| ϕ |≤ 0.5.
Combinando questi risultati si ottiene che la PSD delle sequenze {d(n)} può essere
scritta come:
1
Sdd (ϕ) = 2 [1 − cos(2πϕ)] | ϕ |≤ 0.5.
6f
Si può concludere che:
• Sxm xm (ϕ) è data dalla somma di due componenti (Sxt xt (ϕ) e Sdd (ϕ)) e implica che nel dominio della frequnza l’ampiezza relativa di questi componenti
determina quale dei due domina.
• La sequenza {d} è un rumore colorato con caratteristica da filtro passa alto
(piccole ampiezze alle basse frequnze e larghe ampiezze alle alte frequenze).
• la varianza dell’errore totale {d} è funzione della frequenza di campionamento.
• Sdd (ϕ) è inversamente proporzionale al quadrato della frquenza di campionamento.
Il valore ottimale della frequenza di campionamento sta tra 250 e 500 [Hz] o superiori,
mentre un valore inferiore (in ogni caso maggiore di 100 [Hz]) può dare risultati
soddisfacenti solo se viene applicato un algoritmo di interpolazione (parabolica) per
redefinire i punti di picco R [13].
4.3
Test di Simulazione e Guida
Per indagare sullo stato fisiologico del guidatore usando l’analisi della variabilità della
frequanza cardiaca sono stati realizzati due tipi di test: il primo prevede l’utilizzo di
un simulatore di guida e un circuito messo a disposizione dal gioco selezionato; il
secondo prevede la guida di una vettura reale in un contesto extra-urbano.
In entrambi i test viene utilizzato il sistema di acquisizione del segnale ECG
descritto nel primo capitolo.
4.3.1
Test al simulatore
Questi test prevedono una fase di guida al simulatore rappresentato in figura 4.6 che
è costituito dai seguenti elementi:
1. PC su cui viene eseguito il gioco di guida selezionato.
2. Schermo Samsung® da 40 pollici.
3. Sedile vero di una vettura da corsa.
4. Pedaliera e volante Microsoft® opportunamente fissati.
63
5. Gioco per PC GTR Evolution® il quale, tramite il software MoTeC® per
la telemetria mette a disposizione segnali come angolo di sterzo, pressione del
pedale, tempo del giro ecc. che sono sincornizzati su una base di tempi comuni
la quale è associata a parti differenti del circuito.
Figura 4.6: Simulatore di guida.
Per aumentare le caratteristiche di realismo del gioco selezionato vengono utilizzate le sue principali caratteristiche atte a rendere l’esperienza di guida durante il test
più vicina possibile a quella reale. Il cambio viene impostato in modalità manuale,
con la frizione impostata sulla modalità automatica e vengono utilizzati i seguenti
settaggi:
• Effetto di feedback sul volante di guida: pieno.
• Nessuna assistenza nella sterzata.
• Antibloccaggio dei freni disattivato.
• Precisione dei freni: 70%.
• Precisione della sterzata: 50%
È stato utilizzata una popolazione tale che possa tenere conto di eventuali differenze
fisiologiche, comportamentali e stile di guida legati a età e sesso. Ai test di guida al
simulatore hanno partecipato i seguenti soggetti:
• 3 soggetti di sesso maschile di età compresa tra 25 e 35 anni.
• 1 soggetto di sesso femminile di età compresa tra 25 e 35 anni.
64
• 1 soggetto di sesso maschile di età compresa tra 55 e 65 anni.
Prima di eseguire il test vero e proprio è stato effettuato un pretest necessario per
ridurre al minimo l’effetto di apprendimento graduale durante l’utilizzo del simulatore
di guida. Per questo motivo i soggetti in esame hanno eseguito una breve sessione di
prova, con condizioni di guida analoghe a quelle di test, per apprendere le istruzioni
di guida e acquisire dimestichezza con le caratteristiche delle interfacce grafiche, la
strumentazione del simulatore (pedali, volante di guida e cambio) e le caratteristiche
del circuito selezionato. Una volta terminato il periodo di prova, al soggetto è stata
data una pausa di 30 minuti per rilassarsi durante la quale il soggetto non poteva
eseguire attività fisica e/o mentale che comportino uno sforzo eccessivo.
Il test di guida prevede che il soggetto sotto test esegua una sessione di guida di 45
minuti eseguendo in modo ripetitivo il circuito selezionato considerando i propri limiti
personali e applicando il miglior stile di guida per evitare sbandate e fuoriuscite dalla
carraggiata. Questo ha lo scopo di impegnare il guidatore alla massima attenzione,
gestire correttamente i comandi impartiti (in particolare il cambio) coerentemente alla
velocità di crociera, piuttosto che impegnarlo al fine di ottenere prestazioni estreme
di guida. I test effettuati vengono riportati e sintetizzati in tabella 4.1.
Numero Test Soggetto
1
AB
2
CB
3
JB
4
JB
5
SB
6
SB
7
TF
Sesso
M
F
M
M
M
M
M
Fascia di età
55-65
25-35
25-35
25-35
25-35
25-35
25-35
Tabella 4.1: Test al simulatore.
4.3.2
Test di guida
Questi test prevedono una fase di guida di un veicolo reale equipaggiato con il sistema
di acquisizione del segnale ECG presentato nel primo capitolo. Il percorso selezionato
per il test viene rappresentato in figura 4.7 e presenta le seguenti caratteristiche:
• Itinerario Trento-Padova (la direzione può variare a seconda del test) lungo la
strada statale 47 della Valsugana (SS47).
• Una distanza di circa 135 [Km].
• Un contesto di guida su strada extra-urbana.
65
Figura 4.7: Percorso dei test di guida in contesto extra-urbano. L’itinerario prevede
di percorrere la strada statale 47 (SS47) della Valsugana che collega Padova a Trento
passando per Bassano del Grappa.
Per ridurre eventuali fattori di stress dovuti alla familiarizzazione del guidatore
con il veicolo ai test di guida ha partecipato un solo soggetto (24 anni di età e sesso
maschile) che avesse una certa familiarità con il mezzo utilizzato. I test sono stati
effettuati con condizioni meterologiche e di traffico il più possibile simili: tempo
sereno senza precipitazioni e senza problemi di visibilità; nelle parti del giorno (tardo
pomeriggio, sera) in cui il traffico è meno intenso e nelle quali possono insorgere
stati di affaticamento e sonnolenza nel guidatore. Una sessione di test prevede la
guida del veicolo lungo il percorso descritto in precedenza, direzione Padova-Trento o
viceversa, mantenendo un’andatura e uno stile di guida normali. I test svolti vengono
sintetizzati in tabella 4.2 specificandone sia la direzione del percorso che la parte del
giorno in cui sono stati effettuati. L’intero percorso è stato completato senza soste
intermedie tranne nel test 1 dove è stata effettuata una sosta di un paio di ore a circa
metà percorso.
Numero Test Soggetto Percorso
Orario
1
AP
Pd-Tn
Pomeriggio-Sera
2
AP
Tn-Pd
Sera
3
AP
Pd-Tn
Sera
4
AP
Tn-Pd
Sera
Tabella 4.2: Test di guida reale effettuato da un soggetto di 24 anni di età di sesso
maschile. Con la sigla Pd-Tn si indica il percorso da Padova verso Trento e viceversa.
66
4.4
Risultati
Durante i test al simulatore e alla guida del veicolo reale il segnale ECG viene raccolto dal sistema di acquisizione, viene sottocampionato ad una frequenza di 200 [Hz],
memorizzato e analizzato in post processing per effettuare l’analisi del HRV. Il tracciato ECG viene analizzato dall’algoritmo di estrazione delle features, presentato nel
capitolo 3, che filtra il segnale dal rumore e dagli artefatti da movimento e calcola
l’intervallo R-R che va a formare il tacogramma degli intervalli. Per evitare problemi
dovuti al basso valore di campionamento il Software Kubios HRV [1] applica un’algoritmo di interpolazione parabolica (si veda capitolo 4.2.2) alla serie degli intervalli
R-R e calcola la densità spettrale di potenza ogni due minuti su un segmento di segnale della durata di 5 minuti, tale da cogliere le variazioni nel breve e medio periodo
della frequenza del battito cardiaco. Con un intervallo breve si ha a disposizione un
numero piccolo di campioni e per avere una buona stima della PSD viene utilizzato un
metodo parametrico (Modello AR di ordine 12) che fornisce le componenti spettrali
più smussate e meglio distinguibili a seconda della banda.
Gli indici di interesse per l’analisi dello stato fisiologico del guidatore calcolati ad
ogni intervallo di due minuti sono:
• La componente di potenza ad alta frequenza (HF) che viene misurata in valore
assoluto di potenza, ovvero millsecondi al quadrato [ms2 ]. Le HF sono associabili al sistema parasimpatico e un loro aumento è spesso associato a un aumento
della rilassatezza e/o a un aumento della stanchezza del soggetto.
• La frequnza cardiaca media (HR) che viene misurata in battiti al minuto [beat/min]
e rappresnta un indice dell’attività del cuore. Un aumento della stanchezza e
della rilassatezza del soggetto comporta una diminuzione del HR medio.
Test al simultaore: I risultati sperimentali dei test al simulatore di guida vengono
riportati in figura 4.8 e in figura 4.9, per ogni test vengono calcolati i due indici per
determinare lo stato del guidatore: a sinistra il grafico che rappresenta con linea blu
le HF nel tempo e con linea nera a tratti un approssimazione polinomiale del terzo
ordine; a destra il grafico che rappresenta con linea rossa la frequenza cardiaca media
nel tempo e con linea nera a tratti il trend lineare associato. Per quanto riguarda la
frequenza cardiaca media, nella maggior parte dei casi si denota un andamento lineare
decrescente che indica un progressivo rallentamento delle attività cardiache durante
la seduta di test. Nei test 3, 4 e 5 non è presente questo andamento, anzi in certi casi
è presente il contrario. Una ragione di questa anomalia può essere attribuita al fatto
che i soggetti in esame presentano una frequenza cardiaca fisiologica più bassa rispetto
agli altri o che il test al simulatore possa aver indotto una reazione emotiva che altera
i risultati. Osservando i grafici relativi alle HF nel tempo si possono notare in certi
casi (test 1, 3, 6 e 7) degli andamenti che presentano un aumento del valore della
67
potenza relativa alle alte frequenze verso la fine dei test dove lo stato di affaticamento
è maggiormente accentuato.
Figura 4.8: Risultati simulazione di guida: a) Test 1, b) Test 2, c) Test 3, d) Test 4.
A sinista i grafici del HF nel tempo, a destra i grafici del HR medio nel tempo.
68
Figura 4.9: Risultati simulazione di guida: a) Test 5, b) Test 6, c) Test 7. A sinista
i grafici del HF nel tempo, a destra i grafici del HR medio nel tempo.
In altri casi invece, come nel test 2 e 5 si possono trovare dei picchi significativi
durante il test che possono indicare particolari momenti di stress e fatica. L’analisi
delle HF è influenzata sia dall’utilizzo del simulatore che può alterare l’esperienza di
guida che dal tempo limitato dei test (45 minuti) impedendo così di valutare un reale
stato di affaticamento.
Test di guida reale: I risultati sperimentali dei test di guida reale vengono riportati
in figura 4.10, per ogni test vengono calcolati i due indici per determinare lo stato del
69
Figura 4.10: Risultati guida reale: a) Test 1, b) Test 2, c) Test 3, d) Test 4. A sinista
i grafici del HF nel tempo, a destra i grafici del HR medio nel tempo.
guidatore: a sinistra il grafico che rappresenta con linea blu le HF nel tempo e
con linea nera a tratti un approssimazione polinomiale del quarto ordine; a destra il
grafico che rappresenta con linea rossa la frequenza cardiaca media nel tempo e con
linea nera a tratti il trend lineare associato. In tutti e quattro i test la frequenza
70
cardiaca media presenta un andamento decrescente che denota la costante riduzione
dell’attività cardiaca durante il periodo di guida. Analizzando le HF invece si possono
notare dei valori elevati della potenza delle alte frequenze: nel test 4 sono presenti dei
picchi nel grafico delle HF che possono indicare istanti in cui lo stato di affaticamento
è maggiore; nel test 1 c’è un progressivo aumento e verso la fine del periodo di
guida si raggiungono dei livelli molto alti che possono essere correlati a un alto livello
di stanchezza e affaticamento. In quest’ultimo esempio (test 1) si può notare una
differenza tra la prima e la seconda metà del test che sono state effettuate in due
periodi della giornata differenti (pomeriggio-sera). Nella seconda parte che è stata
effettuata di sera infatti il valore delle HF è maggiore e tende a crescere evidenziando
un costante affaticamento.
Nel test 3 il grafico delle HF non presenta picchi o andamenti significativi che
denotino chiari stati di affaticamento nel guidatore. Questo può essere spiegato probabilmente da un’attività maggiore del cuore: la frequenza cardiaca in questo caso
infatti è mediamente superiore al valore medio degli altri test.
Dai risultati ottenuti sia dalle prove al simulatore che da quelle di guida di una
vettura reale è stato possibile ricavare degli andamenti significativi degli indici analizzati per identificare uno stato anomalo del guidatore. In particolare si è visto che
durante la sessione di guida nella maggioranza dei casi la frequenza cardiaca media
tende ad avere un andamento lineare decrescente indicando una graduale riduzione
dell’attività cardiaca indice di rilassamento e/o di stanchezza. Le componenti spettrali ad alta frequenza della HRV presentano in certe fasi dei test dei picchi o degli
andamenti di crescita verso la fine delle sessioni di guida che possono essere associate
a particolari attimi di affaticamento nel primo caso e a una graduale aumento della
stanchezza nel secondo.
71
72
Capitolo 5
Conclusioni
In questa tesi è stato descritto il metodo per identificare lo stato fisiologico di un guidatore di un veicolo determinando eventuali sensazioni di stanchezza e affaticamento.
Dal lavoro svolto si deduce come ciò sia effettivamente possibile estraendo dal segnale
ECG informazioni utili a determinare lo stato del guidatore.
Dopo aver acquisito il segnale biomedico in ambiente on-board per mezzo di un
sensore Bluetooth il sistema presentato prevede due fasi distinte:
1. Estrazione delle features: è stato sviluppato un algoritmo per calcolare gli intervalli di interesse (intervallo R-R e intervallo QT) in tempo reale basato sulle
caratteristiche morfologiche delle onde che formano il segnale in esame. L’identificazione dei punti di inizio e di fine intervallo è stata migliorata adottando
delle soglie adattative nelle logiche di decisione e un opportuno filtraggio del
segnale con metodo PCA. Per seguire le variazioni di forma che il segnale ECG
può presentare nel corso della misurazione è stato sviluppato un metodo di
aggiornamento dinamico della PCA e sono stati calcolati degli indici per identificare anomalie nella matrice di osservazione che alterano negativamente il
comportamento del metodo di filtraggio. Questo ha garantito un’ottima efficienza dell’algoritmo di estrazione delle features e ha limitato l’influenza di
rumori e artefatti da movimento presenti in ambiente on-board e dovuti in gran
parte all’attività di guida.
2. Analisi della HRV: è stata calcolata la variazione della frequenza cardiaca su
misurazioni a breve termine per cogliere le oscillazioni nel breve e medio periodo
della frequenza del battito cardiaco in soggetti alla guida di un veicolo reale o
di un simulatore. Da questa analisi sono stati estratti degli indici per valutare
lo stato di affaticamento e di stanchezza del guidatore:
• HF: la componente spettrale ad alta frequenza misurata in valore assoluto
di potenza [ms2 ] che sono associabili al sistema parasimpatico. Un loro aumento è spesso associato a un aumento della rilassatezza e/o a un aumento
73
della stanchezza del soggetto. Sono stati riscontrati, soprattutto nelle parti
finali dei test effettuati, dei picchi e degli andamenti crescenti delle HF nel
tempo che evidenziano uno stato di affaticamento del guidatore anomalo
o crescente.
• Mean HR: la frequenza cardiaca media misurata in [beat/min] che rappreseneta un indice dell’attività del cuore: un aumento della stanchezza e
della rilassatezza del soggetto comporta una diminuzione della frequenza
cardiaca media. Nei test effettuati si può notare che nella maggioranza dei
casi questo indice decresce in modo lineare con il passare del tempo sottolineando una progressiva diminuzione dell’attività cardiaca e un relativo
aumento dello stato di rilassatezza nel guidatore.
Gli sviluppi futuri consistono nell’implementare l’algoritmo di estrazione delle features per un utilizzo in tempo reale su dispositivi on-board. Il sistema potrà integrare, in tal modo, un algoritmo di identificazione dello stato fisiologico del guidatore
più complesso che prenda in considerazione anche i segnali provenienti dal veicolo e
dall’ambiente.
74
Bibliografia
[1] http://kubios.uef.fi/. Kubios HRV - Heart Rate Variability Analysis Software.
[2] V.X. Afonso, W.J. Tompkins, T.Q. Nguyen, and Shen Luo. Ecg beat
detection using filter banks. Biomedical Engineering, IEEE Transactions on,
46(2):192 –202, feb. 1999.
[3] M. Bahoura, M. Hassani, and M. Hubin. Dsp implementation of wavelet transform for real time ecg wave forms detection and heart rate analysis.
Computer Methods and Programs in Biomedicine, 52(1):35 – 44, 1997.
[4] Jacopo Biancat and Alessandro Ragnoni. Metabo: Controlling chronic
diseases related to metabolic disorders. Company confidential, S.A.T.E., 2007.
[5] Err Carbone, Frr Cicirata, and Grr Aicardi. Fisiologia: dalle molecole
ai sistemi integrati. Edises, 2009.
[6] Gari D. Clifford, Francisco Azuaje, and Patrick McSharry. Advanced Methods And Tools for ECG Data Analysis. Artech House, Inc., Norwood,
MA, USA, 2006.
[7] J.F. Coughlin, B. Reimer, and B. Mehler. Monitoring, managing, and
motivating driver safety and well-being. Pervasive Computing, IEEE, 10(3):14–
21, 2011.
[8] G.M. Friesen, T.C. Jannett, M.A. Jadallah, S.L. Yates, S.R. Quint,
and H.T. Nagle. A comparison of the noise sensitivity of nine qrs detection
algorithms. Biomedical Engineering, IEEE Transactions on, 37(1):85 –98, jan.
1990.
[9] H. Golub Gene and F. Van Loan Charles. Matrix computations. Johns
Hopkins University Press, Baltimore, 1983.
[10] H.Chaouch, K.Ouni, and L.Nabli. Ecg signal monitoring using linear pca.
International Journal of Computer Applications, 33(8):48–54, November 2011.
75
[11] B.-U. Kohler, C. Hennig, and R. Orglmeister. The principles of software
qrs detection. Engineering in Medicine and Biology Magazine, IEEE, 21(1):42
–57, jan.-feb. 2002.
[12] J.A. Lipponen, M.P. Tarvainen, T. Laitinen, T. Lyyra-Laitinen, and
P.A. Karjalainen. A principal component regression approach for estimation of ventricular repolarization characteristics. Biomedical Engineering, IEEE
Transactions on, 57(5):1062 –1069, may 2010.
[13] Marek Malik. Heart rate variability: standards of measurement, physiological
interpretation and clinical use. task force of the european society of cardiology
and the north american society of pacing and electrophysiology. Circulation,
93(5):1043–1065, 1996.
[14] NB Mclaughlin, RW Campbell, and A Murray. Comparison of automatic
qt measurement techniques in the normal 12 lead electrocardiogram. Br. Heart
J., 74(1):84–89, 1995.
[15] M. Merri, D.C. Farden, J.G. Mottley, and Edward L. Titlebaum.
Sampling frequency of the electrocardiogram for spectral analysis of the heart
rate variability. Biomedical Engineering, IEEE Transactions on, 37(1):99–106,
1990.
[16] J.S. Sahambi, S.N. Tandon, and R.K.P. Bhatt. Using wavelet transforms
for ecg characterization. an on-line digital signal processing system. Engineering
in Medicine and Biology Magazine, IEEE, 16(1):77 –83, jan.-feb. 1997.
[17] R. Schneider, A. Bauer, P. Barthel, and G. Schmidt. Challenge 2006:
Qt interval measurement. In Computers in Cardiology, 2006, pages 325 –328,
sept. 2006.
[18] Yin Shen, X. Ding Steven, Naik Amol, Deng Pengcheng, and Haghani Adel. On pca-based fault diagnosis techniques. Control and FaultTolerant Systems (SysTol) Conference on Control and Fault Tolerant Systems,
pages 179–184, October 2010.
[19] Laitinen T, Lyyra-Laitinen T, Huopio H, Vauhkonen I, Halonen
T, Hartikainen J, Niskanen L, and Laakso M. Electrocardiographic
alterations during hyperinsulinemic hypoglycemia in healthy subjects. Ann
Noninvasive Electrocardiol, 13(2):97–105, 04 2008.
[20] M. Tasaki, M. Sakai, M. Watanabe, Hui Wang, and Daming Wei. Evaluation of drowsiness during driving using electrocardiogram - a driving simulation study. In Computer and Information Technology (CIT), 2010 IEEE 10th
International Conference on, pages 1480–1485, 2010.
76
[21] Nitish V. Thakor, John G. Webster, and Willis J. Tompkins. Estimation of qrs complex power spectra for design of a qrs filter. Biomedical
Engineering, IEEE Transactions on, BME-31(11):702–706, nov. 1984.
[22] L. Trefethen and D. Bau. Numerical Linear Algebra. SIAM, Philadelphia,
iii edition, 1997.
[23] C.Y. Wu and H.W. Chiu. A semi-automatic qt interval measurement based
on digital filters. In Computers in Cardiology, 2006, pages 317 –320, sept. 2006.
[24] Q. Xue, Y.H. Hu, and W.J. Tompkins. Neural-network-based adaptive matched filtering for qrs detection. Biomedical Engineering, IEEE Transactions on,
39(4):317 –329, april 1992.
[25] Q Zhang, AI Manriquez, C Médigue, Y Papelier, and M Sorine. An
algorithm for robust and efficient location of t-wave ends in electrocardiograms.
IEEE Trans Biomed Eng, 53(12 Pt 1):2544–2552, 2006.
77
78
Appendice A
Sistema cardiocircolatorio
A.1
Il cuore
Il cuore, centro morfo-funzionale della circolazione sanguigna, è un organo cavo di
forma conica, con asse maggiore diretto in basso, in avanti e a sinistra costituito
da tessuto connettivale che forma lo scheletro e da tessuto muscolare striato detto
miocardio che rappresenta l’unità funzionale del cuore stesso [5]. Dal punto di vista
anatomico risulta costituito da due metà non comunicanti tra loro che rappresentano
due pompe muscolari distinte, in serie tra loro: il cuore destro e il cuore sinistro.
Il cuore, rappresentato in figura A.1, presenta infatti due cavità a destra, atrio e
ventricolo destro, e due a sinistra, atrio e ventricolo sinistro. Gli atrii sono separati
tra loro dal setto interatriale ed i ventricoli dal setto interventricolare ma atrio e
ventricolo comunicano tra loro tramite gli osti (o orifici atrio-ventricolari), contenenti
le valvole atrio-ventricolari che impediscono il reflusso di sangue dai ventricoli agli
atri durante la sistole ventricolare.
L’atrio destro riceve il sangue venoso dalle vene cave, superiore ed inferiore, e dal
seno venoso coronario; dall’atrio destro il sangue passa nel ventricolo destro attraverso
la valvola tricuspide e da qui passa all’arteria polmonare attraverso l’ostio arterioso
polmonare contenente le valvole semilunari che impediscono il reflusso del sangue.
Il ventricolo destro è il generatore della pressione del sangue per la circolazione
polmonare o piccola circolazione: la sua contrazione (sistole) spinge infatti il sangue
nelle arterie polmonari e da qui nella circolazione polmonare dove a livello degli alveoli
il sangue venoso diventa arterioso assumendo O2 ed immettendovi CO2 .
L’atrio sinistro riceve il sangue arterioso dalle quattro vene polmonari e contraendosi lo convoglia nel ventricolo sinistro attraverso la valvola tricuspide o mitrale; da
qui passa nell’arteria aorta attraverso l’ostio arterioso aortico che come l’ostio polmonare contiene le valvole semilunari che garantiscono un flusso unidirezionale del
sangue.
Il ventricolo sinistro è il generatore della pressione del sangue per la circolazione
79
Figura A.1: Anatomia del cuore [5].
sistemica o grande circolazione e la sua contrazione spinge il sangue nell’aorta: i diversi
tratti di questa grande arteria emettono rami che si distribuiscono in tutti i tessuti
del corpo (compreso il cuore stesso mediante le arterie coronariche), risolvendosi in
reti capillari. Infatti dall’aorta il sangue passa nelle medie e piccole arterie, quindi
nelle arterie precapillari, infine nei capillari, attraverso la parete dei quali hanno luogo
gli scambi respiratori e nutrizionali con i tessuti. Gli scambi respiratori consistono
nella cessione di O2 ai tessuti e nell’assunzione di CO2 prodotta dal metabolismo
dei tessuti. Per mezzo di questi eventi il sangue diventa venoso e passa nelle venule
postcapillari, quindi in vene di calibro sempre maggiore e infine nelle due vene cave
che lo scaricano nell’atrio destro.
A.2
Tessuti funzionali del cuore
Il miocardio è formato da fibre muscolari striate (cardiomiociti) simili a quelle del
muscolo scheletrico ma con significative differenze: contengono i nuclei in posizione
centrale, sono più piccole e non sono isolate tra loro ma sono connesse l’una all’altra.
L’unione di queste fibre cardiache è sia meccanica che elettrica: l’unione meccanica
è determinata da numerose estroflessioni che si incastrano in invaginazioni speculari
nell’altra fibra e da giunzioni strette (desmosomi); l’unione elettrica è dovuta a giunzioni comunicanti (gap junctions) formate da connessione che permettono il passaggio
80
di ioni e di piccole molecole tra le due cellule. La bassa resistenza di tali gap junctions
costituisce una sinapsi elettrica che permette la conduzione del potenziale d’azione da
una fibra muscolare all’altra: pertanto le fibre miocardiche formano una rete o sincizio funzionale e, quando una cellula genera un potenziale d’azione, questo si propaga
velocemente a tutto il miocardio. In particolare, il cuore come pompa è costituito da
due sincizi: uno atriale (che comprende i due atri) e uno ventricolare (che comprende
i due ventricoli) e la comunicazione elettrica tra i due sincizi avviene tramite il fascio atrio-ventricolare (AV). Le caratteristiche morfologiche e le proprietà fisiologiche
non sono però uguali in tutto il tessuto cardiaco, possiamo infatti distinguere tre tipi
principali di tessuto cardiaco:
• Il tessuto autoritmico costituito da cellule piccole, aventi bassa velocità di conduzione del potenziale d’azione ma dotate di notevole automatismo, ossia capaci
di auto-eccitarsi;
• Il tessuto di conduzione con cellule grandi aventi alta velocità di conduzione ma
che generano scarsa forza contrattile e hanno minore capacità di autoeccitarsi;
• Il miocardio di lavoro con ridottissima capacità di automatismo, diametro e
velocità di conduzione intermedie ma grandi capacità contrattili.
Il battito cardiaco è quindi dovuto al potenziale d’azione auto-generato dalle fibre
dotate di automatismo dette pacemaker e condotto dal tessuto di conduzione al
miocardio di lavoro che è infine il generatore della forza contrattile.
A.3
Vie di conduzione del potenziale d’azione
Il pacemaker primario del cuore è rappresentato dal nodo seno-atriale (SA) da cui si
genera il potenziale d’azione: esso infatti è caratterizzato da un automatismo particolarmente sviluppato. In condizioni fisiologiche genera potenziali d’azione (PA) con
frequenza di 70 − 80 [P A/min], superiore a quella del nodo AV, e la maggior frequenza del nodo SA fa si che esso sia l’unico centro di autoritmicità attivo del cuore.
L’automatismo è dovuto al fatto che le cellule pacemaker sono caratterizzate da un
processo di depolarizzazione spontanea grazie alla presenza di diversi meccanismi e
canali ionici che si attivano durante la fase di ripolarizzazione: normalmente si instaurano le cosiddette correnti diastoliche che prevedono l’ingresso di Na+ /Ca2+ e
l’uscita di K + che bilancia le cariche positive in entrata per mantenere il potenziale
di riposo. Ma nelle cellule pacemaker si assiste ad un allontanamento progressivo da
quel potenziale perché l’ingresso di Na+ non è controbilanciato completamente dalla
corrente di K + e quindi si ha una lenta ridepolarizzazione.
Il potenziale d’azione generato dal nodo SA si propaga all’interno del tessuto
nodale con bassa velocità, quindi attiva il tessuto muscolare atriale prima dell’atrio
81
destro, poi del sinistro ma attiva anche vie preferenziali del tessuto di conduzione.
Tali vie sono dotate di una maggiore velocità di conduzione e permettono quindi
una più rapida attivazione degli atrii. Il potenziale d’azione attiva successivamente il
sistema di conduzione atrio-ventricolare, dopo un tempo pari a 40 [ms] dall’innesco
del potenziale stesso a livello del nodo SA. Il sistema di conduzione AV è rappresentato
dalle seguenti strutture:
• Nodo AV formato da fibre sottili con bassa velocità di conduzione;
• Fascio di His (tronco comune del fascio AV) con diametro e velocità maggiore;
• Branche destra e sinistra del fascio di His;
• I fascicoli nei quali le due branche si suddividono;
• Fibre di Purkinje che rappresentano l’insieme di ramificazioni terminali delle
branche del fascio AV che si distribuiscono al miocardio ventricolare e ne determinano l’attivazione. Questa via di conduzione ad alta velocità permette una rapida propagazione del potenziale d’azione nei ventricoli e durante la conduzione
attiva le fibre del miocardio di lavoro che determinano la contrazione.
A.4
Controllo nervoso del cuore
Il cuore è innervato dal sistema nervoso ortosimpatico e parasimpatico e tali innervazioni, deputate al controllo dell’attività cardiaca, non sono ugualmente distribuite.
Il sistema nervoso ortosimpatico innerva sia gli atrii che i ventricoli e la sua attività
determina effetti positivi su tutte le funzioni del cuore, incrementando:
• la frequenza cardiaca (effetto cronotropo positivo)
• la velocità di conduzione del PA (effetto dromotropo positivo)
• l’eccitabilità (effetto batmotropo positivo)
• la gittata sistolica (effetto inotropo positivo).
Il sistema ortosimpatico si basa sul neurotrasmettitore noradrenalina che, liberata
dalle sinapsi nervose, si lega a siti recettivi adrenergici di tipo β1 : la stimolazione
di questi recettori metabotropici determina attivazione dell’enzima adenilato ciclasi
che aumenta i livelli mioplasmatici di cAMP , di conseguenza si attivano le proteinechinasi A che favoriscono la fosforilazione di varie proteine tra cui i canali del Ca2+ di
tipo L. Questo comporta una maggiore entrata di ioni Ca2+ che potenzia la depolarizzazione della fibra miocardica e aumenta la fase di plateau del potenziale d’azione
determinando gli effetti positivi sopra elencati. Il sistema nervoso parasimpatico
82
e in particolare il nervo vago innerva prevalentemente i nodi seno-atriale e atrioventricolare e gli atrii, pertanto la sua azione sui ventricoli (e quindi sulla gittata
sistolica) è molto scarsa mentre è determinante nel controllo della frequenza cardiaca.
Il vago ha azioni opposte a quelle dell’ortosimpatico in quanto riduce le funzioni
cardiache determinando effetti dromotropo, cronotropo, batmotropo e inotropo negativi. I terminali parasimpatici rilasciano il neurotrasmettitore ACh (acetilcolina)
che interagisce a livello cardiaco con i recettori muscarinici metabotropici M2 la cui
attivazione determina apertura dei canali del K + quindi lo ione esce dai cardiomiociti e questi si iperpolarizzano: il risultato è che il potenziale pacemaker inizia da
un potenziale di membrana più negativo e raggiunge il potenziale di soglia in un
tempo maggiore inducendo una minor frequenza del battito cardiaco (effetto cronotropo negativo). Inoltre l’iperpolarizzazione rende le cellule meno eccitabili (effetto
batmotropo negativo), riduce la durata del PA, per cui meno Ca2+ entra (effetto inotropo negativo) e riduce la velocità di conduzione nel nodo atrio-ventricolare (effetto
dromotropo negativo). In condizioni di riposo la frequenza di scarica tonica dei PA
dell’ortosimpatico è relativamente bassa, mentre quella vagale è più alta: si dice che
il cuore è basalmente più controllato dal sistema parasimpatico.
83
Appendice B
SVD : teoria e applicazione
B.1
Decomposizione ai Valori Singolari (SVD)
Teorema 1 (DecomposizioneaiValoriSingolari(SVD))[9]: Se A è una matrice
reale m × n, allore esistono le matrici ortogonali
U = [u1 , . . . , um ] ∈ Rm×m
e
V = [v1 , . . . , vn ] ∈ Rn×n
tali che
U T AV = diag(σ1 , . . . , σp ) ∈ Rm×n
(B.1)
con p = min{m, n} e dove σ1 ≥ σ2 ≥ . . . ≥ σp ≥ 0.
Dimostrazione : siano x ∈ Rn e y ∈ Rm due vettori a norma unitaria che
soddisfano l’equazione Ax = σy with σ =k A k2 . Esistono una matrice V2 ∈ Rn×(n−1)
e una matrice U2 ∈ Rm×(m−1) tali che
V = [x V2 ] ∈ Rn×n
e che
U = [y U2 ] ∈ Rm×m
siano matrici ortogonali. Non è difficile provare che U T AV ha la seguente struttura:
T
U AV =
Mentre
σ wT
0 B
≡ A1 .
σ
) k22 ≥ (σ 2 + w T w)2
k A1 (
w
84
si ha che k A1 k22 ≥ (σ 2 + w T w). Ma σ 2 =k A k22 =k A1 k22 , e quindi si deve avere
che w = 0. I σi sono i valori singolari di A e i vettori ui e vi sono rispettivamente gli i-esimi
vettori singolari sinistri e gli i-esimi vettori singolari destri.
Si verifica facilmente comparando le colonne nelle equzioni AV = UΣ e AT U =
V ΣT che
Avi = σi ui
i = 1, . . . , min{m, n}.
AT ui = σi vi
I valori singolari di una matrice A sono precisamente le lunghezze dei semi-assi di
un iperelissoide E definito come
E = { Ax :k x k2 = 1 }.
Esempio :
A=
0.96 1.72
2.28 0.96
= UΣV
T
=
0.6 −0.8
0.8 0.6
3 0
0 1
0.8 0.6
0.6 −0.8
T
.
Teorema 2 (Esistenza e Unicità) : Ogni matrice A ∈ Rm×n ha una decomposizione ai valori singolari (B.1). I valori singolari {σi } sono determinati in maniera
univoca e se A è quadrata e i valori singolari sono distinti allora i vettori singolari
destri {ui } e sinistri {vi } sono unici.
La SVD rivela un gran numero di proprietà sulla struttura della matrice A.
Se si definisce r come l’indice tale che
σ1 ≥ . . . ≥ σr > σr+1 = . . . = σp = 0
allora si ha che
rank(A) =
r
null(A) = span{vr+1 , . . . , vn }
range(A) = span{u1 , . . . , ur },
e si ha l’espansione della SVD come
A=
r
X
σi ui viT .
i=1
Le norme della matrice A hanno uno stretto rapporto con la SVD. Si ottiene infatti
che
k A k2F = σ12 + · · · + σp2 p = min{m, n}
85
k A k2 = σ1
min
x6=0
B.2
k Ax k2
= σn
k x k2
(m ≥ n).
SVD Ridotta
Se A = UΣV T ∈ Rm×n è la SVD di A e m ≥ n, allora
A = U1 Σ1 V T
dove
U1 = U(:, 1 : n) = [u1 , . . . , um ] ∈ Rm×n
e
Σ1 = Σ(1 : n, 1 : n) = diag(σ1 , . . . , σn ) ∈ Rn×n
Questa versione della SVD è molto usata e viene definita “SVD ridotta” di A.
B.3
Relazione tra SVD e EVD
Ci sono delle differenze tra la SVD e la decomposizione agli autovettori (EVD). Una
di queste è che la SVD usa due differenti basi (i set di vettori singolari destri e sinistri
che formano U e V ), mentre la EVD usa una sola base, gli autovettori. Una seconda
differenza sta nel fatto che la SVD usa basi ortogonali mentre la EVD usa una base
che non è generalmente ortogonale. Una terza e fondamentale differenza è che non
tutte le matrici (solo quelle quadrate) hanno una EVD mentre tutte le matrici (anche
quelle rettangolari) hanno una SVD, come riportato nel Teorema 2.
Nel caso in cui la matrice A sia rettangolare a valori reali, il prodotto AT A è
una matrice quadrata, simmetrica e definita positiva, e quindi si può calcolare la
EVD. Esiste infatti una relazione stretta tra la SVD della matrice A ∈ Rm×n la
decomposizione agli autovalori della matrice AT A. Infatti, se
U T AV = diag(σ1 , . . . , σn ) ∈ Rn×n
è la SVD della matrice A ∈ Rm×n con (m ≥n), allora la EVD di AT A risulta
V T (AT A)V = diag(σ12 , . . . , σn2 ) ∈ Rn×n .
Data quindi la SVD della matrice A come A = UΣV T e la EVD della matrice
AT A si può trovare una relazione tra autovalori e valori singolari come verificato dal
teorema seguente.
86
Teorema 3 : I valori singolari non nulli di A sono le radici quadrate degli autovalori non nulli di AT A o AAT .
Dimostrazione : Dal calcolo di
AT A = (UΣV T )T (UΣV T ) = V ΣT ΣV T ,
si vede che la matrice AT A è simile alla matrice ΣT Σ e quindi le due matrici condividono gli stessi autovalori. Gli autovalori della matrice diagonale ΣT Σ sono σ12 , . . . , σp2
con n − p autovalori nulli se n > p. Lo stesso vale per gli autovalori della matrice
AT A.
Esiste quindi una relazione di uguaglianza tra i vettori singolari destri (colonne
di V ) e gli autovettori della matrice AT A e i valori singolari sono le radici quadrate
degli autovettori della matrice AT A
σi =
B.4
p
λi .
Stabilità numerica della SVD
Il calcolo della matrice AT A è numericamente instabile e può portare ad un significativo degrado dell’accuratezza del risultato della EVD. Gli autovalori e gli autovettori
possone essere calcolati in modo errato e talvolta possono generare errori di calcolo
e singolarita all’interno dell’algoritmo. Al contrario la SVD opera direttamente sulla matrice originale A determinando gli autovalori e gli autovettori senza calcolare
esplicitamente la matrice AT A.
Questo è un classico esempio della distanza tra teoria e applicazione pratica. Numericamente la formazione della matrice AT A può degradare drammaticamente il
grado di accuratezza del calcolo del EVD. Quando si utilizza la matrice AT A nelle
computazioni sono necessari quindi almeno il doppio delle cifre per avere la stessa
accuratezza che si ha quando si usa la SVD di A [22]. Il numero di condizionameto
di AT A infatti, è il quadrato del numero di condizionamento della matrice A
κ(AT A) = [κ(A)]2 ,
dove κ(A) rappresenta il numero di condizionamento della matriceA. La presenza
del quadrato del numero di condizionamento della matrice A causa una perdita di
accuratezza che è il quadrato rispetto al problema originale.
Con un hardware ad aritmetica fissa è possibile che quando viene formata la
matrice quadrata AT A un piccolo valore decimale nella matrice rettangolare A diventi
il quadrato e il suo valore scenda al di sotto del limite di precisione imposto dal
87
hardware. Questo fatto ha come implicazione la perdita di rango della matrice AT A,
con conseguente perdita di informazioni.
Esempio : Data la matrice

1 1
A =  ε 0 ,
0 ε

la matrice AT A risulta
T
A A=
se il valore di
ε<
1 + ε2
1
1
1 + ε2
√
,
εmachine ,
dove εmachine è la precisione numerica del hardware, si ha una perdita di informazioni
nella formazione della matrice AT A. Se assumiamo che ε = 10−3 e che sono usate sei
cifre decimali per gli elementi di AT A allora, abbiamo una perdita delle informazioni
contenute nelle ultime due righe di A dovuta al fatto che 1 + ε2 = 1 + 10−6 viene
arrotondato a 1.
In maniera più generale, una simile perdita di accuratezza avviene quando si forma
la matrice
T
A1
T
T
= AT1 A1 + ε2 AT2 A2 ,
A A = A1 εA2
εA2
√
con ε < εmachine .
88
Appendice C
Modello Simulink®
Di seguito vengono riportati gli schemi a blocchi dell’algoritmo di estrazione delle
features. L’algoritmo è stato sviluppato in ambiente Simulink® ed è diviso in varie
parti come descritto nel capitolo 3.
Il modello principale viene rappresentato in figura C.1. Esso ha come ingresso i
campioni del segnale ECG mentre in uscita restituisce in tempo reale i valori degli
intervalli di interesse (intervallo QT e intervallo R-R), il loro valore mediato ogni
due secondi e la frequenza cardiaca HR (Heart Rate). Al suo interno è contenuto il
sottoblocco ECG Analysis, descritto in figura C.2, composto da una parte di filtraggio,
una parte di estrazione delle features e da un sottoblocco di conversione per il calcolo
degli intervalli nelle unità di misura desiderate.
Il filtraggio del segnale utilizzando il metodo della PCA viene implementato per
mezzo del blocco PCA_Block (Figura C.4) che è presente all’interno del blocco
PCA_Filter (Figura C.3) e contiene dei sottoblocchi che implementano la formazione della matrice di osservazione, il filtraggio del segnale e la correzione dinamica
dell’algoritmo tramite gli indici calcolati con la PCA.
In figura C.5, viene raffigurato lo schema a blocchi dell’algoritmo di estrazione
delle features vero e proprio. Al suo interno sono presenti infatti i sottoblocchi per
l’identificazione del punto Tof f set , per l’identificazione del punto Qonset e il sottoblocco
per l’identificazione del picco R. Da questi vengono calcolati gli intervalli di interesse,
in particolare l’intervallo QT e l’intervallo R-R.
89
Figura C.1: Modello Simulink® per l’estrazione delle features.
90
Figura C.2: Blocco ECG Analysis.
91
Figura C.3: Blocco PCA_Filter .
92
Figura C.4: Blocco PCA_Block.
93
Figura C.5: Blocco Features_extraction.
94