Salta al contenuto
Note per Studenti Esercizio - quantizzatore con densità a gradini, codice di Shannon e segnalazione quaternaria (esame dell'8 febbraio 2024, es. 176)

Esercizio - quantizzatore con densità a gradini, codice di Shannon e segnalazione quaternaria (esame dell'8 febbraio 2024, es. 176)

Esame
In questa pagina 5

Testo (esame dell'8 febbraio 2024, esercizio 176). Un segnale di tensione aleatorio a(t)a(t) con densità di probabilità pa(u)p_a(u) a gradini simmetrica, illustrata in figura: vale 4K4K per ∣u∣∈[0,1]|u|\in[0,1], 3K3K per ∣u∣∈[1,2]|u|\in[1,2], 2K2K per ∣u∣∈[2,3]|u|\in[2,3], KK per ∣u∣∈[3,4]|u|\in[3,4] e 00 altrove. Il segnale viene campionato con una frequenza di campionamento di 11 MHz e i campioni, considerati indipendenti, sono quantizzati con un quantizzatore uniforme a 88 livelli, imponendo probabilità di saturazione nulla.

  1. (3p) Determinare il minimo valore di saturazione vsatv_{sat}, la varianza dell'errore di quantizzazione senza approssimazioni e il numero di bit al secondo in uscita dal quantizzatore utilizzando una codifica in modulo/segno a lunghezza fissa.
  2. (2p) Calcolare la lunghezza media delle parole del codice di Shannon progettato sui simboli quantizzati.
  3. (3p) Utilizzando la codifica a lunghezza fissa del punto 1., i bit vengono trasmessi con un sistema di modulazione digitale quaternario con forme d'onda in ricezione s0(t)=h(t),s1(t)=h(t)cos⁡(2πf0t),s2(t)=h(t)sin⁡(2πf0t),s3(t)=−h(t)cos⁡(2πf0t),s_0(t)=h(t),\quad s_1(t)=h(t)\cos(2\pi f_0t),\quad s_2(t)=h(t)\sin(2\pi f_0t),\quad s_3(t)=-h(t)\cos(2\pi f_0t), dove f0=500f_0=500 MHz e l'impulso è h(t)=V0rect⁡(tT)h(t)=V_0\operatorname{rect}\big(\frac tT\big) con TT periodo di simbolo e energia Eh=10−14 V2sE_h=10^{-14}\ \text{V}^2\text{s}. Calcolare la dimensione dello spazio delle forme d'onda e la distanza minima della costellazione.
  4. (2p) Per il sistema del punto precedente determinare la probabilità d'errore sul bit se al posto di s0(t)s_0(t) si utilizza −s2(t)-s_2(t) e il canale è AWGN con varianza del rumore per dimensione nel punto di decisione σI2\sigma_I^2 inferiore di 1212 dB rispetto all'energia di h(t)h(t).

Teoria usata: Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazioneUn quantizzatore uniforme a L = 2^b livelli e range [−v_sat, v_sat] ha passo Δ = 2v_sat/L. L'errore e = x − x^(q) è di saturazione fuori range (illimitato, da rendere raro con P_sat piccola) e granulare dentro (|e| ≤ Δ/2, uniforme con potenza Δ²/12). L'SNR di quantizzazione Λ_q = E[x²]/E[e²] vale in decibel 20log₁₀(σ_x/v_sat) + 4,77 + 6,02·b: ogni bit in più dà 6 dB. Per b minimo che garantisce una specifica: ⌈(specifica − c)/6,02⌉ con c = 20log₁₀(σ_x/v_sat) + 4,77.Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazione →, Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →, Spazio dei segnali - base ortonormale, coordinate e Gram-SchmidtI segnali a energia finita formano uno spazio vettoriale con prodotto interno $\langle x,y\rangle=\int x(t)y(t),dt$, norma $\lVert x\rVert=\sqrt{E_x}$ e distanza $d(x,y)=\lVert x-y\rVert$. Le $M$ forme d'onda di una segnalazione generano un sottospazio, di cui si costruisce una base ortonormale ${\phi_1,\dots,\phi_I}$ con $I\le M$ (procedura di Gram-Schmidt). Ogni segnale diventa il vettore delle coordinate $s_i=\langle s,\phi_i\rangle$: somme, prodotti per scalari, energie ($E_s=\sum s_i^2$) e distanze si calcolano uguali sui vettori. L'insieme dei vettori ${\mathbf s_1,\dots,\mathbf s_M}$ è la costellazione.Spazio dei segnali - base ortonormale, coordinate e Gram-Schmidt →, Probabilità d'errore delle modulazioni binarie - funzione Q e coefficiente di correlazioneIn una modulazione binaria con rumore AWGN e decisione a minima distanza l'errore avviene solo se la componente di rumore lungo la congiungente dei due punti supera metà distanza: $P[E]=Q\left(\frac{d}{2\sigma_I}\right)$ con $d=\lVert\underline s_1-\underline s_2\rVert$. A parità di energia $E_s$ si ha $d^2=2E_s(1-\rho)$, quindi $P[E]=Q\left(\sqrt{\frac{E_s}{\sigma_I^2}}\sqrt{\frac{1-\rho}{2}}\right)$, con $\rho=\frac{\langle s_1,s_2\rangle}{\sqrt{E_{s_1}E_{s_2}}}$ coefficiente di correlazione. Antipodali ($\rho=-1$, BPSK): $Q\left(\sqrt{E_s/\sigma_I^2}\right)$; ortogonali ($\rho=0$): $Q\left(\sqrt{E_s/(2\sigma_I^2)}\right)$, 3 dB peggio; $\rho=1$: $P[E]=\frac12$. Per qualunque modulazione binaria basta un solo ramo del ricevitore, lungo $\phi_1'\propto s_1-s_2$.Probabilità d'errore delle modulazioni binarie - funzione Q e coefficiente di correlazione →, Modulazione QAM - costellazioni, energia e probabilità d'erroreLa QAM trasmette due PAM indipendenti su due portanti in quadratura: $s_m(t)=\alpha_{m,I}h_{Tx}(t)\cos(2\pi f_0t)-\alpha_{m,Q}h_{Tx}(t)\sin(2\pi f_0t)$ con $\alpha\in{\pm1,\pm3,\dots}$ e $M=2^{2b}$ ($2b$ bit per simbolo). La base è $\phi_{1,2}\propto h_{Tx}\cos,,-h_{Tx}\sin$ con energia $\frac{E_h}2$, i punti stanno su una griglia $\sqrt M\times\sqrt M$ con $d_{\min}=\sqrt{2E_h}$ ed $E_s=\frac{M-1}{3}E_h$. Con $q=Q\left(\sqrt{\frac{E_h}{2\sigma_I^2}}\right)$: $P[E]=4\left(1-\frac1{\sqrt M}\right)q-4\left(1-\frac1{\sqrt M}\right)^2q^2$, con $\frac{E_h}{2\sigma_I^2}=\frac{E_s}{\sigma_I^2}\frac{3}{2(M-1)}$. Con Gray su ogni asse $P_{bit}\simeq\frac{P[E]}{\log_2M}$.Modulazione QAM - costellazioni, energia e probabilità d'errore →.

Normalizzazione. L'area è 2 (4K+3K+2K+K)⋅1=20K=12\,(4K+3K+2K+K)\cdot1=20K=1, quindi K=120=0,05K=\frac1{20}=0{,}05 (ogni gradino ha larghezza 11). I valori dei gradini sono 0,2; 0,15; 0,1; 0,050{,}2;\ 0{,}15;\ 0{,}1;\ 0{,}05.

Grafico interattivo: Densità a gradini di a(t) con K = 1/20: 0,2 su |u| ≤ 1, 0,15 su 1 ≤ |u| ≤ 2, 0,1 su 2 ≤ |u| ≤ 3, 0,05 su 3 ≤ |u| ≤ 4; area totale 1

(Il grafico è la somma di quattro rettangoli di altezza KK e larghezze 8,6,4,28,6,4,2.)

(1) vsatv_{sat}, varianza dell'errore e bit rate

Saturazione nulla. La densità si annulla fuori da [−4,4][-4,4], quindi il minimo valore che dà Psat=0P_{sat}=0 è vsat=4v_{sat}=4. Con L=8L=8 livelli il passo è Δ=2vsatL=88=1,\Delta=\frac{2v_{sat}}{L}=\frac{8}8=1, e gli intervalli di quantizzazione [−4,−3],…,[3,4][-4,-3],\dots,[3,4] coincidono con i gradini della densità. (Il valore massimo dell'SNR si ottiene con vsatv_{sat} minimo, perché Δ\Delta è il più piccolo possibile.)

Varianza dell'errore senza approssimazioni. In ogni intervallo la densità è esattamente costante, quindi, condizionato all'intervallo, xx è uniforme e l'errore e=x−x(q)e=x-x^{(q)} è uniforme in [−Δ2,Δ2]\big[-\frac\Delta2,\frac\Delta2\big] senza alcuna approssimazione (di solito il passo piccolo è un'ipotesi, qui il risultato è esatto): E[e2]=Δ212=112=0,0833 V2.E[e^2]=\frac{\Delta^2}{12}=\frac1{12}=0{,}0833\ \text{V}^2.

Bit rate. 8=238=2^3 livelli, parola di 33 bit in modulo e segno (un bit di segno e due di modulo). Con 11 milione di campioni al secondo Rb=3⋅106=3 Mbit/s.R_b=3\cdot10^6=3\ \text{Mbit/s.}

(Come bonus: la potenza del segnale è σa2=2K [4⋅13+3⋅73+2⋅193+373]=103\sigma_a^2=2K\,\big[4\cdot\frac13+3\cdot\frac73+2\cdot\frac{19}3+\frac{37}3\big]=\frac{10}3, quindi Λq=10/31/12=40\Lambda_q=\frac{10/3}{1/12}=40, cioè 16,016{,}0 dB; la formula 20log⁡10σavsat+4,77+6,02⋅3=−6,81+4,77+18,06=16,0220\log_{10}\frac{\sigma_a}{v_{sat}}+4{,}77+6{,}02\cdot3=-6{,}81+4{,}77+18{,}06=16{,}02 dB dà lo stesso valore, perché qui Δ212\frac{\Delta^2}{12} è esatto.)

(2) Codice di Shannon sui simboli quantizzati

Le probabilità degli 88 livelli sono le aree dei gradini (larghezza 11): 4K=0,24K=0{,}2 (per i due intervalli centrali [0,1][0,1] e [−1,0][-1,0]), 3K=0,153K=0{,}15, 2K=0,12K=0{,}1 e K=0,05K=0{,}05 (due intervalli ciascuno): P=(0,05; 0,1; 0,15; 0,2; 0,2; 0,15; 0,1; 0,05).P=\big(0{,}05;\ 0{,}1;\ 0{,}15;\ 0{,}2;\ 0{,}2;\ 0{,}15;\ 0{,}1;\ 0{,}05\big). Somma 2⋅0,5=12\cdot0{,}5=1. Il codice di Shannon dà al simbolo di probabilità pp la lunghezza ⌈−log⁡2p⌉\lceil-\log_2p\rceil (Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →):

pp −log⁡2p-\log_2p lunghezza simboli
0,20{,}2 2,322{,}32 33 22
0,150{,}15 2,742{,}74 33 22
0,10{,}1 3,323{,}32 44 22
0,050{,}05 4,324{,}32 55 22

Lˉ=2 (0,2⋅3+0,15⋅3+0,1⋅4+0,05⋅5)=2 (0,6+0,45+0,4+0,25)=3,4 bit.\bar L=2\,\big(0{,}2\cdot3+0{,}15\cdot3+0{,}1\cdot4+0{,}05\cdot5\big)=2\,(0{,}6+0{,}45+0{,}4+0{,}25)=3{,}4\ \text{bit.} (La soluzione del corso scrive 120⌈log⁡220⌉+…\frac1{20}\lceil\log_220\rceil+\dots, cioè gli stessi termini.) Entropia H=2,846H=2{,}846 bit: H≤Lˉ<H+1H\le\bar L<H+1 è verificata (2,846≤3,4<3,8462{,}846\le3{,}4<3{,}846) ma il codice di Shannon, con 3,43{,}4 bit, è peggiore della codifica a lunghezza fissa (33 bit): le probabilità sono vicine all'uniforme e l'arrotondamento per eccesso delle lunghezze costa troppo.

(3) Spazio delle forme d'onda e distanza minima

Si controllano le relazioni tra i quattro segnali, con f0=500f_0=500 MHz molto maggiore di 1T\frac1T (TT è il periodo di simbolo, dell'ordine del microsecondo, quindi f0T≫1f_0T\gg1 e i prodotti ∫h2(t)cos⁡(2πf0t) dt\int h^2(t)\cos(2\pi f_0t)\,dt sono trascurabili, dell'ordine di 1πf0T∼10−3\frac1{\pi f_0T}\sim10^{-3} rispetto all'energia):

  • s3=−s1s_3=-s_1: linearmente dipendente da s1s_1 (stessa direzione, verso opposto);
  • s1=hcos⁡(2πf0t)s_1=h\cos(2\pi f_0t) e s2=hsin⁡(2πf0t)s_2=h\sin(2\pi f_0t) sono ortogonali: ∫h2cos⁡sin⁡ dt=12∫h2sin⁡(4πf0t)dt≃0\int h^2\cos\sin\,dt=\frac12\int h^2\sin(4\pi f_0t)dt\simeq0;
  • s0=hs_0=h è ortogonale a s1s_1 e s2s_2: ∫h2cos⁡(2πf0t) dt≃0\int h^2\cos(2\pi f_0t)\,dt\simeq0 e ∫h2sin⁡(2πf0t) dt≃0\int h^2\sin(2\pi f_0t)\,dt\simeq0 (oscillazioni veloci).

Le energie: E0=EhE_0=E_h; E1=E2=E3=∫h2cos⁡2=Eh2E_1=E_2=E_3=\int h^2\cos^2=\frac{E_h}2 (il coseno al quadrato ha valor medio 12\frac12). Poiché s0,s1,s2s_0,s_1,s_2 sono ortogonali tra loro e s3s_3 dipende da s1s_1, lo spazio ha dimensione 33, con base ortonormale φ0=s0Eh,φ1=s1Eh/2,φ2=s2Eh/2\varphi_0=\frac{s_0}{\sqrt{E_h}},\qquad\varphi_1=\frac{s_1}{\sqrt{E_h/2}},\qquad\varphi_2=\frac{s_2}{\sqrt{E_h/2}} e costellazione s0=(Eh,0,0),s1=(0,Eh2,0),s2=(0,0,Eh2),s3=(0,−Eh2,0).s_0=\big(\sqrt{E_h},0,0\big),\quad s_1=\Big(0,\sqrt{\tfrac{E_h}2},0\Big),\quad s_2=\Big(0,0,\sqrt{\tfrac{E_h}2}\Big),\quad s_3=\Big(0,-\sqrt{\tfrac{E_h}2},0\Big). Distanze (radice della somma dei quadrati delle differenze):

coppia distanza in unità di Eh\sqrt{E_h}
s0,s1s_0,s_1 (e s0,s2s_0,s_2; s0,s3s_0,s_3) Eh+Eh2\sqrt{E_h+\frac{E_h}2} 1,221{,}22
s1,s2s_1,s_2 (e s2,s3s_2,s_3) Eh2+Eh2\sqrt{\frac{E_h}2+\frac{E_h}2} 11
s1,s3s_1,s_3 2Eh2=2Eh2\sqrt{\frac{E_h}2}=\sqrt{2E_h} 1,411{,}41

Il minimo è dmin=Eh=10−14=10−7 Vsd_{min}=\sqrt{E_h}=\sqrt{10^{-14}}=10^{-7}\ \text{V}\sqrt{\text{s}} (coppie s1,s2s_1,s_2 e s2,s3s_2,s_3).

(4) Probabilità d'errore sul bit con −s2-s_2 al posto di s0s_0

I quattro segnali sono ora s1, s2, s3=−s1, −s2s_1,\ s_2,\ s_3=-s_1,\ -s_2: sono tutti in un piano (base φ1,φ2\varphi_1,\varphi_2), con punti sui quattro semiassi a distanza Eh/2\sqrt{E_h/2} dall'origine: una costellazione 44-PSK (o 44-QAM ruotata di 45∘45^\circ) con energia per simbolo Es=Eh2E_s=\frac{E_h}2 e distanza tra punti adiacenti dmin=2⋅Eh2=Ehd_{min}=\sqrt{2\cdot\frac{E_h}2}=\sqrt{E_h}. Con la mappatura di Gray la probabilità d'errore sul bit è Pbit=Q(dmin2σI)=Q(Eh4σI2)P_{bit}=Q\Big(\frac{d_{min}}{2\sigma_I}\Big)=Q\Big(\sqrt{\frac{E_h}{4\sigma_I^2}}\Big) (Modulazione QAM - costellazioni, energia e probabilità d'erroreLa QAM trasmette due PAM indipendenti su due portanti in quadratura: $s_m(t)=\alpha_{m,I}h_{Tx}(t)\cos(2\pi f_0t)-\alpha_{m,Q}h_{Tx}(t)\sin(2\pi f_0t)$ con $\alpha\in{\pm1,\pm3,\dots}$ e $M=2^{2b}$ ($2b$ bit per simbolo). La base è $\phi_{1,2}\propto h_{Tx}\cos,,-h_{Tx}\sin$ con energia $\frac{E_h}2$, i punti stanno su una griglia $\sqrt M\times\sqrt M$ con $d_{\min}=\sqrt{2E_h}$ ed $E_s=\frac{M-1}{3}E_h$. Con $q=Q\left(\sqrt{\frac{E_h}{2\sigma_I^2}}\right)$: $P[E]=4\left(1-\frac1{\sqrt M}\right)q-4\left(1-\frac1{\sqrt M}\right)^2q^2$, con $\frac{E_h}{2\sigma_I^2}=\frac{E_s}{\sigma_I^2}\frac{3}{2(M-1)}$. Con Gray su ogni asse $P_{bit}\simeq\frac{P[E]}{\log_2M}$.Modulazione QAM - costellazioni, energia e probabilità d'errore →). La varianza del rumore è 1212 dB sotto l'energia: σI2=Eh⋅10−1,2=Eh15,85\sigma_I^2=E_h\cdot10^{-1{,}2}=\frac{E_h}{15{,}85}, quindi Eh4σI2=15,854=3,96,3,96=1,99,Pbit=Q(1,99)=0,0233.\frac{E_h}{4\sigma_I^2}=\frac{15{,}85}4=3{,}96,\qquad\sqrt{3{,}96}=1{,}99,\qquad P_{bit}=Q(1{,}99)=0{,}0233. La soluzione del corso riporta Q(2)=0,023Q(2)=0{,}023, arrotondando 1,991{,}99 a 22 (Q(2)=0,0228Q(2)=0{,}0228 contro Q(1,99)=0,0233Q(1{,}99)=0{,}0233).

(Tutti i risultati ricalcolati con Python: K=0,05K=0{,}05, E[e2]=0,08333E[e^2]=0{,}08333, Lˉ=3,4\bar L=3{,}4, H=2,8464H=2{,}8464, σa2=3,333\sigma_a^2=3{,}333, dmin=10−7d_{min}=10^{-7}, Q(1,9905)=0,02327Q(1{,}9905)=0{,}02327.)

Errori comuni

  • Prendere vsatv_{sat} maggiore di 44: oltre il supporto non serve e aumenta Δ\Delta.
  • Calcolare la varianza dell'errore con la formula "approssimata" cercando un integrale: con densità costante a tratti sugli intervalli Δ212\frac{\Delta^2}{12} è già esatta.
  • Dimenticare che cos⁡2\cos^2 ha valor medio 12\frac12: i segnali s1,s2,s3s_1,s_2,s_3 hanno energia Eh2\frac{E_h}2, non EhE_h.
  • Dire che la dimensione dello spazio è 44 (quattro segnali): s3s_3 è dipendente da s1s_1, la dimensione è 33.
  • Nel punto 4, usare l'energia EhE_h (di s0s_0) come energia per simbolo: con −s2-s_2 al posto di s0s_0 tutti i simboli hanno energia Eh2\frac{E_h}2.

Versione ripasso

Testo. Densità a gradini simmetrica (4K,3K,2K,K4K,3K,2K,K sugli intervalli unitari di ∣u∣∈[0,4]|u|\in[0,4]), Fs=1F_s=1 MHz, quantizzatore uniforme a 88 livelli senza saturazione. (1) vsatv_{sat}, varianza dell'errore, bit/s con modulo e segno. (2) Lunghezza media del codice di Shannon. (3) Segnali hh, hcos⁡h\cos, hsin⁡h\sin, −hcos⁡-h\cos con f0=500f_0=500 MHz, Eh=10−14E_h=10^{-14}: dimensione e distanza minima. (4) PbitP_{bit} con −s2-s_2 al posto di s0s_0, σI2\sigma_I^2 1212 dB sotto EhE_h.

(Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazioneUn quantizzatore uniforme a L = 2^b livelli e range [−v_sat, v_sat] ha passo Δ = 2v_sat/L. L'errore e = x − x^(q) è di saturazione fuori range (illimitato, da rendere raro con P_sat piccola) e granulare dentro (|e| ≤ Δ/2, uniforme con potenza Δ²/12). L'SNR di quantizzazione Λ_q = E[x²]/E[e²] vale in decibel 20log₁₀(σ_x/v_sat) + 4,77 + 6,02·b: ogni bit in più dà 6 dB. Per b minimo che garantisce una specifica: ⌈(specifica − c)/6,02⌉ con c = 20log₁₀(σ_x/v_sat) + 4,77.Quantizzazione uniforme - saturazione, errore granulare e SNR di quantizzazione →, Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →)

Teoria collegata