Segnali, dall'analogico al digitale

Segnale analogico

Il mondo reale è analogico. Che cosa significa? Bene, un valore analogico è equivalente un numero decimale con un numero di cifre infinito di cifre a destra della virgola. Per esempio le temperature non hanno valori distinti come 75°, 76°, 77°, 78°, eccetera. Hanno valori come 75,434535.... Infatti, tra le temperature 75,435° e 75,436°, ci sono un numero infinito di valori. Un uomo non pesa esattamente 78 Kg. Aggiungiamo un atomo, e il suo peso cambia. Quando valori come la temperatura o il peso si modificano nel tempo, essi seguono quella che viene definito una curva continua. Tra due valori della curva, ci sono un numero infinito di valori e un numero infinito di istanti.

Fig 1 - Segnale analogico

Segnali digitali

Ci sono strumenti come computer analogici, un computer che processa le informazioni utilizzando livelli analogici di elettricitĆ . La maggior parte dei computer attuali non fanno questo tuttavia. Invece, essi rappresentano un valore analogico convertendo in un numero con una risoluzione fissata, cioĆØ un numero fisso di cifre decimali. Questa misura ĆØ riferita come valore decimale.

Se il valore cambia nel tempo, allora una sequenza di misurazioni ĆØ presa, il tempo tra una misurazione e l'altra in genere rimane fisso.

Tempo (secondi)
Misura

0,00

0,1987

0,10

0,2955

0,20

0,3894

0.30

0,4794

0,40

0,5646

............

.............

Sopra un esempio di misure discrete prese ogni 0,1 secondi

Poiché i computer vedono il mondo con una risoluzione fissa sia per il tempo che nell'ampiezza, quando un computer registra un segnale digitale come un'onda sonora musicale, lo fa prendendo una serie di istantanee. Ad esempio, se assumiamo Fig 1 un segnale analogico reale ad esempio di un'onda sonora. Il computer può solo misurare il segnali a intervalli. Ogni misura è chiamata un campione. La frequenza con la quale questi campioni sono presi è chiamata frequenza di campionamento. Le X nella figura 2 rappresentano queste misure

Fig 2 - Campionamento di un segnale analogico

Due problemi nascono da questo processo: dell'informazione può essere persa tra le misurazioni e dell'informazione può essere persa a causa dell'arrotondamento delle misurazioni. In primo luogo, se la frequenza di campionamento è troppo bassa, alcuni dettagli del segnale possono essere persi (Figura 3).

Fig 3 - Campionamento lento con perdita delle anomalie

Secondariamente, se il computer non registra con sufficiente precisione (ad esempio con sufficienti cifre per la parte decimale) un errore può essere introdotto tra il valore reale del segnale e quello registrato (Figura 4).

Fig 4 - Bassa risoluzione che comporta misurazioni non accurate

Questi effetti possono essere ridotti incrementando la risoluzione delle misurazioni e incrementando la frequenza di campionamento. Di più vedremo nel paragrafo "Teoria dei segnali".

Sistemi di conversione

Un sistema tipico utilizzato per convertire una condizione esterna come la pressione, la temperatura o l'intensitĆ  della luce in un formato utilizzabile da un sistema digitale ĆØ mostrato nel diagramma a blocchi di figura 5.

Fig 5 - Diagramma a blocchi di un sistema che cattura i segnali analogici

L'interfaccia tra le condizioni esterne e l'elettronica del sistema ĆØ il sensore. Questo device (periferica) converte le condizioni esterna in un segnale leggibile dall'elettronica analogica. Spesso questo segnale debole ed ĆØ facilmente distorto dal rumore. Quindi, l'output del sensore ĆØ in genere amplificato e ripulito prima di essere convertito in valori digitali da un Convertitore Analogico-Digitale (ADC - Analog-to-digital Converter).

Le operazioni continue di questo sistema risultano in una sequenza di misurazioni digitali o campioni che sono memorizzate in un computer dove possono essere viste in un modo simile a una tabella di numeri in un foglio elettronico.

Questi sono i benefici dell'utilizzo dei dati in formato digitale invece che analogico. Primo, se un segnale analogico è trasmesso a lunga distanza, il rumore si attacca al segnale originale. Per mantenere il segnale forte abbastanza di raggiungere la propria destinazione, deve essere amplificato. Tutto il rumore, che si è attaccato al segnale, tuttavia, è amplificato così come il segnale originale risultando così distorto. Per esempio, prima dell'avvento di reti di telefoni digitali, chiamate al telefono su lunghe distanze erano piene di rumore di disturbo che rendevano difficile la comunicazione tra persone su lunghe distanze.

Un secondo beneficio è che una volta che un segnale è codificato in una sequenza di numeri, algoritmi matematici possono essere usati per operare sui dati. Discipline come Elaborazione dei Segnali Digitali e lo studio delle onde permettono un'elaborazione del segnale molto più accurata che con segnali analogici.

Una sequenza di numeri digitali può essere salvata in modo più compatto che un segnale analogico. La compressione dei dati dietro la tecnologia MP3 non è remotamente possibile con tecnologie analogiche.

In aggiunta, dati supplementari possono essere immagazzinati insieme ai campionamenti con informazioni come il digital watermarking o con codici per il controllo degli errori o la correzione degli errori.

Questi vantaggi hanno un prezzo tuttavia. Come detto prima, se i campioni sono presi troppo lentamente, dettagli dell'input analogico sono persi. Se la risoluzione dei campioni non ĆØ abbastanza precisa, il segnale potrebbe non essere rappresentato con abbastanza precisione come valore digitale.

Rappresentazione dei segnali digitali

I sistemi digitali non immagazzinano numeri nel modo in cui lo fanno gli esseri umani. Una persona può ricordare il numero 4,5 e capire che rappresenta una quantità. Un sistema digitale non ha questa capacità. Invece i sistemi digitali lavorano con i numeri utilizzando milioni di piccoli interruttori chiamati transistor. Ogni transistor può ricordare solo uno di due possibili valori, ON o OFF. Questo si chiama un sistema binario.

I valori rappresentati dai transistor di un sistema binario possono essere interpretati come necessario dall'applicazione. On e Off possono ad esempio rappresentare 0 e 1, oppure yes o no, oppure true o false, oppure up o down, oppure high o low. Quello che importa che ci possono essere solo due possibili valori per transistor. La complessitĆ  dei computer deriva da come milioni di transistor sono collegati per lavorare assieme. Per lo scopo di questa discussione, i due valori possibili del transistor saranno chiamati logic 1 e logic 0.

Ora esamineremo qualche metodo utilizzato per rappresentare dati binari prima mostrando un singolo segnale binario. Assumiamo che noi stiamo memorizzando i valori binari presenti su un singolo filo che controlla una lampadina.

Escludendo le luci controllate da interruttori di tipo variatore, un circuito per lampadine ĆØ un sistema binario; la luce ĆØ on o off, logic 1 o logic 0 rispettivamente. Nel tempo lo stato della lampadina cambia in base alla posizione dell'interruttore. La parte superiore della Figura 6 rappresenta l'onda di un segnale binario che controlla lo stato di una lampadina basata sui cambiamenti della posizione dell'interruttore visualizzati nella parte inferiore dell'immagine.

Fig 6 - Rappresentazione di un singolo segnale binario

Questa rappresentazione ĆØ simile a una rappresentazione matematica con assi X e Y, dove l'asse delle X rappresenta il tempo e l'asse delle Y identifica logic 1 o logic 0.

Alcune volte, due o più linee binarie sono raggruppate assieme per svolgere qualche funzionalità. Per esempio, l'illuminazione generale di una stanza può essere controllata da tre differenti interruttori che controllano gruppi indipendenti di lampade. Questo può essere rappresentato da un diagramma come quello mostrato in Figura 7.

Fig 7 - Rappresentazione di più segnali digitali

Tipi di segnali digitali

Edges (fronte)

Un singolo segnale binario può avere due possibili transizioni come mostrato in Figura 8. La prima, è una transizione dalla logic 0 alla logic 1, è chiamata transizione del fronte in salita. La seconda da logic 1 a logic 0 è chiamata transizione del fronte in discesa.

Fig 8 - Definizione delle transizioni digitali

Pulse (impulso)

Un impulso binario avviene quando un segnale cambia da un valore a un altro per un breve periodo e poi ritorna al valore originale. Esempi di questo tipo di segnale può essere un bottone di accensione o reset di un computer (momentaneamente premuto e poi rilasciato) o un pulsante per iniziare la sincronizzazione tra diversi dispositivi.

Fig 9 - Forma d'onda degli impulsi

Ci sono due tipi di impulsi. Il primo ĆØ chiamato impulso verso positivo, esso ha a riposo lo stato logic 0 con un breve impulso a logic 1.

L'altro ĆØ, impulso verso negativo, con lo stato a riposo a logic 1 con un breve impulso a logic 0. Entrambi questi segnali sono mostrati in Figura 9.

Segnali non periodici

Alcuni segnali digitali come i dati che scorrono su un cavo Ethernet o sui bus indirizzi dell'interfaccia di memoria non hanno un andamento caratteristico (regolare) nel loro mutare tra logic 0 e logic 1. Questi sono chiamati segnali non periodici.

Fig 10 - Segnale non periodico

Come la musica, la durata delle note o gli spazi tra le note possono essere più o meno lunghe.

Segnali periodici

Alcuni segnali si comportano come il battito del cuore di un sistema digitale. Per esempio, un segnale potrebbe dire a un sistema, "Ogni 1/100esimo di secondo, tu devi ____________". L'output di un processore delle macchine che controlla l'accensione delle candele ĆØ questo tipo di segnale. Questi segnali sono chiamati segnali periodici. Come il suono del tamburo in una canzone, un segnale periodico ĆØ utilizzato per sincronizzare eventi o far muovere i processi.

La caratteristica propria di questo tipo di segnali ĆØ che i valori misurati tra qualsiasi due sottoparti sarebbero identici. Questo valore ĆØ chiamato il periodo, T, ed ĆØ misurato in secondi/ciclo (leggi secondi per ciclo). La Figura 11 identifica la misura di un periodo in un tipico segnale periodico.

Fig 11 - Segnale periodico

Questa misurazione del periodo non descrive pienamente un segnale periodico, tuttavia; una seconda misurazione, l'ampiezza dell'impulso, twt_w ĆØ necessaria. Per esempio, i due segnali in Figura 12 hanno lo stesso periodo. La loro ampiezza dell'impulso, tuttavia, non ĆØ la stessa. Nel segnale a, twt_w ĆØ circa un-quarto del periodo del segnale mentre il twt_w del segnale b ĆØ circa la metĆ  del periodo del segnale.

Fig 12 - Segnali periodici con differente ampiezza d'impulso

L'unità di misura di twt_w sono i secondi. Il suo valore dovrebbe essere maggiore di 0 e minore del periodo. Un twt_w uguale a 0 implica un segnale che non ha impulso, e se twt_w equivale al periodo, allora il segnale non andrà mai giù.

E' inoltre comune rappresentare la frequenza degli impulsi di un segnale periodico con l'inverso della misura del periodo. Questa misura, chiamata la frequenza del segnale periodico ha come unitĆ  di misura, cicli/secondocicli/secondo, anche detto Hertz(Hz).

Per determinare la frequenza di un impulso periodico dal periodo, basta invertire la misura del periodo (Formula 1.1).

Frequenza=1PeriodoĀ inĀ secondiFrequenza = \frac 1 {Periodo\ in\ secondi}

Esempio

Se un impulso periodico impiega 0,1 secondi per fare un ciclo completo, qual'ĆØ la frequenza dell'onda?

Soluzione

Frequenza=1PeriodoĀ inĀ secondiFrequenza = \frac 1 {Periodo\ in\ secondi}
Frequenza=10,1Ā secondiFrequenza = \frac 1 {0,1\ secondi}
Frequenza=10HzFrequenza = 10 Hz

Esempio

Se un compute ha un clock di 2 Gigahertz (2.000.000 Hz), qual'ĆØ la durata di un singolo clock?

Soluzione

Invertendo l'Equazione 1.1 ci dĆ  l'equazione utilizzata per determinare il periodo dalla frequenza:

Periodo=1FrequenzaPeriodo = \frac 1 {Frequenza}

Sostituendo 2.000.000.000 Hz come frequenza nella nuova equazione, abbiamo la seguente soluzione:

Periodo=12.000.000.000Ā HzPeriodo = \frac 1 {2.000.000.000\ Hz}
Periodo=0,0000000005Ā sec=0,5Ā nanosecondiPeriodo = 0,0000000005\ sec = 0,5\ nanosecondi

Modulazione ad ampiezza d'impulso

L'ultima misura di un segnale periodico ĆØ il duty cicle. Il duty cicle rappresenta la percentuale del tempo che un segnale periodico ĆØ a logic 1. Per esempio la Figura 13 rappresenta un segnale periodico dove twt_w ĆØ circa un-quarto o il 25% della durata del periodo.

Quindi il duty cycle del periodo ĆØ del 25%.

Fig 13 - Segnale periodico con duty cycle del 25%

L'Equazione 1.2 rappresenta la formula per calcolare il duty cycle quando entrambi twt_w e T sono misurati in secondi.

DutyĀ Cycle=logicĀ 1Ā pulseĀ durationĀ (tw)PeriondĀ TĀ āˆ—Ā 100%Duty\ Cycle = \frac {logic\ 1\ pulse\ duration\ (t_w)} {Periond\ T} \ *\ 100\%

Finché il range di twt_w è tra 0 e T, allora il duty cycle ha un gange che va dallo 0% (costantemente a logic 0) al 100% (costantemente a logic 1).

Esempio

L'occhio umano in media non può distinguere una luce che lampeggia on e off a una frequenza superiore ai 40 Hz. Per esempio le luci fluorescenti, lampeggiano a una bassa frequenza, intorno ai 60 Hz, che la maggio parte delle persone non riesce a vedere. (alcune persone riescono a percepire frequenze più alte e sono sensibili a quello che correttamente percepiscono come il lampeggiamento delle luci fluorescenti.)

Per alte frequenze, un segnale periodico inviato a una luce è meno intenso che un segnale inviato a logic 1 costante. Questa tecnica può essere utilizzata per regolare i LED (Light Emitting Diodes), strumenti che rispondono solo a logic 1 e logic 0. La lucentezza del LED rispetto allo stato completamente on è equivalente al duty cicle. Per esempio per far brillare un LED alla metà dell'intensità che si avrebbe con segnale a costante logic 1, il duty cicle dovrebbe essere del 50%. La frequenza è irrilevante finché è maggiore di quanto l'occhio umano possa percepire.

Esempio

Assumiamo che un impulso periodico a 1kHz ĆØ inviato a un LED. Quale dovrebbe essere l'ampiezza dell'impulso per essere la luminositĆ  del LED un-terzo della sua massima capacitĆ ?

Soluzione

Esaminando l'equazione 1.2 che per determinare l'ampiezza dell'impulso, dobbiamo prima determinare il periodo e il duty cycle.

Il duty cycle ĆØ equivalente al livello di intensitĆ  che il LED deve illuminare, in questo caso un-terzo o il 33%. Il periodo, T, ĆØ il reciproco della frequenza.

Periodo=1FrequenzaPeriodo = \frac 1 {Frequenza}
Periodo=11.000Ā HzPeriodo = \frac 1 {1.000\ Hz}
Periodo=0,001secPeriodo = 0,001 sec

Per determinare l'ampiezza d'impulso, risolviamo l'equazione 1.2 per twt_w, e sostituiamo i valori del periodo e del duty cycle.

DutyĀ CycleĀ =twTāˆ—100%Duty\ Cycle\ = \frac {t_w} T * 100\%
tw=Tāˆ—(DutyĀ Cycle)100%t_w = \frac {T * (Duty \ Cycle)} {100\%}
tw=0,001Ā secondiāˆ—0,33t_w = 0,001\ secondi * 0,33
tw=0,00033Ā secondi=330Ā microsecondit_w = 0,00033\ secondi = 330\ microsecondi

Prefissi unitĆ  di misura

Si può notare che in alcuni esempi, un prefisso è usato con le unità di secondi o Herz. Questo è fatto per ridurre il numero di zeri tra la virgola e la magnitudine o per ridurre il numero di zeri in coda per un valore con magnitudine molto grande.

Un prefisso rimpiazza un moltiplicatore potenza del 10. Per esempio, la misura 5.000 herz ĆØ equivalente a 5āˆ—103herz5 * 10^3 herz. Il moltiplicatore 10310^3 può essere rimpiazzato con il prefisso "kilo" e quindi diventa 5 kiloherz. Ogni prefisso ha una singola lettera come abbreviazione che può essere utilizzata con l'abbreviazione dell'unitĆ . Per esempio, per utilizzare kilo con l'abbreviazione Hz, la singola lettera "k" sarĆ  utilizzata dando kHz come unitĆ  di misura.

Molti prefissi verranno utilizzati per descrivere le misure che sono trattate. Questi sono presentati nella tabella sottostante.

Prefisso
Simbolo
Potenza del 10

zetta

Z

102110^{21}

exa

E

101810^{18}

peta

P

101510^{15}

tera

T

101210^{12}

giga

G

10910^{9}

mega

M

10610^{6}

kilo

k

10310^3

milli

m

10āˆ’310^{-3}

micro

μ o u

10āˆ’610^{-6}

nano

n

10āˆ’910^{-9}

pico

p

10āˆ’1210^{-12}

Per utilizzare la tabella, semplicemente sostituiamo il prefisso con la corrispondente potenza del 10. Per esempio, sostituiamo 10āˆ’610^{-6}con il prefisso "μ" nel valore 15,6 μS. Questo vi dĆ  15,6āˆ—10āˆ’615,6 * 10^{-6}secondi, che a sua volta ĆØ equivalente a 0,0000156 secondi.

Esercizi

  1. Definisci il termine "campione" per come ĆØ utilizzato nei sistemi digitali.

  2. Definisci il termine "frequenza del campionamento" per come ĆØ utilizzato nei sistemi digitali.

  3. Quali sono i due principali problemi che il campionamento può causare?

  4. DƬ quali sono le tre parti del sistema utilizzate per convertire un segnale di input analogico in uno digitale e descrivi il compito di ogni parte.

  5. DƬ quattro benefici di un sistema digitale su un sistema analogico.

  6. Di tre svantaggi di un segnale digitale su un sistema analogico.

  7. Vero o Falso: Siccome un segnale non periodico non hanno un formato predicibile, non ci sono misure definibili per il segnale.

  8. Se un computer ha un clock a 12,8 GHz, qual'ĆØ il periodo del segnale del clock?

  9. Se il periodo di un segnale periodico ĆØ 125 nanosecondi, qual'ĆØ la frequenza del segnale?

  10. Se il periodo di un segnale periodico ĆØ di 50 microsecondi, qual'ĆØ l'ampiezza dell'impulso, twt_w, per raggiungere un duty cycle del 15%?

  11. Vero o False: La frequenza di un segnale può essere calcolata conoscendo solo il duty cycle.

Rappresentazione binaria di Valori Analogici

Fig 13 - Onde di un segnale musicale

La conversione di interi positivi (unsigned) in binario ĆØ solo uno dei molti modi che i computer rappresentano i valori usando i bit. In questa sezione ci focalizzeremo sul problema e la soluzione di cercare di mappare valori del mondo reale come le temperature o il peso da uno specificato intervallo in un numero binario. Ad esempio, un computer che utilizza 8 bit per rappresentare un intero ĆØ in grado di rappresentare 256 valori da 0 a 255. La temperatura ĆØ tuttavia un numero frazionario con limite massimo e minimo. Possiamo noi utilizzare un computer per rappresentare una temperatura utilizzando otto bit? La risposta ĆØ affermativa, ma a discapito della risoluzione (accuratezza) e range (intervallo) di temperature.

Un altro esempio di segnali analogici ĆØ la rappresentazione delle onde sonore di un segnale musicale . La figura 13 rappresenta tale segnale.

Ricorda che un singolo bit può essere settato solo ad uno di due possibili valori: logic 1 o logic 0. Combinando molti bit insieme ci danno un intervallo di interi ma comunque di valori discreti. Il mondo reale è analogico, valori rappresentati da misure frazionarie capaci di infinita risoluzione. Per utilizzare n-bit di numeri binari per rappresentare valori analogici, dobbiamo mettere delle restrizioni su cosa viene misurato.

Per prima cosa, un numero binario a n-bit ha un certo intervallo di valori che può assumere. Abbiamo visto questo quando abbiamo convertito numeri interi positivi in binario. In questo caso, il limite inferiore ĆØ 0 e il limite superiore ĆØ 2nāˆ’12^n - 1. Per usare n-bit per rappresentare un numero analogico, abbiamo bisogno di restringere i valori possibili di intervalli di valori analogici. Questo non dovrebbe essere un problema.

Per esempio, deve una tipica bilancia domestica superare valori sopra i 200 Kg? Se non ĆØ necessario, allora un sistema digitale potrebbe utilizzare numeri binari a 10 bit per mappare valori di peso tra 0 e 200 Kg. Un numero binario 000000000020000000000_2potrebbe rappresentare il valore 0 Kg mentre 111111111121111111111_2 potrebbe rappresentare 200 Kg.

E' necessario un metodo per mappare valori nell'intervallo zero a 200 Kg in numeri binari nell'intervallo da 000000000020000000000_2 a 111111111121111111111_2.

Per fare questo, dobbiamo definire una funzione lineare che definisca uno a uno il mappaggio tra il numero binario e il corrispettivo valore analogico che rappresenta. Per fare questo torniamo all'espressione matematica di base che rappresenta una funzione lineare.

y=māˆ—x+by =m*x + b

Questa funzione definisce m come il tasso di incremento di y in rapporto al cambiamento di x e b come il valore di y quando x ĆØ uguale a 0. Possiamo utilizzare questa espressione per mappare un valore di intero binario x in un valore analogico y.

La pendenza di questa funzione, m, può essere calcolata dividendo l'intervallo possibile dei valori analogici per il numero di intervalli definiti da un intero a n-bit. Il numero di intervalli definiti da un numero intero a n-bit ĆØ uguale al limite massimo del numero binario se usato come un intero positivo (unsigned), quindi 2nāˆ’12^n - 1

m=IntervalloĀ diĀ valoriĀ analogiciNumeroĀ diĀ intervalliĀ deiĀ valoriĀ binarim = \frac {Intervallo\ di\ valori\ analogici } {Numero\ di\ intervalli\ dei\ valori\ binari}
m=ValoreĀ massimoĀ analogicoāˆ’ValoreĀ minimoĀ analogico2nāˆ’1m = \frac {{Valore\ massimo\ analogico} - {Valore\ minimo\ analogico } } {2^n - 1}

Torniamo al nostro esempio della bilancia domestica dove il valore massimo analogico ĆØ 200 Kg mentre il minimo ĆØ 0 Kg. Se un valore a 10-bit ĆØ utilizzato per rappresentare un numero analogico, allora il numero di intervalli del numero binario ĆØ 2nāˆ’12^n -1 = 1023.

Questo ci da una pendenza:

m=200Ā Kgāˆ’0Ā Kg1023Ā incrementiĀ binari=0,195Kg/incrementoĀ binariom = \frac {{200\ Kg} - {0\ Kg } } {1023\ incrementi\ binari} = {0,195} Kg /incremento\ binario

Questo significa che ogni volta che un numero binario si incrementa, ad esempio il numero base 2 va da 011011001020110110010_2 a 011011001120110110011_2, questo rappresenta un incremento del valore analogico di 0,195 Kg. Siccome il valore binario 000000000020000000000_2rappresenta il valore analogico di 0 Kg, allora il valore binario 000000000120000000001_2 rappresenta il valore analogico 0,195, 000000001020000000010_2rappresenta il valore analogico 2 * 0,195 = 0,390 Kg, il numero 000000001120000000011_2 binario rappresenta il valore 3 * 0,195 = 0,585 Kg e cosƬ via.

In alcuni casi, il limite inferiore potrebbe essere un valore diverso da 0. Questo è importante specialmente se una migliore accuratezza è richiesta. Ad esempio un forno da cucina potrebbe avere un caso limite massimo di 600° F. Se lo zero fosse utilizzato come limite minimo, allora l'intervallo delle temperatore sarebbe 600° F - 0° F = 600° F che dovrebbero essere mappati su 2n2^npossibili valori binari di un numero binario a n-bit. Per un numero binario a 9-bit, questo risulterebbe in un m di:

m=600° Fāˆ’0° F29āˆ’1=1,1742Ā gradi/incrementoĀ binariom = \frac {{600°\ F} - {0°\ F } } {2^9 - 1} = {1,1742}\ gradi /incremento\ binario

Veramente un forno veramente ha necessità di misurare valori sotto i 100° F? Se la risposta è negativa, un limite inferiore di 100° F può essere utilizzato riducendo così l'intervallo di valori analogici a 500° F. Questo intervallo più piccolo migliora l'accuratezza del sistema perché ogni cambiamento nel numero binario risulterà in un incremento minore nel valore analogico.

m=600° Fāˆ’100° F29āˆ’1=0,9785Ā gradi/incrementoĀ binariom = \frac {{600°\ F} - {100°\ F } } {2^9 - 1} = {0,9785}\ gradi /incremento\ binario

Il più basso incremento significa che ogni valore binario sarà una rappresentazione più accurata di un valore analogico.

Questo limite più basso diverso da zero capiamo che è il b dell'espressione lineare y = m*x + b. Infatti y è uguale a b quando x è uguale a zero, allora b deve essere uguale al limite inferiore dell'intervallo.

b=ValoreĀ analogicoĀ minoreb = {Valore\ analogico\ minore}

L'espressione finale che rappresenta la conversione finale di un valore analogico dato la rappresentazione binaria ĆØ:

Acalc=(Amaxāˆ’Amin2nāˆ’1āˆ—X)+AminA_{calc} = (\frac {A_{max} - A_{min}} {2^n - 1} * X) + A_{min} (Equazione 1)

dove:

Acalc=valoreĀ analogicoĀ rappresentatoĀ dalĀ valoreĀ binarioA_{calc} = {valore\ analogico\ rappresentato\ dal\ valore\ binario}

Amax=massimoĀ valoreĀ analogicoA_{max} = {massimo\ valore\ analogico}

Amin=minimoĀ valoreĀ analogicoA_{min} = {minimo\ valore\ analogico}

X=valoreĀ binarioĀ cheĀ rappresentaĀ ilĀ valoreĀ analogicoX = {valore\ binario\ che\ rappresenta\ il\ valore\ analogico }

n=numeriĀ diĀ bitĀ delĀ valoreĀ binarion = {numeri\ di\ bit\ del\ valore\ binario}

Esempio

Assumiamo che un processore controlli la temperatura di un forno con una temperatura che può variare tra 600° F e 100° F e misura una temperatura in numero binario a 9-bit, 0110010102011001010_2. Quale temperatura rappresenta?

Soluzione

Prima, abbiamo calcolato il tasso di incremento, m, per il forno con una temperatura tra 100° F e 600° F è 500° F / 511 incrementi binari. Sostituendo questo con il valore minimo analogico nell'equazione, ci dà:

temperatura=500511°F/incrementoĀ binarioĀ āˆ—valoreĀ binario+100°Ftemperatura = \frac {500} {511} °F/{incremento\ binario}\ * {valore\ binario} + 100°F

Se il processore che monitora la temperatura del forno, legge il valore binario 0110010102011001010_2, la temperatura può essere approssimata convertendo 0110010102011001010_2 al valore decimale e inserendolo nell'equazione di sopra.

0110010102=27+26+23+21=128+64+8+2=20210011001010_2 = 2^7 + 2^6 + 2^3 + 2^1 = 128 + 64 + 8 + 2 = 202_{10}

temperatura=500°F511āˆ—202+100°Ftemperatura = \frac {500°F} {511} * 202 + 100°F

temperaturatemperatura = 297,65°F

Il valore dell'esempio sopra è un po' inaccurato. Il valore binario 0110010102011001010_2in realtà rappresenta un intervallo di valori di 0,9785°F intorno o come limite inferiore a 297,65°F. Solo un numero binario con un numero infinito di bit sarebbe veramente preciso. Siccome questo non è possibile, ci sarà sempre una differenza o una certa risoluzione associata con un sistema digitale dovuta alla natura quantizzata dei numeri binari interi. Questa differenza è equivalente all'incremento o tasso di cambiamento dell'espressione lineare.

Risoluzione=IntervalloĀ analogico2nāˆ’1Risoluzione = \frac {Intervallo\ analogico} {2^n -1} (Equazione 2)

Esempio

Assumiamo che l'intervallo dei valori analogici di un sistema che converte da analogico a digitale che utilizza 10 bit vada da 5 once come limite interiore fino a 11 once come limite superiore. Qual'ĆØ la risoluzione di questo sistema?

Soluzione

Per determinare la risoluzione, cominciamo con l'intervallo dei valori analogici.

IntervalloĀ analogico=ValoreĀ analogicoĀ massimoĀ āˆ’ValoreĀ analogicoĀ minimoĀ =11Ā onceāˆ’5Ā once=6Ā onceIntervallo\ analogico = {Valore\ analogico\ massimo}\ - {Valore\ analogico\ minimo}\ = 11\ once - 5\ once = 6\ once

Sostituendo questo intervallo nell'equazione 2 e utilizzando n = 10 per rappresentare il numero di bit, noi otteniamo:

Risoluzione=6Ā once210āˆ’1=6Ā once1023=0,005865Ā once/incrementoRisoluzione = \frac {6\ once} {2^{10} -1 } = \frac {6\ once} {1023} = 0,005865 \ once/incremento

Se esaminiamo il risultato dell'esempio sopra, noi vediamo che il nostro sistema può misurare 0 once, 0,005865 once, 0,011730 once ( 2 * 0,005865 once), 0,017595 ( 3 * 0,005865 once) e così via, ma non può mai rappresentare la misura 0,015 once. La risoluzione non è così buona. Allo scopo di ottenere quella risoluzione, dobbiamo o aumentare il numero dei bit del numero intero binario o ridurre l'intervallo dei valori analogici.

Esempio

Quanti bit dobbiamo utilizzare nell'esempio di sopra per avere una risoluzione migliore di 0,001 once per incremento?

Soluzione

Ogni volta noi incrementiamo il numero di bit del nostro intero binario di uno, il numero di incrementi nell'intervallo ĆØ approssimativamente raddoppiato. Per esempio, aumentando da 10 bit a 11 bit incrementiamo il numero di incrementi nell'intervallo da 210āˆ’1=10232^{10} - 1 = 1023 a 211āˆ’1=20472^{11} - 1 = 2047. Il domanda ĆØ di quanto il numero di bit dobbiamo incrementarlo per avere la risoluzione desiderata? Per rispondere, incominciamo settando l'equazione 2 per rappresentare il fatto che vogliamo una risoluzione che deve essere migliore che 0,001 once/incremento.

0,001Ā once/incremento>6Ā once2nāˆ’10,001\ once/incremento > \frac {6\ once} {2^n - 1}

Risolvendo da 2nāˆ’12^n - 1 ci da:

2nāˆ’1>6Ā once0,001Ā once/incremento2^n - 1 > \frac {6\ once} {0,001\ once/incremento}
2nāˆ’1>6000Ā incrementi2^n - 1 > 6000\ incrementi

Sostituendo differenti interi per n all'equazione sopra, noi troviamo che n = 13 ĆØ il valore minimo di n per il quale la risoluzione, migliore che 0,001 once/incremento, ĆØ raggiunta. Con n = 13 infatti abbiamo una risoluzione di 6Ć·81916 \div 8191= 0,0007325 once/incremento.

Teoria Dei Segnali

Nella discussione precedente sulla rappresentazione di valori analogici con interi, ha mostrato come il numero di bit può influenzare l'errore di arrotondamento della rappresentazione. In generale un sistema di conversione da analogico a digitale divide l'intervallo analogico in 2nāˆ’12^n - 1 incrementi. La Figura 14 presenta quattro grafici, ognuno con un numero differente di bit, che comportano differenti livelli di risoluzione. La figura mostra l'aggiunta di bit può migliorare la risoluzione dei valori rappresentati dagli interi binari.

Fig. 14 - Effetto del numero di bit su l'Errore di Arrotondamento

Precedentemente, abbiamo accennato come il computer può solo catturare delle "instantanee" o campioni dei valori del voltaggio analogico. Questo è sufficiente per variazioni lente di valori analogici, ma se il segnale varia velocemente, dei dettagli possono essere persi. Per migliorare la rappresentazione digitale del segnale, il frequenza (il numero) alla quale i campioni devono essere presi, la frequenza di campionamento, deve essere incrementata.

C'è anche la possibilità di perdere le frequenze più alte se la frequenza di campionamento è troppo lenta. Questo fenomeno si chiama aliasing, e ci sono esempi nella vita di ogni giorno.

Quando andate in automobile di notte, potete notare che alcune volte le ruote delle macchine accanto possono sembrare che si muovono a una velocitĆ  differente rispetto a quella a cui effettivamente si muovono o addirittura si muovono in senso contrario. (Se non avete idea di quello che stiamo dicendo, notate le ruote delle macchine che vi passano accanto le prossime volte che viaggiate come passeggeri la notte sotto l'illuminazione stradale.)

Questo effetto è causato dal fatto che le luci dell'illuminazione stradale effettivamente pulsano, un fatto che generalmente non è percepito dall'occhio umano. Questo pulsare è come una frequenza di campionamento, e se questa frequenza non è abbastanza elevata per la velocità di movimento delle ruota, le ruote appaiono muoversi a una velocità diversa da quella reale. Le luci stradali non sono necessarie per percepire l'effetto. Anche i nostri occhi hanno una loro frequenza di campionamento, questo significa che questo fenomeno si può sperimentare questo tipo di fenomeni nella vita di tutti i giorni.

Fig 15 - Effetti dell'aliasing dovuti a un campionamento lento

Il fenomeno dell'aliasing è anche il motivo per cui le luci fluorescenti non possono essere utilizzate nelle segherie. Le luci fluorescenti pulsano molto velocemente e possono far apparire gli oggetti come se non si muovessero. Se la frequenza delle lici fluorescenti e la velocità della lama rotante sono multipli una dell'altra, può sembrare che la lama non si muova del tutto.

Entrambi questi esempi sono situazioni in cui il fenomeno dell'aliasing si verifica. Se la frequenza del segnale è più veloce della frequenza di campionamento, allora l'informazione verrà persa, e i dati raccolti non riescono a duplicare il fenomeno originale.

La figura 15 mostra come differenti frequenze di campionamento può risultare in differenti interpretazioni dei dati collezionati, con i punti neri che rappresentano i campioni. Notate il grafico in fondo a destra rappresenta una buona frequenza di campionamento. Quando un computer riproduce il segnale, la discontinuità della riproduzione verrà rimossa a causa del naturale effetto di filtraggio dei circuiti analogici.

Per evitare l'aliasing, la frequenza alla quale i segnali verranno presi, deve essere il doppio della frequenza più alta che vogliamo catturare. Questo è chiamato il Teorema di Nyquist. Per esempio, la frequenza di campionamento per un CD audio è 44.100 campioni/secondo. Dividendo questo numero per la metà ci dà la massima frequenza che un CD può riprodurre, cioè 22.050 Hz.

Per un segnale telefonico analogico, un singolo campione ĆØ convertito in un intero a 8 bit. Se questi segnali sono trasmessi su una linea di tipo T1 che fornisce un data rate di 56Kbits (kilobits al secondo), allora noi possiamo determinare la frequenza di campionamento.

FrequenzaĀ campionamentoĀ T1=56.000Ā bits/secondo8Ā bits/secondoFrequenza \ campionamento_{\ T1} = \frac {56.000\ bits/secondo} {8\ bits/secondo}
FrequenzaĀ campionamentoĀ T1=7.000Ā campioni/secondoFrequenza \ campionamento_{\ T1} = 7. 000\ campioni/secondo

Questo significa che la più alta frequenza che può essere trasmessa lungo una linea telefonica che utilizza un canale di tipo T1, è 7.000÷2=3.500 Hz7.000 \div 2 = 3.500\ Hz. Questo è il motivo per cui la qualità della voce ascoltata al telefono è povera se si confronta con la qualità del suono dei CD. Anche se gli utenti del telefono comunque riescono a distinguere la voce del chiamante dall'altra parte della linea quando le più alte frequenze sono eliminate, la voce spesso sembra mutata.

Esercizi

  1. Se un numero binario a 8 bit ĆØ utilizzato per rappresentare un valore analogico nel range da 0 a 100 (in base 10), che valore rappresenta il numero binario 01100100?

  2. Se un numero binario a 8 bit ĆØ utilizzato per rappresentare un numero analogico nel range tra 32 a 212, qual'ĆØ l'accuratezza del sistema? In altre parole, se il numero binario ĆØ incrementato di uno, quanto ĆØ il cambiamento nel valore analogico?

  3. Assumiamo che un sistema digitale di conversione da analogico a digitale usa interi a 10 bit per rappresentare le temperature analogiche su un intervallo di valori che vanno da -25°F a 125°F. Se la temperatura al momento letta è di 65,325°F, quale sarebbe il valore più vicino che il sistema può rappresentare?

  4. Qual'ĆØ la minima frequenza di campionamento necessario per catturare con successo frequenze fino a 155KHz in un sistema analogico?

Riferimenti

  • Computer Organization and Design Fundamentals by David Tarnoff, Chapter 1 -- Digital Signals and Systems

  • Computer Organization and Design Fundamentals by David Tarnoff, Chapter 2 -- Numbering Systems

Last updated

Was this helpful?