Trasmissione digitale di segnali analogici (PCM)
In questa pagina 7
Un segnale analogico (voce, musica, video, la tensione di un sensore) si può trasmettere in modo digitale: lo si campiona, lo si quantizza e si trasmettono i bit risultanti con una modulazione digitale (Modulazioni PAM, PSK, QAM e FSKLe modulazioni pratiche usano un solo impulso base $h(t)$ (energia $E_h$) e coefficienti scelti in un insieme regolare. PAM: $s_n=\alpha_nh(t)$, $\alpha_n\in{-M+1,\dots,M-1}$, punti su una retta, $d_{min}=2\sqrt{E_h}$, $E_s=\frac{M^2-1}3E_h$, $P[E]=2\left(1-\frac1M\right)Q\left(\sqrt{\frac{6E_s}{(M^2-1)N_0}}\right)$. QAM: coefficienti complessi su due portanti in quadratura, base di dimensione 2, per $M=L^2$ $E_s=\frac{M-1}3E_h$ e $P[E]\approx4\left(1-\frac1{\sqrt M}\right)Q\left(\sqrt{\frac{3E_s}{(M-1)N_0}}\right)$. PSK: ampiezza costante, fasi $\theta_n=\frac{(2n-1)\pi}M$, punti su una circonferenza, $E_s=\frac{E_h}2$, $P[E]\approx2Q\left(\sqrt{\frac{2E_s}{N_0}}\sin\frac\pi M\right)$. FSK: due sinusoidi a frequenze diverse, $\rho\approx\operatorname{sinc}(4f_dT)$. Con la codifica di Gray $P_{bit}\approx\frac{P[E]}{\log_2M}$.Modulazioni PAM, PSK, QAM e FSK →). Questa nota risponde alla domanda: qual è la qualità del segnale ricostruito, tenendo conto sia della quantizzazione sia degli errori del canale? È la sintesi tra la parte sulle sorgenti (Campionamento e conversione analogico-digitalePer trasmettere un segnale analogico $a(t)$ con un sistema digitale lo si trasforma in bit: filtro anti-aliasing, campionatore ($T_s=\frac1{F_s}$, $F_s\ge2B$), quantizzatore su $L=2^b$ livelli, mappa livello $\to$ $b$ bit, serializzatore. Il bit-rate nominale è $R_b=bF_s$. Campionare è reversibile (con un filtro interpolatore, in pratica un holder) se $F_s\ge2B$; quantizzare invece perde informazione in modo irreversibile. Al ricevitore si ripercorre la catena al contrario (D/A).Campionamento e conversione analogico-digitale →, Quantizzazione e rumore di quantizzazioneIl quantizzatore mappa ogni campione reale su uno dei $L=2^b$ livelli. Il quantizzatore uniforme mid-riser ha passo $\Delta=\frac{2v_{sat}}{L}$, soglie multiple di $\Delta$ e livelli multipli dispari di $\frac\Delta2$. L'errore $e_q=a_q-a$ è granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) o di saturazione (fuori da $[-v_{sat},v_{sat}]$, trascurabile se $P_{sat}$ è piccola). L'SNR è $\Lambda_q=\frac{M_a}{M_{e_q}}$ e, con saturazione trascurabile, $[\Lambda_q]{dB}=6{,}02,b+4{,}77-20\log{10}\frac{v_{sat}}{\sigma_a}$: $+6$ dB per ogni bit.Quantizzazione e rumore di quantizzazione →) e quella sulla modulazione. Versione per Ing. Elettronica: Trasmissione di segnali analogici per via digitale - SNR con errori sul canaleTrasmettere un segnale analogico in forma digitale (PCM) introduce due errori: la quantizzazione ($\Lambda_q\approx4^b$ per un segnale uniforme a fondo scala) e gli errori sui bit del canale. Con codice binario naturale e $P_{bit}$ piccola il flip del bit di peso $2^i\Delta$ produce un errore $\pm2^i\Delta$: la potenza dell'errore di canale è $P_{bit}\Delta^2\frac{4^b-1}3$ e l'SNR totale è $\Lambda_{PCM}=\frac{\Lambda_q}{1+4P_{bit}(4^b-1)}$. Si ha quindi una soglia: finché $4P_{bit}4^b\ll1$ vale la quantizzazione ($6$ dB/bit), oltre domina il canale e più bit non servono. Da $\Lambda_{PCM}$ richiesto si ricava la $P_{bit}$ massima.Trasmissione di segnali analogici per via digitale - SNR con errori sul canale →.
1. Lo schema e le due sorgenti di errore
La catena è: segnale analogico campionamento (a frequenza , nessun problema se si rispetta il teorema del campionamento) quantizzatore modulatore digitale (mappa di bit + modulazione) canale demodulatore , che è ricostruito da un D/A. Ci sono due errori distinti, rappresentati come due rumori additivi: L'SNR complessivo è il rapporto tra la potenza del segnale originale e la potenza di tutto il rumore. I due rumori sono incorrelati, quindi le loro potenze si sommano (non gli SNR): (il simbolo è quello del libro). La quantizzazione è un errore deterministico, funzione di (numero di bit per campione) e di ; gli errori sui bit invece sono casuali e un bit sbagliato può dare un errore di livello anche grande. Nelle ipotesi della teoria del quantizzatore uniforme (Quantizzazione e rumore di quantizzazioneIl quantizzatore mappa ogni campione reale su uno dei $L=2^b$ livelli. Il quantizzatore uniforme mid-riser ha passo $\Delta=\frac{2v_{sat}}{L}$, soglie multiple di $\Delta$ e livelli multipli dispari di $\frac\Delta2$. L'errore $e_q=a_q-a$ è granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) o di saturazione (fuori da $[-v_{sat},v_{sat}]$, trascurabile se $P_{sat}$ è piccola). L'SNR è $\Lambda_q=\frac{M_a}{M_{e_q}}$ e, con saturazione trascurabile, $[\Lambda_q]{dB}=6{,}02,b+4{,}77-20\log{10}\frac{v_{sat}}{\sigma_a}$: $+6$ dB per ogni bit.Quantizzazione e rumore di quantizzazione →), con saturazione trascurabile, l'errore di quantizzazione ha potenza
2. Il modello di canale e la mappa di bit
Per calcolare servono due ipotesi:
- il canale numerico (modulatore + canale + demodulatore) è un BSC senza memoria: ogni effetto di rumore si riflette soltanto in una probabilità di sbagliare ogni bit, indipendentemente dagli altri (Canale binario simmetrico, codifica di Gray e probabilità di bitIl canale numerico equivalente a modulatore, canale e demodulatore è un canale binario simmetrico senza memoria (BSC): ogni bit è sbagliato con probabilità $P_{bit}$, indipendentemente dagli altri. Per una modulazione $M$-aria con $n=\log_2M$ bit per simbolo, la probabilità di errore sul simbolo è $P[E]=1-(1-P_{bit})^n\approx nP_{bit}$ e $P_{bit}\le P[E]$. Il legame inverso passa dalla distanza di Hamming tra le parole di bit: $P_{bit}=\sum_k\sum_{j\ne k}p_kP_{j|k}\frac{d_H(\mathbf c_j,\mathbf c_k)}{\log_2M}$. Con la codifica di Gray (simboli adiacenti differiscono per un solo bit) e SNR non troppo basso gli errori più probabili, verso i vicini, sbagliano un solo bit, quindi $P_{bit}\approx\frac{P[E]}{\log_2M}$.Canale binario simmetrico, codifica di Gray e probabilità di bit →);
- serve una mappa di bit. Non è restrittivo usare la PCM (pulse code modulation): il livello più negativo del quantizzatore è mappato nella parola di tutti zeri, poi si usa la notazione binaria standard (naturale) fino all'ultimo livello (tutti uno): per , . Poiché gli errori sono senza memoria non serve una mappa efficiente: ciò che conta è che i bit siano più o meno significativi, per cui gli errori hanno pesi diversi.
3. Potenza dell'errore dovuto al canale
Con un quantizzatore uniforme di livelli e passo , scrivendo il livello come con (bit il più significativo, di peso ), il valore quantizzato è (con , cioè ). L'errore dovuto al canale è Statistica di . Se i bit sono equiprobabili e indipendenti (e il BSC li inverte con probabilità ):
- se il bit è ricevuto giusto: probabilità ;
- se e : probabilità ;
- se e : probabilità .
Quindi e (la potenza di è , che è anche la sua varianza). Valori su bit diversi sono incorrelati ( per ). Il valore medio di è e la sua potenza è (somma geometrica : il bit più significativo, , pesa dell'errore: gli errori sui bit alti sono i più dannosi).
4. L'SNR complessivo
Sommando le potenze dei due errori: (perché ), e riconoscendo :
Formula ().
Attenzione: la formula è in scala lineare (la 'trappola' tipica negli esami): va convertito da dB in lineare prima di usarla, e il risultato riconvertito in dB.
- segnale uniforme a fondo scala (tra e ): , e ( dB);
- segnale con potenza e fattore di carico (saturazione trascurabile): , cioè .
Soglia (threshold effect). La prestazione ha due regimi:
- se , cioè : , vale solo la quantizzazione e ogni bit in più dà dB;
- se : (per un segnale a fondo scala) non dipende da : dominano gli errori del canale e aggiungere bit non serve più; al massimo , cioè dB ( dB per ).
Grafico interattivo: SNR complessivo Λ_PCM (dB) di un segnale uniforme a fondo scala in funzione di log₁₀ P_bit, per b = 4, 8, 12 bit: finché P_bit è piccola vale il plateau 6,02·b dB (24, 48, 72 dB) della sola quantizzazione; oltre la soglia P_bit ≈ 1/(4·4^b) tutte le curve si fondono nella retta −10·log₁₀(4P_bit), indipendente da b
Esempio (, segnale uniforme, : dB). Con la formula:
| (formula) | simulazione | |
|---|---|---|
| dB | ||
| dB | dB | |
| dB | dB | |
| dB | dB |
(simulazione con campioni uniformi quantizzati a bit con inversione casuale dei bit: concorda con la formula entro dB). Un solo errore ogni bit toglie già dB rispetto alla quantizzazione ideale.
5. Dimensionare il sistema
Probabilità d'errore massima. Dato l'SNR richiesto (lineare) e il numero di bit, si inverte la formula: Esempio (segnali di una sala cinematografica, a fondo scala): video con dB e ( dB): . Audio con dB e ( dB): — l'audio è il vincolo più stretto, perché ha più bit e un SNR più alto.
Numero di bit. Dato (e ) si cerca il minimo intero tale che . Per esempio (Esercizio - sfigmomanometro digitale, bit del quantizzatore e probabilità d'errore del canale) un SNR di dB con fattore di carico richiede bit con (come senza errori di canale), con , con , mentre con non esiste che basti: per , , cioè solo dB. Conseguenza: aumentare non basta se il canale è troppo rumoroso; serve ridurre (più potenza, codici correttori: Codici a blocco lineari e sindromeUn codice a blocco è lineare se la somma (XOR) di due parole di codice è una parola di codice: allora le parole formano un sottospazio di $\mathbb Z_2^n$. Si descrive con la matrice generatrice $G$ ($n\times k$, $\mathbf c=G\mathbf b$; in forma sistematica $G=\binom{I_k}{A}$) e con la matrice di controllo $H$ ($(n-k)\times n$, $H\mathbf c=\mathbf 0$ se e solo se $\mathbf c\in\mathcal C$; per $G$ sistematica $H=[A\mid I_{n-k}]$). La distanza minima è il peso minimo delle parole non nulle e vale $d_{min}\le n-k+1$ (Singleton). La sindrome $\boldsymbol\sigma=H\tilde{\mathbf c}$ dipende solo dall'errore; la decodifica a distanza minima è $\hat{\mathbf c}=\tilde{\mathbf c}-\varepsilon(\boldsymbol\sigma)$, dove $\varepsilon(\boldsymbol\sigma)$ è il coset leader (vettore di peso minimo con quella sindrome).Codici a blocco lineari e sindrome →).
6. PCM su un collegamento reale: l'effetto soglia
Collegando la formula a una modulazione digitale concreta si vede il comportamento complessivo. Con una BPSK (Probabilità d'errore e funzione QPer due segnali di energie $E_1,E_2$ con coefficiente di correlazione $\rho=\frac{\langle s_1,s_2\rangle}{\sqrt{E_1E_2}}$ la distanza è $d_{12}=\sqrt{E_1+E_2-2\rho\sqrt{E_1E_2}}$ e, con rumore AWGN, simboli equiprobabili e criterio MD, $P[E]=Q\left(\frac{d_{12}}{2\sigma_I}\right)=Q\left(\sqrt{\frac{E_s(1-\rho)}{N_0}}\right)$ con $\sigma_I^2=\frac{N_0}2$ e $Q$ la coda della gaussiana. Il caso antipodale ($\rho=-1$) dà $Q\left(\sqrt{\frac{2E_s}{N_0}}\right)$, l'ortogonale ($\rho=0$) $Q\left(\sqrt{\frac{E_s}{N_0}}\right)$: 3 dB peggio. Con $M>2$ segnali si usano limiti: $\frac{N^*}M Q\left(\frac{d_{min}}{2\sigma_I}\right)\le P[E]\le(M-1)Q\left(\frac{d_{min}}{2\sigma_I}\right)$ (union bound); la probabilità dipende solo da $\frac{E_s}{N_0}$, cioè dall'SNR.Probabilità d'errore e funzione Q →), e cresce con fino a un plateau dB, che è raggiunto in modo brusco:
Grafico interattivo: SNR Λ_PCM (dB) per un segnale uniforme a fondo scala trasmesso in PCM con BPSK, in funzione di E_s/N₀ (dB), per b = 4, 8, 12 bit: sotto circa 8 dB il canale domina e tutte le curve si sovrappongono (più bit non aiutano), poi ciascuna raggiunge bruscamente il proprio plateau 6,02·b dB (24, 48 e 72 dB). È l'effetto soglia (threshold) della trasmissione digitale
Per : a dB si ha e dB; a dB, e dB; a dB, e dB; a dB, e dB (il plateau). Confrontando con una trasmissione analogica (per esempio DSB): la qualità analogica cresce linearmente con l'SNR del canale, quella digitale è bassa sotto la soglia e poi quasi costante (limitata da ); oltre la soglia, l'unico modo di migliorare è aggiungere bit. Per questo il segnale digitale è robusto: purché l'SNR del canale superi la soglia, la qualità finale è quella della quantizzazione, indipendentemente dalle imperfezioni del canale.
Errori comuni
- Sommare gli SNR in dB: si sommano le potenze degli errori (), non gli SNR.
- Usare la formula con in dB: è in scala lineare (poi si riconverte in dB).
- Dimenticare il fattore : il bit più significativo pesa quasi dell'errore, con grande basta per intaccare la quantizzazione.
- Credere che aumentare migliori sempre l'SNR: oltre la soglia vale .
- Applicare la formula con mappe diverse da quella binaria naturale (con Gray o altri codici i pesi degli errori cambiano) o con grande (si assume al più un errore per parola e in ).
- Dimenticare di arrotondare il numero di bit per eccesso (se serve ).
Versione ripasso
Schema. Campionamento, quantizzatore , modulatore digitale (Modulazioni PAM, PSK, QAM e FSKLe modulazioni pratiche usano un solo impulso base $h(t)$ (energia $E_h$) e coefficienti scelti in un insieme regolare. PAM: $s_n=\alpha_nh(t)$, $\alpha_n\in{-M+1,\dots,M-1}$, punti su una retta, $d_{min}=2\sqrt{E_h}$, $E_s=\frac{M^2-1}3E_h$, $P[E]=2\left(1-\frac1M\right)Q\left(\sqrt{\frac{6E_s}{(M^2-1)N_0}}\right)$. QAM: coefficienti complessi su due portanti in quadratura, base di dimensione 2, per $M=L^2$ $E_s=\frac{M-1}3E_h$ e $P[E]\approx4\left(1-\frac1{\sqrt M}\right)Q\left(\sqrt{\frac{3E_s}{(M-1)N_0}}\right)$. PSK: ampiezza costante, fasi $\theta_n=\frac{(2n-1)\pi}M$, punti su una circonferenza, $E_s=\frac{E_h}2$, $P[E]\approx2Q\left(\sqrt{\frac{2E_s}{N_0}}\sin\frac\pi M\right)$. FSK: due sinusoidi a frequenze diverse, $\rho\approx\operatorname{sinc}(4f_dT)$. Con la codifica di Gray $P_{bit}\approx\frac{P[E]}{\log_2M}$.Modulazioni PAM, PSK, QAM e FSK →), canale, demodulatore, D/A. Ci sono due errori incorrelati: (quantizzazione) e (errori sui bit). Le potenze degli errori si sommano, non gli SNR:
con e saturazione trascurabile (Quantizzazione e rumore di quantizzazioneIl quantizzatore mappa ogni campione reale su uno dei $L=2^b$ livelli. Il quantizzatore uniforme mid-riser ha passo $\Delta=\frac{2v_{sat}}{L}$, soglie multiple di $\Delta$ e livelli multipli dispari di $\frac\Delta2$. L'errore $e_q=a_q-a$ è granulare (in $[-\frac\Delta2,\frac\Delta2]$, circa uniforme, potenza $\frac{\Delta^2}{12}$) o di saturazione (fuori da $[-v_{sat},v_{sat}]$, trascurabile se $P_{sat}$ è piccola). L'SNR è $\Lambda_q=\frac{M_a}{M_{e_q}}$ e, con saturazione trascurabile, $[\Lambda_q]{dB}=6{,}02,b+4{,}77-20\log{10}\frac{v_{sat}}{\sigma_a}$: $+6$ dB per ogni bit.Quantizzazione e rumore di quantizzazione →, Campionamento e conversione analogico-digitalePer trasmettere un segnale analogico $a(t)$ con un sistema digitale lo si trasforma in bit: filtro anti-aliasing, campionatore ($T_s=\frac1{F_s}$, $F_s\ge2B$), quantizzatore su $L=2^b$ livelli, mappa livello $\to$ $b$ bit, serializzatore. Il bit-rate nominale è $R_b=bF_s$. Campionare è reversibile (con un filtro interpolatore, in pratica un holder) se $F_s\ge2B$; quantizzare invece perde informazione in modo irreversibile. Al ricevitore si ripercorre la catena al contrario (D/A).Campionamento e conversione analogico-digitale →).
Canale. Si assume un BSC senza memoria (Canale binario simmetrico, codifica di Gray e probabilità di bitIl canale numerico equivalente a modulatore, canale e demodulatore è un canale binario simmetrico senza memoria (BSC): ogni bit è sbagliato con probabilità $P_{bit}$, indipendentemente dagli altri. Per una modulazione $M$-aria con $n=\log_2M$ bit per simbolo, la probabilità di errore sul simbolo è $P[E]=1-(1-P_{bit})^n\approx nP_{bit}$ e $P_{bit}\le P[E]$. Il legame inverso passa dalla distanza di Hamming tra le parole di bit: $P_{bit}=\sum_k\sum_{j\ne k}p_kP_{j|k}\frac{d_H(\mathbf c_j,\mathbf c_k)}{\log_2M}$. Con la codifica di Gray (simboli adiacenti differiscono per un solo bit) e SNR non troppo basso gli errori più probabili, verso i vicini, sbagliano un solo bit, quindi $P_{bit}\approx\frac{P[E]}{\log_2M}$.Canale binario simmetrico, codifica di Gray e probabilità di bit →) e la mappa PCM binaria naturale (livello più basso ). Scrivendo il livello come e per i bit ricevuti:
- con probabilità ciascuno, con probabilità : quindi e .
- Bit diversi sono incorrelati, quindi .
- Il bit più significativo () pesa circa dell'errore: gli errori sui bit alti sono i più dannosi.
SNR complessivo (formula in scala lineare):
- Segnale uniforme a fondo scala: , cioè dB.
- Segnale di potenza con fattore di carico : .
- Procedura: si converte da dB in lineare, si applica la formula e si riconverte il risultato in dB.
Soglia (effetto soglia).
- Se , e ogni bit in più dà dB.
- Oltre la soglia , indipendente da : aggiungere bit non serve. Esempio: dà dB, cioè .
Esempio (, uniforme, dB): dà dB (, e ); dà dB; dà dB. Un errore ogni bit toglie già dB rispetto alla quantizzazione ideale (la simulazione con campioni concorda entro dB).
Dimensionare. Dato l'SNR richiesto (lineare):
- Esempio (video, dB, , dB): .
- Esempio (audio, dB, , dB): . È il vincolo più stretto.
- Numero di bit: si cerca il intero minimo con . Con dB e fattore di carico : se , con ; con nessun basta, perché il tetto è dB. Serve quindi ridurre con più potenza o codici correttori (Codici a blocco lineari e sindromeUn codice a blocco è lineare se la somma (XOR) di due parole di codice è una parola di codice: allora le parole formano un sottospazio di $\mathbb Z_2^n$. Si descrive con la matrice generatrice $G$ ($n\times k$, $\mathbf c=G\mathbf b$; in forma sistematica $G=\binom{I_k}{A}$) e con la matrice di controllo $H$ ($(n-k)\times n$, $H\mathbf c=\mathbf 0$ se e solo se $\mathbf c\in\mathcal C$; per $G$ sistematica $H=[A\mid I_{n-k}]$). La distanza minima è il peso minimo delle parole non nulle e vale $d_{min}\le n-k+1$ (Singleton). La sindrome $\boldsymbol\sigma=H\tilde{\mathbf c}$ dipende solo dall'errore; la decodifica a distanza minima è $\hat{\mathbf c}=\tilde{\mathbf c}-\varepsilon(\boldsymbol\sigma)$, dove $\varepsilon(\boldsymbol\sigma)$ è il coset leader (vettore di peso minimo con quella sindrome).Codici a blocco lineari e sindrome →).
- dB: , dB;
- dB: , dB;
- dB: , dB;
- dB: , dB (plateau).
Sotto circa dB il canale domina; sopra la soglia la qualità è quella della quantizzazione, limitata da .
Errori tipici:
- Sommare gli SNR in dB invece delle potenze degli errori.
- Usare in dB dentro la formula, che è lineare.
- Dimenticare il fattore : anche con grande intacca la quantizzazione.
- Credere che aumentare migliori sempre l'SNR: oltre la soglia vale .
- Applicare la formula con mappe diverse dalla binaria naturale, dove i pesi degli errori cambiano.
- Dimenticare di arrotondare per eccesso.