Per rappresentare un segnale o una immagine in una memoria digitale occorre non soltanto campionare il segnale continuo, nel tempo per segnali unidimensionali e nel piano per segnali bidimensionali, occorre anche discretizzarlo cioè rappresentarlo con un numero finito di bit e quindi con precisione finita.
Nel caso di segnali monodimensionali, ad esempio sonori, gli aspetti da verificare sono due: precisione e dinamica.
Il segnale audio è un esempio di come la qualità sia affidata ad ambedue gli aspetti:
Nell’esempio sonoro proposto e nel relativo diagramma si possono valutare ambedue gli aspetti dovuti ad una insufficiente precisione nella quantizzazione del segnale.
Per rendere evidenti gli effetti il segnale è stato quantizzato a 5 bit.
È evidente come negli intervalli di tempo in cui il segnale ha un livello basso, inferiore al passo di quantizzazione, la quantizzazione cancella completamente il segnale che quindi risulta interamente nell’errore, sia graficamente che all’ascolto.
Nelle zone invece in cui il segnale ha livelli alti l’errore di quantizzazione risulta in un fruscio di fondo che rende sgradevole se non intellegibile il segnale.
Il processo di quantizzazione consiste nel rappresentare il segnale con precisione finita, ad esempio come intero con un numero definito di bit.
Supponiamo di quantizzare a 3 bit in complemento a2, cioè mediante 8 livelli. In particolare per una questione di simmetria tra codici positivi e negativi i livelli sono soltanto 2^n-1 cioè 7 nel caso in esame.
Possiamo quantizzare mediante troncamento della parola che rappresenta il segnale, trascurando le cifre dopo la virgola, ed in tal caso l’errore sarà contenuto tra -1 ed 1.
Possiamo quantizzare per arrotondamento della parola che rappresenta il segnale, cioè approssimando un numero a precisione infinita con l’intero (maggiore o minore) più vicino. In tal caso l’errore sarà contenuto tra -0.5 e 0.5.
I limiti dell’errore nei due casi si riscontarno in figura dalle simulazioni, ottenute mediante round_trunc.m nella sezione materiali.
La quantizzazione si effettua con un dispositivo DAC (Digital to Analg Converter) che confronta un segnale analogico con delle soglie opportune e restituisce il codice binario relativo.
Per studiare l’effetto della quantizzazione occorre però usare un segnale in cui tutti i valori assunti abbiano uguale probabilità di occorrenza; useremo quindi come segnale una rampa come in figura e otterremo numericamente la frequenza di occorrenza dell’errore nei due casi ed il limiti di questo errore.
Evidentemente l’arrotondamento introdurrà meno rumore del troncamento e sarà di norma preferito al troncamento.
Gli effetti del rumore nei casi reali di quantizzazione a 12 – 16 ma anche 20 24 bit sono naturalmente molto più contenuti che negli esempi sviluppati, cioònonostante essi possono essere estremamente rilevanti in relazione alla specifica aplicazione.
Nel campo audio, ad esempio i 20-24 bit sono considerati necessari per una buona resa acustica.
La quantizzazione ha però un altro effetto: trattando un segnale ad n bit con un’aritmetica ad n bit, se nella elaborazione sono necessarie 4 somme, per evitare overflow sarà necessario che il segnale di partenza non oltrepassi n-2 bit. Se l’elaborazione diventa più complessa e richiede un numero elevato di operazioni la precisione del singolo campione si ridurrà di un numero di bit pari al log in base 2 del numero di operazioni.
La potenza del rumore si definisce come media del valore quadratico dell’errore, pesato con la sua probabilità di occorrenza
Si può dimostrare che questa probabilità è costante tra –q/2 e q/2 e poiché l’area sotto la curva deve essere unitaria, sarà (p(e)=1/q, q è il passo di quantizzazione). L’integrale si può valutare come: (ad es. vedi Wolfram)
Supponiamo ora di quantizzare a b bit; il passo di quantizzazione sarà q=2/2b=2-b+1. Sostituendo avremo:
La potenza del segnale supponendo si tratti di una rampa tra 0 e 1 con valori equiprobabili in questo intervallo si può ricavare allo stesso modo, ottenendo:
Per misurare la degradazione introdotta dalla quantizzazione si introduce allora il parametro rapporto segnale rumore (o il suo inverso) SNR Signal to Noise Ratio, misurato come rapporto tra le due potenze, quella del segnale e quella del rumore. Facendo il rapporto tra le due grandezze appena calcolate avremo:
Il rapporto SNR viene misurato solitamente in decibel dB, definito per la grandezza X come:
dove A sono ampiezze e P sono potenze (quindi proporzionali al quadrato delle ampiezze); ricordando poi che
l’inverso di una grandezza qualsiasi viene misurata dal numero opposto in dB. La legge vista, si può esprimere nella relazione lineare:
SNRdb=10log10SNR=10log1022b=20b*log102=6.02·b
Un incremento dunque di un bit nella rappresentazione dei segnali comporta un miglioramento di circa 6dB nel rapporto segnale rumore.
La legge vista per cui un incremento di un bit nella rappresentazione del segnali comporta un miglioramento di circa 6dB nel rapporto segnale rumore può essere verificata mediante simulazione a diversi valori per il numero di bit.
Nei diagrammi a fianco vengono riportati questi valori in dB ottenuti sia dalla formula sopra riportata che da una simulazione ottenuta con il file Matlab .
Nel caso di simulazione, le due potenze, del rumore ni e del segnale xi sono calcolate come:
Ed il rapporto SNR è
Come già visto nel caso del seno, la statistica dell’errore dipende dal segnale.
Le formule viste si adattano però ad una situazione generale perché su tempi lunghi i valori assunti dal segnale sono praticamente equiprobabili.
Le statistiche riportate per segnali diversi sono ottenute da simulazione e mostrano chiare differenze da segnale a segnale.
I risultati visti nel caso dei segnali monodimensionale si estendono semplicemente al caso di immagini e permettono di stabilire il numero di bit necessari alla rappresentazione di immagini, anche in movimento, in relazione al supporto di visualizzazione (stampa, monitor, LCD ed altro).
Nella figura seguente è mostrato il risultato della quantizzazione di una immagine in toni di grigio su 16-8-4-2 livelli, quindi a 4-3-2-1 bit.
In questo secondo caso l’immagine di origine è una immagine, Lena, usata frequentemente nella letteratura della elaborazione delle immagini, perché contiene una mescolanza di contorni, textures minute e zone diffuse, utili per mettere alla prova algoritmi di elaborazione di immagine, di compressione e di abbattimento del rumore.
Vedi in rete: Lenna
Citando David C. Munson, editor-in-chief, January 1996 IEEE Transactions on Image Processing:
“First, the image contains a nice mixture of detail, flat regions, shading, and texture that do a good job of testing various image processing algorithms. It is a good test image!”
Nel caso di immagini colorate la quantizzazione va fatta sui singoli colori, separati nei tre piani.
Nelle immagini che seguono la quantizzazione è a ad un solo bit, ciò nonostante la combinazione dei 3 piani di colori permette comunque di creare un numero alto di colori composti (2×2x2=8).
1. Introduzione al corso. I segnali a tempo continuo ed a tempo di...
3. Sistemi: tipologie. Sistemi discreti e continui, lineari e non.
5. Equazioni alle differenze finite: sistemi del primo ordine
6. Sistemi del Secondo Ordine. Sistemi di ordine arbitrario
7. Sistemi del secondo ordine: sintesi vocale
8. Sistemi per l'elaborazione numerica dei segnali: implementazion...
9. Quantizzazione: precisione finita di parola
10. Segnali continui: Serie di Fourier e Trasformata di Fourier
11. Analisi di Fourier per sequenze periodiche: DFS
12. Serie Discrete di Fourier: esempi
13. Analisi di Fourier per sequenze finite: la DFT
14. Trasformata di Fourier a Tempo Discreto per segnali di durata a...
15. Trasformata di Fourier a Tempo Discreto: proprietà
16. Trasformata di Fourier a Tempo Breve (STFT short time fourier t...
17. La trasformata Z
18. Il teorema del campionamento: ricostruzione
19. Trasformate bidimensionali