Indice
3
Introduzione... 6
1 Tecniche di rimozione di artefatti da segnali biomedici... 9
1.1 Metodi statistici ed elaborazione digitale ... 9
1.2 Pre-elaborazione dei segnali... 11
1.3 Fonti di disturbo ... 13
1.4 Struttura di un sistema di acquisizione ... 16
2 Analisi delle componenti indipendenti ... 19
2.1 Motivazioni ... 19
2.2 Definizione ICA ... 22
2.3 Ambiguità del modello ICA ... 23
2.4 Indipendenza statistica ... 24
2.4.1 Definizione e proprietà fondamentali ... 24
2.4.2 Variabili aleatorie incorrelate sono solo parzialmente indipendenti ... 25
2.4.3 Esclusione delle variabili Gaussiane ... 26
2.5 Principi per la stima delle componenti indipendenti ... 27
2.5.1 Non-gaussianetà... 27
2.5.2 Misure di nongaussianità ... 29
2.5.3 Kurtosis... 29
2.5.4 Neg-entropia ... 32
2.5.5 Approssimazione della neg-entropia ... 33
2.5.6 Minimizzazione della Mutua informazione... 35
2.5.6.1 Definizione di mutua informazione ... 35
2.5.6.2 Definizione ICA mediante la mutua informazione... 36
2.6 Massima verosimiglianza ... 36
2.6.1 Definizione verosimiglianza ... 36
2.6.2 Legame tra mutua informazione e verosomiglianza... 38
2.7 Teorema del gradiente discendente... 39
2.8.1 Centramento... 40
2.8.2 Sbiancamento... 41
2.9 Algoritmi basati sul metodo ICA ... 42
2.9.1 FastICA per stima di una componente indipendente alla volta ... 42
2.9.2 Estensione a più componenti indipendenti ... 46
2.10 Algoritmo del gradiente naturale off-line ... 47
Indice
4
3 Simulazioni di artefatti in segnale elettrocardiogramma... 50
3.1 Obiettivi della simulazione ... 50
3.2 Preparazione dei dati per la simulazione... 51
3.3 Accuratezza dell’algoritmo ... 52
3.4 Scelta dell’algoritmo sulla base della minimizzazione dell’errore... 53
3.5 Scelta della finestra temporale e della frequenza di campionamento in base alla minimizzazione dell’errore... 59
3.5.1 Modifica frequenza di campionamento e valutazione media degli errori ... 60
3.5.2 Frequenza di campionamento 500Hz ... 60
3.5.3 Frequenza di campionamento 250Hz ... 62
3.5.4 Frequenza di campionamento 125Hz ... 65
3.6 Risultato delle simulazioni ... 66
4 Ambiente di sviluppo e scelta hardware ... 68
4.1 Perché usare un DSP ... 68
4.2 TMS320C6711... 70
4.2.1 Motivazioni sulla scelta ... 70
4.2.2 Caratteristiche del core del DSP ... 73
4.2.3 Bus dati ... 76
4.2.4 Pipeline C6711... 77
4.3 Piattaforma Hardware ... 81
4.4 Ambiente di sviluppo software ... 82
5 Sviluppo dell’ algoritmo FastICA in linguaggio C... 85
5.1 Struttura globale del progetto ... 85
5.2 Preparazione piattaforma software... 86
5.3 Problematiche relative allo sviluppo dell’algoritmo ... 88
5.3.1 Metodo Jacobi per una matrice simmetrica ... 89
5.3.2 Metodo Gauss-Jordan ... 98
5.4 Realizzazione del sorgente in linguaggio C ... 105
6 Analisi del codice ... 110
6.1 Verifica della esattezza dei calcoli ... 110
6.2 Ottimizzazione del codice ... 112
6.3 Real-Time ... 114
Conclusioni... 116
Indice
5
Ringraziamenti ... 120
Appendice A... 121
Codice C algoritmo FastICA... 121
Appendice B ... 140