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

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichetta: Editor wikitesto 2017
Riga 35:
== Campionamento ==
[[File:Sampled.signal.svg|miniatura|Fase di campionamento.]]
Il '''campionamento''' – in senso stretto – consiste nell’osservare il segnale analogico solo in determinati istanti detti '''istanti di campionamento'''. Il circuito ''sample and hold'', pertanto, è funzionale a questo scopo. Si decide di osservare il segnale solo in alcuni istanti, riducendo così l'asse del tempo da un numero di elementi infiniti a un numero di elementi finiti.
 
Secondo il [[w:Teorema del campionamento di Nyquist-Shannon|Teorema di Shannon]], se la frequenza di campionamento è superiore al doppio della banda del segnale da campionare (<math>F_C>2B</math>) è possibile ricostruire il segnale di partenza (analogico) ''senza errori'' se si sono acquisiti un numero infinito di campioni. Naturalmente, questo non èsarà mai possibile, però l'asserzione di fondo è semplice: a livello teorico la procedura di campionamento di(osservare solo una parte undel segnale) non riduce la conoscenza sul segnale stesso.
 
== Quantizzazione ==
[[File:Digital.signal.svg|miniatura|Fase di quantizzazione.]]
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, ora si suddivide l'asse delle ascisse, corrispondente alla grandezza fisica in oggetto (quasi sempre corrente o tensione elettrica).
 
A differenza della fase di campionamento, il processo di 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à pari a <math>\epsilon_\%=\frac{1}{2^{4}}\%=\frac{1}{16}\%=6,25\%</math>. Sì, abbastanza alto.
Pertanto, il processo di quantizzazione introduce un errore pari a <math>\frac{1}{2^{N+1}}\%</math>, pari all’ampiezza della metà di un singolo bit.
 
=== Quanti bit? ===
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? Procediamo con alcuni esempi tratti dalla vita quotidiana.
 
==== Il termostato ====
Dovendo regolare la temperatura di un ambiente (e quindi conoscerla) quanti bit utilizziamo?
 
Partiamo 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? Approssimiamo <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 siamo cotti).
 
Ora la domanda si sposta a: «con quale precisione vogliamo 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>
 
Attenzione: 80 non è il numero dei bit, ma dei livelli. Per conosce il numero di bit occorre estrarre il logaritmo in base 2 di <math>L</math> e – se non intero – arrotondarlo ''sempre'' per eccesso (il mezzo bit devono ancora inventarlo). Si ha:
 
:<math>\textbf{bit}=\log_2{80}\simeq6,32\rightarrow7~\text{bit}</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>.
 
== Codifica ==
[[File:Codifica.svg|alt=|centro|409x409px]]
La '''codifica''', infine, produce una successione di dati numerici interi positivi.
 
Line 61 ⟶ 80:
La <math>P_E</math> è pari al numero di bit errati in rapporto ai bit trasmessi:
 
:<math>P_E= \frac{bit_{errati}}{bit_{totali}}</math>
 
La <math>P_E</math>, pertanto, è la probabilità che un singolo bit sia trasmesso erroneamente.