TS Dispense

Share Embed Donate


Short Description

Download TS Dispense...

Description

TRATTAMENTO DEI SEGNALI per la Laurea Magistrale in Fisica

Dott. Silvia Maria Alessio - Dipartimento di Fisica Generale Universit`a di Torino - Anno Accademico 2010/2011 7 giugno 2011

Indice I

Concetti teorici di base

7

1 Segnali e sistemi a tempo discreto

8

1.1

Nozioni preliminari . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.2

Segnali a tempo discreto . . . . . . . . . . . . . . . . . . . . . . .

9

1.3

1.2.1

Semplici manipolazioni su segnali a tempo discreto . . . .

10

1.2.2

Alcuni segnali speciali utili nel seguito . . . . . . . . . . .

11

1.2.3

Segnali deterministici e segnali casuali . . . . . . . . . . .

18

Sistemi lineari invarianti nel tempo (LTI) . . . . . . . . . . . . .

19

1.3.1

Risposta all’impulso di un sistema LTI . . . . . . . . . . .

21

1.3.2

Esempio di convoluzione lineare . . . . . . . . . . . . . . .

22

1.3.3

Interconnessioni di sistemi LTI . . . . . . . . . . . . . . .

25

1.3.4

Conseguenze sulla risposta all’impulso di un sistema LTI, derivanti dai vincoli di stabilit` a e causalit`a . . . . . . . .

25

1.3.5

Sistemi FIR e IIR . . . . . . . . . . . . . . . . . . . . . .

27

1.3.6

Equazioni lineari alle differenze (LCCDE) . . . . . . . . .

28

1.3.7

Esempi di equazioni lineari alle differenze . . . . . . . . .

29

1.3.8

Le soluzioni di una LCCDE

. . . . . . . . . . . . . . . .

29

1.3.9

Esempio: dalla LCCDE alla risposta all’impulso . . . . .

31

1.3.10 Autovalori ed autofunzioni dei sistemi LTI . . . . . . . . .

33

2

INDICE

3

2 Trasformate di segnali a tempo discreto 2.1

2.2

2.3

2.4

36

Trasformata z . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

2.1.1

Esempi di Trasformate z . . . . . . . . . . . . . . . . . . .

39

2.1.2

Trasformate z razionali . . . . . . . . . . . . . . . . . . .

40

2.1.3

Inversione della Trasformata z . . . . . . . . . . . . . . .

41

2.1.4

Trasformata z convergente sul cerchio unitario . . . . . .

43

2.1.5

Propriet`a della Trasformata z . . . . . . . . . . . . . . . .

44

2.1.6

Funzione di trasferimento di un sistema LTI . . . . . . . .

46

2.1.7

Sequenza di uscita di un sistema LTI . . . . . . . . . . . .

48

2.1.8

Strutture per la realizzazione di sistemi LTI . . . . . . . .

48

2.1.9

Poli e zeri di H(z): forme alternative per H(z) razionali .

52

2.1.10 Sistema inverso . . . . . . . . . . . . . . . . . . . . . . . .

57

Trasformata di Fourier a tempo discreto (DTFT) . . . . . . . . .

57

2.2.1

Antitrasformata di Fourier

. . . . . . . . . . . . . . . . .

59

2.2.2

Esempio di DTFT che converge in media . . . . . . . . .

61

2.2.3

Spettri a righe . . . . . . . . . . . . . . . . . . . . . . . .

62

2.2.4

Periodicit` a dello spettro di x[n] . . . . . . . . . . . . . . .

64

2.2.5

Propriet`a della DTFT . . . . . . . . . . . . . . . . . . . .

65

2.2.6

La DTFT di una sequenza causale di lunghezza finita . .

69

Discrete Fourier Series (DFS) . . . . . . . . . . . . . . . . . . . .

71

2.3.1

Alcune propriet` a della DFS . . . . . . . . . . . . . . . . .

72

2.3.2

Campionamento nel dominio della frequenza e aliasing nel dominio del tempo . . . . . . . . . . . . . . . . . . . . . .

74

Trasformata di Fourier Discreta (DFT) . . . . . . . . . . . . . . .

76

2.4.1

Riassunto delle relazioni di DFS e DFT . . . . . . . . . .

80

2.4.2

Esempio di relazione fra DTFT, DFS e DFT di una sequenza 81

4

INDICE 2.4.3

Alcune propriet` a della DFT . . . . . . . . . . . . . . . . .

83

2.4.4

Convoluzione circolare e convoluzione lineare . . . . . . .

89

2.4.5

L’algoritmo FFT (Fast Fourier Transform) . . . . . . . .

95

2.4.6

Applicazioni della FFT . . . . . . . . . . . . . . . . . . .

99

3 Il campionamento dei segnali analogici

II

101

3.1

Teorema del campionamento

. . . . . . . . . . . . . . . . . . . . 101

3.2

Ricostruzione del segnale continuo . . . . . . . . . . . . . . . . . 107

3.3

Aliasing e filtro anti-aliasing . . . . . . . . . . . . . . . . . . . . . 110

3.4

Principio di indeterminazione . . . . . . . . . . . . . . . . . . . . 113

3.5

Segnali analogici a supporto limitato in tempo e frequenza . . . . 117

3.6

Relazioni tra le variabili frequenziali . . . . . . . . . . . . . . . . 120

Introduzione ai filtri numerici

4 Caratteristiche dei filtri numerici

123 124

4.1

Nozioni generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

4.2

La risposta di ampiezza dei filtri numerici . . . . . . . . . . . . . 125

4.3

La risposta di fase dei filtri numerici . . . . . . . . . . . . . . . . 128

5 Progetto di filtri numerici

136

5.1

Considerazioni preliminari . . . . . . . . . . . . . . . . . . . . . . 136

5.2

Specifiche dei filtri numerici . . . . . . . . . . . . . . . . . . . . . 137 5.2.1

Vincoli sulla risposta di ampiezza . . . . . . . . . . . . . . 137

5.2.2

Vincoli sulla risposta di fase . . . . . . . . . . . . . . . . . 142

5.3

Selezione del tipo di filtro . . . . . . . . . . . . . . . . . . . . . . 145

5.4

Selezione del metodo di progetto . . . . . . . . . . . . . . . . . . 148

INDICE

5

5.5

Criteri di approssimazione . . . . . . . . . . . . . . . . . . . . . . 149

5.6

Caratteristiche dei filtri FIR a fase lineare . . . . . . . . . . . . . 152 5.6.1

Fattorizzazione della risposta a fase nulla . . . . . . . . . 154

5.6.2

Zeri della funzione di trasferimento dei filtri FIR a GLP . 158

5.6.3

Rappresentazione alternativa di G(ω) . . . . . . . . . . . 159

5.7

Approssimazioni equiripple per filtri FIR a GLP . . . . . . . . . 160

5.8

Stima a priori dell’ordine . . . . . . . . . . . . . . . . . . . . . . 169

5.9

Procedimento iterativo per filtri ottimi . . . . . . . . . . . . . . . 170

5.10 Propriet`a dei filtri FIR ottimi secondo il criterio minimax . . . . 175 5.11 Il metodo minimax per i filtri passa-banda . . . . . . . . . . . . . 180 5.12 Cenni sul progetto di filtri IIR

. . . . . . . . . . . . . . . . . . . 180

5.13 Attuazione del filtraggio numerico . . . . . . . . . . . . . . . . . 181 5.14 Filtraggio a fase nulla . . . . . . . . . . . . . . . . . . . . . . . . 182 5.15 Tecnica di filtraggio con decimazione . . . . . . . . . . . . . . . . 183

III

Analisi spettrale stazionaria

190

6 Segnali deterministici: spettro di energia

191

6.1

Correlazione di segnali a tempo discreto . . . . . . . . . . . . . . 191

6.2

Il teorema di Wiener - Khinchin

6.3

Analisi di Fourier tramite DFT . . . . . . . . . . . . . . . . . . . 195

. . . . . . . . . . . . . . . . . . 194

6.3.1

Effetto del windowing . . . . . . . . . . . . . . . . . . . . 197

6.3.2

Effetto del campionamento spettrale . . . . . . . . . . . . 204

6.4

Le finestre classiche e le loro caratteristiche . . . . . . . . . . . . 208

6.5

La finestra di Kaiser . . . . . . . . . . . . . . . . . . . . . . . . . 213

6

INDICE

7 L’approccio statistico all’analisi dei segnali

217

IV

218

Analisi spettrale evolutiva

8 La Short Time Fourier Transform (STFT)

219

9 La Trasformata Continua di Wavelet (CWT)

220

Parte I

Concetti teorici di base

7

Capitolo 1

Segnali e sistemi a tempo discreto 1.1

Nozioni preliminari

Elenchiamo alcune definizioni e concetti preliminari. • Segnale = insieme di valori di una variabile, esprimente la variazione di una grandezza fisica in qualche dominio (per esempio tempo o spazio). • x = x(t) con t e x continui rappresenta un segnale analogico.

La misura o campionamento con passo Tc costante di un segnale analogico (Fig. 1.1) conduce a una

• sequenza di numeri reali (o complessi) che chiamiamo segnale a tempo discreto x = x[n] = x(nTc ) dove n = tempo discreto (numero di campioni, adimensionale). • Elaborazione, analisi del segnale = insieme di tecniche atte a rappresentare il segnale, eventualmente a trasformarlo e ad estrarre l’informazione che esso contiene riguardo allo stato o al comportamento del sistema fisico da cui deriva. • L’elaborazione di un segnale a tempo discreto tramite un sistema digitale che usa un’aritmetica a precisione finita trasforma il segnale a tempo discreto in un segnale numerico o digitale, discreto in tempo e in ampiezza x, ma noi non ci occuperemo di questo: nella nostra trattazione il tempo `e discreto ma x `e continua. • Scopo dell’elaborazione ed analisi: 8

9

x(t)

1.2. SEGNALI A TEMPO DISCRETO

t

Figura 1.1: Un segnale analogico ed il suo campionamento – estrarre parametri caratteristici del segnale – separare un segnale “utile” dal “rumore” – modificare il segnale per presentarlo in una forma pi` u facilmente interpretabile ecc... • L’analisi avviene nei domini duali – del tempo e – della frequenza ed `e spesso facilitata da elaborazione/i (trasformazione/i) operate da un • sistema a tempo discreto: un operatore che “mappa” una sequenza di ingresso (input) in una sequenza di uscita (output), ossia segnale di input ⇒ sistema a tempo discreto ⇒ segnale di output. Si noti che “sistema” `e un termine mutuato dall’hardware; per noi sistema = operatore matematico, algoritmo software.

1.2

Segnali a tempo discreto

• Segnale:

x[n]

n(−∞, +∞)

con n intero. Il segnale x[n], reale o complesso, esiste solo per valori interi di n; altrove non `e definito. Se ottenuto campionando, x[n] = x(nTc ) con Tc = intervallo di campionamento. Tipicamente i segnali a tempo discreto vengono graficati con “stem plot” simili a quello in Fig. 1.2.

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

x[n]

10

−7 −6 −5 −4 −3 −2 −1

0

n

1

2

3

4

5

6

7

Figura 1.2: Esempio di stem plot • Energia del segnale: E=

+∞ X

n=−∞

|x[n]|2 .

Pu`o essere finita o infinita. I segnali con E finita sono detti segnali di energia (energy signals). • Molti segnali che non hanno E finita hanno per` o potenza media finita (power signals): +∞ X 1 P = lim |x[n]|2 . N →∞ 2N + 1 n=−∞ Se E `e finita, P `e nulla. • Un segnale periodico `e un segnale per cui per ogni n x[n + N ] = x[n] ed il suo periodo `e il minimo N per cui la relazione vale. Un segnale periodico ha E infinita per n(−∞, +∞) mentre `e finita l’enerPN −1 gia su un un singolo periodo, n=0 |x[n]|2 .

La potenza media di un segnale P periodico `e finita ed uguale alla potenza N −1 media su un singolo periodo, N1 n=0 |x[n]|2 .

1.2.1

Semplici manipolazioni su segnali a tempo discreto

Trasformazioni della variabile indipendente n: 1. n ⇒ n − k con k intero: traslazione (Fig. 1.3).

11

x[n]

1.2. SEGNALI A TEMPO DISCRETO

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

x[n + 2]

x[n − 3]

−6

n

Figura 1.3: Esempi di traslazioni di un segnale a tempo discreto. Per rendere ben visibile la trasformazione `e stato impiegato il colore rosso per alcuni campioni k > 0: ritardo (traslazione a destra) di k unit`a di tempo discreto. k < 0: anticipo (traslazione a sinistra) di k unit`a di tempo discreto. 2. n ⇒ −n: riflessione del segnale attorno a n = 0 cio`e attorno all’origine dei tempi discreti (folding; Fig. 1.4). 3. n ⇒ k − n: notando che x[−n] = x[0 − n] si comprende che si tratta di riflessione del segnale attorno a n = k (Fig. 1.5). k > 0: riflessione con ritardo (traslazione a destra di x[−n]). k < 0: riflessione con anticipo (traslazione a sinistra di x[−n]). Si osservi che k − n = −(n − k): l’operazione si pu` o effettuare anche formando dapprima x[n−k] e poi eseguendo un folding attorno a n−k = 0, ossia attorno a n = k. 4. n ⇒ kdec n con kdec intero: decimazione del segnale (Fig. 1.6).

1.2.2

Alcuni segnali speciali utili nel seguito

• Impulso discreto o impulso unitario o δ discreta (Fig. 1.7): ( 1 n=0 δ[n] = 0 altrove.

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

x[n]

12

−3

−2

−1

−4

−3

−2

−1

0

1

2

3

4

0

1

2

3

4

x[−n]

−4

n

x[n]

Figura 1.4: Esempio di riflessione di un segnale a tempo discreto. Per rendere ben visibile la trasformazione sono stati impiegati colori differenti per alcuni campioni

−3

−2

−1

0

1

2

3

4

−4

−3

−2

−1

0

1

2

3

4

−4

−3

−2

−1

0

1

2

3

4

−4

−3

−2

−1

0

1

2

3

4

x[n − 2]

x[2 − n]

x[−n]

−4

n

Figura 1.5: Esempio di riflessione di un segnale a tempo discreto attorno a n = k. La sequenza x[n] `e disegnata rovesciata, coll’origine dei tempi traslata a n = k. Per rendere ben visibile la trasformazione `e stato impiegato il colore rosso per alcuni campioni

13

x[n]

1.2. SEGNALI A TEMPO DISCRETO

0

1

2

3

4

5

6

0

1

2

3

4

5

6

x[2n]

−6 −5 −4 −3 −2 −1

−6 −5 −4 −3 −2 −1

n

Figura 1.6: Esempio di decimazione. Per rendere ben visibile la trasformazione `e stato impiegato il colore rosso per alcuni campioni

δ[n]

1

0 −5

−4

−3

−2

−1

0

n

1

2

3

4

5

Figura 1.7: Impulso discreto • Impulso discreto ritardato: δ[n − k] (Fig. 1.8).

Qualsiasi segnale discreto `e esprimibile come somma di campioni unitari scalati e ritardati: x[n] =

+∞ X

k=−∞

x[k]δ[n − k] =

• Gradino unitario discreto (Fig. 1.9): ( 1 u[n] = 0

+∞ X

k=−∞

n≥0 n < 0.

x[n − k]δ[k].

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

δ[n − 3]

1

0 −5

−4

−3

−2

−1

0

n

1

2

3

4

5

Figura 1.8: Impulso discreto ritardato

1

u[n]

14

0 −5

−4

−3

−2

−1

0

n

1

2

3

4

5

Figura 1.9: Gradino unitario

Il gradino unitario `e utile per definire le cosiddette sequenze causali : sequenze per cui x[n] = 0 per n < 0. I segnali u[n] e δ[n] sono legati: u[n] =

n X

k=−∞

δ[k] =

∞ X

k=0

δ[n − k]

δ[n] = u[n] − u[n − 1]. • Sinusoide discreta: `e comodo derivarla da una sinusoide continua, pensando di campionarla a passo costante Tc .

1.2. SEGNALI A TEMPO DISCRETO

15

Ad esempio prendiamo una sinusoide con ampiezza unitaria, fase iniziale nulla, frequenza f e periodo T = 1/f : x(t) = sin (2πf t) x[n] = sin (2πf nTc ). Definendo la frequenza adimensionale o “normalizzata” ν = f Tc = Tc /T si ottiene x[n] = sin (2πνn) = sin (ωn) con ω = 2πν = pulsazione o frequenza angolare “discreta”, dove con la parola “discreta” si intende “per segnali a tempo discreto”: [ω]=radianti/campione (angolo, adimensionale), [ν] = cicli/campione (adimensionale), [n] = campioni (adimensionale). Una sinusoide a tempo discreto non `e sempre periodica: lo `e se la sua ν `e razionale. Per la periodicit` a con periodo N occorre che sia x[n] = x[n + N ], ossia sin [2πν(n + N )] = sin (2πνn) e questo `e vero se e solo se esiste un intero k tale che 2πνN = 2πk, il che `e possibile se e solo se ν = k/N e quindi anche 1/ν = T /Tc = N/k, ossia kT = N Tc ; e inoltre ω = 2πk/N. La lunghezza del periodo `e pari al denominatore di ν = k/N dopo riduzione a rapporto di numeri primi fra loro. Se T /Tc = N/k non `e solo razionale ma intero, allora un singolo periodo T della sinusoide analogica contiene un numero intero di intervalli Tc di campionamento (Fig. 1.10). Il caso pi` u generale di T /Tc = N/k razionale invece comporta che ci vogliano k periodi T per contenere esattamente N intervalli Tc (Fig. 1.11). Per tutte le ν = k/N con N fissato, il periodo `e sempre N nel discreto: si noti che nel discreto il periodo non `e l’inverso della frequenza (N 6= 1/ν)!

x(t)

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

t Figura 1.10: Sinusoide discreta con T /Tc intero

x(t)

16

t Figura 1.11: Sinusoide discreta con T /Tc razionale La generica sinusoide discreta periodica `e dunque   2π kn x[n] = sin N e presenta fase simmetrica in k (frequenza) e n (tempo). Se ora pensiamo ad un k variabile, cio`e ad un set di sinusoidi di varia frequenza, si ha periodicit` a con periodo N anche in k (oltrech´e in n). Si ha dunque periodicit` a in ν con periodo N/N = 1 e periodicit`a in ω con periodo 2πN/N = 2π; in altri termini, due sinusoidi discrete con ω separate di un multiplo di 2π sono indistinguibili, com’`e evidente poich´e sin [(2πk + ω)n] = sin (ωn). Da quanto detto comprendiamo che la variabile frequenza `e intrinseca-

1.2. SEGNALI A TEMPO DISCRETO

17

mente discreta ed associata a periodicit` a, in ogni rappresentazione che si basi su un set di sinusoidi periodiche a tempo discreto. Come per rappresentare x[n] periodica con periodo N bastano N valori di n, ad esempio n = 0, N − 1, cos`ı per esprimere tutte le possibili distinte sinusoidi periodiche con periodo N bastano N valori di k, ad esempio k = 0, N − 1. Per comodit` a di calcolo `e spesso utile rappresentare seni e coseni reali mediante combinazioni di esponenziali complessi, del tipo √ x[n] = ejωn = cos (ωn) + j sin (ωn) j = −1 con

1 jωn (e − e−jωn ) 2j 1 cos (ωn) = (ejωn + e−jωn ). 2 Per gli esponenziali complessi valgono propriet` a analoghe a quelle delle sinusoidi. sin (ωn) =

Nel seguito, “segnale sinusoidale discreto” e “segnale esponenziale complesso discreto” sono considerati termini sostanzialmente equivalenti ed usati indifferentemente. Le N sinusoidi o gli N esponenziali complessi distinguibili sono detti sinusoidi ed esponenziali complessi in relazione armonica tra loro: come detto, hanno frequenze multiple, secondo un fattore intero k, della frequenza fondamentale (positiva, razionale) ν0 = 1/N associata alla periodicit` a fissata, N . Possiamo quindi scrivere tali N sinusoidi come 2π

xk [n] = ej2πkν0 n = ej N kn o equivalentemente come xk [n] = sin (2πkν0 n) = sin



 2π kn . N

L’indice intero k pu` o assumere N valori: in generale k = n0 , n0 + N − 1 e di solito k = 0, N − 1. Si noti che la scelta k = 1, N sarebbe del tutto equivalente ma la notazione pi` u usata `e quella in cui nel set `e inclusa la frequenza zero. Tutte le ν = N.

k N

Riassumendo:

condividono con ν0 la periodicit` a nel tempo con periodo

18

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO – – – –

periodicit` a periodicit` a periodicit` a periodicit` a

in in in in

n con periodo N ⇒ 0 ≤ n ≤ N − 1, k con periodo N ⇒ 0 ≤ k ≤ N − 1, ν con periodo 1 ⇒ 0 ≤ ν < 1, ω con periodo 2π ⇒ 0 ≤ ω < 2π.

Alternativa: k = − N2 , N2 − 1 che `e adatta nel caso di N pari, ad esempio una potenza intera di 2 come nella FFT, v. sottosezione 2.4.5. Tale scelta comporta −π ≤ ω < π e − 21 ≤ ν < equivalenti a quelli prima citati.

1 2,

intervalli del tutto

In conclusione: – per lavorare con sinusoidi discrete basta un intervallo di ω di ampiezza 2π. Scegliamo l’intervallo (−π, π); allora – ogni sinusoide discreta con |ω| > π ossia |ν| > 21 `e indistinguibile (“`e alias di”) un’altra sinusoide in |ω| < π. – Possiamo stabilire che la “massima” frequenza per una sinusoide discreta `e ω = ±π (corrispondente a ν = ± 12 ) mentre la “minima” frequenza `e ω = 0 (o ω = 2π). Si noti la differenza dal caso analogico, in cui −∞ < f < ∞ e le “alte frequenze” sono prossime a ±∞, le basse sono adiacenti a zero. – Le frequenze ∈ (−π, π) sono rappresentative di tutte le sinusoidi discrete esistenti (intervallo principale o fondamentale). – Del tutto equivalente `e esprimere l’intervallo fondamentale come (0, 2π).

1.2.3

Segnali deterministici e segnali casuali

Elaborare ed analizzare un segnale richiede l’assunzione di un modello del segnale, ossia di una sua descrizione matematica. Se una descrizione univoca `e possibile usando una formula matematica od una regola ben definita, il segnale `e detto deterministico: i suoi valori passati e presenti sono noti e quelli futuri sono esattamente predicibili. Se non si sa dare una tale descrizione o se la descrizione `e troppo complicata per essere utile si adotta un punto di vista diverso, che implica che il segnale non evolva in modo esattamente predicibile e debba essere trattato con metodi statistici (medie, probabilit` a). Un tale segnale `e detto casuale o random. Ad esempio, tipicamente le sequenze derivanti da misure ripetute di grandezze fisiche sono da intendersi come segnali di questo tipo. La distinzione `e talvolta sottile: ad esempio, anche una somma di segnali periodici pu` o essere trattata come random se le fasi sono casuali e vi `e del “rumore” sovrapposto ai segnali stessi.

1.3. SISTEMI LINEARI INVARIANTI NEL TEMPO (LTI)

19

Nella prima parte del corso tratteremo segnali deterministici; in seguito passeremo all’approccio statistico per i segnali casuali.

1.3

Sistemi lineari invarianti nel tempo (LTI)

Un sistema `e una trasformazione univoca che mappa una sequenza di input in una di output:

input x[n] ⇒ operatore T ⇒ output y[n] ossia y[n] = T {x[n]} (algoritmo che dato x[n] determina y[n]). In generale, y[n] per un qualsiasi n = n0 dipende dai valori di x[n] a tutti gli n. Come esempi di sistemi possiamo citare i filtri numerici di cui parleremo in seguito, dei quali un tipo molto semplice `e l’operatore media mobile y[n] =

+M X2 1 x[n − k]. M1 + M2 + 1 k=−M1

Classi di sistemi vengono poi definite ponendo dei vincoli sulle propriet` a della trasformazione T {·}. 1. Linearit` a : T {·} = L {·}

se L {ax1 [n] + bx2 [n]} = aL {x1 [n]} + bL {x2 [n]}

con a, b costanti arbitrarie. La linearit`a comporta • l’additivit` a

• l’omogeneit` a (le costanti possono essere portate fuori dal segno L {·}). Esempi di sistemi lineari: • la media mobile

• l’accumulatore y[n] =

Pn

k=−∞

• il ritardatore y[n] = x[n − n0 ] • ecc...

Esempio di un sistema non lineare:

x[k]

20

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO 2

• il quadratore y[n] = {x[n]} (per x[n] reale). Questo sistema `e anche privo di memoria perch´e y[n] dipende solo dal valore contemporaneo dell’input, x[n]. 2. Invarianza nel tempo o alla traslazione (sistemi LTI = Linear Time Invariant): se valendo y[n] = L {x[n]} vale anche y[n − k] = L {x[n − k]}, con k intero qualsiasi, il sistema `e LTI. I sistemi LTI hanno importantissime applicazioni nell’elaborazione numerica dei segnali. Esempi di sistemi LTI: • tutti quelli lineari citati in precedenza . Esempio di sistema non invariante: • il decimatore (downsampler), y[n] = x[M n] con M intero qualsiasi. Per vedere la non invarianza alla traslazione di questo sistema definiamo x1 [n] = x[n − k] e sia y1 [n] l’output o risposta corrispondente: y1 [n] = x1 [M n] = x[M n − k]. Ma y[n − k] = x[M (n − k)] = x[M n − M k] 6= y1 [n]: con un input traslato di k non si ha un’uscita traslata di k, se non nel caso banale di M = 1. 3. Causalit` a: un sistema `e causale se per ogni scelta di n0 , l’output y[n0 ] dipende solo dai valori dell’input per n ≤ n0 : il sistema non anticipa l’output. Esempi di sistemi causali e non causali: • il ritardatore y[n] = x[n − n0 ] `e causale se n0 ≥ 0 (caso che implica ritardo) e non causale se n0 < 0 (caso che implica anticipo) P+M2 1 e causale se • la media mobile y[n] = M1 +M k=−M1 x[n − k] ` 2 +1 −M1 ≥ 0 e M2 ≥ 0 Pn • l’accumulatore y[n] = k=−∞ x[k] `e causale 2

• il quadratore y[n] = {x[n]} `e causale

• il decimatore y[n] = x[M n] `e causale se M > 1 (ad esempio y[1] = x[M ]). 4. Stabilit` a:

1.3. SISTEMI LINEARI INVARIANTI NEL TEMPO (LTI)

21

un sistema `e stabile secondo la definizione BIBO (Bounded Input, Bounded Output) se e solo se un input limitato produce un output limitato: per ogni n, |x[n]| ≤ A ≤ ∞ ⇒ |y[n]| ≤ BA ≤ ∞ dove A e B sono costanti positive e finite. Si noti che la stabilit` a `e una propriet` a del sistema e non dell’input, quindi la relazione BIBO deve valere per un qualsiasi input limitato. Esempi di sistemi stabili: • la media mobile • il ritardatore

• il decimatore

• il quadratore. Esempio di sistema non stabile: • l’accumulatore. Per verificare che un sistema non `e BIBO ci basta trovare un input limitato per il quale non si ha stabilit` a. Nel caso dell’accumulatore, se x[n] = u[n], ( n X 0 n 0 fissato finito tale che n+1 ≤ BA ≤ ∞ per ogni n. Pertanto l’accumulatore non `e un sistema stabile secondo la definizione BIBO.

1.3.1

Risposta all’impulso di un sistema LTI

Definendo, ammesso che esista per il sistema in esame, la risposta all’impulso come h[n] = L {δ[n]} P+∞ e ricordando che x[n] = k=−∞ x[k]δ[n − k], possiamo esprimere mediante h[n] la “risposta” (output, uscita) del sistema LTI ad un input qualsiasi: ( +∞ ) X y[n] = L {x[n]} = L x[k]δ[n − k] k=−∞

da cui per la linearit`a y[n] =

+∞ X

k=−∞

x[k]L {δ[n − k]}

22

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

e infine per l’invarianza alla traslazione y[n] =

+∞ X

k=−∞

x[k]h[n − k] ≡ x[n] ∗ h[n] =

+∞ X

k=−∞

x[n − k]h[k] ≡ h[n] ∗ x[n]

che definisce la convoluzione lineare di x[n] e h[n], operazione per la quale vale la propriet` a commutativa. Da questa formula, y[n] appare influenzato da tutti gli x[n] passati, presenti e futuri se h[n] 6= 0 per n ∈ (−∞, +∞): in generale dunque non si ha causalit`a. La sequenza h[n] caratterizza completamente il sistema LTI nel dominio del tempo. Se le sequenze da convolvere, sebbene formalmente di durata infinita, sono per`o nulle al di fuori di un certo intervallo finito di valori di n: x[n] 6= 0 per 0 ≤ n ≤ N1 − 1, h[n] 6= 0 per 0 ≤ n ≤ N2 − 1, allora la somma di convoluzione ha limiti finiti e la durata effettiva di y[n] = h[n] ∗ x[n] `e a sua volta finita: y[n] 6= 0 per 0 ≤ n ≤ N1 + N2 − 2 (durata effettiva N1 + N2 − 1).

1.3.2

Esempio di convoluzione lineare

Facciamo un esempio di calcolo di una convoluzione lineare nel caso di due sequenze causali non identicamente nulle solo in 0 ≤ n ≤ N1 − 1 = 12 e 0 ≤ n ≤ N2 − 1 = 4 rispettivamente. La procedura per ottenere y[n] =

P+∞

k=−∞

x[k]h[n − k] `e la seguente:

1. fissare un valore n = n0 del tempo discreto per il quale si desidera calcolare y[n] 2. rovesciare h[k] per ottenere h[−k] (k = 0, N2 − 1) 3. traslare h[−k] di n0 campioni a destra (sinistra) per n0 > 0 (n0 < 0) per ottenere h[n0 − k] 4. moltiplicare campione per campione x[k] per h[n0 − k] per ottenere una sequenza prodotto vn0 [k] = x[k]h[n0 − k] 5. sommare tutti i valori di vn0 [k] (solo un numero finito di essi sar`a non nullo) per avere y[n = n0 ] 6. ripetere per ogni n = n0 (solo un numero finito di valori di y[n0 ] sar`a diverso da zero). Il campione y[n0 ] `e nullo quando tutti i valori di vn0 [k] sono nulli per quel dato valore n0 : quindi determinare la durata effettiva di y[n] equivale a determinare

23

h[k]

1.3. SISTEMI LINEARI INVARIANTI NEL TEMPO (LTI)

0

1

2

3

4

k Figura 1.12: Esempio di calcolo di una convoluzione lineare: la sequenza h[k] in quale intervallo di valori di n0 la sequenza vn0 [k] ha tutti valori nulli. Il procedimento, nel caso della risposta all’impulso mostrata in Fig. 1.12, `e illustrata in Fig. 1.13. Nell’esempio, N1 = 13 e N2 = 5. Dalla Fig. 1.13 si evince che tutti i termini prodotto sono nulli per n0 ≤ −1 e n0 ≥ N1 + N2 − 1, quindi y[n] 6= 0 per 0 ≤ n ≤ N1 + N2 − 2: y[n] ha durata effettiva pari a N1 + N2 − 1, come prima affermato. All’interno di tale intervallo 0 ≤ n ≤ N1 +N2 −2 sono per` o presenti dei transitori iniziale e finale. I valori di n esenti dai transitori vanno da n0 − N2 + 1 = 0, ossia n = n0 = N2 − 1, a n = n0 = N1 − 1; quindi la lunghezza totale della convoluzione esente da transitori `e N1 − N2 + 1. P I limiti finiti della k nella convoluzione precedente hanno valori che dipendono P da n0 . Infatti per un certo valore n0 di n, e con k variabile, i termini della k sono diversi da zero se contemporaneamente 0 ≤ k ≤ N1 − 1

0 ≤ n − k ≤ N2 − 1 ⇒ −N2 + 1 ≤ k − n ≤ 0. Possiamo riassumere le due condizioni scrivendo

max(0, n − N2 + 1) ≤ k ≤ min(N1 − 1, n) per cui la somma di convoluzione assume la forma con limiti finiti min(N1 −1,n)

y[n] =

X

k=max(0,n−N2 +1)

x[k]h[n − k].

Nel nostro esempio, per n = n0 = 1 avremmo con N1 =P 13 e N2 = 5 i limiti 1 max(0, 1 − 5 + 1) = 0 e min(12, 1) = 1 per cui y[1] = k=0 x[k]h[n − k] = x[0]h[1] + x[1]h[0], come illustrato in Fig. 1.14, ecc...

x[k] h[−1 − k] h[N1 + N2 − 1 − k] h[9 − k]

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO 24

0

1

2

3

4

5

6

7

8

9

10 11 12

0

1

2

3

4

5

6

7

8

9

10 11 12

0

1

2

3

4

5

6

7

8

9

10 11 12

0

1

2

3

4

5

6

7

8

9

10 11 12

n0 = −1

n0 = 9

n0 = N1 + N2 − 1 = 17

k

Figura 1.13: Esempio di calcolo di una convoluzione lineare: la sequenza x[n] (pannello superiore) e la sequenza h[k] disegnata rovesciata a partire da diversi valori di n0 . Per il calcolo di y[n0 ], moltiplicare ogni campione di x[n] compreso tra le righe verticali verdi con il campione corrispondente della sequenza rappresentata in uno dei pannelli inferiori e sommare.

25

x[k]

1.3. SISTEMI LINEARI INVARIANTI NEL TEMPO (LTI)

h[1 − k]

0 1 2 3 4 5 6 7 8 9 10 11 12

0 1 2 3 4 5 6 7 8 9 10 11 12

k

Figura 1.14: Limiti finiti della sommatoria nella convoluzione lineare dell’esempio precedente: caso del calcolo del campione y[n0 = 1]. I termini di prodotto non nulli si trovano tra le linee verticali rosse

1.3.3

Interconnessioni di sistemi LTI

• Sistemi LTI in cascata o in serie (Fig. 1.15, pannello a): y[n] = (x[n] ∗ h1 [n]) ∗ h2 [n] x[n] ⇒ h1 ∗ h2 ⇒ y[n]. Vale la propriet` a commutativa. • Sistemi LTI in parallelo (Fig. 1.15, pannello b): y[n] = x[n] ∗ h1 [n] + x[n] ∗ h2 [n] x[n] ⇒ h1 + h2 ⇒ y[n]. Vale la propriet` a distributiva rispetto alla somma.

1.3.4

Conseguenze sulla risposta all’impulso di un sistema LTI, derivanti dai vincoli di stabilit` a e causalit` a

1. Stabilit` a : imporre che |x[n]| ≤ A ≤ ∞ per ogni n dia |y[n]| ≤ BA ≤ ∞ implica (condizione necessaria e sufficiente) che h[n] sia assolutamente sommabile, ossia

S=

k=+∞ X

k=−∞

|h[k]| < ∞.

26

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

Figura 1.15: Interconnessioni di sistemi LTI in serie (a) ed in parallelo (b) La condizione `e sufficiente in quanto se S `e finita, y[n] `e limitato per un input limitato: |y[n]| = |

k=+∞ X

k=−∞

h[k]x[n − k]| =

k=+∞ X

k=−∞

|h[k]||x[n − k]|

Pk=+∞ e se |x[n]| ≤ A allora |y[n]| ≤ A k=−∞ |h[k]| = AS, da cui si vede che B = S non dipende dall’input x[n] ma solo da h[n]. Si pu` o poi mostrare che la condizione `e anche necessaria perch´e se S = ∞ si pu` o trovare un input limitato per il quale l’output non `e limitato. In un sistema stabile, un input di durata finita provoca sempre una risposta a sua volta di durata finita, quindi transiente. 2. Causalit` a : imporre che y[n] per n = n0 dipenda solo da x[n] n ≤ n0 (valori passati) implica che sia h[n] = 0 per n < 0. Infatti y[n0 ]

=

k=+∞ X

k=−∞

=

k=−1 X

k=−∞

h[k]x[n0 − k] = h[k]x[n0 − k] +

k=+∞ X k=0

h[k]x[n0 − k] =

= . . . h[−3]x[n0 + 3] + h[−2]x[n0 + 2] + h[−1]x[n0 + 1] + h[0]x[n0 ] + +h[1]x[n0 − 1] + h[1]x[n0 − 1] + h[2]x[n0 − 2] + h[3]x[n0 − 3] . . . da cui si vede chiaramente che se i valori futuri dell’input (. . . x[n0 + 3], x[n0 +2] . . .) devono essere assenti in y[n0 ], deve valere la condizione h[n] = 0 per n < 0.

1.3. SISTEMI LINEARI INVARIANTI NEL TEMPO (LTI)

27

La causalit`a porta a scrivere la convoluzione come y[n] =

+∞ X

k=0

x[n − k]h[k] =

n X

k=−∞

x[k]h[n − k]

e se poi si ha pure un input causale, y[n] =

n X

k=0

n X

x[n − k]h[k] =

k=0

x[k]h[n − k]

Se ne deduce che la somma di convoluzione `e limitata tra 0 e n per un sistema causale con input causale, anche se x[n] e h[n] sono infinitamente lunghe. Tale somma di convoluzione non `e comunque realizzabile (calcolabile) in pratica, perch´e richiede la memorizzazione, al crescere di n, di un numero non limitato di campioni delle sequenze x[n] e h[n]. Un sistema causale con un input causale d`a un output causale: infatti ................... y[−1] = 0 y[0] = x[0]h[0] y[1] = x[1]h[0] + x[0]h[1] ...................

1.3.5

Sistemi FIR e IIR

Consideriamo alcuni esempi di sistemi per introdurre la distinzione tra sistemi FIR (Finite Impulse Response) e IIR (Infinite Impulse Response). • Media mobile: +M X2 1 h[n] = δ[n − k] = M1 + M2 + 1 k=−M1

(

1 M1 +M2 +1

0

−M1 ≤ n ≤ M2 altrove.

Pertanto la risposta all’impulso del sistema ha lunghezza finita: si dice che il sistema `e FIR = Finite Impulse Response. In questo caso `e sempre S < ∞: un sistema FIR `e sempre stabile. Inoltre come gi` a sappiamo, il sistema `e causale se −M1 ≥ 0 e M2 ≥ 0. Si noti che in generale ogni sistema FIR non causale pu` o essere reso tale mettendolo in cascata con un opportuno sistema ritardatore.

28

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO • Accumulatore:

n X

( 1 n≥0 δ[k] = h[n] = ≡ u[n] 0 n 0 (sistema causale): PM2 y[n] = M21+1 k=0 x[n − k] che `e una LCCDE con N = 0, M = M2 , a′0 = 1, b′k = M2 .

1 M2 +1

con 0 ≤ k ≤

Per` o lo stesso sistema pu` o essere rappresentato anche da una LCCDE di forma ricorsiva, cio`e con N 6= 0: (M ) M2 2 X X 1 y[n] − y[n − 1] = x[n − l − 1] = x[n − k] − M2 + 1 k=0

=

l=0

1 {x[n] + x[n − 1] + . . . + x[n − M2 ] − x[n − 1] − . . . − x[n − M2 − 1]} = M2 + 1 1 = {x[n] − x[n − (M2 + 1)]} M2 + 1

che `e una LCCDE con N = 1, M = M2 + 1, a′0 = 1, a′1 = −1, b′0 = b′M2 +1 = M21+1 e b′k = 0 altrimenti. Questo caso illustra una propriet` a generale dei sistemi LTI: per rappresentare la relazione ingresso-uscita di un sistema LTI si pu` o usare un numero illimitato di LCCDE distinte; uno stesso sistema pu` o essere posto in forma ricorsiva, oppure no.

1.3.8

Le soluzioni di una LCCDE

Abbiamo visto che per rappresentare la relazione ingresso-uscita di un sistema LTI si pu` o usare un numero illimitato di LCCDE diverse. D’altra parte, come nel caso delle equazioni differenziali lineari a coefficienti costanti che si trovano nella teoria dei sistemi analogici, anche nel caso discreto una LCCDE non identifica univocamente l’output y[n], cio`e non esprime in modo univoco la relazione ingresso-uscita di un sistema LTI. Ci` o avviene perch´e data x[n], per y[n] esiste tutta una famiglia di soluzioni della LCCDE data: per un certo input particolare xp [n] di cui si sia trovato il

30

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

corrispondente output yp [n] soddisfacente la LCCDE, ogni y[n] = yp [n] + yh [n], dove yh [n] `e una qualsiasi soluzione dell’omogenea associata N X

k=0

a′k y[n − k] = 0,

soddisfer`a anch’esso la LCCDE. La yh [n] in generale `e poi un membro di una famiglia di soluzioni della forma yh [n] =

N X

n Am zm

m=1

dove gli Am sono N coefficienti a priori indeterminati e gli zm sono numeri complessi, radici (che per semplicit` a supporremo tutte distinte, cio`e semplici) PN ′ n−k del polinomio caratteristico k=0 ak z .

Per vedere questo si assume che la soluzione abbia forma di potenza, cio`e yh [n] = z n , e la si sostituisce nell’equazione omogenea: N X

a′k z n−k = 0 = z n−N (a′0 z N + a′1 z N −1 + . . . + a′N −1 z + a′N ).

k=0

La parte in parentesi `e proprio il polinomio caratteristico, che ha grado N e possiede N radici in generale complesse zm , m = 1, N . Allora la soluzione pi` u generale `e n yh [n] = A1 z1n + A2 z2n + . . . + AN zN con coefficienti Am che sono poi da determinarsi mediante le condizioni iniziali specificate per il sistema. Questo avendo supposto che tutte le radici fossero semplici. Se vi sono radici multiple cambia un po’ la forma dei termini ad esse associati in yh [n], ma ci sono comunque N coefficienti indeterminati. Concludendo, possiamo affermare che una LCCDE rappresenta univocamente la relazione ingresso-uscita di un LTI solo se supponiamo di fissare la componente omogenea adeguatamente, imponendo un qualche vincolo, col quale le condizioni iniziali (ausiliarie) dovranno essere consistenti. Siccome i coefficienti indeterminati sono N , avremo bisogno di N condizioni ausiliarie: i valori di y[n] per N valori di n, per esempio y[−1], y[−2], . . . y[−N ]. Noti questi, si risolver` a un set di N equazioni lineari per ottenere gli N coefficienti Am ; trovati questi si potr`a scrivere yh [n] e quindi l’output y[n] in modo univoco. In alternativa, noti i valori iniziali di y[n], quelli successivi possono essere generati univocamente per ricorrenza mediante la LCCDE, scritta ora nella forma

1.3. SISTEMI LINEARI INVARIANTI NEL TEMPO (LTI)

31

esplicita y[n] = −

N X a′

k y[n a′0 k=1

− k] +

a′

M M N X X X b′r br x[n − r] a y[n − k] + x[n − r] = − k a′ r=0 r=0 0 k=1

b′

dove si `e posto ak′ = ak e ar′ = br ; in questa LCCDE, in generale ricorsiva, il 0 0 calcolo di y[n] coinvolge anche valori passati dell’output stesso. Poich´e siamo interessati a sistemi LTI, le condizioni ausiliarie devono essere consistenti coi vincoli di linearit`a ed invarianza alla traslazione. Ci` o per` o non `e un vincolo sufficiente per l’univocit` a della soluzione; ad esempio, in genere vi sono sistemi LTI sia causali, sia non causali che soddisfano la stessa LCCDE. La causalit`a, allora, `e in genere il vincolo scelto per rendere unica la soluzione. Si parla in questo caso di condizioni iniziali di riposo: l’informazione ausiliaria `e che se x[n] = 0 per n < n0 (e di solito si assume n0 = 0) allora anche y[n] = 0 per n < n0 . C’`e un caso in cui non si ha recursione ePquindi non sono richieste condizioni M ausiliarie: `e il caso N = 0 ossia y[n] = k=0 bk x[n − k] che comporta che il sistema sia FIR: ( M X h[n] = bn 0 ≤ n ≤ M bk δ[n − k] = h[n] = h[n] = 0 altrove. k=0 Ci` o non toglie che un FIR possa essere posto in forma ricorsiva (si ricordi l’esempio della media mobile); analogamente un sistema IIR pu` o essere posto in forma non ricorsiva, ma allora M pu` o divenire infinito.

1.3.9

Esempio: dalla LCCDE alla risposta all’impulso

Facciamo un esempio di • uso dell’equazione alle differenze per il calcolo della risposta all’impulso • sistemi ricorsivi e non ricorsivi: uno stesso sistema LTI pu` o essere posto in entrambe le forme. Consideriamo un sistema ricorsivo che esiste ed `e unico: il sistema causale 1 y[n] − y[n − 1] = x[n] 2

(N = 1, M = 0).

Scegliamo x[n] = δ[n], col che y[n] = h[n]: 1 h[n] − h[n − 1] = δ[n] 2

32

CAPITOLO 1. SEGNALI E SISTEMI A TEMPO DISCRETO

per ogni n; inoltre essendo il sistema scelto causale, h[n] = 0 per n < 0. In particolare, in questo caso di N = 1 la condizione iniziale `e h[−1] = 0. Ponendo via via n = 0, 1, 2, . . . si ha 1 h[0] − h[−1] = δ[0] = 1 2 1 1 h[1] − h[0] = δ[1] = 0 = h[1] − 2 2 da cui h[1] =

1 2

1 h[2] − h[1] = δ[2] = 0 = h[2] − 2 da cui h[2] =

 1 2 2

 2 1 2

ecc...

Si trova in generale h[n] =

 n 1 u[n]. 2

Se invece prendiamo il sistema non ricorsivo 1 y[n] = x[n] + x[n − 1] + 2

 k  2 1 1 x[n − 2] + . . . + x[n − k] + . . . 2 2

(N = 0, M = ∞), con x[n] = δ[n] avremo ( n  2  k 1 1 1 1 2 h[n] = δ[n]+ δ[n−1]+ δ[n−2]+. . .+ δ[n−k]+. . . = 2 2 2 0 ossia ancora una volta h[n] =

n≥0 n 0 e |x[n]| ≤ M+ R+ Ad esempio, se assumiamo che |x[n]| ≤ M− R− n < 0 (valore assoluto di x[n] limitato all’infinito da andamenti di potenza) e R+ > R− , allora c’`e convergenza assoluta in R− < |z| < R+ .

Per sequenze con |x[n]| < ∞, esaminiamo ora dei casi particolari.

38

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO • Sequenze periodiche, x[n] = x[n + N ] (n ∈ (−∞, +∞): la trasformata z non esiste. • Sequenze monolatere destre, x[n] = 0 per n < n0 con n0 intero finito, per P+∞ cui X(z) = n=n0 x[n]z −n : D `e l’esterno di un cerchio di raggio R− ; se n0 ≥ 0 la sequenza `e causale e si ha convergenza in z = ∞; se n0 < 0 non si ha convergenza in z = ∞. Ad esempio, con n0 = 0 la sequenza `e causale, x[n] = 0 per n < 0; allora n R+ = 0 con n negativo, quindi R+ → ∞. • Sequenze monolatere x[n] = 0 per n > n0 : per esse X(z) = Psinistre, Pn0 ∞ n −n x[−n]z . Perci`o D `e l’interno di un cerchio x[n]z = n=−∞ n=−n0 di raggio R+ , con l’eccezione di z = 0 se n0 > 0. n Ad esempio, con n0 = 0, x[n] = 0 per n > 0; allora R− = 0 con n positivo, quindi R− → 0.

P+∞ • Sequenze bilatere: `e il caso generale in cui X(z) = n=−∞ x[n]z −n = P−1 P +∞ −n + n=0 x[n]z −n di cui il primo addendo rappresenta una n=−∞ x[n]z sequenza monolatera sinistra con n0 = −1 ed il secondo una sequenza monolatera destra con n0 = 0. Come illustrato nella Fig. 2.2, la prima converge per |z| < R+ incluso z = 0 (pannello a), la seconda converge per |z| > R− incluso z = ∞ (pannello b). Se R+ > R− , ci`o significa convergenza in R− < |z| < R+ . • Sequenze di lunghezza finita,P x[n] = 0 per n < n1 e n > n2 con n1 , n2 n2 interi finiti: per esse X(z) = n=n x[n]z −n e quindi R+ → ∞, R− → 0. 1 Pertanto z pu` o assumere tutti i valori ad eccezione di z = 0 se n2 > 0 e di z = ∞ se n1 < 0: si ha convergenza almeno in 0 < |z| < ∞, pi` u, eventualmente, z = 0 oppure z = ∞.

Figura 2.2: a) Regione di convergenza per una sequenza monolatera destra e b) regione di convergenza per una sequenza monolatera sinistra

2.1. TRASFORMATA Z

2.1.1

39

Esempi di Trasformate z

• La trasformata z di δ[n] `e 1: +∞ X

δ[n]z −n = δ[0]z 0 = 1

n=−∞

per qualsiasi z.

• Consideriamo la sequenza

( an x[n] = 0

n≥0 n |a|, da cui deduciamo R− = |a|, R+ = ∞. • Consideriamo la sequenza

( −an x[n] = 0

n |a|. Usando lo sviluppo in serie per log(1 + β) valido per |β| < 1 si ottiene X(z) =

+∞ +∞ X X (−1)n+1 an z −n x[n]z −n = n n=−∞ n=1

che porta a concludere, per confronto diretto, ( n (−1)n+1 an n ≥ 1 x[n] = 0 n ≤ 0.

2.1.4

Trasformata z convergente sul cerchio unitario

Quando la trasformata z converge sul cerchio unitario C caratterizzato da |z| = r = 1, z = ejω (Fig. 2.6), X(z) su C diviene la Trasformata di Fourier a tempo discreto (DTFT) di x[n]: jω

X(e ) =

+∞ X

x[n]e−jωn .

n=−∞

Si noti che:

Figura 2.6: Il cerchio unitario C

• la x[n] `e una sequenza ossia una funzione del tempo discreto mentre la trasformata `e una funzione continua della variabile ω. • X(ejω ) `e periodica con periodo 2π: j(ω+2πk)

X[e

]=

+∞ X

n=−∞

−j(ω+2πk)n

x[n]e

=

+∞ X

n=−∞

x[n]e−jωn e−j2πkn = X(ejω )

44

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO in quanto e−j2πkn = 1. P+∞ • X(ejω ) = n=−∞ x[n]e−jωn pu` o intendersi come lo sviluppo in serie di Fourier della funzione continua X(ejω ), periodica nella variabile continua ω. Far variare ω da −∞ a +∞ corrisponde a percorrere infinite volte il cerchio unitario (wrapping dell’asse ω). • ejωn e ej(ω+2πk)n sono indistinguibili, quindi `e ovvio che X(ejω ) debba essere la stessa alle due frequenze; ad esempio, se si tratta della H(ejω ) di un sistema LTI, esso reagir`a ugualmente a due frequenze indistinguibili. • Quando x[n] deriva da una x(t) analogica per campionamento a passo costante Tc , possiamo legare le variabili frequenziali del tempo discreto (ω ω Ω = Tνc . = 2πT e ν) a quelle del tempo continuo (f [Hz] e Ω [rad/s]): f = 2π c 2π 1 jω Il periodo di X(e ) `e 2π in ω, 1 in ν, Tc in f , Tc in Ω.

2.1.5

Propriet` a della Trasformata z

Nota: qui e nel seguito indichiamo l’operazione di trasformata, che `e una operazione reversibile, col simbolo simmetrico ⇐⇒; il contesto di volta in volta chiarisce di quale trasformata si tratti. Pertanto in questa sezione, ad esempio, ⇐⇒ significa “il termine di destra `e la trasformata z del termine di sinistra e quello di sinistra `e l’antitrasformata z del termine di destra”, ecc... 1. Linearit` a : date a e b costanti arbitrarie, ax1 [n] + bx2 [n] ⇐⇒ aX1 (z) + bX2 (z) e la regione di convergenza `e al minimo l’intersezione delle regioni di convergenza di X1 (z) e di X2 (z) (se la combinazione lineare `e tale da introdurre zeri che “cancellino” dei poli, la regione pu` o essere pi` u estesa). 2. Ritardo o traslazione: se y[n] = x[n − m], allora Y (z) = z −m X(z).

X(z) e Y (z) hanno la stessa regione di convergenza, salvo che per z = 0 e z = ∞. Infatti per m > 0 vengono introdotti dei poli nell’origine e degli zeri all’infinito; viceversa per m < 0.

3. Moltiplicazione per una sequenza del tipo an : dato a in generale complesso, an x[n] ⇐⇒ X(z/a) con regione di convergenza |a|Rx− < |z| < |a|Rx+ , dove Rx− e Rx+ delimitano la regione di convergenza di X(z). Le posizioni di poli e zeri vengono modificate di un fattore a: • a reale (diverso da zero): compressione o espansione del piano z; • a complesso, |a| = 1: rotazione del piano z.

2.1. TRASFORMATA Z

45

4. Derivazione: nx[n] ⇐⇒ −z

dX(z) dz

in Rx− < |z| < Rx+ , eccetto la possibile cancellazione o aggiunta dello zero e dell’infinito. 5. Complesso-coniugazione: x∗ [n] ⇐⇒ X ∗ (z ∗ ) in Rx− < |z| < Rx+ . 6. Folding o rovesciamento temporale: x[−n] ⇐⇒ X(1/z) in 1/Rx+ < |z| < 1/Rx− . 7. Parte reale e parte immaginaria di una sequenza complessa : ℜ {x[n]} ⇐⇒

1 [X(z) + X ∗ (z ∗ )] 2

ℑ {x[n]} ⇐⇒

1 [X(z) − X ∗ (z ∗ )] 2j

al minimo in Rx− < |z| < Rx+ . 8. Convoluzione (propriet` a importantissima per la teoria dei sistemi LTI): y[n] = x1 [n] ∗ x2 [x] ⇐⇒ Y (z) = X1 (z)X2 (z) al minimo nell’intersezione delle regioni di convergenza di X1 (z) e X2 (z). Se un polo di X1 (z) (o di X2 (z)) `e cancellato da uno zero di X2 (z) (o di X1 (z)), la regione di convergenza di Y (z) pu` o essere pi` u estesa. 9. Teorema del valore iniziale: se x[n] `e causale, x[0] = limz→∞ X(z). 10. Teorema del valore finale: se X(z) esiste per |z| > r e r < 1 (convergenza anche sul cerchio unitario) allora x[n] → 0 per n → ∞.

Se X(z) `e razionale ed `e la trasformata z di una sequenza x[n] causale (il che significa che X(z) converge all’esterno di un cerchio contenente tutti i suoi poli, che sono in numero finito) questa relazione `e verificata se tutti i poli sono interni al cerchio unitario.

11. Teorema della convoluzione complessa: la trasformata z di un prodotto di sequenze ha una forma del tipo “integrale di convoluzione” (tenuto conto che le trasformate z sono funzioni periodiche di ω con periodo 2π). In formule, data w[n] = x[n]y[n], si trova I 1 w[n] = x[n]y[n] ⇐⇒ W (z) = X(z/v)Y (v)v −1 dv 2πj C

46

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO dove il percorso C, antiorario, deve essere scelto entro l’intersezione delle regioni di convergenza di X(z/v) e Y (v); oppure, in alternativa, I 1 w[n] = x[n]y[n] ⇐⇒ W (z) = X(v)Y (z/v)v −1 dv 2πj C ′ dove il percorso C ′ , antiorario, deve essere scelto entro l’intersezione delle regioni di convergenza di X(v) e Y (z/v). Scegliendo come percorso una circonferenza ed esprimendo le variabili in forma polare, z = rejω , v = ρejθ , si trova    Z +π r 1 j(ω−θ) jθ jω dθ e X(ρe )Y W (re ) = 2π −π ρ che rappresenta la convoluzione di X(rejω ) e Y (rejω ) come funzioni di ω, a parte i limiti di integrazione finiti. Si tratta in realt`a di una integrazione su un periodo di X(z) e Y (z), che viene detta “convoluzione periodica” di X(z) con Y (z), convergente al minimo in Rx− Ry− < |z| < Rx+ Ry+ .

12. Relazione di Parseval per la Trasformata z: +∞ X

x[n]y ∗ [n] =

n=−∞

1 2πj

I

X(v)Y ∗ (1/v ∗ )v −1 dv

C

dove il percorso C va scelto nell’intersezione delle regioni di convergenza di X(v) e di Y ∗ (1/v ∗ ). Questa propriet` a discende dal teorema della convoluzione complessa applicato a w[n] = x[n]y ∗ [n]. Nel caso x[n] = y[n] la relazione esprime l’energia di x[n]: +∞ X

n=−∞

|x[n]|2 =

1 2πj

I

X(v)X ∗ (1/v ∗ )v −1 dv.

C

Infine sul cerchio unitario (ammesso che su di esso vi sia convergenza) tale relazione diviene Z +π +∞ X 1 |X(ejω )|2 dω, |x[n]|2 = 2π −π n=−∞ che `e la relazione di Parseval per la DTFT di x[n]. Quest’ultima `e una relazione importante, molto utile nel seguito.

2.1.6

Funzione di trasferimento di un sistema LTI

Un sistema LTI che soddisfi ad una LCCDE di ordine finito ha una funzione di trasferimento H(z) razionale, data da un rapporto di polinomi in z −1 . Prendiamo infatti y[n] + a1 y[n − 1] + . . . + aN y[n − N ] = b0 x[n] + b1 x[n − 1] + . . . + bM x[n − M ]

2.1. TRASFORMATA Z

47

e trasformiamo ricordando la propriet` a del ritardo: Y (z)+a1 Y (z)z −1 +. . .+aN Y (z)z −N = b0 X(z)+b1 X(z)z −1 +. . .+bM X(z)z −M da cui PM −r b0 + b1 z −1 + . . . + bM z −M b(z) r=0 br z Y (z)/X(z) = = . = P N −k 1 + a1 z −1 + . . . + aN z −N a(z) k=0 ak z Ma per la propriet` a di convoluzione della trasformata z, y[n] = x[n] ∗ h[n] ⇐⇒ Y (z) = X(z)H(z), quindi H(z) = Y (z)/X(z); in conclusione, H(z) =

b0 + b1 z −1 + . . . + bM z −M . 1 + a1 z −1 + . . . + aN z −N

La corrispondente h[n] ha, in generale, durata infinita. Riassumendo: • H(z) `e la trasformata z di h[n]; • H(z) `e l’autovalore del sistema LTI, corrispondente all’autofunzione z n ; • H(z) `e il rapporto tra la trasformata dell’uscita del sistema LTI e quella dell’ingresso, per un qualsiasi input x[n]. Commentiamo ancora quest’ultima relazione, H(z) = Y (z)/X(z). Per derivarla dall’equazione alle differenze abbiamo assunto soltanto • che il sistema fosse LTI • che X(z) e Y (z) avessero ROC almeno in parte sovrapposte, per la convergenza di H(z). Non abbiamo assunto che il sistema LTI fosse stabile e/o causale: in corrispondenza di ci` o, dall’equazione alle differenze otteniamo H(z) ma non la sua ROC e quindi non viene univocamente determinata la sequenza h[n]. Ci` o `e consistente col fatto che una LCCDE non identifica univocamente la relazione ingresso-uscita di un LTI se non in associazione con opportune condizioni al contorno. Pertanto, data una LCCDE, possono esserci per H(z) scelte diverse per la ROC, soddisfacenti il vincolo che si tratti di un anello delimitato da poli ma privo

48

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

di poli al suo interno, ed ognuna condurr` a ad una diversa h[n]. Se per`o si assume il vincolo di causalit`a, h[n] deve essere monolatera destra, quindi la ROC deve estendersi all’esterno del polo pi` u esterno. Se si assume il vincolo di stabilit` a, la ROC deve includere il cerchio unitario. Le due richieste non sono necessariamente compatibili: lo sono solo se tutti i poli di H(z) sono interni al cerchio unitario.

2.1.7

Sequenza di uscita di un sistema LTI

Data la funzione di trasferimento di un sistema LTI, H(z), con la sua ROC, e considerata una sequenza di ingresso x[n], possiamo seguire, in linea di principio, diverse vie per ricavare la sequenza di uscita y[n]. 1. Dominio del tempo discreto • Convoluzione: si inverte H(z) per ottenere h[n] e poi si calcola y[n] = x[n] ∗ h[n]. • Equazione alle differenze: dall’espressione di H(z) si deducono i valori dei coefficienti della LCCDE e da questa ricorsivamente si costruisce y[n]. 2. Dominio delle trasformate • Si trasforma x[n], ottenendo X(z). Si forma poi Y (z) = H(z)X(z) e da quest’ultima antitrasformando si ottiene y[n]. Si noti per` o che mentre un sistema FIR `e facilmente attuabile per via diretta nel dominio del tempo tramite la convoluzione, che in quel caso implica solo addizioni, moltiplicazioni e l’uso di un numero finito di locazioni di memoria, per un sistema IIR ci`o `e impossibile. Si ricorrer` a dunque all’equazione alle differenze (ricorsiva).

2.1.8

Strutture per la realizzazione di sistemi LTI

La relazione ingresso - uscita di un sistema LTI che obbedisca ad una LCCDE e quindi abbia una H(z) razionale (e che per l’unicit` a supporremo causale) `e esprimibile come un algoritmo di calcolo che combini tra loro solo tre operazioni fondamentali: addizione, ritardo e moltiplicazione per una costante. Tale algoritmo definisce la struttura interna del sistema, che viene rappresentata come un diagramma a blocchi consistente di interconnessioni di sommatori, ritardatori di k passi temporali e moltiplicatori. I simboli delle tre operazioni sono mostrati in Fig. 2.7. In particolare, i ritardatori ed i moltiplicatori sono essi stessi dei sistemi LTI “elementari” e per essi nel

2.1. TRASFORMATA Z

49

Figura 2.7: Simboli dei sommatori, dei ritardatori e dei sommatori simbolo geometrico (rettangolo, triangolo) sono inscritte le rispettive funzioni di trasferimento. La funzione di trasferimento del moltiplicatore di un fattore a `e H(z) = a. Infatti se y[n] = ax[n], posto x[n] = z n si ha y[n] = z n H(z) = ax[n] = az n , da cui appunto H(z) = a. La funzione di trasferimento del ritardatore di k passi temporali `e H(z) = z −k . Infatti se y[n] = x[n − k], posto x[n] = z n si ha y[n] = z n H(z) = x[n − k] = z n−k = z n z −k , da cui appunto H(z) = z −k . Per rappresentare con un diagramma a blocchi la pi` u generale LCCDE y[n] = −

N X

k=1

ak y[n − k] +

si introduce la sequenza ausiliaria v[n] = y[n] = −

N X

k=1

M X

k=0

PM

bk x[n − k]

k=0 bk x[n

− k], con cui si scrive

ak y[n − k] + v[n].

Ne risulta il diagramma mostrato in Fig. 2.8 e detto “forma diretta I”. Questo diagramma di base pu` o poi essere modificato in una variet`a di modi, senza cambiare la H(z). Ciascun riarrangiamento rappresenta un diverso algoritmo computazionale per attuare lo stesso sistema. Ad esempio, il precedente diagramma pu` o essere visto come “cascata” di due sistemi: uno che ha come input x[n] e come output v[n], l’altro che ha come

50

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

Figura 2.8: Forma diretta di tipo I

input v[n] e come output y[n]. Essendo entrambi sistemi LTI, l’ordine in cui si considerano pu` o essere invertito, per cui lo schema pu` o diventare quello mostrato nella Fig. 2.9, dove per semplicit` a grafica si `e posto M = N (cosa non restrittiva perch´e nel caso in cui sia M 6= N , alcuni coefficienti semplicemente saranno nulli). Il segnale w[n] nelle due catene centrali in Fig. 2.9 `e lo stesso, per cui si possono collassare le due catene in una sola: si ottiene cos`ı un diagramma (forma diretta II, Fig. 2.10) che ha il minimo numero di ritardi possibilie, che `e pari a max(N, M ). Una attuazione col numero minimo di ritardi `e detta anche “in forma canonica”. Altri riarrangiamenti possono ottenersi impiegando sottosistemi di ordine inferiore in cascata o in parallelo. Tutte queste diverse forme corrispondono a trasformazioni lineari delle variabili nel set di equazioni che la LCCDE rappresenta; poich´e si tratta di equazioni lineari, tali trasformazioni conducono a set equivalenti. ` possibile un numero illimitato di trasformazioni! E Ognuna rappresenta una diversa struttura secondo la quale il sistema LTI pu` o effettivamente essere realizzato in software. Si pu` o mostrare che ogni realizzazione di un sistema IIR deve essere ricorsiva se si vuole avere, nella struttura, un numero finito di ritardi.

2.1. TRASFORMATA Z

51

Figura 2.9: Una possibile forma in cui pu` o trasformarsi il diagramma precedente

Figura 2.10: Forma diretta di tipo II o forma diretta canonica

52

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

Nel caso di sistemi FIR, y[n] =

M X

k=0

bk x[n − k] =

M X

k=0

h[k]x[n − k]

e le due forme dirette si riducono allo schema mostrato in Fig. 2.11. In al-

Figura 2.11: Forma cui si riducono le due forme dirette nel caso FIR ternativa si possono avere forme in cui si mettono in cascata sezioni di ordine 2. Se poi la H(ejω ) del sistema considerato ha fase lineare (una caratteristica definita pi` u avanti), ci`o comporta, come vedremo, particolari simmetrie dei coefficienti h[n], col risultato che il numero di moltiplicatori pu` o essenzialmente dimezzarsi. Lo studio delle strutture per la realizzazione di sistemi LTI `e di interesse perch´e strutture a priori equivalenti, per ci`o che concerne la relazione ingresso-uscita, quando i coefficienti e le variabili sono idealmente a precisione infinita (caso teorico), possono avere prestazioni molto diverse quando la precisione `e limitata, come accade nelle attuazioni in software. Infatti strutture diverse significano algoritmi software diversi, e quindi effetti diversi conseguenti alla rappresentazione con precisione finita dei coefficienti h[n] ed al troncamento e/o arrotondamento nei calcoli intermedi. Tali effetti rivestono tuttavia meno importanza per i sistemi FIR di quanto non succeda per i sistemi IIR, e poich´e ci occuperemo quasi esclusivamente di sistemi FIR, ne tralasciamo lo studio.

2.1.9

Poli e zeri di H(z): forme alternative per H(z) razionali

Confrontando la condizione di stabilit` a di un sistema LTI, k=+∞ X

k=−∞

|h[k]| < ∞,

2.1. TRASFORMATA Z

53

con quella che definisce la regione di convergenza di H(z), k=+∞ X

k=−∞

|h[k]||z −k | < ∞,

vediamo che se la regione di convergenza di H(z) comprende il cerchio unitario (|z| = 1), il sistema `e stabile e vicersa. Per un sistema causale e stabile la regione di convergenza comprende il cerchio unitario e tutto il piano z esterno a quest’ultimo, incluso z = ∞; tutti i poli di H(z) stanno entro il cerchio unitario, h[n] → 0 per n → ∞ (teorema del valore finale) e la H(z) sul cerchio unitario, H(z)|z=ejω = H(ejω ) `e la risposta in frequenza del sistema. Gli zeri di H(z) invece possono essere ovunque. • Si dimostra che una

PM

r=0 H(z) = PN k=0

br z −r ak z −k

pu` o, ammesso che sia a0 , b0 6= 0, essere fattorizzata come QM (1 − wr z −1 ) H(z) = A Qr=1 N −1 ) k=1 (1 − pk z

dove il fattore di scala A vale b0 /a0 . Ma poich´e abbiamo posto a0 = 1, A = b0 . In questa espressione, al numeratore ciascun fattore d`a uno zero in z = wr ed un polo in z = 0, a denominatore ciascun fattore d`a un polo in z = pk ed uno zero in z = 0. Se b0 = b1 = . . . = bM1 = 0 si ha invece H(z) = Bz

−(M1 +1)

QM −(M1 +1) r=1

QN

k=1 (1

(1 − wr z −1 )

− pk z −1 )

dove il fattore di scala B vale bM1 +1 /a0 .

• Oltre a quella citata, `e possibile un’altra forma di fattorizzazione, che si ottiene esprimendo innanzi tutto H(z) come rapporto di polinomi in z, anzich`e in z −1 (cosa sempre possibile). Ci` o si realizza come segue. Sia bM −r il primo coefficiente del numeratore b(z) di H(z), non nullo (r ≤ M ; per esempio r = M se b0 6= 0). Allora, con a0 = 1,  zN −M (b r M −r z +...+bM )  N ≥ M, N − M ≥ 0,  zN +a1 zN −1 +...+aN H(z) =   bM −r z r +...+bM N < M, M − N > 0. z M −N (z N +a1 z N −1 +...+aN ) Nel primo caso, il grado del numeratore `e N − M + r con r ≤ M , quindi il grado del numeratore `e ≤ N . Il grado del denominatore invece `e N .

54

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO Nel secondo caso, il grado del numeratore `e r ≤ M e quello del denominatore `e M (si noti che l’esponente M − N a denominatore `e non negativo). Pertanto in entrambi i casi il grado del numeratore non supera quello del denominatore (“frazione propria”), come si addice ad un sistema causale (si ricordi che potenze positive di z sono associate ad anticipi, mentre potenze negative sono associate a ritardi del segnale). Se r = M (b0 6= 0) i gradi del numeratore e del denominatore sono uguali (“frazione esattamente propria”), nel qual caso y[n] dipende non solo dai valori passati dell’ingresso ma anche dal valore contemporaneo x[n]; se b0 = 0 la y[n] dipende solo dai valori passati dell’input ed il numeratore `e di grado inferiore al numeratore (“frazione strettamente propria”). L’espressione precedente viene poi opportunamente fattorizzata; ad esempio, se b0 6= 0, r = M , si pu` o scrivere H(z) come H(z) = b0 z N −M

zM + (b1 /b0 )z M −1 + . . . + (bM /b0 ) z N + a1 z N −1 + . . . + aN

H(z) = b0 z N −M

(z − w1 )(z − w2 ) + . . . + (z − wM ) . (z − p1 )(z − p2 ) + . . . + (z − pN )

e quindi

In questa espressione, l’esponente N − M pu` o avere segno positivo o negativo o anche essere nullo. Il fattore b0 viene spesso scritto come G (guadagno o gain): G = b0 /a0 = b0 per a0 = 1. Questa forma di H(z) viene detta forma fattorizzata o forma zero-polegain. Si ricordi che se i coefficienti sono reali, le radici wk e pk dei polinomi numeratore e denominatore appaiono in coppie complesso-coniugate. Dalla forma zero-pole-gain si vede che nel piano z, a z 6= 0 e z 6= ∞, H(z) ha M zeri e N poli, pi` u |N − M | zeri (se N ≥ M ) o poli (se N < M ) nell’origine. Pertanto al finito H(z) ha tanti zeri quanti sono i poli. Ci` o permette di riscriverla come H(z) = b0

(z − w1 )(z − w2 ) + . . . + (z − wL ) , (z − p1 )(z − p2 ) + . . . + (z − pL )

L = max(N, M )

in cui alcuni wk e pk potranno essere nulli. Si osservi inoltre che, naturalmente, ogni polo in z = 0 d`a uno zero a z = ∞ ed ogni zero a z = 0 d`a un polo a z = ∞. Abbiamo cos`ı lo schema presentato nella Tabella 2.1, dove “TOT” indica il numero totale di poli o zeri, esclusi quelli eventualmente presenti all’infinito. Il numero di questi ultimi `e riportato in parentesi quadre, in

2.1. TRASFORMATA Z

ZERI POLI

z finito 6= 0 M N

z=0 N −M

N ≤M [z = ∞] [N − M ]

TOT N N

z=0 M −N

N 0 0 jω arg[Xe (e )] = ±π Xe (ejω ) < 0   non definita Xe (ejω ) = 0

e pertanto la trasformata di una sequenza reale pari `e una funzione reale e pari della frequenza.

68

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

12. Trasformata di una sequenza pari attorno ad un Ns 6= 0 intero (Fig. 2.20): x[n] = xe [n − Ns ] ⇐⇒ X(ejω ) = e−jωNs Xe (ejω ) e ricordando che Xe (ejω ) `e una funzione reale e pari di ω, vediamo che • X(ejω ) e Xe (ejω ) hanno lo stesso modulo,

• arg[X(ejω )] = arg[Xe (ejω) ] − Ns ω.

Pertanto a parte i salti di ±π dovuti ai cambiamenti di segno di Xe (ejω ), la fase di X(ejω ) `e lineare in ω. Questa propriet` a `e importante nel progetto di filtri numerici.

x[n]

Analoghe propriet` a valgono per Ns semintero.

x[n]

Ns

Ns Figura 2.20: Segnale pari attorno ad un Ns 6= 0 intero o semintero 13. Trasformata di una sequenza reale dispari: xo [n] = −xo [−n] ⇐⇒ Xo (ejω ) = 2j con

+∞ X

xo [n] sin (ωn)

n=1

+∞ X xo [n] sin (ωn) , |Xo (ejω )| = 2 n=1   Xo (ejω ) > 0 π/2 jω arg[Xo (e )] = π/2 ± π Xo (ejω ) < 0   non definita Xo (ejω ) = 0

e pertanto la trasformata di una sequenza reale dispari `e una funzione immaginaria e dispari della frequenza. 14. Trasformata di una sequenza dispari attorno ad un Ns 6= 0 intero (Fig. 2.21): x[n] = xo [n − Ns ] ⇐⇒ X(ejω ) = e−jωNs Xo (ejω ) e ricordando Xo (ejω ), funzione immaginaria e dispari di ω, vediamo che

2.2. TRASFORMATA DI FOURIER A TEMPO DISCRETO (DTFT)

69

• X(ejω ) e Xo (ejω ) hanno lo stesso modulo,

• arg[X(ejω )] = arg[Xo (ejω )] − Ns ω.

Pertanto a parte i salti di ±π dovuti ai cambiamenti di segno di Xe (ejω ), la fase di X(ejω ) `e lineare in ω.

x[n]

Analoghe propriet` a valgono per Ns semintero.

x[n]

Ns

Ns Figura 2.21: Segnale dispari attorno ad un Ns 6= 0 intero o semintero

2.2.6

La DTFT di una sequenza causale di lunghezza finita

Introduciamo qui in maniera qualitativa la Trasformata Discreta di Fourier (DFT = Discrete Fourier Transform), cui in seguito arriveremo attraverso un procedimento pi` u rigoroso e che costituisce il principale strumento di analisi dei segnali discreti nel dominio della frequenza. Un segnale discreto pu` o essere ricostruito, conoscendo la sua X(ejω ) ad ogni frequenza ω in (−π, +π), mediante la relazione di sintesi della DTFT. Se per` o il segnale ha durata finita : x[n] 6= 0 per 0 ≤ n ≤ N − 1, la conoscenza di un numero finito di valori di X(ejω ) pu` o essere sufficiente, a patto di scegliere bene le ω alle quali effettuare le stime di X(ejω ). Intuitivamente: la DTFT `e una operazione lineare, quindi N valori di X(ejω ) a N valori ωk di ω (con 0 ≤ k ≤ N − 1) forniscono N equazioni lineari nelle N incognite x[n] (con 0 ≤ n ≤ N −1); il sistema ha soluzione unica se la matrice dei coefficienti non `e singolare. Perci` o se le ωk vengono scelte in modo da soddisfare questo vincolo, i valori di x[n] possono essere calcolati univocamente. I campioni X(ejω )|ω=ωk = X[k] costituiscono la DFT di x[n].

70

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

Risulta che una scelta opportuna delle ωk corrisponde ad una suddivisione di (−π, +π) sul cerchio unitario in N parti uguali (Fig. 2.22): 2πk . N La DFT pu` o essere dunque vista come risultato di campionamento in frequenωk =

Figura 2.22: Campionamento della DTFT sul cerchio unitario: esempio con N=12 za della DTFT mediante N campioni equispaziati in frequenza nell’intervallo (−π, +π) o, equivalentemente, in (0, 2π): 2π

X[k] = X(ej N k ) =

N −1 X



e−j N kn

n=0

che rappresenta appunto il campionamento di una funzione continua di ω, periodica con periodo 2π, ed `e quindi una sequenza discreta come il segnale di partenza. La derivazione e l’interpretazione della DFT pi` u rigorosamente si ottengono coi seguenti passi logici: • sequenza di lunghezza finita, • estensione periodica della sequenza, • Discrete Fourier Series (DFS) della sequenza periodica, • DFT come singolo periodo estratto dalla DFS. Tale procedimento mette in luce la fondamentale caratteristica della periodicit`a insita nella DFT e le relative implicazioni nelle applicazioni pratiche. Inoltre introducendo la DFS si viene a disporre del formalismo necessario per descrivere le propriet` a della DFT e si comprende perch´e occorra prendere campioni equispaziati in frequenza.

2.3. DISCRETE FOURIER SERIES (DFS)

2.3

71

Discrete Fourier Series (DFS)

Discutiamo l’estensione periodica di una sequenza causale di lunghezza finita e la sua rappresentazione nel dominio della frequenza, che costituisce appunto la DFS. Preso un segnale x[n] (0 ≤ n ≤ N − 1), consideriamo xp [n] ottenuta ripetendo x[n] infinite volte sull’asse n senza sovrapposizioni: si tratta ovviamente di una sequenza periodica con periodo N . La trasformata z e la trasformata di Fourier DTFT di xp [n] non esistono (ricordiamo infatti che le sequenze periodiche non ammettono trasformata z) ma `e possibile rappresentare xp [n] come Discrete Fourier Series (DFS), ossia come sovrapposizione di N esponenziali complessi in relazione armonica fra loro. Ricordando che nel discreto esistono solo N frequenze angolari distinte multiple intere di quella fondamentale associata alla periodicit` a (2π/N ), la relazione di sintesi della DFS pu` o scriversi come xp [n] =

N −1 2π 1 X Xp [k]ej N nk N k=0

(si noti la differenza rispetto al caso continuo, in cui si avrebbe una serie di infiniti termini). I coefficienti dello sviluppo sono ricavabili sfruttando l’ortogonalit` a del set degli esponenziali complessi: per m intero, si ha N −1 1 X j 2π (k−r)n = e N N n=0

( 1 0

k − r = mN altrove.

In tal modo si ottiene la relazione di analisi della DFS, Xp [k] =

N −1 X



xp [n]e−j N kn .

n=0

Si ricordi che

2π N k

= ωk e che xp [n] ≡ x[n] per n = 0, N − 1.

La DFS Xp [k] pu` o essere interpretata come una sequenza di durata finita (0 ≤ k ≤ N − 1) oppure come una sequenza periodica con periodo N , per k intero qualsiasi. Adottiamo la seconda interpretazione, atta ad ottenere una esatta dualit` a fra i domini del tempo e della frequenza. La sequenza Xp [k] pu` o inoltre essere intesa come sequenza di campioni, presi equispaziati in angolo percorrendo infinite volte il cerchio unitario, di X(z), la trasformata z di x[n], che essendo x[n] di durata finita esiste certamente almeno per 0 < |z| < ∞.

72

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

2.3.1

Alcune propriet` a della DFS

1. Linearit` a: axp1 [n] + bxp2 [n] ⇐⇒ aXp1 [k] + bXp2 [k] con a e b costanti arbitrarie. 2. Traslazione:



xp [n − m] ⇐⇒ e−j N km Xp [k], 2π

e+j N kl xp [n] ⇐⇒ Xp [k − l]. Ogni traslazione di m2 campioni, con m2 > N , non `e distinguibile da una minore, di m1 campioni con 0 ≤ m1 ≤ N − 1, tale che m2 = m1 + rN con r intero. 3. Complesso-coniugazione: x∗p [−n] ⇐⇒ Xp∗ [−k]. 4. Folding: xp [−n] ⇐⇒ Xp [−k], x∗p [−n] ⇐⇒ Xp∗ [k].

5. Dualit` a: xp [n] ⇐⇒ Xp [k]

Xp [n] ⇐⇒ N xp [−k]

6. Simmetria: limitandoci ancora alle sole sequenze reali, • la parte reale ed il modulo di Xp [k] sono pari, la parte immaginaria e la fase sono dispari; • Xp [k] = Xp∗ [−k]. 7. Convoluzione periodica: prese due sequenze xp1 [n] e xp2 [n] entrambe con periodo N e calcolata la loro DFS, quale sequenza corrisponde a (ossia `e l’antitrasformata di) Xp3 [k] = Xp1 [k] · Xp2 [k]? Si trova che

xp3 [n] =

N −1 X m=0

xp1 [m]xp2 [n − m] ≡ xp1 [n] ⊗ xp2 [n].

La sequenza xp3 [n] `e periodica ancora con periodo N , la sommatoria `e estesa ad un solo periodo dei due fattori xp1 [n] e xp2 [n] ed il simbolo ⊗ indica la “convoluzione periodica” delle due sequenze, la quale gode della propriet` a commutativa. In Fig. 2.23 `e riportato un esempio di calcolo di convoluzione periodica e precisamente, per le due sequenze xp1 [n] e xp2 [n] di periodo N = 8 ivi graficate, il calcolo del campione xp3 [2].

xp2 [m]

4 2

xp1 [m]

0

xp2 [2 − m]

−2

−1

0

1

2

3

4

5

6

7

8

9

10

11

−3

−2

−1

0

1

2

3

4

5

6

7

8

9

10

11

−3

−2

−1

0

1

2

3

4

5

6

7

8

9

10

11

−3

−2

−1

0

1

2

3

4

5

6

7

8

9

10

11

3 2 1 0

xp1 [2 − m]

−3

6 4 2 0

2.3. DISCRETE FOURIER SERIES (DFS)

6

3 2 1 0

m

73

Figura 2.23: Esempio di convoluzione periodica: schema per il calcolo del campione n = 2 di xp3 [n] = xp1 [n] ⊗ xp2 [n]. Si giunge al medesimo risultato moltiplicando tra loro campione per campione le due sequenze disegnate in verde, oppure le due disegnate in blu

74

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO Il calcolo `e fattibile in due modi, indicati in figura con colori diversi: nel caso in cui si combinino le sequenze disegnate in blu, xp3 [2] = 3 × 6 + 3 × 3 + 3 × 1 = 30, mentre nel caso in cui si combinino le sequenze disegnate in verde si arriva allo stesso valore calcolando xp3 [2] = 3×3+6×3+3×1 = 30. Analogamente se xp3 [n] = xp1 [n] · xp2 [n]

si ha Xp3 [k] =

N −1 1 1 X Xp1 [l]Xp2 [k − l] ≡ Xp1 [k] ⊗ Xp2 [k]. N N l=0

2.3.2

Campionamento nel dominio della frequenza e aliasing nel dominio del tempo

Se xp [n] `e una sovrapposizione di repliche non sovrapponentisi di una x[n] di durata finita N , Xp [k] nell’intervallo 0 ≤ k ≤ N −1 rappresenta una sequenza di N campioni di X(z), presi percorrendo una volta il cerchio unitario. Ovviamente questi sono anche campioni di X(ejω ). Supponiamo ora di avere invece una sequenza aperiodica x[n] di lunghezza imprecisata, con DTFT X(ejω ), e di prendere un numero N fissato ad arbitrio di campioni di X(ejω ) equispaziati in frequenza. Consideriamo poi tali campioni come i coefficienti della DFS di una sequenza periodica xp [n] e calcoliamo quest’ultima tramite la relazione di sintesi della DFS. Che relazione esister` a in generale tra xp [n] e x[n]? Sappiamo che se x[n] ha lunghezza finita pari a N , xp [n] `e una successione di repliche adiacenti di x[n] senza sovrapposizione; ma che succede se x[n] `e pi` u lunga, cio`e ha lunghezza N ′ > N ? Si dimostra che in generale xp [n] =

+∞ X

x[n + lN ]

l=−∞

con l intero, dove `e inteso che x[·] = 0 per valori dell’indice esterni all’intervallo chiuso (0, N ′ − 1). Perci` o xp [n] `e formato unendo un numero infinito di repliche di x[n] traslate ogni volta di N ; se N ′ > N si ha sovrapposizione delle repliche adiacenti e la forma del segnale originario x[n] viene “corrotta”, nell’estensione periodica xp [n], dalla sovrapposizione delle code delle repliche contigue. Questo fenomeno prende il nome di aliasing nel dominio del tempo. Se invece N ′ ≤ N , le repliche adiacenti non si sovrappongono: se N ′ < N sono separate da zeri o al limite, se N ′ = N , sono giustapposte.

2.3. DISCRETE FOURIER SERIES (DFS)

75

x[n]

Le Fig. 2.24, 2.25 e 2.26 mostrano, a partire da una certa sequenza di durata N ′ = 9 (Fig. 2.24), due casi, uno senza aliasing nel tempo (N = 12, Fig. 2.25) e l’altro con aliasing nel tempo (N = 7, Fig. 2.26).

−3 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11

n

x[n]

Figura 2.24: Sequenza x[n] con durata di N ′ = 9 campioni

−6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

n

Figura 2.25: Sequenza xp [n] priva di aliasing, ottenuta da x[n] della Fig. 2.24 con N = 12 Se N ′ > N , l’informazione contenuta in quegli N campioni di X(ejω ) si rivela dunque insufficiente a ricostruire x[n]: sarebbero stati necessari N ′ > N campioni; si `e sottocampionato in frequenza e come risultato si `e persa la capacit`a di ricostruire il segnale originario. Se, e solo se, N ′ ≤ N , x[n] pu` o essere ricostruita a partire da xp [n] estraendo un periodo (che `e lungo N ). Nel dominio delle trasformate, ci esprimeremo cos`ı: x[n] di lunghezza N ′ ≤ N pu` o essere rappresentata esattamente da N campioni di X(z) (ossia di X(ejω )) presi equispaziati sul cerchio unitario.

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

x[n]

76

−8 −7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

n

Figura 2.26: Sequenza xp [n] affetta da aliasing, ottenuta da x[n] della Fig. 2.24 con N = 7 Si noti che l’aliasing nel tempo `e evitabile, campionando con adeguata fittezza in ω, se e solo se la x[n] ha durata finita. Per N ′ ≤ N , tutta la X(z), e quindi anche X(ejω ) per ogni ω, pu` o essere ricostruita da quegli N campioni equispaziati in frequenza: non serve conoscere X(ejω ) a tutte le frequenza se la sequenza x[n] ha lunghezza finita. Per la ricostruzione di X(z) dai suoi campioni si usa la formula di interpolazione X(z) =

N −1 1 − z −N X Xp [k] 2π N 1 − ej N z −1 k=0

che per z = ejω fornisce N −1 X



2π k Xp [k]Φ ω − X(e ) = N n=0 jω

con Φ(ω) = e−jω

N −1 2



sin(ω N2 ) N −1 ≡ e−jω 2 ΦD (ω) N sin( ω2 )

dove ΦD (ω) `e la funzione di Dirichlet (vedere le Fig. 2.27 e 2.28). Ai nostri fini, questa formula di interpolazione ha importanza pi` u teorica che pratica.

2.4

Trasformata di Fourier Discreta (DFT)

Consideriamo una sequenza x[n] di lunghezza N , con trasformata campionata su N punti (o anche una sequenza pi` u corta allungata a N con zeri). In questo

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

77

1

ΦD (ω)

N =5

0 −π

− π2

0

+ π2



+ 3π 2

+2π

+ 5π 2

ω +3π

Figura 2.27: Funzione di Dirichlet nel caso N = 5. Per valori dispari di N , la funzione ha periodo 2π.

1

ΦD (ω)

N =6

−1 −π

0



+2π

+3π

+4π

ω +5π

Figura 2.28: Funzione di Dirichlet nel caso N = 6. Per valori pari di N , la funzione ha periodo 4π.

78

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

caso xp [n] =

+∞ X

x[n + rN ]

r=−∞

`e senza aliasing nel tempo e si pu` o scrivere xp [n] = x[n modN ] ≡ x[[n]]N n n dove n modN = n − [ N ]N , con [ N ] che indica il pi` u grande intero ≤ n stesso segno di N .

n N

con lo

Introducendo la sequenza rettangolare (Fig. 2.29)

RN [n]

1

0 −2

−1

0

1

2

3

n

4

5

6

7

8

Figura 2.29: Sequenza rettangolare ( 1 0≤n≤N −1 RN [n] = 0 altrove si pu` o scrivere l’estrazione di un periodo che restituisce x[n] come x[n] = xp [n]RN [n] che come richiesto d`a x[n]

(

6= 0 0 ≤ n ≤ N − 1 = 0 altrove.

Abbiamo stabilito che xp [n] ⇐⇒ Xp [k]; ora possiamo chiederci come definire una trasformata di Fourier di x[n], che sia una sequenza (scriviamola come X[k]) e non una funzione continua della frequenza come la DTFT. La sequenza X[k] sar`a la Trasformata di Fourier Discreta o Discrete Fourier Transform o DFT di x[n].

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

79

Mantenendo la dualit` a tempo-frequenza, si definisce X[k] estraendo un periodo da Xp [k]. Si scrive perci` o X[k] = Xp [k]RN [k] la cui relazione inversa `e Xp [k] = X[[k]]N . Pertanto, riassumendo, le definizioni di DFT diretta (relazione di analisi della DFT) ed inversa (relazione di sintesi; antitrasformata di Fourier discreta o IDFT = Inverse Discrete Fourier Transform) sono rispettivamente (P N −1 −j 2π N kn 0≤k ≤N −1 n=0 x[n]e X[k] = 0 altrove, x[n] =

(

1 N

0

PN −1 k=0



X[k]e+j N kn

0≤n≤N −1 altrove.

Si tenga a mente che le sommatorie sono estese su (0, N − 1) e che in quell’intervallo x[n] ≡ xp [n], X[k] ≡ Xp [k]. ` da notare, inoltre, che: E 1. come la DFS, la DFT X[k] `e uguale a campioni di X(ejω ) presi equispaziati durante un singolo giro lungo il cerchio unitario; 2. se x[n] `e valutata tramite la DFT inversa per valori di n fuori dall’intervallo 0 ≤ n ≤ N − 1, il risultato non sar`a 0 ma xp [n]; 3. se X[k] `e valutata tramite la DFT diretta per valori di k fuori dall’intervallo 0 ≤ k ≤ N − 1, il risultato non sar`a 0 ma Xp [k].

Quindi la periodicit` a insita nella rappresentazione `e sempre presente. Nel definire la DFT semplicemente riconosciamo che siamo interessati ai valori di x[n] solo per 0 ≤ n ≤ N − 1, perch´e x[n] in realt`a `e nulla al di fuori di tale intervallo; e siamo interessati ai valori di X[k] solo per 0 ≤ k ≤ N − 1, perch´e questi sono gli unici valori richiesti dalla DFT inversa.

4. DFT, IDFT sono simili e quindi uno stesso programma software pu` o attuarle entrambe: !∗   ∗ ∗ N −1 X X ∗ [k] −j 2π kn X [k] = e N = DFT N N k=0

=

N −1 2π 1 X X[k]e+j N kn = IDFT {X[k]} ≡ x[n] N k=0

per cui se una routine, data x[n], fornisce X[k], con x∗ [n] che se x[n] `e reale coincide con x[n].

X ∗ [k] N

in input restituir` a

80

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO 5. Possiamo ora rivedere pi` u in dettaglio, anche se sempre qualitativamente, il legame tra lo spettro di un segnale continuo x(t) e lo spettro del segnale a tempo discreto x[n] = x(nTc ) ottenuto da x(t) per campionamento a passo costante Tc (misure agli istanti tn = nTc ). Ora usiamo la DFT del segnale campionato per esprimerne le propriet` a spettrali. Ci chiediamo dunque quale sia il legame tra Z +∞ x(t)e−j2πf t dt X(f ) = −∞

(dove la trasformata `e stata scritta col segno meno nell’esponente, secondo la convenzione seguita in ambito ingegneristico) e X[k]. Qualitativamente, X(fk ) =

+∞

Z

x(t)e−j2πfk t dt ≈ Tc

−∞

= Tc

N −1 X

N −1 X

x[n]e−j2πfk tn =

n=0



x[n]e−j N Tc knTc = Tc X[k].

0

Notiamo che • a meno di un fattore Tc i due spettri esprimono lo stesso contenuto;

• la DFT non dipende da Tc cos`ı come x[n] “non conosce” Tc ;

• solo nel caso di x[n] ottenuta per campionamento di un segnale continuo, Tc `e un parametro significativo che lega il caso discreto a quello continuo.

6. Il prendere campioni equispaziati in frequenza ha la sua ragione nella forma della DFS (esponenziali in relazione armonica).

2.4.1

Riassunto delle relazioni di DFS e DFT

Raccogliamo qui, per uno sguardo d’insieme, le relazioni di DFS e DFT che abbiamo scritto per una sequenza x[n] che sia diversa da zero in 0 ≤ n ≤ N − 1 e per un campiomento di X(ejω ) su N punti (assenza di aliasing nel dominio del tempo). Si tratta di strumenti fondamentali per l’analisi dei segnali a tempo discreto. 1. X[k] = X(ejω )|ω= 2π N k

in 0 ≤ k ≤ N − 1

X[k] = 0 all’esterno dell’intervallo P+∞ 2. xp [n] = m=−∞ x[n + mN ] = x[n modN ] 3. x[n] = xp [n]RN [n]

in 0 ≤ n ≤ N − 1

x[n] = 0 all’esterno dell’intervallo

in −∞ ≤ n ≤ +∞

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT) 4. Xp [k] =

P+∞

m=−∞

X[k + mN ] = X[k modN ]

5. X[k] = Xp [k]RN [n]

81

in −∞ ≤ k ≤ +∞

in 0 ≤ k ≤ N − 1

X[k] = 0 all’esterno dell’intervallo 1 N

6. xp [n] =

PN −1 k=0



Xp [k]ej N kn

(DFS, sintesi) 7. x[n] =

1 N

PN −1 k=0



X[k]ej N kn

in −∞ ≤ n ≤ +∞ in 0 ≤ n ≤ N − 1

x[n] = 0 all’esterno dell’intervallo (DFT, sintesi) 8. Xp [k] =

PN −1 n=0



xp [n]e−j N kn

(DFS, analisi) 9. X[k] =

PN −1 n=0



x[n]e−j N kn

in −∞ ≤ k ≤ +∞ in 0 ≤ k ≤ N − 1

X[k] = 0 all’esterno dell’intervallo (DFT, analisi).

Si noti che nelle relazioni n. 6 e 8, Xp [k] e xp [n] possono essere sostituiti da X[k] e x[n] rispettivamente, perch´e le sommatorie sono estese da 0 a N − 1.

2.4.2

Esempio di relazione fra DTFT, DFS e DFT di una sequenza

Prendiamo un caso con x[n] che sia una sequenza causale reale di lunghezza finita a simmetria pari attorno al campione n = N 2−1 = 3 e generiamo la corrispondente sequenza periodica priva di aliasing nel tempo (si veda Fig. 2.30, in cui N = 7). Abbiamo visto che per una sequenza di lunghezza finita di questo tipo (reale pari attorno ad un campione n = Ns 6= 0), la DTFT, a parte il fattore lineare di fase e−jωNs , `e una funzione reale e pari della frequenza. Analoghe considerazioni valgono per la DFT e la DFS. La Fig. 2.31 mostra X(ejω ), X[k] e Xp [k] nella loro reciproca relazione. Si pu` o notare come la DFT nella Fig. 2.31 dia un’immagine poco fedele della forma della DTFT: N = 7 campioni sono sufficienti a soddisfare i requisiti teorici ma scarsi per rendere bene visivamente l’andamento della DFT. Per migliorare la continuit` a visiva dei grafici si usa in effetti molto spesso una interpolazione della DFT. In tal modo si rendono visibili pi` u dettagli ma non si ha pi` u informazione perch´e tutta l’informazione `e contenuta negli N valori di x[n] di cui si dispone.

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

x[n]

82

xp [n]

0 1 2 3 4 5 6

−10−9 −8 −7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

n

DTFT

0 + π2 +π + 3π +2π 2

ω

DFT

X [k]

X [exp(jω)]

Figura 2.30: Esempio di sequenza reale causale pari di lunghezza finita N = 7 e sua estensione periodica

0

1

2

3

4

5

6

5

6

Xp [k]

DFS

0

1

2

3

4

7

8

9 10 11 12 13 14 15 16 17 18 19 20

k Figura 2.31: DTFT, DFT e DFS della sequenza con N = 7 mostrata in Fig. 2.30

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

83

Quel che si fa `e semplicemente un infittimento del campionamento in frequenza, ottenuto con la tecnica dell’aggiunta di zeri (padding) al fondo della sequenza x[n]. Ad esempio, data x[n] (n = 0, N − 1) si forma ( x[n] n = 0, N − 1 xz [n] = 0 n = N, 2N − 1. La DTFT `e Xz (ejω ) = X(ejω ), ma xzp [n] 6= xp [n] e quindi anche Xzp [k] 6= Xp [k] e Xz [k] 6= X[k]: jω π 2π Xz [k] = Xz (ejω )|ω= 2N k = X(e )|ω= N k

con k = 0, 2N − 1. Cos`ı il campionamento di X(ejω ) `e il doppio pi` u fitto di prima. Il padding `e fattibile con un numero Nz qualunque di zeri: se N diviene N +Nz , il ∆ω fra i campioni della trasformata, originariamente pari a ∆ω = 2π N , diviene 2π ∆ω ′ = N +N . z

2.4.3

Alcune propriet` a della DFT

Le propriet` a della DFT si dimostrano passando attraverso le estensioni periodiche delle varie sequenze coinvolte. 1. Linearit` a : se x1 [n] ha durata N1 e x2 [n] ha durata N2 , x3 [n] = ax1 [n] + bx2 [n] ha durata N3 = max (N1 , N2 ); calcolando tutte le DFT su almeno N3 punti (cio`e allungando almeno la sequenza pi` u corta con zeri) si ha X3 [k] = aX1 [k] + bX2 [k]. 2. Traslazione circolare di una sequenza: quale operazione nel dominio del tempo corrisponde a moltiplicare i campioni della DFT di una sequenza x[n], 0 ≤ n ≤ N − 1, per un fattore di 2π 2π fase lineare, del tipo e−j N km ? Ossia: se X1 [k] = e−j N km X[k], qual’`e la sequenza x1 [n]? La sequenza x1 [n] non corrisponde ad una traslazione lineare di x[n], ed in effetti entrambe le sequenze x[n] e x1 [n] sono confinate nell’intervallo 0 ≤ n ≤ N − 1; invece x1 [n] `e ottenuta traslando x[n] in modo tale che quando un campione esce dall’intervallo (0, N − 1) ad una estremit`a, vi rientra all’altra estremit`a. Questo equivale a passare all’estensione periodica, traslare questa linearmente e poi estrarre un periodo.

84

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO Si visualizza bene l’operazione pensando alla sequenza x[n] disposta su una superficie cilindrica, lungo una circonferenza ottenuta tagliando il cilindro con un piano perpendicolare al suo asse. La circonferenza comprende esattamente N punti; xp [n] corrisponder` a allora a precorrere ripetutamente la circonferenza stessa; x1 [n] si otterr`a ruotando il cilindro rispetto alla posizione precedente, assunta come riferimento. Questa analogia geometrica riporta immediatamente alle quantit`a periodiche associate alle sequenze coinvolte.

x[n]

Nella Fig. 2.32 sono mostrate, dall’alto in basso, una sequenza, la sua estensione periodica, la traslazione di questa (di m = −2 nell’esempio) e l’estrazione di un periodo.

1

2

3

4

5

−8 −7 −6 −5 −4 −3 −2 −1

0

1

2

3

4

5

−3 −2 −1

5

6

7

8

9 10 11 −3 −2 −1

0

1

2

3

4

xp [n]

0

7

8

9 10 11 12 13

xp [n − m]

6

1

2

3

4

0

1

2

3

x1 [n]

0

n

5

Figura 2.32: Passi per eseguire la traslazione circolare di una sequenza che nell’esempio `e lunga N = 6 Gli stessi passi possono essere seguiti immaginando il cilindro (si vedano le Fig. 2.33 e 2.34). Nella Fig. 2.33, che `e una vista assiale del cilindro stesso (circonferenza), `e presente un cilindro interno coassiale (verde) con numeri verdi che indicano le posizioni originarie dei campioni di x[n] (riferimento). Sul cilindro esterno giace la sequenza, originariamente in posizione identica al riferimento. La sequenza periodica xp [n] corrisponde al percorrere infinite volte la circonferenza. Ora si ruoti il cilindro esterno di un angolo 2π m N rispetto al riferimento, in verso orario ad esempio, diciamo di due posti (m = −2, Fig. 2.34): percorrendo infinite volte la circonferenza ora abbiamo xp [n − m] = xp [n + 2] e infine estraendo un periodo giungiamo alla sequenza traslata circolar-

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

85

mente, ( x[[n − m]]N RN [n] x1 [n] = 0

0≤n≤N −1 altrove.

Figura 2.33: Passi per eseguire la traslazione circolare di una sequenza operando con un cilindro: posizione iniziale della sequenza

Figura 2.34: Passi per eseguire la traslazione circolare di una sequenza (di m = −2) operando con un cilindro: posizione finale della sequenza Analogamente si trova che se X1 [k] = X[[k − l]]N RN [k] (traslazione cir2π colare di l elementi della DFT), x1 [n] = e+j N lk x[n] (n = 0, N − 1). 3. Dualit` a : l’abbiamo gi` a esaminata in precedenza, nella sezione 2.4 (punto n.4 della lista). Se trasformando con la DFT una sequenza x[n] otteniamo la sequenza X[k], che cosa otterremmo facendo la DFT della sequenza X[n] ricavata semplicemente ribattezzando l’asse delle ascisse?

86

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO Ricordiamo che presa xp [n] = x[[n]]N , per la dualit` a della DFS si ha xp [n] ⇐⇒ Xp [k] e Xp [n] ⇐⇒ N xp [−k]; ricordiamo inoltre che il legame con la DFT di x[n] `e Xp [k] = X[[k]]N . Consideriamo ora una sequenza fatta con i campioni della DFS di xp [n]: xp1 [n] ≡ Xp [n], che su un singolo periodo `e x1 [n] ≡ X[n].

I campioni della DFS di xp1 [n] saranno Xp1 [k] = N xp [−k] e quindi la DFT di x1 [n] sar`a X1 [k] = N xp [−k]RN [k] = N x[[−k]]N RN [k].

In conclusione, se x[n] ⇐⇒ X[k] allora X[n] ⇐⇒ N x[[−k]]N RN [k] con k = (0, N − 1). 4. Simmetria: dalle propriet` a di simmetria della DFS si ricavano quelle della DFT. Limitandosi al caso di sequenze reali, si dimostra che • la parte reale ed il modulo di X[k] sono pari, la parte immaginaria e la fase sono dispari; • X[k] = X ∗ [[−k]]N RN [k]. A proposito della seconda propriet` a, notiamo che poich´e per k = 0, N − 1 si ha [[−k]]N = N − k, si ha che per 0 ≤ k ≤ N − 1 vale X[k] = X ∗ [N − k] e quindi |X[k]| = |X[N − k]|; e siccome nei grafici si riportano i moduli delle trasformate, in essi c’`e simmetria dei campioni attorno al punto k = N2 , come si pu` o vedere in Fig. 2.35 per un esempio in cui N = 8. La Fig. 2.35 riporta nel pannello superiore |X[k]|, in quello centrale |Xp [k]| = |X[[k]]N | = |X ∗ [[k]]N | ed in quello inferiore |Xp [−k]| = |X[[−k]]N | = |X ∗ [[−k]]N |. I grafici nei due ultimi pannelli sono uguali, a causa della ´ solo grasimmetria dei campioni di |X[k]| attorno al punto k = N2 = 4. E zie a tale simmetria che estraendo un periodo da |Xp [−k]| (parte compresa tra le linee rosse in figura) si riproduce |X[k]|. Altre propriet` a di simmetria per x[n] reale sono le seguenti: • ℜ{X[k]} = ℜ{X[[−k]]N }RN [k]

• ℑ{X[k]} = −ℑ{X[[−k]]N }RN [k] • |X[k]| = |X[[−k]]N |RN [k]

(essendo ℜ{X[k]} pari),

(essendo ℑ{X[k]} dispari),

(essendo |X[k]| dispari),

• arg {X[k]} = − arg {X[[−k]]N }RN [k] 5. Teorema di Parseval per la DFT:

(essendo arg {X[k]} dispari).

87

|X [k]|

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

1

2

3

4

5

6

7

−5 −4 −3 −2 −1

0

1

2

3

4

5

6

7

8

9

10 11 12

−5 −4 −3 −2 −1

0

1

2

3

4

5

6

7

8

9

10 11 12

|Xp [−k]|

|Xp [k]|

0

k Figura 2.35: Simmetria della DFT di una sequenza reale partendo dalla definizione di X[k] si dimostra che N −1 X n=0

|x[n]|2 =

N −1 1 X |X[k]|2 . N k=0

Si noti che il termine N a denominatore del secondo membro rappresenta il numero di campioni di X[k], in quanto proviene dal ∆ω tra i campioni frequenziali. Se `e stato fatto un padding di zeri, non coincider` a con il numero di campioni della sequenza x[n]! Per dati a media nulla, il primo membro rappresenta la varianza. 6. Convoluzione circolare di due sequenze di uguale durata finita N (assunzione non restrittiva perch´e una o entrambe possono sempre venire allungate mediante aggiunta di zeri al fondo): se x1 [n] ⇐⇒ X1 [k] e x2 [n] ⇐⇒ X2 [k], e se si forma X3 [k] = X1 [k] · X2 [k], quale sequenza x3 [n] si ottiene poi antitrasformando?

88

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO Si noti che essendo X1 [k] e X2 [k] ugualmente campionate in frequenza, ha effettivamente senso scrivere il prodotto campione per campione che d`a origine a X3 [k]. I calcoli mostrano che la sequenza x3 [n], definita per 0 ≤ n ≤ N − 1, `e data da (N −1 ) X x3 [n] = xp3 [n]RN [n] = xp1 [m]xp2 [n − m] RN [n] = m=0

=

N −1 X m=0

x1 [m] {x2 [[n − m]]N RN [m]} ≡ x1 [n] ⊛ x2 [n] = x2 [n] ⊛ x1 [n].

Questa operazione, indicata dal simbolo ⊛, `e detta convoluzione circolare delle due sequenze x1 [n] e x2 [n] su N punti. Per la dualit` a tempo-frequenza si ha anche, su N punti, x1 [n]x2 [n] ⇐⇒

1 X1 [k] ⊛ X2 [k]. N

Nella convoluzione circolare, la seconda sequenza `e “circolarmente rovesciata nel tempo” e “traslata circolarmente nel tempo” di n posti rispetto alla prima sequenza: la convoluzione circolare `e diversa dalla convoluzione lineare. La convoluzione circolare in pratica `e una convoluzione periodica, ma utilizzando la nozione di traslazione circolare ed eventualmente, come aiuto alla visualizzazione, l’analogia del cilindro, non `e necessario costruire effettivamente le sequenze periodiche coinvolte. Per capire tutti i passaggi, facciamo tuttavia un esempio di convoluzione circolare su N punti con riferimento alle sequenze periodiche: prendiamo (Fig. 2.36, pannello a)   0 x1 [n] = δ[n − 1] = 1   0

n=0 n=1 2≤n≤N −1

considerandola come una sequenza lunga N = 5 e supponiamo di volerne calcolare la convoluzione circolare con una sequenza x2 [n] di uguale lunghezza, con la forma mostrata in Fig. 2.36, pannello b. Costruiamo ora il campione a n = 0 di x3 [n] = x1 [n] ⊛ x2 [n] (Fig. 2.37). Formiamo pertanto x2 [[m]]N (pannello superiore) e poi x2 [[0 − m]]N (pannello inferiore); in seguito eseguiamo l’operazione x2 [[0 − m]]N RN [m], che significa estrarre solo i campioni di x2 [[0 − m]]N compresi tra le linee rosse verticali in figura. Ora moltiplichiamo termine a termine la sequenza cos`ı ottenta con x1 [m] e sommiamo: otteniamo x3 [0] = 5 × 0 + 1 × 1 + 2 × 0 + 3 × 0 + 4 × 0 = 1.

5

5

4

4

x2 [m]

x1 [m]

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

3

3

2

2

1

1

0

0

1

2

3

m

0

4

89

0

1

2

m

3

4

x2 [[0 − m]]N

x2 [[m]]N

Figura 2.36: Due sequenze di cui calcolare la convoluzione circolare su N = 5 punti

5 4 3 2 1 0

5 4 3 2 1 0

−5 −4 −3 −2 −1

0

1

2

3

4

5

6

7

8

9 10 11 12 13 14

−5 −4 −3 −2 −1

0

1

2

3

4

5

6

7

8

9 10 11 12 13 14

m

Figura 2.37: Passaggi per il calcolo del campione a n = 0 di x3 [n] = x1 [n]⊛x2 [n]

Analogamente, per il campione x3 [1] avremo (vedere Fig. 2.38) x3 [1] = 5 ecc..., fino a n = N − 1.

2.4.4

Convoluzione circolare e convoluzione lineare

Ancora riferendoci alla convoluzione circolare, per vedere bene la differenza tra questa e la convoluzione lineare facciamo un ulteriore esempio, utilizzando l’analogia del cilindro. Si ricordi che presi x1 [n] (0 ≤ n ≤ N1 − 1) e x2 [n] (0 ≤ n ≤ N2 − 1), la

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

x2 [[1 − m]]N

x2 [[m]]N

90

5 4 3 2 1 0

5 4 3 2 1 0

−4 −3 −2 −1

0

1

2

3

4

5

6

7

8

9 10 11 12 13 14

−5 −4 −3 −2 −1

0

1

2

3

4

5

6

7

8

9 10 11 12 13 14

m

Figura 2.38: Passaggi per il calcolo del campione a n = 1 di x3 [n] = x1 [n]⊛x2 [n] convoluzione lineare delle due sequenze `e x1 [n] ∗ x2 [n] =

x′3 [n]

=

m2 X

m=m1

x1 [m]x2 [n − m]

dove m1 e m2 sono i limiti finiti che la somma di convoluzione presenta nel caso in cui si convolvano due sequenze di durata finita (cfr. sottosezione 1.3.2). Il prodotto che compare nella sommatoria `e zero ogni volta che n < 0 oppure n > N1 + N2 − 2, cos`ı che la lunghezza di x′3 [n] `e N1 + N2 − 1. Nel caso N1 = N2 = N che stiamo considerando, la convoluzione lineare `e lunga 2N − 1: non pu` o quindi coincidere con la convoluzione circolare su N punti, che `e lunga N . Prendiamo due sequenze con N = 6, uguali fra loro: x1 [n] ≡ x2 [n], con la forma mostrata in Fig. 2.39, e calcoliamone sia la convoluzione lineare, sia quella circolare su N punti (quest’ultima utilizzando l’analogia del cilindro). 1. Convoluzione lineare: x′3 [n] = x1 [n] ∗ x2 [n].

Nella Fig. 2.40 sono rappresentate, scorrendo i pannelli dall’alto verso il basso: • la prima sequenza;

• la seconda sequenza disegnata rovesciata a partire da n = 0 per il calcolo di x′3 [0]. Un solo termine della sommatoria `e diverso da zero: x′3 [0] = 1 × 1 = 1;

• la seconda sequenza disegnata rovesciata a partire da n = 1 per il calcolo di x′3 [1]. Due termini della sommatoria sono diversi da zero: x′3 [1] = 1 × 1 + 1 × 1 = 2;

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

91

x1 [n] = x2 [n]

1

0 −2 −1

0

1

2

3

n

4

5

6

7

8

Figura 2.39: Le sequenze di esempio per il confronto fra convoluzione lineare e circolare • la seconda sequenza disegnata rovesciata a partire da n = 5 per il calcolo di x′3 [5]. Sei termini della sommatoria sono diversi da zero: x′3 [5] = 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 = 6;

• la seconda sequenza disegnata rovesciata a partire da n = 6 per il calcolo di x′3 [6]. Cinque termini della sommatoria sono diversi da zero: x′3 [6] = 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 = 5. La forma risultante di x′3 [n] `e mostrata nella Fig. 2.41; la lunghezza `e 2N − 1 = 11. 2. Convoluzione circolare su N punti: x3 [n] = x1 [n] ⊛ x2 [n]. Immaginiamo due cilindri coassiali, uno per ogni sequenza. Nella Fig. 2.42 `e rappresentata, come esempio, la posizione del cilindro interno rispetto a quello esterno, atta ad ottenere x3 [2]; sono riportati i valori degli indici. Per ottenere gli altri valori di x3 [n] si fa ruotare il cilindro interno rispetto a quello esterno. L’analoga Fig. 2.43 riporta invece i valori dei campioni da moltiplicare fra loro. Il risultato `e x3 [2] = 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 + 1 × 1 = 6 dove i sei prodotti indicati corrispondono rispettivamente alle coppie A, B, C, D, E e F in figura. Risulta quindi {x3 [2] = 6} 6= {x′3 [2] = 3} e si vede bene che ci`o `e dovuto ` chiaro ai termini D, E, F che sono assenti nella convoluzione lineare. E a questo punto che la differenza risiede nel fatto che nella convoluzione circolare le code delle sequenze che escono dall’intervallo utile ad un suo estremo vi rientrano all’altro estremo, “corrompendo” cos`ı la convoluzione circolare rispetto a quella lineare, che `e quella di riferimento: si tratta in sostanza di aliasing nel dominio del tempo, come si comprende pensando al corrispondente campionamento in frequenza. Infatti se il risultato della convoluzione lineare `e lungo 2N − 1, deve essere rappresentato da una DFT lunga 2N − 1 punti. Quest’ultima potr`a essere

x1 [m]

0

x2 [6 − m] x2 [5 − m] x2 [1 − m] x2 [0 − m]

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO 92

1

−7

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

7

8

−7

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

7

8

−7

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

7

8

−7

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

7

8

−7

−6

−5

−4

−3

−2

−1

0

1

2

3

4

5

6

7

8

1

0 1

0 1

0 1

0

m

Figura 2.40: Passaggi per il calcolo della convoluzione lineare delle due sequenze rettangolari mostrate sopra

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

93

6

x3 ′[n]

5 4 3 2 1 0

−2

−1

0

1

2

3

4

5

n

6

7

8

9

10

11

12

13

Figura 2.41: Risultato della convoluzione lineare delle due sequenze rettangolari mostrate sopra

Figura 2.42: Come disporre su due cilindri coassiali le sequenze x1 [n] e x2 [n] per ottenere il campione con n = 2 della convoluzione circolare su N = 6 punti. I numeri indicano valori dell’indice temporale m relativo alla sommatoria di convoluzione circolare

94

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

Figura 2.43: Prodotti di valori dei campioni delle sequenze coinvolte, da eseguire per calcolare il campione a n = 2 della convoluzione circolare su N = 6 punti vista come il prodotto termine a termine delle DFT delle singole sequenze “fattori”, se queste verranno calcolate ognuna su 2N − 1 punti. In conclusione, la convoluzione lineare e quella circolare daranno lo stesso risultato se ogni sequenza da convolvere verr` a allungata con N − 1 zeri, fino a lunghezza 2N − 1, necessaria a contenere la convoluzione lineare. La Fig. 2.44 illustra la convoluzione circolare delle due sequenze in esame, calcolata con questo accorgimento: sia x′′3 [n] = x1 [n] ⊛ x2 [n] su 2N − 1 punti. Nella figura sono riportati i valori dei campioni delle sequenze ed i corrispondenti indici (in nero). Si vede che x′′3 [2] = 3 = x′3 [2] come richiesto. In questa condizione sar`a possibile calcolare una convoluzione lineare (che `e poi quella utile nella pratica, per esempio nei filtraggi o nei calcoli di correlazioni tra sequenze, come vedremo in seguito) non direttamente ma tramite un prodotto di DFT, una trasformata per cui esistono efficienti algoritmi di calcolo. Si dovr`a: • allungare le sequenze da convolvere con (almeno ) N − 1 zeri;

• calcolarne le DFT;

• farne il prodotto campione per campione; • eseguire la DFT inversa del prodotto.

Se originariamente le due sequenze hanno lunghezza diversa (N1 , N2 ),

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

95

Figura 2.44: Prodotti di valori dei campioni delle sequenze coinvolte, da eseguire per calcolare il campione a n = 2 della convoluzione circolare su 2N − 1 = 11 punti (caso in cui la convoluzione circolare riproduce quella lineare) baster` a costruire due sequenze della stessa lunghezza M ≥ N1 + N2 − 1, aggiungendo a ciascuna un diverso numero di zeri. Solo cos`ı X3 [k] = X1 [k]X2 [k] rappresenter` a la convoluzione lineare senza aliasing nel tempo. ` ovvio, infine, che solo per sequenze di lunghezza finita si pu` E o calcolare la convoluzione nel dominio della frequenza senza aliasing nel tempo. Questo `e importante da tenere a mente: ad esempio la convoluzione di una sequenza con la h[n] di un filtro IIR non `e realizzabile.

2.4.5

L’algoritmo FFT (Fast Fourier Transform)

La Fast Fourier Transform `e un algoritmo veloce per il calcolo della DFT; l’invenzione di questo metodo efficiente ha reso la DFT interessante come strumento pratico di analisi delle sequenze di dati. Il primo lavoro importante sull’argomento risale al 1965 (Cooley, James W., e John W. Tukey, “An algorithm for the machine calculation of complex Fourier series”, Math. Comput. 19, 297 – 301, 1965). La complessit`a del calcolo di una DFT su elaboratore si stima in termini di numero di moltiplicazioni complesse da eseguire (si trascurano le addizioni). Poich´e la quantit`a da calcolare `e N −1 X n=0



x[n]e−j N kn

96

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

con k = 0, N − 1 e n = 0, N − 1, si devono eseguire N moltiplicazioni ×N valori di n, per un totale di N 2 moltiplicazioni complesse, equivalenti a 4N 2 moltiplicazioni reali: per N “grande” questo pu` o creare problemi anche con computers relativamente potenti. Sfruttando le propriet` a di simmetria e periodicit` a degli esponenziali complessi si pu` o aumentare l’efficienza del calcolo della DFT, riducendone la complessit`a: un tale modo ottimizzato di calcolare la DFT `e chiamato in generale FFT (Fast Fourier Transform). In realt`a l’ottimizzazione pu` o essere ottenuta in pi` u modi, per cui esistono diverse variet`a di FFT. Come esempio esaminiamo il cosiddetto algoritmo di FFT con decimazione nel tempo. Supporremo che in input all’algoritmo vengano forniti dati in generale complessi. Assumiamo che N sia pari (se non lo `e baster` a aggiungere uno zero al fondo): allora riordinando x[n] in modo tale da porre per primi tutti gli elementi di posto pari e poi tutti quelli di posto dispari, si pu` o esprimere la DFT originale su N punti come combinazione lineare di 2 DFT da N/2 punti ciascuna, fatte separatamente sugli elementi di posto pari e dispari. Il costo di combinazione `e di N moltiplicazioni complesse e quindi la complessit`a si riduce a 2( N2 )2 + N . Se poi N `e uguale ad una potenza intera di 2, ossia N = 2ν dove ν `e un intero, l’approccio precedente pu` o essere applicato ricorsivamente, fino ad avere una combinazione lineare di DFT su 2 punti ciascuna. In Fig. 2.45 vediamo, ad esempio, tutti i calcoli da eseguire per N = 8 = 23 . Il calcolo `e organizzato in ν = 3 stadi successivi ed in ogni stadio si devono calcolare N/2 = 4 “farfalle”, dove con questo termine si indica l’elemento di base dello schema, di cui un esempio `e riportato in Fig. 2.46. In questi schemi compaiono, adiacenti ai vari rami del diagramma di flusso, dei “coefficienti di 2π trasmissione” WNn che sono potenze intere n-esime della quantit`a WN = e−j N . La loro presenza nel diagramma indica che passando in quel ramo, un dato valore numerico viene moltiplicato per il coefficiente specificato. In ogni stadio m del calcolo (m = 1, ν), a partire da una sequenza di N valori (che per m = 1 `e quella di input e negli altri casi `e l’uscita dello stadio precedente) viene generata un’altra sequenza di N valori. Nell’ultimo stadio la sequenza generata in uscita costituisce il risultato finale. Per ogni stadio m possiamo indicare con Xm [l] (l = 0, N − 1) la sequenza di ingresso (ma solo per m = 1 questa coincider` a con la sequenza originale) e con Xm+1 [l] (l = 0, N − 1) la sequenza di uscita (ma solo per m = ν questa coincider` a con la DFT cercata). Il calcolo di base `e la generica farfalla del generico stadio m riportata in Fig. 2.47 (pannello a). L’intero r pu` o assumere valori da 0 a N 2−2 a seconda del valore di m; p e q rappresentano valori di l nell’intervallo l = 0, N − 1.

2.4. TRASFORMATA DI FOURIER DISCRETA (DFT)

97

Figura 2.45: Diagramma di flusso per il calcolo di una DFT su N = 8 punti, tramite l’algoritmo di FFT a decimazione nel tempo

Figura 2.46: Esempio di “farfalla’

98

CAPITOLO 2. TRASFORMATE DI SEGNALI A TEMPO DISCRETO

Figura 2.47: a) Farfalla che richiede due moltiplicazioni complesse e b) farfalla semplificata che richiede una sola moltiplicazione complessa Si hanno • 2 moltiplicazioni per farfalla •

N 2

farfalle per stadio

• ν = log2 (N ) stadi. La complessit`a `e dunque ridotta a N log2 (N ) Bf ,

viene ripetuto infinite volte sull’asse delle frequenze ad intervalli di divenendo periodico in frequenza (Fig. 3.4).

1 Tc [Hz],

Si noti che pur se formalmente Xs (f ) `e la trasformata di Fourier del segnale a tempo continuo xs (t), essa coincide con X(ejω ) del segnale campionato inteso come una sequenza x[n]. L’unica differenza `e che quest’ultima trasformata `e funzione di ω (oppure di ν) mentre la prima `e funzione di f (o di Ω), per cui nelle rappresentazioni grafiche i rispettivi assi delle ascisse (in f e ω) sono scalati l’uno rispetto all’altro secondo 2πTc f = Tc Ω = ω (Fig. 3.5). Questo scaling o normalizzazione in frequenza (il quale fa s`ı che fc = T1c divenga νc = 1

104

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

X (f )

1

0

−Bf

0

Bf

Figura 3.3: Spettro del segnale analogico

Xs (f )

1/Tc

0

−1/Tc −1/(2Tc )

0

1/(2Tc )

1/Tc

Figura 3.4: Spettro del segnale campionato

o ωc = 2π) `e la controparte del fatto che esiste una normalizzazione nel tempo fra xs (t) e x[n]: infatti xs (t) ha i campioni separati di Tc mentre x[n] li ha separati di 1; l’asse temporale `e normalizzato per un fattore Tc , cos`ı come nel dominio della frequenza (intesa come f [Hz] nel caso analogico) l’asse delle ascisse `e normalizzato per un fattore fc = T1c .

3.1. TEOREMA DEL CAMPIONAMENTO

105

X [exp (jω)]

1/Tc

0

−π −2πBf Tc

0

2πBf Tc

π

Figura 3.5: Spettro del segnale campionato rappresentato come X(ejω )

Quanto affermato si vede coi seguenti passaggi: Xs (f )

Z

+∞

xs (t)e−j2πf t dt = # Z +∞ " +∞ X δ(t − iTc ) e−j2πf t dt = x(t) = =

−∞

−∞

=

Z

+∞

−∞

=

+∞ X

i=−∞

=

+∞ X

i=−∞

"

+∞ X

i=−∞

x(iTc )

#

x(iTc )δ(t − iTc ) e−j2πf t dt =

Z

+∞

−∞

δ(t − iTc )e−j2πf t dt =

x(iTc )e−j2πf (iTc ) dt =

i=−∞

=

+∞ X

i=−∞

x[i]e−jωi ≡ X(ejω ).

Se il segnale campionato deve rappresentare bene quello di partenza, le ripetizioni adiacenti degli spettri X(f ) non debbono sovrapposrsi: cio`e non deve accadere quanto rappresentato in Fig. 3.6. Una situazione come quella della Fig. 3.6 `e detta “aliasing nel dominio della frequenza”. Chiamiamo “frequenza di Nyquist” la quantit`a fN y =

1 . 2Tc

106

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

fa

fb

Xs (f )

1/Tc

0

0

−1/Tc −1/(2Tc )

1/(2Tc )

1/Tc

Figura 3.6: Un caso in cui le ripetizioni adiacenti degli spettri di X(f ) si sovrappongono parzialmente: nella zona di sovrapposizione lo spettro diviene pari alla somma delle due “code” sovrapposte (linea rossa tratteggiata) ed `e quindi corrotto rispetto alla forma dello spettro vero. Sull’asse delle ascisse, 2T1 c rappresenta la frequenza di Nyquist fN y Come si vede dalla figura, in presenza di aliasing una certa frequenza fa dello spettro “vero” che si trovi all’esterno dell’intervallo (−fN y , +fN y ) diviene “alias” di (ossia indistinguibile da) un’altra frequenza fb appartenente all’intervallo (−fN y , +fN y ). Perch´e non si verifichi l’aliasing in frequenza `e richiesto che il limite di banda Bf del segnale sia finito e che valga la relazione (detta “criterio di Nyquist”) Bf <

1 ≡ fN y 2Tc

cio`e Tc <

1 . 2Bf

Quanto esposto `e il contenuto del cosiddetto Teorema del campionamento (Nyquist, 1928; Shannon, 1949) 1 che si enuncia come segue: un segnale continuo che non contenga frequenze |f | > Bf pu` o, in linea di principio, essere ricostruito a partire dalla sua versione campionata, se Tc < 2B1 f . La frequenza di Nyquist `e dunque la met`a della minima frequenza di campionamento fc = T1c atta ad evitare l’aliasing; in altri termini, per evitarlo occorre prendere al minimo due campioni per ogni periodo Tmin della componente 1 frequenziale a frequenza pi` u alta Bf = Tmin presente nei dati: Tmin /Tc > 2. 1 Il

Teorema del campionamento ` e noto come Teorema di Nyquist, ma poich` e fu anche formulato indipendentemente da E. T. Whittaker, da Vladimir Kotelnikov e da altri autori, ` e pure noto come Teorema di Nyquist - Shannon - Kotelnikov, Whittaker - Shannon - Kotelnikov, Whittaker - Nyquist - Kotelnikov - Shannon, Whittaker - Kotelnikov - Shannon, etc., nonch´ e come Teorema Cardinale della Teoria dell’Interpolazione.

3.2. RICOSTRUZIONE DEL SEGNALE CONTINUO

107

L’aliasing nel dominio della frequenza `e dunque evitabile se e solo se il segnale ha banda limitata; ci` o `e analogo al caso dell’aliasing nel dominio del tempo, che pu` o essere evitato se e solo se la sequenza x[n], della quale si campiona la DTFT X(ejω ), `e di durata finita. Se un segnale a banda limitata viene campionato senza aliasing, con Tc < 2B1 f , la forma della trasformata di Fourier del segnale campionato nell’intervallo fN y ≤ f < fN y sar` a identica a quella della trasformata di Fourier del segnale analogico originario, salvo la moltiplicazione dell’asse delle ordinate per T1c . Quest’ultimo fatto si capisce ricordando che Xs (f ) =

1 Tc

P+∞

i=−∞

 X f−

i Tc



.

Poich´e nel caso discreto usiamo ω = 2πν = 2πf Tc = ΩTc oppure ν = f Tc come variabile frequenziale, si potr`a inoltre sostituire l’asse delle frequenze f con un asse ω oppure ν; l’intervallo di interesse sar`a −π ≤ ω < π, o −0.5 ≤ ν < 0.5. Prima di proseguire, esaminiamo esplicitamente il caso della sinusoide borderline, ossia il caso di una sinusoide data da x(t) = cos (2πf0 t − φ0 ) campionata esattamente con un Tc =

1 2f0 .

Si ha aliasing?

• φ0 = 0: x[n] = cos(πn) = (−1)n e quindi sembra non esserci aliasing, ma... • φ0 =

π 2:

x[n] = sin(πn) = 0 e quindi vi `e aliasing.

Ne deduciamo che non `e permesso campionare a frequenza

1 Tc

= 2f0 .

D’altra parte, poich´e lo spettro di x(t) contiene una δ di Dirac a f = ±f0 , campionare a Tc = 2f10 v`ıola il teorema di Nyquist.

3.2

Ricostruzione del segnale continuo

Sia ora Tc il massimo periodo di campionamento che soddisfa il criterio di Nyquist. Per ricostruire in linea di principio il segnale continuo x(t) a partire dai suoi campioni xs (t) ≡ x[n] occorre un filtro analogico che trasmetta equamente tutte le componenti di Xs (f ) in − 2T1 c ≤ f < 2T1 c e scarti le altre. Possiamo immaginare un sistema LTI analogico selettivo in frequenza come quello mostrato in Fig. 3.7, ossia una H(f ) ideale del tipo “porta rettangolare” che in quanto ideale sar`a reale (ossia non comporter`a nessun sfasamento tra il segnale di input e quello di output).

108

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

Il valore richiesto in banda passante `e Tc , per “compensare” il fattore nell’espressione di Xs (f ).

1 Tc

presente

H (f )

Tc

0

−1/(2Tc )

0

f +1/(2Tc )

Figura 3.7: Filtro analogico ideale di ricostruzione: risposta in frequenza La risposta all’impulso di un tale filtro analogico ideale di ricostruzione `e Z +∞ H(f )ej2πf t df = h(t) = −∞

=

Z

1 + 2T c

1 − 2T c

Tc ej2πf t df =

 1 1  j2π 2T1 t −j2π 2T c − e c e = 2πjt   t 1 ≡ 2j sin π = Tc 2πjt Tc   sin(π Ttc ) t . ≡ Sinc = Tc π Ttc

= Tc

  La funzione Sinc Ttc `e mostrata in Fig. 3.8, da cui si vede che essa passa per lo zero ogni Tc secondi. Il segnale continuo ricostruito `e dato da una convoluzione in campo continuo:   ′ Z +∞ Z +∞ sin π t−t T c dt′ . xs (t′ ) xs (t′ )h(t − t′ )dt′ = x(t) = xs (t) ∗ h(t) = ′ π t−t −∞ −∞ Tc La trattazione pu` o essere svolta anche in termini del segnale a tempo discreto x[n] = x(nTc ), anzich´e di xs (t), nel qual caso si trova     c +∞ +∞ sin π t−nT X X Tc t − nTc x[n] x[n]Sinc x(t) = = . c Tc π t−nT Tc n=−∞ n=−∞

3.2. RICOSTRUZIONE DEL SEGNALE CONTINUO

109

1 0.8

h(t)

0.6 0.4 0.2 0 −0.2 −0.4 −5

−4

−3

−2

−1

0

1

2

3

4

5

t/Tc

Figura 3.8: Filtro analogico ideale di ricostruzione: risposta all’impulso

Dalle formule precedenti si vede che ciascun elemento del segnale campionato produce in output al filtro di ricostruzione una versione “pesata” del Sinc(t/Tc ). Pertanto il valore di x(t) che si ottiene, per ricostruzione, in corrispondenza di ogni t = nTc non `e influenzato dai campioni adiacenti, perch´e h(t) passa per lo zero ad ogni multiplo di Tc : dovendo essere x(nTc ) = xs (nTc ), la forma d’onda ricostruita deve passare per tali punti e non lo farebbe se i contributi dei campioni adiacenti non fossero nulli. Un filtro ideale di questo tipo non `e realizzabile; si pu` o al pi` u approssimarlo con un filtro meno squadrato, a fase lineare (con un output un po’ ritardato rispetto all’input), qualitativamente simile a quello di Fig. 3.9.

|H (f )|

Tc

0 −1/(2Tc )

f 0

+1/(2Tc )

Figura 3.9: Modulo della risposta in frequenza di un filtro analogico di ricostruzione realizzabile

110

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

Meglio ancora, si otterr`a un output pi` u somigliante a x(t) se si adotter` a una frequenza di campionamento leggermente ridondante, ossia un Tc < Tc,max (dove Tc,max `e il massimo che soddisfa il criterio di Nyquist).

Xs (f )

1/Tc

0

−1/Tc

0

1/Tc

Figura 3.10: Un caso di ricostruzione con un filtro realizzabile, in cui tra le ripetizioni spettrali adiacenti resta una banda vuota che minimizza gli effetti del fatto che il filtro non `e squadrato come quello ideale. Il modulo della risposta in frequenza del filtro (linea blu tratteggiata) `e disegnata in unit`a arbitrarie. Le linee verticali verdi delimitano le bande di sicurezza vuote

Infatti, come mostrato in Fig. 3.10, in questo caso rimane tra le ripetizioni spettrali adiacenti una banda “di sicurezza” vuota (compresa tra le linee verdi in figura) cos`ı che il modulo della risposta in frequenza del filtro resta vicina ad 1 nella zona di interesse e discende praticamente a zero in corrispondenza delle ripetizioni spettrali adiacenti, nonostante la presenza di una transizione relativamente lenta da 1 a 0 di |H(f )| del filtro realizzabile.

3.3

Aliasing e filtro anti-aliasing

Se x(t) non `e limitato in banda, cio`e se il suo spettro non va a zero per |f | = Bf con Bf finito, non si pu` o evitare l’aliasing, almeno non dopo aver campionato: tutte le volte che si campiona e poi si ricostruisce un segnale a banda illimitata si ha aliasing. Infatti il contenuto di informazione di un segnale privo di limite finito di banda non pu` o essere catturato da un campionamento fatto a velocit` a finita. Considerando che tutti i segnali analogici limitati nel tempo sono illimitati in frequenza (v. sezione 3.5), il problema appare a prima vista insormontabile. In realt`a, nella pratica basta che entro un certo Bf cada “la maggior parte” dell’energia del segnale.

3.3. ALIASING E FILTRO ANTI-ALIASING

111

Possiamo dunque superare il problema dell’aliasing soltanto: • conoscendo il limite naturale di banda del segnale (anche nel senso approssimato sopra indicato) e scegliendo correttamente Tc in base al criterio di Nyquist; • imponendo un limite di banda, filtrando x(t) con un filtro analogico passabasso prima di campionare (se ci`o `e sperimentalmente possibile) e scegliendo Tc di conseguenza. L’errore di troncamento in frequenza risulta minore dell’errore causato dall’aliasing. Il filtro anti-aliasing analogico `e uguale al filtro di ricostruzione prima descritto. Nella pratica si user` a un fattore di sicurezza, scegliendo un Tc di un 10% almeno pi` u basso di quello richiesto dal criterio di Nyquist. Quando un segnale giunge nelle nostre mani gi` a campionato, per vedere se il campionamento `e stato ben fatto guarderemo la forma dello spettro Xs (f ) nell’intervallo “di ricostruzione” (−fN y , +fN y ): lo spettro tende a zero per |f | → fN y ? Se non `e cos`ı `e probabile che le componenti del segnale di frequenza |f | > fN y siano state “riflesse” sull’intervallo principale. Questa `e una situazione molto comune: il rumore, tipicamente di alta frequenza, appiattisce lo spettro in vicinanza di fN y . Facciamo ora un esempio di segnale sottocampionato. Gli effetti sono chiari utilizzando un segnale sinusoidale, ossia una singola componente frequenziale che appare nello spettro come una riga. In Fig. 3.11, le due frecce continue blu descrivono lo spettro “vero” di un segnale analogico sinusoidale x(t) = sin(2πf1 t) con f1 = 5.5 kHz. Se si sottocampiona, adottando un Tc tale che fc = T1c = 8 kHz, la frequenza di Nyquist assume un valore di 4 kHz, cos`ı che f1 > fN y: f1 `e esterna alla banda di ricostruzione e quindi non pu` o essere “vista”. Il segnale apparir` a invece come una sinusoide ad una frequenza ±f0 interna all’intervallo (−fN y , +fN y ), a causa dell’aliasing (si osservino le frecce tratteggiate verde e rossa entro l’intervallo fondamentale, generate rispettivamente dalla prima ripetizione dello spettro a destra, sul semiasse positivo delle frequenze, e dalla prima a sinista, sul semiasse negativo). Sottocampionando, quindi, le due righe “vere” vengono eliminate e si generano nella banda (−fN y , +fN y ) due righe false derivanti dalla periodicizzazione spettrale. La frequenza f0 vale T1c − f1 = 8 - 5.5 = 2.5 kHz. In altri termini, f1 = `e “alias” della frequenza f0 compresa nell’intervallo fondamentale.

1 Tc

− f0

La prima ripetizione dello spettro sul semiasse positivo (frecce tratteggiate verdi) non d`a solo la riga a 2.5 kHz, ma anche una seconda riga a T1c + f1 = 8 + 5.5 kHz = 13.5 kHz = T2c − f0 , mentre la prima ripetizione dello spettro sul

112

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

Figura 3.11: Esempio di aliasing: un segnale analogico sinusoidale di frequenza f1 = 5.5 kHz viene sottocampionato adottando una frequenza di campionamento di 8 kHz (frequenza di Nyquist: 4 kHz)

semiasse negativo (frecce tratteggiate rosse) non d`a solo la riga a -2.5 kHz, ma anche una seconda riga a -13.5 kHz. Cos`ı anche T2c − f0 `e alias di f0 .

x(t)

L’aliasing `e evidente anche nel dominio del tempo, come mostrato in Fig. 3.12. In realt`a, tutte le infinite ripetizioni spettrali sui due semiassi, e non solo le

t Figura 3.12: Aliasing in frequenza visto nel dominio del tempo: la sinusoide a 5.5 kHz (linea blu) se sottocampionata (con frequenza di campionamento di 8 kHz) appare come una sinusoide a 2.5 kHz (linea verde)

3.4. PRINCIPIO DI INDETERMINAZIONE

113

prime, generano degli alias di f0 . Limitandosi a considerare solo il semiasse positivo, le frequenze che sono alias di una frequenza f0 compresa nell’intervallo principale o fondamentale sono esprimibili come fk =

k ± f0 = kfc ± f0 = 2kfN y ± f0 Tc

con k = (1, ∞) intero. Cos`ı un numero infinito di sinusoidi a tempo continuo corrisponde allo stesso segnale a tempo discreto. La situazione `e ulteriormente illustrata dalla Fig. 3.13.

Figura 3.13: Il semiasse positivo delle frequenze con la posizione delle frequenze fk che sono alias di una f0 compresa nell’intervallo principale. I punti A, B, C, D indicano multipli interi della frequenza di Nyquist

L’aliasing `e chiamato pure “folding”(ossia ripiegamento) dello spettro, perch`e corrisponde al ripiegamento su se stesso dell’asse f , come visualizzato nella Fig. 3.14: se l’asse di Fig. 3.13 viene piegato in corrispondenza dei punti A, B, C, D..., tutti gli alias di f0 si allineano al di sopra di f0 . Concludiamo la discussione dell’aliasing in frequenza con un ulteriore esempio grafico di come le frequenze alias di f0 si riflettono in f0 (Fig. 3.15, 3.16 e 3.17).

3.4

Principio di indeterminazione

Avendo accennato nella discussione precedente alla relazione che esiste fra le estensioni di un segnale analogico nei domini duali del tempo e della frequenza, ed al concetto di limite di banda esatto o approssimato, inseriamo qui alcune

114

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

Figura 3.14: Il semiasse positivo delle frequenze ripiegato su se stesso ad ogni multiplo di fN y , con le frequenze fk che sono alias di una f0 tutte allineate al di sopra di quest’ultima

Figura 3.15: Una ulteriore rappresentazione dell’aliasing in frequenza: caso in cui l’aliasing `e dovuto alla prima ripetizione sul semiasse positivo

3.4. PRINCIPIO DI INDETERMINAZIONE

115

Figura 3.16: Una ulteriore rappresentazione dell’aliasing in frequenza: caso in cui l’aliasing `e dovuto alla prima ripetizione sul semiasse negativo

Figura 3.17: Una ulteriore rappresentazione dell’aliasing in frequenza: caso in cui l’aliasing `e dovuto alla seconda ripetizione sul semiasse positivo nozioni di teoria dei segnali analogici che illustrano questi punti in maggiore dettaglio e che inoltre ci saranno utili in seguito, quando tratteremo la teoria della Trasformata di Wavelet. Come detto, le estensioni di un segnale analogico nei domini duali del tempo e della frequenza non sono indipendenti l’una dall’altra e per quantificare la relazione tra esse si definiscono nella teoria dei segnali analogici, per un generico segnale w(t), le quantit`a di seguito elencate: 1. centro R +∞

t = R−∞ +∞ ∗

−∞

tw2 (t)dt w2 (t)dt

.

Si noti che l’integrale a denominatore rappresenta l’energia del segnale w(t), che formalmente ha durata infinita. Qualora il segnale fosse complesso, nella formula ne comparirebbe il modulo quadro;

116

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

2. raggio o durata quadratica media o apertura vR u +∞ u (t − t∗ )2 w2 (t)dt ; ∆t = t −∞R +∞ w2 (t)dt −∞ 3. larghezza quadratica media di banda vR u +∞ 2 u f |W (f )|2 df ∆f = t −∞ , R +∞ |W (f )|2 df −∞

dove l’integrale a denominatore rappresenta l’energia del segnale nel dominio della frequenza, che per la relazione di Parseval `e uguale all’energia nel dominio del tempo. Si dimostra che ∆t ∆f ≥ 1/(4π) per un segnale qualsiasi (o per una qualsiasi “finestra temporale”, entit`a introdotta nel seguito). In quest’ultima formula, il segno di uguaglianza vale solo se l’andamento di t2

w(t) `e di tipo gaussiano, cio`e ∝ e− 2T 2 dove T `e la semilarghezza a met`a altezza (oppure pu` o trattarsi di una funzione oscillatoria modulata da una cupola gaussiana, come accade nella teoria delle wavelets). La trasformata di Fourier di un segnale w(t) gaussiano `e ancora una gaussiana, con una semilarghezza a met`a altezza F legata alla analoga quantit`a T √ nel dominio del√tempo dalla relazione F T = 1/(2π). Poich´e si trova che ∆t = T / 2 e ∆f = F/ 2, se ne deduce appunto ∆t ∆f = 1/(4π). Talvolta il principio viene espresso in termini di frequenza angolare analogica Ω = 2πf , divenendo ∆t ∆Ω ≥ 1/2. Pertanto, come anticipato in precedenza, • un segnale molto concentrato nel tempo `e a banda molto larga • un segnale a banda stretta `e molto disperso nel tempo. Al limite, una pura sinusoide avr`a raggio infinito, un impulso istantaneo avr`a larghezza di banda infinita. La Fig. 3.18 riporta, come esempio, segnali gaussiani di diversa larghezza a met`a altezza ed un segnale sinusoidale, accompagnati dai relativi spettri.

w(t)

W (f )

3.5. SEGNALI ANALOGICI A SUPPORTO LIMITATO IN TEMPO E FREQUENZA117

t

0

t

0

f

−f0 0 +f0

f

Spettro

sin(2πf0 t)

0

Figura 3.18: Segnali gaussiani e segnale sinusoidale (a sinistra) e relativi spettri (a destra)

3.5

Segnali analogici a supporto limitato in tempo e frequenza

Un segnale a supporto limitato in tempo `e illimitato in frequenza; un segnale a supporto limitato in frequenza `e illimitato in tempo. Per vedere questo consideriamo un segnale analogico a supporto temporale illimitato x∞ (t) e “osserviamolo” attraverso una porta rettangolare simmetrica pT (t) che ne ritaglia un segmento esteso tra −T /2 e +T /2, dove T `e la larghezza della porta (Fig. 3.19).

pT (t)

1

0

− T2

0

+ T2

t

Figura 3.19: Porta rettangolare simmetrica di larghezza T

118

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

Il segnale risultante, x(t) = x∞ (t)pT (t), ha supporto temporale limitato, come la porta stessa. La trasformata di Fourier di x(t) `e X(f ) = X∞ (f ) ∗ PT (f ) = X∞ (f ) ∗

sin (πf T ) ≡ X∞ (f ) ∗ T Sinc(f T ) πf

dove il simbolo ∗ indica una convoluzione nel dominio della frequenza analogica, ossia un integrale di convoluzione. Poich´e Sinc(·) ha supporto illimitato in frequenza, anche X(f ) lo ha. Dalla formula precedente vediamo che la forma dello spettro di x(t), generico segnale a supporto temporale limitato, `e determinata - oltre che, ovviamente, da X∞ (f ) - dalla forma dello spettro della porta. A sua volta, come mostrato nelle Fig. 3.20, 3.21 e 3.22, PT (f ) varia al variare della larghezza della porta temporale. Nelle figure citate `e illustrato il comportamento della trasformata della porta rettangolare, al variare della larghezza della porta stessa (T0 , 2T0 , 4T0 ). Si vede che man mano che la porta si allarga (il che significa non solo che il suo supporto temporale cresce, ma anche che diviene meno concentrata nel tempo) la trasformata “si restringe’, divenendo pi` u concentrata in frequenza anche se il suo supporto temporale `e comunque illimitato. Ad esempio, al

pT (t)

1 T = T0 0

− T2 0 + T2

t PT (f )

T

0 − T1

0

+ T1

f

Figura 3.20: Porta rettangolare simmetrica di larghezza T0 e sua trasformata raddoppiare della larghezza della porta temporale pT , si dimezza la larghezza del lobo principale di PT , in accordo con la propriet` a di scaling della trasformata di Fourier analogica: 1 x(kt) ⇐⇒ X(f /k) |k| con k = 1, 1/2, 1/4 . . .

3.5. SEGNALI ANALOGICI A SUPPORTO LIMITATO IN TEMPO E FREQUENZA119

pT (t)

1 T = 2T0 0

0

− T2

+ T2

t PT (f )

T

0 − T1

0

+ T1

f

Figura 3.21: Porta rettangolare simmetrica di larghezza 2T0 e sua trasformata

pT (t)

1 T = 4T0 0

− T2

0

+ T2

t PT (f )

T

0 − T1 0 + T1

f

Figura 3.22: Porta rettangolare simmetrica di larghezza 4T0 e sua trasformata Vale anche l’inverso della propriet` a: se il supporto temporale del segnale si restringe, lo spettro si allarga. Ci serviremo di questa propriet` a nella teoria delle wavelets. Si noti bene che i concetti di “supporto limitato” e “concentrazione” in tempo o frequenza sono ben distinti ed `e precisamente la seconda caratteristica ad essere oggetto del principio di indeterminazione. • “Supporto limitato” significa che il segnale considerato `e esattamente zero al di fuori di un certo intervallo di tempo o frequenza. • “Concentrazione” significa che la maggior parte dell’energia del segnale si concentra in un certo intervallo, quantificabile con la durata quadratica media (o con la larghezza quadratica media di banda se siamo nel dominio della frequenza).

120

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

La porta ha supporto limitato ed `e anche concentrata in tempo. Pertanto 1. il supporto del suo spettro `e illimitato; 2. il suo spettro `e relativamente poco concentrato in frequenza, e lo `e tanto meno quanto pi` u aumenta la concentrazione temporale, ossia la “strettezza” della porta. Normalmente `e sempre vero (non solo per la porta rettangolare) che un supporto limitato implica concentrazione, ma non `e vero il contrario.

3.6

Relazioni tra le variabili frequenziali

Chiudiamo questa parte di base con un riepilogo delle relazioni che intercorrono fra le variabili usate per i segnali a tempo continuo ed a tempo discreto nel dominio della frequenza. Il riferimento `e sempre un segnale analogico che viene campionato: x[n] = x(nTc ). Abbiamo: ` un angolo nel piano • ω = frequenza angolare (o pulsazione) “discreta”. E z ed `e quindi adimensionale. Si misura in rad/∆n; • Ω = frequenza angolare (o pulsazione) analogica. Ha le dimensioni dell’inverso di un tempo e si misura in rad/s. La relazione tra le due pulsazioni `e ω = ΩTc ; ` legata a ω • ν = frequenza (“discreta”) adimensionale o “normalizzata”. E ω da ν = 2π ; • f = frequenza analogica. Ha le dimensioni dell’inverso di un tempo e si misura in Hz = s−1 . La relazione tra le due frequenze `e ν = f Tc . Esempio: sin(Ωt) = sin(2πf t) = sin(2πf nTc ) = sin



ω nTc Tc



= sin(ωn) = sin(2πνn).

La DTFT di un segnale discreto viene campionata ad ω equispaziate di ∆ω =

2π ; N

3.6. RELAZIONI TRA LE VARIABILI FREQUENZIALI

121

pertanto le frequenze angolari discrete di campionamento sono 2π k. N

ωk = k∆ω =

La Fig. 3.23 illustra il legame tra i valori dell’indice frequenziale k (numero dell’armonica) e quelli di ω. In corrispondenza ai valori di ωk , le ν sono equispaziate

Figura 3.23: I valori di k e di ω per il campionamento della DTFT di un segnale a tempo discreto di ∆ν =

1 N

e quindi νk = k∆ν =

k . N

Dato un certo Tc , le frequenze analogiche di campionamento della DTFT sono equispaziate di 1 ∆f = N Tc (inverso della durata del record) e quindi fk = k∆f =

k ; N Tc

le pulsazioni analogiche sono separate di ∆Ω =

1 2πN Tc

per cui Ωk = k∆Ω = k

k ∆ω = . Tc 2πN Tc

122

CAPITOLO 3. IL CAMPIONAMENTO DEI SEGNALI ANALOGICI

Veniamo ora alla periodicit` a di X(ejω ). L’elenco che segue riporta per ogni variabile frequenziale i valori degli estremi dell’intervallo principale: • in k, − N2 ≤ k <

N 2

oppure 0 ≤ k < N ;

• in ω, −π ≤ ω < π oppure 0 ≤ ω < 2π; • in ν, −0.5 ≤ ω < 0.5 oppure 0 ≤ ω < 1; • in Ω, − Tπc ≤ Ω <

π Tc

• in f , − 2T1 c ≤ f <

1 2Tc

oppure 0 ≤ Ω <

2π Tc ;

oppure 0 ≤ f <

1 Tc .

Possiamo quindi anche porre: • kN y =

N 2;

• ωN y = π [rad/∆n]; • νN y = 0.5 [cicli/∆n]; • ΩN y =

π Tc

• fN y =

1 2Tc

[rad/s]; [Hz].

La Fig. 3.24 chiarisce infine la precisa corrispondenza tra il numero dell’armonica k ed i valori della frequenza f in Hz negli intervalli 0, 2fN y oppure −fN y , fN y .

Figura 3.24: I valori di k e di f per il campionamento della DTFT di un segnale a tempo discreto

Parte II

Introduzione ai filtri numerici

123

Capitolo 4

Caratteristiche dei filtri numerici 4.1

Nozioni generali

Filtrare un segnale significa, genericamente, cambiarne le caratteristiche nel dominio della frequenza. Una definizione formale `e difficile da dare; meglio citare alcuni esempi di operazioni di filtraggio. • Selezione in frequenza: se il segnale di ingresso contiene contributi frequenziali in certi intervalli di ω, si desidera modificare in uscita tali contributi, sopprimendo, ad esempio, quelli in una certa banda di frequenza, esaltandone altri ecc... Per questo scopo si usano filtri selettivi in frequenza. • Operazioni speciali come, ad esempio, integrazione e differenziazione di segnali: si usano filtri speciali. • Soppressione del rumore che contamina un segnale utile (denoising): per questo scopo sono stati largamente usati in passato filtri numerici del genere di quelli che descriveremo nel presente capitolo. Attualmente sono spesso preferite per il denoising altre tecniche, come quelle basate sulla Trasformata di Wavelet. Noi ci occuperemo esclusivamente di filtri selettivi in frequenza, descrivendone le caratteristiche e studiandone un metodo di progetto di particolare interesse. Limiteremo la nostra attenzione a filtri che siano sistemi LTI stabili, reali (cio`e con risposta all’impulso reale) e causali, descrivibili mediante H(z) razionali. Questi sistemi vengono indicati con l’acronimo RCSR, che sta appunto per “Reali-Causali-Stabili-Razionali”. 124

4.2. LA RISPOSTA DI AMPIEZZA DEI FILTRI NUMERICI

125

Si ricordi che per un filtro reale, H(ejω ) ha modulo pari e fase dispari; ci si pu` o quindi limitare a considerare l’intervallo 0 ≤ ω ≤ π. Un filtro in ambito discreto viene generalmente specificato dando la sua funzione di trasferimento, che supponiamo sia razionale, con la relativa ROC; questo equivale a dare una LCCDE, unita, per esempio, a condizioni inziali di riposo. Dato che il sistema considerato `e stabile, H(z) converge sul cerchio unitario ed ivi rappresenta la risposta in frequenza H(ejω ) del sistema. Questo ammesso che si tratti di funzioni continue, come accade per i filtri realizzabili nella pratica; i filtri ideali selettivi in frequenza, discontinui, rappresentano, come gi` a visto, casi particolari per cui la risposta in frequenza converge solo in media. Della H(ejω ) si considerano separatamente: • la risposta di ampiezza |H(ejω )|; • la risposta di fase. Attenzione: anche in applicazioni riguardanti segnali continui campionati, Tc non gioca alcun ruolo nel progetto di filtri, che vengono specificati in termini discreti, in funzione di ω (o di ν).

4.2

La risposta di ampiezza dei filtri numerici

Si tratta di una funzione reale della frequenza, intrinsecamente non negativa, che nei casi ideali potr`a avere dei punti di discontinuit` a di salto, mentre nei casi reali (di applicazione pratica) dovr`a essere una funzione continua. Per esprimere la risposta di ampiezza e graficarla si possono usare unit`a normali o logaritmiche. In particolare, in questo secondo caso si usa riferirsi al modulo quadro di H(ejω ). Il quadrato dell’ampiezza, |H(ejω )|2 , viene espresso in dB (deciBel) come 10 log10 |H(ejω )|2 = 20 log10 |H(ejω )|. Si noti che zero dB corrispondono a |H(ejω )| = 1 e che |H(ejω )| = 10m corrisponde a 20m [dB]. Inoltre |H(ejω )| = 2m corrisponde a circa 6m [dB] perch´e 20 log10 2m = 20 log10 2 · log2 2m ≃ 20 × 0.3 × m ≃ 6m. Quando |H(ejω )| < 1, la corrispondente quantit`a in dB `e negativa, come ad esempio nella “banda di attenuazione” di un filtro selettivo in frequenza. Spesso

126

CAPITOLO 4. CARATTERISTICHE DEI FILTRI NUMERICI

allora si usa la stessa quantit`a cambiata di segno, ossia −20 log10 |H(ejω )|, detta attenuazione (in dB), che sar`a maggiore di zero se |H(ejω )| < 1. Per esempio, |H(ejω )| = 0.0001 corrisponde ad una attenuazione di −20 × (−4) = +80 dB. Si osservi che la relazione ingresso-uscita di un LTI nel dominio della frequenza, Y (ejω ) = H(ejω )X(ejω ), diviene una somma in scala logaritmica, per cui la risposta di ampiezza in dB, aggiunta all’ampiezza in dB della trasformata di Fourier del segnale di input, d`a l’ampiezza in dB della trasformata di Fourier del segnale di output. Un filtro numerico selettivo in frequenza lascia passare certe componenti frequenziali del segnale di ingresso e ne attenua altre. La sua risposta di ampiezza potr`a essere classificata in relazione a quattro prototipi fondamentali (ideali) di filtri selettivi: questi si rivelano non realizzabili nella pratica ma costituiscono un utile riferimento teorico. Le risposte di ampiezza dei quattro prototipi ideali di filtri selettivi sono illustrate, per ricapitolare, in Fig. 4.1. Un intervallo in cui la risposta desiderata `e unitaria viene chiamato banda passante; un intervallo in cui la risposta desiderata `e nulla viene chiamato banda attenuata (o banda oscura, o stoppata). Si noti che dovendo parlare in generale di un filtro selettivo in frequenza, si parla di un passa-banda, perch´e il passa-banda riassume in s´e, come casi particolari, anche il passa-alto ed il passa-basso. Casi pi` u generali comprenderanno filtri multibanda , con varie bande passanti ed attenuate, in ognuna delle quali in genere si desidera che |H(ejω )| sia costante, ma non necessariamente unitaria. Quello mostrato in Fig. 4.1 sar`a, in genere, l’andamento desiderato per la risposta di ampiezza di un filtro che si intende costruire, ma nella realt`a nessun filtro pu` o avere caratteristiche cos`ı squadrate. Infatti come conseguenza di un teorema, dovuto a Paley-Wiener e riguardante la risposta in frequenza di un filtro causale, |H(ejω )| pu` o valere zero a qualche valore di ω isolato ma non su una banda continua finita di valori di ω; per contro, nessun filtro ideale pu` o essere causale. Un filtro reale e causale (si usa il termine realizzabile) avr`a |H(ejω )| di andamento non costante nelle bande passante ed attenuata (tipicamente, andamento monot`ono crescente o decrescente, oppure andamento oscillante) e possieder`a una banda di transizione di larghezza non nulla, interposta fra la banda passante e quella attenuata, in cui di solito si richiede andamento monot`ono.

4.2. LA RISPOSTA DI AMPIEZZA DEI FILTRI NUMERICI 127

Figura 4.1: I quattro prototipi ideali di filtro selettivo in frequenza: a) passa-basso, b) passa-alto, c) passa-banda, d) ferma-banda

128

CAPITOLO 4. CARATTERISTICHE DEI FILTRI NUMERICI

Per quanto riguarda la risposta di fase, evidentemente un filtro ideale dovrebbe implicare sfasamento nullo tra ingresso ed uscita, ma per un sistema causale una fase nulla per H(ejω ) `e impossibile, per cui si accetta una fase non nulla, accontentandosi, quando possibile, di una dipendenza lineare della fase da ω. Per comprendere le problematiche relative alla fase di H(ejω ), esaminiamo ora l’argomento in modo generale.

4.3

La risposta di fase dei filtri numerici

1. Discontinuit` a di fase Data una risposta in frequenza H(ejω ), che supponiamo appartenere ad in sistema LTI RCSR, la risposta di fase ad una certa ω `e l’angolo di fase del numero H(ejω ), che, quando calcolato da un opportuno software, `e il valore principale dell’angolo stesso, ossia l’angolo ∈ (−π, π) tale che (  arctan 2 ℑ[H(ejω )], ℜ[H(ejω )] se |H(ejω )| = 6 0, jω ψ(ω) = arg[H(e )] jω indefinita se |H(e )| = 0, dove arctan 2(y, x) = θ `e per definizione l’unico angolo θ ∈ (−π, π) per il quale y x , sin θ = p . cos θ = p 2 2 2 x +y x + y2

Qualsiasi altro angolo legato al precedente da

∡H(ejω ) = arg[H(ejω )] + 2πr(ω), dove r(ω) `e un intero positivo o negativo che pu` o essere diverso per ogni ω, dar` a, insieme ad |H(ejω )|, il corretto valore complesso di H(ejω ).

Ora, arg[H(ejω )] pu` o essere una funzione discontinua: per meglio dire, poich´e il filtro `e RCSR, H(ejω ) `e una funzione continua e questo comporta che anche ψ(ω) lo sia, eccetto in due casi: (a) nei punti ω0 a cui ℜ[H(ejω )] < 0 e ℑ[H(ejω )] = 0 si ha ψ(ω0 ) = +π a causa della definizione di arctan 2. Perci´o se ℑ[H(ejω )] a ω0− o ω0+ (o ad entrambe) `e negativa, essendo ψ(ω0+ ) e/o ψ(ω0− ) circa uguali a −π, si verificher`a un salto di 2π (Fig. 4.2 e 4.3);

(b) nei punti ω0 in cui |H(ejω )| = 0, la fase non `e definita.

Si dimostra che per funzioni H(ejω ) = H(z)|z=ejω razionali il numero di punti di discontinuit` a di fase nell’intervallo principale di ω `e necessariamente finito; nei punti di discontinuit` a il salto di fase `e 2π (caso a) oppure π (caso b). Quest’ultimo salto di π `e legato al fatto che |H(ejω )| `e forzatamente non negativa, come mostrato in Fig. 4.4. La figura evidenzia gli zeri della risposta di ampiezza, che corrispondono a salti di π nella fase. Si pu` o

4.3. LA RISPOSTA DI FASE DEI FILTRI NUMERICI

129

Figura 4.2: L’intorno di ψ(ω0 ) in cui si verificano i salti di 2π

Figura 4.3: arg[H(ejω )]

Tipico andamento del valore principale dell’angolo di fase

130

CAPITOLO 4. CARATTERISTICHE DEI FILTRI NUMERICI

Figura 4.4: Zeri della risposta in frequenza, che corrispondono a salti di π nella fase dimostrare che se un dato zero ha molteplici` a m, allora se m `e pari la fase resta continua, mentre se m `e dispari la fase fa un salto di π. Per ovviare a questi problemi, al posto di H(ejω ) = |H(ejω )|ejψ(ω) viene usata la rappresentazione in fase continua H(ejω ) = H(ω)ejφ(ω) dove H(ω) `e reale ma non necessariamente positiva e φ(ω) `e continua. La funzione H(ω) viene chiamata funzione d’ampiezza e coincide con la cosiddetta risposta a fase nulla del filtro, nel senso che tutta l’informazione di fase `e contenuta nel termine non discontinuo ejφ(ω) . La risposta a fase nulla `e usata, tra l’altro, nella tecnica di progetto che esamineremo. Le funzioni H(ω) e φ(ω) vengono costruite in modo tale da preservare la continuit` a di φ(ω) ad ogni punto di discontinuit` a di ψ(ω), inclusi quelli con salto di 2π. Il valore di φ(ω) viene reso unico imponendo la condizione 0 ≤ φ(0) < π; naturalmente ora φ(ω) potr`a uscire dall’intervallo (−π, π).

Le Fig. 4.5 e 4.6 illustrano rispettivamente il modo per ovviare ad un salto di π e quello per ovviare a salti di 2π mediante aggiunta a ψ(ω) di multipli interi di 2π. 2. Fase lineare Un filtro tale che H(ejω ) = H(ω)e−jωτ con τ =costante `e detto a fase lineare in ω. La costante τ = −φ(ω)/ω in generale `e un numero reale che viene chiamato ritardo di fase [campioni].

In particolare, un filtro con H(ejω ) = e−jωτ `e detto ritardatore ideale. Il nome deriva dal fatto che un filtro (sia in generale un passa-banda) che

4.3. LA RISPOSTA DI FASE DEI FILTRI NUMERICI

Figura 4.5: Come si pu` o ovviare ad un salto di π nella fase

Figura 4.6: Come si pu` o ovviare a salti di 2π nella fase

131

132

CAPITOLO 4. CARATTERISTICHE DEI FILTRI NUMERICI in banda passante abbia una tale risposta in frequenza applica un puro ritardo al segnale di ingresso: posto infatti ( e−jωτ per ωc1 ≤ ω ≤ ωc2 , jω H(e ) = 0 altrove, cio`e scelta una risposta in frequenza dotata di un modulo con andamento ideale costante a tratti (quindi non realizzabile ma valida come esempio), si avr`a, per un segnale con composizione frequenziale compresa nella banda passante, Z ωc2 1 H(ejω )X(ejω )ejωn dω = y[n] = 2π ωc1 Z ωc2 1 X(ejω )ejω(n−τ ) dω = = 2π ωc1 = x[n − τ ]. Pertanto l’input `e come l’output, ma ritardato di τ campioni: se τ `e frazionario il sistema interpola a valori non interi del tempo discreto mentre se τ `e intero si ha un semplice ritardo di τ passi. In ogni caso, il segnale di uscita `e una copia ritardata e non distorta del segnale di ingresso: si parla di assenza di distorsione di fase. L’assenza di distorsione di fase `e spesso auspicabile, per esempio nei casi in cui occorra confrontare il comportamento di due segnali in una certa banda. Infatti in tal caso per studiare relazioni di lead-lag (quale dei due segnali “guida” (leads) le variazioni e quale “segue” (lags)?), e quindi -in definitiva - relazioni di causa-effetto, `e importante la fase relativa delle varie componenti frequenziali dei due segnali. Per questa ragione, non potendo avere filtri realizzabili a fase nulla, si accettano volentieri filtri con fase lineare, in particolare con τ intero o semintero.

3. Fase lineare generalizzata Talvolta `e utile considerare fasi non strettamente proporzionali a ω ma comunque lineari in ω: φ(ω) = φ0 − ωτg con φ0 e τg costanti. Il corrispondente ritardatore ideale in (0, π) ha in questo caso risposta in frequenza ( ej(φ0 −ωτg ) per ωc1 ≤ ω ≤ ωc2 , H(ejω ) = 0 altrove, ossia ancora una risposta in frequenza dotata di un modulo con andamento ideale costante a tratti, quindi non realizzabile ma utile come esempio. In questo caso, anzich´e di ritardo di fase si parla per τg di ritardo di gruppo [campioni]; il concetto `e legato all’effetto che il filtro ritardatore ha sulla fase di un segnale a banda stretta, ossia un segnale modulato del tipo x1 [n] = x[n] cos(ω0 n),

4.3. LA RISPOSTA DI FASE DEI FILTRI NUMERICI

133

in cui x[n] `e il segnale modulante o inviluppo e ω0 `e la frequenza portante, e la cui trasformata `e diversa da zero solo nell’intorno di ω = ω0 . I segnali modulati sono importanti nell’ingegneria delle telecomunicazioni: spesso in quel campo si effettua l’operazione di passare da un segnale a banda relativamente stretta x[n] a x1 [n], in modo da “trasportare” lo spettro di x[n] nell’intorno di ω0 e permettergli cos`ı di passare attraverso una rete che consente il passaggio di frequenze prossime a ω0 . Supponiamo di applicare a x1 [n] un ritardatore ideale la cui banda passante contenga l’intorno di ω0 in cui giace lo spettro del segnale modulato. Si pu` o allora mostrare che l’uscita y[n] `e ancora un segnale modulato, tale che l’inviluppo `e una versione non distorta ma solo ritardata dell’inviluppo dell’ingresso. La costante di fase φ0 influenza la parte di frequenza portante ma non l’inviluppo: precisamente si ha y[n] = x[n − τg ] cos[ω0 (n − τg ) + φ0 ]. Il ritardo di gruppo τg dell’inviluppo del segnale a banda stretta, avente trasformata di Fourier centrata su ω = ω0 , `e dato dalla pendenza della fase continua φ(ω) del ritardatore valutata nell’intorno della ω0 di interesse e cambiata di segno: dφ(ω) τg = − . dω Se τg `e intero, si ha un ritardo dell’output rispetto all’input di τg campioni, mentre se `e frazionario si ha interpolazione a valori frazionari del tempo discreto. Un sistema che ammette la rappresentazione in fase continua H(ejω ) = H(ω)ej(φ0 −ωτg ) con φ0 e τg costanti `e detto a fase lineare generalizzata (GLP= Generalized Linear Phase). 4. Restrizioni sui filtri a GLP La periodicit` a di H(ejω ) e la realt`a di h[n] impongono restrizioni sui parametri φ0 e τg di un filtro RCSR a GLP. • Poich`e H(ejω ) `e periodica con periodo 2π, H(ω)ej(φ0 −ωτg ) = H(ω + 2π)ej(φ0 −ωτg −2πτg ) e quindi H(ω) = H(ω + 2π)e−j2πτg . Ora H(ω) deve essere reale; per questo `e sufficiente che 2τg sia intero, cio`e che τg sia intero o semi-intero. Distinguiamo cos`ı i due casi: (a) τg intero: H(ω) = H(ω + 2π), ossia H(ω) periodica con periodo 2π; (b) τg semi-intero: H(ω) = −H(ω + 2π), H(ω) = H(ω + 4π), ossia H(ω) periodica con periodo 4π.

134

CAPITOLO 4. CARATTERISTICHE DEI FILTRI NUMERICI • Poich`e h[n] `e reale, H(e−jω ) = H ∗ (ejω ); quindi

H(−ω)ej(φ0 +ωτg ) = H(ω)e−j(φ0 −ωτg )

da cui ej2φ0 =

H(ω) . H(−ω)

Distinguiamo quindi i due casi: (a) φ0 = 0: H(ω) = H(−ω), ossia H(ω) funzione pari e τ = τg = costante; (b) φ0 = π/2: H(ω) = −H(−ω), ossia H(ω) funzione dispari e τg = costante. Pertanto i filtri numerici reali a GLP esistono in quattro tipi: • • • •

Tipo Tipo Tipo Tipo

I, τ = τg intero, φ0 = 0; II, τ = τg semi-intero, φ0 = 0; III, τg intero, φ0 = π/2; IV, τg semi-intero, φ0 = π/2;

di cui i primi due hanno ritardo di fase costante e gli ultimi due hanno ritardo di gruppo costante. La causalit`a impone poi ulteriori restrizioni sulla forma della risposta all’impulso dei filtri a GLP. Un filtro a GLP soddisfa H(ejω ) = H(ω)ej(φ0 −ωτg ) , per cui si ha H(ω) = H(ejω )e−j(φ0 −ωτg ) . Allora • se φ0 = 0 (Tipi I e II) h[2τg − n]

= =

Z π 1 H(ejω )ejω(2τg −n) dω = 2π −π Z π 1 H(ω)ejω(τg −n) dω, 2π −π

dove si `e sostituita l’espressione H(ejω ) = H(ω)ej(φ0 −ωτg ) nella prima riga di equazione e poi si `e tenuto conto del fatto che φ0 = 0 e che −jωτg + 2jωτg − jωn = jω(τg − n). Complesso-coniugando l’espressione ottenuta (si ricordi che H(ω) `e reale e cos`ı h[n]) si ha Z π 1 h[2τg − n] = H(ω)ejω(n−τg ) dω = 2π −π Z π 1 H(ejω )ejωn dω = h[n], = 2π −π dove si `e sostituito nella prima riga H(ω) = H(ejω )e−j(φ0 −ωτg ) = H(ejω )ejωτg . Ma se il filtro `e causale, h[n] = 0 per n < 0 e quindi anche h[n] = 0 per n > 2τg . Se ne deduce che

4.3. LA RISPOSTA DI FASE DEI FILTRI NUMERICI

135

– il filtro deve essere FIR, – il suo ordine deve essere N − 1 = 2τg , – la risposta all’impulso deve soddisfare la condizione di simmetria h[n] = h[N − 1 − n]. Questa situazione `e illustrata nella Fig. 4.7;

τg = 2

h[n]

N − 1 = 2τg = 4

−3

−2

−1

0

1

2

n

3

4

5

6

7

Figura 4.7: Relazione tra τg e ordine N − 1 di un filtro FIR: N − 1 = 2τg • se φ0 = π/2 (Tipi III e IV) ejφ0 = ejπ/2 = +j e quindi H(ejω ) = +jH(ω)e−jωτg per cui Z π 1 h[2τg − n] = H(ejω )ejω(2τg −n) dω = 2π −π Z π j = H(ω)ejω(τg −n) dω. 2π −π Complesso-coniugando l’espressione ottenuta si ha Z π j H(ω)ejω(n−τg ) dω = h[2τg − n] = − 2π −π Z π 1 H(ejω )ejωn dω = −h[n]. = − 2π −π Ma se il filtro `e causale, h[n] = 0 per n < 0 e quindi anche h[n] = 0 per n > 2τg . Se ne deduce che – il filtro deve essere FIR, – il suo ordine deve essere N − 1 = 2τg , – la risposta all’impulso deve soddisfare la condizione di antisimmetria h[n] = −h[N − 1 − n]. In conclusione, solo per filtri FIR `e possibile la fase esattamente lineare o lineare generalizzata.

Capitolo 5

Progetto di filtri numerici 5.1

Considerazioni preliminari

Il progetto di un filtro numerico `e un processo che richiede tre passi fondamentali. 1. Specifica delle propriet` a desiderate del sistema; per esempio, che si tratti di un sistema LTI RCSR che opera un preciso tipo di selezione in frequenza; sulla risposta in frequenza verranno espressi vincoli sia di ampiezza sia, eventualmente, di fase. 2. Approssimazione di tali specifiche per mezzo di un opportuno sistema a tempo discreto realizzabile. Si tratta di scegliere un metodo di progetto che consenta di approssimare il filtro desiderato, soddisfacendone le specifiche secondo un determinato criterio (che caratterizza il metodo di progetto scelto), con un filtro realizzabile della minima complessit`a possibile (cio`e col minimo ordine). Questo passo implica: • selezionare una classe di filtri atta ad approssimare la H(ejω ) desiderata; ad esempio: filtri FIR a fase lineare (o lineare generalizzata); • individuare un metodo di progetto atto a trovare, all’interno di tale classe, il membro che meglio si adegua alle specifiche, secondo un certo criterio e con complessit`a fissata; • sintetizzare tale membro migliore, ottenendone la risposta all’impulso o un’altra quantit`a caratterizzante che possa poi essere usata per filtrare sequenze di dati; • analizzare le prestazioni del filtro cos`ı progettato (e “correggere il tiro” se necessario). 136

5.2. SPECIFICHE DEI FILTRI NUMERICI

137

3. Attuazione del sistema, cio`e messa in opera del filtraggio numerico, in software e quindi usando una aritmetica a precisione finita. L’investigazione delle implicazioni dell’uso di aritmetica a precisione finita nei vari algoritmi di elaborazione numerica dei segnali esula dagli scopi di questo corso.

5.2 5.2.1

Specifiche dei filtri numerici Vincoli sulla risposta di ampiezza

I vincoli sulla risposta di ampiezza prendono la forma di un insieme di limiti di tolleranza. La Fig. 5.1 illustra l’esempio delle specifiche per un passa-basso FIR, che vengono espresse dando i limiti di banda ωp e ωs , i valori desiderati di |H(ejω )| in banda passante ed in banda oscura (qui uno e zero rispettivamente), le tolleranze δp e δs . La curva blu rappresenta un esempio di |H(ejω )| che soddisfa tali specifiche, dette “assolute”. Si noti la banda di transizione interposta tra quella passante e quella oscura, la cui larghezza non pu` o mai annullarsi, dovendo il filtro essere realizzabile.

Figura 5.1: Limiti di tolleranza per la risposta di ampiezza di un filtro FIR: esempio di un passa-basso

Notiamo per inciso che per i filtri IIR le specifiche possono essere date in modo un po’ diverso, come esemplificato in Fig. 5.2. Le quantit`a δp e δs rappresentano la massima deviazione consentita a |H(ejω )|, rispettivamente in banda passante ed oscura, rispetto alla risposta di ampiezza desiderata.

138

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Figura 5.2: Per i filtri IIR i limiti di tolleranza per la risposta d’ampiezza possono essere specificati in modo diverso da quello utilizzato per i filtri FIR. In questo esempio, la risposta d’ampiezza `e quella di un filtro di Chebishev di Tipo I Nel caso dell’esempio passa-basso, possiamo formalizzare la risposta di ampiezza desiderata come ( 1 ω ∈ (0, ωp ) jω |Hd (e )| = 0 ω ∈ (ωs , π) e le specifiche saranno ( 1 − δp ≤ |H(ejω )| ≤ 1 + δp |H(ejω )| ≤ δs

ω ∈ (0, ωp ) ω ∈ (ωs , π)

con ωs − ωp > 0 per la realizzabilit`a. Nel caso di |H(ejω )| con andamento oscillante in banda passante e/o oscura (un caso molto frequente), δp e δs sono anche detti “ripple” in banda passante ed attenuata, rispettivamente. A volte si preferisce esprimere la risposta di ampiezza del filtro e le relative tolleranze in scala logaritmica, in dB; in tal caso si usano le quantit`a   ( 1+δ rp = 20 log10 1−δpp rs = −20 log10 (δs )

detti ripple in banda passante in dB e attenuazione in banda oscura in dB. Queste sono specifiche “relative”, nel senso che contengono al loro interno i valori espliciti di |Hd (ejω )|, ossia zero e uno. La Fig. 5.3 illustra il significato delle specifiche relative. Riguardo alla banda passante, si noti che talvolta si usa la quantit`a 20 log10 (1 + δp ), ossia la met`a di quella sopra riportata.

5.2. SPECIFICHE DEI FILTRI NUMERICI

139

Figura 5.3: Specifiche relative per la risposta di ampiezza di un filtro FIR in dB: l’esempio del passa-basso Poich´e loge (1 + δp ) loge (1 − δp )

≃ δp ≃ −δp ,

si pu` o scrivere 20 log10



1 + δp 1 − δp



=

20 [log10 (1 + δp ) − log10 (1 − δp )] =

= 20 log10 e [loge (1 + δp ) − loge (1 − δp )] ≃ ≃ 20 log10 e · 2δp

e quindi rp ≃ (40 × 0.434)δp ≃ 17.37δp . La relazione inversa `e evidentemente 10rp /20 = da cui

e quindi in definitiva

1 + δp 1 − δp

  δp 1 + 10rp /20 = 10rp /20 − 1   δp =

10rp /20 −1 , 10rp /20 +1

  δs = 10−rs /20 .

140

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Esempio: δp = 0.095 → rp = 17.37 × 0.095 = 1.65 rs = 30 dB → δs = 10−30/20 = 0.0316.

Finora ci si `e limitati al caso in cui sono presenti soltanto una banda passante ed una oscura (passa-basso). Nel caso pi` u generale vi saranno una o pi` u bande passanti ed una o pi` u bande oscure (come, ad esempio, nel pi` u semplice passa-banda) e ciascuna banda avr`a le proprie tolleranze; la deviazione dal valore desiderato di |H(ejω )| concessa in ogni banda (detta anche “errore” e quindi indicata con ep o es ) potr`a dipendere da ω; quindi nell’insieme delle bande passanti (sia Bp ) scriveremo |Hdp (ejω )| − ep (ω) ≤ |H(ejω )| ≤ |Hdp (ejω )| + ep (ω)

per ω ∈ Bp ,

dove Hdp (ejω ) `e la risposta di ampiezza desiderata in Bp , mentre nell’insieme delle bande attenuate (sia Bs ) scriveremo, assumendo che il valore desiderato sia Hds (ejω ) = 0, |H(ejω )| ≤ es (ω) per ω ∈ Bs . Ai fini del progetto di filtri, risulta per` o comodo esprimere i vincoli non separatamente per Bp e Bs ma i maniera globale, con un’unica disequazione. Per arrivare a questo, innanzi tutto si usano delle funzioni peso per gli errori in banda passante ed oscura: fissate delle tolleranze massime δp e δs si scrivono le definizioni ( Wp (ω) = δp /ep (ω) Ws (ω) = δs /es (ω) usando le quali le precedenti condizioni diventano (   −δp ≤ Wp (ω) |H(ejω )| − |Hdp (ejω )| ≤ δp Ws (ω)|H(ejω )| ≤ δs A questo punto si scrive, insieme a ( Hdp (ejω ) jω Hd (e ) = 0

per ω ∈ Bp , per ω ∈ Bs .

per ω ∈ Bp , per ω ∈ Bs ,

la funzione peso globale ( Wp (ω) W (ω) = (δp /δs ) Ws (ω)

per ω ∈ Bp , per ω ∈ Bs

e introducendo la funzione di errore pesata   |E(ω)| = W (ω) |H(ejω )| − |Hd (ejω )|

5.2. SPECIFICHE DEI FILTRI NUMERICI

141

si arriva a riscrivere globalmente |E(ω)| ≤ ǫ

per ω ∈ B = Bp ∪ Bs

con ǫ = δp . Il vincolo sulla funzione di errore pesata pu` o leggersi cos`ı: “Se il massimo valore della funzione di errore pesata `e minore o uguale a ǫ nell’unione delle bande passanti ed oscure, allora |H(ejω )| soddisfa i criteri fissati.” C’`e poi da dire che nella maggioranza delle applicazioni gli errori non sono variabili con ω nelle singole bande, per cui si pu` o porre ep = δp = costante, es = δs = costante, e la risposta desiderata in banda passante `e semplicemente Hdp (ejω ) = 1 = costante; allora potremo scrivere pi` u brevemente ( 1 per ω ∈ Bp jω Hd (e ) = 0 per ω ∈ Bs (la risposta desiderata `e quella dei filtri ideali selettivi in frequenza) e ( Wp (ω) = δp /δp = 1 Ws (ω) = δs /δs = 1 (i pesi nelle bande passanti e oscure sono unitari). Le specifiche si riducono cos`ı a (   −δp ≤ |H(ejω )| − 1 ≤ δp |H(ejω )| ≤ δs ossia

( 1 − δp ≤ |H(ejω )| ≤ 1 + δp |H(ejω )| ≤ δs

per ω ∈ Bp , per ω ∈ Bs , per ω ∈ Bp , per ω ∈ Bs .

La funzione peso globale sar`a ( 1 W (ω) = δp /δs

per ω ∈ Bp per ω ∈ Bs

e con la funzione di errore pesata   |E(ω)| = W (ω) |H(ejω )| − 1

scriveremo globalmente di nuovo |E(ω)| ≤ ǫ

per ω ∈ B = Bp ∪ Bs

con ǫ = δp .

142

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Oltre all’esempio del passa-basso gi` a esaminato, possiamo ora vedere, in Fig. 5.4, il caso di un semplice passa-banda con una sola banda passante (e due bande oscure). Bp corrisponde a ωp1 ≤ ω ≤ ωp2 mentre Bs corrisponde a

( 0 ≤ ω ≤ ωs1 , ωs2 ≤ ω ≤ π.

Figura 5.4: Limiti di tolleranza per la risposta di ampiezza di un filtro FIR: esempio di un passa-banda

5.2.2

Vincoli sulla risposta di fase

I vincoli sulla risposta di fase sono quelli imposti dai requisiti di causalit`a e stabilit` a (poli di H(z) entro il cerchio unitario) pi` u, in molte applicazioni (non potendosi avere fase nulla), la linearit`a di fase (per avere output senza distorsione di fase). Come gi` a detto, in caso di fase lineare la forma del segnale di input, determinata da certe componenti frequenziali contenute in Bp , `e preservata in output. Ricordiamo infatti che se φ(ω) = −τ ω con ritardo di fase τ = costante, se l’input `e una singola componente frequenziale in banda passante, x[n] = ejωn , l’output `e y[n] = ej(ωn−τ ω) = ejω(n−τ ) e quindi `e come l’input, solo ritardato di τ passi temporali.

5.2. SPECIFICHE DEI FILTRI NUMERICI

143

Se un arbitrario input contiene molte componenti frequenziali in banda passante, ognuna verr` a ritardata dello stesso ∆n = τ e quindi la forma del segnale verr` a preservata. Si noti che ovviamente `e importante la fase in banda passante; in banda oscura le componenti frequenziali dell’input devono venire eliminate e quindi la fase in banda oscura non conta. Per certe applicazioni particolari, si richiede la fase lineare generalizzata. Ad esempio, questo `e il caso dei filtri di Hilbert, progettati per ruotare di π/2 (un quarto di ciclo) la fase di ogni componente sinusoidale del segnale di input inclusa nella banda passante. I filtri di Hilbert trovano applicazione (per citare solo alcuni esempi) nei modulatori e demodulatori, nell’elaborazione dei segnali vocali, nell’elaborazioni di immagini in campo medico, ecc... nonch´e in metodi di analisi di campi scalari spazio-temporali quali l’Analisi in Componenti Principali Complesse, usata anche in campo geofisico per rivelare disturbi in propagazione nel campo scalare studiato (ad esempio, potrebbe trattarsi di un campo di temperature, o di precipitazioni). Essenzialmente, i filtri di Hilbert sono utili ogni volta che risulta pi` u conveniente elaborare, anzich`e il segnale reale originario, un segnale complesso da esso derivato in modo univoco, senza alterare le caratteristiche spettrali di partenza. Tale segnale complesso prende il nome di segnale analitico associato al segnale reale d’origine. Il filtro di Hilbert fornisce in questi casi il segnale in quadratura rispetto al segnale originario, necessario per costruire il segnale analitico: la parte reale del segnale analitico `e il segnale reale di partenza mentre la parte immaginaria si ottiene appunto facendo passare il segnale nel filtro di Hilbert. Queste applicazioni esulano dagli scopi del corso. Nel seguito ci focalizzeremo sui casi con fase strettamente lineare piuttosto che non lineare generalizzata: quindi la nostra attenzione andr`a ai Tipi I e II di filtri FIR a fase lineare. I filtri di Tipo III e IV, che tratteremo solo marginalmente, come gi` a detto servono per approssimare filtri di Hilbert, oppure anche filtri differenziatori. Qualora l’esatta linearit`a di fase non sia necessaria (o sia irraggiungibile, come nel caso della scelta di un filtro IIR, che pu` o anche avere fase quasi lineare, ma non esattamente lineare) si potranno porre limiti di tolleranza sulla linearit`a di fase stessa. Si noti che l’accettazione di una fase lineare (al posto della desiderata fase nulla) di per s´e non rende necessariamente realizzabile un filtro “squadrato” come ad esempio un passa-basso ideale: sostituire ( 1 Hd (e ) = 0 jω

per |ω| < ωc per ωc < |ω| ≤ π

che ha una risposta all’impulso di lunghezza infinita non causale hd [n] =

sin(ωc n) πn

144

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

con ( e−jωτ Hd (e ) = 0 jω

per |ω| < ωc per ωc < |ω| ≤ π

che ha risposta all’impulso

hd [n] =

sin[ωc (n − τ )] π(n − τ )

non risolve la situazione perch´e quest’ultimo filtro resta pur sempre dotato di risposta all’impulso di lunghezza infinita non causale. Apriamo a questo punto una piccola parentesi. Abbiamo ripetuto pi` u volte che un filtro squadrato a fase nulla come ad esempio un passa-basso ideale non `e computazionalmente realizzabile. Ad uno sguardo superficiale, per`o, pu` o apparire possibilissimo applicare tale filtro ad una sequenza di dati: basta semplicemente azzerare i coefficienti della DFT dei dati che corrispondono a frequenze indesiderate e poi invertire la trasformata. Vero? O no? No, falso. Questo procedimento di filtraggio, per quanto attraente a prima vista, non `e concettualmente corretto per le seguenti ragioni. Il filtro ideale a fase nulla corrisponde, nel dominio del tempo, ad una risposta all’impulso che `e una sequenza non causale di lunghezza infinita, di andamento espresso dal seno cardinale (Sinc). Operando su un numero finito di campioni, noi di fatto tronchiamo questa sequenza di lunghezza infinita e cos`ı facendo, la effettiva risposta in frequenza applicata ai dati (trasformata inversa della risposta all’impulso troncata) `e alterata dal fenomeno di Gibbs: forti oscillazioni, particolarmente forti in prossimit`a della discontinuit` a. Si tratta di un filtro effettivo che non soddisfa alcuna specifica ragionevole. Infatti il troncamento della risposta all’impulso corrisponde nel dominio della frequenza ad una convoluzione continua periodica della risposta in frequenza ideale con la trasformata di Fourier di una sequenza rettangolare. Il risultato `e una versione deformata della risposta in frequenza, a causa del fenomeno di Gibbs (il problema coincide con quello della convergenza - che `e una convergenza solo in media - della serie di Fourier che rappresenta la risposta ideale). I dati filtrati ottenuti con questo procedimento saranno viziati dall’uso di un filtro che non soddisfa specifiche accettabili. Possiamo anche vedere il fenomeno da un’altra angolazione: moltiplicando la DFT dei dati per una porta rettangolare operiamo quella che `e la rappresentazione in frequenza della convoluzione dei dati col Sinc. Sinc ha durata infinita, ergo anche la convoluzione ha durata infinita e perci` o non `e rappresentabile con una DFT su un numero finito di punti. Si ha quindi aliasing nel dominio del tempo. Chiusa la parentesi, procediamo con le considerazioni sul progetto di filtri RCSR che debbono soddisfare date specifiche.

5.3. SELEZIONE DEL TIPO DI FILTRO

5.3

145

Selezione del tipo di filtro

Date le specifiche, bisogna decidere se approssimare Hd (ejω ) con una funzione razionale (tipica di un sistema IIR) o mediante un polinomio (tipico di un sistema FIR). Noi dedicheremo la nostra attenzione ai filtri FIR, che • possono avere fase esattamente lineare; • sono sempre stabili; • sono versatili perch´e per essi esistono eccellenti metodi di progetto, che offrono grande versatilit`a nel riprodurre Hd (ejω ) del tutto arbitrarie; • presentano minore sensibilit` a nei confronti di realizzazioni con aritmetica a precisione finita, rispetto ai filtri IIR; ad esempio hanno minore sensibilit` a ad errori di arrotondamento nei coefficienti; • consentono di filtrare non ricorsivamente nel dominio del tempo, via convoluzione oppure via equazione alle differenze, oppure ancora di filtrare nel dominio della frequenza. Questa caratteristica non costituisce un elemento di preferenza rispetto ai filtri IIR, in quanto ai fini delle applicazioni di nostro interesse, filtrare ricorsivamente nel dominio del tempo via equazione alle differenze, come richiesto da un filtro IIR (si veda la sezione 5.13) non `e pi` u scomodo delle altre possibilit`a citate, offerte da un filtro FIR ; tuttavia si tratta di una caratteristica peculiare dei filtri FIR e per questa ragione `e stata inserita nel presente elenco. Per contro, i filtri FIR presentano anche svantaggi, tra cui: • non esistono per essi equazioni di progetto in forma chiusa, cosa che invece spesso accade per i filtri IIR. Date le specifiche, non esiste cio`e una formula in cui inserirle che fornisca immediatamente la risposta in frequenza del filtro numerico progettato. Il progetto dei filtri FIR implica, come vedremo, procedimenti iterativi che richiedono potenti mezzi di calcolo; • in genere approssimano date specifiche ad un ordine superiore rispetto a quello di un analogo filtro IIR; • normalmente non sono piatti in banda passante ma presentano oscillazioni, mentre un filtro IIR pu` o essere piatto, come il filtro passa-basso di Butterworth riportato in Fig. 5.5. Per riassumere, lo svantaggio pi` u notevole dei filtri IIR rispetto a quelli FIR sta nel fatto che questi ultimi tipicamente a parit`a di specifiche hanno ordini pi` u elevati. Per contro, i filtri IIR hanno fase non lineare. Questo tuttavia non `e drammatico, perch`e le applicazioni che ci interessano normalmente prevedono che l’elaborazione dei dati sia effettuata “offline”: l’intera sequenza di dati `e gi` a

146

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Figura 5.5: Risposta di ampiezza di un filtro IIR passa-basso di Butterworth di ordine 9 disponibile prima del filtraggio. Questo consente un approccio non causale a fase nulla (come vedremo pi` u avanti) che elimina le distorsioni dovute alla fase non lineare di un filtro IIR. In conclusione, la scelta di occuparsi soltanto di filtri FIR, fatta in questo corso, si basa sostanzialmente sulla versatilit`a del metodo di progetto minimax, disponibile per i filtri FIR (non potendo trattare entrambi i filtri FIR e IIR per ovvie limitazioni di tempo). Presa la decisione di approssimare Hd (ejω ) con un polinomio, ossia con un sistema FIR, non sempre si ha la libert` a scegliere liberamente tra i quattro Tipi di filtri FIR a fase lineare, ed in particolare tra i tipi I e II nel caso di filtri a fase esattamente lineare adatti alla selezione in frequenza. Per capire questo, riprendiamo quanto detto nella sezione 4.3, a proposito delle restrizioni che la causalit`a impone sui filtri a GLP. Abbiamo visto in quell’occasione che 1. φ0 = 0 (Tipi I e II): H(ω) `e funzione pari di ω; 2. φ0 = π/2 (Tipi III e IV): H(ω) `e funzione dispari di ω; inoltre 1. τg intero (Tipi I e III): H(ω) `e periodica con periodo 2π; 2. τg semi-intero (Tipi II e IV): H(ω) `e periodica con periodo 4π.

5.3. SELEZIONE DEL TIPO DI FILTRO

147

Emerge cos`ı il quadro seguente, illustrato in Fig. 5.6: 1. Tipo I: H(ω) `e periodica con periodo 2π ed `e funzione pari di ω; 2. Tipo II: H(ω) `e periodica con periodo 4π ed `e funzione pari di ω; 3. Tipo III: H(ω) `e periodica con periodo 2π ed `e funzione dispari di ω; 4. Tipo IV: H(ω) `e periodica con periodo 4π ed `e funzione dispari di ω.

H (ω)

1 0

Tipo I

H (ω)

−1 1 0 −1 1

Tipo II

H (ω)

Tipo III 0

Tipo IV 0 −1

−π

0

π

ω 2π



H (ω)

−1 1



` mostrata Figura 5.6: Esempi di H(ω) per filtri dei Tipi I - II - III - IV. E la diversa simmetria e periodicit` a di H(ω) nei quattro casi, caratteristiche che implicano che solo il Tipo I sia adatto a tutti i generi di selettivit`a in frequenza, mentre negli altri casi vi siano delle esclusioni Osservando la Fig. 5.6, notiamo che 1. Tipo I: H(ω) presenta simmetria pari sia attorno a ω = 0, sia attorno a ω = π, quindi `e libera di assumere qualunque forma, quella di un passabasso come quella di un passa-alto oppure di un passa-banda o di un ferma-banda; 2. Tipo II: H(ω) presenta simmetria pari attorno a ω = 0 e attorno a ω = 2π, ma presenta simmetria dispari attorno a ω = π e attorno a ω = 3π. A ω = π dunque deve necessariamente essere nulla e quindi non pu` o assumere la forma di un passa-alto oppure di un ferma-banda;

148

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

3. Tipo III: H(ω) presenta simmetria dispari attorno a ω = 0 e attorno a ω = π, punti in cui deve annullarsi. Pertanto non pu` o assumere la forma di un passa-basso, di un passa-alto oppure di un ferma-banda; 4. Tipo IV: ω = 2π, ω = 3π. assumere

H(ω) presenta simmetria dispari attorno a ω = 0 e attorno a mentre presenta simmetria pari attorno a ω = π e attorno a A ω = 0 deve necessariamente essere nulla e quindi non pu` o la forma di un passa-basso oppure di un ferma-banda.

Ne concludiamo che mentre i filtri di Tipo I sono adatti per tutti i di selettivit` a in frequenza, i filtri di Tipo II possono essere usati solo per filtri passa-basso o passa-banda. Considerando poi che il tipo I ha ritardo intero, mentre il Tipo II ha ritardo semi-intero, se non vi sono indicazioni particolari di solito per i filtri selettivi in frequenza ci si attiene al Tipo I (ordine pari).

5.4

Selezione del metodo di progetto

I metodi per progettare filtri FIR possono dividersi in due categorie: 1. metodi che richiedono solo calcoli relativamente semplici. Il pi` u noto `e il progetto con l’uso di “finestre”, cui faremo tra breve un rapido cenno. Un altro metodo `e il progetto “least squares” (minimi quadrati). Questi metodi danno buoni risultati ma non sono ottimali in termini di complessit`a del filtro progettato. 2. metodi che si basano su ottimizzazioni numeriche e richiedono complicati software di progetto. Il pi` u noto `e il progetto “equiripple” o “minimax” che esamineremo pi` u in dettaglio e che garantisce l’accordo con le specifiche alla minima complessit`a possibile. Un punto cruciale che determina la comodit` a d’uso di un metodo di progetto `e la disponibilit`a di una qualche formula che consenta di stimare a priori con buona approssimazione l’ordine del filtro necessario per adeguarsi a determinate specifiche. In generale, `e intuitivo che quanto pi` u stringenti sono le specifiche che un filtro deve soddisfare, pi` u elevato dovr`a essere il suo ordine: ad esempio, nel caso di un passa-banda FIR, pi` u questo dovr`a essere “buono” (cio`e con piccolo ripple, grande attenuazione in banda oscura e banda di transizione stretta), pi` u l’ordine dovr`a essere elevato (il che comporta, tra l’altro, una h[n] pi` u lunga, pi` u calcoli nel filtraggio e tratti pi` u estesi della sequenza di input “sprecati” nei transitori della convoluzione con h[n]). Fissando ad arbitrio specifiche ed ordine, potr`a facimente accadere che il filtro progettato non abbia le caratteristiche desiderate. Si dovr`a allora modificare qualche parametro (normalmente, aumentare l’ordine del filtro) e ripetere fino

5.5. CRITERI DI APPROSSIMAZIONE

149

a soddisfazione. Una valutazione anche approssimativa dell’ordine richiesto per adeguarsi a certe specifiche fissate nell’ambito di un dato metodo di progetto potr`a allora far risparmiare molto lavoro. Tale stima a priori dell’ordine, che si basa su formule empiriche, `e possibile nel metodo equiripple mentre `e limitata ad un caso particolare nel metodo con finestre: un ulteriore argomento a favore del metodo equiripple (oltre all’ottimalit`a).

5.5

Criteri di approssimazione

Alla base di un metodo di progetto sta la definizione di una misura di errore, tramite la quale giudicare la “vicinanza” di una certa risposta in frequenza a quella desiderata. Tale misura di errore caratterizza il metodo stesso. Tre diverse misure di errore vengono usate normalmente nel progetto di filtri numerici. 1. Progetti “minimax error” I campioni di h[n], che sono anche i coefficienti della funzione di trasferimento del filtro, vengono ottimizzati in modo tale da minimizzare l’errore massimo della risposta in frequenza del filtro progettato rispetto a quella desiderata. La soluzione ottenuta `e detta minimax o approssimazione di Chebyshev. La quantit`a da minimizzare `e l’errore assoluto massimo in banda passante e/o in banda attenuata. Per capire il significato di questa quantit`a, fissiamo l’attenzione ad esempio sulla banda passante e supponiamo che il filtro numerico che progettiamo abbia andamento oscillante, come in Fig. 5.1. Allora dov’`e che l’errore assoluto `e massimo? Nei punti in cui la risposta d’ampiezza progettata tocca i limiti di tolleranza, ossia nei punti di massimo e minimo relativo della risposta d’ampiezza: in altre parole, nei “picchi” della risposta di ampiezza. Quindi l’errore assoluto massimo in banda passante `e un “errore di picco”, ed in effetti `e proprio questa l’espressione che si usa. Analoghe considerazioni valgono in banda oscura. Dare i limiti di tollerenza significa specificare il valore massimo consentito per per l’errore assoluto di picco; in base a ci`o si determina il minimo ordine necessario per stare entro i limiti fissati. Si procede poi ad ottimizzare i coefficienti del filtro avente l’ordine minimo determinato, in modo da minimizzare effettivamente l’errore assoluto di picco in banda passante e/o in banda attenuata. Il risultato finale potr`a avere un errore assoluto di picco pari al valore massimo prefissato (limite di tolleranza) o un po’ inferiore, a seconda che l’ordine minimo determinato fosse esattamente quello giusto o un po’ sovrabbondante. In realt`a le formule empiriche per la determinazione dell’ordine minimo semmai lo sottostimano, quindi `e probabile che al primo tentativo, pur

150

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI minimizzando, non si stia entro le specifiche. Allora si aumenta l’ordine e si ripete finch`e l’errore minimizzato non scende sotto il limite di tolleranza. Un’altra cosa da tener presente `e che se l’ordine minimo determinato empiricamente `e dispari, ed invece si vuole un filtro di Tipo I, bisogner` a almeno aumentarlo di una unit`a per riportarsi ad ordine pari; e se le specifiche vengono oltrepassate al primo tentativo ed occorre aumentare ancora l’ordine, si dovr`a aumentarlo di due unit`a per volta, per restare nell’ambito di filtri di Tipo I. I filtri ottenuti con questo procedimento risultano “equiripple”, ossia ad oscillazione uniforme (dotati di oscillazioni in banda passante ed oscura che all’interno della singola banda sono tutte uguali fra loro). Da questo fatto deriva, appunto, il termine equiripple: ripples tutti uguali.

2. Progetti “least squares” In questo caso viene minimizzato l’errore quadratico medio fra la risposta desiderata e quella effettiva. L’errore che si considera `e quello integrato sul set di bande di frequenza di interesse (passanti e/o oscure); il fit pu` o eventualmente essere pesato diversamente sulle varie bande. Una variante detta “constrained least squares FIR filter design”, cio`e con minimizzazione vincolata dell’errore quadratico medio, permette di effettuare la minimizzazione dell’errore integrato imponendo nel contempo limiti superiore ed inferiore di errore per la risposta di ampiezza nelle varie bande. 3. Altri progetti Esistono anche tecniche di progetto pi` u semplici, che direttamente non usano alcuno dei criteri citati: ad esempio la tecnica con uso di “finestre”. Questo metodo parte da una generica risposta in frequenza desiderata Hd (ejω ), ideale, che essendo una funzione periodica di ω con periodo 2π, pu` o essere sviluppata in serie di Fourier. I coefficienti dello sviluppo sono i campioni della risposta all’impulso hd [n], non causale e di lunghezza infinita. Tale sequenza viene poi troncata per avere una approssimazione FIR e questo viene fatto inquadrandone una porzione di lunghezza finita in una “finestra” di forma opportuna, avente solo un numero finito di campioni non nulli. La finestra pi` u semplice `e una sequenza rettangolare ma possono essere impiegate anche finestre con discesa pi` u graduale ai bordi. Discuteremo in seguito di finestre, quando sar`a necessario per la discussione di metodi di stima spettrale nell’ambito dell’approccio statistico all’analisi dei segnali (Parte III). Nel caso di uso di sequenza rettangolare, e solo in quello, la tecnica con finestre si inquadra nel secondo criterio di misura d’errore (quello least squares). La hd [n] del progetto con finestre `e una sequenza bilatera e come tale verr` a inquadrata in una finestra centrata su n = 0, ossia non causale; in seguito la risposta all’impulso verr` a ritardata per ottenere la causalit`a. In alternativa si pu` o incorporare un fattore di fase nella risposta ideale ed allora si pu` o utilizzare direttamente una finestra causale per il troncamento.

5.5. CRITERI DI APPROSSIMAZIONE

151

Normalmente Hd (ejω ) sar`a costante a tratti con discontinuit` a tra una banda e l’altra (si pensi ai quattro generi di filtri ideali). La convergenza della serie che rappresenta Hd (ejω ) sar`a dunque da intendere in senso quadratico medio ed ogni troncamento della serie stessa ad un numero finito di termini coinvolger`a il fenomeno di Gibbs. Pertanto la soluzione (la risposta in frequenza del filtro progettato) sar`a oscillante. Lo svantaggio di tale metodo `e che, come mostrato in Fig. 5.7, le oscillazioni in banda passante ed attenuata • in ogni banda non sono equiripple, ma massime ai lati della discontinuit` a: in questo modo le specifiche vengono soddisfatte a due singole frequenze ma sono decisamente eccessive alle altre frequenze; • sono vincolate ad essere uguali in banda passante ed in banda attenuata: se, come di solito avviene, le specifiche sono pi` u stringenti in banda oscura (δs < δp ), si finisce per avere una accuratezza non necessaria in banda passante, il che fa crescere l’ordine del filtro.

1.2

|H [exp (jω)]|

1 0.8 0.6 0.4 0.2 0 0

0.5

1

1.5

ω

2

2.5

3

Figura 5.7: Esempio di un Filtro FIR passa-basso di Tipo I progettato col metodo delle finestre. La finestra utilizzata `e quella rettangolare e l’ordine `e N − 1 = 28. Si nota il fatto che il filtro non `e equiripple e che le oscillazioni massime, collocate ai lati della discontinuit` a della risposta in frequenza ideale, hanno la stessa ampiezza in banda passante ed attenuata E’ intuitivo che se l’errore di approssimazione viene distribuito uniformemente in frequenza, e se i ripple nelle due bande vengono aggiustati separatamente, certe specifiche possono essere soddisfatte con un filtro di ordine inferiore. Questa considerazione qualitativa trova conferma rigorosa in un teorema detto “dell’alternanza” che sta alla base del progetto equiripple. Prima di illustrare quest’ultimo metodo, dobbiamo tuttavia riconsiderare le caratteristiche dei filtri FIR a fase lineare, per definire le quantit`a che useremo.

152

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

5.6

Caratteristiche dei filtri FIR a fase lineare

La funzione di trasferimento di un filtro FIR di ordine N − 1 (lunghezza N della risposta all’impulso h[n]) `e un polinomio in z −1 di grado pari all’ordine del filtro H(z) =

N −1 X

h[n]z −n

n=0

e presenta • N − 1 poli in z = 0,

• N − 1 zeri ovunque nel piano z al finito. La risposta in frequenza H(ejω ) =

+∞ X

h[n]e−jωn

n=−∞

esiste certamente perch´e H(z) converge sul cerchio unitario, essendo la trasformata z di una sequenza di lunghezza finita. Poich´e una sequenza di durata finita N `e completamente specificata da N campioni della sua trasformata di Fourier a tempo discreto, il progetto di un filtro FIR pu` o essere volto a trovare • gli N campioni della sua h[n], necessari a effettuare filtraggi di sequenze nel dominio del tempo, oppure • N campioni della sua H(ejω ), necessari a effettuare filtraggi di sequenze nel dominio della frequenza. Abbiamo visto precedentemente che: • per avere fase lineare (o lineare generalizzata), il filtro deve essere FIR e gli h[n] devono soddisfare certe condizioni di simmetria; • le caratteristiche in frequenza di un filtro a fase lineare sono preferenzialmente espresse nella rappresentazione in fase continua, e quindi mediante la risposta a fase nulla H(ω), una quantit`a reale tale che H(ejω ) = H(ω)ejφ(ω) = H(ω)ej(φ0 −ωτg ) con τg = ritardo di gruppo = costante nei filtri a GLP. A differenza di |H(ejω )|, H(ω) pu` o assumere valori sia positivi o nulli, sia negativi. In corrispondenza di ci`o, la fase φ(ω) non contiene pi` u i salti di π che in ψ(ω) si trovavano in corrispondenza degli zeri di |H(ejω )| e risulta linearizzata (Fig. 5.8)

5.6. CARATTERISTICHE DEI FILTRI FIR A FASE LINEARE

153

Figura 5.8: Passaggio dalla risposta di ampiezza alla risposta a fase nulla: a quest’ultima `e consentito di assumere valori negativi, ed in corrispondenza la fase viene linearizzata • i filtri numerici RCSR a GLP esistono in quattro tipi. 1. Tipo I: τ = τg = N 2−1 = intero, quindi N − 1 pari, N dispari; φ0 = 0, quindi h[n] = h[N − 1 − n].

2. Tipo II: τ = τg = N 2−1 = semi-intero, quindi N − 1 dispari, N pari; φ0 = 0, quindi h[n] = h[N − 1 − n]. 3. Tipo III: τg = N 2−1 = intero, quindi N − 1 pari, N dispari; φ0 = π2 , quindi h[n] = −h[N − 1 − n].

4. Tipo IV: τg = N 2−1 = semi-intero, quindi N − 1 dispari, N pari; φ0 = π2 , quindi h[n] = −h[N − 1 − n].

Il centro di simmetria k =

N −1 2

dei coefficienti h[n] `e

– intero per i Tipi I e III, – semi-intero per i Tipi II e IV, come si pu` o vedere in Fig. 5.9.

h[n]

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

h[n]

154

Tipo I

Tipo II

N =5

N =4 2

n

3

4

0

1

n

2

3

2

3

h[n]

1

h[n]

0

Tipo III

Tipo IV

N =5 0

1

N =4 2

n

3

4

0

1

n

Figura 5.9: Simmetria dei campioni della risposta all’impulso per i quattro tipi di filtri FIR a fase lineare e lineare generalizzata: esempi. Il centro di simmetria, o essere indicato dalla linea nera tratteggiata in ciascun pannello, `e k = N 2−1 e pu` intero o semi-intero

5.6.1

Fattorizzazione della risposta a fase nulla

Ai fini del progetto, `e utile unificare la relazione di simmetria dei coefficienti per i quattro tipi di filtri, cosa che si ottiene come segue. Per ciascuni dei quattro tipi, si pu` o fattorizzare H(z) come H(z) = F (z) · G(z) dove il termine F (z) ha forma funzionale fissa per ciascun tipo:

F (z) =

 1     1+z−1 2

−2

1−z     1−z2 −1 2

per per per per

il il il il

Tipo Tipo Tipo Tipo

I II III IV

e quindi viene detto “termine fisso”, mentre il termine G(z), detto “termine aggiustabile”, 2M X g[n]z −n G(z) = n=0

5.6. CARATTERISTICHE DEI FILTRI FIR A FASE LINEARE con

 N −1  2   N − 1 2 M = N −3   2  N 2 −1

per per per per

il il il il

Tipo Tipo Tipo Tipo

155

I II III IV,

contiene 2M + 1 coefficienti g[n] che sono diversi a seconda del particolare filtro considerato (cio`e diversi a seconda delle specifiche) e sono quindi da determinarsi in base alle specifiche stesse (sono, appunto, “aggiustabili”). Si noti che • G(z) `e esso stesso una funzione di trasferimento di Tipo I (nel senso che per il Tipo I, F (z) = 1 e quindi H(z) ≡ G(z)); • `e un polinomio in z −1 di grado 2M , quindi di grado pari (come pari `e l’ordine N − 1 per il Tipo I). Ovviamente i coefficienti g[n] sono legati agli h[n] e quindi sono simmetrici, ma la fattorizzazione operata fa s`ı che la relazione di simmetria per i nuovi coefficienti g[n] sia unica per i quattro tipi: g[2M − n] = g[n]. Con questo artificio, lo studio di un metodo di progetto pu` o concentrarsi su G(z), cio`e sul Tipo I; il metodo di progetto analogo per i filtri degli altri tre tipi viene ricondotto a quello per il Tipo I. La Tabella 5.1 riporta la relazione tra i coefficienti h[n] ed i coefficienti g[n], diversa per ciascun tipo. In particolare, per il Tipo I si ha h[n] ≡ g[n]. La Fig. 5.10 illustra la relazione tra N , M e numero di coefficienti g[n] tra loro indipendenti, per i quattro tipi di filtri. Si noti che la convoluzione lineare per il filtraggio di un segnale di durata finita richiede solo M + 1 moltiplicazioni perch´e solo M + 1 coefficienti di h[n] sono indipendenti. Per le propriet` a di simmetria dei g[n] si pu` o scrivere, partendo dalla formula P2M G(z) = n=0 g[n]z −n ,  G(z) = z −M g[M ] + g[M − 1](z + z −1 ) + . . . + g[0](z M + z −M )

che sul cerchio unitario (z = ejω ) d`a

G(z) = e−jM ω {g[M ] + g[M − 1]2 cos ω + g[M − 2]2 cos(2ω) + . . . + g[0]2 cos(M ω)}. Per ottenere quest’ultima espressione abbiamo sfruttato il fatto che, ad esempio, z + z −1 = ejω + e−jω = cos ω + j sin ω + cos ω − j sin ω = 2 cos ω

156

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

coefficiente

Tipo I

Tipo II

Tipo III

Tipo IV

h[0]

g[0]

g[0]/2

g[0]/2

g[0]/2

h[1]

g[1]

g[1]+g[0] 2

g[1]/2

g[1]−g[0] 2

h[n]

g[n]

g[n]+g[n−1] 2

g[n]−g[n−2] 2

g[n]−g[n−1] 2

h[N − 2]

g[N − 2]

g[N −2]+g[N −3] 2

− g[N2−4]

g[N −2]−g[N −3] 2

h[N − 1]

g[N − 1]

g[N −2] 2

− g[N2−3]

− g[N2−2]

2M = N − 1

2M = N − 2

2M = N − 3

2M = N − 2

Tabella 5.1: Relazione tra i coefficienti h[n] ed i coefficienti g[n]

N =4 h[n]

h[n]

N =5

Tipo I

Tipo II

M =2

M =1

0

1

2

n

3

4

0

1

n

2

N =4 h[n]

h[n]

N =5

3

Tipo III

Tipo IV

M =1

M =1

0

1

2

n

3

4

0

1

n

2

3

Figura 5.10: Valore di M per ciascuno dei quattro tipi di filtri FIR a fase lineare e lineare generalizzata: esempi. In rosso sono evidenziati i coefficienti indipendenti

5.6. CARATTERISTICHE DEI FILTRI FIR A FASE LINEARE

157

e relazioni analoghe. Lasciando da parte il fattore di fase, abbiamo dunque G(ω) = g[M ] + g[M − 1]2 cos ω + g[M − 2]2 cos(2ω) + . . . + g[0]2 cos(M ω) che pu` o essere riscritta come G(ω) =

M X

a[n] cos(ωn)

n=0

avendo posto ( 2g[M − n] a[n] = g[M ]

per n 6= 0 per n = 0.

Analogamente, dopo alcuni passaggi si arriva  1    e−j ω2 cos( ω ) 2 F (z) = −j(ω− π 2 ) sin ω  e    −j( ω − π ) e 2 2 sin( ω2 ) da cui, lasciando da parte i fattori di fase,  1 per    cos( ω ) per 2 F (ω) =  sin ω per    ω sin( 2 ) per

a scrivere per per per per

il il il il

il il il il

Tipo Tipo Tipo Tipo

Tipo Tipo Tipo Tipo

I II III IV

I II III IV.

Combinando le espressioni ottenute per G(ω) e F (ω) si ottiene la risposta a fase nulla, H(ω) = F (ω) · G(ω). PM Nell’espressione del termine aggiustabile G(ω) = n=0 a[n] cos(ωn) a questo punto rimangono solo M +1 coefficienti a[n] indipendenti tra loro e determinarli sar`a lo scopo del progetto. Dalle stesse espressioni, riprendendo e mettendo insieme i fattori di fase prima scartati, si deriva anche la forma del termine di fase: ( per i Tipi I e II (fase strettamente lineare), − N 2−1 ω φ(ω) = π N −1 − 2 ω + 2 per i Tipi III e IV (fase lineare generalizzata). Si ha quindi un semplice sfasamento o ritardo di (ritardo intero) e II (ritardo semi-intero).

N −1 2

campioni per i Tipi I

Come gi` a detto, normalmente si usano filtri dei Tipi I e II perch´e il ritardo di fase τ = −φ(ω)/ω = N 2−1 `e indipendente dalla frequenza, come desiderato

158

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

per preservare la forma del segnale; i filtri di Tipo II e IV sono usati per filtri speciali. Prima di passare oltre, notiamo che la forma dei termini con cui H(ω) `e stata fattorizzata `e consistente con quanto detto in precedenza a proposito del fatto che solo i filtri di Tipo I sono adatti per tutti i tipi di selettivit`a in frequenza. In particolare, il comportamento di H(ω) a ω = 0 e ω = π `e vincolato dal termine F (ω): 1. Tipo I: F (ω) = 1, quindi F (ω) non si annulla mai e lascia H(ω) libera di assumere qualunque forma; 2. Tipo II: F (ω) = cos( ω2 ), quindi a ω = π si ha F (ω) = 0 e H(ω) = 0: il filtro non pu` o assumere la forma di un passa-alto oppure di un ferma-banda; 3. Tipo III: F (ω) = sin ω, quindi a ω = 0 e ω = π si ha F (ω) = 0 e H(ω) = 0: il filtro non pu` o assumere la forma di un passa-basso, di un passa-alto oppure di un ferma-banda; 4. Tipo IV: F (ω) = sin( ω2 ), quindi a ω = 0 si ha F (ω) = 0 e H(ω) = 0: il filtro non pu` o assumere la forma di un passa-basso oppure di un ferma-banda.

5.6.2

Zeri della funzione di trasferimento dei filtri FIR a GLP

Gli zeri di H(z) sono determinati sia da F (z), sia da G(z). Per quanto concerne il termine fisso,

F (z) =

 1     1+z−1 2

−2

1−z     1−z2 −1 2

per per per per

il il il il

Tipo Tipo Tipo Tipo

I: nessuno zero II: uno zero in z = −1 III: due zeri in z = ±1 IV: uno zero in z = +1.

Per gli zeri di G(z), si osserva che poich´e  G(z) = z −M g[M ] + g[M − 1](z + z −1 ) + . . . + g[0](z M + z −M ) , ossia

 G(z −1 ) = z M g[M ] + g[M − 1](z −1 + z) + . . . + g[0](z −M + z M ) , G(z −1 ) = z 2M G(z).

Se ne deduce che G(z) e G(z −1 ) hanno gli stessi zeri (si ricordi che in z = 0 vi sono i poli).

5.6. CARATTERISTICHE DEI FILTRI FIR A FASE LINEARE

159

Questa propriet` a ha come conseguenza che gli zeri di G(z) appaiono in coppie speculari: per un G(z) con coefficienti reali, gli zeri sono reali o appaiono in coppie in cui un membro `e il complesso coniugato dell’altro. Pi` u in dettaglio, come illustrato in Fig. 5.11, si hanno: • quadrupletti non disposti sul cerchio unitario: z = ri e±jθi ;

1 ±jθi ; ri e

• coppie complesso-coniugate sul cerchio unitario: ′

z = e±jθi ;

• coppie reciproche sull’asse reale: z = ri′ ;

1 ri′ .

Figura 5.11: Zeri della funzione G(z): esempio Questi sono anche gli zeri di una H(z) di Tipo I. Gli altri tipi presentano differenze rispetto al Tipo I, per quanto concerne gli zeri, solo in z = ±1, a seconda del tipo e quindi della forma di F (z).

5.6.3

Rappresentazione alternativa di G(ω)

La forma di G(ω) discussa finora `e una possibile rappresentazione della risposta a fase nulla dei filtri di Tipo I, che verr` a usata per il progetto minimax. Un’altra rappresentazione di G(ω) utile nel medesimo contesto deriva dall’dentit`a cos(nω) = Tn (cos ω)

160

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

dove Tn (x) = cos(n arccos x) `e il Polinomio di Chebyshev di grado n in x. Questi polinomi possono essere generati con la formula ricorsiva  T0 (x) = 1    T (x) = x 1  ...    Tn (x) = 2xTn−1 (x) − Tn−2 (x). Usando queste relazioni si pu` o scrivere cos(nω) come un polinomio di grado n in cos ω e quindi scrivere G(ω) come un polinomio di grado M in cos ω: G(ω) =

M X

n=0

a[n] cos(ωn) =

M X

α[n] cosn ω,

n=0

dove i coefficienti α[n] sono, ovviamente, ricavabili dagli a[n] (a loro volta legati ai g[n], etc...).

5.7

Approssimazioni equiripple per filtri FIR a GLP

Il metodo che ora descriveremo, detto “progetto di filtri equiripple” o “ad oscillazione uniforme” o “progetto minimax”, serve per progettare filtri FIR a GLP di uno qualsiasi dei quattro tipi. Il progetto si basa sulla fattorizzazione della risposta a fase nulla che abbiamo studiato, ossia sul fatto che si pu` o scrivere H(ω) = F (ω) · G(ω), dove solo G(ω) contiene coefficienti aggiustabili, da determinarsi a seconda delle specifiche del particolare filtro considerato. Lavorare sulla risposta a fase nulla, anzich´e sulla risposta di ampiezza, `e comodo ma non restrittivo: infatti conosciamo gi` a la risposta di fase e sappiamo a priori come l’output del filtro sar`a ritardato rispetto all’input. Il metodo serve proprio a determinare, in base alle specifiche espresse, i coefPM PM ficienti a[n] o α[n] di G(ω) = n=0 a[n] cos(ωn) = n=0 α[n] cosn ω, per poi risalire tramite i g[n] ai coefficienti h[n] della risposta all’impulso. Dalla discussione precedente appare chiaro che possiamo limitarci a discutere il Tipo I, per il quale H(ω) = G(ω), essendo poi in grado di risalire ad H(ω) per gli altri tre tipi utilizzando la forma, nota, di F (ω), che differenzia il Tipo II, oppure III, oppure IV dal Tipo I.

5.7. APPROSSIMAZIONI EQUIRIPPLE PER FILTRI FIR A GLP

161

Illustriamo il metodo nel caso di un passa-basso di Tipo I. Il caso di un passa-alto sarebbe perfettamente analogo; qualche differenza nasce considerando invece un passa-banda o un ferma-banda, perch´e questi due generi di filtri presentano, rispetto al passa-basso, un numero diverso di bande. In seguito discuteremo brevemente le implicazioni di questo fatto. Fissiamo dunque l’attenzione su un passa-basso di Tipo I, con ordine N − 1 pari e lunghezza N della risposta all’impulso dispari, che dovr`a soddisfare le specifiche mostrate, questa volta in termini di risposta a fase nulla, nella Fig. 5.12. L’esempio riportato ha N = 15 e M = N 2−1 = 7.

ω

H (ω)

1 + δp 1 1 − δp

+δs 0 −δs 0

ωp

ωs

π

Figura 5.12: Specifiche per il progetto di un passa-basso di Tipo I, con N = 15 e M = 7. Le linee rosse rappresentano la risposta desiderata in banda passante ed in banda oscura, le linee verdi indicano i limiti di tolleranza e la curva blu mostra la risposta a fase nulla di una approssimazione minimax che soddisfa le specifiche

Si noti che, come gi` a detto, i vincoli vengono posti esclusivamente sulle bande passante ed oscura; nella banda di transizione non si pongono vincoli su H(ω), ma la banda di transizione stessa deve avere larghezza non nulla perch´e il filtro sia realizzabile. Poich´e non `e possibile fissare indipendentemente ciascuno dei cinque parametri M , ωp , ωs , δp e δs , sono stati sviluppati algoritmi di progetto in cui alcuni di questi parametri sono fissati ed i rimanenti vengono ottimizzati con una procedura iterativa di minimizzazione dell’errore massimo su (0, ωp ) e (ωs , π).

162

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Noi considereremo l’approccio in cui si fissano M , ωp , ωs ed il rapporto κ = δp /δs , mentre l’effettivo valore di δp (e quindi di δs ) viene minimizzato. Ripetiamo ancora una volta che: • il metodo porta a costruire filtri ottimizzati secondo il criterio minimax, che risultano ottimi nel senso che si accordano alle specifiche col minimo ordine possibile ad un filtro FIR a GLP; • il progetto minimax ha caratteristiche di estrema efficienza nell’ottimizzare filtri con specifiche arbitrarie su H(ω), tanto che la sua esistenza costituisce un argomento a favore dell’uso dei filtri FIR rispetto a quello dei filtri IIR; • il procedimento consente di ottenere filtri selettivi in frequenza, in generale multibanda, e filtri speciali; i primi sono di Tipo I o II, i secondi di Tipo III e IV; • per i Tipi I e II usati per selezionare in frequenza, fissato l’ordine N − 1 resta automaticamente determinato il valore di M ed il tipo (Tipo I se l’ordine `e pari, Tipo II se `e dispari). Tra le molte varianti di cui si ha notizia in letteratura, l’algoritmo pi` u efficiente di progetto minimax `e quello di Remez, detto multiple exchange algorithm per le ragioni che vedremo. Dell’algoritmo di Remez, il metodo di attuazione in software pi` u usato `e quello di McClellan, Parks e Rabiner (algoritmo MPR). Un parametro importante nel progetto `e il numero di massimi e minimi locali che H(ω), oscillando (come si addice ad una sovrapposizione di coseni), raggiunge nell’intervallo 0 ≤ ω ≤ π. La Fig. 5.13 mostra, per il nostro passa-basso, le frequenze a cui cadono i massimi ed i minimi locali, che nell’esempio sono anche frequenze a cui H(ω) `e al limite della tolleranza d’errore. Inoltre H(ω) `e al limite della tolleranza d’errore anche in ωp e ωs : in totale abbiamo cos`ı 7 + 2 = M + 2 = 9 frequenze. Per esaminare in generale la dipendenza del numero di massimi e minimi locali di H(ω) da M , si utilizza l’espressione di G(ω) come somma di potenze di cos ω: per il Tipo I M X α[n] cosn ω, H(ω) = G(ω) = n=0

che essendo un polinomio trigonometrico di ordine M , pu` o avere al massimo M − 1 massimi e minimi locali nell’intervallo aperto 0 < ω < π. Inoltre ( M X 0 dH(ω) n−1 nα[n] cos ω = 0 per ω = = − sin ω dω π n=0

e quindi vi `e sempre un massimo o un minimo a ω = 0 e ω = π.

Conclusione: si hanno al massimo M + 1 estremi locali di H(ω) nell’intervallo chiuso 0 ≤ ω ≤ π. Non `e detto per` o a priori che i massimi siano tutti uguali

5.7. APPROSSIMAZIONI EQUIRIPPLE PER FILTRI FIR A GLP

163

ω

H (ω)

1 + δp 1 1 − δp

+δs 0 −δs ω0

ω1

ω2 ω3

ω4 ω5

ω6

ω7

ω8

Figura 5.13: Frequenze a cui H(ω) `e al limite della tolleranza d’errore. Nell’esempio (filtro di Tipo I con M = 7) abbiamo M + 2 = 9 frequenze, numerate da 0 a M + 1 = 8, con ω0 = 0, ω3 = ωp , ω4 = ωs e ω8 = π fra loro, e cos`ı i minimi; se un massimo o un minimo `e pi` u piccolo degli altri, in quel punto H(ω) non arriver` a al massimo della tolleranza d’errore. Dobbiamo ora stabilire quali requisiti debba avere un filtro per essere ottimo. PM L’algoritmo MPR consente di trovare i coefficienti di G(ω) = n=0 a[n] cos(ωn) = PM n n=0 α[n] cos ω che minimizzano, in un sottoinsieme chiuso F di (0, π), il valore assoluto di picco dell’errore: ǫ = max |E(ω)| ω∈F

dove   E(ω) = W (ω) G(ω) − Hd (ω)

con W (ω) > 0 e Hd (ω) continua in F , anche a tratti.

Le funzioni W (ω) e Hd (ω) sono per G(ω) ci`o che W (ω) e Hd (ω) sono per H(ω): E(ω) = W (ω) [H(ω) − Hd (ω)] =

= W (ω) [F (ω)G(ω) − Hd (ω)] =   Hd (ω) = W (ω)F (ω) G(ω) − = F (ω)   = W (ω) G(ω) − Hd (ω) ,

164

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

con W (ω) = W (ω)F (ω), Hd (ω) =

Hd (ω) , F (ω)

e servono per esprimere le specifiche in termini di G(ω). L’insieme F include, nel nostro esempio di filtro passa-basso, sia la banda passante, sia quella attenuata: F = 0 ≤ ω ≤ ωp ∪ ωs ≤ ω ≤ π. Riferendoci ancora all’esempio del passa-basso, si avr`a ( 1 per 0 ≤ ω ≤ ωp Hd (ω) = 0 per ωs ≤ ω ≤ π e

( 1 per 0 ≤ ω ≤ ωp W (ω) = κ per ωs ≤ ω ≤ π

con κ = δp /δs = rapporto tra le ampiezze di errore massimo in banda passante ed attenuata; si avr`a infine ǫ = δp . Per il Tipo I, F (ω) = 1, W (ω) = W (ω), Hd (ω) = Hd (ω). L’operazione di minimizzazione di max |E(ω)| negli intervalli 0 ≤ ω ≤ ωp e ωs ≤ ω ≤ π equivale dunque a minimizzare δp (dopo averne fissato un valore a priori non superabile), fissati M , ωp , ωs ed il rapporto κ = δp /δs . L’algoritmo di Remez viene costruito sulla base di un teorema che esprime le condizioni per l’ottimalit` a, secondo il criterio minimax, di un filtro FIR a GLP: il Teorema dell’Alternanza, il cui enunciato `e il seguente. “Dato F , un qualsiasi sottoinsieme chiuso dell’intervallo chiuso 0 ≤ ω ≤ π, affinch´e H(ω) sia l’unica migliore approssimazione di Hd (ω) su F `e necessario e sufficiente che la funzione errore E(ω) presenti su F almeno M +2 alternanze, ossia punti ωi in cui il valore assoluto `e massimo ed il segno `e alterno: E(ωi ) = −E(ωi−1 ) = ± max |E(ω)| = ±ǫ con 1 ≤ i ≤ M + 1 (totale: M + 2 punti, con indice da 0 a M + 1), ǫ > 0 e con frequenze ω0 ≤ ω1 ≤ ω2 ≤ . . . ωM +1 contenute in F ”. La Fig. 5.14 mostra le alternanze di errore nel caso del nostro esempio. Il Teorema dell’Alternanza `e soddisfatto, essendoci M + 2 = 9 alternanze. Si noti che

5.7. APPROSSIMAZIONI EQUIRIPPLE PER FILTRI FIR A GLP

165

ω

H (ω)

1 + δp 1 − δp

ǫ/κ = δs 0 −δs

E(ω)

+ǫ 0 −ǫ ω0

ω1

ω2 ω3

ω4 ω5

ω6

ω7

ω8

Figura 5.14: Alternanze di errore E(ω) per la risposta H(ω) (punti sulla curva rossa). Nell’esempio (filtro di Tipo I con M = 7) abbiamo M + 2 = 9 alternanze • le ωi sono i punti di picco di |E(ω)|, ossia i punti in cui H(ω) `e al limite della tolleranza di errore; • ωp e ωs sono sempre punti di massimo/minimo di E(ω), indipendentemente da M , e quindi rientrano nel set delle ωi , mentre non sono punti di massimo/minimo di H(ω). Ora possiamo trarre le conclusioni: • H(ω) pu` o avere al pi` u M − 1 massimi e minimi locali in 0 < ω < π; lo stesso si dimostra essere vero negli intervalli aperti combinati 0 < ω < ωp , ωs < ω < π; inoltre H(ω) ha sempre un massimo o minimo locale in ω = 0 e ω = π; infine, in ωp e ωs si raggiunge il massimo della tolleranza, ossia H(ωp ) = 1 − δp , H(ωs ) = δs .

In totale, nel nostro esempio passa-basso, che ha due bande e quindi un singolo valore di ωp ed un singolo valore di ωs , possono esserci al massimo M −1+2+2=M +3 frequenze a cui E(ω)| raggiunge il suo massimo;

• per il Teorema dell’Alternanza debbono esserci al minimo M +2 alternanze (massimi di |E(ω)| con segni alterni di E(ω)).

166

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Quindi la migliore approssimazione H(ω) di Hd (ω) produce una E(ω) con M +2 oppure M + 3 alternanze. In ωp e ωs , |E(ω)| `e sempre massimo, quindi restano, per |E(ω)|, M oppure M + 1 picchi dovuti ai massimi e minimi locali di H(ω); ω = 0 e ω = π possono essere estremi della funzione d’errore • entrambi, ed allora si hanno M + 3 oppure M + 2 alternanze, • uno solo dei due, ed allora si hanno M + 2 alternanze. Per chiarire questo punto, nella Fig. 5.15 sono mostrati tutti i casi possibili: per M , κ e larghezza della banda di transizione fissati, si verificher`a uno di questi casi a seconda del valore di ωp (e quindi di ωs , essendo fissata la larghezza della banda di transizione). Nella Fig. 5.15, ωp assume quattro valori crescenti, ωp1 < ωp2 < ωp3 < ωp4 (ovviamente, fissando anche ωp la soluzione diviene unica). 1. Per ωp = ωp1 , |E(ω)| `e massimo in ω = π ed in altri M − 1 estremi locali di H(ω), ma non in ω = 0. Quindi M estremi di H(ω) rappresentano estremi di |E(ω)| ed includendo ωp e ωs si hanno M + 2 alternanze di E(ω). 2. Per ωp = ωp2 , |E(ω)| `e massimo sia in ω = 0, sia in ω = π ed in altri M −1 estremi locali di H(ω). Quindi M + 1 estremi di H(ω) rappresentano estremi di |E(ω)| ed includendo ωp e ωs si hanno M + 3 alternanze di E(ω). Questo `e un filtro con oscillazione extra o extraripple. 3. Per ωp = ωp3 , |E(ω)| `e massimo in ω = 0 ed in altri M −1 estremi locali di H(ω) ma non in ω = π. Quindi M estremi di H(ω) rappresentano estremi di |E(ω)| ed includendo ωp e ωs si hanno M + 2 alternanze di E(ω). 4. Per ωp = ωp4 , |E(ω)| `e massimo sia in ω = 0, sia in ω = πed in altri M − 2 estremi locali di H(ω). Quindi M estremi di H(ω) rappresentano estremi di |E(ω)| ed includendo ωp e ωs si hanno M + 2 alternanze di E(ω). Dagli esempi fatti si capisce anche che se a priori non `e detto che H(ω) sia equiripple, per soddisfare il Teorema dell’Alternanza H(ω) deve essere effetiivamente equiripple, eccetto eventualmente a ω = 0 oppure ω = π. Infatti se il nostro filtro venisse modificato come in Fig. 5.16, un picco (qui un minimo relativo) diverso dagli altri in posizione differente da ω = 0 oppure ω = π darebbe luogo ad errori massimi contigui dello stesso segno; se ne potrebbero contare cos`ı soltanto 8 = M + 1 ed il Teorema dell’Alternanza non sarebbe soddisfatto.

1 + δp 1 − δp

ωp = ωp2 M +3

H (ω)

ωp = ωp1 M +2

+δs 0 −δs

0

ωp ωs

Filtro extraripple

+δs 0 −δs

π

0

ωp ωs

ω

π ω

1 + δp 1 − δp

ωp = ωp4 M +2

H (ω)

ωp = ωp3 M +2

+δs 0 −δs

0

ωp ωs

π

H (ω)

1 + δp 1 − δp

H (ω)

1 + δp 1 − δp

+δs 0 −δs

0

ωp ωs

π

167

Figura 5.15: Come cambia la forma di H(ω) facendo crescere ωp (ωp1 < ωp2 < ωp3 < ωp4 ), mentre M , κ e la larghezza ∆ω sono tenuti fissi. In ogni riquadro `e indicato il numero di alternanze; solo in un caso esso vale M + 3, identificando cos`ı un filtro extraripple

5.7. APPROSSIMAZIONI EQUIRIPPLE PER FILTRI FIR A GLP

ω

ω

168

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

ω 1 + δp 1 − δp

H (ω)

M =7

+δs 0 −δs 0

ωp

ωs

π

Figura 5.16: Come un estremo relativo di H(ω) di entit`a diversa dagli altri, in una posizione diversa da ω = 0 oppure ω = π, d`a luogo ad errori massimi adiacenti dello stesso segno, cos`ı che il Teorema dell’Alternanza non `e soddisfatto. In questo esempio (M = 7), un minimo meno profondo fa nascere due errori massimi contigui dello stesso segno (cerchietti con crocetta) cos`ı che se ne possono contare, ai fini delle alternanze, soltanto 8=M + 1 (cerchietti rossi): non abbastanza per soddisfare il teorema

Con una argomentazione simile si pu` o mostrare che ωp e ωs devono sempre essere incluse tra le ωi di errore massimo, come illustrato in Fig. 5.17. Infatti togliere una delle due frequenze dal set significherebbe diminuire di due il numero di alternanze, come prima. Considerazioni analoghe possono essere fatte per un passa-alto ma non valgono necessariamente per filtri passa-banda o multi-banda, che presentano un numero maggiore di estremi di banda. Discuteremo questo tra poco. La discussione precedente vale per il Tipo I. Per gli altri Tipi di filtri (II, III, IV), come gi` a detto, il problema di approssimazione polinomiale viene risolto analogamente, salvo poi tenere conto che F (ω) 6= 1 e quindi H(ω) 6= G(ω).

5.8. STIMA A PRIORI DELL’ORDINE

169

ω 1 + δp 1 − δp

H (ω)

M =7

+δs 0 −δs 0

ωp

ωs

π

Figura 5.17: Perch´e ωp deve sempre essere inclusa tra le ωi di errore massimo: il caso di un ipotetico filtro in cui, ad esempio, ωp non `e in posizione tale da dare errore massimo ma `e un po’ inferiore (quadratino nero). Scomparendo ωp dal set di ωi di errore massimo, si vengono ad avere due errori massimi contigui dello stesso segno (cerchietti con crocetta). In tal modo si possono contare solo 8=M +1 alternanze (cerchietti rossi): non abbastanza per soddisfare il Teorema dell’Alternanza

5.8

Stima a priori dell’ordine

Stimare a priori l’ordine necessario per soddisfare le specifiche, e quindi stimare M , `e necessario perch´e l’ordine stesso `e un parametro di input del progetto: il processo iterativo per ottenere un filtro ottimo comincia assegnando i valori iniziali delle M + 2 frequenze ωi alle quali si suppone che |E(ω)| raggiunga il suo massimo. Per il filtro passa-basso, Kaiser ha proposto una formula empirica per stimare approssimativamente l’ordine richiesto in base a ∆ω = ωs −ωp , δp e δs specificati a priori: p −20 log10 δp δs − 13 N= 2.324∆ω dalla quale si comprende che a parit`a di tolleranze d’errore, l’ordine del filtro richiesto varia inversamente a ∆ω. Da questa stima si ricava poi M a seconda del tipo di filtro (I, II, III o IV).

170

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

A questo punto occorre far chiarezza su un’apparente contraddizione. Abbiamo detto in precedenza che per progettare il filtro si fissano l’ordine, quindi M , i valori di ωp , ωs ed il rapporto κ = δp /δs , mentre l’effettivo valore di δp (e quindi di δs ) viene minimizzato. Ma per stimare l’ordine, vediamo ora che κ = δp /δs non basta, occorrono valori fissati a priori delle singole tolleranze δp e δs . Nella pratica si parte proprio fissando ωp , ωs , δp e δs ; si pu` o cos`ı, tramite la formula empirica, farsi un’idea dell’ordine necessario. In seguito, nel processo di ottimizzazione (che riceve in input l’ordine, i valori di ωp , ωs ed il rapporto κ = δp /δs ), il valore di ǫ = δp viene minimizzato (e quindi anche il valore di δs , mantenendosi costante il rapporto κ = δp /δs ). Nella soluzione ottima l’errore finale deve stare entro le δp e δs prefissate; questo sar`a possibile solo se l’ordine `e stato fissato sufficientemente alto. Se questo `e vero, il lavoro di progetto `e terminato ed il δp effettivo, minimizzato, sar`a circa uguale o un po’ inferiore a quello prefissato. Se invece la stima a priori dell’ordine era carente, la soluzione ottima deborder` a dalle specifiche prefissate. Allora si aumenter` a l’ordine finch´e la soluzione ottima soddisfa le richieste, ricordandosi che se si `e partiti da ordine pari, per esempio, occorrer` a salire di due unit`a per rimanere nell’ambito di un filtro di Tipo I. Per ogni valore dell’ordine occorre dunque un processo di ottimizzazione iterativa ed `e chiaro come stimare bene fin dall’inizio l’ordine richiesto faccia risparmiare tempo e mezzi di calcolo. Il sofisticato software necessario per il progetto minimax `e disponibile, ad esempio, in MATLAB.

5.9

Procedimento iterativo per filtri ottimi

Si trova notizia in letteratura di modi diversi per attuare l’algoritmo MPR. E’ istruttivo seguire una classica attuazione dell’algoritmo, per apprezzarne l’efficienza. Riferiamoci come sempre al passa-basso di Tipo I. 1. Si inizializza il processo assegnando M + 2 frequenze ωi (i = 0, M + 1) su cui si ipotizza che |E(ω)| raggiunga il suo massimo. Si noti che M + 2 `e il minimo possibile numero di alternanze richiesto dall’omonimo teorema. Le ωi potranno essere scelte, ad esempio, equidistanti su F , salvo contenere sempre e comunque in posizioni contigue ωp e ωs , per cui se ωi=l = ωp , allora ωi=l+1 = ωs . 2. Per stimare l’errore nei punti ωi si scrivono M + 2 equazioni del tipo   E(ωi ) = W (ωi ) G(ωi ) − Hd (ωi ) = (−1)i ǫ.

Se ǫ venisse assunto positivo, come fatto finora, ω0 dovrebbe sicuramente essere un massimo di E(ω), ω1 un minimo, ecc... per cui ωl = ωp dovrebbe avere l dispari (in quanto in ωp l’errore `e certamente minimo). In

5.9. PROCEDIMENTO ITERATIVO PER FILTRI OTTIMI

171

realt`a si consente a ǫ di essere sia positivo, sia negativo, cos`ı che ω0 non `e necessariamente un massimo ma pu` o pure essere un minimo, e cos`ı via. Il precedente sistema di M + 2 equazioni `e equivalente a "M # X n W (ωi ) α[n] cos (ωi ) − Hd (ωi ) = (−1)i ǫ n=0

le cui M + 2 incognite sono i coefficienti α[n] e ǫ, che deve venire minimizzato. Per l’esempio del passa-basso che stiamo esaminando, pi` u semplicemente  hP i M n i 1 · n=0 α[n] cos (ωi ) − 1 = (−1) ǫ hP i M n i κ · n=0 α[n] cos (ωi ) − 0 = (−1) ǫ.

I parametri su cui giocare nel corso dell’ottimizzazione sono le ωi , che devono essere determinate in modo tale che la soluzione, di sicuro ottima in partenza sull’insieme delle ωi , sia in effetti, alla fine, ottima su tutto F : in altri termini, ǫ alla fine deve essere l’errore massimo su tutto il dominio F. Quando ci` o si verifica, le ωi sono - a parte ωp e ωs - effettivamente i massimi ed i minimi del “giusto” polinomio G(ω) con le “giuste” α[n]. 3. In linea di principio, a questo punto si deve risolvere il sistema rispetto a ǫ ed alle α[n], determinando cos`ı il polinomio trigonometrico G(ω) = H(ω) che ha i valori giusti alle frequenze ωi inizialmente fissate. Il polinomio cos`ı determinato passer`a per le ωi , ma in generale queste non saranno - o almeno non tutte saranno - esattamente le posizioni dei massimi e minimi locali del polinomio: questo perch´e l’errore di picco calcolato `e troppo piccolo; le assegnazioni iniziali delle ωi non andavano bene (com’`e ovvio). I massimi e minimi locali del polinomio in realt`a cadranno a certe altre frequenze ω i . 4. Le posizioni ω i dei massimi e minimi locali del polinomio vengono determinate con accuratezza, stimando i valori del polinomio su un insieme fitto di punti. Le ω i , pi` u ωp e ωp che vengono tenuti fissi, vengono scelte come nuove frequenze su cui ripetere la procedura. Questo `e appunto l’exchange step che d`a il nome di multiple exchange algorithm all’algoritmo di Remez. Se c’`e un massimo della funzione d’errore sia a ω = 0, sia a ω = π, nel u nuovo set di frequenze ω i si inserisce quello che corrisponde all’errore pi` grande. Contemporaneamente, viene aggiornato il valore di picco dell’errore, che cos`ı cresce rispetto al passo precedente. 5. Si itera finch´e ωi −ω i per tutte le i scende sotto un piccolo valore prefissato e ǫ, dapprima crescente, si stabilizza.

172

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

6. Alla fine si ottiene la risposta in frequenza e la risposta all’impulso del filtro ottimo. Questi passaggi sono illustrati nelle Fig. 5.18, 5.19 e 5.20. La Fig. 5.18 mostra la forma della risposta a fase nulla (il nostro polinomio) ai vari stadi iterativi di una tipica procedura come quella descritta. Nell’esempio, che `e quello di un passa-basso di Tipo I di ordine N − 1 = 20 con κ = 1, ωp = 0.4π e ∆ω = 0.1π, la convergenza avviene dopo 7 iterazioni e ad ogni stadio di iterazione, le posizioni dei massimi e minimi locali del polinomio cambiano.

Iterazione 1 Iterazione 2 Iterazione 3 Iterazione 4 Iterazione 5 Iterazione 6 Iterazione 7

H (ω)

1 + δp 1 1 − δp

+δs 0 −δs 0

ω

π

Figura 5.18: Cambiamenti di forma della risposta a fase nulla nei vari stadi di iterazione dell’algoritmo di Remez per il progetto di un passa-basso di Tipo I di ordine N − 1 = 20 con κ = 1, ωp = 0.4π e ∆ω = 0.1π. La convergenza avviene dopo 7 iterazioni

La Fig. 5.19 `e un ingrandimento della banda passante del filtro, negli stadi di iterazione n. 2 (blu) e n. 3 (verde). Le frequenze di picco dell’iterazione n. 2 sono visibili sulla curva polinomiale blu spessa (cerchietti e linee tratteggiate blu verticali). Le linee orizzontali blu sottili rappresentano il valore di ǫ per l’iterazione n. 2. Nell’iterazione successiva n. 3, tali frequenze di picco vengono assunte come nuove frequenze ω i a cui si suppone che il nuovo polinomio raggiunga le tolleranze di errore aggiornate (linee sottili orizzontali verdi). In realt`a il nuovo polinomio `e la curva verde spessa, che non solo raggiunge ma supera le tolleranze. I punti di intersezione del nuovo polinomio con le linee di tolleranza d’errore sono segnate dai quadratini rossi.

5.9. PROCEDIMENTO ITERATIVO PER FILTRI OTTIMI

173

Si noti che nemmeno la curva polinomiale verde dell’iterazione n. 3 ha i massimi ed i minimi al “punto giusto” perch´e siamo ancora a stadi intermedi di iterazione: le iterazioni dovranno proseguire.

H (ω)

1 + δp 1 1 − δp

0

ω

Figura 5.19: Ingrandimento della banda passante del filtro di Fig. 5.18, negli stadi di iterazione n. 2 (blu) e 3 (verde). I quadratini rossi evidenziano come ad un dato stadio di iterazione (sia il n.3) le frequenze di picco del polinomio dello stadio iterativo precedente (n. 2) vengano assunte come nuove frequenze alle quali si suppone che il polinomio raggiunga l’errore massimo. Allo stadio n.3 non vi `e ancora convergenza del processo, come si vede dal fatto che anche la nuova curva (verde) non ha i massimi ed i minimi nelle posizioni indicate dai quadratini rossi

Infine, la Fig. 5.20 `e ancora un ingrandimento della banda passante del filtro, negli stadi di iterazione n. 1 (nero), n. 2 (blu), n. 3 (verde) e n. 4 (viola). La figura `e volta a mostrare come ad ogni passo iterativo l’errore massimo calcolato (linee orizzontali sottili) cresce. Nella figura si vede anche come viene calcolato: guardando l’errore alla frequenza zero. La crescita dell’errore da una iterazione alla successiva diverr` a via via pi` u lenta ad ogni iterazione, fino a quando l’errore non crescer`a pi` u e la convergenza sar`a raggiunta. Quanto esposto sopra vale in linea di principio; in realt`a si sono trovati modi per alleggerire i calcoli.

174

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

H (ω)

1 + δp 1 1 − δp

ω

0

Figura 5.20: Ingrandimento della banda passante del filtro di Fig. 5.18, negli stadi di iterazione n. 1 (nero), n. 2 (blu), n.3 (verde) e n.4 (viola). Si noti come ad ogni passo iterativo l’errore massimo calcolato (linee orizzontali sottili) cresce Ad esempio, si trova che ǫ nel sistema delle M + 2 equazioni scritte prima pu` o essere calcolato esplicitamente in funzione di tutti i valori di Hd (ωi ), W (ωi ) e di una quantit`a ηi =

M +1 Y k=0

−1

(cos ωi − cos ωk )

con

k 6= i.

Questa quantit`a contiene le ωi , che, come visto, nei passi intermedi di iterazione non saranno quelle “giuste”; come risultato l’errore calcolato sar`a troppo piccolo. Una volta noto ǫ, per valutare G(ω) su ogni punto dell’insieme fitto di frequenze e quindi dedurre le nuove ωi per l’exchange step, non occorre risolvere il sistema, cio`e trovare i coefficienti α[n] del polinomio: si pu` o usare una formula di interpolazione di Lagrange basata sui valori G(ωi ), che sono noti perch´e G(ωi ) = Hd (ωi ) +

(−1)i ǫ . W (ωi )

Quindi solo i valori finali delle α[n] (da cui ricavare gli h[n]) sono necessari. Perci` o basta

` DEI FILTRI FIR OTTIMI SECONDO IL CRITERIO MINIMAX175 5.10. PROPRIETA 1. partire da un set di ωi ; 2. calcolare ηi , Hd (ωi ) e W (ωi ) ad ogni i e valutare ǫ; 3. calcolare G(ωi ), interpolare per avere G(ω) su un set fitto di frequenze e localizzare i massimi/minimi di G(ω); 4. fissare le nuove ωi ed iterare dal punto n. 2 fino alla convergenza; 5. alla fine si risolver` a il sistema per le α[n] o meglio, si far`a una DFT inversa della H(ω) ottenuta, per avere direttamente gli h[n] del filtro, che ha il δp minore possibile per i fissati N , ωp , ∆ω e κ. Saranno necessarie da 4 a 8 iterazioni per un passa-basso e 2-3 volte tanto per filtri pi` u complessi. Se la soluzione finale non rientra nelle tolleranze fissate a priori, bisogner` a salire con l’ordine e ripetere la procedura.

5.10

Propriet` a dei filtri FIR ottimi secondo il criterio minimax

E’ interessante esaminare la dipendenza dell’errore massimo ottimizzato dalla frequenza di taglio ωp , a parit`a di genere di filtro (sia come sempre un passabasso) ed a parit`a di valori di κ e ∆ω, per ordini diversi. Il grafico che si ottiene `e presentato in Fig. 5.21. Gli ordini considerati vanno da 8 a 11 (N da 9 a 12): si tratta quindi di Filtri sia di Tipo I (N = 9 e 11), sia di Tipo II (N = 10 e 12). Le curve in Fig. 5.21 mostrano che al crescere di ωp , l’errore massimo raggiunge minimi locali. Le curve relative ad ordini diversi si intersecano: quindi per certe ωp , un filtro pi` u corto (ad esempio N = 9) pu` o essere migliore (cio`e avere un errore pi` u piccolo) di uno pi` u lungo (N = 10). Come mai? La ragione sta nel fatto che N = 9 e N = 10 identificano filtri di tipo diverso (Tipo I e II). Naturalmente un filtro con N = 9 non pu` o essere migliore, a parit`a di ωp , di un filtro con N = 11, che `e dello stesso Tipo I. Questo `e ben visibile nella Fig. 5.22, dove ci si `e ristretti a filtri di un solo tipo (Tipo I). Gli ordini rappresentati nella figura sono N − 1 = 14, 16 e 18 (N = 15, 17 e 19). Le curve non si intersecano. Grafici come questo sono chiarificatori perch´e consentono di capire meglio come in certi casi emergano soluzioni extraripple ed in altri casi invece emergano soluzioni normali (cfr. sezione 5.7). Allo scopo, esaminiamo un ingrandimento di una parte della Fig. 5.22, mostrato in Fig. 5.23.

176

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

ωp 0.14

0.12

0.10

ǫ

0.08

0.06

0.04

Tipo I, N=9, M=4 Tipo II, N=10, M=5 Tipo I, N=11, M=5 Tipo II, N=12, M=6

0.02

0

0

0.2π

0.4π

0.6π

0.8π

Figura 5.21: Come varia l’errore massimo in banda passante o oscura (in esempi di passa-basso con κ = 1) al variare della frequenza di taglio ωp , per vari valori dell’ordine (N − 1). Filtri di Tipo I e di Tipo II. Ampiezza della banda di transizione pari a 0.2π I quadratini colorati con colori differenti e marcati con le lettere A-F in Fig. 5.23 rappresentano sei filtri, diversi fra loro soltanto per il preciso valore della frequenza di taglio ωp . Essi giacciono sulla curva blu in figura, e quindi hanno ordine N − 1 = 16. Tuttavia le curve relative ad ordini diversi, pur non intersecandosi, nondimeno si toccano nei punti di minimo locale: ad esempio nel punto C la curva blu di ordine 16 tocca quella rossa di ordine 18; nel punto E la curva blu di ordine 16 tocca quella nera di ordine 14; nel punto F la curva blu di ordine 16 tocca di nuovo quella rossa di ordine 18. Che significato hanno i punti come C, E, F? Il significato si evince dalla Fig. 5.24, che riporta le risposte a fase nulla di ciascuno dei sei filtri A-F. • Partiamo dal caso C (viola): si tratta di un filtro extraripple per l’ordine 16, che presenta una risposta a fase nulla dotata di M + 1 estremi uguali. Il numero di alternanze `e M + 3. In effetti, tutti i minimi locali della curva di un dato ordine in Fig. 5.22 corrispondono a filtri con oscillazione extra. • Diminuendo ωp , ritroviamo il caso B (rosso): ora il numero di estremi `e ancora M + 1 ma l’estremo a ω = 0 ha entit`a minore degli altri estremi. Il numero di alternanze `e M + 2 (soluzione normale).

` DEI FILTRI FIR OTTIMI SECONDO IL CRITERIO MINIMAX177 5.10. PROPRIETA

ωp 0.18

N=15, M=7 N=17, M=8 N=19, M=9

0.16

0.14

ǫ

0.12

0.10

0.08

0.06

0.04

0

0.2π

0.4π

0.6π

0.8π

Figura 5.22: Filtri di Tipo I: come varia l’errore massimo in banda passante o oscura (in esempi di passa-basso con κ = 1) al variare della frequenza di taglio ωp , per vari valori dell’ordine (N − 1). Ampiezza della banda di transizione pari a 0.1π. Il rettangolo verde delimita la zona del grafico che appare, ingrandita, nella Fig. 5.23 • Diminuendo ancora ωp , giungiamo al caso A (arancio): il minimo in ω = 0 che nel caso B era meno pronunciato degli altri ora `e scomparso, lasciando M estremi uguali e M + 2 alternanze. • Ripartendo da C, aumentiamo ωp arrivando al caso D (marrone). Il numero di estremi `e ancora M + 1 come in C ma l’estremo a ω = π ha entit`a minore degli altri estremi. Il numero di alternanze `e M + 2. • Aumentando ancora ωp abbiamo il caso E (verde). L’estremo a ω = π che in D aveva entit`a minore degli altri estremi `e scomparso, lasciando M estremi uguali e M + 2 alternanze. • Infine aumentando ulteriormente ωp troviamo il caso F (azzurro). In ω = 0 `e apparso un massimo uguale agli altri. Il numero di estremi `e M + 1 ed il numero di alternanze `e M + 3: si tratta nuovamente di una soluzione extraripple per l’ordine 16, come atteso visto che costituisce, come il punto C, un minimo locale della curva di ordine 16 in Fig. 5.22. I punti C e F in Fig. 5.22 per` o appartengono anche all’ordine 18, mentre il punto E appartiene anche all’ordine 14. Che succede in quei punti?

178

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

ωp 0.12

E

A D

B

0.08

ǫ

0.10

C

0.06

0.36π

F

0.40π

0.44π

0.48π

0.52π

Figura 5.23: Ingrandimento di una parte della Fig. 5.22, con identificazione di sei filtri diversi (rappresentati con quadratini di differenti colori, contrassegnati dalle lettere da A a F), la cui risposta a fase nulla `e mostrata nella Fig. 5.24

Succede che il filtro C `e extraripple per l’ordine 16 ma `e anche una soluzione ottima non extraripple per l’ordine 18. Analogamente, il filtro F `e extraripple per l’ordine 16 ma `e anche una soluzione ottima non extraripple per l’ordine 18. Quanto al filtro E, `e una soluzione normale per l’ordine 16 ma `e anche una soluzione extraripple per l’ordine 14. Tutto ci` o si spiega col fatto che - ad esempio - per l’ordine 18 il filtro progettato ha il primo e l’ultimo campione di h[n] nulli quando l’ordine 16 ha la soluzione extraripple (come in C oppure F). Il filtro C `e lo stesso se progettato sia fissando l’ordine a 16, sia fissandolo a 18; le risposte a fase nulla che si ottengono sono identiche e le risposte all’impulso pure, salvo il fatto che all’ordine 18 compare uno zero in pi` u a ciascuno dei due estremi della sequenza che rappresentava h[n] all’ordine 16. I filtri di Tipo II hanno propriet` a analoghe, salvo il fatto che la risposta in frequenza si annulla sempre a ω = π.

1

B

H (ω)

A

0

H (ω)

1

0 0.2π

0.4π

0.6π

0.8π

π

0

0.2π

0.4π

0.6π

0.8π

π

ω

ω 1

1

D

H (ω)

C

0

H (ω)

0

0 0.2π

0.4π

0.6π

0.8π

0

0.2π

0.4π

0.6π

0.8π

π

ω

ω 1

1

F

H (ω)

E

0

H (ω)

0

π

0 0

0.2π

0.4π

0.6π

0.8π

π

0

0.2π

0.4π

0.6π

0.8π

π

Figura 5.24: Risposta a fase nulla di ciascuno dei sei filtri di Tipo I identificati dai quadratini di diverso colore e dalle lettere A-F nella Fig. 5.23. I colori delle curve e le lettere nei vari pannelli corrispondono a colori e lettere usati nella Fig. 5.23. La figura illustra le variazioni di forma della risposta a fase nulla di un filtro passa-basso di Tipo I con ordine N − 1 = 16 (M = 8) al variare di ωp

` DEI FILTRI FIR OTTIMI SECONDO IL CRITERIO MINIMAX179 5.10. PROPRIETA

ω

ω

180

5.11

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Il metodo minimax per i filtri passa-banda

In precedenza abbiamo trattato il caso passa-basso che, come il passa-alto, ha solo due bande in cui minimizzare l’errore (bande di approssimazione). Invece i passa-banda ed i ferma-banda hanno tre bande di approssimazione ed il Teorema dell’Alternanza ha differenti implicazioni in questi casi. Il teorema non fissa limiti sul numero di bande, per cui il numero minimo di alternanze resta M + 2. Per` o se il passa-basso ha quattro limiti di banda (0, ωp , ωs , π), i filtri multibanda ne hanno di pi` u, ad esempio un passa-banda ne ha sei (0, ωs1 , ωp1 , ωp2 , ωs2 , π) e di conseguenza questi filtri possono arrivare ad avere pi` u di M + 3 alternanze. Ci` o significa che alcune affermazioni fatte per i passa-basso non sono pi` u valide: per esempio non `e necessario che tutti i massimi ed i minimi locali di H(ω) cadano entro le bande di approssimazione, ma ci possono essere estremi locali che cadono nelle bande di transizione, e l’approssimazione pu` o non essere equiripple nelle bande di approssimazione. Naturalmente tali filtri sono ottimi nel senso del Teorema dell’Alternanza ma nelle applicazioni sono in genere ritenuti inaccettabili. In generale, non vi `e garanzia che le bande di transizione di un filtro multibanda siano monot`one, perch´e l’algoritmo MPR le lascia del tutto libere da vincoli. Per` o quando una certa scelta dei parametri conduce a soluzioni non equiripple o con bande di transizione non monot`one in genere si riprogetta il filtro variando un po’ l’ordine, oppure una o pi` u frequenze limite di banda, o ancora la funzione peso dell’errore, fino ad ottenere una soluzione dall’andamento regolare.

5.12

Cenni sul progetto di filtri IIR

Come anticipato prima, in questo corso esamineremo solo progetti FIR; per i progetti IIR ci limitiamo ad un cenno. Il progetto IIR si basa sulle tecniche di progetto di filtri analogici. Tipicamente: 1. si sceglie un metodo per trasformare un dato filtro analogico in uno numerico avente risposta in frequenza simile; 2. si trasformano le specifiche del filtro numerico IIR voluto in altre, equivalenti, di un IIR analogico; 3. si progetta il filtro analogico in accordo con le specifiche trasformate (in modo tale che, dopo la trasformazione da filtro analogico a filtro numerico, quest’ultimo soddisfi le proprie specifiche);

5.13. ATTUAZIONE DEL FILTRAGGIO NUMERICO

181

4. si converte il filtro analogico progettato nel filtro numerico equivalente. Un vantaggio di questa procedura `e che il progetto di filtri analogici `e stato studiato a fondo ed `e quindi ben “collaudato”; uno svantaggio `e che il progetto risulta limitato ai tipi di base dei filtri selettivi in frequenza e manca di versatilit`a. Il procedimento si basa sempre su un progetto passa-basso, al quale gli altri tre generi di filtri (passa-alto, passa-banda e ferma-banda) vengono ricondotti mediante “trasformazioni di frequenza”. I filtri analogici pi` u noti sono: 1. di Butterworth (monot` oni in banda passante ed oscura); 2. di Chebyshev (oscillanti in banda passante e monot`oni in banda oscura: Tipo I; o viceversa: Tipo II); 3. ellittici (oscillanti in entrambe le bande). Tra le procedure pi` u comuni per trasformare il filtro analogico in digitale citiamo infine la “trasformazione bilineare” (limitandoci, per` o, a citarla).

5.13

Attuazione del filtraggio numerico

1. Filtri FIR • Il progetto determina h[n]. Si procede poi a filtrare nel dominio del tempo mediante un programma software che attui la convoluzione lineare tra h[n] e la sequenza da filtrare x[n], a partire da un certo n0 (tipicamente n0 = 0): la sequenza filtrata `e y[n] =

N −1 X k=0

x[k]h[n − k] =

N −1 X k=0

x[n − k]h[k].

Nel caso di fase lineare o lineare generalizzata, la simmetria di h[n] consente di “risparmiare” sul numero di operazioni. • Alternativamente, si pu` o filtrare nel dominio della frequenza. Ricordiamo che data una sequenza x[n] (n = 0, N −1) ed una risposta all’impulso h[n] (n = 0, N ′ − 1), la convoluzione lineare y[n] = x[n] ∗ h[n] ha lunghezza N + N ′ − 1 (ossia y[n] ha indice n esteso da 0 a N + N ′ − 2). Pertanto il filtraggio nel dominio della frequenza richieder` a le seguenti operazioni: (a) allungamento di x[n] con un padding di zeri fino a lunghezza L ≥ N +N ′ −1 e successiva DFT per ottenere X[k], k = 0, L−1;

182

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI (b) allungamento di h[n] con un padding di zeri fino a lunghezza L ≥ N +N ′ −1 e successiva DFT per ottenere H[k], k = 0, L−1; (c) prodotto termine a termine delle due trasformate, ossia Y [k] = X[k] · H[k], k = 0, L − 1; (d) trasformata inversa di Y [k] per avere y[n], n = 0, L − 1. Se si `e scelto L > N + N ′ − 1, al fondo di y[n] ci saranno degli zeri che possono poi venire eliminati. Questo `e un approccio apparentemente involuto, ma molto comodo e molto usato. Si noti che se x[n] `e reale, per avere una sequenza filtrata che sia anch’essa reale bisogna scegliere una H(ejω ) tale che sia H(e−jω ) = H ∗ (ejω ). Questo `e assicurato, ad esempio, nel caso di fase lineare, in cui H(ejω ) = H(ω)ejφ con H(ω) reale.

2. Filtri IIR • Il progetto determina PN

k=0 H(z) = PN k=0

bk z −k ak z −k

oppure, equivalentemente, l’equazione alle differenze (LCCDE) y[n] =

N X

k=0

bk x[n − k] −

N X

k=1

ak y[n − k].

La conoscenza dei coefficienti ak e bk consente di filtrare ricorsivamente nel dominio del tempo calcolando l’output y[n] a partire da un dato valore n = n0 (tipicamente n0 = 0), per una sequenza di valori di input partenti da n = n0 , con un dato set di condizioni iniziali {y[n], n = n0 − 1, n0 − 2, . . . n0 − N }. In altre parole, per il calcolo della sequenza filtrata i campioni dell’input antecedenti a n = n0 sono assunti nulli e per quelli dell’output antecedenti a n = n0 si danno le condizioni iniziali, in numero uguale a N . A causa degli inevitabili effetti dell’aritmetica a precisione finita, un filtro IIR `e sempre attuato come cascata di sezioni di ordine 2 (pi` u, eventualmente, una sezione di ordine 1).

5.14

Filtraggio a fase nulla

E’ disponibile una tecnica che consente di filtrare un segnale annullando il ritardo dell’output rispetto all’input; complessivamente quindi il filtraggio `e a fase nulla. La tecnica `e detta “forward-reverse filtering” ossia, letteralmente, “filtraggio in avanti ed all’indietro”. La fase complessivamente nulla si ottiene infatti filtrando dapprima (ad esempio tramite l’equazione alle differenze) il segnale “in avanti”, poi rovesciando la

5.15. TECNICA DI FILTRAGGIO CON DECIMAZIONE

183

sequenza filtrata e filtrandola nuovamente. La sequenza di output finale non presenta sfasamento rispetto all’input e l’ordine del filtro si raddoppia. Inoltre i transitori iniziali di ogni filtraggio vengono minimizzati con vari accorgimenti, cos`ı che la serie filtrata ha la stessa lunghezza utile di quella iniziale. Lo schema operativo del forward-reverse filtering `e il seguente: x[n] ⇒ h[n] ⇒ g[n]; g[−n] ⇒ h[n] ⇒ r[n]; y[n] = r[−n].

5.15

Tecnica di filtraggio con decimazione

In certe applicazioni di filtraggio pu` o sorgere la necessit` a di modificare la frequenza di campionamento, cos`ı da spostare la banda di frequenze discrete su cui il filtro opera (ad esempio la banda passante di un filtro selettivo) da un certo intervallo di frequenze analogiche ad un altro di interesse. La Fig. 5.25 illustra appunto come gli estremi ωc1 e ωc2 della banda passante di un filtro (in generale) passa-banda, che nel caso in cui ad essere filtrato sia un segnale con passo di campionamento Tc si traducono in un intervallo passante di frequenze analogiche (fc1 , fc2 ), si traducono invece in un diverso ′ ′ intervallo passante (fc1 , fc2 ) quando il passo di campionamento viene cambiato, ′ assumendo il valore Tc . La variazione del passo di campionamento pu` o essere • un aumento di Tc , ossia una decimazione del segnale da filtrare (in inglese, downsampling), oppure • una diminuzione di Tc , ossia una interpolazione del segnale da filtrare (upsampling). Ci limitiamo a trattare il primo caso, pi` u frequente nei casi pratici di nostro interesse. Prima di procedere osserviamo che ovviamente la questione pu` o essere considerata anche da un punto di vista diametralmente opposto: quello di cambiare il passo di campionamento per spostare un dato intervallo di frequenze analogiche (quindi di periodi analogici - non dimentichiamo che i fisici “pensano” normalmente in termini di periodi e non di frequenze!) da un certo intervallo di frequenze adimensionali ad un altro. Tipico in questo senso `e l’esempio di quando si desidera effettuare un filtraggio passa-basso molto “spinto”, che porterebbe ad una banda passante tutta “schiacciata” presso lo zero dell’asse ω:

184

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Figura 5.25: Un filtro numerico, ad esempio un passa-banda, ha una banda passante (ωc1 , ωc2 ) che, tradotta in frequenze analogiche f [Hz] quando il passo di campionamento vale Tc , `e (fc1 , fc2 ). Se si cambia il passo di campionamento, portandolo ad un Tc′ 6= Tc , l’intervallo passante di frequenze analogiche diviene ′ ′ ) , fc2 (fc1 a volte si preferisce decimare preventivamente i dati, cos`ı da avere a che fare con una banda passante pi` u ampia in termini adimensionali. Questo permette di gestire meglio il progetto, soprattutto in termini di ampiezza della banda di transizione e quindi di ordine. Ma possiamo decimare senza preoccuparci di nulla o dobbiamo prendere delle precauzioni? Come al solito la risposta sta nello studio degli effetti della decimazione nel dominio della frequenza. Prendiamo dunque un segnale x[n] (n = 0, N − 1) e con una operazione che ricordiamo - `e lineare ma non invariante alla traslazione, decimiamolo con un fattore di decimazione kdec intero e maggiore di 1, ottenendo un segnale xd [n]: xd [n] ≡ x[kdec n] cos`ı che il passo di campionamento originario del segnale, Tc , divenga Tc′ = kdec Tc . La Fig. 5.26 riporta un esempio di decimazione. Affinch´e xd [n] sia privo di aliasing, il segnale analogico x(t) da cui si immagina di aver tratto x[n] deve essere limitato in banda, nell’intervallo − 2T1 ′ ≤ f ≤ 2T1 ′ , c c 1 ′ ′ ′ ossia −fN y ≤ f ≤ fN y , avendo chiamato fN y = 2Tc′ la frequenza di Nyquist del segnale decimato. Per evitare l’aliasing quindi il contenuto spettrale di X(ejω ) esterno a |f | = ′ fN y , posto che esista, deve venire rimosso filtrando x[n] con un filtro passabasso numerico anti-aliasing prima della decimazione. Si noti che in termini di 1 1 ′ frequenze analogiche discrete, |f | = fN y = 2T ′ = 2kdec Tc si traduce in |ω| = c

185

x[n]

5.15. TECNICA DI FILTRAGGIO CON DECIMAZIONE

0

20

40

n

60

80

100

Figura 5.26: Esempio di decimazione di un fattore kdec intero (qui kdec = 8). In rosso sono evidenziati i campioni selezionati 2πTc 2kdec Tc

π = kdec : questa `e la frequenza angolare di taglio che il passa-basso antialiasing deve avere.

Chiamiamo xf [n] il segnale di output del filtro anti-aliasing. Da xf [n] ricaveremo poi xd [n] prendendo un dato ogni kdec dati: xd [n] = xf [kdec n]. Per studiare gli effetti della decimazione ci occorre lo spettro del segnale decimato. Si dimostra che Xd (ejω ) =

1 kdec

kdec X−1 i=0

i h Xf ej(ω−2πi)/kdec ,

ossia che lo spettro del segnale decimato `e la sovrapposizione di kdec immagini di Xf (ejω ) traslate e scalate in frequenza (in inglese, “shifted and stretched”). L’operazione di stretching `e rappresentata dalla divisione per kdec dell’argomento dell’esponenziale (espansione dell’asse delle frequenze di un fattore kdec ); l’operazione di shifting `e invece rappresentata dal termine ω − 2πi, il quale implica che due immagini adiacenti di Xf (ejω ) scalate e traslate sono separate di 2π in ω. Notiamo la somiglianza di questa formula con quella che esprime il Teorema del Campionamento.

186

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

La forma di Xd (ejω ) ci dice che per evitare l’aliasing, Xf (ejω ) deve essere nullo π < |ω| < π, cio`e che, come detto sopra, il passa-basso ideale anti-alising per kdec π deve avere il taglio in frequenza a ωc = kdec , ossia νc = 2k1dec , ossia ancora 1 ′ fc = 2kdec Tc = fN y . Prima di proseguire, facciamo una piccola digressione. La formula data per Xd (ejω ) esprime una propriet` a di scaling nel tempo della DTFT, analoga a quella della teoria di Fourier dei segnali analogici, che `e la seguente: dato un segnale x(t) con trasformata di Fourier analogica F {x(t)} ≡ X(f ) e presa una costante a reale non nulla, si ha   f 1 . X F {x(at)} = |a| a Infatti l’espressione xf [kdec n] rappresenta proprio uno scaling nel tempo di xf [n], la cui controparte nel dominio della frequenza `e appunto Xd (ejω ) =

1 kdec

kdec X−1 i=0

i h Xf ej(ω−2πi)/kdec ,

formula analoga a quella sopra citata per segnali analogici. Nel caso dei segnali analogici esiste anche una propriet` a di scaling in frequenza: indicando con F −1 {·} la trasformata inversa di Fourier in campo analogico,   t 1 = F −1 {X(af )} x |a| a ossia F

• Per a =

1 kdec



1 x |a|

  t = X(af ). a

evidentemente si ricade nel caso precedente;

• il caso a < 1 ma non uguale all’inverso di un fattore intero non trova immediata corrispondenza in ci`o che si `e visto nella teoria dei segnali a tempo discreto; infine • il caso a > 1 intero pu` o essere posto in analogia al caso discreto dell’upsampling di un fattore intero kint , cio`e al caso in cui si definisca i un h n con segnale con Tc ridotto - ossia un segnale interpolato - xi [n] = x kint n = 0, ±kint , ±2kint , . . .. L’interpolazione si ottiene con inserzione di zeri e successivo filtraggio con uno speciale filtro passa-basso.

Non ci soffermiamo oltre su questo argomento.

5.15. TECNICA DI FILTRAGGIO CON DECIMAZIONE

187

Tornando al caso della decimazione, abbiamo parlato delle caratteristiche che deve avere il passa-basso anti-aliasing ideale, ma questo non `e realizzabile. Dovendosi accontentare di un passa-basso realizzabile con larghezza non nulla della banda di transizione, si applicher`a su ωc un fattore di sicurezza; ad esempio si π potr`a fare in modo che sia ωs , piuttosto che ωp , a coincidere con kdec . Nelle Fig. 5.27, 5.28 e 5.29 `e illustrato il processo di decimazione con e senza aliasing nel dominio della frequenza. In Fig. 5.27, prima della decimazione `e stato applicato il filtro anti-aliasing, per cui nell’intervallo (−π, π) lo spettro del segnale che viene decimato `e diverso da π zero solo in |ω| < kdec (pannello a; l’esempio `e per kdec = 3). Questa `e una condizione di assenza di aliasing. La forma scalata in frequenza di Xf (ejω ) (pannello b, caso i = 0 ossia solo stretching e nessuna traslazione) ha repliche che appaiono “stirate” rispetto alla forma dello spettro Xf (ejω ), cos`ı che ora nell’intervallo principale lo spettro occupa tutto l’intervallo stesso, (−π, π). I pannelli c e d mostrano la traslazione associata allo stretching, per tutti gli altri casi di interesse, ossia i = 1 e i = 2 (si ricordi che nella formula per lo spettro del segnale decimato compare una sommatoria su i = (0, kdec − 1)). Infine, la forma di Xd (ejω ) `e visibile nel pannello e: questo spettro `e dato dalla 1 . Si noti l’effettiva somma degli spettri nei pannelli b, c e d, moltiplicata per kdec jω assenza di aliasing (la forma dello spettro Xf (e ) `e preservata). In Fig. 5.28, invece, non `e stato applicato alcun filtro anti-aliasing prima della decimazione; si decima direttamente il segnale originario x[n] il cui spettro occupa tutto l’intervallo principale (−π, π) (pannello a). Questa `e una condizione di aliasing. La forma scalata in frequenza di Xf (ejω ) (pannello b, caso i = 0; l’esempio `e ancora per kdec = 3) ora ha repliche che “debordano”, ad esempio la replica centrata su ω = 0 occupa (−3π, 3π). Passando ora alla Fig. 5.29, vediamo nel pannello in alto (b) ancora il caso i = 0 e nei pannelli c e d i casi i = 1 e i = 2. La forma di Xd (ejω ) nel pannello e, somma degli spettri nei pannelli b, c e d 1 , mostra l’aliasing: la forma dello spettro Xf (ejω ) non `e moltiplicata per kdec pi` u riconoscibile.

188

CAPITOLO 5. PROGETTO DI FILTRI NUMERICI

Figura 5.27: Rappresentazione spettrale di un segnale a tempo discreto che viene decimato con un fattore kdec , uguale a 3 in questo esempio, nel caso in cui il segnale `e a banda limitata (cio`e ha spettro non nullo solo in una parte π ). Condizione di assenza di aliasing dell’intervallo principale, |ω| < kdec

Figura 5.28: Rappresentazione spettrale di un segnale a tempo discreto che viene decimato con un fattore kdec , nel caso in cui lo spettro del segnale prima della decimazione si estende su tutto l’intervallo principale. Lo spettro scalato in frequenza di un fattore kdec deborda dall’intervallo principale

5.15. TECNICA DI FILTRAGGIO CON DECIMAZIONE

189

Figura 5.29: Rappresentazione spettrale di un segnale a tempo discreto che viene decimato con un fattore kdec , nel caso in cui lo spettro del segnale prima della decimazione si estende su tutto l’intervallo principale (proseguimento di Fig. 5.28). Quando si sommano le repliche traslate dello spettro scalato in frequenza, si verifica aliasing.

Parte III

Analisi spettrale stazionaria

190

Capitolo 6

Segnali deterministici: spettro di energia Continuando a riferirci ad un segnale deterministico x[n], ricordiamo di averne definito la DTFT, X(ejω ), quantit`a complessa che descrive il segnale nel domino della P frequenza. Ricordiamo inoltre di avere definito l’energia del segnale +∞ come E = n=−∞ |x[n]|2 . Ci prepariamo ora ad introdurre una quantit`a reale capace di descrivere la distribuzione in frequenza dell’energia del segnale considerato. La quantit`a che definiremo prende il nome di spettro di energia ed `e quella normalmente usata per esprimere la variabilit`a di un segnale in termini di oscillazioni sinusoidali, ossia quella adottata per eseguire l’analisi di Fourier dei segnali deterministici a tempo discreto. Prima di procedere, ci serve introdurre e quantificare il concetto di correlazione.

6.1

Correlazione di segnali a tempo discreto

La correlazione `e un’operazione matematicamente simile alla convoluzione, che si esegue su due segnali quando si vuole misurarne il grado di somiglianza. La correlazione fra due segnali (o di un segnale con se stesso, nel qual caso si parla di autocorrelazione) ha importanti applicazioni, specie nel campo dei segnali random, dove ne permette una rappresentazione spettrale altrimenti impossibile. Supponiamo per` o, per il momento, di rimanere nell’ambito deterministico e di avere due sequenze reali1 x[n] e y[n] di energia finita. Definiamo la cross1 Qui

e nel resto della Parte III ci riferiamo a segnali reali al fine di semplificare la notazione.

191

192 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA correlazione o correlazione incrociata di x[n] con y[n] come φxy [l] =

+∞ X

n=−∞

x[n]y[n − l] =

+∞ X

x[n + l]y[n]

n=−∞

dove l rappresenta un ritardo in termini di tempo discreto, detto lag. Analogamente, la cross-correlazione di y[n] con x[n] sar`a φyx [l] =

+∞ X

n=−∞

y[n]x[n − l] =

+∞ X

y[n + l]x[n].

n=−∞

Queste quantit`a possono essere maggiori, uguali o minori di zero ed esprimono il fatto che le variazioni di una variabile “accompagnino” (o non accompagnino) quelle dell’altra. Ad esempio, φxy [l] sar`a “grande” se le variazioni di y[n − l] sono simili alle variazioni di x[n]. Se φxy [l] > 0 si parla propriamente di correlazione; se φxy [l] < 0 si parla di anticorrelazione (che esprime il fatto che mentre una variabile cresce, l’altra diminuisce e viceversa). Poich`e n − l con l > 0 implica ritardo, in φxy [l] si “appaia” la sequenza x[n] con la sequenza y[n] ritardata di n passi temporali; in φyx [l] si fa esattamente il contrario. Quindi, ad esempio, una cross-correlazione positiva tra x[n] e y[n] a lag l > 0 significa che le variazioni di y[n] seguono quelle di x[n]. Dalle precedenti definizioni segue che φxy [l] = φyx [−l] e quindi le due cross-correlazioni danno la stessa informazione riguardo alla somiglianza dei segnali x[n] e y[n]. Ricordando la definizione di convoluzione lineare vediamo che φxy [l] `e la convoluzione lineare della prima sequenza per la seconda rovesciata temporalmente: φxy [l] = x[l] ∗ y[−l]. Se y[n] ≡ x[n] abbiamo l’autocorrelazione: φxx [l] =

+∞ X

n=−∞

x[n]x[n − l] =

+∞ X

n=−∞

x[n + l]x[n] = x[l] ∗ x[−l].

Tale grandezza in sostanza descrive come le variazioni di x[n] tendano a “ripetersi” dopo un certo tempo di ritardo. Ad esempio, `e evidente che in ogni caso un segnale sar`a perfettamente correlato con se stesso a lag zero; se un segnale `e correlato con se stesso ad un certo lag diverso da zero, significa che esistono

6.1. CORRELAZIONE DI SEGNALI A TEMPO DISCRETO

193

nel segnale patterns che si ripetono. Si intuisce come questo possa essere messo in relazione con la presenza nel segnale di componenti periodiche, ossia con l’analisi di Fourier. Tornando al caso generale di cross-correlazione di due segnali diversi, se x[n] e y[n] sono causali e di ugual durata finita N si ha evidentemente N −|k|−1

φxy [l] =

X

x[n]y[n − l]

n=i

e N −|k|−1

φxx [l] =

X n=i

con

x[n]x[n − l]

( i = l e k = 0 per l ≥ 0, i = 0 e k = l per l < 0.

La sequenza di correlazione ha le seguenti propriet` a: 1. l’autocorrelazione a lag zero rappresenta l’energia del segnale, ossia φxx [0] =

+∞ X

n=−∞

{x[n]}

2

2. la cross correlazione non pu` o mai superare la radice quadrata del prodotto delle energie, ossia q φxy [l] ≤

φxx [0]φyy [0]

3. l’autocorrelazione `e massima a lag zero perch`e un segnale combacia perfettamente con se stesso a lag zero, ossia φxx [l] ≤ φxx [0].

4. l’autocorrelazione `e una funzione pari del lag e quindi `e sufficiente calcolare φxx [l] per lag l ≥ 0 per conoscere l’intera sequenza di autocorrelazione, ossia φxy [l] = φyx [−l] → φxx [l] = φxx [−l]. Talvolta al posto di φxy [l] e φxx [l] si preferisce usare quantit`a normalizzate, dette rispettivamente coefficiente di cross-correlazione e coefficiente di autocorrelazione: φxy [l] ρxy [l] = p |ρxy [l]| ≤ 1, φxx [0]φyy [0] ρxx [l] =

φxx [l] φxx [0]

|ρxx [l]| ≤ 1.

194 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA Se le sequenze considerate sono periodiche con periodo N ed hanno quindi energia infinita ma potenza media finita, si definisce la cross-correlazione come +M X 1 x[n]y[n − l] M →∞ 2M + 1

φxy [l] = lim

n=−M

ed in modo analago l’autocorrelazione come +M X 1 x[n]x[n − l]. M →∞ 2M + 1

φxx [l] = lim

n=−M

Questi limiti coincidono con le medie su un singolo periodo dei cross-prodotti o prodotti incrociati : N −1 1 X φxy [l] = x[n]y[n − l], N n=0 φxx [l] =

N −1 1 X x[n]x[n − l]. N n=0

Tali sequenze sono a loro volta periodiche con periodo N . Se un segnale x[n] con autocorrelazione nota φxx [l] viene elaborato da un sistema LTI con risposta all’impulso h[n], e se y[n] `e l’output, si ha φyx [l] = y[l] ∗ x[−l] = h[l] ∗ (x[l] ∗ x[−l]) = h[l] ∗ φxx [l], φxy [l] = x[l] ∗ y[−l] = (x[l] ∗ x[−l]) ∗ h[−l] = φxx [l] ∗ h[−l], φyy [l]

= y[l] ∗ y[−l] = (h[l] ∗ (x[l]) ∗ (h[−l] ∗ x[−l]) =

=

(h[l] ∗ (h[−l]) ∗ (x[l] ∗ x[−l]) = φhh [l] ∗ φxx [l],

dove φhh [l] esiste se il sistema `e stabile ossia se h[n] `e assolutamente sommabile. Dall’ultima relazione si evince che l’energia del segnale di output `e data da φyy [0] =

+∞ X

φhh [k]φxx [k].

k=−∞

Queste formule si applicano sia a segnali di energia, sia a segnali di potenza.

6.2

Il teorema di Wiener - Khinchin

Dati due segnali di cui esista la DTFT, x[n] ⇐⇒ X(ejω ),

y[n] ⇐⇒ Y (ejω ),

6.3. ANALISI DI FOURIER TRAMITE DFT

195

si dimostra dalla propriet` a di convoluzione della DTFT che φxy [l] ⇐⇒ X(ejω )Y (e−jω ) ≡ spettro di densit`a di cross-energia e nel caso y[n] ≡ x[n] reale 2 φxx [l] ⇐⇒ X(ejω )X(e−jω ) = X(ejω )X ∗ (ejω ) = X(ejω ) ≡ spettro di densit`a di energia.

2 La quantit`a X(ejω ) , che descrive la distribuzione in frequenza dell’energia del segnale, `e uguale alla DTFT della sequenza di autocorrelazione: questo `e il contenuto del teorema di Wiener - Khinchin 2 . Si ricordi infatti che per la relazione di Parseval per la DTFT, E =

+∞ X

n=−∞

|x[n]|2 =

1 2π

Z



−π

X(ejω ) 2 dω.

Lo spettro di densit`a di energia, o semplicemente spettro di energia, `e il quadrato dello spettro di ampiezza X(ejω ) introdotto in precedenza.

6.3

Analisi di Fourier tramite DFT

Abbiamo visto che la distribuzione dell’energia E di un segnale che injωfrequenza 2 ammette DTFT `e descritta da X(e ) , ossia dallo spettro di energia 3 . Tuttavia, nelle applicazioni pratiche,

• anche se il segnale considerato x[n] non ha intrinsecamente durata finita, noi riusciamo a misurarne solo un segmento v[n] con n = 0, N − 1; • anche se `e la DTFT del segnale originario che vorremmo conoscere per una completa analisi spettrale (di Fourier), `e la DFT del segmento v[n] che riusciamo a calcolare, ossia un numero finito di campioni frequenziali della DTFT del segmento v[n] (campionamento spettrale). L’operazione che a partire dal segnale originario x[n] infinitamente persistente conduce all’estrazione del segmento di lunghezza finita `e descritta come windowing o anche tapering. Nell’elaborazione numerica dei segnali, una “window” (finestra), detta anche “taper” (dal verbo inglese to taper =assottigliare, affusolare, rastremare) `e una 2 Il nome del secondo autore del teorema, un matematico russo, ` e talvolta scritto anche “Khintchine”. 3 La stessa informazione riguardo alla composizione frequenziale del segnale ` e, ovviamente, offerta dal semplice modulo della DTFT, ossia dallo spettro di ampiezza.

196 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA sequenza identicamente nulla al di fuori di un dato intervallo di valori del tempo discreto. Ad esempio, una sequenza unitaria nell’intervallo scelto e nulla al di fuori `e detta “finestra rettangolare” (in altri contesti, anche “porta rettangolare”, termini che descrivono la forma della sua rappresentazione grafica); il termine taper `e invece riservato a forme di finestra che decrescono pi` u o meno gradualmente verso lo zero ai bordi, come il nome suggerisce. Quando una sequenza x[n] viene moltiplicata per una finestra, il prodotto `e zero al di fuori dell’intervallo in cui la finestra non ha campioni nulli: tutto ci`o che rimane `e la parte di x[n] “inquadrata nella finestra”. E’ questa operazione che chiamiamo, appunto, “windowing”. Il concetto di finestra ha numerosissime applicazioni nell’analisi spettrale, nel progetto di filtri (come gi` a accennato) ecc... Rimandiamo al fondo di questo capitolo una breve rassegna delle finestre pi` u usate. Per ora torniamo all’analisi di Fourier e proponiamoci di esaminare le conseguenze, che si hanno quando si studia la X(ejω ) di un segnale tramite la DFT di un suo segmento; conseguenze dovute al windowing ed al campionamento spettrale. Questi argomenti vengono di solito discussi utilizzando segnali sinusoidali, anche se le conclusioni hanno validit`a generale e forniscono linee-guida utili ogni volta che si ha un’idea dei contributi frequenziali contenuti nel segnale esaminato. Bench`e per essi la DTFT esista solo in senso “generalizzato”, i segnali sinusoidali costituiscono infatti un importante riferimento teorico per testare algoritmi e metodi di analisi e studiare come essi funzionano nel dominio della frequenza. Ricordiamo che la X(ejω ) di un segnale sinusoidale, ad esempio x[n] = A cos (ω0 n + θ) con n ∈ (−∞, +∞), `e una coppia di impulsi a ±ω0 , che poi si ripete periodicamente con periodo 2π. In questo contesto 1. il windowing smussa ed allarga i picchi impulsivi della X(ejω ) teorica, cos`ı che le frequenze di picco sono definite meno esattamente e risulta ridotta l’abilit` a nel risolvere (distinguere) segnali sinusoidali di frequenze vicine; 2. il campionamento spettrale potenzialmente d`a una visione poco accurata o addirittura ingannevole dell spettro “vero” del segnale sinusoidale. Tutto questo pu` o essere compreso osservando che • in accordo con la propriet` a di convoluzione-prodotto della DTFT, il windowing (che nel dominio del tempo `e una moltiplicazione) nel dominio

6.3. ANALISI DI FOURIER TRAMITE DFT

197

della frequenza corrisponde all’“osservare” non X(ejω ) ma la convoluzione continua periodica dello spettro vero con la DTFT della finestra: Z +π 1 X(ejω )W (ej[ω−θ] )dθ; V (ejω ) = 2π −π lo spettro della finestra `e a sua volta, tipicamente (come vedremo), una funzione di ω che nell’intervallo fondamentale presenta un lobo principale centrato sullo zero ed un certo numero di lobi laterali pi` u o meno accentuati; • la DFT di v[n], che `e V [k] =

N −1 X



v[n]e−j N kn

n=0

con k = 0, N − 1, corrisponde al prendere N campioni equispaziati in angolo di V (ejω ), ossia . V [k] = V (ejω )|ω= 2π N k Discutiamo ora separatamente gli effetti del windowing e del campionamento spettrale con alcuni esempi.

6.3.1

Effetto del windowing

Consideriamo il segnale x[n] = A0 cos(ω0 n + θ0 ) + A1 cos(ω1 n + θ1 ) con −∞ < n < +∞, composto da due sinusoidi reali di diversa frequenza ed ampiezza, e calcoliamo la DTFT di un suo segmento v[n], dato da v[n] = A0 w[n] cos(ω0 n + θ0 ) + A1 w[n] cos(ω1 n + θ1 ) dove w[n] `e una generica finestra di lunghezza N . Allo scopo riscriviamo v[n] come sovrapposizione di esponenziali complessi: v[n]

=

A0 A0 w[n]e+jθ0 e+jω0 n + w[n]e−jθ0 e−jω0 n + 2 2 A1 A1 + w[n]e+jθ1 e+jω1 n + w[n]e−jθ1 e−jω1 n . 2 2

Possiamo cos`ı scrivere immediatamente V (ejω ) =

A0 −jθ0 A0 +jθ0 W [e+j(ω−ω0 ) ] + W [e+j(ω+ω0 ) ] + e e 2 2 A1 A1 −jθ1 + e+jθ1 W [e+j(ω−ω1 ) ] + W [e+j(ω+ω1 ) ] e 2 2

198 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA dove W [e+j(ω−ω0 ) ] ha una massimo a ω = +ω0 , W [e+j(ω+ω0 ) ] ha una massimo a ω = −ω0 ecc.... Il valore di ogni massimo `e pari a

PN −1 n=0

w[n]. Infatti

+∞ X

W (ejω ) =

w[n]e−jωn

n=−∞

comporta W (ej0 ) =

+∞ X

w[n] =

n=−∞

N −1 X

w[n].

n=0

In particolare, per una finestra rettangolare ( 1 0≤n≤N −1 w[n] = 0 altrove si ha

N −1 X

w[n] = N.

n=0

Vediamo cos`ı che V (ejω ) `e uguale a W (ejω ) replicata a ±ω0 ed a ±ω1 , con ciascuna replica scalata per l’ampiezza (complessa) del corrispondente esponenziale complesso contenuto nel segnale. Ad esempio, la replica di W (ejω ) che si trova a +ω0 `e scalata per l’ampiezza complessa A20 e+jθ0 . Si noti che in V (ejω ) compaiono anche le fasi iniziali delle singole sinusoidi, ma evidentemente se poi prendiamo il modulo di V (ejω ) (spettro di ampiezza) le fasi iniziali scompaiono. Come appare graficamente questo spettro?

Proponiamoci di fare degli esempi con la finestra pi` u semplice possibile, quella rettangolare, e prima di procedere esaminiamo nei dettagli lo spettro della finestra rettangolare di lunghezza generica N . Esso vale W (ejω ) =

N −1 X n=0

e−jωn =

N −1 sin(ωN/2) 1 − ejωN = ejω 2 . 1 − ejω sin(ω/2)

La fase `e lineare; a parte il fattore di fase, si tratta di una funzione di Dirichlet. Il suo modulo `e mostrato in Fig. 6.1 nel caso N = 8.

6.3. ANALISI DI FOURIER TRAMITE DFT

N

199

|W [exp(jω)]|

N =8

0 −π

0



Figura 6.1: Modulo della trasformata DTFT della finestra rettangolare di lunghezza N = 8

Lo spettro presenta, come avevamo anticipato, un lobo principale ed un certo numero di lobi laterali pi` u piccoli, la cui entit`a decresce allontanandosi dal lobo centrale. Gran parte del contenuto spettrale `e dunque concentrato attorno a ω = 0. Gli zeri si trovano a ω = 2π N m con m = ±1, ±2, ±3... e quindi il lobo centrale 2π va da − 2π a + ; in altri termini, la sua larghezza alla base `e 4π N N N = 1.57 rad. L’altezza del lobo principale `e N , come gi` a sappiamo. π I lobi laterali sono N2 − 1 per parte e hanno il massimo a circa N (2m + 1). Il pi` u alto `e il primo lobo laterale a fianco di quello principale, che si trova a ± 3π N . Pertanto il rapporto tra l’altezza del primo lobo ed ha un’altezza di circa 2N 3π 2 laterale e quella del lobo principale `e circa 3π che equivale a circa 13.5 dB.

Nell’esempio della Fig. 6.1, N = 8. Osserviamo ora come cambia la forma variando N : in Fig. 6.2 `e illustrato il caso N = 64. Si vede chiaramente l’effetto di un aumento di N : il lobo principale si stringe e si alza, i lobi laterali si fanno pi` u piccoli e numerosi. Ora il lobo centrale `e largo alla base 4π N ≃ 0.2 rad.

Ora torniamo alla forma dello spettro V (ejω ) e procediamo con gli esempi realativi all’uso di una finestra rettangolare.

200 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

N |W [exp(jω)]|

N = 64

0 −π



0

Figura 6.2: Modulo della trasformata DTFT della finestra rettangolare di lunghezza N = 64 Consideriamo alcuni segnali composti con sinusoidi di frequenze ω0 ed ω1 che differiscono di ∆ω = ω1 − ω0 diverse (ossia picchi spettrali diversamente separati). Riduciamo progressivamente ∆ω tenendo fissata la finestra e la sua durata. Osserviamo lo spettro di ampiezza del segnale v[n] (modulo della DTFT) nei vari casi. 1. Fig. 6.3: ω0 =

2π , 6

ω1 =

2π 3

A0 = 1,



∆ω =

A1 = 0.75

2π ≃ 2.09 rad ≫ 0.2 rad 3 →

3 A0 = A1 4

In questo caso le due sinusoidi sono ben risolte. Le altezze dei picchi sono rispettivamente 32 e 24 e quindi riproducono correttamente il rapporto delle ampiezze delle due sinusoidi, ossia 3/4. Si noti che il valore 32 deriva da

A0 2 N

con A0 = 1 e N = 64, ecc...

2. Fig. 6.4: ω0 =

2π , 14

ω1 =

A0 = 1,

4π 15



∆ω ≃ 0.389 rad > 0.2 rad

A1 = 0.75



A0 3 = A1 4

6.3. ANALISI DI FOURIER TRAMITE DFT

201

ω ∆ω = 2.09 rad

|V [exp(jω)]|

32 24 16 8 0 −π

π

0

Figura 6.3: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω molto superiore alla larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza. I due picchi spettrali sono molto ben risolti. Le altezze dei picchi spettrali stanno nello stesso rapporto delle ampiezze delle sinusoidi componenti il segnale Anche in questo caso le due sinusoidi sono risolte. Le altezze dei picchi sono approssimativamente 32 e 24 e quindi riproducono abbastanza correttamente il rapporto delle ampiezze delle due sinusoidi, ossia 3/4. 3. Fig. 6.5: ω0 =

2π , 14

ω1 =

A0 = 1,

2π 12



∆ω ≃ 0.075 rad < 0.2 rad

A1 = 0.75



A0 3 = A1 4

In questo caso le due sinusoidi non sono pi` u ben risolte, a causa dell’allargamento degli originali picchi impulsivi. Inoltre i lobi laterali che si sommano sfasati influenzano l’altezza dei picchi, per cui il rapporto delle ampiezze non `e pi` u rispettato. Tali fenomeni, che sono i principali effetti del windowing, sono descritti parlando di • ridotta risoluzione,

• leakage.

Il fenomeno del leakage `e cos`ı chiamato perch`e consiste nel fatto che la componente a frequenza ω0 “si spande” (leaks) nelle vicinanze di ω1 e viceversa. Esso `e dovuto soprattutto alla presenza ed importanza dei

202 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

ω ∆ω = 0.389 rad

|V [exp(jω)]|

32 24 16 8 0 −π

π

0

Figura 6.4: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω maggiore della larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza. I due picchi spettrali sono risolti. Le altezze dei picchi spettrali stanno circa nello stesso rapporto delle ampiezze delle sinusoidi componenti il segnale lobi laterali, capaci di “diffondere” la potenza che competerebbe ad una data sinusoide anche a frequenze molto lontane da quella della sinusoide stessa, ed `e responsabile dell’alterazione dei corretti rapporti di ampiezza dei picchi. Nel contempo si ha ridotta risoluzione, ossia ridotta capacit`a di separare (risolvere) sinusoidi vicine, a causa soprattutto della larghezza finita del lobo principale. 4. Fig. 6.6: ω0 =

2π , 14

ω1 = A0 = 1,

4π 25



∆ω ≃ 0.054 rad ≪ 0.2 rad

A1 = 0.75



3 A0 = A1 4

In quest’ultimo caso le due sinusoidi non sono pi` u risolte affatto a causa del prevalere degli effetti del windowing.

Abbiamo detto che la capacit`a di risolvere picchi vicini `e dovuta soprattutto alla larghezza finita del lobo principale.

6.3. ANALISI DI FOURIER TRAMITE DFT

203

ω ∆ω = 0.075 rad

|V [exp(jω)]|

32 24 16 8 0 −π

0

π

Figura 6.5: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω inferiore alla larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza. I due picchi spettrali non sono ben risolti, seppure ancora individuabili, ed i rapporti di altezza dei picchi non riproducono pi` u correttamente il rapporto di ampiezze delle sinusoidi Pi` u in dettaglio, la possibilit` a di distinguere i due picchi `e effettivamente legata in primo luogo al fatto che essi siano separati pi` u della larghezza del lobo principale della trasformata della finestra, W (ejω ), ma intervengono anche altri fattori. A parit`a di separazione in frequenza, la risoluzione dipender`a • dal rapporto delle loro ampiezze (se un’ampiezza `e molto piccola, il corrispondente picco - sia ad esempio ω1 - pu` o essere “sommerso” dai lobi laterali relativi all’altro picco ω0 ); • dal fatto che la replica di W (ejω ) centrata sull’altra frequenza ω0 abbia modulo sufficientemente piccolo nei pressi di ω1 . Indicativamente si trova che per una sufficiente risoluzione `e richiesto che 20 log10

A1 > A0

altezza relativa dei lobi laterali di |W (ejω )| espressa in dB

dove con altezza relativa si indica l’altezza divisa per quella del lobo principale. Da quanto detto deduciamo che `e desiderabile • che il lobo principale di |W (ejω )| sia stretto

204 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

ω ∆ω = 0.054 rad

|V [exp(jω)]|

32 24 16 8 0 −π

0

π

Figura 6.6: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω molto inferiore alla larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza. I due picchi spettrali non sono risolti affatto

• che i lobi laterali siano bassi e decrescano rapidamente allontanandosi dal lobo principale.

I nostri esempi riguardavano l’uso di una finestra rettangolare di lunghezza fissata. Usando finestre che vanno a zero pi` u gradualmente ai bordi, a parit`a di lunghezza si ottiene un abbassamento dei lobi laterali della trasformata della finestra, ma questo avviene al costo di allargare il lobo centrale (cfr. sezione 6.4). In questo modo si ha meno leakage (che `e dovuto soprattutto alla presenza ed importanza dei lobi laterali) ma si perde ulteriormente in risoluzione (fattore legato soprattutto alla larghezza del lobo principale): la condizione sulla separazione in frequenza sar`a pi` u difficilmente soddisfatta. Naturalmente questo effetto sfavorevole sar`a compensabile se siamo in grado di aumentare N , perch`e al crescere del numero di campioni la trasformata della finestra rettangolare diviene sempre pi` u simile alla funzione impulsiva del caso ideale, come mostrato in Fig. 6.7.

6.3.2

Effetto del campionamento spettrale

Tale effetto `e, ancora una volta, ben illustrato da un esempio.

6.3. ANALISI DI FOURIER TRAMITE DFT

256

256

N = 32

128 |W [exp(jω)]|

205

N = 64

128

64 32 0−π



0

256

64 32 0−π 256

N = 128

128



0

N = 256

128

64 32 0−π



0

ω

64 32 0−π

0



Figura 6.7: Modulo della trasformata DTFT di finestre rettangolari di varie lunghezze N . Al crescere di N la forma diviene sempre pi` u simile a quella di un impulso Prendiamo di nuovo il segnale v[n] di N = 64 campioni, con ω0 =

2π , 14

A0 = 1,

ω1 =

4π 15



A1 = 0.75

∆ω ≃ 0.389 rad →

A0 3 = A1 4

e consideriamone la DTFT (Fig. 6.8, curva rossa) e la DFT calcolata su N = 64 punti (Fig. 6.8, stem plot in nero). La risoluzione `e a priori sufficiente (nella DTFT i due picchi sono ben risolti) ma poich`e i picchi della DTFT cadono fra un campione e l’altro della DFT, se osserviamo solo quest’ultima non siamo in grado di valutare correttamente n`e le frequenze delle sinusoidi contenute nel segnale, n`e le loro ampiezze.

In generale, i picchi “veri” non coincideranno mai esattamente con una delle frequenze di campionamento e questo potenzialmente dar` a una visione distorta della soggiacente DTFT del segnale.

206 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

∆ω = 0.389 rad

|V [exp(jω)]|

32 24 16 8 0 −π

π

0

Figura 6.8: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω superiore alla larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza, cos`ı che la risoluzione `e sufficiente se si osserva la forma della DTFT (curva rossa). Per`o quando si prendono N = 64 campioni della DTFT calcolando la DFT della sequenza e si osservano soltanto quelli (stem plot in nero), il fatto che le frequenze delle sinusoidi che compongono il segnale non coincidano con alcuna delle frequenze di campionamento fa s`ı che il quadro risulti alterato. Le frequenze e le ampiezze delle sinusoidi vengono stimate con scarsa accuratezza Se mantenendo gli stessi parametri (N , A0 , A1 e ∆ω) facciamo s`ı che questa coincidenza ci sia, la DFT del segnale ci appare molto diversa, come mostrato in Fig. 6.9. In questo esempio, ω0 =

2π 2π =4 , 16 64

ω1 =

2π 2π =8 8 64



∆ω ≃ 0.389 rad

cos`ı che nella DFT su N = 64 punti, ω0 coincide con il quinto campione frequenziale (k = 4) e ω1 coincide con il nono campione frequenziale (k = 8). La DFT ora appare molto “pulita” e priva di contenuto spettrale a frequenze angolari diverse da ω0 e ω1 , ma questa `e in gran parte una illusione dovuta al “povero” campionamento spettrale. In realt`a c’`e contenuto spettrale significativo a tutte le frequenze, come si verifica facilmente infittendo il campionamento in frequenza mediante un padding di zeri fino a lunghezza di 128 punti (Fig. 6.10).

6.3. ANALISI DI FOURIER TRAMITE DFT

207

∆ω = 0.389 rad

|V [exp(jω)]|

32 24 16 8 0 −π

0

π

Figura 6.9: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω superiore alla larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza, cos`ı che la risoluzione `e sufficiente. La DTFT del segnale `e rappresentata dalla curva rossa. Lo stem plot in nero rappresenta invece la DFT calcolata su N = 64 punti: un campionamento spettrale piuttosto povero. Ci` o nonostante, siccome le frequenze delle sinusoidi componenti il segnale sono state scelte in modo tale da cadere esattamente a due delle frequenze di campionamento, la DFT appare (illusoriamente) riprodurre benissimo la forma di uno spettro piatto con due righe spettrali. Non appare alcun contenuto spettrale a frequenze diverse da quelle delle sinusoidi presenti nei dati ed i campioni spettrali non nulli a tali frequenze danno il valore esatto che corrisponde alle ampiezze delle sinusoidi

Sottolineiamo ancora una volta che cos`ı facendo non si migliora la risoluzione, che dipende solo dalla forma e dalla lunghezza della finestra, ma si vedono semplicemente pi` u dettagli della soggiacente DTFT del segnale, entro i limiti della risoluzione di cui si dispone. Il padding di zeri ed il conseguente oversampling dello spettro sono quasi sempre usati, per avere grafici pi` u leggibili: l’interpolazione in frequenza d`a una curva continua e liscia, sulla quale i picchi vengono localizzati meglio come posizione ed altezza.

208 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

∆ω = 0.389 rad

|V [exp(jω)]|

32 24 16 8 0 −π

0

π

Figura 6.10: Spettro di ampiezza di un segnale di N = 64 campioni, contenente due sinusoidi separate di un ∆ω superiore alla larghezza del lobo principale della trasformata della finestra rettangolare della stessa lunghezza, cos`ı che la risoluzione `e sufficiente. La DTFT del segnale `e rappresentata dalla curva rossa. Lo stem plot in nero rappresenta invece la DFT calcolata su N = 128 punti (tramite padding di zeri): essa rivela correttamente il contenuto spettrale presente nella DTFT a tutte le frequenze

6.4

Le finestre classiche e le loro caratteristiche

Abbiamo prima accennato agli effetti dell’uso di finestre pi` u graduali di quella rettangolare. Concludiamo questo capitolo illustrando pi` u in dettaglio le caratteristiche di tali finestre. Le finestre pi` u note, oltre a quella rettangolare, sono quella di Bartlett (che coincide sostanzialmente con la cosiddetta finestra triangolare), quella di Von Hann o hanning, quella di Hamming e quella di Blackman. Le grandezze caratterizzanti ogni finestra sono sempre • la larghezza del lobo principale, espressa, in riferimento al caso di finestra rettangolare, come 4π N η dove il valore di η dipende dalla finestra; • l’altezza del pi` u alto lobo secondario rispetto a quello principale. Queste finestre “storiche” o “classiche” sono state introdotte escogitando modi empirici per ridurre l’altezza relativa dei lobi laterali rispetto al caso di finestra rettangolare.

6.4. LE FINESTRE CLASSICHE E LE LORO CARATTERISTICHE

209

Le loro caratteristiche si discutono pi` u agevolmente osservando la forma della trasformata in scala logaritmica (in dB), cosa che permette di visualizzare l’andamento dei parametri caratteristici al variare della finestra (Fig. 6.11).

0

0

−20

−20

−40

−40

−60

−60

−80

−80

−100

−100

−120 0

Rettangolare 0.2

0.4

−120 0.6

0.8

1

0

0

0.4

0.6

0.8

1

0.8

1

Hann

−20

−40

−40

−60

−60

−80

−80

−100

−100

−120

−120 0.2

0.4

0.6

0.8

1

0

0

0.2

0.4

0.6

0 Hamming

−20

Blackman

−20

−40

−40

−60

−60

−80

−80

−100

−100

−120 0

0.2

0 Bartlett

−20

0

Rettangolare, lungh. doppia

−120 0.2

0.4

0.6

ω/π

0.8

1

0

0.2

0.4

0.6

0.8

1

ω/π

Figura 6.11: Andamento della trasformata in scala logaritmica (dB) per varie finestre classiche. Tutti i pannelli mostrano la quantit`a 10 log10 |W (ejω )|2 = 20 log10 |W (ejω )|. Per agevolare il confronto tra le finestre, tale quantit`a per tutte `e stata normalizzata ad avere valore zero a frequenza zero. Questo significa che il modulo della trasformata `e ivi normalizzato a 1; ci`o corrisponde a normalizzare i campioni di una data finestra a somma unitaria (anzich`e normalizzare i campioni a valore massimo unitario, come normalmente si fa). Tutte le finestre qui rappresentate hanno lunghezza di 51 campioni, meno quella rettangolare del pannello in alto a destra, che ha lunghezza doppia ossia 101

• Finestra rettangolare

La sua trasformata, gi` a vista in scala lineare, `e rappresentata in scala di dB in Fig. 6.11, primi due pannelli in alto. Si vede che il lobo principale `e il pi` u stretto di tutte le finestre a parit`a di lunghezza (pannello in alto a sinistra). Il lobo secondario pi` u alto (prossimo a quello centrale) per` o

210 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA `e soltanto 13.5 dB sotto il lobo principale e la decrescita dei lobi laterali allontanandosi dal lobo principale `e lenta. Raddoppiando la lunghezza della finestra (Fig. 6.11, pannello in alto a destra in confronto con quello accanto in alto a sinistra) il lobo principale si stringe ulteriormente ed il numero di lobi laterali aumenta ma l’attenuazione minima di 13.5 dB e la decrescita lenta restano. • Finestra di Bartlett

La sua trasformata `e il quadrato (sempre non negativo, dunque) di quella della finestra rettangolare, ed infatti la finestra di Bartlett `e il risultato della convoluzione di due finestre rettangolari.

Ci` o comporta una riduzione del livello relativo dei lobi laterali a circa -27 dB (il doppio di -13.5 dB), come visibile ancora in Fig. 6.11. Nel contempo e si ha η = 2. La decrescita dei per` o il lobo principale si allarga a 8π N , cio` lobi laterali resta piuttosto lenta. Si noti che questa finestra, in contesti diversi, pu` o includere o no zeri agli estremi. E’ invalso l’uso di chiamare “finestra di Bartlett” quella che include zeri agli estremi e “finestra triangolare” quella che non li include. • Finestra di Von Hann o hanning

La sua trasformata `e la somma di tre funzioni di Dirichlet traslate in frequenza, cos`ı da avere una parziale cancellazione dei lobi laterali. La funzione “centrale” ha peso 1/2 e quelle laterali 1/4 ciascuna. Si ha una discesa dei lobi laterali a -32 dB rispetto al lobo principale, mentre la larghezza del lobo principale resta a 8π N (η = 2). La decrescita dei lobi laterali `e rapida.

• Finestra di Hamming

Qui vengono sovrapposte tre funzioni di Dirichlet con pesi diversi, determinati per tentativi cos`ı da minimizzare l’altezza del pi` u pronunciato lobo laterale. Si adottano cos`ı i pesi 0.54 per la funzione centrale e 0.23 per quelle laterali. Si ottiene una discesa dei lobi laterali al livello relativo di circa -43 dB mentre la larghezza del lobo principale resta a 8π N (η = 2). In questo caso il lobo laterale pi` u alto non `e il pi` u centrale. L’attenuazione `e notevole ma la decrescita dei lobi laterali `e lenta.

• Finestra di Blackman

Questa finestra usa cinque funzioni di Dirichlet variamente pesate in modo da ridurre ulteriormente l’altezza dei lobi laterali (ma non `e ottimizzata in questo senso).

Si ottiene una discesa dei lobi laterali al livello relativo di circa -57 dB ma la larghezza del lobo principale aumenta a 12π N (η = 3). Si ha moltissima attenuazione e la decrescita dei lobi laterali `e abbastanza rapida ma il lobo centrale `e pi` u largo che in tutte le altre finestre. La Tabella 6.1 riporta la forma funzionale delle finestre che abbiamo citato. Poich`e nei vari contesti in cui tali finestre trovano applicazione `e a volte richiesta

6.4. LE FINESTRE CLASSICHE E LE LORO CARATTERISTICHE

211

la forma causale della finestra stessa, altre volte la forma non causale simmetrica attorno all’origine, nella Tabella sono riportate entrambe le forme. In tutti i casi, l’unico parametro libero `e la lunghezza. Per una finestra in forma non causale, la lunghezza N `e sempre dispari. Per una forma causale N pu` o essere sia pari sia dispari, ma se `e pari ovviamente il massimo cade ad un valore semi-intero dell’indice. Le forme causali date in tabella si intendono per N dispari. Le finestre sono normalizzate in modo da avere 1 come valore massimo. La Fig. 6.12 mostra la forma delle stesse finestre. Si noti che i grafici sono tracciati come se si trattasse di funzioni continue di n, per chiarezza visiva, ma naturalmente si tratta di sequenze definite solo per valori interi di n. Si noti inoltre che tutte hanno zeri agli estremi, tranne la finestra di Hamming. Le finestre sono normalizzate in modo da avere 1 come valore massimo.

n

w[n]

1

0

0

(N − 1)/2

N

Figura 6.12: Andamento temporale delle pi` u note finestre graduali classiche, nella loro forma causale. Finestra rettangolare: rosso; finestra di Bartlett: verde; finestra hanning: blu; finestra di Hamming: magenta; finestra di Blackman: nero Le finestre classiche “affusolate” sono spesso usate, al posto della finestra rettangolare, per l’analisi spettrale (non solo di segnali deterministici ma anche di segnali casuali, la cui analisi spettrale si svolge con metodi trattati nella Parte III). Da quanto abbiamo detto del comportamento delle finestre classiche nel dominio della frequenza, in questa sezione, e degli effetti del windowing, nella sezione precedente, si comprende che non esiste la finestra migliore in assoluto per l’analisi spettrale e la scelta della finestra `e il risultato di un compromesso: se `e importante la risoluzione e si vuole quindi che la larghezza del lobo principale della trasformata della finestra sia minima a parit`a di lunghezza si user` a la

212 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

Finestra

Forma non causale

Forma causale

−M ≤ n ≤ M

0≤n≤N −1

Bartlett

Hann

Hamming

Blackman

1 − |n|/M

1 2



1 + cos

πn M

0.54 + 0.46 cos

0.42 + 0.5 cos

πn M



per

0 ≤ n ≤ (N − 1)/2

2 − 2n/(N − 1)

per

(N − 1)/2 ≤ n ≤ N − 1

1 2

 πn M

2n/(N − 1)



+ 0.08 cos

h

1 − cos



2πn N −1

0.54 − 0.46 cos 2πn M



0.42 − 0.5 cos



2πn N −1





i

2πn N −1



+ 0.08 cos



4πn N −1



Tabella 6.1: Forma funzionale delle pi` u note finestre graduali classiche, nella loro forma causale e non causale

6.5. LA FINESTRA DI KAISER

213

finestra rettangolare; se `e importante minimizzare il leakage e si vuole quindi che i lobi laterali siano molto attenuati e rapidamente decrescenti allontanandosi dal lobo principale, allora le finestre di Von Hann, Hamming e Blackman saranno le pi` u interessanti.

6.5

La finestra di Kaiser

Oltre alle classiche finestre citate prima, ne esistono molte altre. Ad esempio, Kaiser ha proposto un’altra finestra pi` u moderna e flessibile, basata su criteri di ottimalit`a (mira al meglio sotto un certo punto di vista, nel rispetto di certi vincoli). In particolare, la finestra di Kaiser minimizza la larghezza del lobo principale sotto la condizione di tenere fissa la lunghezza della finestra e di non far superare all’energia nei lobi laterali una certa percentuale dell’energia totale dello spettro. L’energia nei lobi laterali `e definita calcolando l’integrale del modulo quadro della trasformata della finestra su (0, π), con esclusione dell’intervallo di frequenze che compete al lobo principale. I valori che si ottengono per i campioni di w[n] dipendono, oltre che (ovviamente) dalla lunghezza della finestra, dall’energia concessa ai lobi laterali. La soluzione del problema di ottimizzazione di Kaiser `e esprimibile mediate la funzione di Bessel modificata di ordine zero, data dalla serie  ∞  X xk . I0 (x) = 2k k! k=0

La finestra di Kaiser di lunghezza N `e data infatti dall’espressione  q  2 I0 α 1 − (|2n − N + 1|/N − 1) w[n] = I0 (α) dove il parametro α, che questa finestra ha in pi` u rispetto alle finestre classiche, serve per regolare la larghezza del lobo principale e l’altezza dei lobi laterali: al crescere di α il lobo principale si allarga ed i lobi laterali si abbassano, a parit`a di lunghezza. Il caso α = 0 riporta alla finestra rettangolare. Invece far crescere la lunghezza tenendo α costante fa decrescere la larghezza del lobo principale ma non influenza l’altezza massima dei lobi laterali. La finestra di Kaiser `e particolarmente addatta per il progetto di filtri con uso di finestre. Infatti mediante simulazioni numeriche condotte su un intervallo di condizioni molto ampio, Kaiser ha trovato delle formule empiriche che permettono di determinare a priori con discreta approssimazione quale forma e lunghezza della finestra siano richieste, per restare entro certe specifiche prefissate per il filtro da progettarsi con la tecnica con finestre. Con le finestre classiche invece

214 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA si deve andare per tentativi, rendendo il lavoro pi` u lungo. Naturalmente l’uso della finestra di Kaiser non sposta i limiti intrinseci del progetto con finestre, cui abbiamo in precedenza accennato. La Fig. 6.13 mostra la forma della finestra di Kaiser al variare del parametro α.

n

w[n]

1

0 1.5 2.5 4 5 7

0

0

(N − 1)/2

N

Figura 6.13: Andamento temporale della finestra di Kaiser, per vari valori del parametro α Si nota, al crescere di α, l’accentuazione del tapering, ossia della velocit` a di discesa della finestra verso lo zero agli estremi. La Fig. 6.14 mostra il modulo quadro della trasformata della finestra di Kaiser in dB, al variare del parametro α. Si trova che la larghezza del lobo principale in rapporto a quella del caso rettangolare cresce circa linearmente con α, come mostrato in Fig. 6.15. Anche il livello relativo dei lobi laterali in dB varia circa linearmente con α, come si vede in Fig. 6.16.

6.5. LA FINESTRA DI KAISER

215

0

0 1.5 2.5 4 5 7

20 log10 |W [exp(jω)]|

−20

−40

−60

−80

−100

−120 0

0.2

0.4

0.6

0.8

1

ω/π Figura 6.14: Andamento della trasformata in scala logaritmica (dB) della finestra di Kaiser per vari valori del parametro α. Anche in questo caso si `e normalizzato in tutti i casi il modulo della trasformata a 1 nell’origine delle frequenze. Tutte le finestre qui rappresentate hanno lunghezza di 51 campioni 3.5

N ∆ω/(4π)

3 2.5 2 1.5 1 0.5 0 0

2

4

α

6

8

10

Figura 6.15: Andamento della larghezza ∆ω del lobo principale della finestra di Kaiser, in funzione del parametro α. In ordinate `e riportato precisamente N ∆ω/4π ossia il rapporto tra ∆ω e l’analoga quantit`a che caratterizza la finestra rettangolare, 4π/N

216 CAPITOLO 6. SEGNALI DETERMINISTICI: SPETTRO DI ENERGIA

Livello relativo lobi lat. (dB)

0 −10 −20 −30 −40 −50 −60 −70 −80 0

2

4

α

6

8

10

Figura 6.16: Andamento del rapporto tra l’altezza in dB del pi` u alto lobo laterale e l’altezza in dB del lobo principale, per finestre di Kaiser con vari valori del parametro α

Capitolo 7

L’approccio statistico all’analisi dei segnali

217

Parte IV

Analisi spettrale evolutiva

218

Capitolo 8

La Short Time Fourier Transform (STFT)

219

Capitolo 9

La Trasformata Continua di Wavelet (CWT)

220

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF