La conversione analogico digitale consta di tre operazioni:
- Campionamento
- Quantizzazione
- Codifica
Campionamento
L’operazione di campionamento, consiste, nel suddividere l’asse dei tempi in intervalli regolari (cioè costanti ovvero tutti della stessa ampiezza) e nel prelevare il valore istantaneo del segnale alla fine di ogni intervallo.
L’intervallo di tempo prima definito prende il nome di periodo di campionamento \(T_C\).
Risulta lecito chiedersi:
- Che valore assegneremo a questo periodo?;
- Dipende dal tipo di segnale?
La scelta del periodo di campionamento ovvero della frequenza di campionamento è regolamentata dal Teorema di Shannon.
Il teorema di Shannon afferma che, dato un segnale a banda limitata, nella sua conversione analogico-digitale la minima frequenza di campionamento necessaria per evitare aliasing e perdita di informazione nella ricostruzione del segnale analogico originario (ovvero nella riconversione digitale-analogica) deve essere maggiore del doppio della sua frequenza massima.
$$f_c \geqslant 2 f_{max}$$
Qualcuno comincia a mormorare … aliasing … e che cos’è???
Intanto diciamo che il fenomeno dell’aliasing si manifesta nel momento in cui non viene rispettato il teorema di Shannon. Vediamo adesso di chiarire attraverso l’eloquenza del immagini:
Bene! Chiarito come va effettuata la scelta del periodo di campionamento proseguiamo con la descrizione dell’operazione di Campionamento. Consideriamo come segnale, la registrazione di un segnale audio…. per esempio la nostra voce, la cui rappresentazione temporale potrebbe essere la seguente:
a questo punto effettuiamo il campionamento di tale segnale, ovvero, effettuiamo il prelievo del valore istantaneo del segnale audio dopo ogni intervallo di tempo pari a \(T_c\) come in figura :
per cui il segnale campionato diventa:
Tengo a sottolineare come fino adesso, ovvero, in seguito all’operazione di campionamento, non si è perso nulla del segnale originario, ovvero, esso contiene le stesse informazioni che il segnale aveva prima del campionamento.
Con l’operazione di quantizzazione come vedremo introdurremo deliberatamente un errore.
Quantizzazione
L’operazione di quantizzazione consiste nel suddividere l’asse delle ampiezze in intervalli regolari detti intervalli di quantizzazione, (tali intervalli risultano delimitati dai livelli di quantizzazione), successivamente si associa ogni campione al livello di quantizzazione più vicino
Quindi, come prima cosa, suddividiamo l’asse delle ampiezze in intervalli regolari (intervalli di quantizzazione) \(\Delta V\), ogni intervallo è delimitato da un livello di quantizzazione \((l_i)\) ovvero:
$$\Delta V =l_{i+1} – l_i$$
graficamente si ha:
Passiamo alla seconda fase della quantizzazione, ovvero, trasformiamo i campioni reali in campioni quantizzati, cioè associamo ogni campione reale al livello di quantizzazione più prossimo.
Eseguendo l’operazione si ottiene il seguente segnale:
da cui il segnale quantizzato risulta essere:
Come precedentemente affermato la quantizzazione introduce un errore (l’approssimazione). Ebbene si! Ogni volta che passiamo dal campione reale a quello quantizzato introduciamo un errore la cui entità massima è pari a:
$$E_{MAX}=\dfrac {\Delta V}{2}$$
A questo punto sorgono spontanee tante domande:
- Cosa comporta questo errore?
- È possibile diminuirlo?
- È possibile annullarlo?
Sono tutte domande a cui daremo una risposta subito dopo la codifica.
Codifica
L’operazione di codifica consiste nell’associare ad ogni livello di quantizzazione una sequenza univoca di bit.
Vogliamo quindi associare, delle sequenze di zeri (0) e uni (1), tutte diverse tra loro, ad ogni livello di quantizzazione.
Come possiamo fare?
Una prima domanda che dobbiamo porci è: “Se abbiamo N livelli di quantizzazione, quanti bit mi occorrono per cui si possa assegnare ad ogni livello di quantizzazione una sequenza univoca?”
È facile rendersi conto che, con un solo bit, posso realizzare solo due sequenze diverse, ovvero:
$$0 \hspace{2cm} 1$$
con due bit riesco ad avere 4 sequenze diverse:
$$00 \hspace{2cm} 01 \hspace{2cm}10 \hspace{2cm}11$$
con tre bit addirittura si ottengono 8 sequenze diverse:
$$000 \hspace{2cm} 001 \hspace{2cm}010 \hspace{2cm}011\hspace{2cm}100 \hspace{2cm} 101 \hspace{2cm}110 \hspace{2cm}111$$
Possiamo quindi dedurre che, se utilizzo \(b\) bit si ottengono \(2^b\) sequenze diverse. Quindi se si hanno N livelli di quantizzazione mi devo assicurare di utilizzare un numero di bit tale per cui:
$$2^{\hspace{0,1cm}numero\hspace{0,2cm} di\hspace{0,2cm} bit}\geq al \hspace{0,2cm}numero\hspace{0,2cm} di\hspace{0,2cm} livelli\hspace{0,2cm} di\hspace{0,2cm} quantizzazione$$
indicando con b il numero di bit e con N il numero di livelli di quantizzazione la formula può essere cosi riscritta:
$$2^b\geq N$$
A questo punto possiamo rispondere alle domande che ci eravamo posti in precedenza che riporto qui di seguito:
- Cosa comporta questo errore?
- È possibile diminuirlo?
- È possibile annullarlo?
- L’introduzione dell’errore comporta sicuramente una perdita di qualità.
- Si! Risulta facile capire che si può sicuramente ridurre tale errore, infatti aumentando il numero dei livelli di quantizzazione che equivale a dire diminuendo l’ampiezza degli intervalli di quantizzazione sicuramente riduco l’errore. L’aumento dei livelli di quantizzazione ha però un suo costo in termini di bit infatti all’aumentare del numero di livelli sarà necessario aumentare il numero di bit necessari per codificare ogni livello di quantizzazione.
- No! non è possibile annullarlo. Per annullarlo dovrei introdurre infiniti livelli di quantizzazione in modo da rendere l’ampiezza dell’intervallo di quantizzazione pressoché nulla.
In base alla ampiezza massima del segnale \(V_{MAX}\) e alla qualità che si desidera ottenere dal processo di conversione analogico digitale si scelgono il numero di livelli di quantizzazione. Noti quindi \(V_{MAX}\) ed \(N\), l’ampiezza dell’intervallo di quantizzazione è dato dalla formula:
$$\Delta V=\dfrac{V_{MAX}}{N}$$
Riepilogo formule:
Intervallo di quantizzazione: \(\Delta V=\dfrac{V_{MAX}}{N}\)
Errore massimo di quantizzazione: \(E_{MAX}=\dfrac {\Delta V}{2}\)
Numero di bit: \(2^b\geq N\)

