Capitolo 1 parte I

Transcript

Capitolo 1 parte I
Appunti di
Elaborazione numerica dei segnali
Capitolo 1 - Campionamento (I)
Introduzione ............................................................................................... 1
definizione di campionamento .................................................................... 2
segnale campionato .................................................................................... 3
Teorema del campionamento ...................................................................... 5
Formula di ricostruzione............................................................................. 8
Errore di aliasing ........................................................................................ 9
Cenni al progetto del filtro analogico anti-aliasing ................................... 13
Esempio di campionamento ideale............................................................ 14
Campionamento di una sinusoide ............................................................. 16
Campionamento di un segnale generico .................................................... 21
Filtri di ricostruzione ................................................................................ 22
Caso particolare: funzione PLOT del Matlab ..................................... 24
Osservazione ............................................................................................ 31
Traslazione nel tempo del pettine di campionamento................................ 31
Possibilità di sottocampionamento ed applicazioni ................................... 35
Esercizio................................................................................................... 39
Osservazione: possibilità di non usare il campionatore............................. 43
Effetti della non-idealità del campionatore ............................................... 44
INTRODUZIONE
Il processo di campionamento di un segnale analogico variabile nel tempo riveste una grossa
importanza nella maggior parte dei sistemi elettronici: esso infatti consente il passaggio
dal dominio del continuo al dominio del discreto, ossia quindi la
conversione dei segnali da analogico in digitale. Le conversioni digitaleanalogico (D→A) e analogico-digitale (A→D) consentono dunque il collegamento fondamentale tra
il mondo delle quantità analogiche ed il mondo dei segnali digitali (o segnali numerici):
• i cosiddetti DAC (acronimo di Digital Analog Converter) sono dispositivi aventi lo scopo di
ricostruire un segnale analogico in uscita da un dispositivo digitale dopo, per esempio, una
elaborazione o dopo l’immagazzinamento in una memoria numerica o semplicemente dopo una
trasmissione in forma digitale;
• invece, gli ADC (acronimo di Analog Digital Converter) sono dispositivi che convertono il
segnale analogico in ingresso ad un dispositivo nella sua equivalente forma digitale.
Nei moderni sistemi digitali è spesso necessario collegare componenti o parti che possono essere
lontane tra loro. Questa tendenza è favorita dal fatto che i segnali digitali sono meno soggetti,
rispetto a quelli analogici, all’influenza dei disturbi e del rumore. Nonostante questo, però, è
importante sottolineare che, volendo trasmettere un segnale digitale, è
necessario utilizzare linee di trasmissione progettate ad hoc, in
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
modo da evitare una degradazione del contenuto informativo contenuto
nel segnale stesso: infatti, i segnali digitali hanno spesso dei tempi di trasmissione
estremamente piccoli (dell’ordine dei nanosecondi), per cui richiedono delle linee in grado di
trasmettere segnali ad elevata frequenza.
DEFINIZIONE DI CAMPIONAMENTO
La fase iniziale e spesso più critica dell’elaborazione digitale di un segnale analogico è quella del
campionamento: esso consiste semplicemente nella trasformazione di un
segnale continuo nel tempo in un segnale discreto ad esso
equivalente. Lo scopo è quello di dare di una funzione s(t) continua nel tempo una descrizione
in termini dei valori che essa assume in istanti equidistanti tra loro. Se questa operazione non è
eseguita correttamente, tenendo presenti le caratteristiche spettrali del segnale tempo-continuo in
esame, si ottengono dei risultati errati, in quanto il contenuto informativo del segnale
campionato risulta diverso da quello del segnale di partenza, per cui l’informazione posseduta da
quest’ultimo non può essere più ricostruita fedelmente.
Consideriamo dunque un segnale s(t) continuo nel tempo:
s(t)
t
Figura 1 - Generico segnale analogico da campionare. L’origine dei tempi è ovviamente del tutto arbitraria
“Campionare” s(t) significa considerare i valori che esso assume per valori discreti di t,
che siano multipli interi di una quantità fissa. Dobbiamo dunque scegliere un valore TC (reale
positivo) e valutare i valori che s(t) assume negli istanti di campionamento, ossia negli istanti
t = nTC
con n=-∞ , .... , -2, -1 , 0 , +1 , +2 , .... . +∞
s(t)
t
Figura 2 - Indicazione degli istanti di campionamento, equispaziati nel tempo di TC
Autore: Sandro Petrizzelli
2
Campionamento (parte I)
La quantità TC prende il nome di periodo di campionamento: esso rappresenta chiaramente
l’intervallo di tempo che intercorre tra due misure successive del valore di s(t), cioè tra due
campioni successivi.
L’inverso di TC, ossia fC=1/TC, è la frequenza di campionamento e rappresenta il numero di
valori di s(t) che si valutano nell’unità di tempo, cioè il numero di campioni nell’unità di tempo.
Quanto più piccolo è TC, tanto maggiore è fC e quindi tanti più campioni possiamo raccogliere
nell’unità di tempo.
SEGNALE CAMPIONATO
Ci proponiamo adesso di verificare se possiamo ottenere l’andamento esatto, cioè l’andamento
continuo nel tempo, del segnale s(t) a partire solo dalla conoscenza dei suoi campioni. Vedremo
perciò come è possibile fare questo e sotto quali ipotesi il risultato finale risulta valido.
Intanto, è ovvio che l’insieme dei valori di s(nTC) che otteniamo negli istanti t=nTC, cioè i
cosiddetti campioni del segnale in esame, costituiscono il cosiddetto segnale discreto
equivalente al segnale continuo s(t): lo possiamo dunque indicare con la notazione s(nTC). Prende
invece il nome di segnale campionato di s(t) il segnale che si ottiene mediante la formula
s C (t) =
+∞
∑ s(nT
C
n = −∞
)δ( t − nTC )
Al contrario del segnale discreto, il segnale campionato è dunque un segnale CONTINUO
nel tempo, costituito da una successione di impulsi, ciascuno traslato di una quantità nTC
rispetto all’origine e di area pari al valore del corrispondente campione s(nTC). Questo
segnale campionato ha ovviamente la particolarità di assumere, in ogni istante, il valore che ivi
assume s(t).
Andiamo ora a determinare lo spettro del segnale campionato sC(t). Intanto, possiamo manipolare
ulteriormente l’espressione di questo segnale: infatti, considerando che il prodotto s(nTC)δ(t-nTC) ha
senso solo per t=nTC, mentre vale 0 altrove, possiamo porre proprio t=nTC, in modo da ottenere
s C (t) =
+∞
∑ s(nTC )δ(t − nTC ) =
n = −∞
+∞
+∞
n = −∞
n = −∞
∑ s(t )δ(t − nTC ) = s(t ) ∑ δ(t − nTC )
La sommatoria di impulsi per cui s(t) viene moltiplicato in questa formula prende il nome di
pettine di campionamento.
A partire da questa espressione, calcoliamo SC(f), la quale sarà evidentemente pari alla
trasformata del secondo membro; questo secondo membro è costituito da un prodotto: ricordando
allora che un prodotto nel dominio del tempo equivale ad una convoluzione nel dominio della
frequenza (proprietà di convoluzione in frequenza della trasformata di Fourier), possiamo scrivere
che
 +∞

S C (f ) = S(f ) * Fourier  ∑ δ( t − nTC )
n = −∞

Il segnale g( t ) =
+∞
∑ δ(t − nT
n = −∞
C
) è una successione di impulsi di area unitaria, ossia un segnale
periodico, dove il periodo è pari proprio al periodo di campionamento TC: ricordando allora come si
3
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
calcola la trasformata di Fourier di un segnale periodico, possiamo scrivere che la trasformata di g(t)
ha espressione
G (f ) =
1
TC
+∞

n = −∞

n 

C 
∑ δ f − T
Si tratta di una ulteriore successione di impulsi1. In altre parole, il pettine di impulsi di
campionamento è rappresentabile, spettralmente, con la sovrapposizione di sinusoidi complesse di
frequenza 1/TC e multipli, tutte di ampiezza 1/TC:
p(t)
TC
2TC
3TC
t
P(f)
-2fC
-fC
fC
2fC
f
Figura 3 - Pettine di campionamento nel tempo, p(t), e corrispondente spettro a righe, P(f)
Andando a sostituire nella espressione di SC(f) otteniamo
S C (f ) = S(f ) *
1
TC

n  1
=
δ f −
∑
TC  TC
n = −∞ 
+∞
+∞

n = −∞

n 

C 
∑ S(f ) * δ f − T
A questo punto, ci ricordiamo che la convoluzione tra un qualsiasi segnale e l’impulso traslato è
pari al segnale stesso calcolato nel punto in cui è applicato l’impulso2, per cui concludiamo che lo
spettro del segnale campionato è
1
S C (f ) =
TC

n 

S
f
−
∑  T 
n = −∞ 
C 
+∞
Come è fatto questo spettro? Dato che la funzione S(f) è proprio lo spettro del nostro segnale s(t)
di partenza, deduciamo che SC(f) consiste in una successione di repliche, a
meno del fattore costante 1/TC, dello spettro di s(t), ciascuna
1
Ricordiamo che la trasformata di un segnale periodico è sempre una successione di impulsi. La particolarità, quindi, in questo caso
sta nel fatto che anche il segnale di cui calcoliamo la trasformata è una successione di impulsi.
2
In pratica, la convoluzione tra una funzione ed un impulso centrato in un certo istante τ produce una semplice traslazione della
funzione a cavallo dell’impulso
Autore: Sandro Petrizzelli
4
Campionamento (parte I)
traslata rispetto all’origine di una quantità pari ad un multiplo
della frequenza di campionamento fC=1/TC: infatti, andando a sviluppare
parzialmente quella sommatoria, troviamo evidentemente che
SC (f ) = .. +
1 
2 1 
1  1
1 
1  1 
2
S f +  + S f +  + S(f ) + S f −  + S f −  + ... −
TC  TC  TC  TC  TC
TC  TC  TC  TC 
Si tratta dunque di un segnale periodico di periodo 1/T.
Supponiamo, ad esempio, che lo spettro di s(t) sia del tipo seguente:
S(f)
-fC
-B
B
fC
f
Figura 4 - Spettro di un segnale passa-basso di banda monolatera B (e quindi banda bilatera 2B)
Lo spettro del segnale campionato sarà allora del tipo seguente:
SC(f)
-2fC
-fC
-B
B
fC
2fC
f
Figura 5 - Spettro del segnale campionato per il segnale di figura 4. Gli impulsi posizionati sulla
frequenza fC e sui suoi multipli rappresentano lo spettro del pettine di campionamento, indicato al fine di
evidenziare l’effetto della convoluzione: S(f) viene collocato a cavallo di ciascun impulso di
campionamento (in frequenza). In figura sono indicate solo le repliche a cavallo della frequenza 0, di ±fC
e di ±2fC,, ma sono da considerarsi anche le repliche a cavallo degli infiniti altri multipli della frequenza
di campionamento
TEOREMA DEL CAMPIONAMENTO
Fino ad ora, abbiamo dunque ottenuto quanto segue: una volta noti i campioni del segnale tempocontinuo s(t) di partenza, abbiamo costruito il corrispondente segnale campionato sC(t) e abbiamo
trovato che il suo spettro SC(f) è costituito da una successione di infinite repliche (a meno del
termine 1/TC) dello spettro di s(t). Allora, è evidente che, se riusciamo ad isolare, a partire da queste
infinite repliche, quella centrata nell’origine, avremo ottenuto proprio lo spettro di s(t), che è quello
che ci interessa ottenere in fase di ricostruzione.
Si pongono allora due domande: come è possibile isolare lo spettro di s(t) a partire dallo spettro di
sC(t) e, in secondo luogo, quando è possibile far questo?
5
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
La risposta alla prima domanda è nota: basta infatti moltiplicare SC(f) per un rettangolo
opportuno3, tale cioè che azzeri tutte le altre repliche mentre lasci più o meno invariata quella
“centrale”.
La risposta alla seconda domanda discende a sua volta da quanto appena detto: infatti, è ovvio che
noi possiamo isolare S(f) , cioè la replica centrale, solo a condizione che essa non sia sovrapposta
alle altre repliche. Infatti, è chiaro che se SC(f) è quello nella figura 5, noi siamo in grado di trovare 2
valori -w,+w tali che il rettangolo avente per estremi tali valori racchiuda solo la replica centrale
mentre non racchiuda le altre. Al contrario, se SC(f) fosse del tipo
SC(f)
-2fC
-fC
fC
2fC
f
Figura 6 - Spettro del segnale campionato (frutto del campionamento del segnale di figura 4) in caso
di sovrapposizione spettrale. Anche in questo caso non sono state indicate (ma sono presenti) le repliche
spettrali posizionate sugli altri multipli di fC.
è chiaro che noi non potremo mai trovare un intervallo di frequenza che racchiuda solo la replica
centrale.
Questo ci consente dunque di dire che la condizione necessaria perché sia possibile
ricostruire il segnale s(t) a partire dai suoi campioni è che le repliche di S(f) che
costituiscono SC(f) non si sovrappongano reciprocamente.
Vediamo allora cosa deve succedere affinché non ci sia la sovrapposizione delle repliche.
E’ subito evidente che la posizione delle repliche dipende strettamente dal valore della frequenza di
campionamento fC: allora, indicato con [-B,+B], dove B è la banda di SC(f), l’intervallo (simmetrico
rispetto all’origine) che racchiude la replica centrale, è evidente che, affinché non si abbia la
sovrapposizione delle repliche, deve essere
f C ≥ 2B
SC(f)
-2fC
-fC
-B
B
fC
2fC
f
Figura 7 - Spettro del segnale campionato (frutto del campionamento del segnale di figura 4) in
assenza di sovrapposizione spettrale
3
In generale, come avremo modo di osservare più avanti, si tratta di filtrare il segnale campionato mediante un filtro passa-basso; a
livello puramente teorico, quello che serve è un filtro ideale, mentre sappiamo bene che, nella pratica, i filtri ideali non esistono e
quindi bisogna prendere le opportune precauzioni.
Autore: Sandro Petrizzelli
6
Campionamento (parte I)
La condizione fC≥2B prende il nome di condizione di Nyquist e sintetizza il cosiddetto
teorema del campionamento:
Teorema - Un segnale analogico passa-basso, di banda B, può essere
completamente rappresentato da un sequenza di campioni
regolarmente spaziati, ottenuti con una frequenza di
campionamento non inferiore a 2B
Il valore limite è ovviamente fC=2B, nel quale caso avremmo SC(f) fatto nel modo seguente:
SC(f)
-2fC
-fC
-B
B
fC
2fC
f
Figura 8 - Segnale campionato ottenuto ai limiti del teorema di campionamento, ossia prendendo
fC=2B, ossia anche B=fC/2 (cioè banda del segnale pari alla frequenza di Nyquist)
E’ ovvio che la condizione di Nyquist non ha senso quando B=∞,
ossia quando lo spettro di s(t) NON è a banda limitata4: infatti, se B=∞,
tale spettro si estende da -∞ e + ∞ ed è quindi inevitabile che le repliche, a prescindere dal valore
della frequenza di campionamento, si sovrappongano. Per esempio, non sarà mai possibile ricostruire
un segnale s(t) il cui spettro sia una funzione periodica. Teoricamente, un qualsiasi segnale di durata
limitata, e quindi di banda infinita, sarebbe campionabile. Questo, però, renderebbe del tutto inutile,
ai fini pratici, il campionamento, in quanto, nella realtà, noi abbiamo sempre a che fare con segnali
di durata temporale limitata. Questo aspetto sarà comunque discusso in seguito.
Quindi, la seconda ed ultima condizione per poter ricostruire s(t) a partire dai suoi campioni è che
lo spettro di s(t) sia a banda limitata.
Sotto, dunque, le due condizioni esaminate, possiamo arrivare alla espressione di s(t) a partire dai
valori dei suoi campioni: facciamo osservare che questa espressione non è approssimata, ma è esatta
(almeno a livello teorico).
Ci sono adesso alcune definizioni importanti da considerare:
• in primo luogo, la frequenza pari alla metà della frequenza di campionamento prende il nome
di frequenza di Nyquist;
• infine, si definisce durata del campionamento (o anche finestra di osservazione) il tempo
totale durante il quale si effettua il campionamento del segnale continuo considerato.
Idealmente, la finestra di osservazione dovrebbe essere infinita, ma, praticamente, non potrà
che essere finita.
4
Ricordiamo la definizione rigorosa di segnale a banda limitata: si tratta di un segnale il cui spettro presenta ampiezza nulla in
tutto il campo eccetto una banda ben definita. Segnali a banda limitata possono derivare da un processo di filtraggio oppure dalle
limitazioni in banda imposte da sensori, amplificatori o altri componenti del sistema
7
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
FORMULA DI RICOSTRUZIONE
Ritornando adesso all’aspetto matematico della questione, abbiamo detto che, per isolare S(f) a
partire da SC(f), basta moltiplicare quest’ultima funzione per un opportuno rettangolo: vediamo
allora quali devono essere le caratteristiche di questo rettangolo. In primo luogo, ricordando che
l’espressione dello spettro del segnale campionato è
1
S C (f ) =
TC

n 


S
f
−
∑

T
n = −∞ 
C 
+∞
è chiaro che le repliche di S(f) di cui è composto sono a meno del fattore 1/TC. Di conseguenza, se il
rettangolo ha altezza pari proprio a TC, siamo certi che il suo prodotto per SC(f) dà la replica con il
corretto fattore di scala.
In secondo luogo è importante la banda del rettangolo (che indichiamo con D), la quale deve
essere tale da conservare la replica cui siamo interessati e da azzerare tutte le altre. Il minimo valore,
per quanto detto, è pari alla banda B del segnale s(t) di partenza, mentre il massimo valore dipende
dalla posizione della replica spettrale immediatamente adiacente e quindi dalla frequenza di
campionamento. La banda del rettangolo prende il nome di frequenza di carico del filtro.
Vediamo infine come si arriva, da un punto di vista matematico, al segnale s(t) a partire dallo
spettro del suo segnale campionato: abbiamo detto che la prima cosa è la moltiplicazione per un
opportuno rettangolo, al fine di ottenere proprio lo spettro di s(t). Detto Sr(f) l’esito del prodotto,
abbiamo dunque che

 f 
S r (f ) = S C (f ) TC rect

 2D 

A meno di interferenze, Sr(f) è dunque esattamente lo spettro di s(t) (il pedice “r” sta per
“ricostruito”). Con una operazione di antitrasformazione di Fourier, arriviamo all’espressione di
sr(t): dato che abbiamo un prodotto nel dominio della frequenza, otterremo una convoluzione nel
dominio del tempo, per cui

 f 
s r ( t ) = Fourier −1 [S C (f )]* Fourier −1 TC rect

 2D  

L’antitrasformata di SC(f) è il segnale campionato, per cui

 +∞

 f 
s r ( t ) =  ∑ s(nTC )δ( t − nTC ) * Fourier −1 TC rect

 2D  
n = −∞


L’antitrasformata di un rettangolo di altezza TC e base 2D è invece 2DTC sinc(2Dt ) , per cui
+∞
 +∞

s r ( t ) =  ∑ s(nTC )δ( t − nTC ) * [2DTC sinc(2Dt )] = ∑ [s(nTC )δ( t − nTC )]* [2DTC sinc(2Dt )] =
n = −∞
 n = −∞

=
+∞
∑ 2DTC s(nTC )[(δ( t − nTC ) )* (sinc(2Dt ) )] =
n = −∞
Autore: Sandro Petrizzelli
+∞
∑ 2DT s(nT )(sinc(2D(t − nT )))
C
n = −∞
8
C
C
Campionamento (parte I)
In conclusione, la formula di ricostruzione del segnale s(t) è la seguente:
s r ( t ) = 2DTC
+∞
∑ s(nT
C
n = −∞
)sinc(2D( t − nTC ) )
E’ ovvio che, avendo a che fare con una serie di infiniti termini, questa formula di ricostruzione è
ideale, ossia non è realizzabile nella pratica. Tuttavia, essa serve per mostrare che effettivamente la
ricostruzione di s(t) a partire dai campioni è teoricamente possibile senza che venga effettuata alcuna
approssimazione, cioè senza alcuna perdita di informazioni.
Prima di proseguire, vediamo che cosa succede nel caso particolare in cui decidiamo di prendere
la frequenza di campionamento esattamente uguale al doppio della banda B dello spettro S(f), ossia
1
fC =
= 2B . Questo implica, come già osservato, che lo spettro del segnale campionato sia
TC
costituito da repliche di S(f) perfettamente adiacenti tra di loro:
SC(f)
-2fC
-fC
-B
B
fC
2fC
f
Figura 9 - Segnale campionato ottenuto ai limiti del teorema di campionamento, ossia prendendo
fC=2B, ossia anche B=fC/2 (cioè banda del segnale pari alla frequenza di Nyquist)
e quindi anche che la frequenza di carico del filtro sia D=B, ossia pari alla banda dello spettro di s(t).
Mettendo insieme queste due relazioni, si trova ovviamente che
2DTC = 2BTC = f C TC = 1
In base a questa relazione, la frequenza di carico del filtro risulta essere la metà della frequenza di
campionamento, ossia è pari alla frequenza di Nyquist.
In queste condizioni, la formula di ricostruzione si riduce a
s r (t) =
+∞
∑ s(nT
n = −∞
C
)sinc(f C ( t − nTC ) )
ERRORE DI ALIASING
Il campionamento può far incorrere in due errori: l’errore di aliasing e l’errore di troncamento. In
questo paragrafo ci occupiamo del primo, rimandando a dopo le considerazioni sull’errore di
troncamento.
L’errore di aliasing si ha quando lo spettro del segnale campionato presenta una parziale
sovrapposizione delle varie repliche di S(f) che lo compongono. In base a quanto visto prima,
9
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
l’aliasing si verifica solo quando non viene rispettato il teorema
di campionamento, ossia quando si campiona ad una frequenza fC inferiore al doppio della
banda del segnale, ossia quando la frequenza di Nyquist fC/2 è inferiore alla massima frequenza
contenuta nel segnale s(t) che si sta campionando.
Supponiamo, ad esempio, di voler campionare un segnale analogico avente il seguente spettro:
Si osserva che l’armonica di massima frequenza di tale segnale analogico è alla frequenza fM. Se
allora campioniamo ad una frequenza fC superiore a 2fM, lo spettro del segnale campionato risulta
essere il seguente:
Le repliche spettrali sono separate e quindi quella centrale si può isolare mediante un opportuno
filtro passa-basso.
Al contrario, se campioniamo ad una frequenza fC inferiore a 2fM, lo spettro del segnale
campionato risulta essere il seguente:
Si verifica dunque la parziale sovrapposizione delle repliche. Consideriamo, in particolare, la
replica centrale, che è quella che noi vorremmo isolare per ricostruire il segnale analogico di
partenza: l’errore di aliasing consiste evidentemente nella sovrapposizione delle frequenze più
elevate (comprese tra fC-fM ed fM) con le frequenze inferiori a fC/2. In particolare, si ha una rotazione
di 180°, rispetto alla frequenza fC/2, delle frequenze superiori a fC/2 stessa.
Il risultato è la nascita di componenti a frequenze false, le quali frequenze si ottengono facilmente
dalla differenza tra la frequenza di campionamento fC e le frequenze comprese tra fC/2 e fM. Nel caso
in cui queste frequenze false si sovrappongano a frequenze già esistenti nello spettro del segnale
analogico s(t), si ha il cosiddetto fenomeno dell’interferenza armonica.
Facciamo un esempio numerico per capire bene questi ultimi concetti. Supponiamo di voler
campionare un segnale sinusoidale s(t) di frequenza 50 Hz: sarà dunque un segnale del tipo
s( t ) = A cos(2πf 0 t ) , dove ovviamente f0=50Hz. Lo spettro di questo segnale è notoriamente costituito
Autore: Sandro Petrizzelli
10
Campionamento (parte I)
da due impulsi, di area A/2, posizionati alle frequenze -f0 e +f0: analiticamente, l’espressione di tale
spettro è
A
A
S(f ) = δ(f − f 0 ) + δ(f + f 0 )
2
2
Fissato un generico (per il momento) periodo di campionamento TC, lo spettro del segnale
campionato avrà la seguente espressione:
S C (f ) =
1
TC

n 
A
 =
S f −
∑
TC  2TC
n = −∞ 
+∞
 A

n
δ f −
− f 0  +
∑
TC
n = −∞ 
 2TC
+∞
+∞

n
n = −∞

C
∑ δ f − T

+ f 0 

Consideriamo, per l’indice n, i valori -2,-1,0,+1,+2 in modo da ottenere le repliche situate nei
pressi dell’origine:
 

 


 
2
1
1
2
− f 0  +
− f 0  + δ f −
− f 0  + δ(f − f 0 ) + δ f −
− f 0  + δ f +
δ f +
  TC

  TC

 TC
  TC
 


 

A  
2
1
1
2
+
+ f 0  + δ f +
+ f 0  + δ(f + f 0 ) + δ f −
+ f 0  + δ f −
+ f 0 
δ f +
2TC   TC

  TC

 TC
  TC
S C (f ) =
A
2TC
Ricordando che fC=1/TC, abbiamo dunque che
AfC
[δ(f + 2fC − f0 ) + δ(f + fC − f0 ) + δ(f − f0 ) + δ(f − fC − f0 ) + δ(f − 2fC − f0 )] +
2
SC (f ) =
+
AfC
[δ(f + 2fC + f0 ) + δ(f + fC + f0 ) + δ(f + f0 ) + δ(f − fC + f0 ) + δ(f − 2fC + f0 )]
2
Adesso sostituiamo qualche valore numerico: abbiamo già detto che f0=50Hz; se volessimo
rispettare il teorema di campionamento, dovremmo campionare almeno a 100 Hz; facciamo invece
l’ipotesi di campionare a 75 Hz, per cui lo spettro del segnale campionato assume la seguente
espressione:
SC (f ) =
+
AfC
[δ(f + 100) + δ(f + 25) + δ(f − 50) + δ(f − 125) + δ(f − 200)] +
2
AfC
[δ(f + 200) + δ(f + 125) + δ(f + 50) + δ(f − 25) + δ(f − 100)]
2
Se adesso consideriamo solo le componenti di interesse fisico, ossia quelle a frequenza positiva
(quelle a frequenza negativa sono ovviamente in posizione simmetrica rispetto alla frequenza nulla),
abbiamo quanto segue:
S C (f ) =
Af C
[δ(f − 50) + δ(f − 125) + δ(f − 200) + δ(f − 25) + δ(f − 100)]
2
Abbiamo dunque 5 componenti, di cui una a 50 Hz, corrispondente al segnale analogico di
partenza, una a 25 Hz e altre a frequenze di 100 Hz, 125 Hz e 200 Hz. Allora, se andiamo a
moltiplicare lo spettro del segnale campionato con un rettangolo tale da filtrare le componenti a
11
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
frequenza superiore di 50 Hz, è evidente che otteniamo in uscita sia la componente di 50 Hz, che ci
interessa, sia una nuova (e indesiderata) componente a 25 Hz.
La ricostruzione, quindi, è affetta da errore di aliasing: il segnale ricostruito presenta una
armonica in più rispetto al segnale s(t) di partenza.
Vediamo un altro caso: consideriamo un segnale composto da tre componenti armoniche,
rispettivamente alle frequenze di 50 Hz (armonica fondamentale), 100 Hz e 150 Hz:
s( t ) = A cos(2πf 0 t ) + B cos(2π(2f 0 ) t ) + C cos(2π(3f 0 ) t )
dove ovviamente f0=50Hz.
Lo spettro di questo segnale , considerando solo le frequenze fisiche, è dunque il seguente:
S(f ) =
A
B
C
δ(f − f 0 ) + δ(f − 2f 0 ) + δ(f − 3f 0 )
2
2
2
Campionando con una generica (per il momento) frequenza di campionamento fC, otteniamo un
segnale campionato il cui spettro (includendo, per il momento, tutte le frequenze ) è il seguente:
+∞

n 


S
f
−
=
f
S(f − nf C ) =
∑  T  C n∑
=
−∞
n = −∞ 
C 
+∞
B
C
A

= f C ∑  δ(f − nf C − f 0 ) + δ(f − nf C − 2f 0 ) + δ(f − nf C − 3f 0 ) +
2
2

n = −∞ 2
1
TC
S C (f ) =
+ fC
+∞
+∞
A
∑  2 δ(f − nf
n = −∞
C
+ f0 )+
B
C

δ(f − nf C + 2f 0 ) + δ(f − nf C + 3f 0 )
2
2

Consideriamo -1,0,+1 come valori dell’indice n:
B
C
A

S C (f ) = f C  δ(f + f C − f 0 ) + δ(f + f C − 2f 0 ) + δ(f + f C − 3f 0 ) +
2
2
2

B
C
B
C
A

A

+ f C  δ(f − f 0 ) + δ(f − 2f 0 ) + δ(f − 3f 0 ) + f C  δ(f − f C − f 0 ) + δ(f − f C − 2f 0 ) + δ(f − f C − 3f 0 ) +
2
2
2
2
2

2

B
C
A

+ f C  δ(f + f C + f 0 ) + δ(f + f C + 2f 0 ) + δ(f + f C + 3f 0 ) +
2
2
2

B
C
B
C
A

A

+ f C  δ(f + f 0 ) + δ(f + 2f 0 ) + δ(f + 3f 0 ) + f C  δ(f − f C + f 0 ) + δ(f − f C + 2f 0 ) + δ(f − f C + 3f 0 )
2
2
2
2
2

2

Per rispettare il teorema di campionamento dovremmo campionare a 300 Hz, mentre invece
supponiamo di farlo a 180 Hz: sostituendo i valori numerici e considerando solo le componenti
fisiche (cioè a frequenza positiva), otteniamo
B
C
B
C
A

A

S C (f ) = f C  δ(f − 50) + δ(f − 100) + δ(f − 150) + f C  δ(f − 230) + δ(f − 280) + δ(f − 330) +
2
2
2
2
2

2

C
B
A

+ f C  δ(f − 130) + δ(f − 80) + δ(f − 30)
2
2
2

Autore: Sandro Petrizzelli
12
Campionamento (parte I)
Si osserva dunque la presenza delle tre componenti di interesse (a 50 Hz, 100 Hz e 150 Hz), alle
quali però si aggiungono altre componenti, che in ordine di frequenza crescente sono a 30 Hz, 80 Hz,
130 Hz, 230 Hz, 280 Hz e 330 Hz. Queste ultime tre vengono filtrate nel momento in cui si
moltiplica SC(f) per un rettangolo di banda pari proprio a 150 Hz; rimangono invece le altre tre, che
contribuiscono quindi a differenziare il segnale ricostruito dal segnale originale s(t).
In definitiva, dunque, il rispetto del teorema del campionamento consente
di evitare l’errore di aliasing. In realtà, questo è vero solo dal punto di vista
teorico, mentre invece sorgono diverse difficoltà quando si deve operare concretamente: il problema
principale è che non si può campionare infinitamente un dato segnale, ma bisogna limitarsi a farlo in
un intervallo di tempo comunque finito, che abbiamo chiamato finestra di osservazione. Questa
finestra di osservazione comporta dunque una limitazione temporale del segnale analogico da
analizzare, il che corrisponde ad un segnale teoricamente con spettro infinito e quindi
inevitabilmente soggetto alla sovrapposizione delle repliche traslate. In altri termini, l’errore di
aliasing è teoricamente sempre presente.
L’unico modo per evitare la sovrapposizione delle repliche
traslate dello spettro del segnale è quello di limitarlo in banda
prima di campionarlo: bisogna cioè utilizzare opportuni filtri (detti perciò filtri antialiasing), i quali eliminano, dal segnale analogico di partenza, un certo numero di frequenze, in
modo da permettere la successiva corretta discretizzazione. Quali frequenze, allora, vanno eliminate?
Per limitare al minimo le distorsioni del segnale filtrato rispetto al segnale di partenza, è necessario
filtrare solo le componenti a contenuto energetico minore, ossia quelle che contribuiscono in maniera
minima al contenuto informativo del segnale. In generale, il criterio più sensato è quello di ritenere
trascurabili quelle componenti di ampiezza confrontabile con le componenti rumore e che quindi da
tale rumore sarebbero comunque indistinguibili.
Ancora, l’inevitabile presenza del rumore è un altro motivo
fondamentale per cui non si può prescindere dal pre-filtraggio del
segnale s(t) da campionare: abbiamo detto che lo spettro del segnale campionato è una
ripetizione periodica, a passo fC, dello spettro del segnale s(t); il campionatore, però, riceve in
ingresso sia s(t) sia il rumore sovrapposto, che, in generale, è un rumore bianco, cioè con spettro di
potenza costante su tutte le frequenze; allora, se campionassimo l’ingresso senza pre-filtrare, noi
ripeteremmo, a passo fC, sia lo spettro di s(t) sia lo spettro del rumore, ma quest’ultimo è esteso su
tutte le frequenze, per cui, in banda base come nel resto delle frequenze, avremmo la somma (in
potenza) di infiniti contributi di rumore, il che sarebbe inaccettabile. Pre-filtrando, invece, noi
otterremmo in banda base un unico contributo di rumore, che è quello relativo alla banda di s(t) e dal
quale non possiamo ovviamente liberarci.
CENNI AL PROGETTO DEL FILTRO ANALOGICO ANTI-ALIASING
Il progetto del filtro analogico anti-aliasing va fatto dunque in modo oculato, avendo a priori
una idea dei segnali da campionare: per un segnale la cui potenza è concentrata alle basse frequenze,
verrà utilizzato un filtro passa-basso, mentre, per un segnale la cui potenza è concentrata ad alte
frequenze (come accade nei segnali modulati), si utilizzerà un filtro passa-banda.
Nei filtri analogici non è facile rispettare, nella realizzazione pratica, le specifiche riguardanti la
banda passante e quelle di transizione e oscura. Di conseguenza, è proprio il filtro
anti-aliasing a degradare le prestazioni complessive di un sistema
digitale, a meno ovviamente di non far crescere in modo consistente
il costo.
Una soluzione spesso utilizzata è quella di scegliere una banda passante del filtro anti-aliasing
maggiore di quella del segnale analogico da analizzare, in modo da degradare il meno possibile, nel
campo delle frequenze di interesse, il segnale filtrato. Ovviamente, occorre poi rispettare sempre il
13
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
teorema del campionamento: generalmente, si sceglie una frequenza di campionamento variabile tra
4 e 10 volte quella di Nyquist. Una volta effettuato questo sovracampionamento, è possibile
ridurre il numero dei dati da elaborare, scartando quelli di non interesse, usando degli appositi filtri
dedicati. In particolare, la frequenza di campionamento viene ridotta nello stesso rapporto di
eliminazione dei dati, in un processo che prende il nome di decimazione dei dati campionati.
ESEMPIO DI CAMPIONAMENTO IDEALE
Supponiamo di voler ricostruire il segnale x(t) sapendo che la sua banda è w (ovviamente limitata)
e che i suoi campioni, misurati con una frequenza di campionamento fC=1/T=2w e supposti in
numero infinito, valgono tutti 0 tranne i seguenti tre:
x(0) = 1
 1 
x −
 = 0.5
 2w 
 1 
x +
 = 0.5
 2w 
Dobbiamo semplicemente applicare la formula generale di ricostruzione, che, per fC=2w, è
x r (t) =
+∞
∑ x( nT)sinc( f
C
n =−∞
( t − nT) )
Sviluppando quella sommatoria e tenendo conto che gli unici termini non nulli sono quelli per
n=-1,0,+1, abbiamo quanto segue:
x r ( t ) = x ( − T ) sinc( f C ( t + T ) ) + x ( 0) sinc( f C t ) + x ( T ) sinc( f C ( t − T ) ) =
 1 
 1 
= x −
 sinc( f C ( t + T ) ) + x ( 0) sinc( f C t ) + x 
 sinc( f C ( t − T ) )
 2w 
 2w 
Sostituendo i valori dei campioni, otteniamo
x r ( t ) = 0.5sinc( f C ( t + T)) + sinc( f C t ) + 0.5sinc( f C ( t − T))
Sostituendo adesso l’espressione della funzione “sinc” otteniamo
x r ( t ) = 0.5
sin( πf C ( t + T))
πf C ( t + T)
+
sin( πf C t )
πf C t
Ricordando che fC=1/T, abbiamo inoltre che
Autore: Sandro Petrizzelli
14
+ 0.5
sin( πf C ( t − T))
πf C ( t − T)
Campionamento (parte I)
x r ( t ) = 0.5
= 0.5
 1

sin π ( t + T)
 T

πf C ( t + T)
 t

sin π + π
 T

πf C ( t + T)
+
+
 1 
sin π t 
 T 
πf C t
 1 
sin π t 
 T 
πf C t
+ 0.5
+ 0.5
 1

sin π ( t − T)
 T

πf C ( t − T)
=
 t

sin π − π)
 T

πf C ( t − T)
Adesso, ricordando la proprietà della funzione Seno secondo cui
sin(α+π) = - sin(α)
sin(α-π) = - sin(α)
abbiamo che
 t
sin π 
 T
 1 
sin π t 
 T 
 1 
sin π t
 T   0.5
0.5 
x r ( t ) = −0.5
+
− 0.5
=
−
+ 1−
=

πf C ( t + T)
πf C t
πf C ( t − T)
πf C
t − T 
 t+T
 1 
 1 
sin π t 2
sin π t 
2
2
 T   −0.5t + 0.5T + t − T − 0.5t − 0.5T 
 T   t − T2 − t 
=
=
 2
=


2
πf C
πf C
t 2 − T2
 t −T 


 1 
 1 
sin π t 
sin π t 
 T 
 T 
t 
=
−
1
=
 t 2 − T 2 
πf C
2 πw
 t
sin π 
 T
t 

1 − t 2 − T 2 
Proseguendo con i calcoli, si arriva al seguente risultato finale:
 1 
sin π t 
 T 

1
x r ( t) =

2 
2 πwt 1 − (2 wt ) 
L’andamento grafico di questo segnale è il seguente (per w=2):
15
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
A titolo di esercizio, ricaviamo l’espressione dello spettro di xr(t): per farlo, partiamo dalla
relazione
x r ( t ) = 0.5sinc( f C ( t + T)) + sinc( f C t ) + 0.5sinc( f C ( t − T)) =
1 
1 
 
 
= 0.5sinc 2w t +
 =
  + sinc( 2wt ) + 0.5sinc 2w t −
  2w  
  2w  
= 0.5sinc( 2wt + 1) + sinc( 2wt ) + 0.5sinc( 2wt + 1)
La trasformata di questo segnale si può calcolare sfruttando una serie di proprietà a noi note: in
primo luogo, applicando la proprietà di linearità noi abbiamo che
[
]
[
]
[
X r ( f ) = 0.5Fourier sinc( 2wt + 1) + Fouriere sinc( 2wt ) + 0.5Fourier sinc( 2wt + 1)
]
Ricordandoci adesso che la trasformata del segnale z( t ) = sinc( 2ωt ) si calcola mediante la
proprietà di dualità e vale
1
 f 
Z( f ) =
rect 

 2w 
2w
abbiamo che
X r ( f ) = 0.5Fourier[sinc( 2wt + 1)] +
1
 f 
rect 
 + 0.5Fourier[sinc( 2wt + 1)]
 2w 
2w
Ricordandoci infine della proprietà di traslazione nel tempo, concludiamo che
1
1
1
 f  − jπf w
 f 
 f  jπf w
X r (f ) =
rect 
rect 
rect 
+
e
+
e
 2w 
 2w  4w
 2w 
4w
2w
1
1
Possiamo inoltre applicare le formule di Eulero, ottenendo che
1
1
1
1
 f 
 πf  
 f   1 − jπf w 1 jπf w 
=
Xr ( f ) =
rect 
+ e
rect 
 1 + e
 1 + cos  

 2w   2
 2w  
 w 
2w
2
 2w
Da questa espressione, in particolare dalla presenza della funzione “rect”, di nota che lo spettro
X(f) del nostro segnale è certamente a banda limitata, il che costituisce la condizione fondamentale
perché si possa operare la ricostruzione di s(t) a partire dai suoi campioni.
CAMPIONAMENTO DI UNA SINUSOIDE
Abbiamo già fatto in precedenza un esempio di campionamento di una sinusoide. Analizziamo
adesso la cosa con maggiori dettagli, in modo da introdurre nuovi concetti. Faremo le ipotesi
semplificative di assenza di rumore e di segnali a banda limitata (quindi teoricamente di durata
infinita).
Autore: Sandro Petrizzelli
16
Campionamento (parte I)
Consideriamo dunque una sinusoide a frequenza f0, che quindi avrà una espressione analitica del
tipo s( t ) = cos(2πf 0 t ) ed uno spettro del tipo seguente:
S(f)
-f0
f
-f0
Figura 10 - Spettro di una sinusoide Coseno di frequenza f0
Volendo campionare questo segnale in modo da rispettare il teorema di campionamento,
dobbiamo considerare fC≥2f0, ossia dobbiamo considerare una frequenza di Nyquist fC/2 non
inferiore alla frequenza della sinusoide stessa. Rispettando questa condizione, sappiamo che lo
spettro del segnale campionato è una ripetizione periodica di S(f) a cavallo di fC e dei suoi multipli;
in pratica, dobbiamo quindi prendere i due impulsi indicati in figura e riportarli a cavallo di fC e dei
suoi multipli:
SC(f)
3
− fC
2
-fC
f
− C
2
-f0
f0
fC
2
fC
3
fC
2
f
Figura 11 - Spettro del segnale campionato (frutto del campionamento della sinusoide di cui alla
figura 2) nel caso venga rispettato il teorema del campionamento. Gli impulsi tratteggiati rappresentano
lo spettro del segnale campionato, che ovviamente comprende anche i due impulsi in ±f0, che coincidono
con quelli del segnale di partenza
A questo punto, per la ricostruzione, non dobbiamo far altro che raccogliere tutto quello che
f 
 f
troviamo all’interno dell’intervallo − C , C  , in modo da eliminare le repliche di S(f) non
 2 2 
centrate nell’origine: in questo caso, avendo rispettato il teorema del campionamento, quello che
otteniamo in uscita dal filtro di ricostruzione è proprio il segnale di partenza.
Adesso immaginiamo di diminuire la frequenza di campionamento, per cui la frequenza di
Nyquist fC/2 si avvicina a f0. Fin quando fC/2 rimane superiore ad f0, non abbiamo problemi, in
quanto stiamo ancora sovracampionando:
17
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
SC(f)
−
-fC
3
f
fC
− C
2
2
fC
2
fC
3
fC
2
f
Figura 12 - Filtraggio passa-basso del segnale campionato nel caso sia stato rispettato il teorema del
campionamento
f 
 f
L’intervallo − C , C  contiene ancora solo lo spettro del segnale di partenza.
 2 2 
Se però scegliamo la frequenza di campionamento in modo che fC/2 diventi inferiore ad f0,
sorgono i problemi, legati al sottocampionamento:
SC(f)
-fC f C
−
2
f C fC
2
f
Figura 13 - - Filtraggio passa-basso del segnale campionato nel caso non sia stato rispettato il
teorema del campionamento
f 
 f
Dato che fC/2 è inferiore ad f0, succede che nell’intervallo − C , C  non viene più a trovarsi lo
 2 2 
spettro del segnale di partenza, ma termini spettrali relativi alle repliche posizionate in +fC ed in -fC.
Evidentemente, questi termini corrispondono ancora ad una sinusoide, ma di frequenza inferiore ad
f0: in particolare, è una sinusoide a frequenza fC-f0.
Quindi, non rispettando il teorema del campionamento, l’uscita del filtro di ricostruzione è una
sinusoide a frequenza inferiore a quella originale; la nuova frequenza è funzione della fC che è stata
usata.
Il fenomeno appena descritto può essere anche impostato in modo diverso, al fine di evidenziare
alcune importanti osservazioni.
Anziché ritenere fissata la frequenza f0 della sinusoide da campionare e arbitraria la frequenza fC
di campionamento, facciamo il contrario: supponiamo di aver fissato una certa fC e vediamo come
cambiano le cose, in fase di ricostruzione, al variare della frequenza f0 della sinusoide in ingresso.
Autore: Sandro Petrizzelli
18
Campionamento (parte I)
Come caso iniziale, supponiamo di scegliere un valore di f0 tale da rispettare il teorema di
campionamento:
SC(f)
3
− fC
2
-fC
f
− C
2
-f0
f0
fC
2
fC
3
fC
2
f
Figura 14 -Filtraggio passa-basso del segnale campionato nel caso sia stato rispettato il teorema del
campionamento. Lo spettro del segnale da isolare si trova effettivamente contenuto nel cosiddetto
“intervallo non ambiguo”, che va da -fC/2 a +fC/2
Adesso supponiamo di aumentare f0. Che succede? Da un punto di vista dello spettro del segnale
campionato, abbiamo un “movimento” dei vari impulsi: i due impulsi in ±f0 si allontanano
dall’origine rispetto alla figura precedente; i due impulsi in ±(fC-f0) si avvicinano invece all’origine; i
due impulsi in ±(fC+f0) si allontanano e così via:
SC(f)
−
3
fC
2
-fC
−
fC
2
fC
2
fC
3
fC
2
f
Figura 15 - -Filtraggio passa-basso del segnale campionato nel caso sia stato rispettato il teorema
del campionamento. Rispetto alla figura 14, però, gli impulsi sono più vicini alla frequenza di Nyquist,
cioè alla frequenza di taglio del filtro passa-basso ideale) di ricostruzione
Dato che continuiamo a rispettare il teorema del campionamento, l’uscita è ancora una sinusoide a
frequenza f0, per cui l’incremento della frequenza in ingresso corrisponde ad un pari incremento
della frequenza in uscita.
Se continuiamo ad aumentare f0, fino a superare il valore fC/2, le cose cambiano:
19
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
SC(f)
−
3
fC
2
-fC
f
− C
2
fC
2
fC
3
fC
2
f
Figura 16 - -Filtraggio passa-basso del segnale campionato nel caso non sia stato rispettato il
teorema del campionamento. Lo spettro del segnale da isolare si trova all’esterno dell’intervallo non
ambiguo, che invece contiene termini derivati dalle repliche spettrali posizionate in fC e -fC
f 
 f
Nell’intervallo − C , C  non sono più contenuti gli impulsi corrispondenti ad S(f), ma sono
 2 2 
contenuti l’impulso “negativo” di S(f-fC) e l’impulso positivo di S(f+fC). Il risultato in uscita è ancora
una sinusoide, ma di frequenza inferiore a fC/2. Abbiamo cioè ottenuto che ad un aumento della
frequenza in ingresso è corrisposta una diminuzione della frequenza in uscita. Questo è appunto
dovuto al fatto che in uscita abbiamo raccolto componenti spettrali diverse da quelle che ci
interessavano. E’ un tipico problema di aliasing.
Se aumentiamo ulteriormente la frequenza f0, la frequenza dell’uscita continua a diminuire, fin
quando prendiamo f0=fC: a questo punto, otteniamo in uscita una continua. Proseguendo ancora con
l’aumento di f0, riprendiamo ad ottenere una sinusoide in uscita con frequenza crescente, ma sempre
inferiore a fC/2:
SC(f)
−
3
fC
2
-fC
f
− C
2
fC
2
fC
3
fC
2
f
Figura 17 - ”Movimento”, in frequenza, degli impulsi che costituiscono il segnale campionato:
all’aumentare della frequenza f0 della sinusoide in ingresso, gli impulsi corrispondenti al segnale da
isolare si allontanano dall’origine, mentre quelli derivanti dalle repliche in fC e -fC si avvicinano
all’origine
Autore: Sandro Petrizzelli
20
Campionamento (parte I)
CAMPIONAMENTO DI UN SEGNALE GENERICO
Consideriamo un problema analogo a quello del paragrafo precedente: supponiamo di avere a
disposizione un dato campionatore che campioni ad una frequenza massima fC prefissata. Potremmo
trovarci nelle condizioni di dover campionare, mediante questo dispositivo, un segnale la cui banda
supera il valore fC/2, il che non ci consente di rispettare il problema del campionamento:
S(f)
-fC
−
fC
2
fC
2
fC
f
Figura 18 - Spettro di un generico segnale analogico passa-basso che non rispetta il teorema del
campionamento, dato che la sua banda monolatera supera la frequenza di Nyquist
Assumendo, per semplicità, che non ci sia alcun rumore sovrapposto al segnale, ci chiediamo
quale, tra le seguenti due alternative, sia la migliore: disinteressarci del fatto che non venga rispettato
f 
 f
il campionamento e campionare ugualmente oppure prefiltrare s(t) nell’intervallo − C , C  e poi
 2 2 
campionare.
Nel primo caso, sappiamo ormai bene che il mancato rispetto del teorema del campionamento
porta alla sovrapposizione delle repliche spettrali:
SC(f)
-fC
−
fC
2
fC
2
fC
f
Figura 19 - Spettro del segnale campionato del segnale di figura 18 nel caso non venga effettuato un
pre-filtraggio: l’aliasing pregiudica le informazioni a ridosso della frequenza di Nyquist
Il risultato è che il filtro di ricostruzione ci dà un segnale con le informazioni in alta frequenza
(zone più annerite nel grafico) compromesse.
21
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
f 
 f
L’alternativa è invece quella di prefiltrare il segnale nell’intervallo − C , C  e poi campionare.
 2 2 
In questo modo, è vero che perdiamo l’informazione eliminata dal pre-filtraggio, ma è anche vero
f 
 f
che, in uscita, otteniamo un segnale, esteso ancora in − C , C  , con tutta informazione utile, in
 2 2 
quanto privo di aliasing:
SF (f)
spettro del segnale
pre-filtrato
-fC
−
fC
2
fC
2
fC
f
Figura 20 - Spettro del segnale ottenuto pre-filtrando passa-basso il segnale della figura 18
SC(f)
spettro del segnale
(pre-filtrato) campionato
-fC
−
fC
2
fC
2
fC
f
Figura 21 - Campionamento del segnale della figura 20: avendo eliminato le componenti esterne
all’intervallo [-fC/2,fC/2], viene eliminato l’aliasing
Con questo secondo modo di procedere, quindi, si riesce ad estrarre la massima informazione che
il sistema consente.
FILTRI DI RICOSTRUZIONE
Consideriamo nuovamente il problema del campionamento di una sinusoide. Abbiamo in
precedenza analizzato questo problema nei minimi dettagli, partendo però da una ipotesi tutt’altro
che attuabile nella pratica: quella di avere un filtro di ricostruzione ideale, cioè con funzione di
f 
 f
trasferimento perfettamente rettangolare (e di modulo 1) nell’intervallo − C , C  e nulla
 2 2 
all’esterno di tale intervallo:
Autore: Sandro Petrizzelli
22
Campionamento (parte I)
HR(f)
-fC
−
fC
2
fC
2
fC
f
Figura 22 - Filtro di ricostruzione ideale, corrispondente ad un filtro passa-basso ideale
Un filtro del genere5 consente la ricostruzione perfetta del segnale, a patto ovviamente di aver
rispettato il teorema del campionamento: la formula di ricostruzione, già ricavata in precedenza,
prevede in pratica che il segnale campionato sC(t) venga moltiplicato per una funzione di risposta
all’impulso (cioè l’antitrasformata della HR(f) riportata in figura) che ha espressione
h R (t) = f C
sin (πf C t )
πf C t
Nella realtà, invece, i filtri non godono mai di questa idealità: essi possiedono una banda
passante, cioè la banda all’interno della quale lasciano passare pressoché intatto il segnale (o
comunque con una attenuazione non superiore ad un limite massimo), una banda attenuata, ossia
la banda al cui interno le componenti spettrali devono essere attenuate di una quantità superiore ad
un limite minimo tollerabile, ed una banda di transizione in cui si ha il passaggio (più o meno
rapido a seconda dell’ordine dei poli) dalla banda passante a quella attenuata:
HR(f)
f
Figura 23 - Classica funzione di trasferimento di un filtro passivo: la banda passante prevede un
modulo costante (idealmente =1) per la funzione di trasferimento; la banda attenuata prevede un modulo
costante (idealmente nullo)
La funzione di risposta all’impulso corrispondente a questo spettro non è più del tipo sin(t)/t.
Allora, quando scegliamo la frequenza di campionamento, dobbiamo necessariamente tener conto
di quale sia l’intervallo di frequenze che il filtro di ricostruzione lascia passare praticamente
invariate: nota questa informazione, dovremo fare in modo che il segnale campionato presenti la
5
la cui funzione di risposta all’impulso (pari all’antitrasformata della funzione di trasferimento) è un classico sin(f)/f
23
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
replica centrale di S(f) (quella centrata in f=0) tutta contenuta nel suddetto intervallo. Ad esempio,
andrebbe bene una scelta del tipo seguente:
HR(f)
-fC
f
− C
2
fC
2
fC
f
Le due linee tratteggiate indicano la porzione di spettro in cui è opportuno che sia allocato lo
spettro del segnale che è stato campionato e che quindi si vuol ricostruire.
Caso particolare: funzione PLOT del Matlab
Cerchiamo adesso di capire come sia fatto il filtro di ricostruzione usato dal programma Matlab;
tale filtro è rappresentato semplicemente dalla funzione PLOT del Matlab, la quale funziona nel
modo seguente: dato il vettore dei campioni ottenuti appunto dal campionamento del segnale di
partenza, la funzione riporta, sul piano cartesiano, tali campioni e poi semplicemente li unisce con
dei segmenti.
t
Figura 24 - Azione della funzione PLOT del Matlab: essa congiunge semplicemente i campioni del
segnale
In questo modo, il segnale che viene riportato sul video è una spezzata composta dai segmenti che
congiungono (e quindi interpolano) i vari campioni. E’ abbastanza intuitivo rendersi conto di come
sia fatta la risposta all’impulso di tale filtro di ricostruzione: si tratta semplicemente di un rettangolo
isoscele, di base 2TC (periodo di campionamento) e altezza unitaria:
Autore: Sandro Petrizzelli
24
Campionamento (parte I)
1
-TC
TC
t
Figura 25 - Funzione di risposta all’impulso corrispondente alla funzione PLOT
Moltiplicando ciascun triangolo per il valore del corrispondente campione e sommando i vari
prodotti, si ottiene il segnale ricostruito:
t
Figura 26 - Azione di ricostruzione esercitata da un interpolatore lineare, ossia un interpolatore
con funzione di risposta all’impulso di tipo triangolare: ogni triangolo è collocato in corrispondenza
degli istanti di campionamento ed è scalato di una quantità pari al campione cui si riferisce
Nota la funzione di risposta all’impulso, ci possiamo quindi ricavare la funzione di trasferimento
del filtro, che sarà la sua trasformata di Fourier. Per calcolare tale trasformata, ci basta tener conto
che un triangolo isoscele di base 2TC ed altezza TC è il risultato della convoluzione di due rettangoli,
centrati entrambi in t=0, di base TC ed altezza unitaria:
convoluzione
TC
1
−
TC
2
TC
2
-TC
t
TC
t
Allora, possiamo scrivere che
h MATLAB ( t ) =
1
TC

 t
rect

 TC

 t
 * rect

 TC
25



Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
dove il fattore moltiplicativo 1/TC serve ad ottenere un triangolo di altezza unitaria.
Per ottenere la corrispondente funzione di trasferimento, ci basta trasformare: al prodotto di
convoluzione nel tempo corrisponderà un prodotto, in frequenza; ricordando allora che la trasformata
sin (πTC f )
di ciascuno dei due rettangoli è TC
(quindi con gli zeri in corrispondenza di ±fC e
πTC f
multipli) otteniamo
sin 2 (πTC f )
H MATLAB ( f ) = TC
(πTC f )2
Diagrammando questa funzione, abbiamo quanto segue:
Questa funzione (con gli zeri sempre in corrispondenza di ±fC e multipli) è tutt’altro che un filtro
f 
 f
passa-basso ideale nell’intervallo − C , C  ; pur trascurando le code secondarie, che comunque
 2 2 
decrescono abbastanza rapidamente6, questo filtro presenta due problemi fondamentali:
• il primo è che esso lascia passare tutte le componenti di frequenza inferiore a fC e non a fC/2,
come sarebbe opportuno, pur applicando una attenuazione notevole a quelle comprese tra fC/2
ed fC. Questo comporta una ricostruzione del segnale, pur nell’ipotesi di aver rispettato il
teorema di campionamento, che dà un esito diverso a seconda di dove è posizionato lo spettro
del segnale che è stato campionato. Ciò che possiamo auspicare è che il segnale che è stato
campionato abbia una banda molto piccola rispetto ad fC;
• il secondo problema riguarda ancora una volta l’aliasing, secondo, però, un significato
leggermente diverso da quello considerato fino ad ora: sappiamo che lo spettro del segnale
campionato (cioè del segnale in ingresso al filtro di ricostruzione) presenta infinite repliche
dello spettro del segnale analogico di partenza, centrate in 0, ±fC, ±2fC e così via; il particolare
andamento di H MATLAB ( f ) comporta allora che le repliche centrate su ±fC vengano
parzialmente fatte passare e vadano perciò a sommarsi7 alla replica centrale (che è l’unica di
nostro interesse).
6
A questo proposito, è bene ricordare che lo smorzamento delle code della funzione sin2(f)/f2 avviene molto più rapidamente che
nella funzione sin(f)/f, data ovviamente la presenza dell’operatore “quadrato”
7
Nel discorso che stiamo facendo, la somma è diversa dalla sovrapposizione: si considerano infatti termini spettrali che vengono
effettivamente lasciati passare dal filtro, ma senza sovrapporsi ad altri termini spettrali, quindi senza generare aliasing nel
significato con cui lo abbiamo inteso fino ad ora. D’altra parte, questa somma è comunque deleteria, in quanto le informazioni di
Autore: Sandro Petrizzelli
26
Campionamento (parte I)
Per limitare al minimo entrambi questi inconvenienti, la soluzione è evidente: bisogna fare in
modo che la banda del segnale analogico che è stato campionato sia molto più piccola della
frequenza di campionamento fC. In tal modo, si ottiene un duplice risultato:
• intanto, lo spettro che ci interessa ottenere in uscita comprende frequenze che la funzione
sin 2 (πTC f )
lascia passare più o meno invariate (ricordiamo che il lobo principale della
(πTC f )2
suddetta funzione è approssimativamente piatto per le frequenze molto basse);
• in secondo luogo, le componenti spettrali, relative alle repliche centrate su ±fC vengono
sufficientemente attenuate da non procurare grossi problemi.
Possiamo renderci conto molto bene di quanto appena detto svolgendo una simulazione MATLAB
in cui il segnale da campionare sia semplicemente una sinusoide. Consideriamo, ad esempio, una
sinusoide di frequenza 500 Hz. Il teorema del campionamento ci dice che dobbiamo campionare
almeno a 1 kHz. Scegliamo, ad esempio, fC=5 kHz, cui corrisponde TC=0.2 msec. Costruiamo allora
un vettore in cui riportiamo i valori che la funzione cos(2π ⋅ 500 ⋅ t ) assume per t=kTC, dove k è
ovviamente un numero naturale positivo. Prendendo k=0,...,99, ossia costruendo un vettore di 100
campioni, Matlab fornisce la figura seguente:
Si nota subito il raccordo tra i vari segmenti, ma la ricostruzione è tutto sommato accettabile. Il
motivo è che la banda del segnale analogico originale (banda che coincide, in questo caso, con la
frequenza della sinusoide) soddisfa ai requisiti di cui si parlava prima.
Aumentiamo adesso la frequenza della sinusoide a 2 kHz, quindi abbastanza vicino al limite,
rappresentato dalla frequenza di Nyquist fC/2=2.5 kHz. Il diagramma fornito da Matlab è il seguente:
nostro interesse si compongono con altre informazioni che invece non ci interessano, per cui il risultato finale è ancora una
ricostruzione non perfetta del segnale. In questo senso, anche questo fenomeno si può descrivere come aliasing.
27
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
Questo segnale non assomiglia più ad una sinusoide: il motivo è che il filtro di ricostruzione ha
lasciato passare due componenti spettrali, una (quella di interesse) a 2 kHz e l’altra (dovuta alla
replica spettrale centrata su fC=5kHz) a 3 kHz:
SC(f)
-3 kHz -2 kHz
-fC
-5 kHz
f
− C
2
-f0
2 kHz 3 kHz
f0
fC
2
fC
f (kHz)
5 kHz
La composizione di queste componenti non è ovviamente una sinusoide pura.
Quindi, ciò che possiamo osservare è che, pur avendo rispettato il teorema del campionamento, la
ricostruzione del segnale è tutt’altro che buona semplicemente a causa della non idealità del filtro di
ricostruzione.
Tra l’altro, la figura appena riportata suggerisce come interpretare l’andamento ricavato per il
segnale ricostruito: infatti, noi abbiamo due impulsi, di ampiezza diversa (si tenga conto infatti
dell’andamento della funzione di trasferimento del tipo sin2(f)/f2), centrati simmetricamente rispetto
alla frequenza fC/2=2.5 kHz (e, ovviamente, vale il simmetrico per le frequenze negative). Uno
spettro di questo tipo è tipico di una portante sinusoidale, a frequenza 2.5 kHz, modulata
d’ampiezza, in DSB-SC (quindi con portante soppressa) da una sinusoide a 500 kHz. Abbiamo cioè
una portante alla frequenza di Nyquist modulata in DSB-SC dalla sinusoide che abbiamo campionato
all’inizio. Questo spiega l’andamento del segnale ricostruito riportato nella penultima figura.
Proseguendo adesso con la simulazione, possiamo trovare conferma di quanto detto in precedenza
e, in particolare, di quanto succede se, mantenendo costante la frequenza di campionamento,
aumentiamo la frequenza della sinusoide da campionare.
28
Autore: Sandro Petrizzelli
Campionamento (parte I)
Per esempio, se prendiamo f0=2.5kHz, ossia il limite massimo per f0, otteniamo quanto segue:
In questo caso, la scelta di f0 è tale che sia la replica centrale di S(f) (spettro della sinusoide che è
stata campionata) sia quella posizionata in fC comprendano un impulso proprio in fC/2; tali due
impulsi si sommano (costruttivamente) e danno origine al segnale appena rappresentato. Questo è il
segnale di massima frequenza che noi possiamo ricostruire; infatti, in base alle considerazioni fatte
in precedenza, se poniamo f0=3.5 kHz, anziché ottenere un ulteriore aumento di frequenza della
sinusoide in uscita, otteniamo una diminuzione:
Ovviamente, permane ancora quell’effetto di distorsione che prima abbiamo descritto come una
modulazione in DSB-SC. Per ridurre al minimo tale effetto, dobbiamo allontanare gli impulsi, il che
si ottiene prendendo ad esempio f0=4.5 kHz:
29
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
Prima di proseguire con i nostri discorsi, facciamo un’altra interessante simulazione, che in
pratica ripete quanto fatto poco fa, con la differenza di usare, come segnale da campionare, non più
un Coseno, ma un Seno. In particolare, prendiamo f0=2.5kHz, ossia il limite massimo di frequenza
imposto dal teorema del campionamento (dato che abbiamo fissato fC=5kHz). La ricostruzione
fornita da Matlab è la seguente:
Questo segnale, dall’andamento apparentemente assurdo, nasconde in realtà un “trucco”: infatti, la
scala delle ordinate è graduata in 10-14, il che significa che il segnale ricostruito è nullo. Perché? Il
motivo è evidente: la scelta di f0 è tale che sia la replica centrale di S(f) (spettro della sinusoide che è
stata campionata) sia quella posizionata in fC comprendano un impulso proprio in fC/2, ma quello
dovuto alla replica in fC è negativo (in quanto lo spettro di un Sin presenta notoriamente negativo
l’impulso a frequenza negativa), per cui compensa l’altro (la somma dei due impulsi è distruttiva) e
determina una uscita nulla.
Autore: Sandro Petrizzelli
30
Campionamento (parte I)
OSSERVAZIONE
Non sempre il fenomeno dell’aliasing è deleterio e lo possiamo comprendere con un esempio
molto semplice, legato ad una esperienza comune.
Consideriamo un albero che viene inquadrato da lontano da una telecamera: la telecamere,
descrivendo ogni quadro come un successione di righe orizzontali in numero finito e discreto,
funziona in pratica da campionatore, per cui è anch’essa soggetta al teorema del campionamento.
Data la distanza tra telecamera e albero, sul display (e quindi anche sul video su cui la telecamera
riversa le immagini) non saranno visibili le foglie dell’albero perfettamente delineate; nonostante
questo, però, l’impressione visiva è nitida. Se decidiamo di sfuocare l’immagine, agendo
sull’apposito comando della telecamera, quello che otteniamo è sicuramente inaccettabile per noi.
Sfuocare equivale semplicemente a filtrare, ossia quindi ad eliminare informazione che, in effetti, il
mezzo non è in grado di trasmettere, per cui, teoricamente, la cosa non dovrebbe darci fastidio. Al
contrario, di fastidio ne abbiamo. Il motivo è proprio legato all’aliasing: è vero che, nel momento in
cui sfochiamo, riduciamo o eliminiamo l’aliasing, ma è anche vero, evitando di sfocare, noi
possiamo aiutarci con modelli mentali precostituiti, riuscendo comunque a ricostruire nella mente le
scene che vediamo.
In altre parole, l’aliasing è deleterio solo quando produce equivocazione, altrimenti non lo è: nel
caso della trasmissione televisiva, quindi, il filtraggio anti-aliasing non viene mai effettuato,
puntando appunto su informazioni precostituite delle quali gli utenti sono già dotati e che sfruttano
per la visione.
TRASLAZIONE NEL TEMPO DEL PETTINE DI CAMPIONAMENTO
Continuiamo a parlare del teorema del campionamento e, in particolare, con riferimento al filtro
di ricostruzione usato da Matlab, vediamo quale conseguenza può avere un
eventuale traslazione temporale del pettine di campionamento a
seconda che il teorema del campionamento venga rispettato oppure no.
Ricordiamo intanto che il pettine di campionamento non è altro che la successione temporale di
impulsi (di area unitaria ed equispaziati di TC) con i quali noi rappresentiamo il comportamento di un
campionatore ideale:
+∞
s C ( t ) = s( t )g ( t ) = s( t ) ∑ δ( t − nTC )
n = −∞
Il segnale in uscita dal campionatore è il prodotto del segnale da campionare per il pettine di
campionamento: il prodotto di ciascun impulso per il segnale da campionare fornisce (teoricamente)
il valore del segnale nell’istante di applicazione dell’impulso.
Da un punto di vista pratico, noi avviamo il campionamento a partire da un certo istante t=0, ma,
in teoria, il campionamento di un segnale di durata infinita (e quindi di banda limitata, condizione
necessaria per l’applicazione del teorema del campionamento) va da -∞ a +∞.
Ci chiediamo adesso cosa succede se trasliamo, nel tempo, di una quantità ∆t il pettine di
campionamento:
g ∆t ( t ) = g( t + ∆t ) =
+∞
∑ δ( t + ∆t − nT
n = −∞
31
C
)
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
1 +∞ 
n 
 , ci basta applicare la proprietà di traslazione
δ f −
∑
TC n = −∞ 
TC 
nel tempo della trasformata di Fourier, con la quale otteniamo che
Se la trasformata di g(t) era G ( f ) =
G ∆t ( f ) = G ( f )e
j2 πf∆t
1 j2 πf∆t +∞ 
n 


=
e
δ
f
−
∑

TC
T
n = −∞ 
C 
Abbiamo cioè un termine di variazione di fase proporzionale a ∆t ed alla frequenza. Ripetendo gli
stessi ragionamenti fatti all’inizio, troviamo da qui che lo spettro del segnale campionato è
S C , ∆t ( f ) =
1 j2 πf∆t +∞ 
n 

e
S f −
∑
TC
TC 
n = −∞ 
Questo è dunque il segnale che mandiamo al filtro di ricostruzione. Quest’ultimo deve
semplicemente isolare S(f) a partire da SC(f). Idealmente, deve perciò trattarsi del solito filtro passabasso ideale di banda pari a quella del segnale: se Sr(f) è l’esito del prodotto tra SC(f) e la funzione di
trasferimento del filtro (supposto per il momento di banda generica D), abbiamo dunque che

n 
 f 
 f  j2 πf∆t +∞ 

S r , ∆t ( f ) = S C, ∆t ( f ) TC rect
S f −
 = rect
e
∑
TC 
 2D  
 2D 
n = −∞ 

Antitrasformando, possiamo supporre che l’operatore e j2 πf∆t corrispondente alla traslazione
temporale sia applicato alla funzione di trasferimento del filtro:
 +∞ 

n 
 f  j2 πf∆t 
−1

s r , ∆t ( t ) = Fourier −1 rect
e
*
Fourier

 ∑ S f −

TC 
 2D 
n = −∞ 


L’antitrasformata di SC,∆t(f) è il segnale campionato, per cui


 f  j2 πf∆t   +∞
s r , ∆t ( t ) = Fourier −1 rect
*  ∑ s(nTC )δ( t − nTC )
e

 2D 


 n = −∞
Dato che l’antitrasformata di un rettangolo di altezza TC e base 2D è 2DTC sinc(2Dt ) , per cui
+∞
 +∞

sr ,∆t (t ) =  ∑ s(nTC )δ(t − nTC ) * [2DTCsinc(2D(t + ∆t ))] = ∑ [s(nTC )δ(t − nTC )]* [2DTCsinc(2D(t + ∆t ))] =
n = −∞
n = −∞

=
+∞
∑ 2DTCs(nTC )[(δ(t − nTC ))* (sinc(2D(t + ∆t )))] =
n = −∞
+∞
∑ 2DT s(nT )(sinc(2D(t + ∆t − nT )))
n = −∞
C
C
C
Confrontando questa espressione con quella ottenuta in assenza della traslazione ∆t, si osserva che
abbiamo ottenuto lo stesso segnale ricostruito, con uno sfasamento temporale che è sempre ∆t.
Apparentemente, quindi, la matematica ci dice che la presenza della traslazione del pettine di
campionamento non porta alcuna conseguenza, se non quella di traslare, nello stesso modo, il
segnale ricostruito.
Autore: Sandro Petrizzelli
32
Campionamento (parte I)
In realtà, le cose non sono così semplici e lo possiamo vedere con ragionamenti molto più
intuitivi, facendo ricorso ancora una volta al campionamento di una sinusoide.
Consideriamo perciò una sinusoide a frequenza f0 (e periodo T0). Per rispettare il teorema del
campionamento, dobbiamo campionare almeno a 2f0, ossia, in parole povere, dobbiamo prendere
almeno 2 campioni per ogni periodo della sinusoide. Si tratta allora di capire se, qualunque sia la
posizione dei due campioni (ovviamente equispaziati di TC) nel generico periodo, la ricostruzione
del segnale sia possibile oppure no.
E’ immediato rendersi conto che la cosa più sbagliata è quella di prendere i due campioni negli
istanti t=0 e t=T0/2 (con riferimento al primo periodo della sinusoide8), ossia quando la sinusoide
vale 0: in questo caso, infatti, otteniamo solo campioni nulli, per tutta la durata del campionamento,
per cui il segnale che ricostruiremo, usando un qualsiasi filtro di ricostruzione, sarà sempre nullo.
Se invece spostiamo di ∆t il pettine di campionamento, i nostri campioni (sempre con riferimento
T
al primo periodo della sinusoide) saranno in t=∆t ed in t = 0 + ∆t e quindi saranno sicuramente ≠0.
2
In questo caso, se il filtro di ricostruzione è ideale cioè con funzione di risposta all’impulso del tipo
sin(t)/t, ci si rende conto facilmente che la ricostruzione non solo è possibile, ma è anche fedele,
quale che sia il valore di ∆t.
Quindi, nel campionamento di una sinusoide, nell’ipotesi di prendere fC=2f0 (cioè 2 campioni per
periodo) e nell’ipotesi di usare un filtro di ricostruzione ideale, la ricostruzione è sempre possibile a
patto di non campionare la sinusoide stessa negli istanti in cui vale 0: questo è l’unico caso in cui la
ricostruzione dà un segnale identicamente nullo. Se, invece, prendiamo più di due
campioni per periodo, ossia consideriamo fC>2f0, allora diventa
ininfluente quando prendiamo i campioni, ossia diventa ininfluente
la presenza di un ∆t nel pettine di campionamento.
Passiamo adesso al caso in cui il filtro di ricostruzione non è più ideale. In particolare, possiamo
far riferimento ancora una volta al filtro lineare (quindi con funzione di risposta all’impulso
triangolare) usato dalla funzione PLOT del Matlab:
1
TC
-TC
t
E’ chiaro che valgono sicuramente le stesse considerazioni fatte poco fa nel caso in cui prendiamo
fC=2f0 (cioè 2 campioni per periodo) e scegliamo i campioni esattamente negli istanti in cui la
sinusoide vale 0: abbiamo detto che, in questo caso, l’uscita del filtro di ricostruzione è comunque
nulla comunque lo stesso filtro sia fatto. Consideriamo allora altre situazioni, aiutandoci
direttamente con una simulazione.
Prendiamo una sinusoide a f0=50 Hz, che cioè compie una oscillazione completa ogni 20
millisecondi (T0=20msec). Se rispettiamo il teorema del campionamento, dobbiamo campionare
almeno a fC=100 Hz, ossia dobbiamo prendere almeno 2 campioni ogni 20 millisecondi, cioè 1
8
Data la periodicità sia del segnale da campionare sia del pettine di campionamento, il discorso vale per tutti i periodi della
sinusoide
33
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
campione ogni 10 millisecondi (TC=10msec). Se facciamo in modo che, per ogni periodo, i due
campioni corrispondano al massimo ed al minimo della sinusoide, otteniamo quanto segue:
(l’asse delle ascisse indica la numerazione dei campioni).
Come era logico aspettarsi, la funzione PLOT congiunge i punti di massimo e di minimo,
generando un’onda triangolare con lo stesso periodo della sinusoide in ingresso.
Se adesso, invece, spostiamo ancora il pettine di campionamento, per esempio anticipandolo,
l’esito della ricostruzione è il seguente:
La forma d’onda è ancora un’onda triangolare, ma di diversa ampiezza rispetto alla precedente,
dato che sono stati presi punti diversi (sia pure simmetrici rispetto all’asse orizzontale).
Abbiamo cioè mostrato, con un esempio intuitivo, che, campionando con il minimo
numero di campioni e ricostruendo il segnale con un filtro non
ideale, l’influenza della posizione temporale degli impulsi di
campionamento è notevole.
Se invece aumentiamo il numero di campioni per periodo, le cose migliorano. Ad esempio,
ripetendo le ultime due simulazioni (cioè conservando gli stessi ∆t), ma con una frequenza di
campionamento pari a 10 volte quella della sinusoide (quindi 10 campioni per periodo), i risultati
sono i seguenti:
Autore: Sandro Petrizzelli
34
Campionamento (parte I)
Le due forme d’onda, adesso, somigliano molto di più sia tra loro sia alla sinusoide di partenza.
L’unica differenza è, evidentemente, nella traslazione temporale che è diversa nei due casi.
Prima di passare ad altro argomento, possiamo fare un’altra importante osservazione: abbiamo
appena mostrato che, se ci manteniamo ben al di sopra dei limiti del teorema di campionamento (cioè
prendiamo fC>2f0), la presenza di un ∆t nel pettine di campionamento non influenza in modo
apprezzabile la ricostruzione, mentre invece l’influenza diventa molto maggiore se ci manteniamo ai
limiti del teorema del campionamento o addirittura scendiamo al di sotto, cioè aliasiamo; allora,
questo può essere un modo di capire se stiamo aliasando oppure no: data la sinusoide da campionare,
della quale non conosciamo a priori la frequenza, eseguiamo il campionamento più volte, con diversi
∆t, e poi ricostruiamo: se, ricostruendo, otteniamo praticamente sempre la stessa cosa, significa che
non c’è alias, cioè che stiamo effettivamente prendendo fC>2f0; altrimenti, se vediamo risultati
diversi al variare del ∆t, significa che stiamo aliasando, per cui dobbiamo aumentare la frequenza di
campionamento.
Questo discorso, fatto nel caso di un segnale puramente sinusoidale, può chiaramente essere
esteso a qualsiasi segnale, essendo quest’ultimo scomponibile come somma di infinite sinusoidi ed
essendo il sistema in questione di tipo lineare.
POSSIBILITÀ DI SOTTOCAMPIONAMENTO ED APPLICAZIONI
Consideriamo un segnale s(t) avente il seguente spettro S(f):
Figura 27 - Spettro di un segnale analogico passa-basso
Indicando con B la banda (monolatera) del segnale, dovremmo campionare con una frequenza di
campionamento pari almeno a 2B. Supponiamo invece di non poterci permettere questa scelta e
invece di essere obbligati a campionare proprio a fC=B. Sappiamo ormai bene che questo
35
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
sottocampionamento9 produce l’aliasing, ossia produce, nello spettro del segnale campionato, la
sovrapposizione parziale delle repliche spettrali:
Figura 28 - Campionamento del segnale di fugura 27: il mancato rispetto del teorema del
campionamento provoca la sovrapposizione delle repliche spettrali
L’effetto dell’aliasing è evidente: in banda base, cioè nell’intervallo di frequenze corrispondente
allo spettro del segnale s(t) di partenza, per alcune frequenze troviamo il termine di nostro interesse,
facente parte cioè di S(f), cui però è sommato un termine (indicato come disturbo) dovuto alla
replica adiacente. Analiticamente, possiamo cioè scrivere che, alla frequenza f in questione, lo
spettro del segnale campionato vale
S C (f ) = S(f ) + S(f − f C )
Consideriamo in questo caso solo il contributo di S(f − f C ) in quanto, in banda base (e con
riferimento solo alle frequenze positive, dato che per quelle negative vale l’esatto simmetrico)
l’unico termine di disturbo è proprio S(f − f C ) .
Ci chiediamo allora se, pur non potendo campionare a frequenza maggiore di fC=B, cioè pur non
potendo rispettare il teorema del campionamento, possiamo ugualmente sperare di ricostruire il
segnale.
La risposta a questa domanda è affermativa e si basa su uno schema di principio schematizzato
nella figura seguente:
S(f)
SC1(f)
H1 (f)
fC=B
SC2(f)
H2 (f)
fC=B
In pratica, noi prendiamo il nostro segnale s(t) e lo mandiamo in due diversi rami, in cui esso
viene elaborato da due filtri, per il momento non precisati, con funzioni di trasferimento H1(f) e
H2(f). Le uscite di questi due filtri, in termini di spettro, sono dunque rispettivamente H1(f)S(f) e
H2(f)S(f). Questi sono i due segnali che andiamo effettivamente a campionare, mediante due
campionatori (ideali) a frequenza fC=B. I due segnali campionati che così otteniamo sono entrambi
nelle condizioni descritte prima: ognuno di essi, cioè, possiede, in banda base, la replica spettrale di
9
In questo caso, dato che campioniamo a metà della frequenza minima che sarebbe necessario adottare, il sottocampionamento è di
un fattore 2.
Autore: Sandro Petrizzelli
36
Campionamento (parte I)
interesse, cui si sovrappone un disturbo, rappresentato dalla replica spettrale adiacente, centrata in fC.
Analiticamente, possiamo perciò scrivere che
S C1 (f ) = H 1 (f )S(f ) + H 1 (f − f C )S(f − f C )

S C 2 (f ) = H 2 (f )S(f ) + H 2 (f − f C )S(f − f C )
I termini dovuti all’aliasing sono dunque H 1 (f − f C )S(f − f C ) per il primo ramo e
H 2 (f − f C )S(f − f C ) per il secondo.
Il nostro obbiettivo è quello di ottenere S(f). L’unica possibilità è quella di poter ricavare S(f) ed
S(f-fC). Da un punto di vista analitico, questi due termini possono essere ottenuti semplicemente
risolvendo quel sistema. Si tratta allora di imporre che quel sistema ammetta una soluzione diversa
da quella banale, il che accade se la matrice dei coefficienti è invertibile, ossia ha determinante
diverso da zero. Ricavando allora l’espressione del suddetto determinante, otteniamo la seguente
condizione da imporre:
H 1 ( f ) H 1 (f − f C )
≠0
H 2 (f ) H 2 (f − f C )
Esplicitando, otteniamo evidentemente che
H 1 (f ) H 2 ( f − f C ) ≠ H 1 ( f − f C ) H 2 ( f ) 
→
H 1 (f )
H 2 (f )
≠
H 1 ( f − f C ) H 2 (f − f C )
Naturalmente, a noi non interessa che questa condizione sia verificata per tutte le frequenze, ma
 f f 
solo nella banda di interesse, che è − C , C  .
 2 2
Se allora imponiamo quella condizione per le suddette frequenze, ossia scegliamo i due filtri H1(f)
e H2(f) in modo da soddisfare la condizione, il sistema diventa risolvibile e riusciamo a ricavare S(f)
e S(f-fC) a partire da SC1(f) e SC2(f).
Abbiamo quindi ottenuto che, pur sottocampionando, possiamo ricavare S(f) a patto di
dimensionare opportunamente i filtri H1(f) e H2(f).
Si possono fare altre due considerazioni:
• la prima, peraltro già accennata prima, è che, nel discorso fatto, abbiamo considerato l’asialing
dovuto solo alla replica spettrale posizionata in fC; questo è dovuto proprio al fatto di aver
considerato il caso particolare di un campionamento a frequenza metà di quella imposta dal
teorema del campionamento. E’ chiaro che sottocampionando con un fattore maggiore di 2,
l’aliasing coinvolge più repliche spettrali. In generale, allora, se si sovrappongono N repliche
(quindi abbiamo preso fC=2B/N), sarà necessario fare N misure, ossia progettare N filtri H1(f),
H2(f),... ,HN(f), in modo da ottenere (a livello analitico) un sistema di N equazioni (una per
ogni ramo dello schema) nelle N incognite S(f),S(f-fC),S(f-2fC),...,S(f-(N-1)FC). In questo caso,
il determinante che deve essere imposto non nullo è dunque di ordine N;
• la seconda considerazione riguarda proprio il determinante della matrice dei coefficienti del
sistema: la condizione da imporre non è solo che esso sia diverso da zero, ma anche che sia
abbastanza grande in modulo. Il motivo è nella presenza del rumore: infatti, tenendo conto che
il determinante compare a denominatore nella soluzione del sistema, esso contribuisce di fatto
a pesare sia le componenti di segnale in uscita sia quelle di rumore; allora, se il determinante è
troppo piccolo, i termini di rumore rischiano di diventare di livello troppo elevato, mentre
37
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
sappiamo che essi vanno mantenuti al minimo livello possibile. Ottenendo un determinante
abbastanza grande, il rumore può essere mantenuto entro limiti accettabili.
Consideriamo adesso due applicazioni concrete del procedimento appena esposto.
Una prima applicazione si ottiene considerando i seguenti due filtri:
H 1 (f ) = 1
( trasduttore)
H 2 (f ) = j2πf
(derivatore)
Calcolando il determinante della matrice dei coefficienti del sistema, otteniamo
det = H 1 (f )H 2 (f − f C ) − H 1 (f − f C )H 2 (f ) = j2π(f − f C ) − j2πf = − j2πf C ≠ 0
Avendo trovato un determinante non nullo, deduciamo che i due filtri fanno al caso nostro, ossia
ci consentono di ricavare S(f).
In realtà, c’è da osservare che il filtro H2(f) non potrà mai essere un derivatore ideale e, tra l’altro,
questo è per noi un bene, in quanto, se fosse un derivatore ideale, il modulo della sua funzione di
trasferimento avrebbe il seguente andamento:
|H2 (f)|
f
Figura 29 - Funzione di trasferimento di un derivatore ideale
In questo caso, il filtro amplificherebbe anche le alte frequenze, dove però abbiamo solo rumore,
il che ovviamente non ci va bene. Allora, dato che la condizione det≠0 ci serve che sia verificata solo
fino alla frequenza di Nyquist fC/2, ci va bene un filtro con una funzione di trasferimento del tipo
seguente:
|H2 (f)|
f
fC/2
Figura 30 - Funzione di trasferimento di un derivatore reale adatto ai nostri scopi. Il disegno è
“stilizzato”, in quanto, nella pratica, l’andamento decrescente a partire da fC/2 è molto più lento
Autore: Sandro Petrizzelli
38
Campionamento (parte I)
Un altro caso che possiamo considerare è quello in cui H1(f) continua ad essere un trasduttore,
mentre H2(f) è un ritardatore:
H 1 (f ) = 1
H 2 (f ) = e − j2 πfτ
( trasduttore)
(ritardatore puro)
In questo caso, il determinante della matrice è il seguente:
(
)
det = H 1 (f )H 2 (f − f C ) − H 1 (f − f C )H 2 (f ) = e − j2 π (f −f C )τ − e − j2 πfτ = e − j2 πfτ e j2 πf C τ − 1 =
(
)
= e j2 πf C τ − 1 (cos(2πfτ) − jsin (2πfτ))
E’ evidente che, in questo caso, il determinante non si annulla mai, in quanto il primo termine tra
parentesi è una costante non nulla, mentre, per il secondo termine, la parte reale e la parte
immaginaria non si annullano mai per lo stesso valore di frequenza.
Questo però è un tipico caso in cui possiamo avere dei problemi da valori del determinante non
troppo elevati.
ESERCIZIO
Restiamo adesso sempre nell’ambito del sottocampionamento, considerando una situazione in
qualche modo legata a quanto detto nel paragrafo precedente.
Consideriamo ancora un segnale s(t) avente il seguente spettro S(f):
Se B è la banda (monolatera) del segnale, dovremmo campionare con una frequenza di
campionamento pari almeno a 2B, mentre invece supponiamo di campionare ancora una volta a
fC=B. Il risultato è ancora una volta la sovrapposizione delle repliche spettrali di S(f) di cui è
composto il segnale campionato.
Adesso supponiamo di ripetere il campionamento del segnale, con la stessa frequenza fC, ma
sfasando i campioni, rispetto ai campioni precedenti, esattamente di TC/2 secondi:
2° campionamento
1° campionamento
t
TC
39
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
Sia per il primo sia per il secondo campionamento, non avendo in alcun caso rispettato il teorema
del campionamento, i campioni ottenuti non ci danno una descrizione precisa del segnale, in quanto
portano entrambi all’aliasing descritto prima. D’altra parte, è abbastanza lecito aspettarsi che,
intercalando i due insiemi di campioni come nella prossima figura, noi otteniamo un segnale frutto di
un campionamento a frequenza doppia rispetto a quello seguito nei due campionamenti realmente
eseguiti:
campionamento a
frequenza doppia
t
TC
In questo caso, noi abbiamo rispettato il teorema del campionamento, per cui ci aspettiamo di
poter ricostruire perfettamente il segnale di partenza. Vediamo se è veramente così, sfruttando la
matematica.
Per prima cosa, dobbiamo capire come realizzare, nella pratica, i due campionamenti appena
descritti, entrambi ad una frequenza metà della frequenza richiesta dal teorema del campionamento:
S(f)
SC1(f)
H 1 (f)
fC
SC2(f)
H 2 (f)
fC
Per quanto riguarda il primo campionamento, che supponiamo parta all’istante t=0, non abbiamo
problemi, in quanto possiamo inviare al campionatore direttamente il segnale s(t). Per quanto
riguarda, invece, il secondo campionamento, abbiamo due possibilità:
• la prima è ritardare di TC/2 l’inizio del campionamento, in modo che il secondo campionatore
cominci a funzionare a partire da t=TC/2; questa scelta equivale quindi a spostare di TC il
pettine di campionamento, ma abbiamo visto che, quando siamo ai limiti o al di sotto del
teorema di campionatore, questo provoca dei grossi problemi nel caso in cui il filtro di
ricostruzione non sia ideale;
• la seconda possibilità è allora quella di spostare nel tempo il segnale s(t), prima di inviarlo al
campionatore, in modo che il campionamento abbia inizio nell’istante da noi desiderato.
Possiamo allora procedere nel modo seguente: supponendo che i due campionatori partano
nello stesso istante, non abbiamo altra possibilità se non quella di “anticipare” il segnale di
TC/2, in modo che, nell’istante in cui il campionatore del ramo inferiore parte, prelevi, come
primo campione, quello a t=TC/2.
Autore: Sandro Petrizzelli
40
Campionamento (parte I)
S(f)
SC1(f)
Q
fC
SC2(f)
ritardo
Q
TC/2
fC
Fissato dunque il modo di operare, possiamo procedere all’analisi analitica.
Per quanto riguarda il ramo superiore, non abbiamo da fare passaggi diversi da quelli svolti fin
qui, per cui scriviamo direttamente che il segnale campionato è
+∞
sC1 ( t ) = s( t ) ∑ δ( t − nTC ) infrequenza
 → SC1 (f ) =
n = −∞
1
TC
+∞

n = −∞

n 

C 
∑ S f − T
dove ricordiamo che TC è il periodo di campionamento prescelto, pari al doppio di quello che in
realtà ci servirebbe per rispettare il teorema del campionamento.
Per quanto riguarda, invece, il ramo inferiore, abbiamo detto che dobbiamo anticipare s(t) in
modo da prelevare, come primo campione, quello relativo all’istante t=TC/2: ciò significa,
evidentemente, anticipare il segnale di TC/2, per cui il segnale campionato è
T
+∞
j2 πf C

n
 TC  +∞
in frequenza
2
sC2 (t) = s t +  ∑δ(t − nTC ) →SC2 (f ) = S(f )e
* ∑ δ f − 
2 n=−∞
TC 

n=−∞ 
E’ immediato rendersi conto di quale sia il risultato di quel prodotto di convoluzione:

n 
1 +∞ 
n  jπ f −TC TC 1 +∞ 
n
SC2 (f ) =
S f − e
=
S f − e jπfTC e jπn
∑
∑
TC n=−∞  TC 
TC n=−∞  TC 
jπn
Il termine esponenziale (complesso) e , se sviluppato in forma trigonometrica (cioè come
somma di un coseno e di un seno in quadratura) vale (-1)n, per cui concludiamo che
SC2 (f ) =

1 +∞
n
(−1)n S f − e jπfTC
∑
TC n=−∞
 TC 
A questo punto, dati i due segnali campionati, dobbiamo intercalarli nel modo descritto prima:
41
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
2° campionamento
1° campionamento
t
TC
Si tratta allora di sommare sC1(t) e sC2(t), dopo aver però ritardato quest’ultimo, nel tempo,
nuovamente di TC/2:
T
1 +∞ 
n  1 − j2πf 2C +∞
n  jπfTC
 T
n 



sC1 (t) + sC2  t −  infrequenza
→STOT(f ) =
S
f
−
+
e
(
−
1
)
S
f
−
∑
∑
 T e
TC n=−∞  TC  TC
 2
n=−∞
C

E’ evidente che, nella seconda sommatoria, i due esponenziali si elidono, per cui abbiamo quanto
segue:
1 +∞ 
n  1 +∞
n  1 +∞  
n
n 
n 
n 







STOT(f ) =
S
f
(
1
)
S
f
S
f
(
1
)
S
f
+
−
−
=
−
+
−
−
−
∑
∑
 T 
 T  T ∑  T 
TC n=−∞  TC  TC n=−∞
C
C n=−∞  
C
C 


dove abbiamo tenuto conto del fatto che le due sommatorie usano lo stesso indice e lo stesso
intervallo di valori.
A questo punto, si tratta di capire cosa accade ai termini della sommatoria al variare di n: si
osserva allora facilmente che il termine (-1)n fa in modo che i termini con n dispari si elidano,
mentre quelli con n pari si sommino, dando perciò come risultato finale lo spettro
STOT(f ) =
2 +∞  2n 
∑ Sf − 
TC n=−∞  TC 
Questo segnale è proprio quello ottenibile campionando s(t) a passo TC/2, ossia a frequenza
doppia di quella usata realmente dai due campionatori. Abbiamo cioè ottenuto quello che volevamo,
ossia adottare due sottocampionamenti, opportunamente spostati nel tempo uno rispetto all’altro, per
giungere ad un unico segnale campionato che rispetti il teorema del campionamento.
Facciamo osservare che questo modo di procedere vale in generale, non solo quando prendiamo
TC pari a metà di quanto imposto dal teorema del campionamento. In altre parole, possiamo adottare
questo procedimento anche quando scegliamo un TC che rispetti il teorema del campionamento: il
vantaggio è in ogni caso quello di campionare a frequenza metà.
Non solo, ma nessuno ci impedisce di estendere lo schema, aggiungendovi più rami, in modo da
ridurre ulteriormente la frequenza di lavoro di ciascun campionatore: ad esempio, se usassimo 4
rami, potremmo permetterci di campionare ad un periodo TC che sia 4 volte più piccolo di quello
richiesto del teorema del campionamento:
Autore: Sandro Petrizzelli
42
Campionamento (parte I)
S(f)
Q
fC
ritardo
Q
TC/2
fC
ritardo
Q
TC/3
fC
ritardo
Q
TC/4
fC
E’ evidente che la struttura da realizzare è tanto più complessa quanto maggiore è il numero di
rami, tenendo anche conto che, in sede di ricostruzione, servirà anche la circuiteria necessaria ad
intercalare, nel modo opportuno, i vari segnali campionati.
D’altra parte, il vantaggio è proprio quello di poter usare campionatori più lenti, tanto più lenti
quanto maggiore è il numero di rami.
Da notare anche che i maggiori benefici, in questo schema, sono tratti dai quantizzatori: infatti, si
suppone di dover usare uno schema di questo tipo solo perché non si può disporre di campionatori
più veloci, per cui i campionatori stessi lavorano comunque al massimo delle proprie prestazioni; al
contrario, i quantizzatori si trovano a dover funzionare a frequenza minore, tanto minore (ancora una
volta) quanto maggiore è il numero di rami.
OSSERVAZIONE: POSSIBILITÀ DI NON USARE IL CAMPIONATORE
Sappiamo bene che la conversione di un segnale da analogico a digitale prevede essenzialmente
due passi: il campionamento, con tutte le considerazioni fatte nei precedenti paragrafi, e la
successiva quantizzazione, secondo lo schema seguente:
s(t)
SC(f)
Filtro
anti-alias
Q
Registro
fC
Se ci poniamo nel caso ideale, il campionatore tira fuori dei numeri (delle misure) che il
quantizzatore provvede a convertire in gruppi di bit da immagazzinare in un apposito registro.
Ci sono dei casi in cui si può pensare di evitare l’uso del campionatore. Consideriamo infatti
come funziona il quantizzatore: esso riceve un segnale elettrico, fornito dal classico dispositivo a
campionamento e tenuta, e lo converte in bit; questo segnale elettrico, mantenuto costante dal
campionatore per un certo intervallo di tempo (pari al periodo di campionamento TC) rappresenta il
43
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
valore del segnale nell’istante di campionamento considerato; allora, se siamo nelle condizioni per
cui, durante un intervallo temporale di durata TC, il segnale s(t) non cambia, il campionatore diventa
inutile, in quanto il quantizzatore riceve comunque un valore costante in ingresso. In questo caso,
quindi, ci basta effettuare una regolazione elettronica del registro che riceve i bit dal quantizzatore.
Quindi, nel caso di segnali abbastanza lenti rispetto al periodo di campionamento che si è scelto,
possiamo anche non usare il campionatore, la cui funzione è resa superflua dal fatto, appunto, che il
segnale varia pochissimo in ciascun periodo TC.
Ovviamente, laddove il segnale s(t) subisca variazioni apprezzabili in ciascun periodo TC, allora
non possiamo proprio fare a meno del dispositivo che misura s(t) stesso negli istanti di
campionamento.
EFFETTI DELLA NON-IDEALITÀ DEL CAMPIONATORE
Riprendiamo nuovamente la formula matematica con cui abbiamo espresso il segnale campionato,
ossia il segnale all’uscita dal campionatore:
s C (t) =
+∞
+∞
n = −∞
n = −∞
∑ s(nTC )δ(t − nTC ) = s(t) ∑ δ(t − nTC )
Si tratta del prodotto tra il segnale analogico da campionare ed il cosiddetto pettine di
campionamento. Quest’ultimo è una successione di infiniti (teoricamente) impulsi che servono a
prelevare, negli istanti di campionamento prescelti, i campioni del segnale s(t). In pratica, quindi, il
pettine di campionamento rappresenta il comportamento del campionatore, che, ogni TC secondi,
preleva il valore assunto dal segnale. L’uscita del campionatore è il segnale sC(t) costituito da una
forma d’onda che, in ogni istante, assume il valore di s(t) in quello stesso istante.
Questo ragionamento, sul quale noi abbiamo basato i discorsi di tutti i precedenti paragrafi, si
fonda dunque sull’ipotesi di avere a disposizione un campionatore ideale, che legga
istantaneamente il valore di s(t) negli istanti prescelti per il campionamento. Se volessimo
rappresentare, a livello circuitale, questo dispositivo, potremmo farlo nel modo seguente:
Il generatore rappresenta il segnale s(t) a campionare. L’interruttore ed il condensatore modellano
invece il campionatore: quando l’interruttore si chiude, la tensione ai capi del condensatore assume il
valore assunto da s(t); se l’interruttore ha una chiusura istantanea10, la tensione sul condensatore si
mantiene costante, sul valore letto all’atto della chiusura dell’interruttore, fino alla successiva
lettura. Si tratta perciò del classico dispositivo a campionamento e tenuta, nel senso che
l’uscita del dispositivo è un valore di tensione che si mantiene costante dopo ogni chiusura
dell’interruttore.
10
cioè si chiude e si riapre dopo appena un istante
Autore: Sandro Petrizzelli
44
Campionamento (parte I)
L’analisi circuitale di quel circuito porta all’espressione di sC(t) prima riportata solo nell’ipotesi in
cui tutti e 3 gli elementi presenti siano ideali, il che non avviene mai. Cerchiamo allora di capire
cosa accade quando l’interruttore ed il condensatore non sono ideali11.
Dire che l’interruttore (cioè il campionatore) non è ideale significa dire che, una volta chiuso, esso
non si riapre istantaneamente, ma rimane chiuso per un certo intervallo di durata τ. Se il
condensatore fosse ideale, non avremmo molta differenza rispetto a prima, in quanto la tensione a
cui il condensatore rimane carico, dopo che l’interruttore si è finalmente aperto, sarebbe quella
dell’istante precedente all’apertura stessa. In realtà, nemmeno il condensatore è ideale: nel
complesso, succede che l’operazione di campionamento non sia più una
lettura istantanea dei valori assunti da s(t), ma una media
temporale di s(t) nell’intervallo di durata τ.
In parole povere, il campionatore reale si comporta ancora come un dispositivo a tenuta, che cioè
mantiene invariato il valore della tensione in uscita fino al successivo istante di campionamento, ma
tale valore non è quello istantaneo di s(t) nell’istante kTC (con k generico), ma una media temporale
di s(t) compiuta nell’intervallo [kTC , kTC + τ] . Mentre, quindi, a livello ideale, dovremmo ottenere,
per il k campione, che s C (k ) = s(kTC ) , nella realtà ciò che otteniamo è
kTC
~s (k ) = 1 s( t )dt
C
τ kT∫C − τ
L’interruttore si apre effettivamente in kTC, rilasciando un certo valore di tensione, ma effettua la
misura per un intervallo τ, per cui fa una media di s(t) in tale intervallo e la fornisce come
campione12.
Cerchiamo allora di capire, sulla base di queste considerazioni, come sia fatto realmente il segnale
in uscita dal campionatore. Ci basta, in fin dei conti, ricavare la funzione di risposta all’impulso del
campionatore.
In pratica, il campionatore moltiplica il segnale s(t) in ingresso non più per un pettine di impulsi
ideali, per un pettine di impulsi rettangolari di altezza unitaria e durata τ:
τ
TC
t
t
τ
Figura 31- Schematizzazione del funzionamento di un campionatore reale: il campionatore ha un
tempo di chiusura non infinitesimo (per quanto piccolo) e questo è modellabile tramite un pettine di
campionamento formato da impulsi rettangolari di durata τ (che, ovviamente, dovrà essere quanto più
piccolo possibile rispetto al periodo di campionamento TC)
11
Per quanto riguarda il generatore, trattarlo come ideale significa assumere nulla la resistenza serie (oppure infinita la resistenza
parallelo se consideriamo la rappresentazione di Norton, ossia mediante il generatore di corrente).
12
Esteso il discorso a tutta la durata del campionamento, possiamo dire che il campionatore esegue una media temporale a
finestra mobile, dove tale finestra dura τ secondi.
45
Autore: Sandro Petrizzelli
Appunti di “Elaborazione numerica dei segnali” - Capitolo 1
E’ facile verificare che la funzione di risposta all’impulso di questo dispositivo è un rettangolo, di
durata τ ed altezza 1/τ (quindi di area unitaria) che comincia in t=0:
Figura 32- Risposta all’impulso e corrispondente funzione di trasferimento di un campionatore reale
Infatti, indicando con h(t) la suddetta risposta all’impulso (rappresentata nella figura insieme al
suo spettro), si ha evidentemente che l’uscita del dispositivo, calcolata come convoluzione
dell’ingresso s(t) per h(t), è
+∞
+∞
t
1
1
=
=
α
−
α
α
=
α
−
α
α
=
u ( t ) s( t ) * h ( t ) ∫ s( )h ( t
)d
s( ) h ( t
)d
s(α)dα
∫
∫
τ
τ
−∞
−∞
t −τ
Calcolando questa funzione in t=kTC, si ottiene proprio
kT
1 C
u ( t = kTC ) =
s(α)dα = ~sC (k )
τ kT∫C − τ
Nota la risposta all’impulso, è nota anche la funzione di trasferimento, la quale, come sappiamo e
come è indicato nella figura precedente, è ancora una volta del tipo sin(f)/f, con il primo zero in 1/τ.
Siamo allora in grado di capire quale effetto abbia il campionatore non ideale sul nostro segnale:
l’effetto di un filtraggio passa-basso. Se vogliamo che tale effetto sia minimo, abbiamo una sola
possibilità: fare in modo che le componenti spettrali del segnale s(t) in ingresso siano concentrati
nella regione di H(f) maggiormente piatta, ossia alle basse frequenze: questo significa richiedere la
condizione
1
B <<
τ
dove ovviamente B è la banda (monolatera13) di s(t).
D’altra parte, l’importanza di questa condizione si può capire, in modo molto intuitivo, nel tempo:
1
1
infatti, la condizione B << equivale anche a τ << , il che significa che il tempo di chiusura
B
τ
dell’interruttore deve essere sufficientemente più piccolo delle variazioni temporali del segnale s(t).
In questo modo, se cioè il segnale subisce solo una minima variazione durante l’intervallo di durata
τ, la media su tale intervallo sarà un’ottima approssimazione del segnale; al contrario, se il segnale
subisse notevoli variazioni durante l’intervallo τ, la media temporale sarebbe una descrizione
13
Per “monolatera” intendiamo semplicemente la massima frequenza positiva del segnale.
Autore: Sandro Petrizzelli
46
Campionamento (parte I)
estremamente povera (il che corrisponde appunto ad un effetto passa-basso, cioè a non tenere traccia
delle alte frequenze).
A questo punto, avendo capito quale effetto abbia il campionamento non ideale sul segnale s(t),
possiamo proporre un modello molto semplice del campionatore stesso: possiamo pensarlo, infatti,
come la cascata di un filtro passa-basso con funzione di trasferimento del tipo sin(f)/f e di un
campionatore ideale:
s(t)
sC(t)
s(t)
sC(t)
τ
t
fC
fC
In questo modo, riusciamo a dare ancora una descrizione del segnale in uscita come prodotto di
una forma d’onda analogica sF(t) per un pettine di impulsi ideali di campionamento, dove però la
forma d’onda analogica sF(t) tiene conto dell’effetto passa-basso subito dal segnale originale s(t).
Per concludere con questo argomento, possiamo considerare un primo tipo di applicazione di
tecniche numeriche: abbiamo detto che il campionatore reale ha un effetto passa-basso sul segnale
s(t) da campionare; misurare l’intervallo di chiusura τ del campionatore non è difficile, per cui noi
siamo in grado di conoscere, con buona precisione, la funzione di trasferimento del campionatore e
quindi conosciamo l’attenuazione subita dalle varie componenti di s(t). Possiamo allora pensare,
dopo che è stata effettuata la numerizzazione del segnale, di compensare la suddetta attenuazione:
s C(t)
s(t)
τ
t
Q
DSP
fC
Con tecniche numeriche siamo in grado di riportare su le componenti spettrali che sono state
precedentemente attenuate. Ovviamente, c’è un problema, legato al rumore: infatti, con questa
operazione numerica, è vero che riusciamo a compensare l’attenuazione sul segnale, ma è anche vero
che sagomiamo il rumore in modo da esaltare le alte frequenze14. Allora, questa operazione numerica
può dare risultati apprezzabili solo quando l’attenuazione che si deve compensare è di pochi dB,
altrimenti si corre il rischio di esaltare eccessivamente il rumore. D’altra parte, ci possono essere dei
casi, come quello del segnale televisivo, nei quali il rumore in alta frequenza dà molto meno fastidio
di quello in bassa frequenza, per cui una esaltazione delle alte frequenze di rumore potrebbe
comunque essere tollerabile: noi ricaveremmo un miglioramento del segnale utile ed un
peggioramento del rumore che però non percepiamo, per cui non ci dà alcun fastidio.
Autore: SANDRO PETRIZZELLI
e-mail: [email protected]
sito personale: http://users.iol.it/sandry
succursale: http://digilander.iol.it/sandry1
14
Infatti, il segnale digitalizzato è sempre la sovrapposizione del segnale utile e dell’immancabile rumore: non essendo possibile
distinguere i due segnali, l’operazione di compensazione dell’attenuazione comporta l’esaltazione delle alte frequenze sia sul
segnale sia sul rumore; sul segnale, l’operazione ci va bene, in quanto appunto compensa l’attenuazione introdotta
precedentemente, mentre sul rumore non ci va bene.
47
Autore: Sandro Petrizzelli