SISTEMI ELETTRONICI PER LA GENERAZIONE DI SEQUENZE NUMERICHE RANDOM

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI ELETTRONICI PER LA GENERAZIONE DI SEQUENZE NUMERICHE RANDOM"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI GENOVA FACOLTÀ DI INGEGNERIA TESI DI LAUREA IN INGEGNERIA ELETTRONICA SISTEMI ELETTRONICI PER LA GENERAZIONE DI SEQUENZE NUMERICHE RANDOM Relatore: Chiar.mo Prof. Sandro Ridella Correlatore: Ing. Paolo Gastaldo Allievo: Raffaelli Simone 9 Giugno 2010 Anno accademico 2009/2010 1

2 Indice... 2 Abstract.4 Dichiarazione del relatore 5 Prefazione... 6 Capitolo 1 Sequenze di numeri casuali Cos è un numero casuale Quanto una sequenza numerica è casuale Scopi della generazione delle sequenze casuali.9 Capitolo 2 Tecniche per la generazione di numeri casuali Cenni storici Tecniche software L algoritmo Middle-Square Generatore lineare congruenziale (LCG) Generatore di Mersenne Twister Funzione random in C Registri a scorrimento con retroazione lineare (LFSR) LFSR di Galois Generatore di Cristoforo Colombo Tecniche Hardware Tipologie del rumore Generatore a laser caotici Decadimento radioattivo Chipset I Chipset C3 Nehemiah Differenze tra generatori Software e Hardware 30 Capitolo 3 Progetto Hardware del dispositivo Sorgente di rumore termico Filtri Blocco di retroazione Potenziometro digitale Architettura RDAC Interfaccia SPI Caratteristiche elettriche Potenziometro AD5293 e Buffer di tensione TL Comparatori Digital Signal Controller TMS320F Architettura del bus di memoria Memoria flash, memoria RAM e ROM Interrupts e timer. 44 Capitolo 4 Test

3 4.1 Frequency test Block frequency test Runs test..53 Capitolo 5 Sviluppo del firmware Ambiente di sviluppo C2000 CodeGeneration Tools Struttura del progetto Scelte progettuali Frequenza di campionamento Buffer Main Loop Caricamento dei buffer Interrupt: depolarizzazione Implementazione Frequency test Implementazione Block Frequency test Implementazione Runs test...71 Capitolo 6 Risultati dei test Test sulla lunghezza del buffer Test senza retroazione Frequency test senza retroazione a 1024 bit Block test senza retroazione a 1024 bit Runs test senza retroazione a 1024 bit Test con retroazione Frequency test con retroazione a 1024 bit Block test con retroazione a 1024 bit Runs test con retroazione a 1024 bit CPS Conclusioni. 108 Appendice 110 A.1 Terminal A.2 Programmazione TMS320F A.3 Codici sorgenti..112 A.3.1 HRBSG_Main.c..112 A.3.2 HRBSG_DefaultISR.c A.3.3 HRBSG_BufferOperations.c..121 A.3.4 HRBSG_Variables.h

4 Electronic devices for random number sequences generation Compared to software generators, hardware random number generators produce sequences of numbers that can be considered purely random. Their applications are numerous and all of great importance in the world of information. They are used to create keys for encryption, to testing electronic devices, to choice variables in computer algorithms, to market research. This hardware random number generator consist of an analog section dedicated to the use of thermal noise source and a digital section capable of processing and transmission of sequences. The battery of NIST, which consists of 15 tests is used to analyze and verify offline the randomness of the number sequence. The graphs and the reports generated from the suite of NIST indicate the degree of unpredictability of these sequences. 4

5 Alla Commissione di Laurea e di Diploma Alla Commissione Tirocini e Tesi Sottopongo la tesi redatta dallo studente Simone Raffaelli dal titolo Sistemi elettronici per la generazione di sequenze numeriche random Ho esaminato, nella forma e nel contenuto, la versione finale di questo elaborato scritto, e propongo che la tesi sia valutata positivamente assegnando i corrispondenti crediti formativi. Il Relatore Accademico Prof. Ridella Sandro 5

6 Prefazione La seguente tesi si basa sull analisi di un generatore hardware di sequenze di bit casuali, denominato HRBSG (Hardware Random Bit Sequence Generator) progettato da R. Tegas. Tale sistema è composto da una sezione analogica dedicata all utilizzo di una sorgente di rumore termico e da una sezione digitale atta all elaborazione e trasmissione delle sequenze. In particolare l obiettivo della tesi è quello di implementare sulla piattaforma DSP che gestisce il generatore, alcuni test di randomicità in grado di testare le sequenze di bit pseudo-random. Sono stati implementati i primi tre test della Nist Statistical Test Suite: il Frequency test, Block test e il Runs Test. Per avere ulteriori informazioni circa qualità del HRBSG, sono state effettuate prove variando alcuni parametri dei tre test e del sistema quali la lunghezza del buffer per l acquisizione di bit, il range di 1 della sequanza, l utilizzo della retrazione. Le sequenze generate vengono successivamente analizzate offline dall intera batteria di test fornita dal NIST (National Institute of Standards and Technology) in grado di verificare la loro reale randomicità attraverso grafici e reports. Ogni fase del progetto è stata analizzata, discussa ed approvata dal Prof. Sandro Ridella e dall Ing. Paolo Gastaldo. 6

7 CAPITOLO 1 7

8 Sequenze di numeri casuali 1.1 Cos è un numero casuale La casualità di un numero è associata al modo in cui esso viene generato. Se tutti i numeri che vengono generati da un processo sono equamente probabili in ogni istante, allora questi numeri sono casuali. In particolar modo questo significa che la conoscenza dei numeri che sono stati generati, non mi da informazioni sui numeri che potranno essere generati in futuro. Questa affermazione equivale a dire che i risultati di un qualsiasi esperimento non possono essere predetti con certezza a priori, cioè l esperimento non è deterministico. Un semplice esempio di evento casuale è il lancio di un dado a 6 facce non truccato. Questo può essere matematicamente modellato come una variabile casuale che assume sei possibili valori 1,2,3,4,5,6. L imprevedibilità del numero ottenuto dopo il lancio conferisce allo stesso una forma di casualità. 1.2 Quanto una sequenza numerica è casuale Una sequenza di numeri casuali è una serie numerica in cui ogni elemento non è assolutamente correlato con gli altri elementi che costituiscono tale sequenza. In altre parole conoscendo un elemento non si può in alcun modo prevedere quelli successivi e tanto meno quelli precedenti. Nella realtà tuttavia non esistono sequenze numeriche veramente random, bensì pseudorandom, vale a dire sequenze le cui caratteristiche si avvicinano a quelle random senza mai raggiungerle. Per questo motivo sono stati creati dei test atti a verificare che tali sequenze pseudo-random abbiano un buon grado di imprevedibilità. Una sequenza è considerata casuale se: Non si riesce a riconoscere in essa alcun modello rappresentato, per esempio, da gruppi di bit che si ripetono in un dato ordine. Non si può fare alcuna previsione su di essa. Non si può dare alcuna descrizione su di essa. 8

9 1.3 Scopi della generazione delle sequenze casuali I numeri casuali vengono utilizzati in molteplici applicazioni, di cui le principali sono [1]: 1. simulazione: i numeri casuali possono essere utili per simulare al computer fenomeni naturali; con questo scopo vengono utilizzati in molti campi, dalla fisica nucleare all ingegneria; 2. campionatura: le sequenze casuali vengono utilizzate spesso per selezionare da un insieme di dati alcuni elementi quando l analisi completa è impossibile o troppo complessa; 3. analisi numerica: sono stati inventati diversi metodi per risolvere problemi molto complessi di analisi numerica tramite l utilizzo di numeri casuali (per esempio, l integrazione di Montecarlo); 4. programmazione al computer: sequenze di numeri casuali vengono spesso utilizzate come dati d ingresso per valutare la complessità e la correttezza di algoritmi; 5. problemi di "decision making": quando per risolvere un certo problema dobbiamo prendere una decisione imparziale, i numeri casuali ci possono aiutare: con questo significato vengono anche utilizzati all interno di algoritmi (ad esempio per la scelta del pivot nel Quicksort, nel metodo di Rabin-Karp per la ricerca di un pattern o nella teoria dei giochi); 6. crittografia: per codificare un messaggio spesso viene utilizzata una sequenza di numeri casuali, in modo che sia possibile decodificare il messaggio soltanto a chi è in possesso della chiave casuale originale. L idea di utilizzare simulazioni probabilistiche per la risoluzione di problemi fisici complessi va attribuita al matematico Stanislaw Marcin Ulam, uno degli scienziati impegnati durante la seconda guerra mondiale nella costruzione della bomba atomica. Ulam fu il primo a proporre l utilizzo di simulazioni casuali per affrontare l enorme 9

10 quantità di problemi complessi che gli scienziati riuniti a Los Alamos dovettero risolvere, ed ebbe questa intuizione mentre giocava a carte. Questo fatto rende evidente come il gioco d azzardo e le simulazioni probabilistiche siano strettamente legate. Le simulazioni di tipo probabilistico prendono il nome di metodo Montecarlo, proprio dal nome del famoso casinò che si trova in questa città. Questo metodo è basato su un algoritmo che genera numeri pseudo casuali, che hanno la stessa distribuzione di probabilità nel fenomeno che si vuole studiare. La simulazione calcola un insieme di possibili realizzazioni del fenomeno studiato, ed una volta ottenuto un insieme rappresentativo, effettua delle misure della grandezza a cui siamo interessati su tale campione [2]. Questo metodo può essere anche utilizzato per il calcolo di integrali estremamente complessi. L efficienza aumenta all aumentare della complessità del problema in esame. In campo fisico un altro fenomeno legato ai numeri casuali è il moto browniano. Quando un fluido si trova all equilibrio termodinamico, le molecole che lo compongono, non sono ferme ma si muovono seguendo un percorso che risulta essere casuale. In informatica i numeri casuali trovano applicazione ad esempio quando si ha la necessità di prendere una decisione imparziale, pensiamo alla scelta del pivot nell algoritmo Quicksort o alla verifica della complessità e dell efficienza di un algoritmo. Possiamo infatti fornire come ingressi dell algoritmo dei dati casuali e osservarne il comportamento. In elettronica i generatori di numeri casuali possono essere utilizzati per testare i dispositivi in un ampio range di frequenza, infatti un tale generatore non è altro che una fonte di rumore bianco con spettro uniforme su un ampia banda di frequenza. Applicando in ingresso ad un dispositivo un tale segnale e misurando l uscita alle varie frequenze si può dedurre la funzione di trasferimento del dispositivo stesso. Ultimo e forse più importante campo di applicazione dei numeri casuali è la crittografia, cioè la disciplina che si occupa di cifrare un informazione in modo che essa sia conosciuta solo da persone autorizzate. Fin dall antichità si sono adottati diversi metodi per cifrare le informazioni. Un esempio è costituito dalla scitala lacedomica (400 a.c.), un bastone su 10

11 cui era avvolta ad elica una striscia di cuoio. Su di essa era inciso il messaggio segreto per colonne parallele all asse del bastone, in modo tale che una volta tolto il nastro dal bastone stesso il testo risultasse incomprensibile, se non si possedeva un bastone di uguale diametro al primo (Fig. 1.1). Fig. 1.1 Scitala lacedomica Altri metodi di cifratura sono i cifrari a sostituzione, in cui le lettere del testo originale vengono sostituite con altre seguendo regole più o meno complesse. Esistono poi numerosi esempi di macchine cifranti, sia manuali nell antichità, che elettromeccaniche in tempi più recenti [3]. Un esempio di interesse di macchina cifrante è costituito dal cilindro di Jefferson,, costituito appunto da un cilindro sul cui asse sono imperniati 36 dischi di ugual diametro liberi di ruotare. Ogni disco riporta le lettere dell alfabeto in ordine diverso incise sul bordo. La cifratura avviene nel seguente modo: il messaggio viene prima di tutto diviso in blocchi di 36 caratteri. Per ogni blocco, i dischi della macchina vengono ruotati in modo tale da far comparire allineati su una riga i caratteri del blocco. Una volta effettuata tale operazione, si sceglie a caso un'altra riga, e si considera la corrispondente sequenza di 36 lettere come il messaggio cifrato. Il ricevente, che possiede un cilindro identico a quello del trasmittente, non deve far altro che ruotare i dischi in modo tale da far comparire il cifrato allineato su una riga. Compiuta questa operazione, deve analizzare le restanti righe. Una sola di queste è una frase di senso compiuto rappresentante il messaggio in chiaro. Fig. 1.2 Macchina ENIGMA Una macchina simile a questa è la famosa Macchina Enigma (Fig. 1.2), impiegata dai Tedeschi durante la Seconda Guerra Mondiale. Attualmente i metodi di cifratura sono per la maggior parte costituiti da algoritmi basati sulla difficoltà della fattorizzazione di numeri sempre più grandi. Nessuno dei metodi che sono stati 11

12 citati fino ad ora viene considerato sicuro, attualmente la tecnica che si ritiene più affidabile è appunto quella che adotta l utilizzo dei numeri casuali. Questa è una tecnica denominata one-time pad, ideata nel 1917 da Gilbert Vernam, che consiste nell effettuare uno XOR fra il messaggio che si vuole cifrare ed una stringa casuale di numeri (chiave), il risultato è un messaggio incomprensibile per chi non è in possesso della stringa casuale con cui si è effettuato lo XOR [4]. Fig. 1.3 Crittografia simmetrica : operazione XOR K : chiave casuale M : messaggio non casuale C : messaggio criptato : M K Questa tecnica ha delle particolari caratteristiche : la chiave di cifratura (la stringa casuale) viene usata una sola volta (da qui il nome one time-pad). deve avere lunghezza pari al messaggio da cifrare. i bit che compongono la chiave non devono essere legati in qualche modo fra loro. la generazione delle chiave deve avvenire in maniera casuale. Da questo si può capire quale sia l importanza di avere a disposizione molti bit casuali in tempi brevi, quando si rende necessaria la protezione di informazioni come dati bancari, dati personali e codici di accesso. 12

13 Bibliografia del capitolo 1 [1] G. Noti, Sistemi elettronici per la generazione di sequenze binarie pseudo-casuali, Ott 2007 [2] W.W.Tsang Random number generation and testing, [3] Crittografia e criptoanalisi, [4] R. Zunino, Introduzione alla crittologia: algoritmi crittografici, Università degli studi di Genova,

14 CAPITOLO 2 14

15 Tecniche per la generazione di numeri casuali 2.1 Cenni storici In origine coloro che avevano bisogno di numeri casuali (per lavori scientifici o per altri motivi) se li procuravano ricorrendo a metodi empirici lenti come il lancio dei dadi o l'estrazione di palline numerate da un'urna. Nel 1927 fu costruita la prima tabella, contenente cifre tratte a caso da un rapporto su un censimento. In seguito furono prese in considerazione anche l'espansione decimale di e e quella di π ma l'idea fu subito accantonata perché, a parte la difficoltà di generare tali cifre, uno studio più approfondito rivelò che la loro casualità era soltanto apparente. In seguito, intorno agli anni '40, furono costruite delle macchine, tra le quali la famosa Ernie (Electronic Random Number Indicator Equipment) del British Post Office, impiegata per la scelta dei numeri della Premium Saving Bonds lottery. Con questo sistema Kendall e Babington-Smith riuscirono a produrre una tavola di oltre cifre aprendo la strada a nuove idee e nuovi studi come la formulazione dei test di frequenza e di oscillazione per controllare la sufficiente casualità di una successione di numeri [5]. Tra le molte tabelle pubblicate una delle più vaste è quella dal titolo "A million random digits with normal deviates" della RAND Corporation, risalente al 1947, creata collegando ad un calcolatore una semplice roulette da gioco. I risultati numerici furono poi accuratamente filtrati e testati prima dell inserimento nella tabella (Fig. 2.1). Fig. 2.1 Tabella della RAND Corporation 15

16 2.2 Tecniche software La crescente diffusione dei computer che si ebbe a partire dai primi anni del '40, fece nascere il desiderio di poter eseguire efficientemente e in tempi rapidi la generazione di numeri impiegando appunto i nuovi calcolatori. Si giunse cosi all'idea della formulazione di un algoritmo o di una serie di operazioni aritmetiche inserite in un processo iterativo che portasse alla generazione di numeri pseudo casuali. Bisognava risolvere un problema di fondamentale importanza: nessun algoritmo deterministico di lunghezza finita è in grado di generare numeri puramente casuali. Una sequenza numerica basata su un algoritmo può essere infatti ricreata fornendo al medesimo algoritmo lo stesso valore iniziale detto seme (primo elemento). Utilizzando opportuni accorgimenti però, è possibile utilizzare operazioni deterministiche per ottenere numeri quasi-casuali generati da algoritmi in grado di superare una serie di test statistici che conferiscono a tali numeri un'apparente casualità. Questi algoritmi implementati in calcolatori vengono chiamati generatori software pseudorandom L algoritmo Middle-Square Nei primi anni dell era dei computer (1946) John von Neumann suggerì il famoso metodo middle-square per generare numeri pseudo casuali distribuiti in modo uniforme [6]. In tale distribuzione uniforme ogni possibile numero in un determinato intervallo è ugualmente probabile. Supponiamo di volere generare un numero casuale di 4 cifre, ossia un numero tra 0000 e Il metodo middle-square richiede come tutti i generatori di numeri casuali un valore iniziale, detto seme dal quale vengono generati i valori successivi. Ad esempio a partire da 1234, elevando tale numero al quadrato abbiamo le otto cifre delle quali teniamo solamente le quattro cifre di mezzo Da queste ripetendo il procedimento otteniamo e quindi 3215 e cosi via. 16

17 Fig. 2.2 Esempi di sequenze deboli Si noti che ogni nuovo numero nella successione è determinato univocamente dal suo predecessore. La successione generata avrà quindi il carattere di apparente casualità, ma ogni successione di numeri generati da questo algoritmo inizierà a ripetersi quando si riavrà il seme (Fig. 2.2). Il totale di numeri della sequenza prima che intervenga una ripetizione è detto periodo della sequenza. La lunghezza di tale periodo può essere considerata una misura della bontà del generatore di numeri pseudocasuali. Sfortunatamente il metodo può degenerare in sequenze con periodi molto brevi, ad esempio a partire dal valore 0 la sequenza ha sempre periodo 1, oppure partendo con 43 con numeri a 2 cifre otteniamo la sequenza 43, 84, 05, 02, 00, 00,... Oggi il metodo middle-square ha un importanza solamente storica, ma nella sua semplicità evidenzia un aspetto importante per la generazione di sequenze utilizzando un calcolatore: la necessità di avere a disposizione molti numeri pseudocasuali in modo rapido. 17

18 2.2.2 Generatore lineare congruenziale (LCG) Nel 1948 venne proposto un generatore di numeri casuali distribuiti uniformemente detto generatore lineare congruenziale o più brevemente LCG che tutt oggi è ancora utilizzato. Anche questo algoritmo ha bisogno di un seme per inizializzare la sequenza di numeri secondo la seguente regola: x n 1 = ( ax n + c ) mod m + (2.1) x n è un valore della successione dei numeri pseudocasuali. m, 0 < m : modulo a, 0 < a < m : moltiplicatore c, 0 < c < m : Incremento (nel caso in cui c=0, si parla di generatore moltiplicativo) x 0, 0 < x 0 < m : seme o valore iniziale Quindi con la notazione mod, x n+1 assume valori interi tra 0, 1, 2,...,m 1. Per esempio le scelte a = 13, c = 0 (ossia generatore puramente moltiplicativo) e m = 31 partendo dal valore iniziale x 0 = 1 otteniamo per n = 30: Tale successione ha periodo 30 (ossia m 1). Tutti i numeri da 1 a 30 compaiono per poi ripetersi. Questo non dipende dalla scelta del seme iniziale se non è nullo. I pregi di questo algoritmo risiedono nell estrema semplicità e velocità di esecuzione una volta implementati al calcolatore. Problemi possono sorgere nei confronti della lunghezza del periodo e della scelta dei parametri a,c e del seme. A tal proposito si considera un esempio in cui viene fatta una scelta errata dei parametri: a = 3, c =6, m =5, x 0 =1, periodo = 4 (m-1); 18

19 Utilizzando la precedente formula: x 0 = 1 ; x 1 = ( )mod5 = 4; x 2 = ( )mod5 = 3; x 3 = ( )mod5 = 0; x 4 = ( )mod5 = 1; x 5 = ( )mod5 = 4; Fig. 2.3 Andamento numerico Al passo x 4 si ottiene il valore 1, ossia il seme. Questo determina il periodo del generatore e di conseguenza l intera sequenza numerica come dimostra la Fig Una delle scelte più popolari è m = , a = 75, c = 0 che garantisce un periodo molto ampio di = Il fatto che m = sia un numero primo è fondamentale al fine di ottenere il massimo periodo, inoltre si riesce a rappresentare senza problemi su un comune computer con registri a 32 bit Generatore di Mersenne Twister Uno dei generatori migliori e più veloci, adatto per l'uso scientifico è il Mersenne Twister (sviluppato nel 1997 da Makoto Matsumoto e Takuji Nishimura) [7]. È stato progettato specificatamente per correggere molti dei difetti riscontrati negli algoritmi più vecchi, ha passato con successo molti test di random ed è in grado di generare numeri pseudo-casuali in qualità molto elevata. Questo generatore deve il nome ad una classe speciale di rari numeri primi denominati, appunto Primi di Mersenne (dal nome del monaco che per primo li studiò nel XVII secolo) e costituita da numeri primi aventi forma 2 n -1. Al momento sono noti solo 42 elementi, di cui il più grande è

20 L algoritmo è una versione più complessa del LCG, non esegue nessuna operazione di modulo, garantisce l equidistribuzione dei numeri generati in 623 dimensioni e soprattutto ha un ampio periodo di Fig. 2.4 Scelta ottimale dei parametri Fig. 2.5 Con m=31, a=13 e c=0 si ottiene una sequenza che difficilmente può essere considerata casuale Funzione random in C Lo standard del linguaggio C (ISO C89) prevede due funzioni dedicate alla generazione di numeri pseudo-casuali: void srand(unsigned seed); int rand(void); La prima funzione inizializza il seme della sequenza, la seconda estrae un numero intero equidistribuito tra 0 e RAND_MAX. Il valore di RAND_MAX dipende dall'implementazione; solitamente è (2 15 1) oppure (2 31 1). I prototipi di queste funzioni sono nell'header stdlib.h. Lo standard non prescrive l'uso di un particolare algoritmo: generalmente viene usato il metodo lineare congruenziale. 20

21 2.2.5 Registri a scorrimento con retroazione lineare (LFSR) Una delle tecniche più semplici, ma al tempo stesso più efficienti ed utilizzate per generare numeri pseudo-casuali fa uso dei registri a scorrimento con retroazione lineare (LFSR, Linear Feedback Shift Registers) [8]. Si tratta in pratica di normali registri a scorrimento, in cui lo stato futuro è dato da una combinazione lineare dei bit dello stato presente. La combinazione lineare è ottenuta con l operatore XOR o XNOR. Fig. 2.6 LFSR a 8 bit La Fig. 2.6 mostra la struttura di un LFSR a 8 bit realizzata con XOR: lo scorrimento avviene verso destra e ad ogni aggiornamento il bit più significativo riceve la combinazione lineare dei bit presenti in alcune posizioni. Queste posizioni particolari si chiamano tap, e devono essere scelte con cura (posizioni di colore verde). Il funzionamento del circuito è il seguente: si imposta un valore iniziale (diverso da 0), che costituisce il seme e si aggiorna il registro facendo scorrere i bit di una posizione ogni volta che si vuole ottenere un nuovo numero casuale. Il circuito funziona praticamente come un contatore, fornendo sempre la stessa sequenza di valori pseudo-casuali, che inizia dal valore dato come seme. Dopo un certo numero di iterazioni, la sequenza ricomincia daccapo: la massima lunghezza della sequenza per un LFSR di lunghezza n bit è 2 n -1, ma questo solo se i tap sono stati scelti opportunamente, altrimenti si ottengono delle sequenze più corte. I numeri ottenuti in questo modo sono apparentemente casuali, ed hanno una buona distribuzione uniforme Le posizioni dei tap da utilizzare per ottenere la sequenza di lunghezza massima si possono ricavare da apposite tabelle, in cui sono riportati i valori da utilizzare per ogni data lunghezza dell LFSR (determinare questi valori analiticamente è piuttosto laborioso). 21

22 Tab. 2.1 Posizione dei tap LFSR di Galois Una variante dello schema classico dell LFSR è quello riportato in Figura 3, in cui è mostrata la struttura di un LFSR di Galois [8]. La differenza sostanziale è che gli XOR sono inseriti nel registro, tra un tap e la posizione successiva, e non nel percorso di feedback. La posizione dei tap è comunque la stessa di prima. Il vantaggio di questa seconda configurazione è che risulta più facile da implementare via software, perché richiede mediamente meno istruzioni, ed è più veloce via hardware, in quanto i ritardi di propagazione degli XOR non si sommano. Fig. 2.7 LFSR di Galois a 8 bit 22

23 Fig. 2.8 Implementazione di LFSR di Galois a 8 bit L implementazione di un LFSR nella versione di Galois risulta alquanto semplice nella versione software in C (Fig. 2.9). Bisogna inizializzare il registro con il valore del seme, e poi richiamare la funzione di aggiornamento ogni volta che occorre un nuovo numero casuale. Questa funzione può restituire il valore della variabile e può scalare i bit inserendo un nuovo numero Generatore di Cristoforo Colombo I generatori di numeri casuali più recenti, come quello incluso nella versione MATLAB successive alla 4, non sono basati sul metodo LCG, ma su una combinazione di operazioni di spostamento di registri e manipolazione sui bit (LFSR). Questo nuovo approccio risulta estremamente veloce ed inoltre garantisce periodi incredibilmente lunghi. Nelle ultime versioni MATLAB il periodo è Data la coincidenza dell esponente con la data della scoperta delle Americhe, questo generatore viene comunemente chiamato il generatore di Cristoforo Colombo. 23

24 2.3 Tecniche Hardware Un generatore hardware di numeri casuali è un apparato che produce numeri casuali da un processo fisico. Ciò significa essenzialmente che, a differenza dei generatori software pseudo-random già analizzati, un HRNG (generatori hardware di sequenze casuali) non ha bisogno di uno stato iniziale dal quale partire per generare gli output, rendendo il risultato predicibile. Si può quindi definire i generatori hardware come generatori di numeri casuali non deterministici. Tali dispositivi sono basati tipicamente su fenomeni microscopici, come il decadimento di materiale radioattivo, l effetto fotoelettrico, il rumore termico o altri fenomeni quantistici. Questi processi sono, perlomeno in teoria, completamente imprevedibili, e quest affermazione è suffragata da test sperimentali Tipologie del rumore Il rumore nel campo dell elettronica, è un segnale che generalmente ha un andamento nel tempo non descrivibile in maniera analitica, è quindi possibile studiarlo solo in termini statistici [9]. La generazione del rumore avviene generalmente a causa del movimento irregolare dei portatori di carica che determinano la formazione di una tensione o di una corrente di rumore che è misurabile ai capi del dispositivo. In base all origine e alle caratteristiche il rumore elettronico è suddivisibile in tre grandi categorie: rumore shot, rumore 1\f α e rumore termico. Il rumore shot è un segnale generato da un processo poissoniano dovuto alla granulosità dei portatori di carica che si muovono senza seguire il flusso medio delle altre cariche, dando così origine ad un impulso di corrente associato ad ogni singola carica. Questo tipo di rumore è presente nel dispositivo anche quando ad esso non è applicata nessuna tensione e non è presente un flusso medio di corrente. Il rumore bianco è un particolare tipo di rumore che ha la caratteristica di avere uno spettro di ampiezza costante per tutte le frequenze. Un tale segnale ovviamente è disponibile solo nella teoria, in quanto non esistono dispositivi in grado di generare uno spettro di ampiezza costante per tutte le frequenze tra zero e infinito. Esistono tuttavia sistemi in grado di fornire uno spettro simile al rumore bianco, dove l ampiezza è funzione della particolare 24

25 frequenza e tende a zero con l aumentare di essa, ma è possibile avere un intervallo in cui questa ampiezza è pressoché costante (rumore bianco a tale range). I rumori 1\f α sono generati da una grande varietà di fenomeni reali e al variare di α sono raggruppati in sottocategorie identificate con nomi di colori: rosa (α = 1), rosso (α =2), nero (α > 2), viola (α = -2), grigio (utilizzato in acustica ha andamento in frequenza inversamente proporzionale alle curve psico-acustiche dell orecchio umano medio) e blu (α = -1). Un rumore che ha particolare importanza, perché è intrinseco ad ogni elemento e non è eliminabile, in quanto è presente ad ogni temperatura diversa dallo zero assoluto, è il rumore termico. Questo tipo di rumore, utilizzato anche nella seguente tesi, è la conseguenza dell agitazione termica dei portatori in grado di muoversi liberamente. Il movimento di questi portatori crea ai capi del dispositivo una differenza di tensione che ha valore medio, calcolato su un periodo sufficientemente lungo, pari a 0 Volt ma che istantaneamente è altamente variabile ed è descrivibile, come tutti i rumori, solo in termini statistici. La grandezza che viene utilizzata per descrivere tale rumore è il valore quadratico medio della tensione, pari al valore efficace elevato al quadrato : V n 4 KTBR = (2.2) Dove K è la costante di Boltzmann, T è la temperatura assoluta all equilibrio termico, B è la banda in cui vengono effettuate le misure e R è la resistenza equivalente del dispositivo nell opporsi alla corrente elettrica. L ampiezza dello spettro di un rumore termico è costante per ogni frequenza, perciò un rumore termico è equivalente ad un rumore bianco. La seguente tesi tratta la bontà dei numeri casuali acquisiti attraverso un generatore hardware basato sul rumore termico. 25

26 2.3.2 Generatore a laser caotici Questo generatore è formato da due laser che costituiscono la fonte entropica sfruttata per la generazione delle sequenze [10]. Fig. 2.9 Struttura del generatore a laser caotici In Fig. 2.9, i laser (SL) sono in grado di emettere un singolo fotone per volta che va ad incidere su uno specchio semiriflettente (VR) in grado di lasciarlo passarlo o di rifletterlo con una probabilità esattamente del 50%. Sono necessari 2 fotorivelatori (PD) estremamente sensibili che attivandosi sono in grado di dire se il fotone è stato riflesso o no e in caso affermativo, convertono il segnale luminoso in segnale elettrico. I due laser sono collegati tramite fibre ottiche (F) al circuito elettronico composto da due convertitori analogico-digitale (ADC), uno per ciascun laser, le cui uscite sono poste in ingresso ad una porta XOR che fornisce in uscita i bit generati. Con questi generatori si riesce ad ottenere la randomicità delle sequenze generate, ma il valore 26

27 commerciale del laser e dei fotorilevatori è estremamente elevato e il dispositivo ha dimensioni ragguardevoli Decadimento radioattivo I dispositivi basati sulla radioattività sono formati da un tubo Geiger-Mueller e un microcontrollore che rileva gli eventi generati dal decadimento di un isotopo radioattivo in un certo intervallo temporale e genera in uscita un flusso di bit che è funzione degli eventi (Fig. 2.10). Naturalmente bisogna trattare tutte queste sostanze con le dovute precauzioni in quanto le particelle emesse possono avere energie elevate ed essere molto ionizzanti, inoltre bisogna prevedere anche che il tasso di generazione dei numeri diminuisce esponenzialmente col passare del tempo a causa del tempo di dimezzamento della sorgente radioattiva. Fig Generatore basato sul decadimento radioattivo Chipset I810 Il generatore random di Intel è integrato in un Chipset chiamato i810 che utilizza uno schema convenzionale a due oscillatori [11]. 27

28 Fig Struttura I810 L oscillatore ad alta frequenza genera un segnale base, che sostanzialmente è una sequenza di stati logici alternati ( ). L altro oscillatore (VCO: Voltage Controlled Oscillator) è un dispositivo che lavora normalmente a una frequenza minore rispetto a quello ad alta velocità, ma la cui frequenza reale è modulata da un resistore che serve da fonte principale di entropia. Alcune caratteristiche misurabili di un resistore cambiano infatti per effetto del rumore termico e di altri fenomeni casuali del materiale L oscillatore a bassa frequenza viene utilizzato per guidare il campionamento del segnale alternato su frequenze casuali. Questa operazione viene effettuata dal blocco Super Latch. I bit così generati vengono elaborati dal blocco Digital Corrector ottenendo così una sequenza random. Il blocco Digital Corrector esegue un operazione definita come depolarizzazione di Von Neumann: essa consiste nel considerare coppie di bit e di generare un bit per ogni coppia in base alla figura sottostante. Tab. 2.2 Depolarizzazione 28

29 Nel caso di coppia di bit uguali, non si ottiene nessun bit in uscita. Tale procedura semplice e facilmente implementabile ha il vantaggio di fornire in uscita dei dati statisticamente bilanciati e aumenta la scorrelazione che potrebbe esistere fra bit adiacenti. Nonostante questo miglioramento, l unico svantaggio di tale operazione è la non costanza del data rate con cui le sequenze sono generate. Un analisi dettagliata della progettazione del dispositivo ha dimostrato che la bontà dell output si mantiene costantemente elevata e che il generatore fornisce bit di entropia per ogni bit di output. Inoltre l utilizzo di rumore termico come sorgente casuale invece dei laser caotic, ha il vantaggio di poter utilizzare componenti diffusi ed a basso costo quali diodi o resistenze Chipset C3 Nehemiah Il RNG C3 di VIA, Nehemiah, si basa su uno schema leggermente diverso, che utilizza ancora un set di oscillatori, ma non una fonte distinta di rumore come quella del resistore speciale. Esso invece fa affidamento all agitazione interna degli oscillatori, un effetto che può essere attribuito a numerosi fattori interni (Fig. 2.12) ed esterni e controllato anche da un impostazione configurabile. In questo caso, un analisi distinta condotta dal Cryptography Research trovò che il generatore fornisce entropia di qualità più bassa della sua controparte, compresa tra e 0.95 bit per ogni bit di output. Si tratta di un risultato che pone alcuni rischi, nel caso in cui l output di questo RNG venga utilizzato come completamente casuale (1:1). Fig Elementi di un oscillatore 29

30 2.4 Differenze tra generatori Software e Hardware I generatori software, per quanto possano essere considerati ottimi, sono sempre dei generatori di numeri pseudocasuali. Ciò è dovuto al fatto che si basano su fenomeni deterministici e quindi la generazione dei numeri è caratterizzata da un certo periodo che può essere più o meno lungo a seconda della bontà di tali generatori. Il pregio di questi generatori sta nella symbol rate (o bit rate) ossia nel numero piuttosto elevato di simboli (o bit) per secondo generati. Per questo motivo sono spesso utilizzati nella realizzazione di videogiochi, programmi di simulazione, ecc. Una symbol rate relativamente bassa comporterebbe infatti un rallentamento dell applicazione. Tuttavia questo vantaggio lo pagano in termini di randomicità. I generatori hardware, dato che si basano su fenomeni fisici naturali, risultano essere veramente dei generatori di numeri random. Ciò è dovuto al fatto che tali fenomeni risultano non prevedibili e quindi il periodo di generazione dei numeri risulta essere praticamente infinito. Inoltre, a differenza dei generatori software, non vi è alcuna correlazione tra un numero e l altro. Il pregio di questi generatori è la sicurezza di ottenere sempre dei numeri casuali nonostante una minore symbol rate. Questi valori sono spesso utilizzati nella crittografia per sviluppare chiavi crittografiche o per proteggere dati di natura finanziaria, militare, privata, ecc e che quindi, per ovvie ragioni, non devono essere accessibili ad estranei. 30

31 Bibliografia del capitolo 2 [5] Autori vari, [6] S. Scognamiglio, Sviluppo di algoritmi di test di randomicità per la validazione di sequenze di bit pseudocasuali, Feb [7] M. Caprile, Sistema elettronico con retroazione per la generazione di sequenze binarie casuali, Feb [8] Tecniche di generazione di numeri casuali, [9] G. Brida, Appunti del corso: processi di rumore, [10] R. Tegas, Sistemi elettronici per la generazione di sequenze di bit, Dic 2009 [11] L. De Faveri, Sistema elettronico basato su microcontrollore per la generazione di sequenze di bit casuali, Dec

32 CAPITOLO 3 32

33 Progetto Hardware del dispositivo La seguente tesi si basa sull utilizzo di un generatore hardware di sequenze di bit casuali basato sul rumore termico [12] il cui schema a blocchi è rappresentato in Fig. 3.1 Fig. 3.1 Schema a blocchi HRSGN L elaborazione del segnale, trattando il rumore termico tra diodi come sorgente, estrae un segnale misurabile partendo appunto dalla tensione rumorosa che viene opportunamente amplificato e filtrato. Quindi entra nel blocco comparatore dove viene confrontato con una soglia di riferimento, proveniente dal blocco riferimento (potenziometro digitale AD5293), ed opportunamente elaborata all interno del blocco elaborazione di riferimento (variazione della soglia di tensione del potenziometro). Dal confronto tra i due segnali, il comparatore genera una sequenza di bit casuali che entra all interno del blocco analisi statistica (microcontrollore TMS320F2808), il quale ha il compito di analizzare attraverso alcuni test, la bontà dei numeri casuali acquisiti. Se la sequenza risulta valida (risultato), viene mandata in uscita dal sistema e quindi memorizzata nel PC tramite il software Real Term (trattato nell Appendice), altrimenti, in caso contrario, tale sequenza viene scartata e si passa al blocco retroazione che ha il compito di migliorarne le statistiche andando ad agire sul segnale di riferimento (variazione della soglia). 33

34 L efficacia, la semplicità, l ottimizzazione del progetto e la predisposizione a future espansioni (hardware e software) sono i maggiori pregi di questo circuito. Lo schema circuitale del HRSGN è riportato in Fig. 3.2 Fig. 3.2 Circuito HRSGN 34

35 3.1 Sorgente di rumore termico Fig. 3.3 Diodi zener in parallelo e amplificatore Come sorgente di rumore termico si utilizza una coppia di diodi zener polarizzati inversamente. Il catodo di ciascun diodo è posto in ingresso ad un amplificatore che ha il compito di portare il segnale in entrata (la differenza fra tensioni) dall ordine di qualche microvolt a valori che siano di più facile misurazione. Il segnale in uscita dall amplificatore deve ricalcare il più fedelmente possibile quello in ingresso, in modo da non perdere le caratteristiche di casualità. [13]. L amplificatore operazionale in questione è un INA121PA, un amplificatore per strumentazione, di cui è visibile lo schema circuitale nella Fig

36 Fig. 3.4 Struttura dell amplificatore strumentale La resistenza di guadagno R44 è impostata ad 1 kω che sostituita nella formula di riferimento di calcolo del guadagno porta a: G 50 k Ω 50 k Ω = 1 + = 1 + = R 1 k Ω G 51 (3.1) I condensatori di bypass (C37, C41) vengono utilizzati per eliminare eventuali interferenze col segnale di alimentazione; vengono cosi posti in prossimità di esso. 3.2 Filtri Fig. 3.5 Sezione di adattamento del segnale 36

37 Questa parte del circuito si occupa del filtraggio e dell adattamento del segnale attraverso l amplificatore TL082 che dispone di una banda pari a 3 MHz. Il circuito realizzato (Fig. 3.5) a livello teorico è un filtro passa alto la cui funzione di trasferimento complessiva è: V 1 + = sc 1 + ( R sc + R R ) sc R 1 + sc R O V i (3.2) da cui, sostituendo i valori numerici, si determina la frequenza di taglio inferiore (a -3 db) poco inferiore a 19 khz. In realtà, quello in figura si rivela essere un filtro passa banda la cui funzione di taglio inferiore è esattamente quella appena calcolata mentre quella superiore è data dalla frequenza di taglio dell operazionale. Sono inoltre presenti condensatori di filtro sulle alimentazioni degli amplificatori. 3.3 Blocco di retroazione Il blocco di retroazione costituito dal potenziometro digitale seguito da un buffer è rappresentato in (Fig. 3.6). Fig. 3.6 Blocco di retroazione 37

38 3.3.1 Potenziometro digitale Un potenziometro è un dispositivo elettronico equivalente ad un partitore di tensione resistivo variabile [14]. Un potenziometro digitale viene progettato per essere utilizzato esattamente come uno tradizionale da cui differisce solo per la comodità di poter essere impostato a livello digitale grazie ad un bus di comunicazione seriale (SPI). Viene utilizzato il circuito integrato AD5293 della Analog Devices di tolleranza dichiarata pari al 1%. Questo componente è appunto interfacciato al microcontrollore per mezzo di una Serial Port Interface (SPI) che consente velocità di comunicazione molto più elevate rispetto ad altri comuni bus seriali, tipicamente nell ordine dei Mbit/s. La sua struttura è riportata nella Fig Fig. 3.7 Struttura potenziometro digitale Architettura RDAC Lo stadio di uscita del potenziometro digitale, riportato in Fig. 3.8, è realizzato con tre livelli di partizionamento delle tensioni tra i morsetti A e B (gli estremi del potenziometro) la cui uscita coincide con l uscita W (wiper). Il partizionamento delle resistenze interne avviene grazie a switch analogici realizzati in tecnologia CMOS. 38

39 Fig. 3.8 Stadio di uscita del potenziometro digitale Gli switch analogici vengono chiusi o aperti grazie ad un decoder a 10 bit che permette di ottenere una risoluzione di 1024 step di partizione sul range di tensione fra i terminali A e B. Inoltre la massima tensione duale applicabile a questi è pari a ±15 V. Il potenziometro è gestito e controllato direttamente da un registro non volatile denominato RDAC (da cui prende il nome anche l architettura). Per esempio quando il registro RDAC ha tutti i bit a 0, la tensione in uscita corrisponde alla tensione presente al terminale B. Le applicazioni di questo componente sono diverse, fra cui riportiamo quelle elencate nel datasheet: potenziometro (reostato). resistenza variabile (utilizzando solo due dei tre terminali). convertitore digitale-analogico di precisione. utilizzato per impostare un guadagno variabile negli amplificatori strumentali. controllo del volume in sistemi audio Interfaccia SPI L interfacciamento tra microcontrollore e potenziometro avviene per mezzo del bus di comunicazione seriale SPI. Questo è un sistema di trasferimento dati sincrono (è presente una linea di clock), operante in modalità master/slave. In presenza di più slave, questi 39

40 possono essere abilitati mediante un apposito segnale denominato SS (slave select, chiamato SYNC nella documentazione del AD5293), attivo basso. Oltre a questo gli altri segnali sono: SCLK (serial clock, generato dal master), MOSI (master output slave input con ovvio significato dei termini, chiamato anche DIN sul potenziometro scelto) e MISO (master input slave output, chiamato SDO sul datasheet del componente utilizzato). I dati trasmessi e letti dal microcontrollore al potenziometro possono essere ad 8 o 16 bit. Nel caso del potenziometro digitale utilizzato, sono a 16 bit e formattati nel seguente modo: i due bit più significativi non sono utilizzati e sono fissati a 0; i quattro bit successivi corrispondono alla word di controllo e permettono di identificare il significato dei restanti bit; i restanti 10 bit sono il dato vero e proprio: coincidono con la posizione del potenziometro da impostare (in caso di scrittura) o con la posizione attuale (in caso di lettura). I dettagli in merito ai diversi utilizzi dei bit di controllo e di dato sono descritti nel datasheet del componente Caratteristiche elettriche Il potenziometro digitale AD5293 necessita di due separate alimentazioni: una per la parte digitale, l altra per quella analogica. La prima può essere compresa nel range 2,7 5,5 V e permette l interfacciamento con quasi tutti i microcontrollori esistenti, alimentati tipicamente a 5 o a 3,3 V. La differenza di potenziale applicata fra i pin VDD e VSS è compresa tra 9 e 33 V che sia essa singola o duale e quindi riferita alla massa. Si fa presente che nel datasheet è riportato un valore inferiore pari a ±9 V per la tensione duale: si tiene a precisare che questo è un errore, in quanto il vero limite è pari a ±4,5 V. La tensione applicabile tra i pin A e B deve essere inferiore o uguale ai limiti indicati pur non vincolandoli ad una polarità specifica ovvero A può essere sia ad un potenziale maggiore che minore rispetto a B. 40

41 3.3.5 Potenziometro AD5293 e Buffer di tensione TL082 Gli estremi del potenziometro digitale (A, B) sono collegati alle alimentazioni +5 V e -5 V attraverso delle resistenze da 1 kω [15]. Esse sono state inserite per limitare la corrente assorbita dal potenziometro in caso di guasto. La loro presenza fa sì che l uscita del potenziometro, dunque della soglia impostata, vari tra -4,54 V e +4,54 V a passi di V V O = 9 mv 1024 (3.3) Il dispositivo TL082 viene chiamato buffer di tensione: si ottiene chiudendo in retroazione unitaria un amplificatore operazionale e dà in uscita lo stesso valore di tensione che riceve in ingresso. Lo scopo principale del buffer è quello di separare o disaccoppiare la sorgente del segnale dal resto del circuito. Il disaccoppiamento consente di non assorbire corrente dalla sorgente di segnale, non provocando i cosiddetti "effetti di carico" e aumentare così la capacità di fornire potenza da parte del generatore. Anche in questa parte di circuito sono presenti i condensatori di bypass sulle alimentazioni degli amplificatori (C46, C47, C48, C49, C50, C51). 3.4 Comparatori Come stadio finale vengono posti due comparatori diversi, LM311 [15] e TLV3501 [16] che confrontano il rumore amplificato e filtrato con la soglia impostata dal potenziometro. L uscita di tali dispositivi dà un valore alto (bit a 1) o un valore basso (bit a 0) a seconda del risultato del confronto. La doppia possibilità è stata scelta per poter effettuare prove anche a frequenze più elevate di quelle utilizzate attualmente, al fine di evitare limiti imposti dal comparatore stesso. Inoltre, essendo il pinout dei due comparatori diverso, si ha la possibilità di scelta grazie a dei jumper collegati come in Fig 3.9. Lo stadio di uscita del LM311 è un transistor BJT di cui si utilizza il collettore per il prelevamento del segnale digitale mentre l emettitore (pin 1) è collegato a massa. Per polarizzare correttamente il transistor è quindi necessaria una resistenza tra il collettore 41

42 stesso e la +3,3 V (e non 5 V, in quanto non tollerata dal microcontrollore): la resistenza può essere quella di pull-up interna al microcontrollore oppure quella esterna prevista sull apposita linea. Il TLV3501 invece ha come stadio di uscita una configurazione push-pull di MOSFET, garantendo dei fronti di commutazione molto più ripidi. Fig. 3.9 Comparatori 3.5 Digital Signal Controller TMS320F2808 Il TMS320F2808 della famiglia F280x di Texas Instruments è stato considerato fino all inizio del 2009 dal produttore stesso appartenente alla categoria dei DSP (digital signal processor) anche se orientato al controllo [17]. Tale orientamento ha fatto sì che all interno dello stesso chip siano state integrate molte periferiche utilizzate in ambito controllistico come ad esempio: uscite PWM (pulse width modulation) utilizzate tipicamente per il pilotaggio dei motori. 42

43 ingressi capture utilizzati quando è necessario acquisire dei segnali trasmessi in PWM. ingressi ADC che permettono l acquisizione di segnali analogici ed evitano l impiego di convertitori analogico-digitale esterni. memoria flash che consente di evitare l utilizzo di memorie esterne per il programma. Nonostante la presenza di tutte le periferiche citate, la CPU è paragonabile sotto diversi aspetti a quella di un classico DSP essendo ad esempio ottimizzata per l esecuzione di operazioni MAC (multiply and accumulate) comuni nell implementazione di filtri digitali. Questo tipo di operazione può essere eseguita singolarmente su dati a 32 bit quindi ottenendo risultati a 64 bit, oppure su operandi a 16 bit offrendo la possibilità di eseguire due operazioni in parallelo. Oltre a questa caratteristica, la velocità di esecuzione delle istruzioni è incrementata dalla presenza di una pipeline. L esecuzione di ogni istruzione è suddivisibile nelle seguenti fasi: fetch (lettura dell istruzione dalla memoria). decodifica e lettura degli operandi. esecuzione dell istruzione. scrittura dei risultati in memoria. Supponendo di avere due istruzioni da dover eseguire, anziché eseguirle sequenzialmente la pipeline permette di ridurre di tempi di elaborazione aumentando il throughput gestendo contemporaneamente due fasi distinte delle diverse istruzioni. Ad esempio, durante la fase di decodifica dell istruzione X può essere elaborata la fase di fetch dell istruzione Y; durante la fase di esecuzione dell istruzione X si può decodificare l istruzione Y caricandone gli operandi dalla memoria e così via Architettura del bus di memoria L architettura del bus di memoria è di tipo Harvard dove, come è noto, i bus di dati e di programma sono separati. Precisamente, i bus disponibili sono: bus di lettura della memoria del programma composto da 22 linee di indirizzo e 32 per i dati. 43

44 bus di lettura della memoria dati composto da 32 linee di indirizzo e 32 per i dati. bus di scrittura della memoria dei dati composto da 32 linee di indirizzo e 32 per i dati. Come è facile intuire, tale architettura consente di eseguire il fetch di un istruzione, scrivere un dato e leggerne un altro nel medesimo ciclo di clock Memoria flash, memoria RAM e ROM Il DSC in questione dispone di una memoria flash di 64 k da 16 bit suddivisa in quattro settori da 16 k 16 bit ciascuno. Vi è la possibilità di utilizzare la flash sia come memoria di programma che come memoria dati. La memoria RAM a disposizione è suddivisa in cinque blocchi come da Tab Tab. 3.1 Memoria RAM del DSP Esiste anche una memoria ROM programmata in fabbrica e contenente il bootloader. L utente ha la possibilità di scegliere da quale periferica caricare il programma da eseguire: quelle disponibili sono la UART, il bus SPI, il bus I2C, il bus CAN, la flash interna, il blocco di RAM M0 ed un eventuale memoria esterna interfacciata su specifici pin Interrupts e timer Vi sono diverse possibili fonti di interrupt per ogni periferica. Alcune risultano essere davvero comode per poter sfruttare completamente le potenzialità del microcontrollore. Al fine di poter gestire i numerosi interrupts possibili è disponibile uno specifico blocco 44

45 denominato Peripheral Interrupt Expansion con cui si possono gestire 96 diverse fonti di interrupt. Quelle a disposizione delle periferiche sono ben 43. Ciascuno dei novantasei interrupt dispone di un proprio vettore memorizzato in un area di RAM specifica. Il vettore, contenente l indirizzo della routine di interrupt da eseguire viene caricato dalla CPU al sopraggiungimento dello stesso. Tutti i novantasei interrupts sono raggruppati in blocchi da 8 e multiplexati verso la CPU tramite 12 linee fisiche interne (da INT1 ad INT12). Sono presenti anche tre linee esterne di interrupt multiplexate sulla linea interna INT13. Il TMS320F2808 mette inoltre a disposizione tre timer a 32 bit con un registro di prescaling a 16 bit. I timer sono registri decrementati ogni N cicli di clock dove N = (periodo di clock) (valore del prescaler). All azzeramento del registro, il timer è nuovamente caricato con il valore del periodo a 32 bit e genera un interrupt verso la CPU su linee fisiche distinte. I timer possono essere gestiti ed utilizzati genericamente, il Timer2 è dedicato al sistema operativo DSP/BIOS eventualmente eseguito sul microcontrollore (non utilizzato in questo studio). In Fig viene riportata l anteprima tridimensionale della scheda realizzata. Fig Scheda del HRSGN 45

46 Bibliografia del capitolo 3 [12] R. Tegas Sistemi elettronici per la generazione di sequenze random di bit, Dic 2009 [13] INA121: FET-Input, Low Power Instrumentation Amplifier. Documentazione disponibile in rete all indirizzo: [14] AD5293: Single Channel, 1024-Position, 1% R-Tol, Digital Potentiometer. Documentazione disponibile in rete all indirizzo: [15] LM311: Voltage Comparator. Documentazione reperibile all indirizzo internet: [16] TLV3501: 4.5 ns Rail-to-Rail, High Speed Comparator. Documentazione disponibile all indirizzo internet: [17] TMS320F bit Digital Signal Controller with Flash. Documentazione disponibile in rete all indirizzo: 46

47 CAPITOLO 4 47

48 Test Lo scopo principale di questa tesi è analizzare le sequenze di bit prodotte dal generatore hardware grazie all implementazione sul controller DSP di alcuni test. Vengono utilizzati i primi tre test della batteria del NIST: Frequency, Block e Runs test. La batteria di test del NIST (National Institute of Standard and Technology), detta Nist Statistical Test Suite, contiene infatti 15 test sviluppati per verificare la randomicità di sequenze binarie arbitrariamente lunghe, prodotte da un qualunque generatore hardware o software [18]. L obiettivo di questi test è di identificare le differenti varietà di nonrandomicità che possono esistere in una sequenza di bit. La batteria di test del NIST comprende i seguenti 15 test [19]: 1. The Frequency (Monobit) Test, 2. Frequency Test within a Block, 3. The Runs Test, 4. Tests for the Longest-Run-of-Ones in a Block, 5. The Binary Matrix Rank Test, 6. The Discrete Fourier Transform (Spectral) Test, 7. The Non-overlapping Template Matching Test, 8. The Overlapping Template Matching Test, 9. Maurer's "Universal Statistical" Test, 10. The Linear Complexity Test, 11. The Serial Test, 12. The Approximate Entropy Test, 48

49 13. The Cumulative Sums (Cusums) Test, 14. The Random Excursions Test, 15. The Random Excursions Variant Test L implementazione dei test su DSC (viene sempre utilizzato un test alla volta) consiste generalmente nel verificare la quantità di bit ad 1 e di bit a 0 presenti nella sequenza. Infatti un numero eccessivo di bit ad 1 oppure a 0 porta ad affermare che la sequenza possa presentare un gran numero di cifre consecutive identiche e quindi non è ritenuta casuale. In questo caso la sequenza di bit viene scartata e viene modificata la soglia di tensione del potenziometro digitale per la successiva acquisizione di bit (retroazione). Con un numero eccessivo di bit ad 1, si deduce che la tensione di soglia impostata sul comparatore mediante il potenziometro digitale abbia un valore troppo basso (Fig. 4.2). Fig. 4.1 Comparatore A/D Fig. 4.2 Comparatore con soglia troppo bassa 49

50 Viene cosi impostata una nuova soglia agendo sul potenziometro digitale in modo opportuno (Fig. 4.3), incrementando il valore relativo alla posizione del potenziometro per la successiva sequenza. Fig. 4.3 Comparatore con soglia corretta Si ritengono valide solo sequenze che presentano una quantità di bit ad 1 (oppure, il numero di bit a 0) compresa in un determinato range. Tale range viene in seguito calcolato in funzione della lunghezza della sequenza da testare e in funzione del test specifico. Nel caso in cui una sequenza di bit passa il test, viene trasmessa al PC tramite il software Real Term (descritto nel dettaglio nell Appendice) ed eventualmente salvata. Fig. 4.4 Retroazione del generatore 50

51 4.1 Frequency (Monobit) Test Il frequency test, detto anche monobit test, si occupa di determinare il numero di 0 e 1 nella sequenza e verificare la loro distribuzione. In altre parole, il suo scopo è di verificare che la quantità di uni e zeri sia approssimativamente la stessa, come ci si può aspettare da una teorica sequenza casuale di bit. Il Test Frequency è alla base dei successivi test di casualità che possono essere svolti su sequenze di bit [19]. Il funzionamento del test consiste nella modifica della sequenza sostituendo a quella originale +1 al posto degli uno e -1 invece degli zero ed esegue la somma. Divide il numero cosi ottenuto per la radice della lunghezza della sequenza e utilizza questo valore come argomento della funzione degli errori complementare erfc() ottenendo cosi il P-value (indice di precisione). Esempio: Sequenza ԑ = Lunghezza n = 1024 ; S n = 1+ (-1) (-1) + (-1)... S obs = S n n (4.1) S obs erfc = = 2 Pvalue (4.2) Affinché la sequenza sia considerata casuale si deve avere n>100 e il P-value deve essere maggiore del P-value impostato di Utilizzando questi calcoli, sono stati trovati i range di 1 per ogni sequenza che passano questo test: 51

52 n = 1024 P-value =0.05 range di 1 [ ] caso ideale N di 1= 512; n = 2048 P-value=0.05 range di 1 [ ] caso ideale N di 1= 1024; Infatti una sequenza in cui N di 1 è 481 oppure 543 (casi limite) supera questo test in quanto il relativo P-value = > Al di sotto di 481 (sopra 543) la sequenza non è considerata casuale e quindi viene scartata. 4.2 Block Frequency Test Il block frequency test verifica la distribuzione degli 1 e degli 0 all' interno della sequenza da analizzare divisa in blocchi non sovrapposti ciascuno di lunghezza M [19]. Questo test esegue operazioni simili al caso del monobit test ma è più specifico in quanto le applica ai singoli blocchi invece che all' intera sequenza. Nel caso in cui sia M=1 questo test è identico al test precedente. Esempio: Sequenza ԑ = Lunghezza n = 1024 (2048); Lunghezza di ogni blocco: M = 32 (64 nel caso n=2048) n N = = 32 (Numero dei blocchi) (4.3) M Viene determinata la proporzione di 1 in ogni blocco (4.4): π i = M j = ε 1 ( i 1 ) M + j M (4.4) 52

53 Poi si calcola il parametro statistico χ 2 (obs) che indica la bontà della proporzione di 1 in ogni blocco: N i = 2 χ ( obs ) = 4 M ( π 1 i 1 2 ) 2 (4.5) Infine viene utilizzata la incomplete gamma function igamc : 2 N χ ( obs ) igamc (, ) = Pvalue 2 2 (4.6) La sequenza è considerata casuale e attendibile da questo test se P-value è maggiore del P-value impostato a Altri requisiti sono n> 100 e M> max( 20 ; n/100 ). Vengono cosi calcolati il range di 1 in ogni blocco per il quale il test è considerato passato: n = 1024 P-value =0.05 range di 1 in ogni blocco [13-19] caso ideale N di 1= 16; n = 2048 P-value=0.05 range di 1 in ogni blocco [28-36] caso ideale N di 1= 32; 4.3 Runs Test Il runs test ha come scopo di determinare se l' oscillazione tra 0 e 1 e viceversa che formano la sequenza ha una frequenza troppo elevata o bassa [19]. Data una sequenza di lunghezza n si contano il numero di uno, lo si divide per n e si sottrae 1/2. Se il valore così ottenuto, in modulo, è maggiore o uguale a 2 / (n) significa che questo test non è applicabile in partenza Esempio: Sequenza ԑ = Lunghezza n = 1024 (2048) Viene calcolata la proporzione di 1 della sequenza lunga n: 53

54 π = j ε j n (4.7) τ = 2 n (4.8) 1 π 2 τ Test non applicabile (4.9) Nel caso contrario,il test è applicabile e si calcola: Vn ( obs ) = 1 + n 1 k = 1 r ( k ) (4.10) k bit (k+1) bit r(k) Tab. 4.1 valore r(k) Viene utilizzata la funzione degli errori complementare erfc con argomento: Vn ( obs ) 2 n π (1 π ) erfc ( ) = 2π (1 π ) 2 n Pvalue (4.11) Questo test considera casuale la sequenza se il P-value è maggiore di 0.05 e n >100. Un grande valore di Vn(obs) indica che l oscillazione nella stringa è molto veloce, mentre un valore piccolo di Vn(obs) indica che l oscillazione è più lenta. Un oscillazione veloce si 54

55 verifica quando ci sono molti cambi (es ). Una sequenza con un oscillazione lenta ha meno variazioni di quanto ci si aspetta in una sequenza random (ad es. in una sequenza di 300 bit si hanno 100 uni seguiti da 73 zeri seguiti da 127 e quindi si hanno solo tre variazioni anziché 150 come ci si aspetta: il test non viene passato). Sono stati calcolati i range di 1 variando la lunghezza del buffer che passano questo test: n=1024 P-value= 0.05 range di 1 nella sequenza [ ] argomento della funzione erfc<1.37; TEST PASSATO n = 2048 P-value=0.05 range di 1 nella sequenza [ ] argomento della funzione erfc<0.00; TEST PASSATO Bibliografia del capitolo 4 [18] A. Rukhin et al., A statistical test suite for Random and Pseudorandom Number Generators for Cryptographic Applications,NIST, Aug [19] NIST National Institute of Standards and Technology, 55

56 CAPITOLO 5 56

57 Sviluppo del firmware In questo capitolo viene presentato lo sviluppo del firmware del generatore HRBSG, creato utilizzando il linguaggio C. Lo sviluppo è stato realizzato con l IDE (integrated development environment) Code Composer Studio v3.3 della Texas Instruments in aggiunta all emulatore XDS Ambiente di sviluppo Code Composer Studio Il Code Composer Studio (nel seguito CCS) è un ambiente di sviluppo realizzato dalla Texas Instruments che consente di realizzare progetti software basati sui DSP e DSC da essa prodotti [20]. A differenza della maggior parte degli IDE esistenti, esso fornisce allo sviluppatore un elevato livello di personalizzazione utilizzando i GEL script. Questi permettono, ad esempio, la creazione di menu in cui è possibile aggiungere comandi utili sia nella gestione ed automatizzazione delle funzionalità dell ambiente stesso. In questo senso offre inoltre la possibilità di interagire direttamente con l hardware su cui si sviluppa consentendo di avere in un unica voce di menu un solo comando anche composto da una sequenza complessa di operazioni permettendo così di velocizzare le operazioni tipiche di una fase di progettazione C2000 Code Generation Tools I Code Generation Tools sono composti da diversi applicativi, quali compilatore, assemblatore, disassemblatore e linker. Alcuni di questi strumenti sono elencati di seguito, a fianco al nome del file eseguibile: compilatore C/C++ (cl2000.exe): consente di ottenere i file in codice assembly partendo dai sorgenti scritti in linguaggio C. assemblatore (asm2000.exe): permette di ottenere dei file oggetto (.obj) per i vari 57

58 file assembly creati. Si ottiene un file per ogni sorgente e non vi sono informazioni in merito alle aree di memoria del programma in cui verranno scritte. disassemblatore (dis2000.exe): consente di ottenere codice assembly a partire dai file oggetto. ottimizzatore dei codici sorgenti (opt2000.exe): programma operante direttamente sui sorgenti al fine di ottimizzare le prestazioni del proprio firmware. linker (ltd2000.exe): consente di ottenere il file binario da scaricare sulla memoria di programma partendo dai diversi file.obj creati dall assemblatore previa rilocazione agli indirizzi di memoria corretti. hex converter (hex2000.exe): consente la conversione dal file binario del programma (programmabile esclusivamente con l emulatore) ad un file in formato standard Intel HEX, programmabile sulla memoria flash con un programmatore seriale oppure scaricabile direttamente su altre memorie esterne. 5.2 Struttura del progetto I nomi dei file che iniziano con DSP280x_ (generalmente header files) sono quelli copiati dall archivio della Texas Instruments (TI) e contengono le strutture dati di tutti i registri del microcontrollore. Possono essere anche sorgenti.c o.asm ed in tal caso contengono funzioni particolari, come ad esempio l inizializzazione del punto di partenza dell esecuzione del firmware oppure funzioni di copia di alcune zone della memoria in altre. Per i files scritti integralmente, si è fatto uso del prefisso HRBSG_ mentre per la desinenza si sono utilizzati nomi indicanti le funzionalità contenute. Ad esempio, il file HRBSG_CpuTimers.c conterrà le funzioni relative al setup dei timer, anche se utilizzate altrove. Di seguito, uno screenshot permette di anticipare ciò che si avrà a disposizione una volta caricato il progetto: 58

59 Fig. 5.1 Organizzazione dei file sorgenti 5.3 Scelte progettuali Frequenza di campionamento Viene inizialmente inizializzato l ordine di grandezza della frequenza di campionamento dei bit. Una frequenza di campionamento troppo lenta rallenterebbe il throughput di dati, magari senza giustificazione, garantendo comunque la possibilità di eseguire qualunque 59

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Strumenti Elettronici Analogici/Numerici

Strumenti Elettronici Analogici/Numerici Facoltà di Ingegneria Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Strumenti Elettronici Analogici/Numerici Ing. Andrea Zanobini Dipartimento di Elettronica e Telecomunicazioni

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

Dettagli

Controllare un nastro trasportatore fischertechnik con Arduino

Controllare un nastro trasportatore fischertechnik con Arduino TITOLO ESPERIENZA: Controllare un nastro trasportatore fischertechnik con Arduino PRODOTTI UTILIZZATI: OBIETTIVO: AUTORE: RINGRAZIAMENTI: Interfacciare e controllare un modello di nastro trasportatore

Dettagli

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1

LATCH E FLIP-FLOP. Fig. 1 D-latch trasparente per ck=1 LATCH E FLIPFLOP. I latch ed i flipflop sono gli elementi fondamentali per la realizzazione di sistemi sequenziali. In entrambi i circuiti la temporizzazione è affidata ad un opportuno segnale di cadenza

Dettagli

Sensori di Posizione, Velocità, Accelerazione

Sensori di Posizione, Velocità, Accelerazione Sensori di Posizione, Velocità, Accelerazione POSIZIONE: Sensori di posizione/velocità Potenziometro Trasformatore Lineare Differenziale (LDT) Encoder VELOCITA Dinamo tachimetrica ACCELERAZIONE Dinamo

Dettagli

Radioastronomia. Come costruirsi un radiotelescopio

Radioastronomia. Come costruirsi un radiotelescopio Radioastronomia Come costruirsi un radiotelescopio Come posso costruire un radiotelescopio? Non esiste un unica risposta a tale domanda, molti sono i progetti che si possono fare in base al tipo di ricerca

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it

LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it L INTENSITÀ DELLA CORRENTE ELETTRICA Consideriamo una lampadina inserita in un circuito elettrico costituito da fili metallici ed un interruttore.

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

TELECOMUNICAZIONI (TLC) Generico sistema di telecomunicazione (TLC) Trasduttore. Attuatore CENNI DI TEORIA (MATEMATICA) DELL INFORMAZIONE

TELECOMUNICAZIONI (TLC) Generico sistema di telecomunicazione (TLC) Trasduttore. Attuatore CENNI DI TEORIA (MATEMATICA) DELL INFORMAZIONE TELECOMUNICAZIONI (TLC) Tele (lontano) Comunicare (inviare informazioni) Comunicare a distanza Generico sistema di telecomunicazione (TLC) Segnale non elettrico Segnale elettrico TRASMESSO s x (t) Sorgente

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Cenni di Elettronica non Lineare

Cenni di Elettronica non Lineare 1 Cenni di Elettronica non Lineare RUOLO DELL ELETTRONICA NON LINEARE La differenza principale tra l elettronica lineare e quella non-lineare risiede nel tipo di informazione che viene elaborata. L elettronica

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico

Una scuola vuole monitorare la potenza elettrica continua di un pannello fotovoltaico ESAME DI STATO PER ISTITUTI PROFESSIONALI Corso di Ordinamento Indirizzo: Tecnico delle industrie elettroniche Tema di: Elettronica, telecomunicazioni ed applicazioni Gaetano D Antona Il tema proposto

Dettagli

Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it

Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it Corso di laurea magistrale in Ingegneria delle Telecomunicazioni Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it Trasmettitore

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico Tecnologico Progetto Brocca

ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico Tecnologico Progetto Brocca ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico Tecnologico Progetto Brocca Trascrizione del testo e redazione delle soluzioni di Paolo Cavallo. La prova Il candidato svolga una relazione

Dettagli

SVILUPPO IN SERIE DI FOURIER

SVILUPPO IN SERIE DI FOURIER SVILUPPO IN SERIE DI FOURIER Cenni Storici (Wikipedia) Jean Baptiste Joseph Fourier ( nato a Auxerre il 21 marzo 1768 e morto a Parigi il 16 maggio 1830 ) è stato un matematico e fisico, ma è conosciuto

Dettagli

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08. Alberto Perotti, Roberto Garello

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08. Alberto Perotti, Roberto Garello Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Processi casuali A.A. 2007-08 Alberto Perotti, Roberto Garello DELEN-DAUIN Processi casuali Sono modelli probabilistici

Dettagli

Curve di risonanza di un circuito

Curve di risonanza di un circuito Zuccarello Francesco Laboratorio di Fisica II Curve di risonanza di un circuito I [ma] 9 8 7 6 5 4 3 0 C = 00 nf 0 5 0 5 w [KHz] RLC - Serie A.A.003-004 Indice Introduzione pag. 3 Presupposti Teorici 5

Dettagli

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente 1.1 Il motore a corrente continua Il motore a corrente continua, chiamato così perché per funzionare deve essere alimentato con tensione e corrente costante, è costituito, come gli altri motori da due

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Istituto Superiore Vincenzo Cardarelli Istituto Tecnico per Geometri Liceo Artistico A.S. 2014 2015

Istituto Superiore Vincenzo Cardarelli Istituto Tecnico per Geometri Liceo Artistico A.S. 2014 2015 Istituto Superiore Vincenzo Cardarelli Istituto Tecnico per Geometri Liceo Artistico A.S. 2014 2015 Piano di lavoro annuale Materia : Fisica Classi Quinte Blocchi tematici Competenze Traguardi formativi

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Serduino - SERRA CON ARDUINO

Serduino - SERRA CON ARDUINO Serduino - SERRA CON ARDUINO 1 Componenti Facchini Riccardo (responsabile parte hardware) Guglielmetti Andrea (responsabile parte software) Laurenti Lorenzo (progettazione hardware) Rigolli Andrea (reparto

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Gli attuatori. Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo

Gli attuatori. Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo Gli attuatori Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo ATTUATORI Definizione: in una catena di controllo automatico l attuatore è il dispositivo che riceve

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

Dettagli

FUNZIONAMENTO DI UN BJT

FUNZIONAMENTO DI UN BJT IL TRANSISTOR BJT Il transistor inventato nel 1947, dai ricercatori Bardeen e Brattain, è il componente simbolo dell elettronica. Ideato in un primo momento, come sostituto delle valvole a vuoto per amplificare

Dettagli

Circuiti Elettrici. Schema riassuntivo. Assumendo positive le correnti uscenti da un nodo e negative quelle entranti si formula l importante

Circuiti Elettrici. Schema riassuntivo. Assumendo positive le correnti uscenti da un nodo e negative quelle entranti si formula l importante Circuiti Elettrici Schema riassuntivo Leggi fondamentali dei circuiti elettrici lineari Assumendo positive le correnti uscenti da un nodo e negative quelle entranti si formula l importante La conseguenza

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

AUTOLIVELLI (orizzontalità ottenuta in maniera automatica); LIVELLI DIGITALI (orizzontalità e lettura alla stadia ottenute in maniera automatica).

AUTOLIVELLI (orizzontalità ottenuta in maniera automatica); LIVELLI DIGITALI (orizzontalità e lettura alla stadia ottenute in maniera automatica). 3.4. I LIVELLI I livelli sono strumenti a cannocchiale orizzontale, con i quali si realizza una linea di mira orizzontale. Vengono utilizzati per misurare dislivelli con la tecnica di livellazione geometrica

Dettagli

Correnti e circuiti a corrente continua. La corrente elettrica

Correnti e circuiti a corrente continua. La corrente elettrica Correnti e circuiti a corrente continua La corrente elettrica Corrente elettrica: carica che fluisce attraverso la sezione di un conduttore in una unità di tempo Q t Q lim t 0 t ntensità di corrente media

Dettagli

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC I.T.I. Modesto PANETTI A R I ia Re David, 86-8-54.54. - 75 ARI Fax 8-54.64.3 Internet http://www.itispanetti.it email : ATF5C@istruzione.it Tesina sviluppata dall alunno Antonio Gonnella della classe 5

Dettagli

MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA

MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA ANDREA USAI Dipartimento di Informatica e Sistemistica Antonio Ruberti Andrea Usai (D.I.S. Antonio Ruberti ) Laboratorio di Automatica

Dettagli

Generatori di segnale. Generatore sinusoidale BF. Generatori di funzione. Generatori sinusoidali a RF. Generatori a battimenti. Oscillatori a quarzo

Generatori di segnale. Generatore sinusoidale BF. Generatori di funzione. Generatori sinusoidali a RF. Generatori a battimenti. Oscillatori a quarzo Generatori di segnale Generatore sinusoidale BF Generatori di funzione Generatori sinusoidali a RF Generatori a battimenti Oscillatori a quarzo Generatori per sintesi indiretta 2 2006 Politecnico di Torino

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli

Le misure di energia elettrica

Le misure di energia elettrica Le misure di energia elettrica Ing. Marco Laracca Dipartimento di Ingegneria Elettrica e dell Informazione Università degli Studi di Cassino e del Lazio Meridionale Misure di energia elettrica La misura

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

U.D. 6.2 CONTROLLO DI VELOCITÀ DI UN MOTORE IN CORRENTE ALTERNATA

U.D. 6.2 CONTROLLO DI VELOCITÀ DI UN MOTORE IN CORRENTE ALTERNATA U.D. 6.2 CONTROLLO DI VELOCITÀ DI UN MOTORE IN CORRENTE ALTERNATA Mod. 6 Applicazioni dei sistemi di controllo 6.2.1 - Generalità 6.2.2 - Scelta del convertitore di frequenza (Inverter) 6.2.3 - Confronto

Dettagli

Introduzione all elettronica

Introduzione all elettronica Introduzione all elettronica L elettronica nacque agli inizi del 1900 con l invenzione del primo componente elettronico, il diodo (1904) seguito poi dal triodo (1906) i cosiddetti tubi a vuoto. Questa

Dettagli

Circuiti in Corrente Continua (direct current=dc) RIASSUNTO: La carica elettrica La corrente elettrica Il Potenziale Elettrico La legge di Ohm Il

Circuiti in Corrente Continua (direct current=dc) RIASSUNTO: La carica elettrica La corrente elettrica Il Potenziale Elettrico La legge di Ohm Il Circuiti in Corrente Continua direct currentdc ASSUNTO: La carica elettrica La corrente elettrica l Potenziale Elettrico La legge di Ohm l resistore codice dei colori esistenze in serie ed in parallelo

Dettagli

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

LA CORRENTE ELETTRICA CONTINUA

LA CORRENTE ELETTRICA CONTINUA LA CORRENTE ELETTRICA CONTINUA (Fenomeno, indipendente dal tempo, che si osserva nei corpi conduttori quando le cariche elettriche fluiscono in essi.) Un conduttore metallico è in equilibrio elettrostatico

Dettagli

Procedura corretta per mappare con ECM Titanium

Procedura corretta per mappare con ECM Titanium Procedura corretta per mappare con ECM Titanium Introduzione: In questo documento troverete tutte le informazioni utili per mappare correttamente con il software ECM Titanium, partendo dalla lettura del

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Lezione 12: La visione robotica

Lezione 12: La visione robotica Robotica Robot Industriali e di Servizio Lezione 12: La visione robotica L'acquisizione dell'immagine L acquisizione dell immagine Sensori a tubo elettronico (Image-Orthicon, Plumbicon, Vidicon, ecc.)

Dettagli

Fisica quantistica. Introduzione alla polarizzazione e altri sistemi a due livelli. Christian Ferrari. Liceo di Locarno

Fisica quantistica. Introduzione alla polarizzazione e altri sistemi a due livelli. Christian Ferrari. Liceo di Locarno Fisica quantistica Introduzione alla polarizzazione e altri sistemi a due livelli Christian Ferrari Liceo di Locarno Sommario La polarizzazione della luce e del fotone Altri sistemi a due livelli L evoluzione

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

La corrente elettrica La resistenza elettrica La seconda legge di Ohm Resistività e temperatura L effetto termico della corrente

La corrente elettrica La resistenza elettrica La seconda legge di Ohm Resistività e temperatura L effetto termico della corrente Unità G16 - La corrente elettrica continua La corrente elettrica La resistenza elettrica La seconda legge di Ohm Resistività e temperatura L effetto termico della corrente 1 Lezione 1 - La corrente elettrica

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Unità 12. La corrente elettrica

Unità 12. La corrente elettrica Unità 12 La corrente elettrica L elettricità risiede nell atomo Modello dell atomo: al centro c è il nucleo formato da protoni e neutroni ben legati tra di loro; in orbita intorno al nucleo si trovano

Dettagli

ELABORAZIONE DEL VALORE MEDIO NELLE MISURE ELETTRONICHE

ELABORAZIONE DEL VALORE MEDIO NELLE MISURE ELETTRONICHE NOTE PER IL TECNICO ELABORAZIONE DEL VALORE MEDIO NELLE MISURE ELETTRONICHE da BRUEL & KJAER Le cosiddette «application notes» pubblicate a cura della Bruel & Kjaer, nota Fabbrica danese specializzata

Dettagli

Deviazione standard delle misure : dove è la varianza e sono gli scarti quadratici

Deviazione standard delle misure : dove è la varianza e sono gli scarti quadratici ELEMENTI DI PROBABILITA Media : migliore stima del valore vero in assenza di altre info. Aumentare il numero di misure permette di approssimare meglio il valor medio e quindi ridurre l influenza degli

Dettagli

1. Diodi. figura 1. figura 2

1. Diodi. figura 1. figura 2 1. Diodi 1.1. Funzionamento 1.1.1. Drogaggio 1.1.2. Campo elettrico di buil-in 1.1.3. Larghezza della zona di svuotamento 1.1.4. Curve caratteristiche Polarizzazione Polarizzazione diretta Polarizzazione

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

Corso di Informatica Industriale

Corso di Informatica Industriale Corso di Informatica Industriale Prof. Giorgio Buttazzo Dipartimento di Informatica e Sistemistica Università di Pavia E-mail: buttazzo@unipv.it Informazioni varie Telefono: 0382-505.755 Email: Dispense:

Dettagli

1 LA CORRENTE ELETTRICA CONTINUA

1 LA CORRENTE ELETTRICA CONTINUA 1 LA CORRENTE ELETTRICA CONTINUA Un conduttore ideale all equilibrio elettrostatico ha un campo elettrico nullo al suo interno. Cosa succede se viene generato un campo elettrico diverso da zero al suo

Dettagli

La corrente elettrica

La corrente elettrica Unità didattica 8 La corrente elettrica Competenze Costruire semplici circuiti elettrici e spiegare il modello di spostamento delle cariche elettriche. Definire l intensità di corrente, la resistenza e

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

GUIDA ALLE SOLUZIONI

GUIDA ALLE SOLUZIONI La caratteristica delle trasmissioni digitali è " tutto o niente ": o il segnale è sufficiente, e quindi si riceve l'immagine, oppure è insufficiente, e allora l'immagine non c'è affatto. Non c'è quel

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

PRINCIPI BASILARI DI ELETTROTECNICA

PRINCIPI BASILARI DI ELETTROTECNICA PRINCIPI BASILARI DI ELETTROTECNICA Prerequisiti - Impiego di Multipli e Sottomultipli nelle equazioni - Equazioni lineari di primo grado e capacità di ricavare le formule inverse - nozioni base di fisica

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Lo schema a blocchi di uno spettrofotometro

Lo schema a blocchi di uno spettrofotometro Prof.ssa Grazia Maria La Torre è il seguente: Lo schema a blocchi di uno spettrofotometro SORGENTE SISTEMA DISPERSIVO CELLA PORTACAMPIONI RIVELATORE REGISTRATORE LA SORGENTE delle radiazioni elettromagnetiche

Dettagli

Filtri attivi del primo ordine

Filtri attivi del primo ordine Filtri attivi del primo ordine Una sintesi non esaustiva degli aspetti essenziali (*) per gli allievi della 4 A A T.I.E. 08-09 (pillole per il ripasso dell argomento, da assumere in forti dosi) (*) La

Dettagli

CAPITOLO I CORRENTE ELETTRICA. Copyright ISHTAR - Ottobre 2003 1

CAPITOLO I CORRENTE ELETTRICA. Copyright ISHTAR - Ottobre 2003 1 CAPITOLO I CORRENTE ELETTRICA Copyright ISHTAR - Ottobre 2003 1 INDICE CORRENTE ELETTRICA...3 INTENSITÀ DI CORRENTE...4 Carica elettrica...4 LE CORRENTI CONTINUE O STAZIONARIE...5 CARICA ELETTRICA ELEMENTARE...6

Dettagli

PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014)

PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014) PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014) Le grandezze fisiche. Metodo sperimentale di Galilei. Concetto di grandezza fisica e della sua misura. Il Sistema internazionale di Unità

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

DALLA TEORIA ALLA PRATICA

DALLA TEORIA ALLA PRATICA DALLA TEORIA ALLA PRATICA Comunicare a distanza: il telefono a filo La prima esperienza di telecomunicazione (dal greco tele = distante) si realizza con due piccoli contenitori di plastica, cartone o metallo,

Dettagli

Cristian Secchi Pag. 1

Cristian Secchi Pag. 1 CONTROLLI DIGITALI Laurea Magistrale in Ingegneria Meccatronica SISTEMI A TEMPO DISCRETO Ing. Tel. 0522 522235 e-mail: cristian.secchi@unimore.it http://www.dismi.unimo.it/members/csecchi Richiami di Controlli

Dettagli

L'amplificatore operazionale - principi teorici

L'amplificatore operazionale - principi teorici L'amplificatore operazionale - principi teorici Cos'è? L'amplificatore operazionale è un circuito integrato che produce in uscita una tensione pari alla differenza dei suoi due ingressi moltiplicata per

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

AUDIOSCOPE Mod. 2813-E - Guida all'uso. Rel. 1.0 DESCRIZIONE GENERALE.

AUDIOSCOPE Mod. 2813-E - Guida all'uso. Rel. 1.0 DESCRIZIONE GENERALE. 1 DESCRIZIONE GENERALE. DESCRIZIONE GENERALE. L'analizzatore di spettro Mod. 2813-E consente la visualizzazione, in ampiezza e frequenza, di segnali musicali di frequenza compresa tra 20Hz. e 20KHz. in

Dettagli

Che cos è la luce? (Luce, colori, visioni.quale sarà mai il loro segreto?) Prof. Gianluca Todisco

Che cos è la luce? (Luce, colori, visioni.quale sarà mai il loro segreto?) Prof. Gianluca Todisco Che cos è la luce? (Luce, colori, visioni.quale sarà mai il loro segreto?) 1 LA LUCE NELLA STORIA Nell antica Grecia c era chi (i pitagorici) pensavano che ci fossero dei fili sottili che partono dagli

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

PROGRAMMAZIONE DIDATTICA DISCIPLINARE

PROGRAMMAZIONE DIDATTICA DISCIPLINARE MOD PROGRAMMAZIONEDISCIPLINARE REV.00del27.09.13 Pag1di5 PROGRAMMAZIONEDIDATTICADISCIPLINARE Disciplina:_SISTEMIELETTRONICIAUTOMATICIa.s.2013/2014 Classe:5 Sez.A INDIRIZZO:ELETTRONICAPERTELECOMUNICAZIONI

Dettagli

2. FONDAMENTI DELLA TECNOLOGIA

2. FONDAMENTI DELLA TECNOLOGIA 2. FONDAMENTI DELLA TECNOLOGIA 2.1 Principio del processo La saldatura a resistenza a pressione si fonda sulla produzione di una giunzione intima, per effetto dell energia termica e meccanica. L energia

Dettagli

tanhαl + i tan(ωl/v) 1 + i tanh αl tan(ωl/v). (10.1)

tanhαl + i tan(ωl/v) 1 + i tanh αl tan(ωl/v). (10.1) 10 - La voce umana Lo strumento a fiato senz altro più importante è la voce, ma è anche il più difficile da trattare in modo esauriente in queste brevi note, a causa della sua complessità. Vediamo innanzitutto

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

CONTROLLO SCALARE V/Hz DEL MOTORE ASINCRONO. Prof. Silvio Stasi Dott. Ing. Nadia Salvatore Dott. Ing. Michele Debenedictis

CONTROLLO SCALARE V/Hz DEL MOTORE ASINCRONO. Prof. Silvio Stasi Dott. Ing. Nadia Salvatore Dott. Ing. Michele Debenedictis CONTROLLO SCALARE V/Hz DEL MOTORE ASINCRONO SCHEMA DELL AZIONAMENTO A CATENA APERTA AZIONAMENTO L azionamento a catena aperta comprende il motore asincrono e il relativo convertitore statico che riceve

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Analogia tra il circuito elettrico e il circuito idraulico

Analogia tra il circuito elettrico e il circuito idraulico UNIVERSITÁ DEGLI STUDI DELL AQUILA Scuola di Specializzazione per la Formazione degli Insegnanti nella Scuola Secondaria Analogia tra il circuito elettrico e il circuito idraulico Prof. Umberto Buontempo

Dettagli

LA REGISTRAZIONE DEI FILE AUDIO.WAV IN CONTEMPORANEA CON LE MISURE FONOMETRICHE.

LA REGISTRAZIONE DEI FILE AUDIO.WAV IN CONTEMPORANEA CON LE MISURE FONOMETRICHE. Pagina 1 di 5 LA REGISTRAZIONE DEI FILE AUDIO.WAV IN CONTEMPORANEA CON LE MISURE FONOMETRICHE. A. Armani G. Poletti Spectra s.r.l. Via Magellano 40 Brugherio (Mi) SOMMARIO. L'impiego sempre più diffuso

Dettagli

ANNO SCOLASTICO 2014/2015 I.I.S. ITCG L. EINAUDI SEZ.ASSOCIATA LICEO SCIENTIFICO G. BRUNO PROGRAMMA DI FISICA. CLASSE: V A Corso Ordinario

ANNO SCOLASTICO 2014/2015 I.I.S. ITCG L. EINAUDI SEZ.ASSOCIATA LICEO SCIENTIFICO G. BRUNO PROGRAMMA DI FISICA. CLASSE: V A Corso Ordinario ANNO SCOLASTICO 2014/2015 I.I.S. ITCG L. EINAUDI SEZ.ASSOCIATA LICEO SCIENTIFICO G. BRUNO PROGRAMMA DI FISICA CLASSE: V A Corso Ordinario DOCENTE: STEFANO GARIAZZO ( Paola Frau dal 6/02/2015) La corrente

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI statistica, Università Cattaneo-Liuc, AA 006-007, lezione del 08.05.07 IDICE (lezione 08.05.07 PROBABILITA, VALORE ATTESO E VARIAZA DELLE QUATITÁ ALEATORIE E LORO RELAZIOE CO I DATI OSSERVATI 3.1 Valore

Dettagli