Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Sergio Cavaliere » 18.Il teorema del campionamento: ricostruzione


L’operazione di campionamento

Ricostruzione secondo Shannon
Il campionamento di un segnale si può vedere come prodotto del segnale continuo per un treno di impulsi di Dirac:

x_s=x(t)\sum_{k=-\infty}^{\infty}\delta(t-kT_s)=\sum_{k=-\infty}^{\infty}x(kT_s)\delta(t-kT_s)

Al prodotto dei due segnali nel dominio del tempo corrisponde, in base ad una delle proprietà delle trasformate di Fourier, la convoluzione degli spettri nel dominio delle frequenze:

x(t)y(t)\stackrel{FT}\longleftrightarrow\frac 1 {2\pi}X(\omega)\otimes T(\omega)

Poiché vale la coppia di trasformazione:

\sum_{k\in Z}\delta(t-kT_s)\stackrel{FT}\longleftrightarrow \frac{2\pi}{T_s}\sum_{k\in Z}\delta(\omega - k\frac{2\pi}{T_s})

lo spettro del segnale campionato xs detto Xc lo spettro del segnale continuo x(t) sarà:

X_s(\omega)=\frac1 {2\pi}X_c(\omega)* \frac{2\pi}{T_s}\sum_{k\in Z}\delta (\omega<br />
- k \frac{2\pi}{T_s})=\frac 1 {T_s}=\frac 1 {T_s}X_c(\omega)*\sum_{k\in Z}\delta (\omega - k \frac{2\pi}{T_s})=

\frac 1 {T_s}\sum_{k\in Z}X_c(\omega -k\omega_s)~~~~~~\text{posto}~~~\omega_s=\frac{2\pi}{T_s}

L’operazione di campionamento (segue)

La formula ricavata X_s(\omega)=\frac 1 {T_s}\sum_{k\in Z}X_c(\omehga-k\omega_s) ci dice che lo spettro del segnale è somma di tutte le repliche dello spettro a distanza kωs (consiste cioè in una versione periodizzata dello spettro di partenza).

Spettro originario. Spettro del treno di impulsi. Spettro del segnale campionato. Finestra necessaria ad isolare il lobo centrale e quindi ricostruire esattamente lo spettro di partenza.

Spettro originario. Spettro del treno di impulsi. Spettro del segnale campionato. Finestra necessaria ad isolare il lobo centrale e quindi ricostruire esattamente lo spettro di partenza.


Segnali a tempo continuo

Se ora dal segnale campionato vogliamo riottenere il segnale continuo di partenza, dopo avere magari eseguito delle elaborazioni nel dominio digitale, basterà applicare una finestra rettangolare nel dominio della frequenza ed isolare tra le varie repliche un solo lobo dello spettro.
Questo sarà possibile se non c’è sovrapposizione tra repliche adiacenti dello spettro e cioè solo se \omega_{max} > \frac {\omega_s} 2

In termini di frequenza diremo che la ricostruzione è possibile se viene rispettato il criterio di Nyquist, che la frequenza di campionamento (Sampling Rate) deve essere maggiore del doppio della massima frequenza contenuta nel segnale.

Se invece f_{max}> \frac {f_s} 2 ,nelle zone di sovrapposizione, lo spettro si aggiunge alle code delle repliche adiacenti e non è più possibile ripristinare lo spettro di partenza. Questa circostanza si chiama aliasing perché come vedremo le frequenza maggiori di SR/2 si ribaltano nella zona bassa dello spettro e vengono convertite in frequenze diverse da quelle di partenza (alias).

Se la massima pulsazione presente nel segnale rimane al di sotto della metà del cosiddetto rate di Nyquist, dallo scienziato che ha ottenuto i risultati riportati, è possibile riottenere lo spettro di partenza applicando una finestra rettangolare, come è evidente dalla figura precedente. Vedremo nel seguito come è possibile effettuare la ricostruzione; quanto abbiamo detto dimostra inoltre l’equivalenza tra continuo e discreto e sancisce definitivamente la possibilità di effettuare elaborazioni nel dominio discreto senza ridurre l’informazione contenuta nel segnale analogico.
Risultato questo abbastanza singolare visto che mostra l’equivalenza tra il dominio del discreto e quello del continuo e mostra che l’informazione affidata a campioni discreti è equivalente a quella affidata ad un segnale con l’infinità del continuo.

Ricostruzione del segnale dai suoi campioni

Verifichiamo come può essere fatta la ricostruzione.
Applicare una finestra rettangolare sq(t) nello spettro richiede un prodotto nel dominio della frequenza; ma questo, per le proprietà della convoluzione, è equivalente ad una convoluzione nel tempo tra il segnale discreto e l’antitrasformata della finestra rettangolare, secondo il seguente schema:

X_c(\omega)=X_s(\omega)\cdot T_s \cdot SQ_{+/-\frac{\omega_s}2}(\omega) ~~~\longleftarrow \text{prodotto in frequenza}

…..   ……………..\Downarrow \text{ifft}~~~~~~~\Downarrow \text{ifft}~~~~~~~~\Downarrow \text{ifft}

x(t)~~=T_sx_s(t)~~\otimes ~~sq(t)~~~\longleftarrow \text{convoluzione nel tempo}

Nel caso di assenza di aliasing quindi, sostituendo i valori di xs(t) ed sq(t) nell’espressione ottenuta ed antitrasformando la relazione in frequenza, ricaveremo l’espressione del segnale ricostruito a partire dalla sua versione campionata; occorre allo scopo ricordare la coppia:

DSQ_{+/-\frac{\omega_s}2}(\omega)\stackrel{FT}\longleftrightarrow sq(t)=\frac{sin~\pi/T_s}{\pi t}

Ricostruzione del segnale dai suoi campioni (segue)

Con semplici manipolazioni si ottiene la formula che permette la ricostruzione perfetta del segnale x(t) nel continuo a partire dai suoi campioni discreti xn:

x(t)=T_sx_s(t)\otimes sq(t)=

T_S\Biggl(\sum_n x(nT_s)\delta(t-nT_s)\Biggr)\otimes \frac{sin~\pi t / T_s}{\pi t/T_s}=T_s\sum_n x_n\biggl(\delta(t-nT_s)\otimes \frac{sin~\pi t/T_s}{\pi t/T_s}\Biggr)=

\sum_n x_n\frac{sin~\pi (t-nT_s)/T_s}{\pi(t-nT_s)/T_s}

Qui utilizziamo la proprietà distributiva della convoluzione rispetto alla somma e la proprietà del ritardo della delta:

f(t)\otimes \delta (t-t_0)=f(t-t_0)

La formula di ricostruzione

La formula di ricostruzione

x(t)=\sum_n x_n\frac{sin~\pi(t-nT_s)/T_s}{\pi(t-nT_s)/T_s}

quindi stabilisce un risultato importante: il segnale continuo può dunque essere perfettamente ricostruito a partire da i suoi campioni a tempo discreto mediante una operazione di interpolazione; il valore del segnale ricostruito all’istante t qualsiasi nel continuo è la somma di tutti i campioni x[n] per -∞< ∞ ognuno pesato con la funzione:

sinc(x)=\frac{sin~\pi x}{\pi x}

centrata sul campione n-mo e moltiplicata per il campione x[n].

La funzione sinc necessaria alla ricostruzione. Figura fatte con sampling_reconstructionfig.m

La funzione sinc necessaria alla ricostruzione. Figura fatte con sampling_reconstructionfig.m

Figura fatte con sampling_reconstructionfig.m

Figura fatte con sampling_reconstructionfig.m


Interpolazione mediante sinc

Le altre funzioni sinc interpolatrici, per i campioni n=1,2,3…opportunamente scalate sono mostrate nella figura a lato.

Questo risultato grazie all’equivalenza che stabilisce tra continuo e discreto è stata alla base degli enormi sviluppi che ha avuto la teoria dell’elaborazione numerica (quindi discreta) dei segnali.

Naturalmente se la ricostruzione è perfetta, per ogni valore della variabile continua tempo, tuttavia è fisicamente irrealizzabile: difatti per la ricostruzione occorrono tutti i campioni, passati e futuri del segnale, e l’interpolazione va fatta con la funzione sinc che, pur avendo un decadimento rapido ha tuttavia supporto infinito. Si tratta di operazione non causale e per di più di durata infinita.
Questa circostanza è legata al fatto che ai fini della ricostruzione è stato necessario usare una finestra rettangolare in frequenza: ma questa è un filtro passa basso con pendenza infinitamente grande nella transizione dalla banda passante a quella di reiezione, quindi con risposta all’impulso unitario di durata infinita e non causale.
Sono naturalmente possibili soluzioni approssimate ma fisicamente realizzabili, come vedremo.

La somma di un numero finito sinc pesati approssima il segnale da ricostruire, è soltanto la somma di un numero infinito di queste sinc che ricostruisce il segnale senza errore. (programma sampling_reconstructionfig.m nella sezione materiali).

La somma di un numero finito sinc pesati approssima il segnale da ricostruire, è soltanto la somma di un numero infinito di queste sinc che ricostruisce il segnale senza errore. (programma sampling_reconstructionfig.m nella sezione materiali).


Filtraggio con PB non ideale

Se invece il segnale non occupa tutta la banda di Nyquist SR/2ed inoltre rinunciamo alla caratteristica che il filtro sia perfettamente piatto in banda possiamo ottenere un sistema realizzabile.

Nel filtro riportato in figura, ad esempio, nella banda passante la risposta non è piatta e la transizione non è infinitamente ripida.

In tal caso la risposta impulsiva del filtro e quindi la convoluzione che de deriva ha durata finita ed il sistema di ricostruzione diventa fisicamente realizzabile. In pratica, limitando la banda del segnale o equivalentemente campionando a velocità superiori a quella di Nyquist la ricostruzione può essere fatta con semplici filtri passa-basso di durata limitata.

Il più semplice di questi è il sample&hold che realizza una interpolazione “a scala”.
Se a questa facciamo seguire un semplice passa-basso la ricostruzione è sufficientemente accurata.

Possiamo poi effettuare una interpolazione lineare tra due campioni successivi oppure interpolare utilizzando tre o più campioni riducendo così l’ordine delle discontinuità.

Filtro passa-basso non ideale.

Filtro passa-basso non ideale.

Interpolazione con sample & hold.

Interpolazione con sample & hold.


Il segnale continuo e quello campionato: spettri

Relazione tra spettro del segnale continuo modulato dal treno di impulsi (FT) e discreto (DTFT)

x_s(t)=\sum_{k=-\infty}^{\infty}x(kT_s)\delta(t-kT_s)

Trasformando avremo:

X_s(\omega)=\sum_{k=-\infty}^{\infty}x_ke^{-j\omega kT_s}

X_{DTFT}(\omega)=\sum_{k=-\infty}^{\infty}x_ke^{-j\omega k}

Si ricava che per passare da un all’alatra yrasformata occorrre una normalizzazioen di freuenza che porti Ts ad 1 e quindi sarà:

\omega_s=\frac{2\pi}{T_s}=2\pi

Spettro del segnale continuo e discreto

Relazione tra spettro del segnale continuo (FT) e discreto (DTFT)

Per ils egnale campionato cioè per il treno d’impulsi modulati posto \omega_s=\frac{2\pi}{T_s} vale la:

X_s(\omega)=\frac 1 {T_s}\sum_{k\in Z}X_c(\omega -k\omega_s)=\sum_{k=-\infty}^{\infty}x_k e^{-j\omega kT_s}=X_{DTFT}(\omega T_s)

Quindi, posto \Omega=\omega T_s avremo

X_{DTFT}(\Omega)=X_{DTFT}(\omega T_s)=X_s\biggl(\frac \Omega {T_s}\biggr)=\frac 1 {T_s}\sum_{k\in Z}X_c \biggl(\frac \Omega {T_s}-k\frac{2\pi}{T_s}\biggr)

Ovvero nell’intervallo [0,2π], nel caso di assenza di aliasing saà:

X_{DTFT}(\Omega)=\frac 1{T_s}X_c\biggl(\frac \Omega {T_s}\biggr)

e, nella banda -fs,fs sarà:

X_c(\omega)=T_sX_s(\omega T_s)

Analisi quantitativa dell’aliasing

Vediamo ora numericamente gli effetti dell’aliasing considerando una singola riga spettrale.

Data una cosinusoide x_c(t)=cos~\omega_0t il suo spettro sarà:

X_c(\omega)=\frac 1 2 \biggl(\delta(\omega - \omega_0)+\delta(\omega+\omega_0)\biggr)

Supponiamo ora di essere in condizioni di aliasing cioè supponiamo che la pulsazione del segnale superi la metà della pulsazione di campionamento, pur rimanendo al disotto della pulsazione di campionamento:

\frac{\omega_s}2 <\omega_0<\omega_s

Se dunque \frac{\omega_s}2 <\omega_0<\omega_s la riga spettrale viene trasformata dal valore iniziale ω0 di a quello di ωs0 .

Le righe spettrali che vanno oltre la metà della frequenza di campionamento, vengono perciò ribaltate intorno alla metà della frequenza di campionamento; se ad esempio SR=20000Hz, SR/2=10000, f0=11000, la frequenza resa dalla ricostruzione, dopo il campionamento insufficiente, sarà di SR-f0=20000-11000=9000.


Irreversibilità dell’aliasing

Il campionamento a velocità inferiore a quello di Nyquist dunque, come già detto, trasforma frequenze del nostro segnale in frequenze diverse (alias) ed altera irrimediabilmente il segnale, in modo tale che lo spettro di partenza non è più recuperabile.
La seguente figura, nel caso di un ideale spettro triangolare, illustra il fenomeno dell’aliasing e della conseguente sovrapposizione dei lobi delle repliche spettrali.
Evidentemente in tal caso le righe dello spettro provengono per somma di righe dello spettro di partenza e righe della replica adiacente; nota la somma però è impossibile risalire individualmente alle due righe componenti.

L’aliasing dunque è irreversibile.


Effetto di sampling rate insufficiente

Lo spettrogramma in figura è ricavato con il programma SRvariabileFast.m incluso nella sezione materiali. Il sampling rate viene fatto variare prendendo i campioni dal file originario a passo di 1 in un primo intervallo, 2 nel secondo e così via fino ad 8; è visibile in figura i fatto che lo spettro si ribalta più volte intorno alla frequenza di campionamento producendo le repliche visibili nello spettrogramma. Soltanto nell’ultimo segmento il SR è abbastanza elevato da coprire tutto lo spettro del segnale. Sono anche chiare all’ascolto le distorsioni introdotte.

Seganle originario (SR=44100 HZ).

Segnale campionato con SR variabile a tratti da 500 fino a 44100 Hz.

Periodizzazione dello spettro e sovrapposizione delle code di repliche adiacenti.

Periodizzazione dello spettro e sovrapposizione delle code di repliche adiacenti.


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion