Campionamento e interpolazione - mantenimento, lineare e ideale
In questa pagina 6
Un segnale analogico ha infiniti valori, uno per ogni istante: non si può memorizzare né trasmettere con un numero finito di bit. Il primo passo per renderlo digitale è guardarlo solo a istanti regolari, il campionamento; per tornare al segnale continuo serve l'operazione inversa, l'interpolazione. Qui si vede come funzionano e quando la ricostruzione è perfetta. La teoria completa, con le trasformate di Fourier, è in Teorema del campionamento, interpolazione e aliasingTeorema di Shannon: un segnale a banda limitata $\omega_M$ si ricostruisce esattamente dai campioni se $T_c<\pi/\omega_M$ (frequenza di campionamento maggiore di quella di Nyquist $2f_{\max}$), con la formula di interpolazione ideale $x(t)=\sum_nx(nT_c)\operatorname{sinc}\left(\frac{t-nT_c}{T_c}\right)$. Sotto Nyquist c'è aliasing: le frequenze alte si confondono con quelle basse e l'informazione è persa.Teorema del campionamento, interpolazione e aliasing → e Campionamento e formula di PoissonCampionare un segnale continuo $x(t)$ con passo $T_c$ dà la sequenza $x(nT_c)$. La formula di Poisson lega gli spettri: $\hat W(\omega)=\frac1{T_c}\sum_kX\left(\frac{\omega+2\pi k}{T_c}\right)$, cioè lo spettro del segnale campionato è la ripetizione periodica (di periodo $2\pi/T_c$ in pulsazione analogica) dello spettro originale, riscalata. Se le repliche si sovrappongono si ha aliasing.Campionamento e formula di Poisson → (Segnali e Sistemi), Campionamento e ricostruzioneIl campionamento $s_c(nT)=s(nT)$ trasforma un segnale continuo in uno discreto e, in frequenza, ripete lo spettro con periodo $F_c=1/T$: $S_c(f)=\sum_kS(f-kF_c)$. Se le repliche si sovrappongono si ha aliasing e il segnale non è recuperabile. Un interpolatore $\mathbb Z(T)\to\mathbb R$ con risposta impulsiva $g$ produce $\tilde s(t)=\sum_nT g(t-nT)s(nT)$ e $\tilde S=G,S_c$. Teorema del campionamento: se $s$ ha banda $B$ e $F_c\ge2B$, l'interpolatore ideale $G=\operatorname{rect}(f/F_c)$ ricostruisce esattamente $s(t)=\sum s(nT)\operatorname{sinc}(F_c(t-nT))$. Se le ipotesi non valgono c'è un errore, in banda e fuori banda, riducibile con un prefiltro anti-aliasing.Campionamento e ricostruzione → e Interpolazione LTI e teorema del campionamentoIl campionatore R→Z(T) ripete lo spettro con periodo Fc = 1/T (Sc(f) = Σ S(f - kFc), senza fattore 1/T). Il filtro interpolatore Z(T)→R ha y(t) = Σ x(nT) g0(t-nT) con g0 = T g e in frequenza Y = G·X. Se S è nulla fuori da (-B,B) e Fc ≥ 2B, con g0(t) = sinc(Fc t) si ricostruisce esattamente s(t) dai campioni. Altrimenti c'è un errore (in banda per l'aliasing, fuori banda per la parte tagliata), ridotto da un prefiltro anti-aliasing.Interpolazione LTI e teorema del campionamento → (Teoria dei Segnali). Versioni per le altre lauree: 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 → (Ing. Elettronica) e 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 → (Ing. delle Telecomunicazioni). I segnali a tempo continuo si descrivono con gli strumenti di Segnali a tempo continuo - sinusoidi, rect e trasformazioni dell'asse dei tempiUn segnale è una funzione del tempo; è analogico se tempo e valori sono continui, digitale se entrambi sono discreti. La sinusoide A cos(2πf₀t + φ₀) ha periodo T = 1/f₀. Con rect(t) (1 per |t| ≤ 1/2) e triang(t) = 1 − |t| (|t| ≤ 1) si costruiscono impulsi; rect((t − T/2)/T) è 1 su [0,T]. Traslazione s(t − t₀) sposta a destra di t₀, scalamento s(t/A) dilata di A; in s((t − t₀)/A) si scala prima e si trasla poi. Una trasmissione è una somma Σ a_m z(t − mT). Il canale AWGN è r(t) = A·s_Tx(t − t₀) + w(t).Segnali a tempo continuo - sinusoidi, rect e trasformazioni dell'asse dei tempi →.
Campionamento
Il campionamento produce un segnale a tempo discreto a partire da uno a tempo continuo: si legge ogni secondi, è il periodo di campionamento e la frequenza di campionamento. Il risultato è un segnale a tempo discreto: esiste solo negli istanti , e non ha senso parlare di . Tutto quello che fa tra due campioni successivi viene scartato.
Esempio. (una sinusoide con periodo , cioè otto campioni per periodo) ha campioni , , , , , e così via.
Interpolazione
L'interpolazione ricostruisce un segnale a tempo continuo da quello a tempo discreto: ogni campione fa da "peso" di una copia ritardata di un impulso base : Il termine è l'impulso spostato nell'istante (grazie al ritardo ) e moltiplicato per il campione . La funzione è la risposta impulsiva del filtro interpolatore, ed è l'unico ingrediente da scegliere. Tre scelte classiche, tutte descritte con le funzioni della nota sui segnali.
1. Interpolatore a mantenimento (holder, o zero-order hold). , un rettangolo di altezza su . Ogni campione viene mantenuto costante per un periodo: si ottiene una scala di gradini larghi , con il valore del campione che comincia in .
2. Interpolatore lineare. è un triangolo. Nella lezione parte da in , sale a in e torna a in (cioè ): la ricostruzione è la spezzata che unisce i campioni successivi, ritardata di (perché il picco è in , non in ). Con il triangolo centrato, , la spezzata non ha ritardo: nell'intervallo vale con , e in riproduce esattamente il campione, perché lì gli altri triangoli valgono .
3. Interpolatore ideale. con (e ). Questa funzione vale in e si annulla in tutti gli altri multipli interi di : nei punti di campionamento riproduce quindi il campione, e tra un campione e l'altro somma le "code" oscillanti degli impulsi vicini.
Grafico interattivo: Segnale s(t) = cos(2πt/8T) con T = 1, ricostruzione a mantenimento (gradini) e interpolazione lineare centrata (spezzata) a partire dai campioni s(mT)
Esempio numerico. Per si valuta la ricostruzione in e (a metà tra due campioni):
valore vero mantenimento (campione precedente) lineare (media dei due campioni vicini) sinc (somma di molti campioni) L'errore del mantenimento è il più grande, quello lineare è piccolo e quello della sinc è praticamente nullo (il segnale ha banda , ben sotto il limite del teorema qui sotto). (Valori ricalcolati con Python, con la serie della sinc troncata a campioni.)
Teorema del campionamento
La sinc è l'interpolatore speciale, e il motivo è questo teorema.
Teorema del campionamento. Se il segnale ha banda limitata (la sua trasformata di Fourier è nulla per ) e il periodo di campionamento soddisfa allora il segnale si ricostruisce esattamente dai suoi campioni con l'interpolatore ideale:
Il significato in frequenza: campionare ripete lo spettro del segnale attorno a tutti i multipli di . Se le copie non si sovrappongono e un filtro passa-basso ideale (la cui risposta impulsiva è la sinc) isola quella centrale; se le copie si sovrappongono (aliasing) e il segnale originale non è più recuperabile da nessun filtro. In sintesi, per ricostruire servono:
- un periodo abbastanza piccolo ();
- un interpolatore di tipo sinc.
Gli altri interpolatori (mantenimento, lineare) non sono esatti neanche con piccolo, ma sono realizzabili: la sinc si estende da a e quindi non è un filtro causale. In pratica si sovracampiona e si accetta l'errore residuo.
Campionamento come codifica di sorgente
La coppia campionatore-interpolatore è un esempio di codifica di sorgente (il campionatore) e decodifica di sorgente (l'interpolatore): si rappresenta l'informazione del segnale in una forma più "economica", che si può memorizzare o trasmettere. La codifica è senza perdite se si rispetta il teorema del campionamento: da quei campioni si riottiene esattamente . Il passo successivo è rappresentare ogni campione (un numero reale) con un numero finito di bit, la quantizzazione, che invece introduce un errore (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 →, Quantizzazione non uniforme, companding e conversione A-DIn un quantizzatore non uniforme gli intervalli I_i hanno larghezze diverse (stretti dove la densità è alta) e la potenza dell'errore è M_e = Σ M_{e_i} P(x ∈ I_i), con M_{e_i} = E[(x − a_qi)² | x ∈ I_i]. Si realizza con il companding (compressore μ(x), quantizzatore uniforme, espansore) o raggruppando gli intervalli di un quantizzatore uniforme fine. Nella conversione A-D con campionamento ogni T_s e b bit per campione, T_b = T_s/b e R_b = b/T_s bit/s. Esempio completo con densità esponenziale a due lati: v_sat, b, bit rate e periodo di simbolo della 16-QAM.Quantizzazione non uniforme, companding e conversione A-D →).
Esercizi svolti
- Esercizio - campionamento e interpolazione di segnali rect, triangolari ed esponenziali (esercizi del corso, cap. 2, es. 20 e 21): scrivere i campioni e il segnale interpolato per tre scelte di .
Domande d'esame
- Definire campionamento e interpolazione e scrivere la formula di interpolazione. ; con risposta impulsiva dell'interpolatore.
- Enunciare il teorema del campionamento. Segnale di banda , , interpolatore : ricostruzione esatta.
- Differenza tra interpolatore a mantenimento, lineare e ideale? Rispettivamente rettangolo (gradini), triangolo (spezzata), sinc (ricostruzione esatta per segnali a banda limitata ma non causale).
Versione ripasso
- : segnale a tempo discreto, esiste solo in ; . Esempio :
Interpolazione
- , con risposta impulsiva dell'interpolatore.
- Mantenimento: , gradini larghi . Lineare: triangolare ( ritardato di ; senza ritardo), spezzata tra i campioni. Ideale: , in e nei multipli interi non nulli di .
- In per : vero ; mantenimento ; lineare ; sinc .
- Banda e (cioè ): .
- Campionare ripete lo spettro attorno ai multipli di : con le copie sono separate (basta un passa-basso), con si ha aliasing.
- La sinc non è causale: in pratica si usano mantenimento o lineare e si sovracampiona.
Codifica di sorgente
- Campionatore = codifica, interpolatore = decodifica: senza perdite se vale il teorema (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 → per il passo successivo).
Perché la sinc e i confronti
- Triangolo centrato: in vale con ; in ricostruisce il campione perché gli altri impulsi valgono .
- In : vero ; mantenimento ; lineare ; sinc .
- Teorema: se per e , il passa-basso ideale (risposta impulsiva sinc) ricostruisce esattamente; se le copie dello spettro si sovrappongono (aliasing).
Errori tipici
- Scegliere invece di .
- Dimenticare il ritardo di del triangolo della lezione.
- Dire che l'interpolatore a mantenimento è esatto per piccolo (lo è solo al limite ).