Random Number Generation Techniques

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Random Number Generation Techniques"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Elettronica Generale Random Number Generation Techniques Anno Accademico 2016/2017 Candidato: Vincenzo Olimpiade matr. N

2 Alla mia famiglia, a mamma, papà e Gianluigi, che mi hanno accompagnato e sostenuto sempre in questo lungo percorso, che mi hanno consigliato nel modo più giusto e mi hanno motivato ogni giorno affinché non mollassi mai, perché la vita è un continuo esame e non si finisce mai di imparare, a mio nonno Vincenzo che anche se non c'è più mi osserva da lassù e che sicuramente è stato con me ad ogni esame e dunque ad ogni passo di questo viaggio, alla nonna Carmela che quando era qui con noi manteneva una certa luce in tutta la famiglia, ed una parte di quella luce l'ho conservata dentro di me in ogni giorno, soprattutto in quelli un po' bui, alla nonna che sta sopra,che con la sua saggezza e la sua bontà mi ha sempre incoraggiato e spronato affinchè dessi il massimo per avere un giorno un buon posto di lavoro, a tutte le persone che mi vogliono bene, tutti i parenti, gli zii e le zie, ai cugini e le cugine, al più grande professore che io abbia mai conosciuto, il professore Antonio Collaro, una delle persone di cui ho più stima, un amico che ha saputo tirarmi su sempre con la sua allegria e le sue battute e che mi ha fatto appassionare alla matematica e la fisica, grazie di tutto Antò, alla maestra Michela, che mi ha sempre voluto bene e dimostrato il suo affetto, e che mi ha aiutato con l'inglese quando ne ho avuto bisogno a mio zio Raffaele, che ho sempre ammirato e che ha dedicato un po' del suo tempo a me nonostante i suoi impegni, che è stato sempre un punto di riferimento un modello a cui ispirarsi, a Gianluca Uomo uno dei due miei migliori amici conosciuti all'unina, che con la sua pazienza e la sua intelligenza mi ha motivato e guidato ad ogni esame, a tutte le battute e a tutte le risate che ci siamo fatti durante i corsi e a tutto quello che abbiamo passato in questi anni, a Francesco Ventimiglia,conosciuto come il Barone, che con la sua simpatia e la sua spensieratezza mi ha fatto capire che in fondo ero già laureato quando ho superato Metodi, ai grandi amici Leo e Armando che mi sono stati sempre vicini, il primo con le sue dritte, il secondo con i suoi preziosi consigli, agli altri amici dell'unina e di Napoli,ovvero al grande Luigi(detto Gino),Alina,Roberto,Maurizio, Alfonso,Alessio,Andrea,Erasmo,i gemelli,mauro Nappi,Rosaria,Claudio,Alessandro Pagliaro, Alessandro Polverino,Edoardo,Riccardo,Manuel,Hussain,Davide,agli altri amici del mio paese ovvero alla cara Filippina (Lucia Costabile), allo chef Emmanuele Guido,a mia cognata Tonia,Fabiano, Carla,Anna e Lino,Enzo,Gennaro,Luigi e Giuliana,Pasqualino e Ida,Peppe,Arianna, e Michele. 2

3 Indice Random Number Generation Tecniques... Indice...3 Introduzione...4 Capitolo 1: True Random Hardware Number Generator Direct Amplification Oscillator Sampling Discrete-Time Chaos Combined Method...11 Capitolo 2: Pseudo-Random Hardware Number Generator Implementazione Mappa di Renyì con i Variabile Miglioramento Implementazione Mappa di Renyì con i Variabile Implementazione Mappa di Renyì con i Costante Miglioramento Implementazione Mappa di Renyì Costante Confronto tra le Soluzioni Proposte Analisi del Tempo di Ritardo Analisi del Parametro AT...20 Capitolo 3: Pseudo-Random Software Number Generator : Middle Square Method Linear Congruential Generator Lagged Fibonacci Generator Mersenne Twister Blum Blum Shub...27 Capitolo 4: TRNGs VS. PRNGs...28 Capitolo 5: Conclusioni...31 Bibliografia

4 Introduzione I generatori di numeri casuali o Random Number Generators (RNGs) sono dispositivi hardware o componenti software in grado di generare sequenze di numeri casuali. L'uso crescente di comunicazioni digitali come reti di computer, Internet e dispositivi wireless, ha portato ad una maggiore necessità di protezione delle informazioni trasmesse usando la crittografia. La crittografia consente lo scambio di messaggi privati tra un mittente e un destinatario utilizzando chiavi crittografiche accuratamente distribuite per la crittografia e la decrittografia. La sicurezza della maggior parte dei sistemi crittografici si basa sulla generazione di chiavi digitali imprevedibili ed irriproducibili utilizzando generatori di numeri casuali non deterministici (RNGs).I Crittografi basano la progettazione degli RNG sull'utilizzo di fonti oscure come la latenza della tastiera,la turbolenza del hard disk (l effetto della turbolenza dell aria ovvero vibrazioni generate dall esterno che generano un segnale di disturbo ), e sullo stato del clock di sistema del computer. La sicurezza di questi progetti dipende dalla segretezza della fonte quasirandom(chiave). Al contrario, i sistemi che utilizzano un meccanismo di rumore veramente casuale(truly-random), come il rumore elettronico o decadimento radioattivo forniscono la sicurezza crittografica massima perché non vi è alcuna necessità di tutelare la segretezza del metodo di generazione della chiave,la cui generazione casuale è ben documentata in letteratura. Come sistema a singolo chip le soluzioni più diffuse per la realizzazione di RNG diventano i robusti Circuiti Integrati(IC). Esistono fonti di rumore casuale, come ad esempio il rumore termico e lo shot noise, che, sono spesso mascherati da disturbi deterministici. Di conseguenza, i progetti RNG commerciali che amplificano il rumore elettronico richiedono componenti esterni e hardware speciali per la schermatura elettromagnetica da interferenze non casuali. L'esperienza nella progettazione di sistemi IC misti dimostra che il rumore di substrato e di alimentazione possono essere spesso molto superiori ai livelli di rumore casuale. Di conseguenza, si deve presumere che una sorgente di rumore bianco puro non è disponibile per l'uso in un progetto RNG che fa parte di un sistema crittografico IC digitale. 4

5 Lo scopo di questo lavoro sarà descrivere la progettazione di un robusto circuito integrato RNG basato su una sorgente di rumore, adatto per l'integrazione con circuiti di codifica digitale. Si distinguono, a partire dal tipo di implementazione adottata, due principali famiglie di generatori: True Random Number Generator - TRNG e Pseudo-Random Number Generator PRNG. 5

6 Capitolo 1: True Random Hardware Number Generator I True Random Hardware Number Generator, chiamati anche Physical RNG o Hardware RNG, lavorano sulla base di alcuni fenomeni fisici i quali ci si aspetta che siano puramente casuali. In particolare essi estraggono la casualità da processi fisici che si comportano, in linea di principio, in maniera non deterministica e quindi non predicibile. I fenomeni fisici su cui si basano questo tipo di generatori sono fenomeni microscopici come: il rumore termico, rumore atmosferico, effetto fotoelettrico, fenomeni quantistici o altri fenomeni. Ci sono relativamente pochi progetti Hardware che sono stati pubblicati in letteratura. I progetti disponibili rivelano tre differenti metodi compatibili con i Circuiti Integrati per la produzione di sequenze casuali, qui classificati come segue: Direct Amplification Oscillator Sampling Discrete-Time Chaos 1.1 Direct Amplification La tecnica di amplificazione diretta, mostrata in Fig.1, utilizza un amplificatore ad elevato guadagno ed a larga banda per elaborare una piccola tensione alternata prodotta da una sorgente di rumore. La sorgente di rumore può essere, ad esempio: rumore termico (generato dal movimento degli elettroni in un resistore). shot noise (generato dal flusso di corrente che attraversa una giunzione p-n). Il rumore deve essere amplificato ad un certo livello e successivamente confrontato con una soglia tramite un comparatore. Il comparatore, a partire dal segnale di input, converte il segnale analogico in un bitstream che rappresenta la sequenza digitale generata. 6

7 Fig. 1. Direct amplification tecnique. Nello specifico, la tecnica dell'amplificazione diretta, consiste nel moltiplicare il segnale di rumore w(n) col guadagno costante dell'amplificatore K, e successivamente comparare il risultato con una tensione di offset V off in modo da ottenere, in output, una sequenza di bit b DA (n) come descritto di seguito : b DA (n)= { 1, K w(n)<v off 0, altrimenti (1.1) Per via della semplicità di realizzazione e del basso consumo di potenza, questa tecnica è adatta a soluzioni basate su singoli chip solo se è possibile schermare il rumore. Infatti è sensibile a variazioni deterministiche causate, in generale, da fenomeni di natura elettromagnetica o dalle particolari caratteristiche dell amplificatore stesso (segnali di alimentazione e di substrato). Per effetto di tali disturbi, il segnale ottenuto in output dall amplificatore potrebbe risultare predicibile. La soluzione più efficiente potrebbe essere quella di schermare l intero circuito al fine di preservare il segnale di rumore. Questa soluzione però richiederebbe grandi sforzi, sia in termini di progettazione e sia in termini economici. 1.2 Oscillator Sampling La tecnica dell'oscillatore di campionamento produce sequenze binarie casuali partendo dalla fase del rumore ( idealmente un sottoprodotto del rumore termico del MOSFET ). Un esempio di questa tecnica è mostrato in figura 2. 7

8 [Fig. 2 Basic oscillator-based Random Number Generator] I componenti fondamentali sono : Un oscillatore a bassa frequenza Un oscillatore ad alta frequenza Flip-Flop D L oscillatore a bassa frequenza fornisce un segnale di clock al Flip-Flop D in modo da campionare, sul fronte di salita, il segnale ad alta frequenza generato dall oscillatore ad alta frequenza. Per descrivere gli effetti del rumore d'ingresso sulla frequenza di uscita dell'oscillatore, quest'ultimo può essere modellato come un oscillatore controllato in tensione o in corrente, che produce un determinato valore della sequenza di uscita per ciascun segnale d'ingresso. In generale, note le frequenze(o i periodi) dell'oscillatore lento e di quello veloce, e nota la differenza di fase iniziale, il valore di uscita campionato può essere calcolato in ogni istante, come mostrato in fig. 3. Fig.3. Differenza di fase usata per calcolare i valori di campionamento del modello Oscillator Sampling La differenza di fase tra i 2 oscillatori all'n-simo campione è data da: t (n+1)=(t (n)+t s ) mod (C 0 +C 1 w(n)+c 2 w 2 (n)) (1.2) dove : 8

9 mod è l'operatore modulo T s è il periodo dell'oscillatore lento C 0, C1 e C 2 sono le funzioni di trasferimento non lineari tra il rumore ed il periodo dell'oscillatore veloce. La sequenza di bit in uscita viene calcolata dalla (1.2) in accordo con la seguente regola: b OS (n)={ 1, t (n+1)<m[c +C w(n)+c w (n)] 0, altrimenti (1.3) Resta inteso che per ottenere casualità ci si può basare sul jitter, che provoca incertezza nei valori esatti di campionamento, e che dunque determina la probabilità di generare numeri puramente casuali. Questa tecnica, a differenza del Direct Amplification, è più robusta in presenza di rumore non schermato. Tuttavia è stato dimostrato che, partire solamente dal jitter degli oscillatori, non è sufficiente per generare sequenze puramente casuali. Inoltre, il bit-rate di un generatore di questo tipo è circa 100 kbps e, dunque, sarà difficile utilizzarlo in sistemi crittografici ad elevata velocità. Si aggiungono pertanto all'uscita tecniche pseudo-random per randomizzare ulteriormente l'uscita compromettendo però potenzialmente l'imprevedibilità del sistema. 1.3 Discrete-Time Chaos Una soluzione a questi problemi potrebbe essere quella basata sulla teoria del chaos. Il chaos può essere visto come un comportamento non periodico, a lungo termine e non prevedibile generato da un certo sistema dinamico non lineare. Un sistema caotico è, dunque, un sistema fisico dominato dal caos nel quale anche piccole sollecitazioni del sistema potrebbero avere notevoli conseguenze sullo stato futuro del sistema stesso. I sistemi caotici, dato lo stato iniziale del sistema, sono per natura deterministici. Se si conosce esattamente lo stato iniziale del sistema, l output del sistema potrebbe essere prevedibile. La particolarità di questo tipo di sistemi è che, in pratica, è difficile stimare lo stato iniziale del sistema e tale caratteristica li rende impredicibili. Possono essere utilizzate, ad esempio, le chaotic maps che sono una sottoclasse di sistemi dinamici non lineari a tempo discreto. 9

10 I sistemi caotici possono essere implementati utilizzando tecniche di elaborazione a tempo discreto su segnali analogici. Un esempio è la shift map di Bernulli descritta dalla seguente relazione : X n =[2( X n 1+e(n))]mod 1.0 (1.4) dove e(n) rappresenta un segnale di rumore Gaussiano. E' stato dimostrato che le sequenze prodotte dalla (1.4) e da sistemi simili sono a spettro piatto e uniformemente distribuite. Tale caratteristica rende le sequenze prodotte imprevedibili ed il sistema particolarmente adatto alla generazione di sequenze realmente casuali. Un esempio è riportato in Fig (4) dove viene mostrato che 2 sequenze, pur partendo dalla stessa condizione iniziale, dopo un certo numero di campioni, diventano incorrelate (divergono). Fig. (4). Due sequenze prodotte dalla relazione (1.4) I circuiti che realizzano sistemi di questo tipo sono simili a convertitori A/D. Un esempio di tale tecnica è mostrato in figura (5), dove un segnale risultato di una conversione A/D viene mantenuto costante e riportato in ingresso all'a/d in modo iterativo. Fig. (5). Esempio di tecnica Chaos Tempo-Discreto 10

11 Ad ogni conversione A/D viene generato un errore di quantizzazione che si traduce in una forma di rumore che provoca casualità nella conversione del campione i-esimo della sequenza di uscita. Infatti ogni bit della sequenza di uscita, viene generato dal confronto del campione i-esimo del segnale con una certa soglia all'interno di ogni singola bitcell. Dunque, il rumore generato all'istante n-esimo sarà funzione del rumore generato all'istante (n-1)- esimo, che sarà funzione del rumore generato all'istante (n-2)-esimo, e così via,producendo una sequenza di bit casuale in uscita. Il modello viene rappresentato dalla seguente relazione: i (n+1)=a i [[ B N (i (n)+w(n))]mod I ref ]+ A 0 (1.5) dove: N è il numero di stadi dell'a/d B è il guadagno di ogni stadio dell'a/d I ref è la corrente di riferimento dell'a/d A i e A 0 sono rispettivamente guadagno ed offset del S/H Mentre l'uscita è data dalla : b DTC (n)= { 1, i(n+1)<i ref 0, altrimenti (1.6) Così come il metodo dell'oscillatore, anche il metodo Chaos Tempo Discreto è insensibile alle influenze deterministiche. Tuttavia la casualità è ottenuta da dinamiche relative alla robustezza del circuito piuttosto che dal rumore. Inoltre le imprecisioni del circuito oltre a limitare la risoluzione dell'a/d creano anche una non-casualità statistica. 1.4 Combined Method Per raggiungere obbiettivi, quali maggiore velocità e casualità del sistema, si è pensato di combinare i 3 approcci,come mostrato in figura (6),collegando opportunamente i 3 modelli. 11

12 Fig.(6). Combinazione dei tre approcci RNG Il sistema combinato somma il rumore, generato dalla tecnica ad amplificazione diretta, nel sistema caotico, che a sua volta aziona l'oscillatore di campionamento. Diverse simulazioni hanno rilevato che questa topologia è insensibile alle influenze non casuali e non è influenzato da errori dei circuiti minori,come offset e non linearità. Inoltre con tale metodo si è voluto assicurare che la sequenza di bit di uscita fosse determinata come diretta conseguenza del rumore piuttosto che derivata dalla dinamica del sistema. La casualità è assicurata per essere dipendente direttamente dal rumore. Ciò qualifica il sistema come truly-random (realmente casuale) e ne garantisce la sicurezza e l'imprevedibilità per le applicazioni crittografiche. L'architettura scelta per il prototipo del sistema combinato RNG usa una combinazione dei 3 metodi RNG descritti precedentemente ed è mostrata in figura(7). Fig. (7). Architettura per il prototipo del sistema RNG 12

13 Si riconosce la presenza di un amplificatore che riceve in ingresso rumore termico e fornisce in uscita un segnale che va ad addizionarsi all'uscita del convertitore A/D afferente al sistema caotico. L'uscita di quest'ultimo pilota un CCO ( oscillatore controllato in corrente), il cui segnale di uscita viene campionato ad una frequenza di clock più bassa tramite un Flip-Flop D. I 3 modelli unificati in un unico sistema hardware consentono di raggiungere un notevole livello di casualità. Lo schema è arricchito da un limitatore utilizzato per evitare di mandare in saturazione i sistemi a valle,mentre il Flip-Flop T viene aggiunto per dimezzare la frequenza di uscita del CCO. La porta XOR, che riceve in ingresso il segnale di parità del convertitore A/D e l'uscita del Flip-Flop D, viene utilizzata per ridurre le distorsioni. Con il sistema che integra le 3 filosofie utilizzate per la generazione di numeri random, descritto in quest'ultima sezione, si è riusciti a raggiungere un notevole livello di robustezza in presenza di disturbi non-casuali fino a un bit-rate prossimo a 1,5MHz. Un'ulteriore caratteristica di tale sistema integrato consiste nella bassa dissipazione di potenza e ridotte dimensioni che con quanto precedentemente descritto lo rendono ideale per l'utilizzo nei circuiti utilizzati nella crittografia. 13

14 Capitolo 2: Pseudo-Random Hardware Number Generator Numeri casuali possono essere ottenuti anche da algoritmi i quali dovrebbero produrre, in linea generale, una sequenza di numeri avente le stesse proprietà statistiche di una sequenza generata da un TRNG. L utilizzo di algoritmi però implica che i numeri verranno generati in modo completamente deterministico. Sarà quasi sempre necessario fornire un valore iniziale detto seme al fine di inizializzare l algoritmo. A parità di seme e di interazioni, questi metodi forniscono sempre la stessa identica sequenza. Per tale motivo questo tipo di generatori sono detti generatori Pseudo-Casuali. Nei PRNGs vengono generati, nella maggior parte dei casi, sequenze di numeri interi uniformemente distribuiti tra 0 e un numero massimo prestabilito, oppure sequenze di numeri reali compresi tra 0 e 1. Esistono numerosi tipi di PRNG. In questo capitolo focalizzeremo l'attenzione su un sistema pseudo random derivato dall'implementazione della mappa caotica di Renyi definita come segue: T β ( x)=β x mod 1 (2.1) dove β è un numero reale <1, e mod è l'operazione di modulo. In letteratura è stato proposto un modello digitale che si basa sulla seguente relazione: f (k)=q2 n i k+ k2 i mod 2 n (2.2) dove n è il numero di bit utilizzati per rappresentare lo stato, 0<i<n,q è un numero dispari intero positivo tale che q2 n-i <2 n. Scegliendo b= q2 n-i l'espressione (2.2) diventa: f (k)=(bk mod 2 n + k2 i mod 2 n )mod 2 n (2.3) 14

15 I modelli Hardware descritti in seguito saranno misurati in termini di numero di operazioni richieste per l'implementazione della funzione descritta in precedenza. In tutte le discussioni che affronteremo, verrà assunta come unità di misura per comparare i vari metodi, il prodotto dell'area del chip per il tempo di ritardo. Tale grandezza si indicherà con AT. In particolare l'unità di misura del tempo di ritardo sarà quella del full-adder,mentre per l'area del chip si assumerà che il registro a singolo bit avrà un peso pari a 4 mentre il full-adder avrà un peso pari a 8. Da un punto di vista Hardware si farà riferimento ad una tecnologia CMOS di 0.18µm. 2.1 Implementazione Mappa Renyi con i variabile. Una prima forma per l'implementazione della mappa di Renyi fa riferimento ad un algoritmo che considera la i variabile all'interno della formula (2.3). La relativa implementazione hardware prevede l'utilizzo di N addizionatori con riporto con complessità del parametro AT pari a 8n 2. Assumendo di utilizzare altri 2 addizionatori per l'implementazione di ulteriori operazioni, la complessità totale di tale soluzione ammonta a 24n 3 (stima rozza). Tenendo conto che solitamente si è interessati alla realizzazione di mappe ad elevata precisione per le quali si richiede un valore di n compreso tra 100 e 1000, il parametro AT risulterebbe assumere un valore talmente elevato da rendere impraticabile questa soluzione. Per questo si ricorre all'architettura sequenziale che descriveremo di seguito Miglioramento dell'implementazione Mappa Renyi con i variabile. Come anticipato nella sezione precedente, l'implementazione brutale della formula (2.3) è improponibile, pertanto si ricorre ad una soluzione che considera un addizionatore CS ad n-bit costituito da un insieme di n addizionatori in parallelo. Lo scopo di tale soluzione è addizionare 3 interi X,Y e Z per produrre 2 interi C e S tale che C+S=X+Y+Z. Assumendo che X,Y, e Z siano 3 registri ad n-bit,i bits di S e C sono calcolati come segue: 15

16 j è un indice tale che 0<j<n-1 con la condizione iniziale che C 0 =0. Ottenuti gli operandi C e S risulta facile calcolare la funzione (2.3) con la seguente operazione: (C+S )mod 2 n =(C mod 2 n +S mod 2 n )mod 2 n (2.4) Il risultato verrà ottenuto semplicemente considerando rispettivamente gli n bit meno significativi di C e S. Utilizzando questa soluzione la complessità in termini di AT ammonta a 56n2 + 16n. Il calcolo è stato effettuato considerando che l'area per i registri C,S,P,k e b risulta pari a 20n, l'area dell'addizionatore CS è pari a 8n, l'area dell'addizionatore seriale è pari a 8 ed il tempo di ritardo è pari a 2n. Tale valore di AT risulta essere da un punto di vista hardware più ragionevole. L'implementazione hardware dell'algoritmo descritto è riportata nella seguente figura: Fig. (8). circuito per l'implementazione di f(k) con i variabile 16

17 2.2 Implementazione della Mappa di Renyi con i costante. Nell'ipotesi in cui i risulti costante, l'algoritmo per l'implementazione della funzione () può essere semplificato riducendo la complessità AT a 28n 2 +4n(7i+9)+8(i+1). Il valore è stato ottenuto considerando l'area dei registri C,S,P,k e b (20n), l'area degli addizionatori CS unita all'aria dell'addizionatore seriale (8n+8) e il tempo di ritardo richiesto per n+i+1 operazioni Miglioramento dell'implementazione Mappa Renyi con i costante Un ulteriore miglioramento del parametro AT può essere ottenuto considerando l'implementazione della somma dei parametri C ed S utilizzando solo registri ad n-bit per contenere i parametri C ed S. L'utilizzo di tale strategia comporta solo una ridondanza per la rappresentazione del parametro k dato da: k=(c+s)mod 2 n (2.5) L'implementazione hardware che consente di ottenere questo miglioramento è mostrata nella seguente figura: 17

18 Fig. (9). Circuito ottimizzato per l'implementazione di f(k) con i costante E' stato stimato che la complessità in termini di parametro AT è uguale a 4n(9+h)(2w+1). Il conteggio è stato ottenuto considerando l'area per i registri C,S,D,T e b (20n), l'area per i 2 addizionatori CS (16n), l'area richiesta per i 2 semi addizionatori CS (h4n) e il tempo di ritardo richiesto per le operazioni (2w+1). 2.3 Confronto tra le soluzioni proposte. Per poter effettuare un confronto tra le prestazioni delle soluzioni presentate, analizzeremo il tempo di ritardo T e la complessità AT. In particolare i grafici andranno a considerare i valori dei suddetti parametri con riferimento alla soluzione ad i costante con relativo miglioramento, normalizzata alla soluzione che utilizza i variabile. 18

19 2.3.1 Analisi del tempo di ritardo. Con riferimento alla figura (10) si constata che i tempi di ritardo delle soluzioni ad i costante (algoritmo B1 senza up-grade,algoritmo B2 con up-grade) per un fissato valore di n sono sempre migliori delle soluzioni ad i variabile (algoritmo A1). Inoltre è evidente che la soluzione migliorata dell'algoritmo ad i costante presenta un tempo di ritardo migliore rispetto a qualunque altra soluzione. Fig. (10). Tempo di ritardo normalizzato al tempo di ritardo dell'algoritmo A Analisi del parametro AT. Nella figura (11) viene mostrato il confronto tra le diverse soluzioni descritte in precedenza. Emerge che l'algoritmo con i costante e up-grade(b2) risulta più efficiente rispetto all'algoritmo con i variabile(a1) per valori di i fino a 0.6n a dispetto dell'algoritmo con i costante senza upgrade (B1) che si presenta sempre più efficiente rispetto all'algoritmo A1. L'algoritmo B1,invece è più efficiente rispetto al B2 solo per valori di i fino a 0.4n. 19

20 Fig. (11) Complessità AT normalizzata alla complessità AT dell'algoritmo A2 20

21 Capitolo 3 : Pseudo-Random Software Number Generator Gli algoritmi per implementare i PRNG basano il loro funzionamento sulla generazione dello stato corrente di una sequenza a partire dagli stati precedenti. I vari stati vengono codificati con stringhe di bit,ciascuna delle quali, come anticipato, risulta funzione delle sequenze relative agli stati precedenti. Una strategia utilizzata per l'implementazione dei PRNGs si basa sull'utilizzo dei registri a scorrimento con retroazione lineare(lfsr), i cui dati d'ingresso sono prodotti da una funzione lineare dello stato interno, per esempio una XOR. Il valore iniziale del LFSR è chiamato seme. Considerato che il registro ha un numero finito di stati possibili che sono conseguenza del seme iniziale, il ciclo di codici che si possono ottenere si presentano ripetitivi e come tali praticamente deterministici. Tuttavia, se la funzione di retroazione viene opportunamente scelta, si possono produrre sequenze di bit che possono apparire casuali in quanto dotate di un periodo molto lungo. Esistono numerosi tipi di PRNG che fanno uso del LFSR e che si differenziano in base al tipo di algoritmo implementato. Tra i più importanti ed utilizzati si individuano: Middle Square Method Linear Congruential Generator Lagge di Fibonacci Generator Mersenne Twister Blum Blum Shub L'ultimo metodo, in particolare, è utilizzato in molte delle applicazioni critiche basate su crittografia. Per tali generatori c è il bisogno di definire, oltre alle due proprietà citate precedentemente, un altra importante proprietà`: la non predicibilità. Ovvero,l algoritmo usato per generare numeri casuali non deve permettere di ricostruire l intera sequenza di numeri a partire dalla conoscenza di una parte di essa o dal seme. Tutti i generatori che soddisfano questo requisito sono detti generatori crittograficamente sicuri (Cryptographically Secure Pseudo-Random Number Generator CSPRNG). 3.1 Middle Square Method Uno dei primi metodi proposti fu il Middle Square Method - MSM. Questo metodo fu inventato da John Von Neumann e descritto in una conferenza nel L algoritmo si basa su 21

22 un idea sostanzialmente semplice: 1) Si stabilisce valore iniziale (seme) x 0 di M cifre 2) Tale valore è elevato al quadrato, aggiungendo degli 0 se necessario 3) L elemento successivo della sequenza in output sarà quello individuato dalle M cifre centrali di tale numero. 4) Il numero individuato farà da nuovo input all algoritmo ed iterando il processo è possibile ottenere una sequenza di numeri pseudo-random di M cifre Esempio MSM: x n = x n2 = x n+1 = x n+1 2 = x n +2 = Sono molte però le problematiche legate a questo tipo di algoritmo: Nel caso in cui le M cifre centrali siano tutte 0, il generatore produrrà solamente numeri ad M cifre nulle. Nel caso in cui almeno la metà delle cifre ottenute fosse composta da 0, tutti successivi output decrescerebbero fino a 0. Particolari valori iniziali potrebbero produrre sempre gli stessi output. Nonostante le carenze, questo metodo risulta comunque molto rapido. 3.2 Linear Congruential Generator La metodologia più utilizzata è quella degli algoritmi a congruenza lineare. Questo tipo di algoritmi permettono, in modo analogo all algoritmo Middle Square, di generare una sequenza di numeri casuali a partire da un seme. In più risolve il problema della comparsa degli zeri introdotto nel Middle Square Method. Il generatore lineare congruenziale - LCG fu introdotto intorno agli anni 50 dal matematico 22

23 D.H. Lemer ed è ancora oggi molto utilizzato. Si basa su un concetto molto semplice da comprendere e da implementare. Il generatore implementa la seguente relazione matematica: x n+1 =(ax n +c)mod m In cui: x 0 è il seme o valore iniziale x n è un valore della sequenza m coefficiente intero strettamente maggiore di 0 chiamato modulo a coefficiente intero strettamente maggiore di 0 chiamato moltiplicatore c e` detto incremento ed è non negativo. Nel caso in cui c= 0 si parla di Park-Miller RNG o RNG moltiplicativo) Il periodo di un LCG può essere al più pari ad e una scelta errata dei valori di e può influire negativamente sulla lunghezza della sequenza ottenuta. E` stato necessario, dunque, definire dei criteri per assegnare dei valori ad a, c, m ed x 0 al fine di garantire periodo massimo. In particolare è stato dimostrato che converrebbe scegliere in parametri i questo modo: 1) c ed m devono essere coprimi (MCD(c,m ) = 1) 2) a 1 è divisibile per tutti i fattori primi di m 3) Se a 1 è multiplo di 4 anche m dovrà essere un multiplo di Esempio LCG: Un esempio può essere mostrato scegliendo i parametri in questo modo: a = 3 c = 6 m = 5 x 0 = 1 L output è raffigurato in Fig. 12 dove si evince che, in questo caso, il periodo è uguale a 4. La relazione che caratterizza il generatore diventa: x i +1 = (3 x i + 6) mod 5 23

24 La sequenza generata sarà dunque: x 1 = (3 x 0 + 6) mod 5 =4 x 2 = (3 x 1 + 6) mod 5=5 x 3 = (3 x 2 + 6) mod 5=0 x 4 = (3 x 3 + 6) mod 5=1 x 5 = (3 x 4 + 6) mod 5=4 x 6 = (3 x 5 + 6) mod 5=3 [Fig. 12. Sequenza generata dal LCG] Alcune librerie di vari compilatori implementano la funzione rand(), basata sul LCG, con parametri differenti. Tra le più importanti troviamo: GNU C Library (glibc) che seleziona: m= 2 32, a= , c= e si considerano i bit ottenuti dal 30 a 0 Java.Util.Random che seleziona: m= 2 48, a= , c=11 e si considerano i bit ottenuti dal 47 a 16 I vantaggi di questo tipo di approccio sono sicuramente la semplicità di realizzazione e la velocità di generazione dei numeri (complessità computazionale molto bassa). Queste caratteristiche gli permettono di essere utilizzati in tutti quei sistemi, con potenzialità di calcolo e memoria limitate, come i sistemi Embedded e spesso nei videogiochi. Tuttavia, si può ottenere una sequenza periodica di periodo al più pari ad m, quindi occorre scegliere m elevato e un valore di a,c e x 0 tali da avere periodo massimo. I valori x i generati sono determinati da questi ultimi quattro parametri rendendo le sequenze in uscita predicibili. Inoltre le sequenze generate risultano correlate, pertanto non si presta a tutte le applicazioni basate su crittografia e simulazione. 24

25 3.3 Legge di Fibonacci Generator Il generatore di Fibonacci ritardato è stato introdotto per cercare di allungare il periodo del generatore. E` basato sulla generalizzazione della successione di Fibonacci: F k =F k 1 +F k 2 Similmente, il generatore è definito dalla relazione: In cui: F k = ( F k p F k p+q ) mod m F k è l n-esimo termine della successione di numeri pseudo-casuali generati p è chiamato lag del generatore e` una qualsiasi operazione (addizione, sottrazione, divisione, moltiplicazione o un operazione logica) m= 2 l è detto modulo Con tale algoritmo si generano numeri random formati da l bit. Nel generatore di Fibonacci, il periodo varia a seconda dell operatore utilizzato. Ad esempio, nel caso di somma o sottrazione, il generatore avrà periodo tale che: T (2 p 1) 2 l 1 Nel caso della moltiplicazione, il generatore avrà periodo tale che: T (2 p 1) 2 l 3 Nel caso dell OR esclusivo, il periodo diventerà: T (2 p 1) Tutti i generatori di Fibonacci hanno numerosi vantaggi rispetto ai generatori lineari congruenziali. Un aspetto di rilievo è il periodo relativamente più lungo rispetto ai LCGs in quanto può essere aumentato scegliendo un valore di sufficientemente grande. E` stato dimostrato che con i generatori basati su addizione, sottrazione e moltiplicazione si ottengono buoni risultati sulla maggior parte dei test statistici anche con valori piccoli di p. Valori tipici della coppia (p,q) sono: (17, 5), (31, 13), (55, 24). E` però raccomandato scegliere valori di p sempre sufficientemente grandi al fine di migliorare la qualità del generatore stesso. Generatori basati su OR Esclusivo sono inefficienti per valori di piccoli, mentre per valori grandi, 25

26 riescono a superare tutti i test statistici. Per questi generatori è consigliato, inoltre, assegnare a p numeri primi di Mersenne. 3.4 Mersenne Twister E` un algoritmo sviluppato da M. Matsumoto e T.Nishimura nel Questo algoritmo viene proposto al fine di porre rimedio alle varie mancanze delle precedenti soluzioni. La prima cosa che bisogna osservare è che il periodo viene aumentato a , tale periodo non e` una casualità` in quanto, il generatore MT, e` stato progettato apposta per ovviare ai problemi introdotti dai generatori con periodo breve. Inoltre e` molto simile al LCG usato nel linguaggio C in termini di velocità di generazione. Il nome di questo metodo deriva dal fatto che la lunghezza del periodo scelto deve essere un numero primo di Mersenne. Un numero primo di Mersenne è un numero primo esprimibile come: M p = 2 p 1 p è un numero intero positivo primo Nonostante sia trascurabile la correlazione tra valori successivi della sequenza, questo algoritmo, non è considerato ottimale in ambito crittografico ma si presta molto bene nei metodi Monte Carlo. In seguito però, sono state introdotte nuove varianti dell algoritmo in grado di lavorare anche in ambito crittografico. Si rimanda, per l implementazione di tale algoritmo, al sito ufficiale [11]. 3.5 Blum Blum Shub Questo algoritmo, facendo parte dei CSPRNGs, possiede proprietà che lo rendono particolarmente adatto in ambito della crittografia. Il Blum Blum Shub generator o anche BBS o generator x 2 mod n, e` definito come: b i = x i mod 2 Dove: 2 x i = x i 1 mod n n = pq è un numero intero chiamato Blum Integer 26

27 p e q sono due numeri primi distinti con p= 3 (mod 4) e q = 3 (mod 4) Step eseguiti dall algoritmo: 1)Vengono scelti due numeri primi casuali molto grandi (p e q) e si calcola il Blum Integer: n=pq 2)Viene scelto un numero casuale, s 0 detto seme, primo con n ed appartenente all intervallo 2 [1, 1]. Si calcola allora x 0 = s 0 mod n Per i che va da 1 a l, con l numero di generazioni da effettuare, si esegue: 2 a. x i = x i 1 mod n b. Si calcola b i Esempio BBS: n = p q = 7 19 = 133 s = 100 x 0 = mod 133 = 25 b 0 =1 x 1 = 25 2 mod 133 = 93 b 0 =0 x 2 = 93 2 mod 133 = 4 b 0 =0 x 3 = 4 2 mod 133 = 16 b 0 =1 x 4 = 16 2 mod 133 = 123 b 0 =1 L'output sarà : [ 1,0,0,1,1 ]. Questo algoritmo è poco efficiente nelle simulazioni in quanto potrebbe essere laborioso il calcolo dei numeri. Inoltre, la sequenza prodotta da questo algoritmo non è bilanciata (le frequenze con cui si verificano gli 0 e gli 1 non sono uguali). Tuttavia, è stato dimostrato che, questa non uniformità non è poi così differente dalle sequenze generate da un TRNG della stessa lunghezza. Per tale motivo si presta molto bene in ambito crittografico 27

28 Capitolo 4: TRNGs VS PRNGs Finora abbiamo analizzato le tecniche di generazione di numeri casuali più diffuse, sia quelle basate su TRNG sia quelle basate su PRNG, cercando di porre in risalto i vantaggi e svantaggi di ogni tecnica. Lo scopo di questo capitolo è di mettere a confronto, anche sulla base di un esempio pratico, le più significative differenze tra le due famiglie di generatori. Si parte dal presupposto che un modo semplice per esaminare un generatore di numeri è, senza effettuare test statistici, mostrare una visualizzazione grafica dei numeri prodotti in quanto risulta più semplice dedurre qualcosa osservando semplicemente un immagine. Questo approccio ovviamente non è esaustivo come l insieme dei test statistici ma consente, rapidamente, di farsi un idea su cosa si sta cercando di dimostrare. Sono state generate, a tal fine, due bitmap: una tramite il tool Bitmap Generator basato su un TRNG del sito web [15] e l altra tramite un algoritmo implementato in C++ (basato dunque su un PRNG) mostrato in Fig.3.1. Il Bitmap Generator si avvale di un TRNG il quale utilizza, come sorgente, il rumore atmosferico. L algoritmo implementato, invece, genera numeri casuali, nell intervallo [0,1], con l ausilio della funzione rand() della libreria <cstdlib> del C++. La funzione rand() è inizializzata da un seme tramite la chiamata della funzione srand(). La bitmap è caratterizzata da uno sfondo bianco e nel caso in cui venga generato un 1 allora si va a colorare di nero un pixel all interno della bitmap. Alla fine dell algoritmo la bitmap è salvata su un file PRNG_bitmap1.bmp. Il programma è stato compilato col MinGW GCC ed eseguito sulla piattaforma Microsoft Windows 10 e processore AMD A8. 28

29 Una volta generate, le due bitmap, sono state messe a confronto Fig. 3.2 e Fig

30 Come si può notare dalle immagini, la bitmap generata con C++/Windows presenta una certa correlazione tra i pixel rispetto a quella generata col Bitmap Generator. Questo dimostra la sostanziale differenza tra le due famiglie di generatori. Ovvero, a partire da un determinato seme, i PRNGs generano sequenze di numeri di bassa qualità e periodiche a differenza dei TRNGs. Inoltre cambiando il seme, ad es. srand(9), la bitmap generata sarà del tutto simile a quella in Fig.3.3 e la correlazione tra i pixel persiste. E` interessante notare che questo algoritmo genera una grande sequenza di numeri in pochissimo tempo (ovviamente la velocità di esecuzione varia sulla base di molti fattori). Nello specifico sono stati generati numeri in s. Sulla base di tutte le osservazioni fatte si deduce allora che i PRNGs sono: Efficienti, perché riescono a produrre moltissimi numeri in tempi ridotti Deterministici, perché se si conosce lo stato iniziale, una certa sequenza di numeri può essere riprodotta in un secondo momento Periodici, perché le sequenze generate potrebbero ripetersi nel tempo. Anche se attualmente, con i moderni generatori, sono stati raggiunti periodi talmente lunghi che possono essere considerati aperiodici in diversi scenari applicativi. D altro canto, i TRNGs sono: Inefficienti, perché, paragonati ai PRNGs, necessitano di molto più tempo per produrre sequenze di numeri casuali Non deterministici, perché una certa sequenza di numeri non può essere riprodotta Aperiodici Queste caratteristiche sono riassunte nella tabella in Fig.12 Fig.12 Confronto tra PRNGs e TRNGs 30

31 Capitolo 5: Conclusioni A questo punto è lecito porsi la seguente domanda: quale generatore, tra tutti quelli osservati, è il migliore? Ancora una volta la risposta a questa domanda è: dipende. La scelta di utilizzare uno specifico RNG consegue dal tipo di scenario applicativo e dai requisiti che bisogna soddisfare. Non è possibile, dunque, dire che una soluzione è migliore rispetto ad un altra. Si può solamente dire che, a partire dai requisiti di progetto che bisogna soddisfare, una soluzione potrebbe essere più adatta rispetto ad un altra. Quindi, avendo analizzato gli aspetti più significativi delle due famiglie di generatori è possibile affermare che: I PRNGs sono adatti in tutte quelle applicazioni che richiedono, in tempi ridotti, grandi sequenze di numeri e una certa periodicità. I TRNGs sono utili in tutte le applicazioni che richiedono una certa qualità di sequenze generate. Sono utilizzati in particolar modo nel campo della crittografia in quanto la robustezza dei sistemi crittografici è determinata dalla loro capacità di generare, tramite un RNG, una keystream non predicibile e non riproducibile. I TRNGs sono però difficili da progettare, da integrare e sono costosi. Per questi motivi, in ambito crittografico sono stati proposti i così detti CSPRNGs i quali, nonostante siano classificati come PRNGs, soddisfano i requisiti di sicurezza. Soluzioni alternative ed innovative sono rappresentate dagli Hybrid Random Number Generator HRNG. Questa soluzione è osservata con grande interesse dagli studiosi in quanto potrebbe risolvere numerosi problemi in termini di qualità di sequenze e velocità di generazione. Infatti si cerca di combinare i TRNGs con i PRNGs tra di loro: si genera un seme con un TRNG, questo seme va ad inizializzare un PRNG in modo da avere un generatore che produce sequenze puramente casuali (grazie al rinnovo periodico del seme col TRNG) generate in modo estremamente rapido (grazie all algoritmo efficiente del PRNG). 31

32 Bibliografia [1] Craig S. Petrie and J. Alvin Connelly, A Noise-Based IC Random Number Generator for Applications in Cryptography, IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, VOL. 47, NO. 5, 05/2000 [2] Tommaso Addabbo, Davide De Caro, Ada Fort1, Nicola Petra, Santina Rocchi and Valerio Vignoli, Efficient implementation of pseudochaotic piecewise linear maps with high digitization accuracies, INTERNATIONAL JOURNAL OF CIRCUIT THEORY AND APPLICATIONS, Int. J. Circ. Theor. Appl. 2012; [3] Benjamin Jun and Paul Kocher, The Intel Random Number Generator, Cryptography Research, Inc. White Paper Prepared For Intel Corporation, 22/04/1999 [4] V. Kote, V. Molata, J. Jakovenko1, Improved Structure of True Random Number Generator with Direct Amplification of Analog Noise, 2012 [5] G. Bucci and R. Luzzi, "Design of Testable Random Bit Generators," in Cryptographic Hardware and Embedded Systems CHES 2005, 7th International Workshop, Edinburgh, Scotland, August 29 September 1, 2005, Proceedings, ser. Lecture Notes in Computer Science, J. R. Rao and B. Sunar, Eds., vol pp , Springer, [5] Dries Schellekens, Bart Preneel, and Ingrid Verbauwhede, FPGA Vendor Agnostic True Random Number Generator [6] Hamid Nejati, Ahmad Beirami, and Warsame H. Ali, Discrete-Time Chaotic-Map Truly Random Number Generators: Design, Implementation, and Variability Analysis of the Zigzag Map, 5/06/2012 [7] Wikipedia, [8] Srinivas Aluru1, Lagged Fibonacci Random Number Generators for Distributed Memory Parallel Computers, Journal of Parallel and Distributed Computing 45, [9] Wikipedia, [10] 19/04/2016 [11] Thomas W. Cusick, Properties of the x2 mod N Pseudorandom Number Generator, IEEE Transaction on Information Theory, vol. 41, no. 4, July 1995 [12] Wikipedia, 09/04/2016 [13] Robert McEvoyt, James Curran, Paul Cotter, and Colin Murphyt, Fortuna: Cryptographically Secure Pseudo-Random Numnber Generation In Software And Hardware, 28/06/

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Elettronica analogica: cenni

Elettronica analogica: cenni Elettronica analogica: cenni VERSIONE 23.5.01 valle del componente di acquisizione dati nella struttura funzionale di un sistema di misura: misurando x y y z sens elab pres ambiente w abbiamo già considerato

Dettagli

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

I Bistabili. Maurizio Palesi. Maurizio Palesi 1 I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore

Dettagli

Le aree dell informatica

Le aree dell informatica Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani ([email protected])

Dettagli

SECONDO BIENNIO ISTITUTO TECNICO ELETTRONICA ED ELETTROTECNICA

SECONDO BIENNIO ISTITUTO TECNICO ELETTRONICA ED ELETTROTECNICA SETTORE TECNOLOGICO ISTITUTO TECNICO INDIRIZZO ELETTRONICA ED ELETTROTECNICA ARTICOLAZIONE ELETTRONICA ESITI DI APPRENDIMENTO (competenze, abilità, conoscenze) Regolamento, Art.5, comma 1 Nota: Le Competenze,

Dettagli

Esercizio C2.1 - Acquisizione dati: specifiche dei blocchi

Esercizio C2.1 - Acquisizione dati: specifiche dei blocchi Esercizio C2.1 - Acquisizione dati: specifiche dei blocchi È dato un segnale analogico avente banda 2 khz e dinamica compresa tra -2 V e 2V. Tale segnale deve essere convertito in segnale digitale da un

Dettagli

Collaudo statico di un ADC

Collaudo statico di un ADC Collaudo statico di un ADC Scopo della prova Verifica del funzionamento di un tipico convertitore Analogico-Digitale. Materiali 1 Alimentatore 1 Oscilloscopio 1 Integrato ADC 0801 o equivalente Alcuni

Dettagli

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI

Dettagli

orario ricevimento via e-mail: orario ufficio risposta entro 3 giorni

orario ricevimento via e-mail: orario ufficio risposta entro 3 giorni FACOLTA : INGEGNERIA CORSO DI LAUREA: INFORMATICA INSEGNAMENTO: CONTROLLI DIGITALI Modulo 1 NOME DOCENTE: Prof. Giovanni Fedecostante indirizzo e-mail: [email protected] orario ricevimento

Dettagli

Esercitazione Strumentazione virtuale

Esercitazione Strumentazione virtuale Esercitazione Strumentazione virtuale - 1 Esercitazione Strumentazione virtuale 1 - Oggetto Introduzione alla strumentazione virtuale. LabView: il pannello frontale e il diagramma a blocchi. Esempi: generatore

Dettagli

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

CONVERSIONE ANALOGICO-DIGITALE E DIGITALE-ANALOGICA

CONVERSIONE ANALOGICO-DIGITALE E DIGITALE-ANALOGICA CONVERSIONE ANALOGICO-DIGITALE E DIGITALE-ANALOGICA Università di Palermo Elettronica digitale II Giuseppe Caruso 1 ELABORAZIONE ANALOGICA O DIGITALE DEI SEGNALI Elaborazione analogica Trasduttore d ingresso

Dettagli

Il Metodo Scientifico

Il Metodo Scientifico Unita Naturali Il Metodo Scientifico La Fisica si occupa di descrivere ed interpretare i fenomeni naturali usando il metodo scientifico. Passi del metodo scientifico: Schematizzazione: modello semplificato

Dettagli

A.S. 2014/15 CLASSE 4 BEE MATERIA: ELETTROTECNICA ED ELETTRONICA

A.S. 2014/15 CLASSE 4 BEE MATERIA: ELETTROTECNICA ED ELETTRONICA A.S. 2014/15 CLASSE 4 BEE MATERIA: ELETTROTECNICA ED ELETTRONICA UNITA DI APPRENDIMENTO 1: RETI ELETTRICHE IN DC E AC Essere capace di applicare i metodi di analisi e di risoluzione riferiti alle grandezze

Dettagli

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi Sistema per l acquisizione, l elaborazione e la gestione delle apparecchiature di una stazione di monitoraggio della qualità dell aria sviluppato da Project Automation S.p.A. è il sistema periferico per

Dettagli

Come costruire un computer quantistico

Come costruire un computer quantistico Come costruire un computer quantistico Oliver Morsch CNR-INFM, Dipartimento di Fisica, Università di Pisa Introduzione: Fisica quantistica La fisica del c.q.: La sovrapposizione e gli stati entangled Problemi

Dettagli

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN [email protected]

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN [email protected] Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come

Dettagli

Quantificare la variabilità dei processi ecologici

Quantificare la variabilità dei processi ecologici Scopo ecologia Quantificare la variabilità dei processi ecologici Comprensione dei meccanismi fondamentale per identificare gli effetti del disturbo antropico e per prevenire alterazioni su scala globale

Dettagli

FSM: Macchine a Stati Finiti

FSM: Macchine a Stati Finiti FSM: Macchine a Stati Finiti Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Metodo per descrivere macchine di tipo

Dettagli

A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E.

A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E. A.S. 2015/16 CLASSE 5 AEE MATERIA: LABORATORIO DI T.P.S.E. UNITA DI APPRENDIMENTO 1: AMPLIFICATORI OPERAZIONALI Essere capace di progettare le principali configurazioni circuitali con op-amp. Caratteristiche

Dettagli

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E V E R O N A

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E V E R O N A I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G U G L I E L M O M A R C O N I V E R O N A PROGRAMMA PREVENTIVO A.S. 2015/2016 CLASSE 4Ac MATERIA: Elettrotecnica, elettronica e automazione

Dettagli

ESERCIZI DEL CORSO DI INFORMATICA

ESERCIZI DEL CORSO DI INFORMATICA ESERCIZI DEL CORSO DI INFORMTIC Questa breve raccolta di esercizi vuole mettere in luce alcuni aspetti della prima parte del corso e fornire qualche spunto di riflessione. Il contenuto del materiale seguente

Dettagli

Come si progetta un circuito Perché simulare un circuito Cosa vuol dire simulare un circuito Il Simulatore Pspice Pacchetti che contiene Pspice

Come si progetta un circuito Perché simulare un circuito Cosa vuol dire simulare un circuito Il Simulatore Pspice Pacchetti che contiene Pspice 1 Come si progetta un circuito Perché simulare un circuito Cosa vuol dire simulare un circuito Il Simulatore Pspice Pacchetti che contiene Pspice Principio di funzionamento Che cosa è una NetList Fasi

Dettagli

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi 7 Disegni sperimentali ad un solo fattore Giulio Vidotto Raffaele Cioffi Indice: 7.1 Veri esperimenti 7.2 Fattori livelli condizioni e trattamenti 7.3 Alcuni disegni sperimentali da evitare 7.4 Elementi

Dettagli

MATEMATICA e COMPLEMENTI di MATEMATICA

MATEMATICA e COMPLEMENTI di MATEMATICA ALLEGATO N.8_b MATEMATICA e COMPLEMENTI di MATEMATICA DESTINATARI gli studenti delle classi: terze e quarte nuovo ordinamento RISULTATI DI APPRENDIMENTO DELL OBBLIGO D ISTRUZIONE, CHIAVE EUROPEA Padroneggiare

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

SENSORE PER LA MISURA DEL RUMORE (IL FONOMETRO)

SENSORE PER LA MISURA DEL RUMORE (IL FONOMETRO) SENSORE PER LA MISURA DEL RUMORE (IL FONOMETRO) Il fonometro è un dispositivo elettroacustico per la misura del livello di pressione sonora. La sua funzione principale p è quella di convertire un segnale

Dettagli

DAE Digital Audio Experience

DAE Digital Audio Experience DAE Digital Audio Experience Carmine Ruffino (a.k.a. ) Premesse: Non è un corso di informatica musicale Vuole essere una panoramica sulle problematiche e strumenti usati nel trattamento digitale del suono

Dettagli

Discharge. Timer 555. Threshold. Trigger

Discharge. Timer 555. Threshold. Trigger Punto a Lo schema proposto consente la misura dell umidità relativa tramite il confronto delle durate degli impulsi prodotti da due monostabili. Un monostabile produce un impulso di durata fissa, pari

Dettagli

Capitolo Acquisizione dati con PC

Capitolo Acquisizione dati con PC Capitolo 2 Acquisizione dati con PC 2.1 Generalità 2.2 Sistema di acquisizione dati analogici monocanale con PC, per segnali lentamente variabili 2.3 Sistema di acquisizione dati analogici multicanale

Dettagli

NUCLEI FONDANTI COMPETENZE CONTENUTI ABILITA METODOLOGIE E STRUMENTI METODO SCIENTIFICO VEDERE

NUCLEI FONDANTI COMPETENZE CONTENUTI ABILITA METODOLOGIE E STRUMENTI METODO SCIENTIFICO VEDERE NUCLEI FONDANTI COMPETENZE CONTENUTI ABILITA METODOLOGIE E STRUMENTI METODO SCIENTIFICO VEDERE OSSERVARE COMPARARE CLASSIFICARE FORMULARE E VERIFICARE IPOTESI UTILIZZANDO SEMPLICI SCHEMATIZZAZIONI Relazione

Dettagli

A.C. Neve Esercizi Digitali 1

A.C. Neve Esercizi Digitali 1 Esercizi di Elettronica Digitale.. Neve Esercizi Digitali 1 Porte logiche Elementari ND OR NND NOR EXOR EXNOR 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 * Reti logiche con interruttori

Dettagli

RIDUZIONE DELLE DISTANZE

RIDUZIONE DELLE DISTANZE RIDUZIONE DELLE DISTANZE Il problema della riduzione delle distanze ad una determinata superficie di riferimento va analizzato nei suoi diversi aspetti in quanto, in relazione allo scopo della misura,

Dettagli

Che cos'è la risoluzione video

Che cos'è la risoluzione video Che cos'è la risoluzione video 1 Vediamo che cos'è e come funziona il monitor del pc, che cosa sono la risoluzione video, i pixel, il dot pitch e il tasso di refresh. 1. I monitor Come per le televisioni,

Dettagli

La mobilità degli elementi chimici

La mobilità degli elementi chimici La mobilità degli elementi chimici Gli ioni contenuti nella parte sinistra del diagramma sono quelli che in soluzione si presentano sotto forma di cationi semplici. Gli ioni nella parte centrale del diagramma

Dettagli

Calcolatori Elettronici Reti Sequenziali Asincrone

Calcolatori Elettronici Reti Sequenziali Asincrone Calcolatori Elettronici eti equenziali Asincrone Ing. dell Automazione A.A. 2/2 Gabriele Cecchetti eti equenziali Asincrone ommario: Circuito sequenziale e bistabile Definizione di rete sequenziale asincrona

Dettagli

Esercitazioni di statistica

Esercitazioni di statistica Esercitazioni di statistica Misure di associazione: Indipendenza assoluta e in media Stefania Spina Universitá di Napoli Federico II [email protected] 22 ottobre 2014 Stefania Spina Esercitazioni

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Il progetto SIMULATOR

Il progetto SIMULATOR Conferenza Esri Italia 2015 Roma 15-16 Aprile 2015 Ergife Palace Hotel Il progetto SIMULATOR Utilizzo di dati da ricevitori GNSS a singola frequenza per il monitoraggio geofisico Davide Curone Esri Italia

Dettagli

Xerox FreeFlow Print Server V 9.0 SP3

Xerox FreeFlow Print Server V 9.0 SP3 FreeFlow Print Server V9 SP3 Novembre 2012 708P90226 Xerox FreeFlow Print Server V 9.0 SP3 Pacchetto di benvenuto per i sistemi Xerox Color 550/560, Xerox 700 e 770 Digital Color e Xerox J75 e C75 Digital

Dettagli

CONVERTITORI DIGITALE/ANALOGICO (DAC)

CONVERTITORI DIGITALE/ANALOGICO (DAC) CONVERTITORI DIGITALE/ANALOGICO (DAC) Un convertitore digitale/analogico (DAC: digital to analog converter) è un circuito che fornisce in uscita una grandezza analogica proporzionale alla parola di n bit

Dettagli

Laboratorio software. A.A. 2009-2010 C. Brandolese

Laboratorio software. A.A. 2009-2010 C. Brandolese Laboratorio software A.A. 2009-2010 Hardware testing with software T1. RAM Testing Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche note per il testing della memoria RAM di un sistema

Dettagli

Modulo 1 Software e Reti. Prof.ssa Francesca Rammairone

Modulo 1 Software e Reti. Prof.ssa Francesca Rammairone Modulo 1 Software e Reti Prof.ssa Francesca Rammairone SOFTWARE Insieme di istruzioni che consentono al computer di svolgere le più svariate funzioni. Queste istruzioni sono i programmi che descrivono

Dettagli

SOFTWARE PER DATA LOGGER VACQ

SOFTWARE PER DATA LOGGER VACQ SOFTWARE PER DATA LOGGER VACQ I software a disposizione sono stati sviluppati appositamente per ogni prodotto, esaltandone le specifiche tecniche senza tuttavia risultare incomprensibili all utente. Non

Dettagli

Approccio Meccatronico alla progettazione. Ing. Roberto Loce Solution Architect Motion Control Rockwell Automation

Approccio Meccatronico alla progettazione. Ing. Roberto Loce Solution Architect Motion Control Rockwell Automation Approccio Meccatronico alla progettazione Ing. Roberto Loce Solution Architect Motion Control Rockwell Automation Una moderna macchina automatica è un sistema meccatronico Meccanica Organi di trasmissione

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Random number generators

Random number generators Statistica computazionale Random number generators www.cash-cow.it Distribuito sotto licenza Creative Common, Share Alike Attribution 2 Indice I. Introduzione II. Processi fisici per la creazione di numeri

Dettagli

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

Dettagli

Generazione di Numeri Casuali- Parte 2

Generazione di Numeri Casuali- Parte 2 Esercitazione con generatori di numeri casuali Seconda parte Sommario Trasformazioni di Variabili Aleatorie Trasformazione non lineare: numeri casuali di tipo Lognormale Trasformazioni affini Numeri casuali

Dettagli

Introduzione alla Programmazione

Introduzione alla Programmazione Introduzione alla Programmazione Lorenzo Bettini Corso di Laurea in Scienze dell'educazione 2014/2015 Cosa è un programma Costituito da tante istruzioni Una lista di cose da fare Che il processore esegue

Dettagli

SEGNALE WIFI PRIETTATO A LUNGHE DISTANZE COSTRUIAMO L ANTENNA A BARATTOLO O CANTENNA

SEGNALE WIFI PRIETTATO A LUNGHE DISTANZE COSTRUIAMO L ANTENNA A BARATTOLO O CANTENNA SEGNALE WIFI PRIETTATO A LUNGHE DISTANZE COSTRUIAMO L ANTENNA A BARATTOLO O CANTENNA Opera a cura di Linus sotto Licenza - Introduzione La cosiddetta antenna a barattolo, nota anche come cantenna, è una

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

01CXGBN Trasmissione numerica. parte 1: Introduzione ai sistemi di trasmissione numerica. Grandezze fondamentali.

01CXGBN Trasmissione numerica. parte 1: Introduzione ai sistemi di trasmissione numerica. Grandezze fondamentali. 01CXGBN Trasmissione numerica parte 1: Introduzione ai sistemi di trasmissione numerica. Grandezze fondamentali. 1 TRASMISSIONE NUMERICA Trasmissione da un utente TX a un utente RX di informazione discreta

Dettagli

OPK Suite. Menci Software. Caratteristiche generali. febbraio 2015

OPK Suite. Menci Software. Caratteristiche generali. febbraio 2015 Menci Software OPK Suite febbraio 2015 La suite OPK è un set di software per GIS e cartografia aerea dedicati al processamento di immagini large format acquisite con camere aeree o satelliti. OPK garantisce

Dettagli

Internet (- working). Le basi.

Internet (- working). Le basi. Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il

Dettagli

Programma di Robotica[LEGO EV3]

Programma di Robotica[LEGO EV3] Programma di Robotica[LEGO EV3] Target: 1. Alunni ultima classe scuola media inferiore per i quali sia possibile compiere un lavoro di potenziamento delle abilità per i livelli di eccellenza didattica

Dettagli

SOLUZIONE ESERCIZIO 1.1

SOLUZIONE ESERCIZIO 1.1 SOLUZIONE ESERCIZIO 1.1 La temperatura di fusione ed il coefficiente di espansione termica di alcuni metalli sono riportati nella tabella e nel diagramma sottostante: Metallo Temperatura di fusione [ C]

Dettagli

Casualità e numeri casuali

Casualità e numeri casuali Casualità e numeri casuali Esame di Matematica del discreto Andrea Nardelli 733637 Elena Scarpelli 736471 Indice 1 Introduzione 3 2 Utilizzi dei numeri casuali 5 3 Metodi per calcolare i numeri casuali

Dettagli

Generazione di numeri casuali. Daniela Picin

Generazione di numeri casuali. Daniela Picin Daniela Picin Testi di consultazione Gentle I.E. Random Number Generation and Monte Carlo Methods, 2nd ed. Springer Verlag, 2005 Raj Jain - The Art of Computer Systems Performance Analysis: Techniques

Dettagli

FORUM DELLE ASSICURAZIONI COME SOSTENERE I COSTI DI UNA SOCIETÀ DI BROKERAGGIO: MODELLI ORGANIZZATIVI E SOLUZIONI GESTIONALI MILANO 1 OTTOBRE 2008

FORUM DELLE ASSICURAZIONI COME SOSTENERE I COSTI DI UNA SOCIETÀ DI BROKERAGGIO: MODELLI ORGANIZZATIVI E SOLUZIONI GESTIONALI MILANO 1 OTTOBRE 2008 FORUM DELLE ASSICURAZIONI COME SOSTENERE I COSTI DI UNA SOCIETÀ DI BROKERAGGIO: MODELLI ORGANIZZATIVI E SOLUZIONI GESTIONALI MILANO 1 OTTOBRE 2008 IL PERCORSO Premessa; Organizzazione e qualità; Controllo

Dettagli

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Tesi di laurea in Informatica Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Relatore Ch.mo Prof. Giuseppe Trautteur Candidato Gioacchino Del

Dettagli

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare! La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. Le tecniche di cluster analysis vengono usate per esplorare i dati e non per modellare! La cluster analysis

Dettagli

Opzione manutentore impianti elettrici e automazione

Opzione manutentore impianti elettrici e automazione PROGRAMMAZIONE DI T.T.I.M. (TECNOLOGIE E TECNICHE DELL'INSTALLAZIONE E DELLA MANUTENZIONE) CLASSE III Opzione manutentore impianti elettrici e automazione 1 UNITA' DI MISURA E CONVERSIONI (modulo propedeutico)

Dettagli

Matematica con il foglio di calcolo

Matematica con il foglio di calcolo Matematica con il foglio di calcolo Sottotitolo: Classe: V primaria Argomento: Numeri e operazioni Autore: Guido Gottardi, Alberto Battaini Introduzione: l uso del foglio di calcolo offre l opportunità

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1 Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/

Dettagli

di Alessandro Guaragni Sviluppo applicazioni Windows

di Alessandro Guaragni Sviluppo applicazioni Windows di Alessandro Guaragni Sviluppo applicazioni Windows Profilo della società Nata nel 1996 GASoft si posiziona sul mercato come partner ideale per lo sviluppo di applicativi in ambiente Microsoft Windows

Dettagli

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1 BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

Dettagli

I laureati scuole di provenienza, durata degli studi, votazioni ed età

I laureati scuole di provenienza, durata degli studi, votazioni ed età I laureati scuole di provenienza, durata degli studi, votazioni ed età Il campione in esame comprende gli 11450 laureati presso l Università di Lecce nel periodo maggio 1997 aprile 2004, corrispondente

Dettagli

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali

Dettagli

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di interfacciamento è stato introdotto al fine di collegare dispositivi remoti a bassa velocità con un calcolatore centrale. In questo genere

Dettagli

Perché andare dallo psicologo?

Perché andare dallo psicologo? Perché andare dallo psicologo? Idee e false credenze: Dal passato.. - Freud e il lettino: in base all'approccio teorico utilizzato ci possono essere diversi modi di entrare in relazione con l altra persona.

Dettagli

Motori Motore passo-passo Stadio di potenza PWM Sincrono Stadio di potenza del motore passopasso. Blocchi funzionali. Set point e generatore PWM

Motori Motore passo-passo Stadio di potenza PWM Sincrono Stadio di potenza del motore passopasso. Blocchi funzionali. Set point e generatore PWM RC1 Blocchi funzionai Motori a corrente continua Generatori Circuiti per il controllo dei motori in CC Motori a corrente alternata Circuiti per il controllo dei motori in CA Motori passo-passo Circuiti

Dettagli

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

CONCETTI BASE dell'informatica Cose che non si possono non sapere! CONCETTI BASE dell'informatica Cose che non si possono non sapere! Pablo Genova I. I. S. Angelo Omodeo Mortara A. S. 2015 2016 COS'E' UN COMPUTER? È una macchina elettronica programmabile costituita da

Dettagli

Stampare fedelmente i colori del marchio

Stampare fedelmente i colori del marchio Stampare fedelmente i colori del marchio con un set di inchiostri fissi La stampa con spettro cromatico esteso offre l equivalente della stampa a tinte piatte, ma senza costi di produzione. Una sfida per

Dettagli

Numeri casuali o pseudocasuali. I generatori di numeri casuali (RNGs) risultano componente fondamentale per diverse applicazioni:

Numeri casuali o pseudocasuali. I generatori di numeri casuali (RNGs) risultano componente fondamentale per diverse applicazioni: Numeri casuali o pseudocasuali I generatori di numeri casuali (RNGs) risultano componente fondamentale per diverse applicazioni: - Esperimenti statistici analisi di algoritmi - Simulazione di sistemi stocastici

Dettagli

I-XIII_romane_sawyer 14-02-2006 10:50 Pagina V. Indice. Prefazione

I-XIII_romane_sawyer 14-02-2006 10:50 Pagina V. Indice. Prefazione I-XIII_romane_sawyer 14-02-2006 10:50 Pagina V Prefazione XI Capitolo 1 Tecnologie dell informazione e della comunicazione e Sistemi Informativi 1 1.1 Informatica e ICT 1 1.2 Il funzionamento dei computer:

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 7 Le reti telematiche 1 Le reti telematiche Tra le tecnologie del XX secolo dominano l elaborazione e la distribuzione delle informazioni

Dettagli

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO NOME: COGNOME: LAUREA IN: ABILITAZIONI CONSEGUITE: ESPERIENZE DIDATTICHE

Dettagli

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE a.s. 2015/16 CLASSE 2^ ASA Indirizzo di studio Liceo scientifico Scienze Applicate Docente Disciplina

Dettagli

Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA

Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in INFORMATICA Offerta formativa Il (classe LM-18) ha, di norma, durata di due anni.

Dettagli

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II. Laurea Magistrale in Ingegneria per l Ambiente e il Territorio

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II. Laurea Magistrale in Ingegneria per l Ambiente e il Territorio UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II SCUOLA POLITECNICA E DELLE SCIENZE DI BASE Laurea Magistrale in Ingegneria per l Ambiente e il Territorio DIPARTIMENTO DI INGEGNERIA CIVILE, EDILE E AMBIENTALE

Dettagli

CURRICOLO DI GEOGRAFIA. INDICATORI OBIETTIVI di APPRENDIMENTO STANDARD PER LA VALUTAZIONE DELLE COMPETENZE DELL ALUNNO

CURRICOLO DI GEOGRAFIA. INDICATORI OBIETTIVI di APPRENDIMENTO STANDARD PER LA VALUTAZIONE DELLE COMPETENZE DELL ALUNNO CURRICOLO DI GEOGRAFIA SCUOLA PRIMARIA CLASSE PRIMA Riconoscere ed indicare la posizione di oggetti nello spazio vissuto rispetto ai punti di riferimento. Utilizzare correttamente gli organizzatori spaziali.

Dettagli

DI GESTIONE E CONSERVAZIONE DEI DOCUMENTI

DI GESTIONE E CONSERVAZIONE DEI DOCUMENTI COMUNE DI PINEROLO MANUALE DI GESTIONE E CONSERVAZIONE DEI DOCUMENTI ALLEGATO N. 6 PIANO DI SICUREZZA DEI DOCUMENTI INFORMATICI PIANO DI SICUREZZA DEI DOCUMENTI INFORMATICI Articolo 1 Sicurezza fisica

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani ([email protected])

Dettagli

primi passi di STEFANO LOVATI CONVERTITORI

primi passi di STEFANO LOVATI CONVERTITORI primi passi di STEFANO LOVATI CONVERTITORI ANALOGICO-DIGITALI Questo articolo ha lo scopo di fornire una panoramica sulle caratteristiche dei convertitori analogico-digitali, componenti elettronici di

Dettagli

Time-shift di energia

Time-shift di energia Sommario Le applicazioni dei sistemi di accumulo ed i benefici che possono apportare I costi dei sistemi di accumulo: valutazione per un applicazione di time-shift Time-shift di energia Acquistare energia

Dettagli

differiticerti.notebook November 25, 2010 nov 6 17.29 nov 6 17.36 nov 6 18.55 Problemi con effetti differiti

differiticerti.notebook November 25, 2010 nov 6 17.29 nov 6 17.36 nov 6 18.55 Problemi con effetti differiti Problemi con effetti differiti sono quelli per i quali tra il momento di sostentamento dei costi ed il momento di realizzo dei ricavi intercorre un certo lasso di tempo. Nei casi in cui il vantaggio è

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Sistema di misurazione distanza ed anticollisione

Sistema di misurazione distanza ed anticollisione Sistema di misurazione distanza ed anticollisione LPR-1DP/2 LPR-1DP Area virtuale di stop Area virtuale di stop LPR-1DXi Regolatore e sensore di distanza semplice e veloce misurazione della posizione misurazione

Dettagli