Salta al contenuto
Note per Studenti Campionamento e ricostruzione

Campionamento e ricostruzione

In questa pagina 7

Gran parte delle elaborazioni dei segnali si fa al calcolatore, che tratta solo segnali discreti. Il campionamento trasforma un segnale continuo s(t)s(t) in uno discreto prendendone i valori a intervalli regolari; la domanda è quando, e come, da quei valori si può ricostruire il segnale continuo. La risposta è il teorema del campionamento.

Il campionamento

Definizione (campionatore R→Z(T)\mathbb R\to\mathbb Z(T)). Dato s0(t)s_0(t), t∈Rt\in\mathbb R, il segnale campionato è sc(nT)=s0(nT),nT∈Z(T).s_c(nT)=s_0(nT),\qquad nT\in\mathbb Z(T). TT è il periodo di campionamento e Fc=1TF_c=\frac1T la frequenza di campionamento (campioni al secondo).

Esempio. Con T=0,2T=0{,}2 ms si ha Fc=5F_c=5 kHz (cinquemila campioni al secondo).

I due segnali non sono "uguali", perché definiti su domini diversi: scs_c è la restrizione di s0s_0 a Z(T)\mathbb Z(T). Il campionatore è un sistema lineare e istantaneo (il campione dipende solo dal valore dell'ingresso nello stesso istante), ma non è tempo-invariante: lo è solo per traslazioni multiple di TT ("periodicamente tempo-invariante"). Se campionato in due modi diversi, due segnali continui distinti possono dare gli stessi campioni: la perdita di informazione è il problema da capire.

Lo spettro del segnale campionato

Teorema (campionamento in frequenza). Se s0s_0 ha trasformata S0(f)S_0(f), il segnale campionato ha trasformata Sc(f)=rep⁡FcS0(f)=∑k=−∞+∞S0(f−kFc):S_c(f)=\operatorname{rep}_{F_c}S_0(f)=\sum_{k=-\infty}^{+\infty}S_0(f-kF_c): la ripetizione periodica dello spettro con periodo FcF_c.

Dimostrazione. Si scrive s0(nT)=∫−∞∞S0(λ)ei2πλnTdλs_0(nT)=\int_{-\infty}^\infty S_0(\lambda)e^{i2\pi\lambda nT}d\lambda e si divide l'integrale in intervalli di lunghezza FcF_c: ∑k∫kFc(k+1)FcS0(λ)ei2πλnTdλ\sum_k\int_{kF_c}^{(k+1)F_c}S_0(\lambda)e^{i2\pi\lambda nT}d\lambda. Con λ=f+kFc\lambda=f+kF_c e ei2πkFcnT=ei2πkn=1e^{i2\pi kF_cnT}=e^{i2\pi kn}=1 si ottiene sc(nT)=∫0Fc[∑kS0(f+kFc)]ei2πfnTdfs_c(nT)=\int_0^{F_c}\big[\sum_kS_0(f+kF_c)\big]e^{i2\pi fnT}df, che è proprio l'antitrasformata di una trasformata discreta (Trasformata di Fourier a tempo discretoLa trasformata di Fourier di un segnale discreto è $S(f)=\sum_nT,s(nT),e^{-i2\pi fnT}$: una funzione continua e periodica in $f$ di periodo $F_p=1/T$. L'antitrasformata è l'integrale su un periodo, $s(nT)=\int_0^{F_p}S(f)e^{i2\pi fnT}df$. Le regole sono quelle del caso continuo (traslazione, convoluzione $\leftrightarrow$ prodotto, Parseval $\sum T|s|^2=\int_0^{F_p}|S|^2$), con incremento e somma corrente al posto di derivata e integrale. Per segnali reali $S(f)=S^*(-f)$, quindi basta $[0,F_p/2]$. Esempi: $\delta\to1$, $1\to\delta_{F_p}$, rect $\to$ sinc periodico, $a^n\mathbf 1_0\to\frac T{1-ae^{-i2\pi fT}}$.Trasformata di Fourier a tempo discreto →). □\square

Esempio. Campionando s0(t)=sinc⁡(t/T)s_0(t)=\operatorname{sinc}(t/T) si ottiene sc(nT)=δn0s_c(nT)=\delta_{n0} (il sinc vale 11 in 00 e si annulla in tutti gli altri multipli di TT), cioè T δ(nT)T\,\delta(nT), con trasformata TT (costante). Dall'altra parte S0(f)=Trect⁡(f/Fc)S_0(f)=T\operatorname{rect}(f/F_c) e la sua ripetizione periodica di periodo FcF_c è T∑krect⁡f−kFcFc=TT\sum_k\operatorname{rect}\frac{f-kF_c}{F_c}=T (i rect sono adiacenti e riempiono l'asse).

Aliasing

Ogni replica S0(f−kFc)S_0(f-kF_c) è centrata in kFckF_c. Se lo spettro è più largo del periodo, le repliche si sovrappongono e Sc(f)S_c(f) è la somma di più contributi: non si può più separare S0(f)S_0(f) da Sc(f)S_c(f). È l'aliasing (ripiegamento). Se invece S0(f)=0S_0(f)=0 per ∣f∣>B|f|>B e Fc≥2BF_c\ge2B, le repliche non si toccano e S0S_0 si legge direttamente in ScS_c per ∣f∣<B|f|<B.

Esempio. s0=sinc⁡2(t)s_0=\operatorname{sinc}^2(t) ha spettro tri⁡(f)\operatorname{tri}(f), banda B=1B=1. Con Fc=3F_c=3 (>2B>2B) le repliche sono separate; con Fc=1,5F_c=1{,}5 (<2B=2<2B=2) i triangoli centrati in 00 e ±1,5\pm1{,}5 si sovrappongono: in f=0,6f=0{,}6 lo spettro vale tri⁡(0,6)+tri⁡(0,6−1,5)=0,4+0,1=0,5\operatorname{tri}(0{,}6)+\operatorname{tri}(0{,}6-1{,}5)=0{,}4+0{,}1=0{,}5 invece di 0,40{,}4.

Grafico interattivo: Spettro tri(f) di un segnale con banda B = 1 e spettro del segnale campionato con F_c = 3 > 2B: le repliche (tratteggiate) centrate in kF_c non si sovrappongono

Grafico interattivo: Stesso spettro campionato con F_c = 1,5 < 2B: le repliche in 0 e ±1,5 si sovrappongono (aliasing) e S_c non coincide più con S nella banda (|f| < 1)

Un segnale ottenuto da e−t/D1(t)e^{-t/D}\mathbf 1(t) non è a banda limitata: S0(f)=D1+i2πfDS_0(f)=\frac{D}{1+i2\pi fD} decade solo come 1f\frac1f. Il campionamento dà la serie ∑kS0(f−kFc)\sum_kS_0(f-kF_c) che si somma in forma chiusa dal segnale campionato, sc(nT)=an1(nT)s_c(nT)=a^n\mathbf 1(nT) con a=e−T/Da=e^{-T/D} (ma con sc(0)=12s_c(0)=\frac12 per l'emivalore): Sc(f)=T[12+z1−z]S_c(f)=T\Big[\frac12+\frac{z}{1-z}\Big], z=e−T/De−i2πfTz=e^{-T/D}e^{-i2\pi fT}. Con D/T=2D/T=2, T=1T=1, f=0,2f=0{,}2: Sc=0,3183−0,5809 iS_c=0{,}3183-0{,}5809\,i (la serie troncata a ±20000\pm20000 termini dà lo stesso valore). C'è sempre aliasing.

Nel dominio del tempo l'aliasing si vede così: i segnali continui cos⁡2πf0t\cos2\pi f_0t e cos⁡2π(f0+Fc)t\cos2\pi(f_0+F_c)t hanno gli stessi campioni.

Grafico interattivo: Aliasing nel tempo: i coseni a 1 Hz e a 9 Hz, campionati ogni 0,1 s (F_c = 10 Hz, 9 = 10 − 1), passano per gli stessi campioni; dai campioni non si può dire quale dei due fosse il segnale

Interpolazione

L'operazione inversa parte da un segnale discreto e produce uno continuo.

Definizione (filtro interpolatore Z(T)→R\mathbb Z(T)\to\mathbb R). Dato un segnale discreto s(nT)s(nT) e un segnale continuo g(t)g(t) (la risposta impulsiva dell'interpolatore), l'uscita è s~(t)=∑n=−∞+∞T g(t−nT) s(nT)=∑ns(nT) g0(t−nT),g0(t)=T g(t)  (funzione interpolatrice).\tilde s(t)=\sum_{n=-\infty}^{+\infty}T\,g(t-nT)\,s(nT)=\sum_{n}s(nT)\,g_0(t-nT),\qquad g_0(t)=T\,g(t)\ \ (\text{funzione interpolatrice}).

Il nome "risposta impulsiva" è giustificato: all'ingresso δ(nT)\delta(nT) (valore 1T\frac1T in 00) l'uscita è s~(t)=T g(t)1T=g(t)\tilde s(t)=T\,g(t)\frac1T=g(t). L'interpolatore è lineare, tempo-invariante ma non istantaneo (l'uscita in tt dipende da tutti i campioni) e causale se g(t)=0g(t)=0 per t<0t<0. L'uscita è la somma di copie traslate di g0g_0, ciascuna centrata in un campione e moltiplicata per il suo valore.

Condizione di corretta interpolazione. Si ha s~(nT)=s(nT)\tilde s(nT)=s(nT) (l'uscita passa per i campioni) per ogni segnale se e solo se g0(0)=1,g0(mT)=0  (m≠0):g_0(0)=1,\qquad g_0(mT)=0\ \ (m\ne0): la funzione interpolatrice vale 11 nell'origine e si annulla negli altri istanti di campionamento (così la copia di un campione non disturba gli altri).

Esempi di interpolazione (per T=1T=1), tutti con g0(0)=1g_0(0)=1 e g0(m)=0g_0(m)=0 salvo l'ultimo:

  • a tenuta (hold): g0=rect⁡(t−T/2T)g_0=\operatorname{rect}\big(\frac{t-T/2}T\big) (vale 11 su [0,T)[0,T)): l'uscita è una scala che mantiene ogni valore per TT;
  • lineare: g0=tri⁡(t/T)g_0=\operatorname{tri}(t/T): collega i punti con segmenti;
  • ideale (sinc): g0=sinc⁡(t/T)g_0=\operatorname{sinc}(t/T), quella prevista dal teorema del campionamento;
  • gaussiana: e−α(t/T)2e^{-\alpha(t/T)^2} non verifica la condizione di corretta interpolazione ma dà un buon risultato.

Grafico interattivo: Tre funzioni interpolatrici per T = 1: a tenuta (rect su [0,1)), lineare (tri) e ideale (sinc); tutte valgono 1 nel campione e 0 negli altri istanti di campionamento (il rect in t = 1 vale 1/2 per la convenzione sul salto)

In frequenza. Trasformando la definizione e usando g(t−nT)→G(f)e−i2πfnTg(t-nT)\to G(f)e^{-i2\pi fnT}: S~(f)=G(f)∑nT s(nT)e−i2πfnT=G(f) S(f),\tilde S(f)=G(f)\sum_nT\,s(nT)e^{-i2\pi fnT}=G(f)\,S(f), dove SS è la trasformata del segnale discreto (periodica di periodo FcF_c) e GG è la risposta in frequenza dell'interpolatore (aperiodica): il prodotto è aperiodico, come deve essere per la trasformata di un segnale continuo. L'interpolatore si comporta come un filtro (Risposta in frequenza e filtriLa risposta in frequenza G(f) = F[g] di un filtro LTI dà Y = G·X. Gli esponenziali complessi sono autofunzioni (autovalore G(f)), quindi un ingresso sinusoidale esce sinusoidale con ampiezza moltiplicata per |G(f0)| e fase aumentata di arg G(f0). Il filtro è reale se G è hermitiana, invertibile se G non si annulla. I filtri ideali sono rect in frequenza; non distorsione secondo Heaviside: |G| costante e fase lineare.Risposta in frequenza e filtri →). La cascata di un interpolatore con risposta impulsiva g1g_1 e di un filtro continuo g2g_2 è un interpolatore con risposta impulsiva g=g1∗g2g=g_1*g_2.

Esempio. L'interpolatore a tenuta ha G(f)=sinc⁡(fT)e−iπfTG(f)=\operatorname{sinc}(fT)e^{-i\pi fT} (g=1Trect⁡t−T/2Tg=\frac1T\operatorname{rect}\frac{t-T/2}T): attenua le alte frequenze, fino a sinc⁡(0,5)=0,637\operatorname{sinc}(0{,}5)=0{,}637 (−3,92-3{,}92 dB) alla frequenza di Nyquist Fc/2F_c/2, e ritarda di T/2T/2. Per questo un convertitore digitale-analogico reale a tenuta ha bisogno di un filtro di ricostruzione che compensi.

Campionamento seguito da interpolazione

Combinando i due blocchi, l'uscita dipende dai campioni di s0s_0: s~(t)=∑ns0(nT) g0(t−nT),S~(f)=G(f)∑k=−∞+∞S0(f−kFc).\tilde s(t)=\sum_{n}s_0(nT)\,g_0(t-nT),\qquad \tilde S(f)=G(f)\sum_{k=-\infty}^{+\infty}S_0(f-kF_c). Senza ipotesi sul segnale non si recupera s0s_0 (il campionamento perde informazione).

Il teorema del campionamento

Teorema (del campionamento). Sia s(t)s(t) un segnale con estensione spettrale limitata, E[s]⊆(−B,B)E[s]\subseteq(-B,B), B<∞B<\infty. Se la frequenza di campionamento soddisfa Fc≥2BF_c\ge2B (condizione di non aliasing), il segnale è esattamente ricostruibile dai campioni s(nT)s(nT), T=1/FcT=1/F_c, con l'interpolatore ideale di risposta in frequenza Q(f)=rect⁡(fFc)Q(f)=\operatorname{rect}\left(\frac f{F_c}\right), cioè funzione interpolatrice q0(t)=sinc⁡(Fct)q_0(t)=\operatorname{sinc}(F_ct): s(t)=∑n=−∞+∞s(nT) sinc⁡(Fc(t−nT)).s(t)=\sum_{n=-\infty}^{+\infty}s(nT)\,\operatorname{sinc}\big(F_c(t-nT)\big).

Esempio. Il segnale A0sinc⁡2(F0t)A_0\operatorname{sinc}^2(F_0t) con F0=2F_0=2 MHz ha spettro triangolare A0F0tri⁡(f/F0)\frac{A_0}{F_0}\operatorname{tri}(f/F_0), estensione (−F0,F0)(-F_0,F_0), banda B=F0=2B=F_0=2 MHz: la minima frequenza di campionamento è Fc=2B=4F_c=2B=4 MHz.

Dimostrazione. Per la ripetizione periodica Sc(f)=∑kS(f−kFc)S_c(f)=\sum_kS(f-kF_c) le repliche non si sovrappongono se Fc≥2BF_c\ge2B, quindi nella banda (−Fc2,Fc2)\big(-\frac{F_c}2,\frac{F_c}2\big) vale Sc(f)=S(f)S_c(f)=S(f). Moltiplicando per Q(f)=rect⁡(f/Fc)Q(f)=\operatorname{rect}(f/F_c) (che vale 11 nell'intervallo e 00 fuori) si seleziona la replica principale: S~(f)=Q(f)Sc(f)=S(f)\tilde S(f)=Q(f)S_c(f)=S(f). Per l'unicità della antitrasformata s~=s\tilde s=s. ■\blacksquare

Osservazioni:

  • La dimostrazione è costruttiva: dice anche come ricostruire. Si può vedere come interpolazione (ogni campione è moltiplicato per un sinc centrato in nTnT e si sommano i contributi; sinc⁡(Fc(t−nT))\operatorname{sinc}(F_c(t-nT)) vale 11 in nTnT e 00 negli altri campioni, quindi verifica la corretta interpolazione) oppure come filtraggio passa-basso ideale del segnale campionato.
  • La limitazione in banda è necessaria ma non sufficiente: con Fc<2BF_c<2B c'è aliasing anche se il segnale è a banda limitata.
  • Il filtro ideale non è causale (comincia a rispondere prima dell'arrivo del campione): la ricostruzione esatta non si può fare in tempo reale, in pratica si usa un filtro reale e c'è un errore.
  • La frequenza di Nyquist è FN=Fc2F_N=\frac{F_c}2 (la banda del filtro ideale). Se Fc>2BF_c>2B (sovracampionamento) il filtro può avere una risposta arbitraria nella zona di transizione: Qα(f)=1Q_\alpha(f)=1 per ∣f∣<B|f|<B, =0=0 per ∣f∣>Fc−B|f|>F_c-B, qualunque tra BB e Fc−BF_c-B: un raccordo graduale facilita la realizzazione.
  • Segnali con banda non attorno all'origine (passa-banda). Un segnale reale con spettro in fL<∣f∣<fHf_L<|f|<f_H ha banda B=fHB=f_H, e la regola Fc≥2fHF_c\ge2f_H funziona; ma se la banda occupata è stretta (W=fH−fL≪fHW=f_H-f_L\ll f_H) esistono frequenze di campionamento più basse per le quali le repliche non si sovrappongono, della forma 2fHm≤Fc≤2fLm−1\frac{2f_H}m\le F_c\le\frac{2f_L}{m-1} con mm intero, m≤⌊fH/W⌋m\le\lfloor f_H/W\rfloor (con ricostruzione tramite filtro passa-banda). Esempio. Il segnale A0sinc⁡(F0t)cos⁡(2πf0t)A_0\operatorname{sinc}(F_0t)\cos(2\pi f_0t) con F0=2F_0=2 kHz, f0=1f_0=1 MHz ha spettro in f0±F02f_0\pm\frac{F_0}2: la condizione di non aliasing con banda B=f0+F02=1,001B=f_0+\frac{F_0}2=1{,}001 MHz richiede Fc≥2,002F_c\ge2{,}002 MHz; sfruttando la banda stretta (W=2W=2 kHz, m=500m=500) basta Fc=2⋅1001/500=4,004F_c=2\cdot1001/500=4{,}004 kHz (verificato calcolando le repliche: a 4,0044{,}004 kHz non si sovrappongono, a 0,99⋅4,0040{,}99\cdot4{,}004 sì).

Errori di ricostruzione

Se le ipotesi non valgono, la ricostruzione s~\tilde s differisce da ss di un errore e(t)=s~(t)−s(t)e(t)=\tilde s(t)-s(t). Anche con interpolatore ideale (rect su (−Fc2,Fc2)\big(-\frac{F_c}2,\frac{F_c}2\big)) ci sono due cause:

  • errore in banda: le repliche S(f−kFc)S(f-kF_c), k≠0k\ne0, che cadono dentro la banda del filtro (aliasing);
  • errore fuori banda: la parte di S(f)S(f) oltre Fc2\frac{F_c}2, tagliata dal filtro.

La qualità si misura col rapporto segnale/disturbo Λ=potenza del segnalepotenza dell’errore\Lambda=\frac{\text{potenza del segnale}}{\text{potenza dell'errore}} (di solito in dB, da 3030 dB per prestazioni modeste a 90÷10090\div100 dB per l'altissima qualità).

Esempio. Segnale e−t1(t)e^{-t}\mathbf 1(t) (E=12E=\frac12) campionato con Fc=2F_c=2 Hz e ricostruito con l'interpolatore ideale: l'errore fuori banda è 2∫1∞df1+4π2f2=0,05022\int_1^\infty\frac{df}{1+4\pi^2f^2}=0{,}0502 e quello in banda 0,01510{,}0151; l'energia dell'errore è 0,06530{,}0653 e Λ=9,0\Lambda=9{,}0 dB (calcolando direttamente ∑s(nT)sinc⁡(⋅)−s\sum s(nT)\operatorname{sinc}(\cdot)-s si trova 0,06510{,}0651). Il segnale decresce lentamente in frequenza, quindi servirebbe un FcF_c molto più alto.

Prefiltro anti-aliasing. Prima del campionatore si inserisce un filtro passa-basso di banda Fc2\frac{F_c}2: elimina le componenti fuori banda e quindi l'errore in banda (il segnale campionato è a banda limitata); rimane solo l'errore fuori banda, che è inevitabile perché quelle componenti sono perse. Nell'esempio precedente l'errore scende a 0,05020{,}0502 e Λ\Lambda sale a 10,010{,}0 dB. In pratica l'errore in banda e quello fuori banda contribuiscono in modo simile alla potenza dell'errore, quindi il prefiltro porta un miglioramento fino a 33 dB.

Campionamento di un segnale discreto (decimazione)

Si può anche campionare un segnale già discreto, tenendo solo i campioni nei multipli di T′=NTT'=NT: yd(nT′)=y(nT′)y_d(nT')=y(nT'), e la velocità scende da Fp=1TF_p=\frac1T a Fp′=1T′F_p'=\frac1{T'}. In frequenza la trasformata (periodica di periodo FpF_p) si ripiega: Yd(f)=∑k=0N−1Y(f−kFp′),Y_d(f)=\sum_{k=0}^{N-1}Y\big(f-kF_p'\big), cioè somma di NN repliche traslate di Fp′F_p'. Se YY è nulla per Fp′/2<∣f∣<Fp/2F_p'/2<|f|<F_p/2 (banda minore di Fp′/2F_p'/2) non c'è aliasing. Il caso inverso è l'interpolatore Z(T′)→Z(T)\mathbb Z(T')\to\mathbb Z(T): y(nT)=∑mT′ g(nT−mT′) s(mT′)y(nT)=\sum_mT'\,g(nT-mT')\,s(mT') con Y(f)=G(f)S(f)Y(f)=G(f)S(f). Si verificano con la stessa tecnica (cambio di indice nelle somme); gli esami usano queste catene (campionatore, decimatore, interpolatore, filtro) come schemi a blocchi.

Esempio. Con N=4N=4, T=1T=1 e un segnale casuale di 3030 campioni, Yd(0,037)Y_d(0{,}037) calcolato dai campioni decimati coincide a quindici cifre con ∑k=03Y(0,037−k/4)\sum_{k=0}^{3}Y(0{,}037-k/4).

Esercizi collegati

Vedi anche la materia gemella: 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 →, 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 → e Conversione A-D e campionamento di segnali non limitati in bandaUn convertitore A/D è la catena filtro anti-aliasing passa-basso, campionatore, quantizzatore a $B$ bit. Nessun segnale reale è a banda esattamente limitata: si sceglie la banda essenziale (che contiene quasi tutta l'energia) e un passo $T_c$ tale che le repliche aliasing siano trascurabili. La quantizzazione introduce un errore con potenza $\Delta^2/12$ e un rapporto segnale-rumore di circa $6{,}02B+1{,}76$ dB.Conversione A-D e campionamento di segnali non limitati in banda →.

Versione ripasso

  • Campionamento: sc(nT)=s0(nT)s_c(nT)=s_0(nT), nT∈Z(T)nT\in\mathbb Z(T); TT è il periodo di campionamento e Fc=1TF_c=\frac1T la frequenza di campionamento. Esempio: T=0,2T=0{,}2 ms dà Fc=5F_c=5 kHz. Il campionatore è lineare e istantaneo, ma non tempo-invariante (lo è solo per traslazioni multiple di TT).
  • Spettro del segnale campionato: Sc(f)=∑kS0(f−kFc)S_c(f)=\sum_{k}S_0(f-kF_c), cioè lo spettro di s0s_0 ripetuto con periodo FcF_c. Esempio: s0=sinc⁡(t/T)s_0=\operatorname{sinc}(t/T) dà sc(nT)=δn0s_c(nT)=\delta_{n0}, cioè trasformata costante TT.
  • Aliasing: se lo spettro è più largo di Fc/2F_c/2 le repliche si sovrappongono e S0S_0 non si separa più da ScS_c. Esempio: s0=sinc⁡2(t)s_0=\operatorname{sinc}^2(t) ha spettro tri⁡(f)\operatorname{tri}(f) e banda B=1B=1; con Fc=1,5<2BF_c=1{,}5<2B in f=0,6f=0{,}6 lo spettro vale 0,4+0,1=0,50{,}4+0{,}1=0{,}5 invece di 0,40{,}4.
  • Aliasing nel tempo: cos⁡2πf0t\cos2\pi f_0t e cos⁡2π(f0+Fc)t\cos2\pi(f_0+F_c)t hanno gli stessi campioni. Esempio: 1 Hz e 9 Hz campionati con Fc=10F_c=10 Hz (9 = 10 − 1) passano per gli stessi punti.
  • Interpolatore di risposta impulsiva gg: s~(t)=∑nT g(t−nT) s(nT)=∑ns(nT) g0(t−nT)\tilde s(t)=\sum_nT\,g(t-nT)\,s(nT)=\sum_ns(nT)\,g_0(t-nT), con g0=Tgg_0=Tg. È lineare e tempo-invariante, non istantaneo. Corretta interpolazione (per ogni segnale): g0(0)=1g_0(0)=1 e g0(mT)=0g_0(mT)=0 per m≠0m\ne0.
  • Interpolatori tipici (per T=1T=1): a tenuta g0=rect⁡(t−T/2T)g_0=\operatorname{rect}\big(\frac{t-T/2}T\big); lineare g0=tri⁡(t/T)g_0=\operatorname{tri}(t/T); ideale g0=sinc⁡(t/T)g_0=\operatorname{sinc}(t/T); gaussiana e−α(t/T)2e^{-\alpha(t/T)^2}, che non rispetta la condizione ma dà un buon risultato.
  • In frequenza: S~(f)=G(f) S(f)\tilde S(f)=G(f)\,S(f), con SS trasformata del segnale discreto (periodica) e GG risposta in frequenza dell'interpolatore (aperiodica). La cascata di interpolatore g1g_1 e filtro g2g_2 è un interpolatore con g=g1∗g2g=g_1*g_2 (Risposta in frequenza e filtriLa risposta in frequenza G(f) = F[g] di un filtro LTI dà Y = G·X. Gli esponenziali complessi sono autofunzioni (autovalore G(f)), quindi un ingresso sinusoidale esce sinusoidale con ampiezza moltiplicata per |G(f0)| e fase aumentata di arg G(f0). Il filtro è reale se G è hermitiana, invertibile se G non si annulla. I filtri ideali sono rect in frequenza; non distorsione secondo Heaviside: |G| costante e fase lineare.Risposta in frequenza e filtri →).
  • Hold a tenuta: G(f)=sinc⁡(fT) e−iπfTG(f)=\operatorname{sinc}(fT)\,e^{-i\pi fT}, g=1Trect⁡t−T/2Tg=\frac1T\operatorname{rect}\frac{t-T/2}T. Alla frequenza di Nyquist Fc/2F_c/2 attenua fino a sinc⁡(0,5)=0,637\operatorname{sinc}(0{,}5)=0{,}637 (−3,92-3{,}92 dB) e ritarda di T/2T/2: serve un filtro di ricostruzione.
  • Campionamento seguito da interpolazione: S~(f)=G(f)∑kS0(f−kFc)\tilde S(f)=G(f)\sum_kS_0(f-kF_c). Senza ipotesi sul segnale s0s_0 non si recupera.
  • Teorema del campionamento: se E[s]⊆(−B,B)E[s]\subseteq(-B,B) e Fc≥2BF_c\ge2B (condizione di non aliasing), allora s(t)=∑ns(nT)sinc⁡(Fc(t−nT))s(t)=\sum_ns(nT)\operatorname{sinc}\big(F_c(t-nT)\big), con interpolatore ideale Q(f)=rect⁡(f/Fc)Q(f)=\operatorname{rect}(f/F_c). Esempio: A0sinc⁡2(F0t)A_0\operatorname{sinc}^2(F_0t) con F0=2F_0=2 MHz ha B=F0=2B=F_0=2 MHz e minima frequenza Fc=4F_c=4 MHz.
  • Dimostrazione: con Fc≥2BF_c\ge2B nella banda (−Fc/2,Fc/2)(-F_c/2,F_c/2) vale Sc=SS_c=S; il rect seleziona la replica principale, quindi S~=QSc=S\tilde S=QS_c=S e, per unicità, s~=s\tilde s=s.
  • Frequenza di Nyquist: FN=Fc/2F_N=F_c/2. La limitazione in banda è necessaria ma non sufficiente. Il filtro ideale non è causale: la ricostruzione esatta non è realizzabile in tempo reale.
  • Passa-banda a banda stretta: con W=fH−fL≪fHW=f_H-f_L\ll f_H esistono frequenze più basse della regola Fc≥2fHF_c\ge2f_H, della forma 2fHm≤Fc≤2fLm−1\frac{2f_H}m\le F_c\le\frac{2f_L}{m-1} con m≤⌊fH/W⌋m\le\lfloor f_H/W\rfloor. Esempio: A0sinc⁡(F0t)cos⁡(2πf0t)A_0\operatorname{sinc}(F_0t)\cos(2\pi f_0t) con F0=2F_0=2 kHz e f0=1f_0=1 MHz richiede Fc≥2,002F_c\ge2{,}002 MHz con la regola generale, ma Fc=4,004F_c=4{,}004 kHz con m=500m=500.
  • Errore di ricostruzione: e=s~−se=\tilde s-s, con due cause: in banda (repliche S(f−kFc)S(f-kF_c), k≠0k\ne0, dentro la banda del filtro) e fuori banda (parte di SS oltre Fc/2F_c/2, tagliata dal filtro). Misura: Λ=potenza del segnalepotenza dell’errore\Lambda=\frac{\text{potenza del segnale}}{\text{potenza dell'errore}} in dB. Esempio: e−t1(t)e^{-t}\mathbf 1(t) con Fc=2F_c=2 Hz dà Λ=9,0\Lambda=9{,}0 dB.
  • Prefiltro anti-aliasing: passa-basso di banda Fc/2F_c/2 prima del campionatore. Elimina l'errore in banda; resta solo quello fuori banda, inevitabile. Nell'esempio precedente Λ\Lambda sale a 10,010{,}0 dB (miglioramento fino a 3 dB).
  • Decimazione (campionamento di un segnale discreto, T′=NTT'=NT): yd(nT′)=y(nT′)y_d(nT')=y(nT') e Yd(f)=∑k=0N−1Y(f−kFp′)Y_d(f)=\sum_{k=0}^{N-1}Y\big(f-kF_p'\big), con Fp′=1/T′F_p'=1/T'. Non c'è aliasing se YY è nulla per Fp′/2<∣f∣<Fp/2F_p'/2<|f|<F_p/2.

Errori tipici:

  • Usare Fc≥BF_c\ge B al posto di Fc≥2BF_c\ge2B.
  • Dimenticare la TT davanti a gg in s~(t)=∑T g(t−nT) s(nT)\tilde s(t)=\sum T\,g(t-nT)\,s(nT).
  • Credere che il sinc ideale sia causale o che l'interpolatore a tenuta non introduca attenuazione.
  • Confondere scs_c (definito solo su Z(T)\mathbb Z(T)) con s0s_0 e ScS_c con S0S_0.
  • Pensare che il prefiltro elimini tutto l'errore: quello fuori banda resta.

Esercizi su questo argomento

Teoria collegata