scienza,

Claude Shannon, un matematico per tutti i giorni

Sabino Maggi Sabino Maggi Segui 3-May-2016 · 5 minuti di lettura
Condividi

Non mi piace troppo celebrare le ricorrenze, ma per il centenario della nascita di Claude E. Shannon voglio fare una eccezione, perché dimostra come anche una attività di ricerca matematica prettamente teorica possa avere effetti, ogni giorno, sulla vita di tutti noi.

Shannon è considerato il padre della teoria dell’informazione, che è alla base del funzionamento dei computer e quindi di quasi tutto quello che usiamo oggi. Già che c’era ha anche sviluppato nel 1950 Teseo, un topolino meccanico che riusciva ad imparare a muoversi e ad uscire da un labirinto, e che è considerato uno dei primi esempi pratici di intelligenza artificiale.

Ma Shannon, insieme al fisico di origine svedese Harry Nyquist, è anche il padre del famoso teorema del campionamento1 che, nella versione (più accessibile) di Shannon, stabilisce che:

Se una funzione [latex] f(t) [/latex] non contiene frequenze maggiori di [latex] W [/latex] cps, può essere determinata completamente fornendone il valore ad istanti di tempo separati di [latex] 1 / (2W) [/latex] secondi.

In altre parole, se abbiamo un segnale che varia nel tempo e che contiene frequenze fino a 20.000 Hz (l’unità di misura cps usata da Shannon non è altro che l’Hz moderno), questo può essere ricostruito in modo preciso se ne determiniamo il valore almeno ogni [latex] 1/(2 \times 20.000) [/latex] secondi, cioè 40 mila volte al secondo.

Embè?

Embé un corno, questa affermazione semplice semplice è alla base della tecnologia che permette di convertire un qualunque segnale continuo di origine fisica (segnale analogico) in una serie di campioni numerici (segnale digitale) che rappresentano in modo fedele il segnale fisico di partenza.

Una cosa fondamentale, perché è molto più facile elaborare o modificare dei campioni numerici tramite un computer, che fare la stessa cosa con un segnale analogico. L’elaborazione di un segnale analogico ha bisogno di circuiti elettronici costruiti ad hoc, che possono svolgere solo ed esclusivamente la funzione per la quale sono stati progettati. Ogni modifica richiede un nuovo ciclo di progettazione, costruzione e test, con i costi conseguenti. Con un segnale digitale è sufficiente sviluppare un programma che tratti i dati numerici, con l’enorme vantaggio che un programma può essere facilmente modificato ed adattato a svolgere nuove funzioni non previste inizialmente.

Il teorema del campionamento è stato dimostrato originariamente per i segnali che cambiano nel tempo, ma può essere esteso anche a quelli che dipendono dallo spazio. In questo caso, la risoluzione spaziale fa le veci della frequenza: per riprodurre correttamente un oggetto di 2 cm di larghezza, bisogna acquisire un campione digitale dell’immagine almeno ogni centimetro.

Questo spiega perché nelle macchine fotografiche digitali il numero di megapixel (MP) di cui è composta la foto venga considerato un buon indice della qualità dell’immagine acquisita. A parità di distanza focale, aumentando il numero di pixel sull’asse orizzontale e verticale, aumenta anche il numero di dettagli catturati nell’immagine (almeno in prima approssimazione, perché bisogna anche tenere conto delle dimensioni del sensore e di altri fattori minori).2

[caption id=”attachment_2514” align=”aligncenter” width=”600”]Aumentando il numero di pixel aumentano i dettagli visibili nell'immagine. Aumentando il numero di pixel aumentano i dettagli visibili nell’immagine.[/caption]

Ma cosa succede se non campioniamo un segnale analogico secondo quanto richiesto dal teorema del campionamento? Si verifica il fenomeno dell’aliasing. Il segnale analogico viene campionato troppo poco spesso, ottenendo un segnale digitale che ha poca (o nessuna) somiglianza con il segnale originale.

Il fenomeno dell’aliasing è visibile chiaramente con questo simulatore online: si sceglie una delle forme d’onda periodiche predefinite (cioè le forme d’onda contenenti le funzioni seno e coseno, meglio evitare le forme d’onda non periodiche come [latex] t [/latex] o le sue potenze) e si osserva come cambia la forma d’onda del segnale acquisito e l’errore relativo al vaiare della frequenza di campionamento (sampling frequency).3

Purtroppo il simulatore richiede l’installazione di un plugin apposito per il browser in uso o l’installazione del Wolfram CFD Player, che consente di eseguire sul Mac (o su Windows) le migliaia di simulazioni diponibili sul sito di Mathematica.

Chi non volesse farlo può guardare qui sotto alcuni esempi di quello che succede. Nelle immagini successive, il segnale analogico [latex] y = sin(2 \pi t) [/latex] è rappresentato dalla curva sinusoidale azzurra, i puntini rossi sono i campioni acquisiti e la curva tratteggiata rossa rappresenta il segnale ricostruito dai campioni.

Aliasing: f = 1 Hz, campionamento a 10 Hz

Aliasing: f = 1 Hz, campionamento a 5 Hz

Aliasing: f = 1 Hz, campionamento a 2.5 Hz

Aliasing: f = 1 Hz, campionamento a 2 Hz

Aliasing: f = 1 Hz, campionamento a 1.5 Hz

Dobbiamo ringraziare Claude Shannon. Senza di lui non avremmo i CD, l’iPod, Netflix o la musica liquida, solo dischi a 33 giri e walkman a cassette. E guarderemmo i film ancora con il VHS.

  1. Chi fosse interessato può scaricare gli articoli originali di Shannon e Nyquist, ristampati pochi anni fa dalla IEEE, l’istituto degli ingegneri elettrici ed elettronici. 

  2. Questa animazione interattiva mostra chiaramente come l’aumento della risoluzione spaziale migliori i dettagli visibili dell’immagine. 

  3. Sul sito è disponibile anche un altro simulatore di aliasing, che però secondo me è meno efficace. In questo caso si seleziona la frequenza di campionamento fra quelle predefinite e si varia la frequenza del segnale sinusoidale da campionare. Quando questa supera la metà della frequanza di campionamento, il segnale digitale non ha più nessuna relazione con il segnale originale. 

Sabino Maggi
Pubblicato da Sabino Maggi Segui
Commenti

Aggiungi un commento