Salta al contenuto
Note per Studenti Esercizio 5 · quantizzatore a 60 dB per un segnale laplaciano e codice di Huffman (tema d'esame febbraio 2026)

Esercizio 5quantizzatore a 60 dB per un segnale laplaciano e codice di Huffman (tema d'esame febbraio 2026)

Esame
In questa pagina 6

Testo (tema d'esame febbraio 2026, esercizio 1). Si consideri il segnale con banda B=3B=3 kHz e distribuzione laplaciana p(x)=12be−∣x∣/bp(x)=\frac1{2b}e^{-\lvert x\rvert/b}, con b=1b=1 V.

  1. (2p) Scegliere la frequenza di campionamento tra f1=1f_1=1 kHz, f2=2f_2=2 kHz, f3=8f_3=8 kHz. Motivare la risposta.
  2. (3p) Progettare un quantizzatore mid-riser tale che SNR=60\text{SNR}=60 dB e Psat=2⋅10−4P_{sat}=2\cdot10^{-4}. Calcolare il numero di livelli, il range dinamico e i bit in uscita.
  3. (3p) Usando L=8L=8 livelli, con probabilità p1=0,5p_1=0{,}5, p2=0,15p_2=0{,}15, p3=0,1p_3=0{,}1, p4=0,08p_4=0{,}08, p5=0,07p_5=0{,}07, p6=0,05p_6=0{,}05, p7=0,03p_7=0{,}03, p8=0,02p_8=0{,}02, trovare la codifica di Huffman.
  4. (3p) Si disegni la funzione caratteristica del quantizzatore.
  5. (2p) Si calcoli la lunghezza media, l'efficienza e il rate della codifica trovata al punto (3).

Teoria usata: Conversione A-D e D-A - campionamento, anti-aliasing e interpolazionePer trasmettere un segnale analogico in forma digitale lo si campiona (a frequenza $F_s\ge2B$, dopo un filtro anti-aliasing), lo si quantizza su $L=2^b$ livelli e si trasforma ogni livello in $b$ bit. Il bit-rate nominale è $R_b=F_s,b$. Al ricevitore si fa il percorso inverso e si interpola (con un filtro con risposta $T_s,\mathrm{rect}\frac f{2B}$ in teoria, con un mantenitore di ordine zero in pratica). La quantizzazione è l'unica operazione che introduce un errore irreversibile.Conversione A-D e D-A - campionamento, anti-aliasing e interpolazione →, SNR di quantizzazione e progetto del quantizzatoreL'SNR di quantizzazione è $\Lambda_q=\frac{M_a}{M_e}$. Con errore granulare uniforme e saturazione trascurabile vale $\Lambda_q=\frac{\sigma^2}{\Delta^2/12}=3\frac{\sigma^2}{V_{sat}^2},2^{2b}$, cioè $[\Lambda_q]{dB}=6{,}02,b+4{,}77+20\log{10}\frac\sigma{V_{sat}}$: ogni bit in più dà $+6$ dB. Per progettare: $V_{sat}$ dalla probabilità di saturazione ($V_{sat}=\sigma,Q^{-1}\left(\frac{P_{sat}}2\right)$ per un gaussiano), poi $b$ dall'SNR richiesto, arrotondando per eccesso.SNR di quantizzazione e progetto del quantizzatore →, Quantizzatore uniforme - livelli, mid-riser ed erroriUn quantizzatore mappa i campioni reali su $L=2^b$ livelli. Quello uniforme (PCM) sceglie un range dinamico $[-V_{sat},V_{sat}]$ e un passo $\Delta=\frac{2V_{sat}}L$; nel tipo mid-riser i livelli sono $\pm\frac\Delta2,\pm\frac{3\Delta}2,\dots$ e non c'è lo zero. L'errore $e_q=a_q-a$ ha una parte granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) e una di saturazione (fuori range). Per renderlo piccolo servono $P_{sat}$ piccola e $L$ grande.Quantizzatore uniforme - livelli, mid-riser ed errori →, Codici di Shannon-Fano e di HuffmanIn un codice ottimo le parole più probabili non sono più lunghe di quelle meno probabili e le due parole più lunghe differiscono solo per l'ultimo simbolo. Shannon-Fano costruisce l'albero dall'alto dividendo ripetutamente i simboli in due gruppi di probabilità quasi uguali; Huffman lo costruisce dal basso unendo ogni volta i due simboli meno probabili ed è sempre ottimo tra i codici a prefisso. La lunghezza media $L_y$ è la somma delle probabilità dei nodi uniti, l'efficienza è $\eta=\frac{H}{L_y}$.Codici di Shannon-Fano e di Huffman →, Informazione ed entropiaL'informazione di un evento di probabilità $p$ è $\log_2\frac1p$ bit; l'entropia $H(x)=\sum p\log_2\frac1p$ è l'informazione media e misura l'incertezza della sorgente: $0\le H\le\log_2M$, con il massimo quando i simboli sono equiprobabili. Per più simboli: $H(x,y)\le H(x)+H(y)$ (uguaglianza se indipendenti), $H(x|y)=H(x,y)-H(y)$. Per una sorgente con $F_s$ simboli al secondo il rate di informazione è $F_sH_s$, il rate nominale $F_s\log_2M$ e l'efficienza $\eta=\frac{H_s}{\log_2M}$.Informazione ed entropia →.

(1) Frequenza di campionamento

Il segnale ha banda B=3B=3 kHz: il teorema del campionamento chiede Fs≥2B=6F_s\ge2B=6 kHz. Delle tre scelte, 11 kHz e 22 kHz sono sotto la frequenza di Nyquist (aliasing: le componenti oltre Fs2\frac{F_s}2 si ripiegano in banda e non si possono più separare), mentre Fs=8F_s=8 kHz la rispetta (≥6\ge6 kHz) e lascia anche un margine per il filtro anti-aliasing e l'interpolatore reali.

(2) Quantizzatore da 6060 dB

La laplaciana ha varianza σ2=2b2=2 V2\sigma^2=2b^2=2\ \text{V}^2 e media nulla. La probabilità di saturazione (due code): Psat=P[∣x∣>Vsat]=e−Vsat/b ⟹ Vsat=bln⁡1Psat=ln⁡(5000)=8,517 V.P_{sat}=P[\lvert x\rvert>V_{sat}]=e^{-V_{sat}/b}\ \Longrightarrow\ V_{sat}=b\ln\frac1{P_{sat}}=\ln(5000)=8{,}517\ \text{V}. Range dinamico [−8,52 V, +8,52 V][-8{,}52\ \text{V},\ +8{,}52\ \text{V}]. L'SNR (con PsatP_{sat} piccola) è Λq=3σ2Vsat2L2\Lambda_q=3\frac{\sigma^2}{V_{sat}^2}L^2; imponendo 6060 dB =106=10^6: L2=106 Vsat23σ2=106⋅72,546=1,209⋅107 ⟹ L≥3477.L^2=\frac{10^6\,V_{sat}^2}{3\sigma^2}=\frac{10^6\cdot72{,}54}{6}=1{,}209\cdot10^7\ \Longrightarrow\ L\ge3477. Ma L=2bL=2^b: b≥log⁡23477=11,76b\ge\log_23477=11{,}76, quindi b=12b=12 bit, L=4096L=4096 livelli. Con 1212 bit l'SNR vale [Λq]dB=6,02⋅12+4,77+20log⁡101,4148,517=72,24+4,77−15,60=61,4 dB ≥60.[\Lambda_q]_{dB}=6{,}02\cdot12+4{,}77+20\log_{10}\frac{1{,}414}{8{,}517}=72{,}24+4{,}77-15{,}60=61{,}4\ \text{dB}\ \ge60. Con 1111 bit si avrebbe 55,455{,}4 dB (insufficiente). Il passo è Δ=2⋅8,5174096=4,16\Delta=\frac{2\cdot8{,}517}{4096}=4{,}16 mV. I bit in uscita sono 1212 per campione: con Fs=8F_s=8 kHz il rate nominale è 9696 kbit/s.

(3) Codifica di Huffman

Si uniscono i due nodi meno probabili:

Passo Nodi Unione
1 0,5,0,15,0,1,0,08,0,07,0,05,0,03,0,020{,}5,0{,}15,0{,}1,0{,}08,0{,}07,0{,}05,0{,}03,0{,}02 p7+p8=0,05p_7+p_8=0{,}05 (AA)
2 0,5,0,15,0,1,0,08,0,07,0,05 (p6),0,05 (A)0{,}5,0{,}15,0{,}1,0{,}08,0{,}07,0{,}05\,(p_6),0{,}05\,(A) p6+A=0,10p_6+A=0{,}10 (BB)
3 0,5,0,15,0,1 (p3),0,1 (B),0,08,0,070{,}5,0{,}15,0{,}1\,(p_3),0{,}1\,(B),0{,}08,0{,}07 p4+p5=0,15p_4+p_5=0{,}15 (CC)
4 0,5,0,15 (p2),0,15 (C),0,1 (p3),0,1 (B)0{,}5,0{,}15\,(p_2),0{,}15\,(C),0{,}1\,(p_3),0{,}1\,(B) p3+B=0,20p_3+B=0{,}20 (DD)
5 0,5,0,15,0,15,0,20 (D)0{,}5,0{,}15,0{,}15,0{,}20\,(D) p2+C=0,30p_2+C=0{,}30 (EE)
6 0,5,0,20 (D),0,30 (E)0{,}5,0{,}20\,(D),0{,}30\,(E) D+E=0,50D+E=0{,}50
7 0,5,0,50{,}5,0{,}5 radice

Parole (ramo 00 in alto):

Simbolo pip_i Parola Lunghezza
11 0,500{,}50 00 11
22 0,150{,}15 110110 33
33 0,100{,}10 100100 33
44 0,080{,}08 11111111 44
55 0,070{,}07 11101110 44
66 0,050{,}05 10101010 44
77 0,030{,}03 1011010110 55
88 0,020{,}02 1011110111 55

(4) Funzione caratteristica

Per il quantizzatore di (2) la funzione ha 40964096 gradini larghi Δ=4,16\Delta=4{,}16 mV tra −8,52-8{,}52 V e +8,52+8{,}52 V: a scala di volt è praticamente la retta aq=aa_q=a (errore al più Δ2=2,1\frac\Delta2=2{,}1 mV), con la saturazione a ±(Vsat−Δ2)=±8,515\pm(V_{sat}-\frac\Delta2)=\pm8{,}515 V. Si tratta dello stesso disegno del mid-riser a L=8L=8 in scala diversa: a titolo di illustrazione, con lo stesso VsatV_{sat} ma solo 88 livelli (Δ=2,13\Delta=2{,}13 V; livelli ±1,06, ±3,19, ±5,32, ±7,45\pm1{,}06,\ \pm3{,}19,\ \pm5{,}32,\ \pm7{,}45 V; soglie nei multipli di Δ\Delta, nessun livello in 00):

Grafico interattivo: Funzione caratteristica mid-riser con Vsat = 8,52 V, mostrata con L = 8 livelli (Δ = 2,13 V) per renderla leggibile; con L = 4096 i gradini sono 512 volte più stretti

(5) Lunghezza media, efficienza, rate

Ly=0,5⋅1+(0,15+0,10)⋅3+(0,08+0,07+0,05)⋅4+(0,03+0,02)⋅5=0,5+0,75+0,8+0,25=2,30 bitL_y=0{,}5\cdot1+(0{,}15+0{,}10)\cdot3+(0{,}08+0{,}07+0{,}05)\cdot4+(0{,}03+0{,}02)\cdot5=0{,}5+0{,}75+0{,}8+0{,}25=2{,}30\ \text{bit} (e la somma dei nodi interni 0,05+0,10+0,15+0,20+0,30+0,50+1=2,300{,}05+0{,}10+0{,}15+0{,}20+0{,}30+0{,}50+1=2{,}30). L'entropia vale H=∑pilog⁡21pi=2,284H=\sum p_i\log_2\frac1{p_i}=2{,}284 bit, quindi η=HLy=2,2842,30=0,993.\eta=\frac{H}{L_y}=\frac{2{,}284}{2{,}30}=0{,}993. Con Fs=8F_s=8 kHz (punto 1): rate nominale FsLy=8000⋅2,30=18,4F_sL_y=8000\cdot2{,}30=18{,}4 kbit/s, contro 2424 kbit/s di un codice a lunghezza fissa (33 bit per livello, η=0,76\eta=0{,}76); il rate di informazione è FsH=18,27F_sH=18{,}27 kbit/s: la codifica ne è molto vicina.

(Verificato numericamente: Vsat=8,5172V_{sat}=8{,}5172 V, Lmin=3477,1L_{min}=3477{,}1, SNR a 1212 bit 61,4261{,}42 dB, Ly=2,30L_y=2{,}30, H=2,2835H=2{,}2835.)

Errori comuni

  • Scegliere Fs=2F_s=2 kHz o 66 kHz: serve almeno 2B2B e tra le scelte date solo 88 kHz va bene.
  • Usare Psat=2Q(Vsatσ)P_{sat}=2Q\left(\frac{V_{sat}}\sigma\right) (valida per il gaussiano) con la laplaciana: qui Psat=e−Vsat/bP_{sat}=e^{-V_{sat}/b}.
  • Fermarsi a L=3477L=3477 senza passare a 2b2^b con bb intero: LL deve essere una potenza di 22 per mappare i livelli in bit.
  • Calcolare l'efficienza con log⁡28=3\log_2 8=3 invece di LyL_y.

Versione ripasso

Testo. Laplaciana b=1b=1 V, B=3B=3 kHz: FsF_s tra 1,2,81,2,8 kHz; mid-riser a 6060 dB con Psat=2⋅10−4P_{sat}=2\cdot10^{-4}; Huffman per 0,5,0,15,0,1,0,08,0,07,0,05,0,03,0,020{,}5,0{,}15,0{,}1,0{,}08,0{,}07,0{,}05,0{,}03,0{,}02; funzione caratteristica; LyL_y, η\eta, rate (febbraio 2026).

Teoria collegata