ETD

Archivio digitale delle tesi discusse presso l'Università di Pisa

Tesi etd-09062018-103253


Tipo di tesi
Tesi di laurea magistrale
Autore
GANDOLFI, LUCA
URN
etd-09062018-103253
Titolo
Studio di aritmetiche floating point non standard finalizzato al progetto di un pedometro low power
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ELETTRONICA
Relatori
relatore Prof. Fanucci, Luca
tutor Dott. Castellano, Marco
Parole chiave
  • Floating Point
  • minifloat
  • machine learning
  • motion recognition
  • step counter
  • pedometro
Data inizio appello
28/09/2018
Consultabilità
Non consultabile
Data di rilascio
28/09/2088
Riassunto
Il lavoro di tesi, svolto presso STMicroelectronics, riguarda lo sviluppo di un pedometro (un sistema che misura il numero di passi compiuti da una persona) pensato per essere integrato direttamente all’interno di un accelerometro. Il prodotto è rivolto al mercato di smartphone, smartwatch o smartband e offre un’alternativa a basso consumo rispetto alle soluzioni software presenti al momento sul mercato. Nella soluzione ST le operazioni logico aritmetiche dell’algoritmo per il conteggio dei passi sono implementate mediante un processore custom realizzato insieme all’accelerometro, in questo modo non è più necessaria l’attivazione periodica della CPU del dispositivo, cosa che, assieme alla progettazione ottimizzata, permette un consistente risparmio di energia. Il lavoro si basa sulle precedenti versioni del pedometro realizzate in fixed point (prima versione) e in floating point standard a 16 bit (seconda versione). Dalla seconda versione, per migliorare l’accuratezza dell’algoritmo di rilevazione dei passi, è implementato un algoritmo di machine learning ad albero decisionale, che permette il riconoscimento dell’attività compiuta dall’utente, al fine di sopprimere i falsi positivi (movimenti erroneamente conteggiati come passi). Il passaggio ad aritmetica floating point, che si era reso necessario per poter implementare algoritmi di machine learning, aveva prodotto un miglioramento riguardo accuratezza e tempo di elaborazione a scapito di un grosso aumento di area. Scopo della tesi è cercare di ridurre il consumo di area e di energia, mantenendo l’architettura floating point ma riducendo il numero di bit dell’aritmetica, usando quindi aritmetiche non standard dette mini-float. In particolare sono state studiate aritmetiche a 12, 10 e 8 bit. Il lavoro contempla una parte teorica riguardo lo studio dell’algoritmo di rilevamento e conteggio dei passi, della teoria sulla propagazione dell’errore di accuratezza e del particolare algoritmo di machine learning (Albero Decisionale). La parte sperimentale, che ha richiesto la maggior del tempo, consiste nell’adattamento della teoria al caso in esame, mediante la creazione di un modello MATLAB del pedometro capace di replicare esattamente il funzionamento delle operazioni aritmetiche sul processore per le diverse aritmetiche. Questo modello, partendo dai dati reali raccolti precedentemente dai ricercatori ST mediante accelerometri di test, permette lo studio dei problemi generati dalla riduzione del numero di bit sulla dinamica e sull’accuratezza. Essendo lo studio di aritmetiche minifloat un argomento poco trattato, e anzi del tutto assente nel caso dell’applicazione agli alberi decisionali, è stata necessaria l’ideazione di una metodologia per trattare adeguatamente il tipo di problema. Lo studio nella prima parte si concentra sul pedometro senza considerare il machine learning: viene effettuata un’analisi delle criticità dovute alla riduzione del numero di bit e vengono valutate tecniche per la riduzione dell’errore e per l’adattamento della dinamica. Viene inoltre effettuato un confronto tra aritmetiche floating point e fixed point relativo al calcolo del modulo dell’accelerazione e al filtraggio (passaggi in cui si concentra la maggior parte delle operazioni aritmetiche), in base ad accuratezza (modello MATLAB) e tempo di calcolo (codice Assembly grazie al software Simvision). Nella seconda parte viene studiato approfonditamente l’effetto della variazione di aritmetica sulla generazione degli alberi decisionali, in particolare la relazione tra errore di accuratezza sul calcolo degli attributi e accuratezza sulla classificazione. In questa seconda parte, oltre MATLAB, è stato usato il tool WEKA, uno strumento open-source destinato all’analisi dei dati mediante algoritmi di machine learning. Lo studio si conclude con le stime sull’area della Floating Point Unit, effettuato grazie al programma di sintesi Synopsys Design Compiler.
File