del corso di elaborazione numerica dei segnalig. giunta: corso di elaborazione numerica dei segnali...

126
G. Giunta: corso di Elaborazione Numerica dei Segnali - lucido n. 1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica dei Segnali (docente: G. Giunta) 14 12 10 8 6 4 2 0 0,0 0,2 0,4 0,6 0,8 1,0 rettang triang cos rialz Hamming Blackman n w (n) 3 a edizione: aprile 2001 (1 a edizione: febbraio 1999; 2 a edizione: aprile 2000) disponibile su sito WEB per download gratuito

Upload: others

Post on 31-Oct-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 1

Universita' di Roma TRE

Corso di laurea in Ingegneria Elettronica

Corso di laurea in Ingegneria Informatica

Lucidi del corso diElaborazione Numerica dei Segnali

(docente: G. Giunta)

141210864200,0

0,2

0,4

0,6

0,8

1,0

rettangtriangcos rialz

HammingBlackman

n

w(n

)

3a edizione: aprile 2001

(1a edizione: febbraio 1999; 2a edizione: aprile 2000)

disponibile su sito WEB perdownload gratuito

Page 2: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 2

SEQUENZE

• segnali tempo-discretis(i)

tempo

passato futuro1 2 3 4 5 6

i

es.:quotazioni mercati;ampiezza echi radar;vendite giornaliere;campioni di segnali tempo-continui.

• segnali spazio-discretis(i)

spazio

sinistra destra1 2 3 4 5 6

i

es.:misure di un campo acustico o elettromagnetico;misure da antenna a schiera;altezza piante in un filare;campioni di segnali spazio-continui.

Page 3: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 3

In generale:

• SEQUENZE: applicazioni algebriche da undominio ad un codominio

s(q) : Q→ S

natura domini Q: tempo, spazio, numero d'ordine, angolo,frequenza;

natura codominiS: tensione, corrente, tensione, campo EM,posizione, tempo di ritardo, frequenza;

N = dimQ e M = dim S determinano le dimensioni deldominio e del codominio

dominio 1-D→ sequenze 1-D (es.: campioni di segn. QAM)

dominio N-D→ sequenze N-D (es.: immagini 2-D)

codominio 1-D→ sequenze semplici o scalari (es.: imm. b/n)

codominio M-D→ sequenze multiple o vettoriali (es.: colore)

Page 4: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 4

• domini usuali

Q ≡ KK (interi)

Q ≡ KK]N (interi mod. N∈ [0,N-1], es.: sequenze circolari)

Q ≡ KK]N x KK]M (matrici NxM di indice intero mod. N ed M∈[0,N-1],[0,M-1], es.: immagini rettangolari NxM digitali)

• codomini usualiS ≡ KK (sequenze digitali a valori discreti)S ≡ RR (sequenze reali)S ≡ CC (sequenze complesse)

S ≡ RR3 (sequenze vettoriali 3-D, es.: immagini a colori)

• notazioni usuali

x(i) oppure x[i]N ; x(i,j) oppure x[i,j]N,M

ove [i]N e' la notazione compatta di (i mod. N)

• estensione di una sequenza

≡ il numero di elementi compreso tra il primo elemento non nulloe l'ultimo elemento non nullo, estremi inclusi (es. estensione = 6nel segnale graficato sul lucido 1)

N.B.: se la sequenza e' multi-D, l'estensione e' calcolata perciascuna direzione principale (es. un'immagine NxM)

Page 5: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 5

OPERAZIONI SULLE SEQUENZE(reali e complesse)

• somma

a(n) + b(n) = c(n)

• moltiplicazione per uno scalare

G • a(n) = c(n)

• prodotto scalare

< a(n) , b(n)> = c = Σn a*(n) • b(n)

< a(n) , b(n) >≤ [ < a(n) , a(n) > • < b(n) , b(n) > ]1/2

(disuguaglianza di Schwartz)

• prodotto scalare normalizzato

c = <a(n),b(n)> • [<a(n),a(n)>]-1/2 • [<b(n),b(n)>]-1/2 ≤ 1

Page 6: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 6

• slittamento

c(n) = a(n+k)

(es.: se k>0 anticipo di k passi)

• rotazione ciclica

c[n]N = a[n+k]N

(es. se k>0 rotazione ciclica verso sinistra)

• ribaltamento

c(n) = a(-n)

• differenziazione causale (all'indietro)

b(n) = a(n) - a(n-1)

• differenziazione anti-causale (in avanti)

b(n) = a(n+1) - a(n)

• prodotto (modulazione)

c(n) = a(n) • b(n)

Page 7: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 7

• accumulazione

si noti che: c(n) – c(n-1) = a(n)

• correlazione (lineare)

c(k) = <a(n),b(n+k)> =Σn a*(n) • b(n+k)

si noti che: <a(n),b(n+k)> = [<b(n),a(n-k)>]*

• convoluzione (lineare)

c(k) = a(n)⊗b(n) = <a*(n),b(k-n)> =Σn a(n) • b(k-n)

si noti che: <a(n),b(n+k)> = a*(-n)⊗b(n)

e che (proprieta' commutativa): a(n)⊗b(n) = b(n)⊗a(n)

• correlazione circolare

c[k]N = Σn a*[n]N • b[n+k]N

• convoluzione circolare

c[k]N = a[n]N ⊗N b[n]N = Σn a[n]N • b[k-n]N

∑=

=n

0i

)i(a)n(c

Page 8: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 8

i0 N

i0 M

x(i)

y(i)

3

1

2

111

2

i0 N

-M 0i

k

x(-i)

y(i)1

11 1

2

2

3

0 M+Nk

1

8

7

33

8 x(k) y(k)⊗

Esempio di calcolo della convoluzione fra sequenze

Page 9: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 9

i0 N

y(i)

0 Mi

k

x*(i)

1

111

2

2

3

-M 0 Nk

3

5

9

8

4

1

C (k)xy

Esempio di calcolo della correlazione temporale fra sequenze

Page 10: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 10

SEQUENZE TIPICHE

• impulso unitario

≠=

=0nper0

0nper1)n(δ (simbolo di Kronecker)

proprietà: a(n)⊗δ(n) = a(n)

N.B.: δ(n) e' unasequenzadi significato differente dallafunzioneimpulso idealeδ(t) (che in zero tende all'infinito) perche' e'diverso il loro dominio (discretoanziche'continuo).

• gradino unitario (causale)

<≥

=0nper0

0nper1)n(u

proprietà:

• sequenza armonica

c(n) = ejωn

proprieta' 1: seωN = 2πL con L intero⇒ ejω(n+N) = ejωn

proprieta' 2: ej(ω+2π)n = ejωn

∑+∞

=

−=0i

)in()n(u δ

Page 11: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 11

TRASFORMAZIONI DI SEQUENZE

T : I → U

• trasformazioni invertibili (corrispondenzabiunivoca)

• trasformazioni istantenee (o "di punto")

y(n) = gn [x(n)]

• trasformazioni causali (fisicamente realizzabili)

y(n) = gn [x(n), x(n-1), x(n-2), ...]

• trasformazioni anticausali (anticipatorie)

y(n) = gn [x(n+1), x(n+2), x(n+3) ...]

• trasformazioni "miste" (ne' causali ne'anticausali)

y(n) = gn [..., x(n-1), x(n), x(n+1) ...]

Page 12: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 12

• trasformazioni a memoria finita

y(n) = gn [x(n-M)..., x(n-1), x(n), x(n+1) ..., x(n+N)]

• trasformazioni invarianti alla traslazione

gn+k [•] = gn [•] = gk [•] = g [•]

• trasformazioni omogenee

A • gn [..., x(n-1), x(n), x(n+1), ...] =

= gn [..., A x(n-1), A x(n), A x(n+1), ...]

• trasformazioni additive

gn[...,x1(n-1),x1(n),x1(n+1),...] +

+ gn[...,x2(n-1),x2(n),x2(n+1),...] =

= gn [..., x1(n-1)+x1(n-1), x1(n)+x2(n), x1(n+1)+x2(n+1), ...]

• trasformazioni lineari (additiva + omogenea)

Σk Ak gn [...,xk(n-1),xk(n),xk(n+1),...] =

= gn [..., Σk Ak xk(n-1),Σk Ak xk(n), Σk Ak xk(n+1), ...]

Page 13: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 13

• struttura delle trasformazioni lineari

y(n) = L [x(n)] =

x(n) = Σk x(k) δ(n-k)

y(n) = Σk x(k) L [δ(n-k)] = Σk x(k) hnk = x(n)⊗h(n)

h(n): risposta impulsivadella trasformazione

• forma vettoriale delle trasformazioni lineari

y(n) = Σk x(k) hnk puo' essere espressa in forma vettoriale:

Y = H X (X, Y: vettori; H: matrice)

• struttura delle trasformazioni LSI (linear shift-invariant)

memoria finita causale

≠≠≠≠≠

≠≠≠≠≠

=

0000

0000

0000

0000

H

≠≠≠≠≠≠≠

≠≠≠

=

0000

0000

0000

0000

H

(struttura a fascio diagonale) (struttura triangolare inferiore)

Page 14: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 14

TRASFORMAZIONI STABILIingresso limitato→ uscita limitata (criterio BIBO)

TEOREMA:

una trasformazione LSI e' stabile se e solo se lasua risposta impulsiva e' assolutamentesommabile.

prova : sia xmax il massimo del modulo di tutti gli x(k)

• caso di h(n) assolutamente sommabile:

|y(n)|≤ xmaxΣk |h(k)| < +∞

• caso di h(n) non assolutamente sommabile:x(n) = sign [h(-n)]

y(0) = Σk h(k) sign[h(k)] =Σk |h(k)| = +∞

LEMMA:

una trasformazione LSI a memoria finita e'incondizionatamente stabile.

Page 15: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 15

• esempi

• forme non ricorsive:

y(n) = x(n) • z(n) : lineare, non invariante, istantanea, stabile

y(n) = x(n)-x(n-1) : lineare, invariante, causale, a memoria finita,stabile

y(n) = x(n-1) - 2 x(n) + x(n+1) : lineare, invariante, ne' causalene' anticausale, a memoria finita, stabile

• forme ricorsive:

y(n) = 0.5 y(n-1) + x(n) : lineare, invariante, a memoria infinita,causale, stabile

y(n) = 2 y(n-1) + x(n) : lineare, invariante, a memoria infinita,causale, non stabile

y(n-1) = 0.5 y(n) - 0.5 x(n) : lineare, invariante, a memoriainfinita, anticausale, stabile

y(n-1) = 2 y(n) - 2 x(n) : lineare, invariante, a memoria infinita,anticausale, non stabile

Si noti come le stesse equazioni alle differenze possono forniresoluzioni stabili o instabili, a seconda che siano "lette" nel versocausale o anticausale.

Page 16: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 16

RAPPRESENTAZIONE NEL DOMINIODELLA FREQUENZA

x(n) = ejωn

y(n) = x(n)⊗h(n) =Σk h(k) • ejω(n-k) = ejωn Σn h(n) • e-jωn

definiamo la risposta in frequenza normalizzata:

H(ω) = Σn h(n) • e-jωn

y(n) = H(ω) ejωn

N.B.: la variabile normalizzataω e' unangolo(in radianti), NONuna pulsazione (in radianti per sec).

• Per evidenziare il fatto che H(ω) e' per definizione

PERIODICA di 2 ππππ, viene talvolta definita (comefunzione

di funzione) con il simbolo H(ejω).

• esempio: media mobile

∑−= +

+=N

Nk 1N2

)kn(x)n(y

≤+

>=

Nnper1N21

Nnper0)n(h

[ ]

++

=+

= ∑−=

2sin

)1N2(sin

1N2

1

1N2

e)(H 2

N

Nk

kj

ωω

ωω

Page 17: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 17

H(ω) e' una funzione complessa:

H(ω) = Hr(ω) + j Hi(ω) = |H(ω)| ej•argH(ω)

H(ω) e' dettatrasformata continua di Fourierdi h(n):

∑+∞

−∞=

=n

)n(x)(X ω • e-jωn = <e-jωn, x(n)>

ωωπ

π

π

ω de)(X2

1)n(x nj

∫−

⋅=

• Convergenza della serie H(ω):Le sequenze assolutamente sommabili sono Fourier-trasformabili.Le sequenze finite sono Fourier-trasformabili.In senso limite, anche altre sequenze sono Fourier-trasformabili

(es. la sequenza armonica ejωn).

• Convergenza dell'integrale h(n):In realta', per i nostri scopi, ci interessa assai piu' laanti-trasformabilita' delle funzioni delle frequenza normalizzataω (periodiche di 2ππππ).Pertanto, valgono tutte le proprieta' della Analisi Matematica sullaconvergenza degli integrali.

Page 18: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 18

Continuous Fourier Transform:interpretazione come decomposizione/sintesi armonica

Sia ωi un insieme di frequenze normalizzate (angoli) che

ricopre il dominio [−π,π] in modo "sufficientemente" fitto.

H( )ω

e 1ωjn

1

H( )ω

e 2ωjn

2

H( )ω

e iωjn

i

•••

x(n) ∫ +π

−π

1

• osservazione 1:se x(n) e' periodica, la decomposizione si riducead un numero finito di armoniche.

• osservazione 2:se x(n) e' di lunghezza finita (cioe', con unperiodo di estensione limitato), la decomposizione si puo' ridurread un numero finito di armoniche.Basta infatti che H(ω) rappresenti la trasformata della sequenzaarbitrariamente costruitax(n) periodata (cioe' x(n) replicatainfinite volte) perche' valga la proprieta' prima enunciata.La vera sequenza x(n) si ottiene banalmente estraendo un periododalla sequenza antitrasformata (che e' periodica).

Page 19: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 19

PROPRIETA' DELLA TRASFORMATACONTINUA DI FOURIER DI SEQUENZE

x(n) ↔ X(ω)

a x(n) + b y(n)↔ a X(ω) + b Y(ω)

x(n+K) ↔ ejωK X(ω)

ejωοn x(n) ↔ X(ω-ωο)

x(-n) ↔ X(-ω)

x*(n) ↔ X*(- ω)

x*(-n) ↔ X*( ω)

n x(n) ↔ j dX(ω)/dω

x(n) ⊗ y(n) ↔ X(ω) Y(ω)

[ ] ∫−

−=⊗↔π

π

θθωθπ

ωωπ

d)(Y)(X2

1)(Y)(X

2

1)n(y)n(x

∑ ∫+∞

−∞= −

∗∗ =n

d)(Y)(X2

1)n(y)n(x

π

π

ωωωπ (Parseval)

x(n) simmetria coniugata↔ X(ω) reale

x(n) reale↔ X(ω) simmetria coniugata

x(n) pari e reale↔ X(ω) reale e pari

Page 20: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 20

EQUAZIONI LINEARIALLE DIFFERENZE

• in alcuni sistemi, la sequenza di ingresso x(n) e quella di uscitay(n) sono legate da un'equazione alle differenzelineare acoefficienti costanti di ordineN:

∑∑==

−=−M

0mm

N

0kk )mn(xb)kn(ya

• la sequenza della risposta impulsivadi un sistema h(n), ovverol'uscita y(n) quando in ingresso e' presente un impulso idealeδ(n),non e' univocamente definita. Infatti, la soluzione non e' unica,ma esistono 2N possibili soluzioni.

• la soluzione puo' divenire unica solo imponendovincoli alla h(n)quali lacausalita'oppure l'anticausalita'od anche, in alternativa,la stabilita' del sistema.

• la soluzionecausaleimpone l'uscita sia nulla per istanti negativi,quellaanticausaleche lo sia per istanti positivi o nulli; quellastabileche la risposta impulsiva del sistema convergaasintoticamente a zero (stabilita' asintotica) oppure sia limitatataentro valori finiti (stabilita' marginaleo, piu' semplicemente,stabilita') al tendere all'infinito della variabile tempo-discreto.

Page 21: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 21

• sia dato, a titolo di esempio, il sistema del primo ordine:

y(n) = a y(n-1) + x(n)

ove a e' una costante arbitraria.

• esistono due soluzioni: unacausalee l'altraanticausale. Perottenere la sequenza della risposta impulsiva h(n) nel casocausale, si imponga x(n)=δ(n) e si osservi l'uscita y(n),supponendo condizioni iniziali di riposo, cioe' y(n)=h(n)=0 pern<0.

y(n) = h(n) = 0 per n<0y(0) = h(0) = a y(-1) +1 = 1y(1) = h(1) = a y(0) = ay(2) = h(2) = a y(1) = a2

•••••••••y(n) = h(n) = a y(n-1) = an

pertanto:

h(n) = an U(n)

ove

=altrove0

0nper1)n(U

Page 22: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 22

• al contrario, se si cerca la soluzioneanticausale,si imponesempre x(n)=δ(n), ma si assume y(n)=h(n)=0 per n>0, e si osserval'uscita y(n).

• l'equazione alle differenzepuo' essere riscritta, per comodita',come segue:

y(n) = a-1 y(n+1) - a-1 x(n+1)

Si ha allora:

y(n) = h(n) = 0 per n>0

y(0) = h(0) = a-1 y(1) = 0

y(-1) = h(-1) = a-1 y(0) - a-1 = - a-1

y(-2) = h(-2) = a-1 y(-1) = - a-2

•••••••••

y(n) = h(n) = a-1 y(n+1) = - a-n

Quindi:

h(n) = - an U(-n-1)

Page 23: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 23

• in realta', e' solitamente di interesse applicativo cercare lasoluzione stabile del sistema.

• nel caso del sistema del primo ordine, la soluzionestabilecoincide con quellacausalese |a|<1 (e' una soluzioneasintoticamente stabile), mentre e' quellaanticausalese |a|>1 (e'una soluzioneasintoticamente stabile)

• N.B.: sono entrambestabili (marginalmente) le soluzioni (sia lacausaleche laanticausale) se |a|=1.

• piu' in generale, dato un sistema di ordine generico, la ricercadella sua soluzionestabilepuo' portare a determinarecontemporaneamenteuna parte causale ed una parteanticausale.

• infatti, e' possibile eseguire una decomposizione del sistema insottosistemi paralleli equivalenti, tutti con il vincolo dellastabilita'.

• di conseguenza, alcuni sottosistemi risulteranno esserecausali,mentre gli altri sarannoanticausali.

Page 24: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 24

TRASFORMATA Z

• definizione (trasformata Z bilatera)

X(z) = Zx(n) = ∑+∞

−∞=

n

nz)n(x

ove z = r ejω e' una variabile complessa del piano Z:

ω

rz

• esempio:

i0 N

i0 M

x(i)

y(i)

3

1

2

111

2

X(z) = 1 + 2 z-1 + z-2 + z-3

Y(z) = 3 + 2 z-1 + z-2

Page 25: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 25

• relazione con la trasformata di Fourier

la definizione di trasformata Z puo' essere riscritta come:

n

n

njn r)n(xFer)n(x)z(X −+∞

−∞=

−−∑ == ω

quindi, la trasformata Z puo' essere interpretata come latrasformata di Fourier continua della sequenza x(n) moltiplicataper una sequenza esponenziale (parametrica in r)

N.B.: si noti che, per r=1, la trasformata Z si riduce allatrasformata di Fourier, per cui:

Fx(n) = X(n) = Zx(n) |z=ejω= X(z)|z=ejω

a causa di cio', la trasformata di Fourier X(ω) e' talvolta indicatacon il simbolo X(ejω) per evidenziare tale proprieta'.

Page 26: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 26

• convergenza della trasformata Z

coincide con la convergenza della trasformata di Fourier dellasequenza x(n) r-n

spesso, non converge su tutto il piano Z, ma su un suosottoinsieme, dettoREGIONE DI CONVERGENZA(ROC)

esempio 1: sequenza esponenziale causale

x(n) = an U(n)

ROC = |z|>|a|

esempio 2: sequenza esponenziale anticausale

y(n) = an U(-n-1)

ROC = |z|<|a|

corollario: la sequenza e' stabile se e solo se la sua ROCinclude il cerchio unitario.

Infatti x(n) e' stabile per |a|≤1, mentre y(n) e' stabile per |a|≥1.

Page 27: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 27

osservazione: x(n) e -y(n) hanno la stessa trasformata Z:

1az1

1)z(Y)z(X −−

=−=

infatti:

∑+∞

=−

−==

0n1

1

za1

1)za()z(X

∑ ∑−

−∞=−−

+∞

=

−−

−−=−

−===

1

n11

1n

n1n1

za1

11

za1

1)za()za()z(Y

ovviamente, la soluzione stabile avra' ROC diversi a seconda cheil punto a nel piano Z si trovi dentro o fuori il cerchio unitario:

ROC = |z|>|a| per |a|<1

ROC = |z|<|a| per |a|>1

ROC = |z|>|a| oppure |z|<|a| (in alternativa) per |a|=1

Page 28: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 28

• proprieta' della trasformata Z

x(n) ↔ X(z)

linearita': a x(n) + b y(n)↔ a X(z) + b Y(z)

traslazione: x(n+K)↔ zK X(z)

molt. per esponenziale: zon x(n) ↔ X(z/zο)

differenziazione: n x(n)↔ -z dX(z)/dz

inversione: x(-n)↔ X(1/z)

coniugazione: x*(n)↔ X*(z*)

convoluzione: x(n)⊗ y(n) ↔ X(z) Y(z)

correlazione: x*(-n)⊗ y(n) ↔ X*(1/z*) Y(z)

val. iniziale: x(n) causale⇒ x(0) = X(z)|z→+∞

Page 29: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 29

• le trasformazioni lineari invarianti allatraslazione (LSI)

y(n) = x(n)⊗ h(n) ↔ Y(z) = X(z) H(z)

NTOTRASFERIMEDIFUNZIONE:)z(X

)z(Y)z(H =

• sul cerchio unitario:

z = ejω

H(ejω) : RISPOSTA IN FREQUENZA

H(ejω) = |H(ejω)| ejarg H(ejω)

|H(ejω)| : GUADAGNO IN FREQUENZA

argH(ejω) : RISPOSTA IN FASE

N.B.: ω e' un angolo⇒ H(ejω) e'PERIODICADI 2π

Page 30: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 30

• filtri selettivi

|H(e )|j ω

π−πbanda passante

banda di transizione

banda oscura

ω

passa-basso:banda passante includeω =0 ed escludeω=±πpassa-alto:banda passante escludeω =0 ed includeω=±πpassa-banda:banda passante escludeω=0 eω =±π

• distorsioni di fase

risposta di un canale ideale (guadagno costante, risposta in faselineare):

[ ])dn(

)dn(sinG)n(h

−−=

ππ

ritardo di gruppo:

[ ] ω

ωω

d)e(Hargd

)(dj

−=

N.B.: fase lineare e' equivalente a ritardo di gruppo costante.

Osservazione: i filtri con risposta impulsiva h(n) simmetricahanno ritardo costante (e fase lineare) pari alla distanza temporaledall'origine del proprio centro di simmetria;es.: H(z) = 1+z-1 ha ritardo di gruppo d=0.5 per ogniω.

Page 31: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 31

• equazioni alle differenze e trasformata Z

L'equazione alle differenze:

∑ ∑= =

−=−N

0k

M

0mmk )mn(xb)kn(ya

puo' essere risolta mediante l'ausilio della trasformata Z; infatti,essa puo' essere riscritta come:

∑ ∑= =

−− =N

0k

M

0m

mm

kk zb)z(Xza)z(Y

che fornisce una funzione di trasferimento H(z):

=

=

=N

0k

kk

M

0m

mm

za

zb)z(H

Il problema e' quindi ANTITRASFORMARE la H(z) per ottenerela sequenza h(n) corrispondente alla soluzione stabile.

Il modo canonico utilizza il metodo di decomposizione in frazioniparziali o metodo dei residui.

Page 32: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 32

• metodo dei residui

Sia V(x) un rapporto di polinomi nella variabile complessa x:

PP

2210

QQ

2210

xa..xaxaa

xb..xbxbb

)x(P

)x(Q)x(V

++++++++

==

Se il quoziente non e' proprio, ovvero se Q≥P, cioe' se il grado delnumeratore e' maggiore o uguale a quello del denominatore, lo sirende proprio effettuando la divisione tra polinomi con resto,ottenendo cosi':

)x(Hcxc..xCxC)x(V 011pQ

1PQpQ

PQ +++++= −−−−

−−

ove H(x) e' un rapporto di polinomi dato da:

PP

2210

QQ

2210

xa..xaxaa

xr..xrxrr

)x(P

)x(R)x(H

++++++++

==

in cui R(x) e' il resto della divisione costituito da un polinomio digrado G<P, con cio' ottenendo un quoziente proprio di polinomi inx, in cui il grado del numeratore e' strettamente minore del gradodel denominatore.

Nel caso di quoziente proprio (Q<P), ovvero se il grado delnumeratore e' gia' minore di quello del denominatore, non sieffettua alcuna divisione e si impone R(x)=Q(x) (quindi ancheH(x)=V(x), ri=bi e G=Q) in tutta la procedura esposta nel seguito.

Page 33: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 33

Il teorema dei residui afferma che e' possibile espandere in frattisemplici un quoziente proprio di polinomi nel modo seguente:

∑ ∑∑= == −

+−

==D

1k

S

1nn

m

nmM

1mk

km

)xx(

C

xx

A

)x(P

)x(R)x(H

ove il polinomio P(x) ha P zeri (quindi V(x) ed H(x) hanno Ppoli) di cui D distinti (xk) ed M multipli (xm) con molteplicita' S1,S2, ..., SM, rispettivamente, con:

∑=

+=M

1mmSDP

mentre Ak e Cmn sono iresiduidefiniti dalle espressioni:

[ ]kxxkk )xx()x(HA =−⋅=

[ ]m

m

m

m

xx

Sk)nS(

)nS(

mnm )xx()x(H

xd

d

!)nS(

1C

=−

−⋅⋅−

=

Per utilizzare per il calcolo di antitrasformate-Z l'espansione infratti semplici, teste' illustrata in funzione di una genericavariabile complessa x, e' possibile considerare l'espressione neldominio trasformato come un rapporto di polinomi nella variabilecomplessa z o, alternativamente, nella variabile complessa z-1.Entrambe le vie risultano in generale proponibili. Tuttavia, al finedi poter applicare direttamente le regole di antitrasformazione gia'note ai diversi fratti semplici ottenibili con il metodo dei residui,e' sovente consigliabile operare nella variabile complessa z-1.

Page 34: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 34

• risposte dei sottoblocchi semplici

Con il metodo dei residui la funzione di trasferimento H(z) e'implementata mediante il parallelo di sottoblocchi semplici,costituiti (in assenza di poli multipli) da sistemi del primo ordine(dovuti a poli reali) con risposta impulsiva infinita (IIR), oltre adun sottoblocco (in alto in figura) con risposta impulsiva finita(FIR):

Σ b z-r

rr

•••

1

1−1

A

1 - d z

−1

A

1 - d z

x(n)

y(n)

k

k

parti causali (|dk|<1): yk(n) = dk yk(n-1) + Ak x(n)

parti anticausali (|dk|>1): yk(n-1) = dk-1 [yk(n) - Ak x(n)]

Page 35: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 35

In pratica, se la funzione di trasferimento H(z) e' a coefficientireali, essa e' implementata mediante il parallelo di sottoblocchisemplici, costituiti (in assenza di poli multipli) da sistemi reali delprimo ordine (dovuti a poli reali) o da sistemi reali del secondoordine (dovuti a coppie di poli complessi coniugati) del tipo:

esponenziale causale decrescente:

)az()n(Uaza1

1 n1

>↔− −

esponenziale anticausale crescente:

)az()1n(Uaza1

1 n1

<−−↔− −

sinusoide causale decrescente:

)rz()n(U)ncos(rzrz)cos(r21

z)(cosr1 n221

1

>↔+−

−−−

αα

α

sinusoide anticausale crescente:

)rz()1n(U)ncos(rzrz)cos(r21

z)(cosr1 n221

1

<−−−↔+−

−−−

αα

α

Page 36: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 36

• trasformazioni inverse

H(z) H (z)x(n) y(n) x(n)

i

per definizione:

)z(H

1)z(Hi =

pertanto:

h(n) ⊗ hi(n) = δ(n)

Osservazione: l'equazione alle differenze del filtro inverso siottiene semplicemente scambiando formalmente l'ingresso x(n)con l'uscita y(n).

Es.: filtro h(n):

y(n) = 0.5 y(n-1) + x(n)

filtro inverso di h(n):

y(n) = x(n) - 0.5 x(n-1)

N.B.: dato che si scambia il ruolo di poli e zeri, occorre fareattenzione alla stabilita' del filtro inverso. Infatti l'inverso di unfiltro causale e stabile puo' non essere stabile se lo zero eraesterno al cerchio unitario. In tal caso, occorre scegliere lasoluzione anticausale per garantire la stabilita' del filtro inverso.

Page 37: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 37

• risposta in frequenza di funzioni ditrasferimento razionali

Dato il generico sistema con funzione di trasferimento in Zcostituita da un quoziente di polinomi in z:

=

=

=N

0k

kk

M

0m

mm

za

zb)z(H

cui corrisponde la risposta in frequenza:

=

=

=N

0k

kjk

M

0m

mjm

j

ea

eb)e(H

ω

ω

ω

e' possibile esprimere la risposta in frequenza in funzione dei poli(zeri del polinomio in z al denominatore) e zeri (zeri delpolinomio in z al numeratore) come:

=

=

−=

N

1k

jk

M

1m

jm

0

0j

)ed1(

)ec1(

a

b)e(H

ω

ω

ω

Page 38: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 38

Esaminando separatamente il guadagno (in modulo) e la rispostain fase del filtro H(z), e' possibile esprimere il guadagno in dB

(riferito a MAX|H(ejω)| = 1) come:

guadagno in dB = 20 log10 |H(ejω)|

attenuazione in dB = -20 log10 |H(ejω)|

Pertanto un fattore 10 sul modulo (100 sul modulo quadro)corrisponde a 20 dB, mentre un fattore 2 sul modulo (4 sulmodulo quadro) corrisponde a 6 dB.

Osservazione: si noti come la relazione moltiplicativa chelega lo spettro dell'uscita a quello dell'ingresso di un sistemadiviene additiva in dB:

20 log10 |Y(ejω)| = 20 log10 |X(ejω)| + 20 log10 |H(ejω)|

Page 39: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 39

• risposta in fase di funzioni di trasferimentorazionali

Si ha che:

∑ ∑= =

−− −−−+

=M

1m

N

1k

jk

jm

0

0j ed1argec1arga

barg)e(Harg ωωω

Si noti che arg• e' un angolo che assume valori in [−π,π]

Per comodita', e' talvolta rappresentata la risposta in fase"srotolata" ("unwrapped") definibile come la funzionecontinuadata dall'integrale del ritardo di gruppo. Ad esempio:

ππ

−π −π

ω

unwrapped phase

ω

−π

ππ

−π

wrapped phase (arg•)

Page 40: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 40

• trasformazioni passa-tutto

Sono quelle con risposta in frequenza (in modulo) costante (e, percomodita', unitaria).

Es.: filtro numerico di Hilbert: H(ω) = -j sign[sin(ω)]

Una classe di filtri numerici passa-tutto e' la seguente:

∏=

∗−

−−=

M

1k1

k

k1

ap za1

az)z(H

Si noti che gli zeri sono i reciproci dei poli rispetto al cerchiounitario.

a

1/a*

piano Z

1

Osservazione: il ritardo di gruppo di un filtro passa-tuttocausale e stabile e' OVUNQUE positivo (per ogniω).

Page 41: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 41

• trasformazioni a fase minima

Sono quelle che hanno poli e zeri ALL'INTERNO del cerchiounitario.

Un generico filtro con funzione di trasferimento razionale puo'essere scritto come:

)z(H)z(H)z(H apmin=

ove

∏=

∗−

−−=

M

1k1

k

k1

ap za1

az)z(H

Allora, dato un filtro generico razionale, si puo' renderlo a faseminima (modificando la sua risposta in fase ma mantenendoimmutato il guadagno in modulo) invertendo l'equazioneprecedente:

)z(H

)z(H)z(H

apmin =

ovvero, piu' rapidamente, sostituendo la parte con lo zero (polo)esterno al cerchio unitario (|a|>1) con una (equivalente in modulo)con lo zero (polo) reciproco e quindi interno al cerchio unitario:

( 1 - a z-1 ) → ( z-1 - a* )

Page 42: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 42

• proprieta' dei filtri a fase minima

Un filtro causale e stabile e' invertibile in forma causale solo se e'a fase minima, nel senso che anche il filtro inverso e' causale estabile.

Le trasformazioni a fase minima hanno il minimo ritardo di fase.Infatti:

arg|H(ejω)| = arg|Hmin(ejω)| + arg|Hap(ejω)|

Inoltre, a parita' di guadagno in frequenza, i filtri a fase minimahanno il minimo ritardo di gruppo. Infatti:

grd|H(ejω)| = grd|Hmin(ejω)| + grd|Hap(ejω)|

ove grd• sta per "ritardo di gruppo di".

Infine, i filtri a fase minima sono i piu' "rapidi" filtri causalirealizzabili, nel senso che l'energia della risposta impulsiva e' lapiu' concentrata possibile in prossimita' dell'origine. Infatti, dettaEi(M) l'energia della sequenza hi(n) compresa tra l'origine deitempi e l'istante M, ovvero la quantita':

∑=

=M

0n

2

ii )n(h)M(E

risulta che Ei(M) e' massimaper un certo i=kse e solo sehk(n) e'una sequenzaa fase minima.

Page 43: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 43

• filtri a fase lineare

Un filtro a fase lineare e' caratterizzato dalla relazione:

H(ejω)| = |H(ejω)| e-jωα

Un filtro a fase lineare generalizzata e' caratterizzato dallarelazione:

H(ejω)| = |H(ejω)| e-jωα+jβ

In entrambi i casi il ritardo di gruppo e' costante e pari adα.

N.B.: Filtri IIR causali e stabili non sono MAI a fase lineare.

Le condizioni di fase lineare generalizzata sono soddisfatte daiseguenti quattro tipi di filtri FIR:

I: h(n) = h(M-n) (simmetrica) con 0≤n≤M ed M pari

e H(z) = z-M H(z-1)

II: h(n) = h(M-n) (simmetrica) con 0≤n≤M ed M dispari

e H(z) = z-M H(z-1)

III: h(n) = -h(M-n) (antisimmetrica) con 0≤n≤M ed M pari

e H(z) = -z-M H(z-1)

IV: h(n) = -h(M-n) (antisimmetrica) con 0≤n≤M ed M dispari

e H(z) = z-M H(z-1)

Page 44: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 44

CAMPIONAMENTO ERICOSTRUZIONE

• sistema di elaborazione a tempo discreto peremulare un sistema a tempo continuo

x (t) x(n) y(n)y (t)

C/D h(n) D/Ccc

ove x(n) = xc(nT) e yc(nT) = y(n), con T: periodo dicampionamento.

• campionatore matematico

∑+∞

−∞=

−=n

)nTt()t(s δ

∑+∞

−∞=

−==n

ccs )nTt()nT(x)t(s)t(x)t(x δ

x (t)s

t

x (t)c

t

Page 45: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 45

• campionamento matematico (in frequenza)

∑+∞

−∞=

Ω−ΩΩ=Ωk

SS )k()j(S δ

oveΩs = 2π/T

∑+∞

−∞=

Ω−Ω=Ω⊗Ω=Ωk

SccS )jkj(XT

1)j(S)j(X

2

1)j(X

π

X (j )s ΩX (j )c Ω

Ω s

Ω Ω

• campionatore reale

Un sistema con impulsi ideali non e' realizzabile. Si usa unsistemasample-and-hold(S&H) ovvero un circuito elettronicoche mantiene l'uscita al valore campionato ideale per un periodoT.

Dato che la risposta in frequenza del S&H non e' piatta(assomiglia ad una sinc), e' necessario compensare (ove possibile)gli effetti filtranti del S&H mediante un filtro numerico inverso incascata al filtro h(n) del sistema.

In pratica, si progetta un unico filtro che realizza la convoluzionetra h(n) e la risposta impulsiva del filtro inverso.

Page 46: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 46

• ricostruzione

[ ]∑

∞+

−∞= −−=

n T

Tc )nTt(

)nTt(sin)n(y)t(y

π

π

Y (j )c Ω

Ω s

Ω

filtro ricostruttoreideale

• ricostruttore realeUn sistema con funzioni sinc(•) di durata infinita non e'realizzabile. Si usa un circuito ricostruttore approssimato che usaun sample-and-hold(S&H) di durata T seguito da un filtro conandamento passa-basso (attenua le alte frequenze).

La caratteristica complessiva in frequenza non e' quellarettangolare di un filtro ricostruttore passa-basso ideale, sia dentroche al di fuori della banda del segnale analogico.Per reiettare le componenti fuori-banda (caratterizzate dallamodulazione del segnale in banda a frequenze multiple diΩs) e'opportuno progettare il filtro analogico ricostruttore con spiccatecaratteristiche filtranti almeno a partire dalle frequenze occupatedalle repliche del segnale.

L'andamento non piatto della effettiva risposta in frequenza entrola banda passante puo' essere contrastato da filtri numerici aventeuna caratteristica inversa in frequenza (ove possibile).

Come nel caso del campionatore reale, il filtro inverso delricostruttore puo' essere inglobato nel sistema numerico daprogettare, mediante un unico filtro numerico.

Page 47: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 47

• implementazione numerica di trasformazionilineari e permanenti

y(n) = x(n)⊗ h(n)

Y(ω) = X(ω) H(ω)

Ys(jΩ) = Xs(jΩ) H(TΩ)

∑ ∑+∞

−∞=

+∞

−∞=

Ω−ΩΩ−Ω=Ωk k

ScScS )jkj(HT

1)jkj(X

T

1)j(Y

in assenza di aliasing:

≥Ω

<ΩΩΩ=Ω

Tper0

Tper)j(H)j(X

T

1

)j(Ycc

c π

π

per uniformita' di scala:

yc(n) = xc(n) ⊗ [T hc(n)]

Page 48: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 48

MODIFICA DEL TASSODI CAMPIONAMENTO

• espansione

=erointnonF/nper0

erointF/nper)(x)n(x F

n

e

che corrisponde alla procedura grafica illustrata nel caso F=2:

0 Mi

x(i)

i0 2M

x (i)e

Fx(i) x (i)

e

Page 49: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 49

Lo spettro della sequenza espansa Xe(ω) risulta, per definizione:

)()()()()(

intero/

ωω ωωω FXemxexn

enxX mjF

mnFm

njFn

Fnpern

njee ==∑

∞+

−∞=== −

+∞

−∞==

−+∞

−∞=

−∑∑

ove X(ω) e' lo spettro della sequenza originaria.

L'operazione di espansione corrisponde graficamente allacompressione di un fattore F come illustrato per F=2:

e

0 π 2π

0 π 2π

(ω)X

(ω)X

ω

ω

Page 50: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 50

• interpolazione

L'interpolazione analogica, corrispondente ad unsovracampionamento:

[ ]∑

∞+

−∞= −−

=k T

T

)kTt(

)kTt(sin)kT(x)iT(x

π

π

t=iT’

e' del tutto inadeguata per un sistema di elaborazione numericoperche', essendo implicitamente basata sull'elettronica analogica,risulta non solo troppo complessa e costosa, ma anche imprecisa(derive termiche dei componenti) e rigidamente vincolata alprogetto iniziale (non e' riprogrammabile via software).

Un interpolatorenumerico, ovvero realizzato con tecnichenumeriche, e' implementabile come la cascata di unespansoreedi un filtro numerico passa-basso ideale.

La figura illustra lo schema a blocchi della procedura ed unesempio di applicazione per unfattore di interpolazioneF=2.

i0 2M

x (i)I

i0 2M

x (i)e

i0 M

x(i)

F ω−π/ 0 π/

F

FF

Page 51: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 51

Il filtro numericoha una risposta in frequenza H(ω) (periodica di2π):

<<−<<−=

)2diperiodica(altrove0

perFF

perF)(H

π

πωππωπω

che corrisponde ad unasequenzadella risposta impulsiva h(n):

n

)n(sin)n(h

F

F

π

π=

tale che h(0) = 1 ed h(kF) = 0 per k intero≠0.

Page 52: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 52

Ricordando lo spettro della sequenza espansa:

Xe(ω) = X(Fω)

lo spettro della sequenza interpolata risulta:

+<<+−⋅

=altrove0

2k2kper)F(XF)(X FF

I

πωπωω

ππ

come illustra l'esempio di figura nel caso F=2.

e

0 π 2π

(ω)X

ω

0 π 2π

(ω)X

ω

I

0 π 2π

(ω)X

ω

Page 53: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 53

• decimazione

La decimazione e' definita come:

xd(n) = x(Fn)

L'esempio grafico illustra l'operazione per F=2:

F

x (i)d

i0 M

i0 2M

x(i)

Per valutare lo spettro della sequenza decimata xd(n) definiamo lasequenza periodica w(n) di periodo F:

=

=altrove0

0F.modnper1)n(W

w(n)

F=3

1

0 3 6

cui corrisponde lo spettro (periodico di 2π) W(ω):

∑−

=

−⋅=1F

0iF

2 )i(F

2)(W πωδπω

Page 54: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 54

Se consideriamo la sequenza xw(n) = x(n) • w(n), questa ha laforma di una sequenza con F-1 nulli, corrispondente al risultatodella espansione della sequenza decimata xd(n):

==erointnonF/nper0

erointF/nper)(x)n(x)n(x F

nd

dew

0 Mi i

0 2M

F

x (i)d x (i)

de

x (i)de

x (i)d

per cui:Xw(ω) = Xde(ω) = Xd(Fω) ovvero Xd(ω) = Xw(ω/F)

Essendo lo spettro Xw(ω) della sequenza xw(n)=x(n)•w(n) pari a:

[ ]=⊗= )(W)(X2

1)(X w ωω

πω

∫ ∑−

=

−⋅=−=π

π

πωθθωθπ

1F

0iF

2 )i(XF

1d)(W)(X

2

1

si ottiene pertanto lo spettro della sequenza decimata xd(n):

∑−

=

−⋅==1F

0iF

2FFwd )i(X

F

1)(X)(X πωωω

Page 55: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 55

Pertanto lo spettro della sequenza decimata risulta attenuato inaltezza del fattore F, espanso e replicato in modo da risultarecomunque periodico di periodo 2π, cioe':

∑−

=

−⋅=1F

0iF

2Fd )i(X

F

1)(X πωω

che graficamente corrisponde a quanto mostrato in figura per F=2(in assenza di aliasing):

0 π 2πω

0 π 2πω

d(ω)X

(ω)X

Ovviamente, se si desidera rappresentare correttamente un segnalecampionato, e' necessario controllare che lo spettro della sequenzadecimata non comporti sovrapposizioni spettrali (aliasing). Infatti,l'operazione di decimazione, come del resto anche ilsottocampionamento analogico,non prevede alcun pre-filtraggioanti-aliasing.

In tal senso, la decimazione e' un'operazione"a rischio" , poiche'non comporta perdite informative se e solo se lo spettro possiedein realta' una larghezza di banda F volte piu' ristretta rispetto aldominio di Fourier originario.

Page 56: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 56

GRAFI E STRUTTURE

Ci occuperemo della rappresentazione di sistemi a tempo discretomediantegrafi. Un grafo di flusso e' una rete di rami orientati chesi connettono in corrispondenza dinodi. Ad ogni nodo e' associatauna variabile ovalore del nodo.

Ad ogni grafo corrisponde un sistema di equazioni alle differenzeovvero, equivalentemente, una funzione di trasferimento neldominio Z. Al contrario, una funzione di trasferimento puo' essererealizzata mediante piu' grafi differenti.

Il concetto di grafo e' percio' legato a quello di rete. Tuttavia, e'necessario sottolineare che un grafo e' unarealizzazionedell'algoritmo matematico di elaborazione, ovvero unmodellochepossiede la fuzione di trasferimento desiderato, mentre una rete e'lo schema circuitale che implementa l'algoritmo stesso e chequindi potrebbe venir utilizzata come schema elettronico delprogetto realizzativo.

• componenti

x(n)

y(n)

z-1

a

x(n)+y(n)

x(n)

x(n) a x(n)

x(n-1)

Page 57: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 57

• strutture fondamentali

• forma canonica:

321

1

zezdzc1

zba

)z(X

)z(Y)z(H −−−

++++==

-dz

-1

x(n) y(n)

z-1

z-1

-e

1

b

a

parte IIR parte FIR

-c

• forma in cascata:

∏=

−−

−−

++++==

M

1k2

k1

k

2k

1kk

zezd1

zczba

)z(X

)z(Y)z(H

-e

x(n)

z-1

z-1

c

1

b

a

-d

-e

y(n)

z-1

z-1

c

1

b

a

-d

••• k

k

k

k

k

1

1

11

1

Page 58: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 58

• forma parallela:

∑=

−−

−−

++++==

M

1k2

k1

k

2k

1kk

zezd1

zczba

)z(X

)z(Y)z(H

y(n)

•••

-e

z-1

z-1

c

1

b

a

-d1

1

11

1

-e

x(n)

z-1

z-1

c

1

b

a

-dk

k

kk

k

N.B.: sovente ck=0 se utilizzo il metodo dei residui in z-1.

Page 59: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 59

PROGETTAZIONE DI FILTRINUMERICI

• invarianza della risposta impulsiva

La procedura richiede:

1) normalizzare le grandezze temporali e frequenziali per operare(per comodita') con T=1;

2) progettare un filtro analogico Ha(s) in base alle specifichetenendo anche conto dell'effetto di aliasing;

3) decomporre in fratti semplici mediante il teorema dei residui laHa(s) individuata;

∑= −

=N

1k k

ka ss

A)S(H ∑

=

=N

1k

tSka )t(UeA)t(h k

4) determinare H(z):

∑=

−−=

N

1k1S

k

ze1

A)z(H

k)0s,1T()n(UeA)n(h k

N

1k

nSk

k <==∑=

utilizzando la relazione (nel caso di poli distinti):

1cT ze1

T

cs

1−−−

↔+

ove c e' il generico poloanalogico.

5) verificare la risposta H(ejω) del filtro progettato.

Page 60: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 60

Il metodo dell'invarianza della risposta impulsiva (piu'brevemente: all'impulso) consente di progettare un filtro numericosfruttando un precedente progetto di un corrispondente filtroanalogico.

I due filtri, in questo caso, conserveranno la medesima rispostaimpulsiva nel senso che quella del filtro numerico corrispondera' aquella analogica, campionata con unopportunointervallo.

h(n) = T ha(nT)

ove ha(t) e' la risposta impulsiva analogica desiderata.

Cio' consente al progettista di sfruttare le proprieta' di classi difiltri nel dominio a tempo continuo, trasferendoli, senzadeformazioni, nel dominio a tempo discreto.

Page 61: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 61

Evidentemente, la procedura richiede che la risposta impulsiva siacampionabile senza perdita di rappresentazione in base al criteriodi Nyquist.

In caso contrario, sorge il problema dell'aliasingspettrale dellarisposta in frequenza del filtro analogico.

∑+∞

−∞=

+=k

T2

Taj )jkj(H)e(H πωω

Va precisato tuttavia che non si tratta, in senso stretto, di un erroredi aliasing, in quanto nel filtro numerico entrano sequenze che sipossono supporre scaturiti da segnali campionati in manieracorretta. Cio' che risulta aliasato e' invece la risposta in frequenzadel filtro numerico realizzato, nel senso che essa noncorrispondera' piu' a quella analogica, replicata a causa delcampionamento.

In altre parole, non sono i segnali in gioco, ma e' il progettoadessere affetto daaliasingspettrale.

Va infine osservato che la sovrapposizione spettrale e' algebrica epuo', persino, risultare di giovamento alle caratteristiche filtrantidel filtro numerico quando le repliche che si sovrappongonohanno fasi opposte.

Page 62: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 62

• trasformazione bilineare

La procedura richiede:

1) normalizzare le grandezze temporali e frequenziali per operare(per comodita') con T=1;

2) alterare le specifiche del filtro analogico da Ha(f) a Ha(F)

deformando l'asse delle frequenze (f→F) in base alla relazione:

F = tg(πf)/π ovvero Ω = 2 tg (ω/2)

3) Progettare un filtro analogico Ha(s) in base alle specifiche cosi'modificate;

4) determinare H(z) utilizzando la sostituzione formale:

1

1

z1

z12s −

+−=

N.B.: non e' necessario verificare la risposta H(ejω) del filtroprogettato poiche' NON c'e' aliasing.

Page 63: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 63

Anche il metodo della trasformazione bilineare, come quellodell'invarianza della risposta impulsiva (argomento del capitoloprecedente) consente di progettare un filtro numerico sfruttandoun precedente progetto di un corrispondente filtro analogico.

In questo caso, pero', i due filtri non avranno la medesima rispostain frequenza (ed impulsiva), nel senso che quella del filtronumerico corrispondera' a quella analogica deformatain modonon lineare.

Infatti, la risposta in frequenza del filtro numerico progettatomediante la trasformazione bilineare puo' essere ottenutacomprimendo la risposta analogica, in modo crescente con ilvalore assoluto della frequenza.

f = arctg(πF)/π ovvero ω = 2 arctg (Ω/2)

In pratica, mentre la risposta alle basse frequenze risultaimmodificata, quella alle alte frequenze e' compressa in modo daportare il valore asintotico della risposta in frequenza (perfrequenza infinita) in corrispondenza della meta' della frequenzadi campionamento (ω=π).

Page 64: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 64

E' allora evidente come, in base al criterio di Nyquist, non sorgain questo caso il problema dell'aliasingspettrale della risposta infrequenza del filtro analogico.

Va precisato tuttavia che errori dialiasing possono essere semprepresenti se nel filtro numerico entrano sequenze che sono scaturitida segnali campionati in maniera non corretta.

Cio' che non risulta aliasata e' invece la risposta in frequenza delfiltro numerico realizzato, nel senso che le repliche della stessadovute al campionamento temporale non si sovrapporranno mai acausa della deformazione della risposta in frequenza del filtro.

Per ovviare all'inconveniente della deformazione delle specifiche,occorrecompensareil fenomeno con una pre-deformazioneinversa delle specifiche stesse.

Pertanto, in sede di progetto si deforma l'asse delle frequenze inmaniera opposta a quella che la trasformazione bilineare produrra'inevitabilmente, ottenendo cosi' le specifiche del filtro desiderato.

In pratica, poiche' la risposta del filtro realizzato risultacompressain frequenza per effetto dell'applicazione della trasformazionebilineare, e' necessario che tale risposta sia preventivamenteespansain frequenza, per ottenere cosi' le specifiche desideratedopo l'applicazione della trasformazione bilineare.

E' opportuno precisare che la deformazione delle frequenzesussiste soltantonellespecifichedi progetto e nonnella rispostadel filtro numerico.

Quest'ultimo, infatti, in quanto sistema lineare, impone unarelazionelineare tra le frequenze a tempo campionato ed a tempocontinuo.

Page 65: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 65

Per ottenere la funzione di trasferimento in z del filtro numerico,la procedura richiede, una volta riportate sulle specificheanalogiche le conseguenze della pre-deformazione spettrale, latrasposizione della funzione di trasferimento del filtro analogicodal dominio continuo a quello a tempo discreto, in base allasemplice regola di conversione dell'operatore continuo diderivazione s, che viene trasposto nel rapporto incrementale,valutato a distanza di campionamento:

1

1

z1

z12)z(H −

+−=

che corrisponde all'equazione alle differenze:

y(n) + y(n-1) = 2[x(n) - x(n-1)]che, scritta in modo inverso, rappresenta la ben nota formula diintegrazione numerica trapezoidale:

x(n) = x(n-1) + 0.5[y(n) + y(n-1)]E' infine interessante notare come questa trasformazione siapplichi direttamente all'espressione in s della funzione ditrasferimento e non richieda quindi, al contrario del metododell'invarianza all'impulso basato sulla decomposizione in frattisemplici, alcuna elaborazione simbolica.

Esempi di filtri realizzati con le tecniche dell'invarianza impulsivae della trasformazione bilineare sono la famiglia dei filtri diButterworth, caratterizzati da un guadagno piatto, banda costante(a -3 dB) e pendenza dei fianchi della risposta nella zona ditransizione dipendente dall'ordine del filtro.

Page 66: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 66

PROGETTAZIONE DI FILTRI FIR

• metodo delle finestre

Data una risposta in frequenza desiderata Hd(ω), funzione

continuaperiodicadi periodo 2π della variabileω, e' possibilerisalire allasequenzadella risposta impulsiva hd(n) del filtronumerico che gli corrisponde.

Questa e' infatti ottenibile come antitrasformata di Fourier dellaH(ω), definita nell'intervallo [-π , π], in base alla nota relazione:

∫−

⋅=π

π

ω ωωπ

de)(H2

1)n(h nj

dd

Ove possibile, si effettua l'operazione di antitrasformazione pervia analitica. Altrimenti, possono essere usate procedurenumeriche per calcolare l'integrale definito prima espresso.

Page 67: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 67

La sequenza hd(n) e', in generale, di lunghezza infinita. Per questomotivo essa viene normalmente troncata utilizzando opportunefunzioni "finestra".

h(n) = hd(n) w(n)

ove w(n) e' una sequenza di lunghezza finita (ovvero assumevalore nullo al di fuori di un certo intervallo), simmetrica, nondecrescente a sinistra e non crescente a destra del centro disimmetria. Ad es.:

n

w(n)

L L+NL-N

Fra le caratteristiche delle numerosefinestreproposte inletteratura, basti qui ricordare che l'estrazione di campioni dellahd(n) deve essere tale da poter assumeretrascurabileil contributodei campioni non considerati.

In pratica, il criterio e' quello di trascurare le code della sequenzadella risposta impulsiva laddove tutti gli ulteriori campioni sonominori, in modulo, di una certa prefissata entita' (ad esempio: il10% del massimo valore del modulo della risposta).

Pertanto, il metodo di progetto di filtriFIR mediantel'antitrasformata di Fourier e' spesso citato in letteratura come"metodo delle finestre".

Page 68: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 68

1,00,50,0-0,5-1,0-5

0

5

10

15

Traformata di Fourier della finestrarettangolare (centrata in L=0)

ω / πω / πω / πω / π

W(e

)j

ωω ωω

∆∆∆∆2 ω2 ω2 ω2 ωp

Page 69: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 69

1,00,50,0-0,5-1,0-0,2

0,0

0,2

0,4

0,6

0,8

1,0

1,2

ideale

reale

Risposta in frequenzadi un filtro passa-basso

(centrato in L=0)

ω / πω / πω / πω / π

H(e

)j

ωω ωω

δδδδ

δδδδ

Page 70: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 70

• finestre di comune impiego

convenzione: per semplicita', supporremo le finestre causalicon 0≤n≤M, centrate in n=M/2.

Tuttavia, le relazioni seguenti sono valide per finestre generichecon L-N≤m≤L+N, centrate in m=L, operando le sostituzioni:

M = 2N n = m-L+N

Un modo pratico per valutare correttamente i campioni dellefinestre consiste in:

1) calcolare i valori dei campioni utilizzando le espressioniseguenti, relative a finestre causali

2) traslare la sequenza calcolata in modo da centrarla attorno allasequenza della risposta impulsiva.

n

w(n)

L L+NL-Nn

w(n)

M/2 M0

Page 71: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 71

• rettangolare

≤≤

=altrove0

Mn0per1)n(w

• triangolare (Barlett)

≤≤−≤≤

=altrove0

Mn2/MperM/n22

2/Mn0perM/n2

)n(w

• coseno rialzato (Hanning)

≤≤−

=altrove0

Mn0per)M/n2cos(5.05.0)n(w

π

• coseno rialzato modificato (Hamming)

≤≤−

=altrove0

Mn0per)M/n2cos(46.054.0)n(w

π

• Blackman

≤≤+−

=altrove0

Mn0per)M/n4cos(08.0)M/n2cos(5.042.0)n(w

ππ

Page 72: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 72

141210864200,0

0,2

0,4

0,6

0,8

1,0

rettang

triang

cos rialz

Hamming

Blackman

Finestre di uso comune

n

w(n

)

Page 73: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 73

• caratteristiche principali delle finestre di uso comune

Le finestre si differenziano per:

1) ampiezza rel. del picco del lobo laterale in frequenza (∆)2) larghezza del lobo principale in frequenza (2ωp)3) errore di picco nel gradino frequenziale (δ)

I dati per queste tre caratteristiche sono riassunti nella tabella:

∆ (dB) 2ωp δ (dB)

rettangolare -13 4π/(M+1) -21

triangolare -25 8π/(M+1) -25

cos rialzato -31 8π/(M+1) -44

Hamming -41 8π/(M+1) -53

Blackman -57 12π/(M+1) -74

Infatti:

La larghezza della banda di transizione e' uguale alla larghezzadel lobo principale della trasformata della finestra (dipende da M).

Il livello delle oscillazioni e' legato all'area dei lobi laterali (nondipende da M).

Page 74: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 74

• finestre parametriche (Kaiser)

( )[ ]

≤≤−=

altrove0

Mn0per1I)n(w2/12

2/M2/Mn

0 β

ove I0(•) e' la funzione di Bessel modificata di primo tipo diordine zero.

La finestra di Kaiser ottimizza le caratteristiche spettrali operandosui parametri:

β: determina il livello di oscillazioneδ (picco dell'errore dellarisposta in banda passante ed in banda oscura)

M: determina la larghezza della regione di transizione∆ω definitacome (ωs-ωp)

posto:γ = -20 logδ, si ha:

( )( )

<≤≤−

>−

=21per0

5021per215842.0

50per7.81102.04.0

γγγ

γγβ

N.B.: nel casoβ=0, il metodo di Kaiser si riduce nella finestrarettangolare.

Page 75: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 75

• riepilogo della procedura di progetto FIR

1) esprimere la risposta in frequenza del filtro desiderata;

2) normalizzare la scala delle frequenze e dei tempi in modo daottenere un periodo di campionamento unitario (T=1);

3) (eventuale) se la banda occupata dalla risposta desiderataeccede [−π,π], considerare soltanto la risposta in frequenza internaall'intervallo [−π,π] (si suppone infatti che il segnale di ingressosia stato campionato secondo Nyquist);

4) eseguire la trasformata inversa di Fourier, ottenendo unasequenza la cui lunghezza (in generale) puo' essere infinita;

5) selezionare una finestra (tipo e lunghezza) da applicare allasequenza della risposta impulsiva;

6) (eventuale, solo per realizzazioni in tempo reale) ritardare ilrisultato di un numero di campioni (minimo) tale da assicurare lacausalita';

7) verificare il soddisfacimento delle specifiche calcolando larisposta in frequenza del filtro FIR realizzato (cioe' quanto il filtrorealizzato assomiglia al filtro desiderato) ed, eventualmente,riselezionare una nuova finestra (es.: M piu' grande) ritornando alpunto 5.

Page 76: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 76

• sequenze analitiche e filtro di Hilbert

• si definiscono le seguenti sequenze associate ad s(n):

-)sequenza analiticasa(n) di s(n):

Sa(ω) = H(ω) S(ω)

sa(n) = h(n)⊗ s(n)

-)trasformata di Hilbert sh(n) di s(n):

Sh(ω) = Q(ω) S(ω)

sh(n) = q(n)⊗ s(n)

ove:

≤≤−≤<

=0per0

0per1)(H

ωππω

ω

[ ])n(qj)n(2

1)n(H += δ

ove q(n) e' (risposta impulsiva delfiltro numerico di Hilbert):

[ ]

<<−==

<<−=−=

0perj

,0per0

0perj

)(sinsgnj)(Q

ωππωω

πωωω

=

≠=

0nper0

0nper)2

n(sin

n

2

)n(q2 π

π

In pratica, il filtro di Hilbert e' progettato come FIR mediante unafinestra centrata in n=0 di lunghezza "opportuna".

Page 77: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 77

• progetto FIR ai minimi quadrati

I metodi di progetto prima illustrati si basano su criteri del tuttogenerali riguardo ai segnali che effettivamente transitano nei filtristessi. In altre parole, nella progettazione non e' stata considerataalcuna caratteristica dei segnali in gioco.

Al contrario, e' possibile progettare filtri "ottimi" che risultano ipiu' idonei per filtrare determinate sequenze o classi di sequenzein ingresso.

In particolare, si supponga di voler progettare un filtro numericodi tipo FIR che approssimi una data risposta in frequenzadesiderata Hd(ejω), cui corrisponde una sequenza della rispostaimpulsiva desiderata hd(n).

Inoltre, si supponga di conoscere la sequenza x(n) in ingresso alfiltro da progettare.

Definita yd(n) = x(n)⊗ hd(n) come "l'uscita desiderata", e'possibile progettare il filtro FIR con funzione di trasferimentoH(z) definita da

∑+

=

−=NM

Mi

iz)i(h)z(H

in modo da minimizzare l'energia dell'errore e(n) di progettosull'uscita del sistema, ovvero:

E = Σn |y(n) - yd(n)|2

ove y(n) = x(n)⊗ h(n), rispetto ai coefficienti h(i) (peri=M...M+N).

Page 78: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 78

segnaledeterminatoin ingresso

h (n)

h(n)

x(n)d

e(n)

filtro desiderato

filtro progettato

errore daminimizzare.

y (n)

y(n)

d

Occorre quindi trovare il minimo della funzione:

∑ ∑ ∑+

=

−−=−=n n

2NM

Mid

2

d )n(y)in(x)i(h)n(y)n(yE

rispetto alle N+1 incognite h(i), ove la sommatoria su n si estendeovunque possibile (dipende dall'estensione temporale dei segnaliin gioco).

Effettuando la derivazione rispetto ad h(i) (per semplicita', lesequenze ed i filtri sono supposti reali, anche se si perviene allostesso risultato per sequenze o filtri complessi) ed eguagliando azero le N+1 funzioni si ottiene:

0)n(y)in(x)i(h)mn(x2)m(h

E NM

Mid

n

=

−−−=∂

∂∑∑

+

=

per m = M...M+N.

Per cui, si ha il seguente sistema di N+1 equazioni in N+1incognite:

∑ ∑ ∑+

=

−=−−NM

Mi n nd )n(y)mn(x)in(x)mn(x)i(h

Page 79: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 79

ovvero:

∑+

=

=−NM

Mixyxx )m(C)im(C)i(h

d

(m = M...M+N) avendo definito le correlazioni temporali:

∑ +=n

xx )mn(x)n(x)m(C

∑ +=n

dxd )mn(y)n(x)m(C

Pertanto i coefficienti del filtro h(n) sono dati dalla soluzione delseguente sistema espresso in forma matriciale:

+

+=

+

+

+−−−

N)(MC

...

1)(MC

(M)C

N)h(M

...

1)h(M

h(M)

(0)C...1)(NC(N)C

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

1)N(C...(0)C(1)C

N)(C...1)(C(0)C

xd

xd

xd

xxxxxx

xxxxxx

xxxxxx

che ha per soluzione:

+

+

+−−−

=

+

+

N)(MC

...

1)(MC

(M)C

(0)C...1)(NC(N)C

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

1)N(C...(0)C(1)C

N)(C...1)(C(0)C

N)h(M

...

1)h(M

h(M)

xd

xd

xd

1

xxxxxx

xxxxxx

xxxxxx

Osservazione: il progetto con ilmetodo della finestrarettangolarerisultaottimocon il criterio dei minimi quadrati se ilsegnale di ingresso ha autocorrelazione impulsiva.

Page 80: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 80

TRASFORMATE DISCRETADI FOURIER (DFT)

• definizione

La trasformata discreta di Fourier(Discrete Fourier Transform -DFT) di una sequenza x(n) di lunghezza N, e' una sequenza X(k),di lunghezza N, definita dalla:

∑−

=

−=

1N

0n

N

kn2j

e)n(x)k(Xπ

mentre latrasformata discreta inversa di Fourier(InversaDiscrete Fourier Transform -IDFT ) di una sequenza X(k) dilunghezza N, e' una sequenza x(n), di lunghezza N, data da:

∑−

=

=1N

0k

N

kn2j

e)k(XN

1)n(x

π

La trasformata discreta di Fouriere' utilizzata in molteapplicazioni di base dell'elaborazione numerica dei segnali, qualicalcolo dicorrelazionie convoluzioni circolari, filtraggi e stimespettrali. La popolarita' risiede nel fatto che tali operazioni sonoimmediate nel dominio trasformato discreto diFourier e nel fattoche esistono algoritmi di calcolo rapido dellaDFT (la trasformatadiscreta veloce di Fourier -Fast Fourier Transform- FFT),facilmente implementabili su un processore numerico, talvoltaaddirittura integrati su componenti elettronici appositi.

Page 81: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 81

• DFT ed IDFT come sviluppo della sequenza subase ortogonale

Definiti i vettori:

x = [ x(0) , x(1) , ... , x(N-1) ]T

X = [ X(0) , X(1) , ... , X(N-1) ]T

e le matrici simmetriche A e B di dimensione NxN, i cui elementiank e b nk, con 0≤n≤N-1 (indice di riga) e 0≤k≤N-1 (indice dicolonna), sono:

ank=a kn=e -j2πnk/N; b nk=b kn=e j2πnk/N/N

le trasformazioni DFT ed IDFT possono pertanto essere espresse

mediante gli operatori lineari A e B=A-1 come:

X = A x x = A-1 X = B X

Poiche' i vettori componenti la matrici A /N e B• N sonoortogonalie di modulo unitario, gli operatori corrispondenti sonodelle semplici rotazioni di coordinate.

Per tali tali trasformazioni valgono percio' le proprieta'geometriche delle trasformazioni ortonormali (ad esempio,conservazione delle distanze).

Osservazione: la base naturale (un uno e tutti zeri) e quellaDFT non sono le sole base ortogonali, ma se ne possono definiremoltissime altre (tutte le rotazioni rigide di coordinate).

La validita' della rappresentazione scelta consiste nella capacita'di rappresentare in forma compatta (con pochi bit) i coefficientidello sviluppo nella base scelta. In altre parole, occorrerebbericercare la rappresentazione che riduce l'entropia dei coefficientidello sviluppo.

Page 82: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 82

• campionamento in frequenza e dellatrasformata Z

La DFT e' strettamente legata alla trasformata Z sul cerchiounitario:

W)z(X)z(Xe)n(x)K(X k

NN

k2j z

ez

1N

0n

N

kn2j

−==

=

−===∑ π

π

ove e' stato definito:

N

2j

N eWπ−

=

La DFT e' una versione campionata della trasformata Z. Infatti:

∑ ∑∑−

=

=

−−−

=

− ===1N

0n

1N

0k

nknN

1N

0n

n zW)k(XN

1z)n(x)z(X

∑ ∑∑−

=

=−−

−−

=

−−

−−==

1N

0k

1N

0k1k

N

N1N

0n

n1kN zW1

)k(X

N

z1)zW()k(X

N

1

che costituisce ilTEOREMA DEL CAMPIONAMENTODELLA TRASFORMATA Z.

Page 83: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 83

Sul cerchio unitario la relazione precedente diviene:

∑−

=−−

=−

−=1N

0kjk

N

Njj

eW1

)k(X

N

e1)e(X ω

ωω

∑−

=

−=1N

0k

)kn

2(psa)k(X

πω

ove la funzione "periodica di campionamento" psa(•) e' definitacome:

2

1Nj

2

2N

e)(sinN

)(sin)(psa

−−=

ω

ω

ω

ω

Tale relazione tra i campioni della DFT e la pulsazionenormalizzataω e' nota comeTEOREMA DELCAMPIONAMENTO IN FREQUENZA.

In pratica, la funzione psa(ω) interpola i campioni della DFTeffettuando una convoluzione (circolare) con un funzioneperiodica, ritadata nel tempo di meta' periodo avendo definito0≤n≤N-1, che costituisce la versione periodata (come fossealiasata nel tempo) del sinc(•).

Page 84: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 84

L'interpolazione in frequenza dei campioni DFT di una sequenzatemporale, che determina la trasformata di Fourier continua deicampioni temporali stessi, ha quindi l'espressione di unaconvoluzione circolare inω.

L'andamento della funzione interpolante in frequenza (ovvero, lafunzione di tipo passa-basso che entra nella operazione diconvoluzione) e' quello illustrato in figura (a parte il ritardo di

(N-1)/2 campioni

che produce una rotazione di fase linearmente variante conω):

)2/(

)2/(

ωω

sin

Nsin

1,00,50,0-0,5-1,0-5

0

5

10

15

ω / πω / πω / πω / π

Page 85: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 85

• convoluzione circolare

In molti casi, e' conveniente effettuare l'operazione diconvoluzione (filtraggio) tra due sequenze di lunghezza Npassando attraverso il dominio della frequenza, ove questa siriduce ad un semplice prodotto termine a termine.

y(n) = x(n)⊗ h(n) =F-1 X( ω) Η(ω)

Sfortunatamente, il risultato dell'operazione:

v(n) = x(n)⊗N h(n) = IDFT X(k) Η(k) ovvero

v[n]N = x[n]N ⊗N h[n]N = Σn x[n]N • h[k-n]N

non coincide con il risultato di una convoluzione lineare

y(n) = x(n)⊗ h(n) =Σn x(n) • h(k-n)

a causa, appunto, della periodicita' o circolarita' delle sequenze ingioco.

Page 86: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 86

Dato che la correlazione circolare opera su sequenze di ugualelunghezza (es. 0≤n≤N), e' necessario allungare la sequenza piu'corta (es. 0≤n≤M2) con un numero sufficiente di zeri per renderlaestesa quanto la sequenza piu' lunga (es. 0≤n≤M1), assumendocosi' N=M1.

Per calcolare correttamente il risultato della convoluzione linearetra le due sequenze (costituite da elementi non nulli per 0≤n≤M1 e0≤n≤M2), e' indispensabile conoscere per quali valori di k questorisulta errato a causa dell'errore di circolarita'.

In tale caso, infatti, vi sono M2 valori errati ed e' sufficienteignorare il risultato di una convoluzione circolare per 0≤k≤M2-1.

kh(-n)

x(n)

0

0

-M12 N=M

X

X

Xk=0...M -1ris. errato

2

Page 87: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 87

Per ovviare a questo inconveniente, che introduce un ERROREsul risultato per alcuni valori di k, e' possibile allungare per0≤n≤N le sequenze in gioco (costituite da elementi non nulli per0≤n≤M1 e 0≤n≤M2) con un numero sufficiente di zeri tale cheN≥M1+M2 (zero-padding).

kh(-n)

x(n)

0

M

0

-M

1

2 N

Page 88: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 88

Talvolta e' necessario filtrare sequenze indefinitamente lunghe(es. alcuni milioni di campioni) mediante filtri con rispostaimpulsiva abbastanza corta (es. 64 o 128 campioni).

In tale caso conviene operare con procedure a dati segmentati (ablocchi) per realizzare l'intero filtraggio.

In base alle due possibilita' prima illustrate (cioe': ignorare alcunirisultati oppure allungare con zeri le sequenze), esistono dueprocedure che hanno il nome di:

1) sovrapposizione ed estrazione (overlap and save);

2) sovrapposizione e somma (overlap and add).

Page 89: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 89

• procedura di overlap and save

Mediante un algoritmo per il calcolo della convoluzione circolaresu N campioni (operazioni modulo N), si ottiene:

M

N

h(n) (N campioni di cui i primi M non nulli)000000

••• x(n)

•••••••••

M-1

M-1

M-1

⊗N

•••••••••

M-1

M-1

M-1

M-1

M-1

M-1errati

errati

errati

errati

errati

••• y(n)

N.B.: i primi M-1 risultati sono sbagliati. E' consigliabileaggiungere M-1 zeri in cima ad x(n) per ovviare a cio'.

Page 90: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 90

• procedura di overlap and add

Mediante un algoritmo per il calcolo della convoluzione circolaresu N campioni (operazioni modulo N), si ottiene:

M

N

h(n) (N campioni di cui i primi M non nulli)000000

••• x(n)

•••••••••

⊗N

•••••••••M-1

M-1

M-1

••• y(n)

0000

0000

0000

0000

0000

N-M+1

N-M+1

N-M+1

N-M+1

N-M+1

M-1

+

+

+

+

Page 91: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 91

CALCOLO DELLA DFT

∑−

=

=1N

0n

nkNW)n(x)k(X

∑−

=

−=1N

0k

nkNW)k(X

N

1)n(x

ove e' stato definito:

N

2j

N eWπ

−=

• algoritmo di Goertzel

∑−

=

−− ==1N

0r

rkN

NkN W)r(xW)k(X

∑−

==

−−− ⊗==1N

0rNn

knN

)rN(kN W)n(xW)r(x

In altre parole, ogni kmo coefficiente DFT puo' essere ricavatocome il campione Nmo dell'uscita di un filtro con rispostaarmonica (esponenziale complesso rotante con velocita'dipendente da k).

Page 92: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 92

• Fast Fourier Transform (FFT)

La FFT calcola da DFT in modo "veloce".

Assumiamo N=2ν. E' possibile decimare "nel tempo" il calcolodella DFT su N punti. Infatti:

=+== ∑∑−

=

=

1N

disparin0n

nkN

1N

parin0n

nkNN W)n(xW)n(x)n(xDFT)k(X

∑ ∑−

=

+−

=

=++=12/N

0r

k)1r2(N

12/n

0r

rk2N W)1r2(xW)r2(x

=++= ∑∑−

=

=

rk2N

12/N

0r

kN

rk2N

12/N

0r

)W()1r2(xW)W()r2(x

∑ ∑−

=

=

=++=12/N

0r

12/N

0r

rk2/N

KN

rk72N W)1r2(xWW)r2(x

)1n2(xDFTW)n2(xDFT 2/NkN2/N ++=

Il costo computazionale (numero di prodotti complessi) si riducepoiche' diviene:

N + 2 (N/2)2 < N2

Il procedimento didecimazione nel temposi puo' iterare,dividendo sempre in indici pari e dispari le DFT da calcolare sumeta' punti, sino ad ottenere una combinazione lineare diνN/2DFT di base su 2 punti (butterfly).

Page 93: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 93

Ogni struttura di base (DFT su 2 punti - butterfly) puo' essereulteriormente semplificata. Al generico stadio m-esimo si ha:

x (p)

x (q)

x (p)

x (q)

W

W

r

r+N/2

N

N

m

m

m+1

m+1

osservando che (WN)N/2=-1, si ha:

x (p)

x (q)

N

m+1

m+1

Wr

x (q)m

x (p)m

-1

N.B.: i calcoli delle "farfalle" ("butterfly") possono essereimplementatisul posto("in place") senza banchi di memoria.

Osservazione: in un algoritmo a decimazione nel tempo,l'ordinanento della sequenza di ingresso e' sempre di tipo "bitreversal". Ovvero, gli indici della sequenza per 0≤n≤N-1 vanno"scritti" su base binaria e "letti" in ordine rovesciato. Ad esempio:

0 000 01 001 42 010 23 011 64 100 15 101 56 110 37 111 7

Page 94: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 94

Lo schema semplificato (per N=8) risulta:

x(0)

x(4)

x(2)

x(6)

x(1)

x(5)

x(3)

x(7)

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

NW0

NW2

NW0

NW0

NW2

NW0

NW0

NW0

NW1

NW2

NW0

NW3

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

Come risulta dallo schema (per N=8), in tale caso i prodotticomplessi divengono pari a:

N log2 N

Page 95: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 95

SERIE ALEATORIE

Una serie aleatoria o stocastica e' un insieme di sequenze dotato diuna misura di probabilita'.

Ogni sequenza dell'insieme e' una realizzazione estratta dallaserie.

Es.: serie armoniche:

x(n; a,ω,φ) = a ej(ωn+φ)

• momenti notevoli

Ricordando la definizione di valore atteso di una variabilealeatoria x con densita' di probabilita' px(x):

[ ] dx)x(pxxE x∫+∞

∞−=

definiamo alcuni momenti notevoli di uso comune:

- valore atteso: E[x(n)] = m(n)E[x(n)] = m (se stazionaria)

- autocorrelazione: E[x*(n) x(i)] = Rxx(n,i)E[x*(n) x(i)] = Rxx(n-i) (se stazionaria)

- cross-correlazione: E[x*(n) y(i)] = Rxy(n,i)E[x*(n) y(i)] = Rxy(n-i) (se stazionarie)

Page 96: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 96

N.B.: l'autocovarianza e' l'autocorrelazione di x(n)-m(n)

Osservazione: la matrice di autocorrelazione Rxx(n,i) e'definita semipositiva, ovvero:

Σi Σn a*(n) a(i) Rxx(n,i) ≥ 0 per ogni a(n)

N.B.: Per quanto detto, la sequenza di autocorrelazione statisticaassume un massimo per n=i. In particolare risulta (se stazionaria)Rxx(0)≥Rxx(k) per ogni k.

• spettro di densita' di potenza

- (auto-)spettro di densita' di potenza (serie stazionarie):trasformata continua di Fourier della sequenza di autocorrelazioneRxx(k):

Sxx(ω) = Σk Rxx(k) e-jωk

- (cross-)spettro di densita' di potenza (serie stazionarie):trasformata continua di Fourier della sequenza di cross-correlazione Rxy(k):

Sxy(ω) = Σk Rxy(k) e-jωk

Osservazione: come ogni trasformata di Fourier di sequenze,lo spettro di densita' di potenza puo' essere visto come unatrasformata Z di Rxx(k) o Rxy(k) (talvolta denominate Pxx(z) o

Pxy(z)) valutate per z=ejω.

Page 97: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 97

• transito in sistemi LSI

x(n)h(n)

y(n)

Detta x(n) una serie aleatoria in ingresso, h(n) la sequenza(determinata) della risposta impulsiva di un sistema lineare edinvariante alla traslazione (LSI), y(n) la serie aleatoria in uscitaal sistema, risulta, per ogni realizzazione:

y(n) = x(n)⊗ h(n)

In particolare, valgono le seguenti relazioni notevoli:

my == mx Σn h(n) = mx H(0)

Ryy(k) = Rxx(k) ⊗ h*(-n) ⊗ h(n) = Rxx(k) ⊗ Chh(k)

Rxy(k) = Rxx(k) ⊗ h(n)

Syy(ω) = Sxx(ω) |H(ω)|2

Sxy(ω) = Sxx(ω) H(ω)

Page 98: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 98

• prestazioni di uno stimatore

Data una stimap di un parametro p estratto da una seriealeatoria, definiamo:

- errore di stima:

la variabile aleatoria:ε = p - p

Le grandezze statistiche dell'errore di stimaε da considerare, checaratterizzano un particolare stimatore, sono:

- polarizzazione:

ppEEpbias −== ε

- varianza:

( )[ ] [ ] 22 )p(EpEEEpvar −=−= εε

- errore quadratico medio:

[ ] 22 ppEEpMSE −== ε

In generale, vale la relazione:

[ ] [ ] [ ]pvarpbiaspMSE2 +=

Definizione: uno stimatore e' dettoconsistentese e solo se ilsuo errore quadratico medio tende a zero al tendere all'infinitodelle osservazioni (numero di campioni).

Page 99: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 99

Osservazione: la polarizzazione e' indicativa della bonta'media di un certo numero di stime (dice quanto la media dellestime si avvicina al valore vero); la varianza fornisce unaindicazione di quanto variano le singole stime, rispetto alla loromedia (dice quanto "ballano" le stime attorno alla media).

Esempio grafico:

polarizz. bassavarianza bassa

polarizz. altavarianza bassa

= valore vero

polarizz. bassavarianza alta

polarizz. altavarianza alta

= valore stimato

Page 100: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 100

• stima di momenti notevoli

Data la serie x(i) osservata per 1≤i≤N, si ha:

stimatore del valore atteso:

∑=

=N

1ix )i(x

N

1m

stimatore della autocorrelazione (non polarizzato):

∑−

=

≥−

=+−

=kN

1i

xxxx )0kper(

kN

)k(C)ki(x)i(x

kN

1)k(R

stimatore della autocorrelazione (polarizzato):

∑−

=

≥=+=kN

1i

xxxx )0kper(

N

)k(C)ki(x)i(x

N

1)k(R

ove Cxx(k) e' l'autocorrelazione della sequenza (finita) osservatax(i).

In pratica, lo stimatore polarizzato risulta aver un minor errorequadratico medio rispetto allo stimatore non polarizzato.

Infatti, la varianza dello stimatore non polarizzato e' assai piu'grande (al crescere di k) di quella dello stimatore polarizzato (siricorda: MSE = |bias|2 + var).

Page 101: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 101

ANALISI SPETTRALE

• periodogramma

Data una serie x(n), si estragga una sequenza v(n) di lunghezzafinita L mediante la finestra rettangolare w(n) (con 0≤n≤L-1):

v(n) = x(n) w(n)

Il periodogramma si puo' definire come:

∑−

+−=

−=1L

1Lm

mjvv e)m(C)(I ωω

ove Cvv(m) e' la sequenza della autocorrelazione (temporale) div(n):

∑−

=

−−=1L

0nvv )mn(w)mn(x)n(w)n(x)m(C

Si puo' dimostrare che perωk=2πk/N (con N≥L), i campioni del

periodogramma I(ωk) sono equivalentemente definibili come:

2

k )k(V)(I =ω

ove V(k) e' la DFT su N punti di v(n)=x(n)•w(n).

Se scegliamo N piu' grande di L, i campioni frequenzialirisulteranno come interpolati con la tecnica zero-padding.

Questa ultima relazione fornisce un mezzo di calcolo veloce dicampioni del periodogramma mediante algoritmi FFT.

Page 102: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 102

• proprieta' del periodogramma

Detto Pxx(ω) lo spettro di densita' di potenza vero e W(ω) latrasformata di Fourier della finestra w(n), si ha:

-) valore atteso:

[ ] )(Pd)(W)(P2

1)(IE xx

2

xx ωθθωθπ

ωπ

π≠−= ∫−

⇒ lo stimatore e' polarizzato (non lo e' soltanto asintoticamenteper L→+∞);

-) varianza:

[ ] 2

xx )(P)(Ivar ωω ≈

la varianza non va a zero⇒ lo stimatore non e' consistente (non loe' neppure asintoticamente per L→+∞);

Page 103: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 103

-) tecnica del periodogramma mediato

Per cercare di rendere consistente l'estimatore, almenoasintoticamente, si adotta la tecnica del periodogramma mediato:

1) si suddivide la serie osservata x(n) di lunghezza Q in Ksottosequenze, utilizzando finestre w(n) di lunghezza L (conL<<Q).

xr(n) = x(rR+n) w(n)

se R<L, i segmenti xr(n) sono sovrapposti, se R=L i segmenti sonocontigui.

2) Per ciascuna sottosequenza si calcola il periodogramma Ir(ω)dei K segmenti xr(n).

3) Si assume come stima spettrale la media di tutti i Kperiogrammi ottenuti:

∑=

=K

1rr )(I

K

1)(I ωω

La varianza del periodogramma mediato diminuisce (e' circa paria |Pxx(ω)|2/K) e tende a zero per K→+∞.

Tuttavia, la polarizzazione tenderebbe ad aumentare poiche' lafinestra utilizzata e' meno estesa. Allora bisogna che ancheL→+∞ (oltre a K→+∞) per rendere consistente lo stimatore.

Page 104: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 104

• serie MA

(Moving Average - Media Mobile)

FIR

x(n) y(n)

h(n)

R (k) = (k) serie MA δxx σ2x

∑=

−=M

0kk )kn(xb)n(y

∑=

−=M

0kk )kn(b)n(h δ ∑

=

−=0k

kk zb)z(H

)k(C)k(C)k(R)k(R hh2xhhxxyy σ=⊗=

∑−=

−∗∗ ==M

mk

khh

2x

2xy z)k(C)z/1(H)z(H)z(P σσ

[ ]∑−=

−+σ=ωσ=ωM

mk

khhhh

2x

22xy z)k(C)0(C)(H)(P

Page 105: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 105

• serie AR

(Auto-Regressive - Auto-Regressiva)

IIR

x(n) y(n)

h(n)

R (k) = (k) serie AR δxx σ2x

∑=

+−−=N

1kk )n(x)kn(ya)n(y

)z(Pz1

1

za1

1)z(H

1N

1k

kk

=

− +=

+=∑

∑=

+−=N

1k

1kk za)z(P:ove

Serie ARcausale: poli di H(z) dentro il cerchio unitario.

)h(C)k(C)k(R)k(R hh2xhhxxyy σ=⊗=

)z/1(Pz1

1

)z(Pz1

1)z/1(H)z(H)z(P

12x

2xy ∗∗−

∗∗

+−σ=σ=

2N

1k

kjk

2x

2j2xy

ea1

)e(H)(P

∑=

ω−

ω

+

σ=σ=ω

Page 106: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 106

• modello AR e stima spettrale ARw(n)

serie osservata(qualunque)

IIRx(n) y(n)

h(n)

R (k) = (k)

serie AR

δxx σ2x

R (k) = R (k)yyww

si impone:stessa autocorrelazione

modello AR causaledi w(n)

Si definiscestima spettrale AR(o spettro AR) Pw(ω) di una serieosservata (qualunque) w(n):

la trasformata di Fourier Py(ω) della autocorrelazione Ryy(k)dell'uscita y(n) del modello AR causale di w(n).

Infatti, per costruzione: Rww(k)=Ryy(k) e Pw(ω)=Py(ω).

• equazioni di Yule-Walker

Per un modello AR (causale) valgono le seguenti relazioni(equazioni di Yule-Walker):

∑=

+−−=N

1kyxyykyy )n(R)kn(Ra)n(R

=σ>

=0nper

0nper0)n(R:ove

2n

yx

[ ]

++−+−=+ ∑=

∗∗N

1kk )ni(x)kni(ya)i(yE)ni(y)i(yE:attiinf

Page 107: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 107

• predizione lineare

Problema: data una serie x(n) osservata per N campioni:

x(n-N+1), x(n-N+2), ••• , x(n-1), x(n)

determinare una predizione del campione seguente x(n+1),combinando linearmente gli N campioni disponibili.

z-1

-a 1

-a 2

z-1

•••

-a Nz-1

•••

P(z)

x(n)

e(n+1)

1 -1

predittore

H (z)filtro dell'erroredi predizione

x(n+1)

z-1

x(n+1)^

e

Page 108: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 108

filtro predittore lineare (di ordine N-1) P(z) di una serie e':

∑=

+−−=N

1k

1kk za)z(P

predizione lineare (di ordine N-1) di una serie x(n) e':

∑−

=+ −−=+

1N

0k1k )kn(xa)1n(x

errore di predizione lineare (di ordine N) e':

∑−

=+ −++=+−+=+

1N

0k1k )kn(xa)1n(x)1n(x)1n(x)1n(e

ovvero, equivalentemente:

∑=

−+=−=N

1kk )kn(xa)n(x)n(x)n(x)n(e

filtro (di ordine N) dell'errore di predizione e':

∑=

−+=N

1k

kke za1)z(H

Osservazione: il filtro FIR (di ordine N) dell'errore dipredizione e' l'inverso di un filtro IIR (di ordine N).

Page 109: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 109

• predizione lineare ottima

Determiniamo i coefficienti ai con il criterio del minimoerrore

quadratico medio(MSE), essendo MSE = E[|e(n)|2]

condizione di minimo (per 1≤i≤N):

[ ] [ ]=−=∂

∂=

∂∂= ∗

∗∗ )n(e)in(xEa

)n(eE

a

MSE0

i

2

i

∑=

∗∗ −−+−=N

1kk )kn(x)in(xEa)n(x)in(xE

per cui si ottengono le medesime equazioni di Yule-Walker:

)Ni1per(0)ki(Ra)i(RN

1kxxkxx ≤≤=−+∑

=

Sotto tale condizione di minimo l'MSE assume il valore:

[ ] [ ] )n(e)n(x)n(xE)n(eEmin22 ∗−==σ

∑=

∗ −+==N

1kxxkxx )k(Ra)0(R)n(e)n(xE

Osservazione: il filtro (di ordine N) dell'errore di predizionesu x(n) e' l'inverso del modello AR (di ordine N) di x(n). E'semprea fase minima, dato che il suo inverso e'causale.

Osservazione: i coefficienti del predittore lineare ottimo dellaserie x(n) di ordine N-1 sono IDENTICI a quelli del modelloAR di ordine N della stessa serie x(n).

Page 110: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 110

• soluzione delle equazioni di Yule-Walker erecursione di Levinson-Durbin

Le equazioni di Yule-Walkersono esprimibili in forma matriciale,assumendo di adoperare le prime N equazioni (+1 per lavarianza), per risolvere il sistema di N incognite (+1 per lavarianza):

−=

−−

+−+−−

(N)R

...

(2)R

(1)R

a

...

a

a

(0)R...2)(NR1)(NR

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

2)N(R...(0)R(1)R

1)N(R...1)(R(0)R

xx

xx

xx

N

2

1

xxxxxx

xxxxxx

xxxxxx

∑=

−+=σN

1ixxixx

2 )i(Ra)0(R

La soluzione e' banalmente ottenibile invertendo la matrice diautocorrelazione:

−−

+−+−−

=

(N)R

...

(2)R

(1)R

(0)R...2)(NR1)(NR

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

2)N(R...(0)R(1)R

1)N(R...1)(R(0)R

a

...

a

a

xx

xx

xx

1

xxxxxx

xxxxxx

xxxx

N

2

1 xx

∑=

−+=σN

1ixxixx

2 )i(Ra)0(R

Page 111: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 111

La soluzione puo' essere ottenuto in modo piu' efficiente in formaricorsiva (soluzione al passo N+1 in funzione della soluzione alpasso N).

Riscrivendo l'intero sistema di Yule-Walker (N+1 equazioni inN+1 incognite) come:

=

+−−−

0

...

0

σ

a

...

a

1

(0)R...1)(NR(N)R

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

1)N(R...(0)R(1)R

N)(R...1)(R(0)R 2N

NN

N1

xxxxxx

xxxxxx

xxxxxx

si puo' estendere aggiungendo un'equazione ed un'incognita:

=

+−−

−−−−−

0

2N

NN

N1

xxxxxxxx

xxxxxx

xxxxxx

xxxxxxxx

ψ

0

...

0

σ

0

a

...

a

1

(0)R(1)R...(N)R1)(NR

1)(R......1)(NR(N)R

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

N)(R......(0)R(1)R

1)N(RN)(R...1)(R(0)R

che, ribaltata e coniugata, diviene (essendo Rxx(k)=Rxx*(-k)):

Page 112: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 112

=

+−−

−−−−− ∗

2N

N

N1

NN

xxxxxxxx

xxxxxx

xxxxxx

xxxxxxxx

σ

0

...

0

ψ

1

a

...

a

0

(0)R(1)R...(N)R1)(NR

1)(R......1)(NR(N)R

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

N)(R......(0)R(1)R

1)N(RN)(R...1)(R(0)R

Effettuando poi la combinazione lineare:

=

+∗

0

0

...

0

σ

σ

0

...

0

ψ

σ

ψ

ψ

0

...

0

σ2

1N

2N

N

2N

N

N

2N

ove e' stato definito:

σψ

−σ=σ +

2

2N

N2N

21N 1

i parametri del modello di ordine N+1 risultano:

Page 113: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 113

=

++

+

+

1

a

...

a

0

σ

ψ

0

a

...

a

1

a

a

...

a

1

N,1

NN,

2N

N

NN,

N,1

1N1,N

N1,N

1,1N

2N

N1N,1Na:eparticolarin,ove

σψ−=++

Pertanto, riassumendo:

)niper(aaaa

)mn(Ra)n(Ra

in,1nnni,1nni

21n

1n

1mxxm,1nxx

nn

<+=σ

−+−=

−−−

=−∑

)a1(2

nn2

1n2n −σ=σ −

che va inizializzato (n=0) conσ02=Rxx(0).

N.B.: i termini ann (sempre≤1 in modulo) sono detticoefficienti diriflessioneo "parcor".

Page 114: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 114

• struttura a traliccio del modello AR

Data una serie x(n), l'errore di predizione di ordine N, costituitodall'uscita di un filtro di ordine N dell'errore di predizione(predittore di ordine N-1), risulta pari a:

∑=

−+=−=N

1kNkNN )kn(xa)n(x)n(x)n(x)n(e

Se applichiamo la recursione di Levinson, otteniamo:

)1n(ba)n(e)n(e 1NNN1NN −+= −−

avendo definito l'errore di retrodizionedi ordine N bN(n):

∑=

∗ −++−=N

1kNkN )Nkn(xa)Nn(x)n(b

analogamente:

)n(ea)1n(b)n(b 1NNN1NN −∗

− +−=

che corrisponde al seguente grafo "a traliccio":

z-1

x(n)

z-1

e (n)

b (n)

e (n)

b (n) 1

111

1

1

2

21

1

11a

22a

22a

11a* *

Page 115: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 115

EFFETTI DI QUANTIZZAZIONE

• quantizzazione di conversione

I segnali per essere elaborati da un DSP devono essereQUANTIZZATI, in modo da poter essere rappresentati da unnumero finito di bit.

Pertanto, i valori ammissibili sono soltanto un insieme FINITO divalori reali (o complessi).

x

Q[x]

max dinamica di x

= intervallo diquantizzazione

Ogni segnale a tempo discreto, rappresentato con un numero finitodi bit, porta con se' un errore dovuto al troncamento o, piu'frequentemente, all'arrotondamento dei valori analogici assunti.

Alla sequenza di errore (differenza tra il valore analogico ed ilvalore quantizzato) cosi' ottenuta si da' il nome dirumore diquantizzazione di conversione.

Ovviamente, la dinamica del segnale non deve mai eccedere ilmassimo (ed il minimo) valore rappresentabile. In tal caso si parladi errore di overflow, che altera irrimediabilmente il contenutoinformativo del segnale analogico.

Page 116: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 116

• quantizzazione dei parametri

Anche i parametri dei sistemi di elaborazione (es. filtri numerici)sono quantizzati per poter essere rappresentati da registri dilunghezza finita.

In pratica, cio' modifica la posizione di zeri e poli nelle strutturelineari, alterando la risposta in frequenza del filtro implementato.

Per i sistemi FIR questo non porta particolari conseguenze, inquanto eventuali simmetrie dei coefficienti dovrebberopermanere, anche se con valori leggermente differenti.

Al contrario, nei sistemi IIR possono verificarsi conseguenze"drammatiche" per la stabilita' dei filtri stessi. Infatti, particolareattenzione va riposta nella quantizzazione dei coefficienti di filtriIIR quando uno o piu' poli sono prossimi al cerchio unitario, perevitare che l'arrotondamento sul coefficiente quantizzato porti ipoli in posizione esterna al cerchio unitario, provocandol'instabilita' della struttura.

Infatti, la sensibilita' della posizione dei poli zi allo posizione deicoefficienti ak del denominatore A(z) di H(z) e':

∏≠=

−=

∂∂

N

ij,1jji

kNi

k

i

)zz(

z

a

z

∑ ∏= =

−− −=−=N

1k

N

1j

1j

kk )zz1(za1)z(A:ove

Pertanto, e' buona norma verificare l'effettiva posizione dei poliDOPO la quantizzazione dei coefficienti, specialmente nei filtririsonanti e nelle strutture di calcolo della DFT.

Page 117: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 117

• quantizzazione di arrotondamento del risultatodi operazioni

Nei dispositivi di elaborazione numerica, oltre ai segnali diingresso ed i parametri del sistema, vengono quantizzati anche irisultati delle relative operazioni implementate.

Pertanto, l'errore (o rumore) di quantizzazionedovutoall'arrotondamento del risultatodi operazioni matematichedipende dai valori istantaneamente assunti dai segnali in gioco.

Ma, poiche' e' assai difficile valutare deterministicamente l'entita'di tale errore, dipendente dai valori assunti dal segnale, se neeffettua un'analisi statistica modellando la sequenza di segnale el'errore di quantizzazione come realizzazioni di processi aleatori.

Solitamente, per semplificare l'analisi, si assume che ilrumore diquantizzazionesia realizzazione di un processo stazionario, adistribuzione uniforme, bianco ed incorrelato con il segnale.

La valutazione dell'entita' delrumore di quantizzazioneinrapporto alla potenza del segnale, unita ai requisiti di dinamica erisoluzione, e' determinante nella progettazione di sisteminumerici, specialmente in quelli in virgola fissa, spesso adoperaticome elaboratori veloci di segnali numerici.

Page 118: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 118

• quantizzazione in sistemi FIR e IIR conaritmetica in virgola fissa

Nei dispositivi in virgola fissa, la sorgente di errore diquantizzazione e' l'operazione dimoltiplicazione.

Invece, l'operazione diaddizionee' effettuata senza alcun errore,sempre che la dinamica del sistema sia stata adeguatamenteprogettata per garantire l'assenza di traboccamento (overflow),ovvero che il risultato rientri nell'intervallo dei numerirappresentabili con i bit disponibili (requisito didinamica).

Dato che i segnali sono quantizzati, e' possibile modellare l'effettodelle quantizzazioni con una sorgente aleatoria di rumore biancoper ogni prodotto, che supponiamo anche incorrelato con ilsegnale e con le altre sorgenti.

Per poterne valutare il contributo sull'uscita in termini di potenzadi rumore, e' necessario progettare i quantizzatori con dinamica erisoluzione opportune.

La dinamica deve consentire la rappresentazione, senzasaturazione, di qualunque valore assunto dai segnali cheattraversano il sistema in ogni punto del sistema stesso.

E' sufficiente imporre tale condizione all'ingresso ed all'uscita.

Allora, detti xMAX il massimo ingresso ed yMAX la massimauscita, deve essere scelto un valore massimo rappresentabile sMAXtale che:

MAXMAXMAXMAX ysedxs ≥≥

che garantisce l'assenza di traboccamento (overflow).

Page 119: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 119

Dopo aver imposto la dinamica di ingresso dobbiamo controllarequella di uscita.

Sovente, non conoscendo l'evoluzione a priori dell'uscita delsistema, ci si cautela con le scelte:

∑−

=

⋅≥≥1N

0nMAXMAXMAXMAX )n(hxsedxs

ove h(n) e' la risposta impulsiva del filtro.

Si osservi che quello adottato e' un criterio conservativo, poiche' ilfatto che l'ingresso sia entro la dinamica massima implica, inquesto caso, che anche l'uscita rimanga entro la dinamica.

Talvolta, i segnali in gioco non sono a priori limitati in ampiezza,come nel caso di distribuzioni di tipo gaussiano.

In tale caso, e' possibile scegliere per xMAX oppure yMAX unvalore finito tale che esso superi sMAX raramente, ovvero chel'area della densita' di probabilita' oltre quel valore siatrascurabile. Ad esempio, se si osserva che |x(n)|>4σx conprobabilita' <10-4, e' possibile scegliere xMAX =4σx=4.

Il criterio adottato garantisce la presenza di overflow su meno diun campione su diecimila.

In tal caso, il campione e' tosato (quantizzazione con saturazione)per limitarne l'errore di rappresentazione.

Page 120: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 120

Una volta scelta la dinamica, la risoluzione∆, cioe' la differenzafra livelli discreti contigui per quantizzazioni uniformi, dipendedal numero di bit (b+1). Essa e' infatti:

∆ = 2-b • sMAX

Sono percio' rappresentabili tutti i valori compresi nell'intervallo[-sMAX , sMAX ] con risoluzione∆.

L'errore di quantizzazione nel caso di arrotondamento e' limitatoentro l'intervallo [-∆/2 , ∆/2].

La varianza di tale errore, assunto con distribuzione uniforme, e'pari a:

12

s2

12

2MAX

b222e

⋅=∆=σ−

Per calcolare la potenza del rumore di quantizzazione in uscita, alfine di analizzare il comportamento del filtro in esame nei riguardidel rumore, e' utile determinare lefunzioni di trasferimentorumore-uscitadi ogni singola sorgente di rumore (posta subitodopo ogni moltiplicazione) per combinarne i risultati mediante lasovrapposizione degli effetti.

Page 121: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 121

Al riguardo, e' opportuno notare che un sistema di tipoFIRdefinito dall'equazione alle differenze:

∑=

−=N

0kk )kn(xb)n(y

presenta un legame diretto ingresso-uscita, per cui i rumori sisommano semplicemente.

Pertanto dettoσi2 la varianza di ogni generatore di rumore, la

varianza di rumore in uscitaσu2 risulta:

∑=

σ+=σ=σN

0k

2i

2i

2u )1N(

Al contrario, l'effetto in uscita di generatori di rumore in blocchiIIR va pesato con le rispettivefunzioni di trasferimento rumore-uscita.

In particolare, selo schema di flusso prevede che tuttii generatoridi rumore agiscano direttamente sull'ingresso, come nel caso:

)n(x)kn(ya)n(yN

1kk +−=∑

=

la funzione di trasferimento rumore-segnalecoincide per tutti igeneratori con quella del filtro in esame (cioe'h(n)).

Per cui, la varianza di rumore in uscitaσu2 corrisponde a quella in

ingressoσi2 in base alla relazione:

∑ ∑ ∑=

+∞

=

+∞

=

σ=σ=σN

1k 0n 0n

22i

2i

22u )n(hN)n(h

Page 122: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 122

E' questo il caso, ad esempio, di un sistemaIIR del primo ordinedel tipo:

y(n) = a y(n-1) + x(n)

per il quale la varianza di uscitaσu2 risulta in funzione di quella di

ingressoσi2 in base alla semplice espressione:

∑+∞

= −σ=σ=σ

0n2

2i22

i2u

a1)n(h

• effetti di quantizzazione su DFT e FFT

L'effetto della quantizzazione nelle strutture di calcolo della DFTed IDFT definite da:

∑−

=

=1N

0n

nkNW)n(x)k(X

∑−

=

−=1N

0k

nkNW)k(X

N

1)n(x

ove e' stato posto:

N

2j

N eWπ

−=

e' analogo a quello dei filtri FIR ad N coefficienti.

Page 123: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 123

Valutiamo la potenza del rumore di quantizzazione (in relazione aquella del segnale utile) in uscita ad un dispositivo di calcolo cheutilizza b+1 bits (b mantissa + 1 segno).

Assumiamo, per comodita', SMAX =1, in quanto un diverso valoredi SMAX non altera i rapporti segnale/rumore.

Come nei filtri FIR, gli N generatori (complessi) di rumoresommano i propri effetti DIRETTAMENTE sull'uscita. Ad ognigeneratore complesso corrispondono 4 generatori reali, poiche'sono 4 le moltiplicazioni reali corrispondenti ad unamoltiplicazione complessa.

Assumendo ogni variabile di rumore bianca ed uniformementedistribuita in [-2-b-1,2-b-1], la potenza di rumore totale in uscitarisulta:

[ ]3

2N

12

2N4)k(eE

b2b22

u

−−

==

mentre, dovendo porsi per il requisito di dinamica (YMAX =1),

N2

1XagImXalRe MAXMAX ==

ed assumendo una distribuzione uniforme dei dati x(n)nell'intervallo anzi detto, la potenza di segnale in uscita risulta:

[ ]N3

1

N3

1N)k(NE

2

2 ==

per cui il rapparto rumore/segnale (NSR) risulta:

b22 2NNSR −=

Page 124: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 124

Il rapporto rumore/segnale non cambia se si adopera un algoritmoFFT del tipo illustrato in figura per N=8:

x(0)

x(4)

x(2)

x(6)

x(1)

x(5)

x(3)

x(7)

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

NW0

NW2

NW0

NW0

NW2

NW0

NW0

NW0

NW1

NW2

NW0

NW3

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

Tuttavia, e' possibile modificare l'algoritmo FFT per ridurrel'effetto dell'errore di quantizzazione.

Ricordando la struttura della farfalla di base:

x (p)

x (q)

N

m+1

m+1

Wr

x (q)m

x (p)m

-1

si nota come l'uscita non possa risultare amplificata per piu' di unfattore 2 rispetto all'ingresso.

Page 125: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 125

Se quindi si introducono divisioni per un fattore 2 in ogni farfalla,l'uscita di ogni butterfly sara' sempre minore o ugualedell'ingresso:

x (p)

x (q)

N

m+1

m+1

W /2r

x (q)m

x (p)m

-1

1/2

L'intera struttura della FFT risulta cosi' modificata:

x(0)

x(4)

x(2)

x(6)

x(1)

x(5)

x(3)

x(7)

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

NW /20

NW /22

NW /20

NW /20

NW /22

NW /20

NW /20

NW /20

NW /21

NW /22

NW /20

NW /23

1/2

1/2

1/2

1/2

1/2

1/2

1/2

1/2

1/2

1/2

1/2

1/2

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

Page 126: del corso di Elaborazione Numerica dei SegnaliG. Giunta: corso di Elaborazione Numerica dei Segnali - lucidon.1 Corso di laurea in Corso di laurea in del corso di Elaborazione Numerica

G. Giunta: corso diElaborazione Numerica dei Segnali- lucido n. 126

L'effetto della divisione per 2 in ognuno deiν stadi e' equivalentead una divisione per N (ν = log2 N) all'ingresso della struttura ed

altera percio' le singole funzioni di trasferimento generatore-uscitadegli errori di quantizzazione.

In particolare, mentre la potenza di segnale in uscita non cambia(e' in sostanza determinata da YMAX =1), la potenza di rumorediviene pari a:

[ ] b2b21

0m

2m22mb2

2

u 23

4

5.01

5.01

3

22)5.0(2

3

2)k(eE −

ν−−ν

=

−−ν−ν−

≈−

−== ∑

Per cui il rapporto rumore/segnale diviene:

b22N4NSR −≈

Si noti come, mentre nello schema tradizionale l'NSR eraproporzionale a N2 (un bit in piu' per ogni raddoppio del numerodi dati N per ottenere lo stesso valore di NSR), grazie allo schemadella divisione per due in ogni stadio l'NSR cresceproporzionalmente ad N (mezzo bit in piu' per compensare unraddoppio di N a parita' di prestazioni).

In pratica, se il massimo dell'ingresso e' unitario (XMAX =1) e sivuole limitare l'uscita sotto l'unita' (YMAX =1), nel casotradizionale occorre attenuare il segnale di un fattore 1/N, mentrecon lo schema migliorativo e' sufficiente attenuare di 1/2 ognistadio.

Pertanto, il primo schema comporta una perdita secca edimmediata di informazione (ν bits), mentre il secondo schema e'in grado di trasportare piu' informazione, perdendoimmediatamente un solo bit e, soltanto successivamente, unulteriore bit per ogni stadio.