• Non ci sono risultati.

CAPITOLO 4:

N/A
N/A
Protected

Academic year: 2021

Condividi "CAPITOLO 4:"

Copied!
24
0
0

Testo completo

(1)

CAPITOLO 4:

ACQUISIZIONE ED ELABORAZIONE DEI

SEGNALI CON L’UTILIZZO DI UN COMPUTER E PRESENTAZIONE DEI

RISULTATI OTTENUTI.

4.1:

POSSIBILI METODOLOGIE DI ACQUISIZIONE DEI DATI

4.1.1:

INTRODUZIONE

Il primo problema che dobbiamo affrontare se vogliamo poter elaborare i segnali provenienti dal nostro ricevitore per mezzo di un personal computer è l’acquisizione dei dati.

Esistono diversi metodi per rendere disponibili su un PC segnali analogici provenienti dall’esterno ma per tutti e fondamentale l’utilizzo di una scheda di acquisizione, la quale ha il compito di rendere i segnali esterni, in genere analogici, adatti ad essere letti dal PC.

La scheda di acquisizione svolge le seguenti funzioni:

Adattamento del livello e della forma del segnale analogico: si tratta in genere di effettuare una prima operazione di amplificazione seguita da un confronto con livelli di tensione assegnati; queste operazioni vengono svolte generalmente dall’elettronica esterna di pre-condizionamento del segnale.

Conversione dei segnali analogici che si devono acquisire in un formato digitale adatto: per ogni segnale si usano codifiche con 8 o più bit considerando il fatto che maggiore è il numero di bit maggiore sarà la precisione della conversione del dato analogico.

Scambio di dati con il PC per poter controllare in maniera sequenziale delle varie elaborazioni svolte sul segnale.

4.1.2:

ACQUISIZIONE TRAMITE SCHEDA AUDIO

In commercio esistono svariate schede di acquisizione che si possono utilizzare per l’acquisizione, rivolgendo la nostra attenzione soprattutto alla semplicità d’uso e alla facilità di reperimento abbiamo pensato di utilizzare una scheda già presente sul PC: la scheda audio.

(2)

La funzione della scheda audio di un PC è quella di acquisire tramite il microfono, collegato alla presa “mic” segnali audio provenienti dall’esterno convertendoli in segnali digitali su i quali può essere effettuata l’elaborazione software.

La funzione del microfono è quella di un trasduttore che converte le onde sonore in tensioni elettriche con valore e frequenza determinati dal tipo di suono e dalla sua intensità.

Nel nostro caso la tensione analogica che arrivano all’ingresso della scheda audio sono i segnali provenienti dal nostro ricevitore.

Una volta acquisito il segnale proveniente dal ricevitore si tratta di implementare un programma software che lo elabori, potremmo in questo modo calcolare tutti i parametri associati al segnale, come ad esempio valore di picco oppure la frequenza esatta, che sono utili per il raggiungimento dello scopo finale di questo lavoro di tesi.

Questo programma può essere può essere implementato utilizzando la demo “deqscope” della versione 6.5 di MATLAB

La scheda audio ha però in qualche modo una limitazione, in quanto presenta una sola linea di ingresso, quindi è in grado di acquisire un solo segnale per volta; si può arrivare anche a due se si tratta di una scheda audio con microfono stereo che ha quindi due canali: destro e sinistro.

Nel nostro caso potremo voler vedere i segnali relativi alle 4 coppie di sorgenti utilizzate nel dispositivo in sequenza, per far questo possiamo utilizzare un multiplexer che, essendo collegato al PC, effettui una ulteriore pre-elaborazione per poter selezionare in sequenza uno dei 4 segnali. Così facendo non si è in grado di visualizzare simultaneamente i segnali provenienti dalle sorgenti, inoltre l’acquisizione non può avvenire in tempo reale, in quanto, anche se il multiplexer presenta una elevata velocità nel selezionare le linee di ingresso, la scheda audio impiega un certo tempo finito per l’elaborazione di ogni segnale; in conseguenza di ciò l’andamento dei segnali che vengono visualizzati sullo schermo non ha una stretta correlazione temporale con quello che è il segnale fisico.

La mancata possibilità dell’acquisizione dei dati in tempo reale ci costringerebbe ad una acquisizione dei segnali analogici di interesse, ancora in forma analogica, ad una successiva loro memorizzazione su di un qualche supporto, ed infine al loro invio uno alla volta alla scheda audio per l’elaborazione digitale.

Questa procedura, pur essendo corretta e praticabile, presenta delle complicazioni anche a livello di precisione della misura.

(3)

4.1.3:

ACQUISIZIONE TRAMITE LA SCHEDA PARALLELA DEL PC

Per l’acquisizione dei segnali analogici è possibile utilizzare il modulo mostrato nella figura 4.1 e la comune porta parallela del PC:

Fig 4.1- Schema elettrico del modulo di acquisizione dati

Questo modulo di acquisizione dati, semplice ed economico, è controllato dal PC attraverso la porta parallela ed è costituito da:

• Un convertitore analogico digitale ad 8 bits ADC0831 • Un connettore maschio con vaschetta tipo DB25 a 25 poli • Un connettore BNC da parallelo

Il convertitore analogico digitale presenta 256 livelli di quantizzazione un’uscita ed è direttamente alimentato dalla porta parallela del PC.

In ingresso al convertitore abbiamo la tensione proveniente dal circuito di elaborazione del segnale, questa tensione è adattata al circuito tramite il trimmer R che ne preleva una porzione in modo da fornire in ingresso al convertitore una tensione massima di 5V, quando al connettore BNC di ingresso si presenta la massima tensione analogica che dobbiamo acquisire.

(4)

A questo punto il segnale è convertito in digitale e reso disponibile sull’uscita seriale; bisogna sottolineare che il PC controlla tramite i pin della scheda parallela e il software di acquisizione il funzionamento del convertitore.

Il software comanda le varie operazioni del convertitore, fornendogli anche l’alimentazione, attraverso i pin D0, D1, D2, D3, mentre i restanti due pin BUSY e GND rappresentano

rispettivamente l’uscita seriale dei dati e la massa.

Possiamo osservare che, come già accaduto nel caso dell’utilizzo della scheda audio, anche il modulo di acquisizione considerato nella figura 4.1 è in grado di acquisire un solo segnale proveniente dall’esterno e non quattro contemporaneamente come potrebbe essere richiesto.

Alla luce di quanto detto sopra, anche utilizzando il modulo presentato dovremo aggiungere all’elettronica di pre-elaborazione un multiplexer per la selezione del segnale da visualizzare.

Rimane comunque anche utilizzando questa soluzione il problema dell’acquisizione in tempo reale dei segnali provenienti dalle diverse sorgenti.

Un analisi approfondita del modulo di acquisizione descritto richiederebbe anche la descrizione del software usato per il controllo delle varie operazioni: questa non viene però riportata perché la soluzione definitiva scelta per l’acquisizione è stata diversa.

4.1.4:

ACQUISIZIONE TRAMITE LA PORTA SERIALE

L’acquisizione dei segnali analogici può essere effettuata anche utilizzando la porta seriale, il vantaggio rispetto all’impiego della porta parallela, che abbiamo visto sopra, consiste nel fatto che la porta seriale può essere gestita tramite il programma LABWIEW, il quale permette un controllo piuttosto semplice sia dell’acquisizione che dell’elaborazione dei segnali.

Il software LABWIEW inoltre presenta un interfaccia grafica che permette un facile colloquio con l’utente e un controllo immediato sulle varie operazioni eseguite.

Tutti i metodi descritti precedentemente sono validi nel caso dell’acquisizione di un segnale proveniente da un singolo sensore, ma non permettano di acquisire in tempo reale più segnali contemporaneamente.

(5)

allora abbiamo rivolto la nostra attenzione verso schede di acquisizione più complete, che presentano più canali analogici i quali possono essere gestiti contemporaneamente.

La tipologia di schede che, soddisfano questi requisiti e allo stesso tempo presentano anche buone caratteristiche di versatilità semplicità ed economicità sono quelle multifunzione; tra le molte schede di questo tipo presenti sul mercato abbiamo scelto la PCI-6024E.

Le potenzialità di questa scheda sono elevate, ma qui descriveremo brevemente le sue caratteristiche principali in relazione all’uso che ne abbiamo fatto.

Nella figura 4.2 è rappresentato il diagramma a blocchi della scheda PCI-6024E:

Fig 4.2- Schema a blocchi della scheda PCI-6024E

Essa presenta i seguenti ingressi analogici:

• 16 canali single-ended • 8 canali differenziali

• ADC per approssimazioni successive • 12 bits di risoluzione

• larghezza di banda 500KHz

(6)

• impedenza di ingresso 100GΩ in parallelo con 100pF • protezione da sovravoltaggio ± 40V (on) ± 25V (off) • corrente di bias in ingresso ± 200 pA

• corrente di offset in ingresso ± 100 pA

• range di ingresso (bipolare) ± 50 mV ÷ ± 10V

• controllore DMA per l’accesso diretto alla memoria del PC, meccanismi di Interruzione e Programmed I/O

• buffer FIFO da 512S

(7)

Fig 4.3- Connettore e relativi pin di I/O

Il connettore di interfaccia della scheda PCI-6024E è un connettore ad alta densità del tipo SCSI a 68 pins; poiché per la nostra applicazione non è richiesto l’utilizzo di tutti i pins della scheda ma solo di quelli relativi all’acquisizione dei segnali, abbiamo utilizzato come connettore un normale cavetto schermato a quattro fili che abbiamo connesso direttamente alla scheda tramite saldature di precisione.

(8)

ACHO = sensore1 Æ pin numero 68 ACH1 = sensore 2 Æ pin numero 33 ACH2 = sensore 3 Æ pin numero 65 ACH3 = sensore 4 Æ pin numero 30

AIGND = riferimento di massa Æ pin numero 67

La scheda PCI-6024E presenta la possibilità di configurare la sezione di ingresso via software nei tre modi seguenti:

• Differential (DIFF)

Un canale configurato in modo differenziale utilizza due ingressi analogici; uno viene connesso all’ingresso non invertente dell’amplificatore con guadagno programmabile interno alla scheda, rappresentato dal blocco PGIA, mentre l’altro ingresso e connesso all’ingresso invertente.

• Referenced Single-Ended (RSE)

In questa modalità di configurazione il canale utilizza una sola linea di ingresso collegata al positivo del PGIA, mentre il negativo è internamente collegato alla linea AIGND alla quale è collegato il riferimento di massa dei segnali di ingresso.

• Non Referenced Single-Ended (NRSE)

Un canale configurato in modo NRSE utilizza una sola linea di ingresso collegata al positivo dell’amplificatore a guadagno variabile, mentre il negativo viene collegato internamente alla linea AISENSE.

Nel nostro caso tutti i 4 canali di ingresso sono stati configurati nel modo RSE e il riferimento comune della massa è stato collegato ad una delle linee AIGND cortocircuitate tra loro internamente.

(9)

Fig 4.4- Configurazione di un canale di ingresso in modalità RSE

Per quanto riguarda l’intervallo di variazione della tensione che può presentarsi in ingresso dobbiamo precisare che questa varia con il guadagno impostato per l’amplificatore PGIA come mostrato nella tabella seguente:

Fig 4.5- Intervallo di variazione della tensione di ingresso in funzione del guadagno del PGIA

Infine abbiamo settato il nome dei 4 canali di ingresso per riconoscerli più facilmente: ACH0 Æ sensore1

ACH1 Æ sensore2 ACH2 Æ sensore3 ACH3 Æ sensore4

(10)

4.3:

SOFTWARE UTILIZZATO: IL PROGRAMMA LABWIEW

In questo paragrafo descriveremo il software utilizzato per la gestione della scheda di acquisizione PCI-6024E descritta precedentemente.

Il software LABWIEW (Laboratory Virtual Instrument Engineering Workbench) è un ambiente di programmazione mirato per applicazioni riguardanti la creazione e la gestione di strumenti elettronici.

Elaborato dalla National Instruments nel 1987, esso utilizza un linguaggio grafico, detto G, che permette al programmatore di sviluppare programmi sotto forma di grafici e non di sequenza di codici come avviene in altri linguaggi di programmazione quali ad esempio il Basic o il C.

Il programma LABWIEW traduce in linguaggio C le istruzioni definite dall’utente durante la stesura del codice, quindi questo software opera per prima cosa un’operazione di compilazione durante la quale vengono creati i vari file oggetto ed una successiva fase di collegamento che crea il file eseguibile unendo i vari oggetti creati nella precedente compilazione; un linguaggio che agisce in questo modo è il FORTRAN.

Le operazioni che abbiamo descritto avvengono, per quanto concerne la percezione dell’utente, in maniera del tutto trasparente; questa caratteristica è molto importante in quanto permette di operare come con un sistema interpretato, in cui si hanno sia facilità nell’operazione di debug del programma sia la possibilità immediata di intervenire per la correzione del codice, inoltre si ha un vantaggio significativo nella velocità di esecuzione del programma, vantaggio che può essere fornito da un linguaggio compilato.

Un programma scritto in LABVIEW non richiede la stesura di una serie di istruzioni utilizzando un editor come si è soliti fare se si utilizza un linguaggio di programmazione tradizionale.

L’interfaccia per la stesura del codice è un’interfaccia grafica che utilizza due piani di lavoro distinti:

• FRONT PANEL (pannello frontale): Contiene i controlli grafici dell’applicazione e rappresenta l’interfaccia grafica di comunicazione con l’utente; ad esempio, se l’applicativo svolge la funzione di un oscilloscopio, il pannello frontale avrà un aspetto simile al pannello di comando di un oscilloscopio reale.

(11)

specifiche fornite dal software nella functions-palette: tra le funzioni riportate abbiamo: il FOR, lo WHILE, altre funzioni più complesse, funzioni aritmetiche e funzioni logiche.

Fig 4.6 - Front Panel del programma realizzato: è visibile la pulsazione raccolta dal sensore

(12)

I programmi scritti in ambiente LABWIEW si chiamano solitamente VI che è l’acronimo di Virtual Instruments proprio perché il loro aspetto ricorda quello degli strumenti reali; un VI consente l’interazione tra calcolatore e strumentazione fornendo un opportuno pannello frontale grafico per il dialogo con il VI stesso.

I vantaggi di una simile implementazione sono:

• Diretta implementazione di più strumenti attraverso l’utilizzo di mouse e tastiera • Pannello frontale strettamente collegato e dipendente dal programma

• Possibilità di coordinare le azioni di più strumenti e grande potenza nell’elaborazione dei dati.

Il programma si costruisce attraverso l’implementazione di un diagramma grafico, il quale rappresenta il codice sorgente che può essere un programma principale (VI) oppure un sottoprogramma o subroutine (sub-VI), in questo caso la sub-VI può essere utilizzata anche all’interno di un altro programma oppure può essere eseguita singolarmente.

Sia i programmi principali che i sottoprogrammi utilizzano per la trasmissione dei dati connettori grafici grazie a questa caratteristica un programma complesso può essere visto come un insieme di moduli più semplici collegati tra loro; il poter frammentare algoritmi complessi garantisce una maggiore controllabilità del lavoro svolto ed una maggiore facilità di intervento qualora si debbano effettuare delle modifiche al codice.

Quando si sono completati sia il pannello frontale che il diagramma a blocchi si ha a disposizione un file applicativo che è memorizzato con l’estensione ".vi".

4.3.1:

BREVE DESCRIZIONE DELLE OPERAZIONI PRINCIPALI PER LA

CREAZIONE DI UN VIRTUAL INSTRUMENTS

Per inserire i dati in un VI si utilizzano i “comandi “, oggetti posti sul pannello frontale, mentre le uscite vengono visualizzate con gli “indicatori”: questi oggetti corrispondono alle variabili di ingresso e di uscita dei linguaggi tradizionali.

Quando un utente crea un nuovo oggetto sul pannello frontale, il programma LABWIEW inserisce i terminali corrispondenti sul diagramma a blocchi permettendo quindi all’utente di connetterli tra loro.

(13)

oggetti, la Tools Palette ovvero la tavolozza degli attrezzi disponibile al programmatore sia nel pannello frontale che nel diagramma a blocchi, e contenente gli strumenti di uso immediato (selezioni, spostamenti, colore, testo, …).

Il programmatore ha a disposizione un’altra finestra, disponibile solo nel pannello frontale, questa finestra va sotto il nome di Controls Palette la quale contiene i comandi, gli indicatori e gli oggetti che devono essere posti sull’interfaccia utente.

Le funzioni disponibili per la creazione del programma sono contenute nella Functions Palette accessibile soltanto dal diagramma a blocchi; nella figura 4.8 sono mostrate rispettivamente Tools, Controls e Functions Palette:

Fig 4.8- Tools , Controls e Functions Palette

Oltre al LABVIEW è stato utilizzato il software che viene fornito in dotazione alle schede di acquisizione della National Instruments e che contiene tutte le funzioni di programmazione per sfruttare al meglio le potenzialità di LABVIEW: il NI-DAQ driver.

Esso è in pratica una grossa libreria che il programmatore può richiamare durante la realizzazione di un applicativo per gestire le varie operazioni: conversione A/D per gli ingressi analogici, acquisizioni dati ad alta velocità, conversione D/A per le uscite analogiche, generazioni di segnali, input ed output digitali, operazioni per contatori e timer, calibrazione delle schede, ecc…

Il NI-DAQ si colloca tra il front panel e le schede fisiche inserite nel Pc o collegate ad esso; è quindi un’interfaccia che gestisce gli interrupts, i DMA, gli address delle periferiche. È disponibile,

(14)

infatti, in diverse versioni a seconda della piattaforma in uso poiché ognuna ha una sua gestione delle periferiche diversa.

4.4:

IL PROGRAMMA MATLAB

Diamo anche una breve descrizione del programma MATLAB che abbiamo utilizzato congiuntamente al LABWIEW per l’implementazione software.

Il programma MATLAB si è imposto negli ultimi anni in ambito ingegneristico mondiale come strumento per la simulazione e l’analisi dei sistemi lineari e non lineari e, più in generale, come versatile strumento per l’analisi numerica.

Il nome MATLAB deriva da MATrix LABoratory, il che suggerisce due considerazioni: da una parte troveremo naturale che il suo elemento base sia la matrice, e ciò lo indirizza verso tutte le attività che abbiano come substrato matematico l’algebra lineare; dall’altra il termine “Laboratory” porta in sé quell’accezione di “work in progress” che ne privilegia l’uso in ambito didattico e di ricerca.

L’ambiente MATLAB si è sviluppato a partire dal LINPACK e dal EISPACK che rappresentano insieme la punta del progresso software per il calcolo delle matrici.

MATLAB è un linguaggio ad alto rendimento per la computazione tecnica; esso integra il calcolo, la visualizzazione e la programmazione in un ambiente di facile impiego in cui i problemi e le soluzioni sono espressi in notazione matematica familiare.

La struttura del programma è la seguente:

• Matematica e calcolo • Sviluppo di procedura

• Modellistica, simulazione e prototyping • Analisi di dati esplorazione e visualizzazione • Disegno industriale e scientifico

• Sviluppo di applicazione, compreso la costruzione grafica dell’interfaccia utente

Come abbiamo già accennato sopra, MATLAB è un sistema interattivo in cui l’elemento di base è un array; ciò permette la risoluzione di molti problemi di calcolo tecnici, in particolare quelli con le

(15)

MATLAB si è evoluto durante gli anni grazie al contributo di molti utenti e ad oggi negli ambienti universitari e l’attrezzo didattico standard per corsi introduttivi ed avanzati nella matematica, nell’ingegneria e nella scienza.

L’ambiente MATLAB è caratterizzato dai cosiddetti toolboxes; questi ultimi sono costituiti da collezioni complete di funzioni MATLAB le quali estendono l’ambiente per risolvere particolari categorie di problemi.

Gli ambienti in cui i toolboxes sono disponibili sono i seguenti:

• Elaborazione dei segnali • Sistemi di controllo • Reti neurali

• Logica incoerente • Simulazione

ad esempio il “ Control System Toolbox” è formato da un insieme di funzioni MATLAB che costituiscono una biblioteca di comandi per semplificare la gestione delle operazioni più di frequente incontrate nella teoria del controllo classico e moderno.

La versione utilizzata in questo lavoro di tesi è la 6.5 per personal computer che lavora in ambiente Windows ed è utilizzabile per qualunque piattaforma hardware.

4.5:

PRESENTAZIONE E VALUTAZIONE DEI DATI FORNITI DAL

DISPOSITIVO

In questo paragrafo presenteremo alcuni grafici ottenuti dalle misure effettuate in laboratorio con l’apparecchiatura e il software che abbiamo descritto; questi risultati vanno comunque valutati tenendo conto delle condizioni non ideali di sperimentazione, basti pensare ai disturbi indotti sul segnale dal semplice movimento del soggetto che naturalmente si ridurrebbe se il “paziente” fosse disteso, ad esempio, su di un lettino oppure al disturbo inevitabile della componente infrarossa proveniente dalla luce del giorno.

(16)

4.5.1:

PROVE PER LA VALIDAZIONE DEL FUNZIONAMENTO DEL SENSORE

Le prime prove di laboratorio che abbiamo svolto avevano, essenzialmente, come scopo quello di verificare il corretto funzionamento del dispositivo, ed in particolare del sensore per la rilevazione del segnale; abbiamo quindi posizionato il nostro ricevitore sul polso di un soggetto mantenuto in una posizione il più possibile di riposo, per poter acquisire, su di un singolo canale, il segnale relativo alle pulsazioni.

I risultati ottenuti in questa prima fase di sperimentazione, riportati nella figura seguente, hanno confermato che la scelta effettuata per il ricevitore è stata quella giusta:

Fig 4.9- Segnale relativo alla pulsazione su di un soggetto a riposo rilevato con il nostro dispositivo

Come si può osservare in figura 4.9 il segnale raccolto dal nostro sensore è abbastanza “pulito”; il risultato ottenuto, considerato che si trattava della prima prova, è sicuramente incoraggiante, considerando sia la semplicità del sistema realizzato che le non perfette condizioni di sperimentazione nelle quali lo si è testato.

(17)

fisicamente il ricevitore sul polso del soggetto sotto esame, ma dovendolo tenere fermo con l’aiuto di un’altra persona non si sono potuti evitare gli artefatti sul segnale relativi al movimento.

Visto comunque il buon risultato raggiunto abbiamo pensato di passare ad una seconda fase di sperimentazione in cui abbiamo effettuato prove di occlusione e rilascio.

4.5.2:

PROVE DI OCCLUSIONE E DI RIPRISTINO DELLE CONDIZIONI

INIZIALI DEL FLUSSO

DEL SANGUE

In questa nuova serie di prove sperimentali ci siamo posti come scopo quello di acquisire, sempre su di un singolo canale, il segnale relativo all’occlusione del flusso sanguigno,sull’avambraccio di un soggetto a riposo, e al successivo ripristino delle condizioni iniziali.

Per questa prova si sono utilizzate soltanto le quattro sorgenti relative all’emoglobina ossigenata, cioè quelle che emettono a 880nm.

Il segnale che ci aspettiamo di osservare con questo tipo di prove sperimentali, è un segnale che deve presentare una prima fase di salita durante la fase di occlusione dovuta al fatto che non essendoci più flusso non c’è più l’assorbimento da parte del cromoforo principale costituito dall’emoglobina ossigenata e, di conseguenza, l’intensità della radiazione infrarossa che viene rilevata dal sensore è maggiore rispetto alle condizioni iniziali in assenza di occlusione.

Il segnale che abbiamo osservato è rappresentato nella figura 4.10:

(18)

Come si può osservare dalla figura il segnale, cioè la tensione rilevata dal ricevitore, aumenta progressivamente in fase di occlusione, come avevamo previsto, infatti con l’occlusione diminuisce la concentrazione di ossigeno legato all’emoglobina e di conseguenza il sensore rileva una radiazione infrarossa di intensità maggiore.

La successiva fase di caduta presentata dal segnale è relativa al ripristino del flusso sanguigno; si può osservare come il segnale cada ad un livello più basso rispetto a quello che presentava nelle condizioni di riposo, ciò è spiegabile considerando che al rilascio si ha sull’avambraccio una condizione di iperemia attiva, cioè un aumento del contenuto ematico, in un distretto corporeo per maggiore flusso arterioso, dovuta alla rimozione dell’occlusione.

Si può inoltre osservare come il segnale recuperi in maniera abbastanza veloce le condizioni di base.

Abbiamo quindi ottenuto un’ulteriore conferma del fatto che il dispositivo funziona correttamente almeno per quanto riguarda prove di occlusione.

Nella figura seguente è riportata una ulteriore prova di occlusione condotta per verifica, è riportato anche il grafico fornito dal programma software che fornisce il calcolo del picco del segnale:

(19)

Le ultime prove svolte, in questa seconda fase di sperimentazione in laboratorio, riguardano sempre l’occlusione del flusso sull’avambraccio di un soggetto a riposo e il successivo ripristino delle condizioni di base, ma invece di considerare una singola occlusione e successivo rilascio si sono considerate due occlusioni in rapida successione per vedere gli effetti sul segnale.

Il risultato ottenuto è il seguente:

Fig 4.12- Segnale relativo ad una serie di due occlusioni successive

Come si può osservare anche in questo caso il segnale è proprio con quello che ci aspettiamo di trovare.

Si deve precisare che se l’occlusione e il successivo ripristino del flusso del sangue avvengono velocemente il segnale, dopo l’aumento dovuto all’occlusione, presenta una fase di discesa meno pronunciata rispetto a quando l’ occlusione perdura per un tempo maggiore, questo è in perfetto accordo con quanto riportato in letteratura.

4.5.3:

ANDAMENTO QUALITATIVO DELLA ∆[HbO

2

]

Sempre in relazione a prove di occlusione sull’avambraccio di un soggetto a riposo abbiamo realizzato un programma in linguaggio LABWIEW, che partendo dalla tensione rilevata dal ricevitore la trasforma secondo la legge di Lambert-Beer modificata, già riportata nel capitolo uno. Lo scopo era quello di poter ottenere l’andamento, almeno dal punto di vista qualitativo, dalla variazione della concentrazione dell’emoglobina ossigenata.

Il segnale che dovremo ottenere è un segnale che deve presentare un andamento praticamente “duale” rispetto all’andamento della tensione misurata sopra.

(20)

Questo è intuitivo poichè la concentrazione di emoglobina ossigenata presenta una caduta in seguito all’occlusione, infatti diminuisce la concentrazione dell’ossigeno; successivamente in seguito al rilascio la concentrazione risale fino ad un valore superiore a quello basale a causa del brusco aumento della concentrazione di ossigeno legato all’emoglobina al momento del rilascio.

Il segnale che si è ottenuto è riportato nelle figure seguenti:

Fig 4.13- Andamento qualitativo della variazione di concentrazione dell’emoglobina ossigenata

Questo segnale ha proprio l’andamento che ci aspettavamo; a conferma del buon risultato raggiunto con il nostro dispositivo si è trovata in letteratura una simulazione, effettuata con uno strumento ben più complesso e costoso del nostro, riguardante proprio l’occlusione del flusso sanguigno sul braccio di un soggetto a riposo e il successivo rilascio.

Il segnale che i ricercatori inglesi hanno trovato in seguito alle prove di occlusione è il seguente:

4.14- Prova di occlusione del flusso: andamento della variazione della concentrazione di emoglobina ossigenata

Confrontando l’andamento del segnale da noi rilevato e quello in figura 4.14 si trova, tra i due, un buon accordo.

(21)

Applicando anche in questo caso il programma software per il calcolo del picco al nostro segnale si ha:

Fig 4.15- Applicazione del programma per la rilevazione del picco al segnale relativo alla variazione di concentrazione dell’emoglobina ossigenata

I risultati ottenuti hanno confermato il buon lavoro svolto, naturalmente, essendo le prime sperimentazioni di spettroscopia nel vicino infrarosso non si possono ottenere con il nostro dispositivo tutti gli stessi risultati ottenibili con altri apparecchi ben più sofisticati.

Nonostante ciò i risultati che abbiamo ottenuto rappresentano una buona base per uno sviluppo futuro del dispositivo realizzato in modo da poterne migliorare le prestazioni.

(22)

4.6:

PROGRAMMI MATLAB UTILIZZATI PER L’ELABORAZIONE DEL

SEGNALE

Dopo aver presentato i risultati ottenuti a conclusione di questo lavoro di tesi riportiamo in questo paragrafo i listati dei programmi realizzati in ambiente MATLAB 6.5 per l’elaborazione software del nostro segnale.

Il primo programma realizzato agisce su tutti i campioni del segnale che vengono riportati in un vettore lineare applicandovi la legge di Lambert-Beer modificata, agendo in questo modo il programma, che considera l’array di valori come un segnale variabile nel tempo, non ha la possibilità di una elaborazione in tempo reale dei dati.

Bisogna inoltre precisare che questo programma è relativo alla sola variazione della concentrazione di emoglobina ossigenata; il listato del programma è riportato nella figura 4.16

x1=data+1; y1=(x1*k1); m1=(-k2)*(log(y1)); f1=figure; plot(x1); f2=figure; plot(m1)

Fig 4.16- Programma MATLAB per l’implementazione della legge di Lambert-Beer modificata

Per poter avere la possibilità di una elaborazione in tempo reale bisogna realizzare un programma un po’ più complesso che elabori i dati dell’array lineare a due a due, contemporaneamente alla fase di acquisizione, per ottenere questo viene inserito un ciclo FOR, come mostrato in figura:

x=data+1; for i=1:num y(i)=x(1)/x(i+1); k(i)=(log(y(i)))/k1; end f1=figure(1); plot(x); f2=figure(2);

(23)

L’ultimo listato che riportiamo è quello del programma più complesso che permette la risoluzione del sistema in due equazioni, già riportato nel capitolo uno, e quindi consente di avere informazioni anche sulla variazione della concentrazione dell’emoglobina non ossigenata.

Anche questo programma opera come il precedente per consentire una elaborazione del segnale in tempo reale rispetto all’acquisizione dei campioni.

quattro1=quattro+10; for i=2:num if quattro1(i,1)==0 quattro1(i,1)=quattro1(i-1); end if quattro1(i,2)==0 quattro1(i,2)=quattro1(i-1); end end for i=1:num OD1(i)=quattro1(i,1); OD2(i)=quattro1(i,2); end for i=1(num-1) y(i)=log(OD1(1)/OD1(i+1)); k(i)=log(OD2(1)/OD2(i+1)); end Hb=a*y-b*k; HbO2=c*y+d*k; f1=figure; plot(OD1); f2=figure; plot(OD2); f3=figure; plot(Hb); f4=figure; plot(HbO2);

Fig 4.18- Programma MATLAB per la valutazione della variazione della concentrazione dell’emoglobina ossigenata e ridotta.

Anche in questo caso andando a verificare il segnale fornito dai nostri programmi MATLAB lo ritroviamo in accordo con quello che abbiamo già ottenuto precedentemente in ambiente LABWIEW, come può osservarsi nella figura 4.19:

(24)

Fig 4.19- Variazione della tensione rilevata in seguito ad una sequenza occlusione-rilascio valutata tramite elaborazione in ambiente MATLAB

Figura

Fig 4.1- Schema elettrico del modulo di acquisizione dati
Fig 4.2- Schema a blocchi della scheda PCI-6024E
Fig 4.3- Connettore e relativi pin di I/O
Fig 4.4- Configurazione di un canale di ingresso in modalità RSE
+7

Riferimenti

Documenti correlati