Teoria: Digitalizzazione dei segnali multimediali - campionamento, quantizzazione e binarizzazioneLa conversione analogico-digitale (ADC) ha tre passi: campionamento $s_c(n)=s(nT_c)$, quantizzazione su $L=2^m$ livelli, binarizzazione dell'indice in $m$ bit; il bit-rate vale $R=F_c\log_2L$. Per il teorema di Shannon un segnale a banda limitata $f_M$ si ricostruisce senza errore se $F_c\ge2f_M$ (criterio di Nyquist), altrimenti c'è aliasing; per questo prima del campionatore c'è un filtro passa-basso. La quantizzazione uniforme di passo $\Delta=\frac{2A}{L}$ è irreversibile, con errore massimo $\frac\Delta2$ e $\mathrm{MSE}=\frac{\Delta^2}{12}$; la qualità si misura con MSE e $\mathrm{PSNR}=10\log_{10}\frac{(2^b-1)^2}{\mathrm{MSE}}$. In ricezione il bit mapper ricostruisce i valori e l'interpolazione con un nucleo $h$ (sample and hold, lineare, cubica, sinc troncato) riporta il segnale al tempo continuo.Digitalizzazione dei segnali multimediali - campionamento, quantizzazione e binarizzazione → (criterio di Nyquist, aliasing, quantizzazione uniforme, MSE=Δ2/12, PSNR, interpolazione). Fonte: domande a risposta multipla e slide del corso di Reti di Calcolatori, Ing. Informatica UniPD 2025-26, più esercizi costruiti sul modello di quelli del corso (indicati). I conti sono verificati in Python.
1. Criterio di Nyquist e filtro anti-aliasing
Domanda 1. Un segnale vocale è digitalizzato con un filtro anti-aliasing a frequenza di taglio f0 e con un campionatore a 10 kHz. Quale condizione su f0 assicura l'assenza di aliasing? (a) f0<4 kHz, (b) f0<10 kHz, (c) f0<20 kHz, (d) f0>20 kHz.
Il criterio è Fc≥2f0, cioè f0≤2Fc=5 kHz. Un'opzione è giusta se la sua condizione implica f0≤5 kHz: (a) sì (se f0<4 allora f0≤5). (b) no: per f0=7 kHz, che verifica f0<10, c'è aliasing (7 kHz si ripiega a ∣7−10∣=3 kHz). (c) e (d) sono ancora più lasche (e (d) chiede addirittura un filtro che lascia passare tutto, cioè nessun filtro).
Domanda 2. Un segnale ha banda limitata a 8 kHz e viene campionato. Frequenza minima di campionamento per evitare aliasing? (a) 16 kHz, (b) 8 kHz, (c) 4 kHz, (d) 32 kHz.
Fc≥2fmax=2⋅8=16 kHz: (a). (b) e (c) violano Nyquist (si campionerebbero a meno di due campioni per periodo della componente più veloce); (d) rispetta Nyquist ma non è il minimo.
Domanda 3. La minima frequenza di campionamento per un segnale con banda 10 kHz è: (a) 20 kHz, (b) 10 kHz, (c) 5 kHz. Direttamente da Nyquist: 2⋅10=20 kHz: (a).
Esercizio (aliasing, costruito sul modello del corso). Campionando a Fc=8 kHz senza filtro, a quale frequenza appaiono i toni a 3, 5, 6, 7, 9, 13 kHz? Formula: fapp=∣f−Fc⋅round(f/Fc)∣.
| f (kHz) |
f/Fc |
multiplo di Fc più vicino |
fapp |
| 3 |
0,375 |
0 |
3 (nessun aliasing, 3<Fc/2=4) |
| 5 |
0,625 |
8 |
3 |
| 6 |
0,75 |
8 |
2 |
| 7 |
0,875 |
8 |
1 |
| 9 |
1,125 |
8 |
1 |
| 13 |
1,625 |
16 |
3 |
Si vede che 3, 5 e 13 kHz diventano indistinguibili (tutti a 3 kHz): una volta campionato, un alias non si può eliminare; per questo il filtro va prima del campionatore. Con il filtro a Fc/2=4 kHz i toni a 5, 6, 7, 9, 13 kHz sono eliminati (attenuati) prima di essere campionati.
Esercizio (campioni delle slide). Il segnale ha ampiezza in [0,1] e si usa un quantizzatore con livelli multipli di Δ=71≈0,143 (livelli Δ,2Δ,…,7Δ). I campioni sono 0,546, 0,876, 1, 0,832, 0,454, 0,162, 0,092, 0,260.
Indici round(x/Δ)=round(7x): 3,82→4; 6,13→6; 7→7; 5,82→6; 3,18→3; 1,13→1; 0,64→1; 1,82→2. Livelli quantizzati: 4Δ,6Δ,7Δ,6Δ,3Δ,Δ,Δ,2Δ (come nella slide), cioè 0,571;0,857;1;0,857;0,429;0,143;0,143;0,286. Errori Q(x)−x: +0,025;−0,019;0;+0,025;−0,025;−0,019;+0,051;+0,026: tutti sotto 2Δ=0,0714 in modulo. MSE=N1∑en2≈7,4⋅10−4, più piccolo della previsione 12Δ2=1,7⋅10−3: con soli 8 campioni l'errore non è ancora distribuito in modo uniforme (la previsione è una media su molti campioni). Se ogni indice è scritto su 3 bit (L≤8 livelli), il flusso binario è 100110111110011001001010 (24 bit per 8 campioni).
Esercizio (mid-tread contro mid-rise, costruito). Segnale in (−1,1), Δ=0,5 (L=4). Si quantizza x=0,3.
- Mid-tread: Q=Δround(x/Δ)=0,5round(0,6)=0,5; errore +0,2 (minore di Δ/2=0,25).
- Mid-rise: Q=Δ(⌊x/Δ⌋+21)=0,5(⌊0,6⌋+0,5)=0,25; errore −0,05.
Per il mid-rise, 0 non è un livello: i livelli sono ±0,25,±0,75. Il mid-tread con L=4 su (−1,1) avrebbe livelli −1,−0,5,0,0,5 (asimmetrici: serve un livello in più dal lato positivo) oppure tre livelli simmetrici −0,5,0,0,5.
Esercizio (SQNR, costruito). (a) Quanti bit servono per avere SQNR≥90 dB con segnale uniforme? 6,02b≥90⇒b≥14,95, quindi 15 bit (SQNR =90,3 dB). (b) Se si passa da 8 a 12 bit per campione di un segnale uniforme, di quanto migliora il rapporto segnale-rumore? 4⋅6,02=24,1 dB; la potenza del rumore diventa 441=2561 della precedente (perché Δ si divide per 16 e MSE∝Δ2). (c) Un convertitore a 10 bit con ingresso uniforme su (−1,1): Δ=10242=0,00195, MSE=12Δ2=3,2⋅10−7, SQNR=60,2 dB.
3. MSE e PSNR
Esercizio (PSNR dopo requantizzazione, costruito sul modello della slide). Un'immagine in scala di grigi a 8 bit viene requantizzata a 5 bit (32 livelli). Stima del PSNR assumendo errore uniforme.
- Passo: Δ=32256=8 livelli di grigio.
- MSE=12Δ2=1264=5,33.
- PSNR=10log105,332552=10log1012192=40,86 dB. Con la regola 48,13−10log105,33=48,13−7,27=40,86 dB.
- Giudizio: "molto buona" (40-45 dB). A 4 bit (da 8): Δ=16, MSE =21,3, PSNR =34,8 dB ("buona"); a 2 bit: 22,8 dB ("scadente"). Ogni bit tolto riduce il PSNR di circa 6 dB (da 5 a 4 bit: 40,9→34,8 dB).
Esercizio (da MSE a PSNR). Due versioni di una stessa immagine hanno MSE 10 e MSE 100. PSNR1=48,13−10=38,1 dB, PSNR2=48,13−20=28,1 dB: un fattore 10 sull'MSE vale 10 dB. La prima è "buona", la seconda "scadente".
4. Binarizzazione e interpolazione
Esercizio (bit mapper, dalla slide). I livelli −1,−0,5,0,0,5,1 hanno i codici 000,001,010,011,100. Il ricevitore riceve 010001000001010: legge a blocchi di 3 bit →0,−0,5,−1,−0,5,0. Si trasmette l'indice binarizzato, non il valore (per esempio con Δ=1 e Q(3,1)=3 si trasmette il codice di 3, non il numero 3).
Esercizio (interpolazione, costruito). Campioni s(0)=0, s(Tc)=2, s(2Tc)=4. Valore ricostruito a t=1,5Tc:
- sample and hold: s~=s(Tc)=2 (il rettangolo rect(t−21) dura da Tc a 2Tc);
- lineare: s~=22+4=3 (media dei due campioni vicini: il triangolo vale 21 a distanza 21);
- a campione t=Tc entrambi i nuclei danno 2: l'interpolazione conserva i campioni perché h(0)=1 e h(n)=0 per n=0.
Per un segnale che è davvero una retta (qui s=2t/Tc) l'interpolazione lineare è esatta (vale 3 a 1,5Tc) e il sample and hold sbaglia di 1.
Errori tipici
- Scrivere Fc≥fM invece di Fc≥2fM; scambiare "minimo" con "sufficiente".
- Pensare che il throughput della rete cambi l'aliasing: dipende solo da Fc e dal filtro.
- Usare Δ=LA per (−A,A) (è L2A).
- Dimenticare che il PSNR cresce di circa 6 dB per bit e che l'MSE è in unità del segnale al quadrato.
- Confondere livelli (valori) e indici (bit): al ricevitore serve il bit mapper.
Versione ripasso
Nyquist. Fc≥2f0, quindi con Fc=10 kHz il filtro deve avere f0≤5 kHz: vale la (a) f0<4 kHz (implica f0≤5), non la (b) f0<10 (con 7 kHz c'è aliasing, 7 kHz →3 kHz). Banda 8 kHz ⇒Fc≥16 kHz (32 è sufficiente ma non minimo); banda 10 kHz ⇒20 kHz.
Aliasing. fapp=∣f−Fcround(f/Fc)∣; con Fc=8 kHz: 3→3, 5→3, 6→2, 7→1, 9→1, 13→3. Toni diversi diventano indistinguibili: filtrare prima di campionare (Fc/2=4 kHz).
Quantizzazione. Slide: Δ=71, indici round(7x): 4,6,7,6,3,1,1,2 per 0,546,0,876,1,0,832,0,454,0,162,0,092,0,260; errori ≤2Δ=0,0714; MSE≈7,4⋅10−4<12Δ2=1,7⋅10−3 (pochi campioni). Mid-tread Q=Δround(x/Δ) contro mid-rise Δ(⌊x/Δ⌋+21): x=0,3, Δ=0,5: 0,5 (errore 0,2) contro 0,25 (errore −0,05).
SQNR. 6,02b dB per un segnale uniforme: ≥90 dB ⇒b=15 (90,3 dB); da 8 a 12 bit +24,1 dB (rumore diviso per 256); 10 bit su (−1,1): Δ=10242, MSE=3,2⋅10−7, 60,2 dB.
PSNR. 8 → 5 bit: Δ=8, MSE=1264=5,33, PSNR=10log105,332552=40,86 dB ("molto buona"). Da 8 a 4 bit: 34,8 dB; a 2 bit: 22,8 dB; −6 dB per bit. MSE 10 →38,1 dB, MSE 100 →28,1 dB (fattore 10 sull'MSE =10 dB).
Bit mapper. Codici 000,001,010,011,100↔−1,−0,5,0,0,5,1: 010001000001010→0,−0,5,−1,−0,5,0. Si trasmette l'indice, non il valore.
Interpolazione. Campioni 0,2,4 a Tc: a 1,5Tc sample and hold dà 2, lineare dà 3 (esatto per una retta); entrambi conservano i campioni (h(0)=1, h(n)=0).
Errori tipici: Fc≥fM invece di 2fM; minimo contro sufficiente; throughput e aliasing; Δ=A/L; livelli contro indici.
Teoria: Digitalizzazione dei segnali multimediali - campionamento, quantizzazione e binarizzazioneLa conversione analogico-digitale (ADC) ha tre passi: campionamento $s_c(n)=s(nT_c)$, quantizzazione su $L=2^m$ livelli, binarizzazione dell'indice in $m$ bit; il bit-rate vale $R=F_c\log_2L$. Per il teorema di Shannon un segnale a banda limitata $f_M$ si ricostruisce senza errore se $F_c\ge2f_M$ (criterio di Nyquist), altrimenti c'è aliasing; per questo prima del campionatore c'è un filtro passa-basso. La quantizzazione uniforme di passo $\Delta=\frac{2A}{L}$ è irreversibile, con errore massimo $\frac\Delta2$ e $\mathrm{MSE}=\frac{\Delta^2}{12}$; la qualità si misura con MSE e $\mathrm{PSNR}=10\log_{10}\frac{(2^b-1)^2}{\mathrm{MSE}}$. In ricezione il bit mapper ricostruisce i valori e l'interpolazione con un nucleo $h$ (sample and hold, lineare, cubica, sinc troncato) riporta il segnale al tempo continuo.Digitalizzazione dei segnali multimediali - campionamento, quantizzazione e binarizzazione →.