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