💡
tecnologie3
  • Tecnologie
  • Codifica numeri
    • Conversione dei numeri con parte frazionaria
    • Esercizi numeri
  • Numeri interi e linguaggio C
  • La rappresentazione dei simboli alfanumerici
  • Funzione di conversione da alfanumerici a numerici - esempi in C
  • Codifica immagini e unità misura
  • Segnali, dall'analogico al digitale
  • Rappresentazione dei suoni
  • Rappresentazioni delle informazioni complesse
  • Riepilogo codifiche
  • ARCHITETTURA COMPUTER
    • Architettura generale
    • Memoria principale
    • Il processore
    • La memoria secondaria (di massa)
    • Periferiche (dispositivi) e loro controllo/1
    • Periferiche (dispositivi) e loro controllo/2
    • Esempio di Architettura Computer - Macchina von Neumann
    • I concetti chiave
    • Esercizi
  • Sistema Operativo
    • Il sistema operativo
    • Gestione dei processi
    • Gestione della memoria
    • I Gestori di Periferiche
    • Il modello di sicurezza di Unix/Linux
  • Esercitazione gestione processi
  • Esercitazione memoria
    • Svolgimento
    • Progetto calcolatore indirizzi fisici
  • Corso Linux base
    • Lavorare con testo: more, grep
    • Utilizzo pipe
    • Lavorare con il comando find
  • Tecnologie 2
  • Operating Systems: Three Easy Pieces
  • Computing for the Socio-Techno Web
  • Software libero ed istruzione
Powered by GitBook
On this page
  • Segnale analogico
  • Segnali digitali
  • Sistemi di conversione
  • Rappresentazione dei segnali digitali
  • Tipi di segnali digitali
  • Prefissi unità di misura
  • Esercizi
  • Rappresentazione binaria di Valori Analogici
  • Teoria Dei Segnali
  • Esercizi
  • Riferimenti

Was this helpful?

Segnali, dall'analogico al digitale

PreviousCodifica immagini e unità misuraNextRappresentazione dei suoni

Last updated 2 years ago

Was this helpful?

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.

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

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).

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).

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.

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.

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.

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.

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.

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.

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.

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.

Questa misurazione del periodo non descrive pienamente un segnale periodico, tuttavia; una seconda misurazione, l'ampiezza dell'impulso, twt_wtw​ è 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_wtw​ è circa un-quarto del periodo del segnale mentre il twt_wtw​ del segnale b è circa la metà del periodo del segnale.

L'unità di misura di twt_wtw​ sono i secondi. Il suo valore dovrebbe essere maggiore di 0 e minore del periodo. Un twt_wtw​ uguale a 0 implica un segnale che non ha impulso, e se twt_wtw​ 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/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} Frequenza=Periodo in secondi1​

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=Periodo in secondi1​
Frequenza=10,1 secondiFrequenza = \frac 1 {0,1\ secondi}Frequenza=0,1 secondi1​
Frequenza=10HzFrequenza = 10 HzFrequenza=10Hz

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}Periodo=Frequenza1​

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=2.000.000.000 Hz1​
Periodo=0,0000000005 sec=0,5 nanosecondiPeriodo = 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_wtw​ è circa un-quarto o il 25% della durata del periodo.

Quindi il duty cycle del periodo è del 25%.

L'Equazione 1.2 rappresenta la formula per calcolare il duty cycle quando entrambi twt_wtw​ 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\% Duty Cycle=Periond Tlogic 1 pulse duration (tw​)​ ∗ 100%

Finché il range di twt_wtw​ è 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=Frequenza1​
Periodo=11.000 HzPeriodo = \frac 1 {1.000\ Hz}Periodo=1.000 Hz1​
Periodo=0,001secPeriodo = 0,001 secPeriodo=0,001sec

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

Duty Cycle =twT∗100%Duty\ Cycle\ = \frac {t_w} T * 100\%Duty Cycle =Ttw​​∗100%
tw=T∗(Duty Cycle)100%t_w = \frac {T * (Duty \ Cycle)} {100\%}tw​=100%T∗(Duty Cycle)​
tw=0,001 secondi∗0,33t_w = 0,001\ secondi * 0,33 tw​=0,001 secondi∗0,33
tw=0,00033 secondi=330 microsecondit_w = 0,00033\ secondi = 330\ microseconditw​=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 herz5∗103herz. Il moltiplicatore 10310^3103 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

exa

E

peta

P

tera

T

giga

G

mega

M

kilo

k

milli

m

micro

μ o u

nano

n

pico

p

Per utilizzare la tabella, semplicemente sostituiamo il prefisso con la corrispondente potenza del 10. Per esempio, sostituiamo 10−610^{-6}10−6con il prefisso "μ" nel valore 15,6 μS. Questo vi dà 15,6∗10−615,6 * 10^{-6}15,6∗10−6secondi, 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_wtw​, 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

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 - 12n−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_200000000002​potrebbe rappresentare il valore 0 Kg mentre 111111111121111111111_211111111112​ potrebbe rappresentare 200 Kg.

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

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 + 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 - 12n−1

m=Intervallo di valori analogiciNumero di intervalli dei valori binarim = \frac {Intervallo\ di\ valori\ analogici } {Numero\ di\ intervalli\ dei\ valori\ binari}m=Numero di intervalli dei valori binariIntervallo di valori analogici​
m=Valore massimo analogico−Valore minimo analogico2n−1m = \frac {{Valore\ massimo\ analogico} - {Valore\ minimo\ analogico } } {2^n - 1}m=2n−1Valore massimo analogico−Valore minimo analogico​

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 2n−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\ binariom=1023 incrementi binari200 Kg−0 Kg​=0,195Kg/incremento binario

Questo significa che ogni volta che un numero binario si incrementa, ad esempio il numero base 2 va da 011011001020110110010_201101100102​ a 011011001120110110011_201101100112​, questo rappresenta un incremento del valore analogico di 0,195 Kg. Siccome il valore binario 000000000020000000000_200000000002​rappresenta il valore analogico di 0 Kg, allora il valore binario 000000000120000000001_200000000012​ rappresenta il valore analogico 0,195, 000000001020000000010_200000000102​rappresenta il valore analogico 2 * 0,195 = 0,390 Kg, il numero 000000001120000000011_200000000112​ 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^n2npossibili 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\ binariom=29−1600° F−0° F​=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\ binariom=29−1600° F−100° F​=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}b=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}Acalc​=(2n−1Amax​−Amin​​∗X)+Amin​ (Equazione 1)

dove:

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

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

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

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

n=numeri di bit del valore binarion = {numeri\ di\ bit\ del\ valore\ binario}n=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_20110010102​. 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°Ftemperatura=511500​°F/incremento binario ∗valore binario+100°F

Se il processore che monitora la temperatura del forno, legge il valore binario 0110010102011001010_20110010102​, la temperatura può essere approssimata convertendo 0110010102011001010_20110010102​ 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}0110010102​=27+26+23+21=128+64+8+2=20210​

temperatura=500°F511∗202+100°Ftemperatura = \frac {500°F} {511} * 202 + 100°Ftemperatura=511500°F​∗202+100°F

temperaturatemperaturatemperatura = 297,65°F

Il valore dell'esempio sopra è un po' inaccurato. Il valore binario 0110010102011001010_20110010102​in 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}Risoluzione=2n−1Intervallo analogico​ (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 Intervallo 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/incrementoRisoluzione=210−16 once​=10236 once​=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 = 1023210−1=1023 a 211−1=20472^{11} - 1 = 2047211−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} 0,001 once/incremento>2n−16 once​

Risolvendo da 2n−12^n - 12n−1 ci da:

2n−1>6 once0,001 once/incremento2^n - 1 > \frac {6\ once} {0,001\ once/incremento}2n−1>0,001 once/incremento6 once​
2n−1>6000 incrementi2^n - 1 > 6000\ incrementi2n−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 81916÷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 2n−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.

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.

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​=8 bits/secondo56.000 bits/secondo​
Frequenza campionamento T1=7.000 campioni/secondoFrequenza \ 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\ Hz7.000÷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

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

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

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

102110^{21}1021
101810^{18}1018
101510^{15}1015
101210^{12}1012
10910^{9}109
10610^{6}106
10310^3103
10−310^{-3}10−3
10−610^{-6}10−6
10−910^{-9}10−9
10−1210^{-12}10−12
digital watermarking
Chapter 1
Chapter 2
Fig 1 - Segnale analogico
Fig 2 - Campionamento di un segnale analogico
Fig 3 - Campionamento lento con perdita delle anomalie
Fig 4 - Bassa risoluzione che comporta misurazioni non accurate
Fig 5 - Diagramma a blocchi di un sistema che cattura i segnali analogici
Fig 6 - Rappresentazione di un singolo segnale binario
Fig 7 - Rappresentazione di più segnali digitali
Fig 8 - Definizione delle transizioni digitali
Fig 9 - Forma d'onda degli impulsi
Fig 10 - Segnale non periodico
Fig 11 - Segnale periodico
Fig 12 - Segnali periodici con differente ampiezza d'impulso
Fig 13 - Segnale periodico con duty cycle del 25%
Fig 13 - Onde di un segnale musicale
Fig. 14 - Effetto del numero di bit su l'Errore di Arrotondamento
Fig 15 - Effetti dell'aliasing dovuti a un campionamento lento