07.06.2013 Visualizzazioni

Lezione 2 - Campionamento e aliasing

Lezione 2 - Campionamento e aliasing

Lezione 2 - Campionamento e aliasing

SHOW MORE
SHOW LESS

Trasformi i suoi PDF in rivista online e aumenti il suo fatturato!

Ottimizzi le sue riviste online per SEO, utilizza backlink potenti e contenuti multimediali per aumentare la sua visibilità e il suo fatturato.

<strong>Lezione</strong> 2.<br />

<strong>Campionamento</strong> e Aliasing<br />

F. Previdi - Controlli Automatici - Lez. 2 1


Schema della lezione<br />

1. Introduzione<br />

2. Il campionatore ideale<br />

3. Trasformata di un segnale campionato<br />

4. Teorema del campionamento<br />

5. Aliasing<br />

6. Filtraggio anti-<strong>aliasing</strong><br />

F. Previdi - Controlli Automatici - Lez. 2 2


1. Introduzione<br />

Il campionamento di un segnale misurato è alla base della<br />

possibilità di implementare un sistema di controllo in retroazione.<br />

Tale operazione è indispensabile se si vuole implementare un<br />

algoritmo di controllo su un processore o un microcontrollore, che<br />

opera su valori numerici binari.<br />

E’ noto che l’operazione di campionamento comporta in generale una<br />

perdita di informazione, dovuta alla trasformazione del segnale<br />

misurato (a tempo continuo) in un insieme di valori numerici binari<br />

descritti con un numero finito di bit.<br />

L’analisi della relazione tra il segnale a tempo continuo e la sua<br />

controparte ottenuta per campionamento sarà effettuata nel dominio<br />

delle frequenze.<br />

F. Previdi - Controlli Automatici - Lez. 2 3


2. Il campionatore ideale<br />

e(t)<br />

e*(k)<br />

e*(0)<br />

e*(1)<br />

e*(2)<br />

e*(4)<br />

e*(3)<br />

e*(5)<br />

e*(6)<br />

e*(7)<br />

e*(8)<br />

0 T1 22T 33T 44T 55T 6T 6 77T 8T 8<br />

e*(k) è un numero reale per ogni k<br />

e(t)<br />

T è il periodo (o tempo) di campionamento<br />

e*(k)=e(kT)<br />

F. Previdi - Controlli Automatici - Lez. 2 4<br />

t<br />

A/D e*(k)<br />

k


Nota<br />

• E’ evidente che l’operazione di campionamento comporta<br />

una perdita di informazione, poichè si pretende di concentrare<br />

l’informazione contenuta in una porzione di una funzione reale<br />

di variabile reale in un numero finito di numeri reali.<br />

• Si parla di campionatore ideale, perchè si suppone che i campioni<br />

siano numeri reali. In realtà, sono numeri rappresentati in codice<br />

binario con un numero finito di bit. Ciò comporta una ulteriore<br />

perdita di informazione rappresentata dal cosiddetto<br />

errore (o rumore) di quantizzazione.<br />

1<br />

• Frequenza di campionamento fs =<br />

T<br />

2π<br />

• Pulsazione di campionamento ωs<br />

= 2πf<br />

s =<br />

T<br />

F. Previdi - Controlli Automatici - Lez. 2 5


3. Trasformata di un segnale campionato<br />

Si consideri un segnale a tempo continuo f t . Per<br />

campionamento ideale con periodo T si ottiene il<br />

corrispondente segnale campionato f k<br />

*<br />

= f kT<br />

Per comprendere che relazione c’è tra questi due segnali è bene<br />

analizzare la relazione tra le loro trasformate di Fourier:<br />

( jω)<br />

( )<br />

F ( jθ<br />

F e ) *<br />

F t<br />

Cfr. “Richiami di analisi armonica”<br />

( )<br />

( )<br />

= [ f ( ) ]<br />

= F * [ f ( k)<br />

] *<br />

F. Previdi - Controlli Automatici - Lez. 2 6


Teorema F*<br />

Si consideri un segnale a tempo continuo f t e lo si campioni con<br />

tempo di campionamento T.<br />

( )<br />

( )<br />

Sia f t una funzione continua negli istanti di campionamento.<br />

Sia f k il segnale a tempo discreto ottenuto per campionamento.<br />

*<br />

Allora risulta<br />

1<br />

T<br />

( jωT<br />

e ) = F ( jω)<br />

*<br />

F s<br />

dove F ( j ) = F(<br />

j(<br />

ω + hω<br />

) )<br />

s<br />

∑ +∞<br />

ω<br />

h=<br />

−∞<br />

Nota F( jω)<br />

è la trasformata di Fourier di f ( t)<br />

jθ<br />

F e<br />

* è la trasformata di Fourier di f ( k)<br />

*<br />

( )<br />

s<br />

( )<br />

con<br />

2π<br />

T<br />

F. Previdi - Controlli Automatici - Lez. 2 7<br />

ω<br />

s<br />

=


Dimostrazione<br />

Per definizione di trasformata di Fourier si ha<br />

Ricordando che<br />

+∞<br />

( x ) ∫ 0 g(<br />

x)<br />

imp(<br />

x − x )<br />

= dx<br />

g 0<br />

−∞<br />

− jkωT<br />

si può scrivere: ( ) ∫<br />

− jωt<br />

f kT e = f ( t)<br />

e imp(<br />

t − kT ) dt<br />

Quindi:<br />

( ) ( )<br />

*<br />

Quindi, siccome f k = f kT si ha<br />

F *<br />

( j T<br />

e ) f ( kT )<br />

∑ +∞<br />

ω<br />

=<br />

k = −∞<br />

+∞<br />

+∞<br />

+∞<br />

−∞<br />

e<br />

− jkωT<br />

( jωT<br />

) − jωt<br />

e<br />

f ( t)<br />

e ( t − kT )<br />

∑ ∫<br />

=<br />

k = −∞ −∞<br />

+∞<br />

− jωt<br />

*<br />

F imp<br />

+∞ ⎡<br />

= ∫ f ⎢ ∑<br />

⎣<br />

−∞<br />

k = −∞<br />

F. Previdi - Controlli Automatici - Lez. 2 8<br />

F<br />

⎤<br />

⎥<br />

⎦<br />

dt<br />

( t)<br />

e imp(<br />

t − kT ) dt<br />

*<br />

( j T ) *<br />

e f ( k)<br />

∑ +∞<br />

ω<br />

=<br />

k = −∞<br />

=<br />

approfondimento<br />

e<br />

− jkωT


∑ +∞ = k<br />

k = −∞<br />

La funzione ( t)<br />

= ( t − kT )<br />

nota la serie di Fourier:<br />

Si ha quindi:<br />

F<br />

*<br />

c imp è il treno di impulsi, di cui è<br />

+∞<br />

c<br />

1<br />

T<br />

( ) ∑ +∞<br />

t =<br />

h=<br />

−∞<br />

( jωT<br />

) − jωt<br />

jhωst<br />

− j(<br />

ω−hωs<br />

)<br />

e = f ( t)<br />

e e dt = f ( t)<br />

e<br />

∫ ⎢ ∑<br />

−∞<br />

+∞<br />

∫<br />

−∞<br />

⎡ 1<br />

⎣T<br />

+∞<br />

h=<br />

−∞<br />

e<br />

⎤<br />

⎥<br />

⎦<br />

ω<br />

jh s<br />

t<br />

1<br />

T<br />

+∞<br />

∑ ∫<br />

h=<br />

−∞ −∞<br />

− j( ω−hωs<br />

) t<br />

Si osservi che f ( t)<br />

e dt è la trasformata di Fourier di f ( t)<br />

ω F( j(<br />

ω − hω<br />

) )<br />

valutata in − hω , ovvero<br />

s<br />

s<br />

F. Previdi - Controlli Automatici - Lez. 2 9<br />

+∞<br />

approfondimento<br />

t<br />

dt


Si ha quindi infine:<br />

Nota<br />

+∞ +∞<br />

* 1<br />

1<br />

s F<br />

F s<br />

( )<br />

( jωT<br />

) − j(<br />

ω−hω<br />

) t<br />

e = f ( t)<br />

e dt = F j(<br />

ω − hω<br />

)<br />

( jω)<br />

T<br />

∑ ∫<br />

h=<br />

−∞ −∞<br />

= ∑ +∞ 1<br />

T<br />

h=<br />

−∞<br />

F<br />

è: • simmetrica<br />

1<br />

T<br />

T<br />

+∞<br />

∑<br />

h=<br />

−∞<br />

( j(<br />

ω + hω<br />

) ) ≡ F ( jω)<br />

• periodica di periodo<br />

s<br />

ωs<br />

Quindi è sufficiente conoscerla in 0,<br />

ωN<br />

,<br />

ωs<br />

dove ωN<br />

= è la pulsazione di Nyquist.<br />

2<br />

s<br />

[ ]<br />

approfondimento<br />

F. Previdi - Controlli Automatici - Lez. 2 10<br />

s<br />

=


Questo teorema fornisce la relazione tra le trasformate di<br />

Fourier dei segnali di ingresso e di uscita di un campionatore<br />

ideale periodico. In particolare, tale legame è definito<br />

dall’andamento di F ( jω)<br />

e quello di Fs ( jω)<br />

sull’intervallo<br />

0,<br />

jω dell’asse immaginario.<br />

[ ]<br />

s<br />

E’ possibile dare una visualizzazione grafica di tale legame<br />

che consente di comprendere in profondità il fenomeno<br />

dell’<strong>aliasing</strong>.<br />

F. Previdi - Controlli Automatici - Lez. 2 11


F ( ) ( )<br />

Relazione tra jω<br />

e F jω<br />

. s<br />

F ( ) ( ) ( ( ) )<br />

Qual è il legame tra jω<br />

e F j = F j ω + hω<br />

?<br />

s<br />

∑ +∞<br />

ω<br />

h=<br />

−∞<br />

Si facciano le seguenti due ipotesi che consentono di dare una<br />

interessante interpretazione grafica del loro legame:<br />

( )<br />

( )<br />

• F jω<br />

è reale (in generale è complessa);<br />

• F jω<br />

è a banda limitata (con banda 0, ω ).<br />

F<br />

( jω)<br />

ω ω<br />

max<br />

F. Previdi - Controlli Automatici - Lez. 2 12<br />

s<br />

[ ]<br />

max


Il generico termine di Fs si ottiene da F traslandola della quantità hωs con h intero relativo.<br />

F( j(<br />

ω<br />

+ hω<br />

) )<br />

h = 2<br />

s<br />

h = 1 h = 0 h = −1<br />

h = −2<br />

ω ω<br />

− 2ωs − ωs<br />

N ωs<br />

s ω 2<br />

− 3ωN<br />

− ωN<br />

3ωN<br />

Il valore di Fs si ottiene sommando i contributi di tutti gli addendi<br />

per ogni ω.<br />

Fs ( jω)<br />

ω ω<br />

− 2ωs − ωs<br />

N ωs<br />

s ω 2<br />

− 3ωN<br />

− ωN<br />

3ωN<br />

F. Previdi - Controlli Automatici - Lez. 2 13


Come si nota, la funzione Fs che si ottiene è diversa dalla F<br />

nell’intervallo [ − ωN<br />

, ωN<br />

] . Ciò è dovuto al fatto che F(<br />

jω)<br />

è non nulla<br />

per ω ≥ ω .<br />

N<br />

( )<br />

In questo caso le armoniche non nulle di F jω<br />

per ω ≥ ωN<br />

contribuiscono allo spettro di Fs ( jω)<br />

per ω<br />

≤ ωN<br />

: è il fenomeno del<br />

frequency folding, che è all’origine dell’<strong>aliasing</strong>.<br />

F. Previdi - Controlli Automatici - Lez. 2 14


( j(<br />

ω + h ) )<br />

F ω<br />

− ωs<br />

N ω −<br />

s<br />

( )<br />

ω<br />

j<br />

F s<br />

− ωs<br />

− ωN<br />

h = 0<br />

ω ω<br />

ω<br />

N<br />

N<br />

s<br />

ω ω<br />

ω<br />

s<br />

F. Previdi - Controlli Automatici - Lez. 2 15


( )<br />

Per evitare che ciò accada è sufficiente che F jω<br />

sia nulla per N . ω ≥ ω<br />

F( j(<br />

ω<br />

+ hω<br />

) )<br />

h = 1<br />

h = 0<br />

h = −1<br />

− ω<br />

ωN ωs<br />

ω<br />

Fs ( jω)<br />

h = 1<br />

h = 0<br />

h = −1<br />

− ωs<br />

N<br />

− ω<br />

− ωs<br />

N<br />

s<br />

ωN ωs<br />

ω<br />

E’ quindi fondamentale scegliere accuratamente il valore di ωN<br />

,<br />

in modo da rispettare tale condizione.<br />

F. Previdi - Controlli Automatici - Lez. 2 16


4. Teorema del campionamento<br />

Teorema<br />

( )<br />

Sia f t un segnale a banda limitata con pulsazione massima ω .<br />

Utilizzando un periodo di campionamento T tale che<br />

si ha che:<br />

F<br />

( jω)<br />

⎧Fs<br />

= ⎨<br />

⎩0<br />

,<br />

* ( ) ( jωT<br />

jω<br />

= TF e )<br />

ω max<br />

jωT<br />

Pertanto, la conoscenza di F e nell’intervallo 0,<br />

ωN<br />

consente<br />

di determinare univocamente F ( jω)<br />

, cioè il segnale f ( t)<br />

può essere ricostruito esattamente a partire<br />

dai suoi campioni f k<br />

*<br />

=<br />

f kT<br />

( )<br />

,<br />

0<br />

ω<br />

≤ ω ≤ ω<br />

><br />

ω<br />

* ( )<br />

[ ]<br />

( )<br />

ωN<br />

max<br />

F. Previdi - Controlli Automatici - Lez. 2 17<br />

N<br />

N<br />


Formula di Shannon<br />

Come è possibile calcolare t nota che sia f k ?<br />

*<br />

Dal momento che<br />

F<br />

( jω)<br />

⎧TF<br />

= ⎨<br />

⎩0<br />

*<br />

f ( )<br />

( )<br />

( jωT<br />

e )<br />

è possibile calcolare l’antitrasformata:<br />

f<br />

( t)<br />

1<br />

2π<br />

+∞<br />

1<br />

2π<br />

+ ω<br />

per − ωN<br />

≤ ω ≤ ωN<br />

altrove<br />

N<br />

jωt<br />

jωt<br />

( jω)<br />

e dω<br />

= F(<br />

jω)<br />

e dω<br />

=<br />

= ∫ F ∫<br />

−∞<br />

+ ω<br />

−ω<br />

N<br />

N +∞<br />

T *<br />

1 ⎛<br />

⎞ t<br />

F<br />

( )<br />

2π<br />

2ωN<br />

⎝ k = −∞ ⎠<br />

N<br />

+ ω<br />

( jωT<br />

) jωt<br />

− jωkT<br />

jω<br />

e e dω<br />

= ⎜ f k e ⎟e<br />

dω<br />

=<br />

*<br />

= ∫ ∑<br />

∫<br />

=<br />

−ω<br />

N<br />

−ω<br />

+∞<br />

+ ωN<br />

+∞<br />

1<br />

∑ ∫<br />

− jωkT<br />

jωt<br />

f ( k)<br />

e e dω<br />

= ∑<br />

k = −∞ 2ωN<br />

−ω<br />

k = −∞<br />

* f ( k)<br />

*<br />

N<br />

N<br />

1<br />

2ω<br />

( t−kT<br />

)<br />

F. Previdi - Controlli Automatici - Lez. 2 18<br />

N<br />

+ ω<br />

∫<br />

−ω<br />

N<br />

N<br />

e<br />

jω<br />


Calcolando l’ultimo integrale si ottiene la nota<br />

formula di Shannon<br />

f<br />

( t)<br />

= ∑ ∞ +<br />

f<br />

k = −∞<br />

*<br />

( k)<br />

sin<br />

ω<br />

( ω t − kπ)<br />

N<br />

N<br />

t − kπ<br />

f ( )<br />

( )<br />

Si noti che t dipende da tutta f k (la formula non è<br />

causale e quindi non può essere usata “in linea”).<br />

*<br />

Il problema della conversione D/A è un’altra faccenda...<br />

F. Previdi - Controlli Automatici - Lez. 2 19


5. Aliasing<br />

Se non fossero valide le ipotesi del teorema del campionamento, il<br />

problema dell’esatta ricostruzione di un segnale a tempo continuo a<br />

partire dalla conoscenza dei suoi campioni sarebbe un problema mal<br />

posto, in quanto esisterebbero infinite ricostruzioni ammissibili per il<br />

segnale a tempo continuo.<br />

Quando si verificano tali condizioni si ha il fenomeno dell’<strong>aliasing</strong>.<br />

Per evitare questo fenomeno è sufficiente che il segnale da<br />

campionare soddisfi le ipotesi del teorema del campionamento.<br />

Altrimenti, per effetto del frequency folding, si troverebbero<br />

componenti armoniche in bassa frequenza dovute ad <strong>aliasing</strong> di<br />

componenti armoniche a frequenza superiore alla frequenza di<br />

Nyquist.<br />

F. Previdi - Controlli Automatici - Lez. 2 20


Il campionamento introduce nel segnale campionato nuove<br />

frequenze dovute ad “interferenza” tra la pulsazione del segnale e la<br />

pulsazione di campionamento.<br />

ωsampled = nωs<br />

± ω<br />

Pulsazione di<br />

campionamento<br />

N.B. Per i sistemi a segnali campionati non vale più il<br />

teorema della risposta in frequenza!!<br />

intero<br />

F. Previdi - Controlli Automatici - Lez. 2 21<br />

n<br />

Pulsazione del segnale


Esempio<br />

Si consideri il segnale f ( t)<br />

= sin(<br />

2π<br />

⋅0.<br />

2⋅<br />

t)<br />

Lo si campioni con periodo di campionamento<br />

f N<br />

= 0 . 5 Hz ><br />

Spettro di potenza<br />

x 108<br />

2<br />

1.8<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.<br />

2<br />

Hz<br />

0<br />

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5<br />

frequenza [Hz]<br />

= 1s<br />

F. Previdi - Controlli Automatici - Lez. 2 22<br />

T<br />

= nω<br />

ωsampled s<br />

= 0⋅<br />

ωs<br />

± ω<br />

fs<br />

=<br />

± ω<br />

=<br />

= 1Hz<br />

± ω


Campionando con periodo di campionamento<br />

f N<br />

= 0 . 15 Hz <<br />

Spettro di potenza<br />

x 106<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0.<br />

2<br />

Hz<br />

“Aliased” di f=0.2 Hz<br />

a 0.1 Hz<br />

0<br />

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16<br />

frequenza [Hz]<br />

T<br />

= 10<br />

3<br />

F. Previdi - Controlli Automatici - Lez. 2 23<br />

s<br />

= nω<br />

ωsampled s<br />

f s<br />

− f<br />

fs<br />

± ω<br />

=<br />

=<br />

0.<br />

3<br />

= 1⋅ω<br />

s ± ω = ωs<br />

= 0 . 3−<br />

0.<br />

2 =<br />

0.<br />

1<br />

Hz<br />

± ω<br />

Hz


Nota<br />

Si osservi però che il teorema del campionamento pone una<br />

condizione solo sufficiente.<br />

Per es. un segnale costante a tratti è perfettamente ricostruibile a<br />

partire dai suoi campioni ma NON è a banda limitata.<br />

Non solo: è possibile dimostrare che l’unica funzione<br />

Fourier-trasformabile a banda limitata è la funzione nulla. (!)<br />

Il concetto di banda limitata è quindi un’idealizzazione di situazioni<br />

molto frequenti in cui lo spettro di un segnale possa ritenersi<br />

trascurabile oltre un certo limite.<br />

F. Previdi - Controlli Automatici - Lez. 2 24


6. Filtraggio anti-<strong>aliasing</strong><br />

Se il segnale di ingresso presenta non trascurabili componenti “in<br />

alta frequenza”, ovvero a pulsazioni ω > ωN<br />

, ma la parte<br />

dell’informazione ad esso associata è essenzialmente legata alle<br />

componenti “in bassa frequenza” ω < ωN<br />

, si può salvaguardare<br />

l’informazione utile associata all’ingresso anteponendo un filtro<br />

analogico passabasso con pulsazioni di taglio pari a ω .<br />

N.B. Bisognerà tenere conto della dinamica del filtro anti<strong>aliasing</strong><br />

nel progetto del controllore!<br />

F. Previdi - Controlli Automatici - Lez. 2 25<br />

N


Nelle applicazioni di controllo spesso sono utilizzati filtri di Bessel<br />

che hanno sfasamento lineare in banda.<br />

I parametri di scelta fondamentali sono:<br />

• Attenuazione alla pulsazione di Nyquist<br />

• Pulsazione di taglio del filtro<br />

• L’ordine del filtro<br />

ωAA<br />

Un filtro di Bessel può essere<br />

approssimato mediante un ritardo T d<br />

(fino a poco oltre la sua frequenza<br />

di taglio).<br />

Magnitude (dB)<br />

Phase (deg)<br />

G<br />

20<br />

-20<br />

-40<br />

-60<br />

-80<br />

-100<br />

90<br />

0<br />

( j ) = β<br />

0<br />

-90<br />

-180<br />

-270<br />

-360<br />

-450<br />

-540<br />

10 -2<br />

ω N<br />

F. Previdi - Controlli Automatici - Lez. 2 26<br />

10 -1<br />

Bode Diagram<br />

ω AA<br />

ritardo<br />

10 0<br />

Frequency (rad/sec)<br />

Bessel 4 th<br />

10 1<br />

10 2


Esempio<br />

La dinamica del veicolo (nella banda 0-30 Hz circa) viene<br />

studiata basandosi su misure accelerometriche.<br />

Le vibrazioni del motore introducono rumore di intensità elevata<br />

e devono essere filtrate.<br />

F. Previdi - Controlli Automatici - Lez. 2 27


Armoniche vibrazione motore (@ 4000 rpm)<br />

f s=1 kHz<br />

F. Previdi - Controlli Automatici - Lez. 2 28


Aliasing accelerometri – 1<br />

ALIAS<br />

riconoscimento bassa frequenza (errato)<br />

NB: il decisore assume<br />

un valore di -5<br />

F. Previdi - Controlli Automatici - Lez. 2 29


Aliasing accelerometri – 2<br />

Oltre un certo numero di giri, la frequenza delle armoniche del motore supera la frequenza<br />

di Nyquist (500 Hz) e il disturbo viene riportato in bassa frequenza (sotto i 30Hz),<br />

sovrapposto alle dinamiche di interesse.<br />

I disturbi sono<br />

funzione del<br />

regime di<br />

rotazione del<br />

motore<br />

ALIAS<br />

F. Previdi - Controlli Automatici - Lez. 2 30


Filtraggio anti-<strong>aliasing</strong> accelerometri<br />

Per risolvere i problemi di alias si è provveduto ad installare un filtro attivo analogico<br />

del II ordine, realizzato con una singola cella di Sallen-Key.<br />

f p = 160 Hz<br />

Q = ½ (poli reali)<br />

Gain = 1<br />

F. Previdi - Controlli Automatici - Lez. 2 31


Accelerometri senza <strong>aliasing</strong><br />

I disturbi sul decisore sono<br />

stati ridotti di un fattore 20.<br />

I disturbi sono indipendenti<br />

dal regime di rotazione .<br />

F. Previdi - Controlli Automatici - Lez. 2 32


Ritardo dovuto al filtraggio anti-<strong>aliasing</strong><br />

Il filtro progettato introduce, ovviamente, uno sfasamento sui segnali di accelerazione.<br />

Tale ritardo è stato quantificato a fronte di un evento impulsivo (passaggio su rallentatore<br />

stradale).<br />

ritardo: 3ms<br />

F. Previdi - Controlli Automatici - Lez. 2 33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!