Campionamento di segnali analogici (superiori): differenze tra le versioni

Etichetta: Editor wikitesto 2017
Etichetta: Editor wikitesto 2017
[[File:Digital.signal.svg|miniatura|Fase di quantizzazione.]]
[[File:SenalRuidoCuantificacion4bits.png|miniatura|Rumore di quantizzazione dovuto al campionamento di un'onda sinusoidale.]]
La '''quantizzazione''', invece, consiste nel suddividere l'asse delle ascisse del segnale in <math>2^N</math> intervalli, dove <math>N</math> è il numero di '''bit'''. Volendo fare un parallelo con la procedura del campionamento, nel campionamento si suddivide l'asse del tempo (passando dal continuo al discreto), ora si suddivide l'asse delle ascisse (lo si ''quantizza'', altro termine per esprimere grandezze discrete), corrispondente alla grandezza fisica in oggetto (quasi sempre corrente o tensione elettrica).
 
A differenza delladel faseprocesso di campionamento, il processo dila quantizzazione introduce un [[w:Errore relativo|errore relativo]] pari a <math>\epsilon_\%=\frac{1}{2^{N+1}}\%</math>, ovvero pari all’ampiezza della metà di un singolo bit. Infatti, se si utilizzano, come nell'esempio di figura, 3 bit, si ottengono un numero di livelli di quantizzazione pari a <math>L=2^3=8</math>. Questo significa che il segnale, dal suo valore minimo al suo valore massimo è stato diviso in otto parti e questa sarà la conoscenza che – d'ora in avanti – si avrà su lui. Pertanto, l'errore commesso può variare a seconda di quanto il segnale si discostava dal livello di quantizzazione nell'istante di campionamento. Il caso peggiore è quando il segnale analogico si trova a metà tra un livello e il successivo. Pertanto l'errore relativo, in questo caso, sarà considerato pari a <math>\epsilon_\%=\frac{1}{2^{4}}\%=\frac{1}{16}\%=6,25\%</math>. Sì, abbastanza alto.
 
In figura viene mostrata la quantizzazione a 4 bit di un segnale sinusoidale occupante l'intera ampiezza disponibile. In rosso è visibile il segnale analogico, in verde il segnale numerico campionato e quantizzato, in blu viene mostrato, istante per istante, l'errore di quantizzazione. Questo errore, come anticipato, può assumere un valore – in termini assoluti – minore o uguale alla metà del bit meno significativo.
Quanti bit vengono utilizzati nella codifica? La risposta sembrerebbe ovvia: aumentare il numero di bit, significa aumentare la precisione, quindi più bit è meglio. Non sempre. La risposta corretta è: qual è la precisione necessaria e sufficiente per il corretto funzionamento del mio sistema?
 
Un esempio sono i colori nello schermo, formati da gradazioni di rosso, verde e blu. Sì è scelto di adottare una quantizzazione a 8 bit che – moltiplicata per i 3 colori fondamentali – fa 24 bit. Questo implica che i colori rappresentabili nello schermo sono <math>2^{24}=16.777.216</math>, non uno di più. È sufficiente? Sedici milioni di colori sono troppi, troppo pochi, il giusto? Questa scelta deriva dalla capacità dell'occhio umano di distinguere i vari colori. Meno bit avrebbe significato sfumature non nitide. Più bit, colorigradazioni di colore che l'occhio umano non avrebbe distinto tra loro.
 
È importante ricordare che aumentare la quantizzazione di un singolo bit, significa raddoppiare la risoluzione, infatti il numero di livelli diventa:
 
:<math>L_{N+1} = 2^{N+1}=2\times 2^N=2\times L_N</math>
 
pertanto, la risposta corretta è sempre: quanto basta. Consideriamo un monitor con una risoluzione <math>1.920 \times 1.080 = 2.073.600~\text{pixel}</math>. Pertanto, l'immagine di sfondo, avendo 24 bit per pixel creerà un'occupazione di memoria pari a <math>2.073.600~\text{pixel}\times24~\text{bit}=49.766.400~\text{bit}\simeq5,93~\text{MB}</math>. Se aumentassimo la profondità di colore di un solo bit, passando da 24 a 27 bit per pixel, il risultato sarebbe un'occupazione di memoria pari a <math>6,67~\text{MB}</math>, ovvero il <math>12,5\%</math> in più. Per ogni fotogramma.
 
{{Cassetto|Dovendo regolare la temperatura di un ambiente (e quindi conoscerla) quanti bit utilizziamo?|
PartiamoPer non sbagliare, è necessario partire da concetti base: si tratta di accendere il riscaldamento, quando la temperatura scende al di sotto di una soglia prefissata e spegnerlo quando si raggiunge un livello di comfort adeguato. Idem per la stagione estiva, ma orientato all'accensione e spegnimento di un climatizzatore. Quali sono i valori di temperatura minima <math>T_{MIN}</math> e temperatura massima <math>T_{MAX}</math> in un ambiente? ApprossimiamoApprossimando <math>T_{MIN}= 0~^\circ\text{C}</math> (al di sotto le tubature si gelerebbero) e <math>T_{MAX}= 40~^\circ\text{C}</math> (al di sopra siamosi è letteralmente cotti).
 
Ora la domanda si sposta a: «con quale precisione vogliamosi desidera determinare la temperatura di accensione e spegnimento dei termosifoni?» <math>\Delta T=0,5~^\circ\text{C}</math> può essere ritenuto un valore accettabile. Pertanto, i livelli necessari saranno:
 
:<math>L=\frac{T_{MAX}-T_{MIN}}{\Delta T}=\frac{40~^\circ\text{C}-0~^\circ\text{C}}{0,5~^\circ\text{C}}=80</math>
7 bit, infatti, corrispondono a 128 livelli, mentre 6 bit a 64 livelli. Se manca anche un solo livello, purtroppo, bisogna scegliere il bit successivo.
 
Il problema si conclude con il periodo di campionamento <math>T_C</math>. La temperatura ha una sua inerzia, inutile misurarla ogni millisecondo. Un valore tipico per il campionamento è <math>T_C=2'</math> (due minuti). Anche questo dato è molto interessante. Perché non eseguiamosi esegue un campionamento ogni due secondi? Non sarebbe più preciso? No. Così facendo campioneremmosi campionerebbe il rumore e questo dato non è per nulla interessante, oltre a produrre una mole di dati 60 volte superiorisuperiore a quellequella del protocollo precedente.}}
 
== Codifica ==