6 Il Sistema
6.1 Descrizione del sistema [6][7]
La principale funzionalità del sistema in esame è quella di permettere la comunicazione vocale tra pilota e passeggero in modo chiaro, anche ad alte velocità, limitando al massimo il rumore che inevitabilmente giunge ai microfoni di un sistema interfono, posizionati nei caschi, e dovuto a sorgenti esterne (quali il motore, le condizioni atmosferiche, le condizioni del fondo stradale, ecc.).
La scelta di utilizzo di un dispositivo di rete wireless con tecnologia Bluetooth (costituito essenzialmente da centralina elettronica ed una coppia di auricolari wireless) è stata dettata da esigenze di praticità di utilizzazione (si evitano in questo modo i cablaggi, rendendo più liberi i movimenti dei viaggiatori) e dalle proprietà di provata robustezza e affidabilità del protocollo di comunicazione adottato.
Il sistema elettronico realizzato è rappresentato in Figura 6.1. Il pilota e il
passeggero sono equipaggiati con comuni auricolari Bluetooth, conformi al
profilo Headset, che possono essere indossati sotto un comune casco, oppure
presenti in caschi dotati di microfono e altoparlante Bluetooth. Sul veicolo è
installata la centralina, dotata di una interfaccia utente, tramite la quale sarà
possibile programmare le funzionalità del dispositivo, e riceve gli ingressi
audio analogici ai quali sono connessi l’uscita dei comandi vocali di un
navigatore satellitare, una radio FM e un telefono cellulare.
Uno dei principali vantaggi del sistema sviluppato consiste nell’impiego di normali auricolari wireless Bluetooth, comunemente destinati all’uso in abbinamento ad un telefono cellulare, oggetto ormai di larga diffusione: ciò permette costi non elevati e buona affidabilità, quest’ultima proprietà conseguenza dei grandi volumi di produzione degli accessori menzionati.
Da quanto appena illustrato, si intuisce come il sistema sia altamente modulare e dotato di grande flessibilità: possono utilizzate come interfaccia utente una vasta gamma di soluzioni e si può connettere al sistema qualsiasi sorgente audio con uscita analogica ed è inoltre possibile utilizzare come auricolare nei caschi qualsiasi headset commerciale Bluetooth per telefonia cellulare. In aggiunta a tutto ciò, la centralina è stata appositamente pensata per essere facilmente aggiornabile, per esempio al fine di implementare release successive dello standard Bluetooth o espandere le funzionalità del sistema stesso.
Proprio in relazione alla struttura modulare del sistema, si è pensato di indirizzare il nostro lavoro verso lo studio dell’implementazione di funzioni
Centralina Caschi abilitati
Bluetooth
Wireless links Interfaccia
Utente
Bluetooth Headsets Convenzionali
Sorgenti ausiliarie
Wired links Centralina Caschi abilitati
Bluetooth
Wireless links Interfaccia
Utente
Bluetooth Headsets Convenzionali
Sorgenti ausiliarie
Wired links
Figura 6.1. Rappresentazione schematica della rete audio wireless Bluetooth a tre punti.
innovative, e specificatamente la cancellazione attiva del rumore presente nella banda dei segnali audio.
6.2 L’architettura generale [6]
Il sistema in oggetto realizza una comunicazione audio wireless fra il pilota, il passeggero e il motoveicolo, allo scopo di fornire una serie di servizi aggiuntivi di ausilio alla guida o di semplice intrattenimento. La soluzione adottata prevede l’uso di una centralina istallata a bordo del motoveicolo, e di due auricolari nei caschi dei motociclisti. Queste tre parti, ognuna munita di un modulo a radio frequenza, costituiscono i tre nodi di una rete di comunicazione wireless Bluetooth, come mostrato schematicamente in Figura 6.2 .
L’elemento di maggiore innovazione nel sistema proposto risiede nella
realizzazione della rete audio, se paragonata ai sistemi interfonici wireless
per motoveicolo in commercio basati su connessioni punto-punto (o fra i
caschi per realizzare la funzione interfono, o fra uno dei caschi e un telefono
cellulare). La realizzazione di una rete a tre punti apporta inoltre il grande
vantaggio di avere attivi due link audio completamente indipendenti, uno
tra centralina e pilota e l’altro tra centralina e passeggero. Conseguenza di ciò
è che tutti i servizi audio possono essere forniti a ciascuno dei due utenti in
maniera completamente indipendente e contemporanea. Pilota e passeggero
possono quindi ascoltare i flussi audio (o una qualsiasi miscelazione fra essi)
provenienti da una stessa sorgente o da sorgenti diverse, o possono accedere
simultaneamente alla stessa sorgente, impegnandosi, per esempio, in
conferenze telefoniche a tre voci.
La rete audio wireless è di tipo centralizzato, esiste cioè un nodo principale (Master) col quale comunicano tutti gli altri dispositivi (Slave).
Essendo la rete composta da tre nodi (i dispositivi nei due caschi e quello nella centralina sulla moto) si assegna al Gateway (la centralina) il ruolo di Master ed agli Headset (da installare sui caschi di pilota e passeggero) il ruolo di Slave. Visti i compiti che la centralina deve eseguire, essa è stata concepita con una architettura multi-processore. Si compone di un dispositivo che implementa lo standard Bluetooth (Host Controller) il quale si occupa della gestione della rete e di un processore DSP (Host), il quale si occupa dell’acquisizione in tempo reale dei flussi audio provenienti dalle sorgenti collegate, della gestione dell’interfaccia utente e della comunicazione con l’Host Controller. I due processori comunicano tra loro tramite un collegamento seriale lungo il quale vengono scambiati messaggi di configurazione e o pacchetti digitali relativi ai due flussi audio.
Figura 6.2. Architettura del sistema di comunicazione audio wireless.
La Figura 6.3 riporta schematicamente la struttura del sistema multi- processore accennato in precedenza, nel quale le sorgenti audio e il telefono GSM sono connessi alla centralina tramite le loro uscite analogiche.
L’Host é implementato dal Digital Signal Processor ADSP-BF533 prodotto dalla Analog Devices. Tale processore dispone della capacità di calcolo necessaria all’elaborazione in tempo reale dei flussi audio ed è dotato di una grande varietà di periferiche. I flussi audio delle sorgenti ausiliarie sono acquisiti in forma analogica e digitalizzati mediante il codec audio ADSP1836A, sempre prodotto dalla Analog Devices.
La Figura 6.4 raffigura, invece, una rappresentazione schematica della centralina.
Figura 6.3.
Sistema multi-processore.Come si può notare, il BlueCore02 e l’interfaccia utente comunicano col DSP mediante una porta seriale asincrona (UART), mentre il codec audio è connesso tramite protocollo I
2C.
La scelta di interfacciare BlueCore02 e ADSP-BF533 tramite una comunicazione UART permette di poter aggiornare semplicemente ed in maniera totalmente indipendente, ognuna delle due unità, per esempio allo scopo di utilizzare un DSP con prestazioni superiori o un modulo a radiofrequenza che implementa una release dello Standard Bluetooth di più recente realizzazione.
Figura 6.4.
Sistema multi-processore, composto da un modulo a radio frequenza (BlueCore02) e da un DSP ad alte prestazioni (ADSP-BF533).6.3 Considerazioni sulla realizzazione del sistema di soppressione
Le osservazioni relative al sistema di cancellazione non possono non tenere conto delle esigenze che hanno portato alla realizzazione del progetto all’interno del quale il nostro lavoro andrà implementato: infatti, nel realizzare quest’ultimo non si è pensato ad un componente hardware dedicato in cui alloggia il processore DSP, ma si è fatto uso di una scheda di valutazione (evaluation board) preassemblata, contenente tutti i dispositivi necessari alle altre sue funzioni.
Risulta chiaro come una tale scelta abbia portato necessariamente ad ingombri, costi e consumi superiori rispetto a quelli che una versione ingegnerizzata può presentare.
In particolare, la Analog Devices fornisce il processore ADSP-BF533 già assemblato su una scheda di sviluppo insieme al Codec audio ADSP1836A.
Tale scheda presenta risorse hardware sovrabbondanti per il progetto in esame, ma al tempo stesso permette di sviluppare e collaudare l’applicazione sul DSP in tempi relativamente brevi. Sono state quindi realizzate due applicazioni sviluppando il firmware per i processori che comunicano tra loro tramite la porta seriale.
Il set-up per le prove sperimentali consiste quindi nella evaluation board alla quale si è collegata un’altra scheda, progettata e realizzata ad-hoc, che contiene il BlueCore02 ed ulteriori componenti elettronici.
L’interfaccia utente per il prototipo è stata realizzata con un semplice
display LCD e un tastierino, mentre come sorgenti ausiliarie si sono connessi
agli ingressi audio della centralina un navigatore satellitare, una radio FM e
un GSM.
Sul sistema stati effettuati numerosi test delle funzionalità audio.
Inizialmente sono stati instradati su ciascun auricolare singolarmente ciascuno dei flussi audio delle sorgenti ausiliarie e si è dimostrato che su ognuno degli auricolari è possibile ascoltare ognuna delle sorgenti di ingresso. Si sono inviati poi agli auricolari delle miscelazioni dei flussi audio (ad esempio durante l’ascolto della radio FM è possibile udire i comandi provenienti dal navigatore). Infine sono state collaudate le funzionalità di interfono ed operazioni più complesse, come ad esempio la conversazione telefonica a tre o la comunicazione tramite interfono con contemporaneo ascolto di ciascuno dei due utenti del flusso audio di una o più sorgenti.
Descriviamo ora in breve le esigenze che il nostro sistema di cancellazione dovrebbe essere deputato a soddisfare.
Il software di gestione del sistema prevede la acquisizione dei campioni relativi ai flussi audio provenienti dal codec e dai due headset presenti nei caschi. Tali campioni sono bufferizzati (al fine di garantire il real time) in opportune code (implementate come classi).
Denominate ScoIn1, ScoIn2, ScoOut1, ScoOut2 le code contenenti rispettivamente i campioni provenienti dai microfoni e diretti agli auricolari nei caschi, qualora si attivi la funzione interfono, si dovrà eseguire la seguente operazione:
ScoIn1 = ScoOut2
ScoIn2 = ScoOut1
Concludiamo il capitolo con qualche considerazione relativa all’implementazione dell’applicazione sui due sistemi di cancellazione proposti nel presente lavoro di tesi.
Nel caso di realizzazione di un sistema di cancellazione adattiva del rumore, il firmware da implementare dovrebbe prevedere due flussi audio in ingresso (vedi Figura 6.5).
In questo caso è necessario fornire in ingresso al sistema sia il pacchetto ScoIn
*relativo al segnale di cui si intende sopprimere la componente di disturbo, sia il termine di rumore ambiente fornito dal canale secondario di riferimento: è possibile ottenere quest’ultimo termine piazzando uno o più microfoni in modo opportuno sul veicolo e prelevando il segnale, in zone dove l’effetto del rumore è particolarmente significativo, come ad esempio nelle vicinanze alle zone adiacenti il motore. Sostanzialmente quindi è necessario porre un microfono vicino al motore della moto e collegarlo ad un preciso ingresso sul codec. Il DSP ne acquisirà il flusso audio che verrà elaborato dalla routine firmware di implementazione dell’algoritmo.
Nel caso volessimo indirizzarci invece verso una soluzione che preveda l’analisi secondo la tecnica MMSE, il sistema dovrebbe prevedere un unico ingresso a cui arriva il segnale rumoroso: l’algoritmo prevede una stima dei parametri del rumore nei primi istanti in cui il parlato è assente, con modifica
Figura 6.5.
Esempio realizzativo nel caso di
implementazione di un sistema di cancellazione adattiva. Con l’asterisco si intende indicare che lo stream puó arrivare da ognuno dei due caschiAlgoritmo LMS per sistema ANC
ScoIn
*(noisy)
Noise (ref mic)
ScoIn
*(noiseless)
ed adattamento degli stessi nei frame in cui al disturbo si aggiunge il segnale voce. Questa seconda scelta realizzativa è riportata nella Figura 6.6 che segue:
La soluzione basata sull’algoritmo MMSE STSA presenta il difetto di essere piuttosto dispendiosa dal punto di vista dell’elaborazione numerica, basti pensare ai calcoli necessari ai processi statistici relativi alla stima dei rapporti segnali/rumore. Al contrario, invece, l’impiego di microfoni per il prelievo del segnale (e conseguente applicazione del metodo di cancellazione adattiva) fornirebbe più certezze sulle caratteristiche del rumore presente nel sistema, comportando unicamente l’impegno del produttore a posizionare il sistema di rilevazione sul motoveicolo, aggiungendo costi, seppur minimi, al prodotto.
L’utilizzo di uno o più microfoni di prelievo permetterebbe inoltre di poter operare tramite una semplice operazione di sottrazione, necessitando solo di operazioni di confronto tra due o più segnali, provenienti dal canale primario e da uno o, eventualmente più di uno, canali secondari.
Le condizioni di lavoro in quest’ultimo caso risulteranno molto vantaggiose: i segnali, a causa degli stessi termini di rumore presenti contemporaneamente nei canali, risultano fortemente correlati dal punto di vista statistico, permettendo, al tempo stesso, un’analisi semplice e un processo di sottrazione immediato.
Algoritmo MMSE
ScoIn*
(noisy) ScoIn*
(noiseless)
Figura 6.6