elaborazione numerica dei segnali - libero...

25
Appunti di Appunti di Elaborazione numerica dei segnali Elaborazione numerica dei segnali Capitolo 4 Capitolo 4 - - Progetto di filtri FIR (I) (I) Introduzione ............................................................................................... 1 Caratteristiche dei filtri selettivi reali ......................................................... 3 Metodo delle finestre .................................................................................. 4 Dettagli analitici ................................................................................. 10 Uso di particolari finestre ................................................................... 12 Conclusioni sul metodo delle finestre.................................................. 22 Esempio concreto ................................................................................ 22 I NTRODUZIONE Il primo aspetto di cui ci occupiamo, per quanto riguarda la progettazione di filtri numerici, è il modo con cui vanno specificate le caratteristiche del filtro da implementare. In primo luogo, dato che stiamo considerando filtri numerici, dobbiamo tener presente 2 caratteristiche fondamentali: la funzione di risposta all’impulso, che caratterizza il filtro nel dominio del tempo, è una sequenza (finita o infinita) di campioni: la indichiamo, come al solito, con h(n), sottintendendo che il periodo di campionamento, cioè la distanza tra un campione ed il successivo, è T=1/f C (f C è la frequenza di campionamento); la funzione di trasferimento, che caratterizza il filtro nel dominio della frequenza e che indichiamo con H(f), è la trasformata di Fourier di h(n): essendo quest’ultima una sequenza di campioni, H(f) sarà una funzione periodica, con periodo f C ; questo significa che essa si ripete identicamente ogni intervallo di ampiezza f C , per cui è sufficiente conoscere il suo andamento (in termini di modulo e fase), solo all’interno di un periodo; il periodo che si sceglie è il cosiddetto periodo fondamentale (o periodo non ambiguo), che va da -f C /2 a +f C /2. Premesso questo, supponiamo di avere un segnale x(n) campionato a frequenza f C , il cui spettro, quindi, ancora una volta, è periodico di periodo f C : X(f) f C -f C f (Hz) B -B 2f C -2f C

Upload: trandan

Post on 24-Jan-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti diAppunti diElaborazione numerica dei segnaliElaborazione numerica dei segnaliCapitolo 4 Capitolo 4 - - Progetto di filtri FIR (I)(I)

Introduzione ............................................................................................... 1Caratteristiche dei filtri selettivi reali ......................................................... 3Metodo delle finestre .................................................................................. 4

Dettagli analitici................................................................................. 10Uso di particolari finestre................................................................... 12Conclusioni sul metodo delle finestre.................................................. 22Esempio concreto................................................................................ 22

INTRODUZIONE

Il primo aspetto di cui ci occupiamo, per quanto riguarda la progettazione di filtri numerici, èil modo con cui vanno specificate le caratteristiche del filtro da implementare.

In primo luogo, dato che stiamo considerando filtri numerici, dobbiamo tener presente 2caratteristiche fondamentali:

• la funzione di risposta all’impulso, che caratterizza il filtro nel dominio del tempo, è unasequenza (finita o infinita) di campioni: la indichiamo, come al solito, con h(n), sottintendendoche il periodo di campionamento, cioè la distanza tra un campione ed il successivo, è T=1/fC

(fC è la frequenza di campionamento);

• la funzione di trasferimento, che caratterizza il filtro nel dominio della frequenza e cheindichiamo con H(f), è la trasformata di Fourier di h(n): essendo quest’ultima una sequenza dicampioni, H(f) sarà una funzione periodica, con periodo fC; questo significa che essa si ripeteidenticamente ogni intervallo di ampiezza fC, per cui è sufficiente conoscere il suo andamento(in termini di modulo e fase), solo all’interno di un periodo; il periodo che si sceglie è ilcosiddetto periodo fondamentale (o periodo non ambiguo), che va da -fC/2 a +fC/2.

Premesso questo, supponiamo di avere un segnale x(n) campionato a frequenza fC, il cui spettro,quindi, ancora una volta, è periodico di periodo fC:

X(f)

fC-fC f (Hz)B-B 2fC-2fC

Page 2: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli2

Supponiamo di aver rispettato il teorema del campionamento, per cui non abbiamo problemi dialiasing. Supponiamo che lo spettro X(f) sia inoltre una funzione pari (come in figura), per cui cibasta far riferimento solo alle frequenze positive1.

Supponiamo allora di voler isolare, con riferimento al periodo fondamentale ed estendendo poi ildiscorso a ciascun periodo, tutte e sole le componenti del segnale fino alla frequenza fC/8, adesempio perché prevediamo di effettuare un sottocampionamento del segnale di un fattore 4.Dobbiamo usare un filtro numerico, il quale dovrebbe idealmente lasciar passare immutate lecomponenti spettrali fino ad fC/8 ed azzerare tutte le altre2. Questo filtro esiste solo a livello teorico:si tratterebbe del filtro passa-basso ideale, con funzione di trasferimento rettangolare ecorrispondente funzione di risposta all’impulso del tipo sin(t)/t, di durata infinita:

f (Hz)-fC/8 fC/8

Funzione di trasferimento del filtro di ricostruzione ideale, con frequenza di taglio fC/8, la cuicorrispondente funzione di risposta all’impulso è nella classica forma sin(t)/t, con gli zeri in 4/fC e

multipli

Nella realtà, ci accontentiamo di attenuare i termini spettrali oltre fC/8 al di sotto di una sogliaminima, oltre la quale il segnale sostanzialmente si confonde col rumore (sempre presente).

Queste considerazioni suggeriscono quindi di definire le caratteristiche di un filtro mediante unacosiddetta maschera, del tipo illustrato nella prossima figura, nella quale vengono evidenziate lezone proibite per la funzione di trasferimento H(f) che si vuole ottenere:

f (Hz)bandapassante

banda ditransizione

bandaarrestata

Classica maschera per un filtro passa-basso.

1 Ricordiamo due note proprietà della trasformata di Fourier: se il segnale x(n) è reale, la sua trasformata X(f) gode della proprietà

di simmetria hilbertiana, il che significa che la parte reale di X(f) è una funzione pari, mentre la parte immaginaria è unafunzione dispari; se il segnale x(n), oltre ad essere reale, è anche pari, allora la parte immaginaria di X(f) è nulla, il che significache X(f) è una funzione reale e pari.

2 Ribadiamo che in questo e nei prossimi discorsi si fa sempre riferimento a quello che si intende fare nel periodo fondamentale,perché poi le stesse procedure si applicano identicamente agli altri periodi.

Page 3: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli3

Le zone più scure sono quelle “proibite”, nelle quali non deve essere presente la funzione ditrasferimento del filtro desiderato. L’intervallo di frequenza che corrisponde alla banda ditransizione consente un raccordo (che non potrà mai essere brusco, ma solo graduale) tra la bandapassante e la banda arrestata.

E’ chiaro che la banda di transizione deve essere posta a cavallo dellafrequenza di taglio desiderata, che nel caso considerato prima era fC/8.

Una volta fissata la maschera da rispettare, è accettabile qualsiasi procedura che consenta ilprogetto di un filtro soddisfacente i requisiti imposti. I metodi di cui si occuperemo noi sono due eprecisamente il metodo delle finestre ed il metodo del campionamento in frequenza.

CARATTERISTICHE DEI FILTRI SELETTIVI REALI

Come ben sappiamo, i filtri ideali sono filtri non causali e quindi,come tali, sono fisicamente irrealizzabili per applicazioni dielaborazione in tempo reale. Si può viceversa verificare che i filtri causali, la cuirisposta all’impulso h(n) sia rigorosamente nulla prima dell’istante n=0, hanno una funzione ditrasferimento H(ω) che non può valere zero tranne che in un insieme finito di frequenze nella bandadi interesse. In aggiunta a questo, la funzione di trasferimento H(ω) di un filtro reale non può avereuna transizione netta da un valore non nullo (ad esempio unitario) al valore nullo, ossia unatransizione perfettamente verticale dalla banda passante alla banda arrestata.

D’altra parte, nonostante le caratteristiche della H(ω) di un filtro ideale siano comunquedesiderabili, in realtà esse non sono assolutamente necessarie nella maggior parte delle applicazioni.Di conseguenza, se “alleggeriamo” queste condizioni, possiamo realizzare filtri causali cheapprossimano i filtri ideali quanto più ci fa comodo.

In particolare, non è necessario insistere sul fatto che il modulo di H(ω) sia costante nell’interabanda passante del filtro; al contrario, un minimo ripple in banda passante, come illustrato nellaprossima figura, è generalmente tollerabile:

Caratteristiche del modulo della funzione di trasferimento H(ω) di un filtro fisicamente realizzabile. Sinotano immediatamente le oscillazioni in banda passante, dove la funzione varia (quasi sinusoidalmente)in un intervallo di ampiezza 2δ1, e le oscillazioni in banda arrestata, dove la funzione varia (quasi come il

modulo di un Seno) in un intervallo di ampiezza δ2>δ1

Page 4: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli4

Così come è tollerabile un ripple in banda passante, è anche tollerabile un ripple in bandaarrestata, nella quale perciò si può generalmente rinunciare ad avere un modulo di H(ω)identicamente nullo o comunque costante e molto piccolo.

La banda di transizione è quell’intervallo di frequenza, compreso tra le pulsazioni ωωP ed ωωS (detteband-edge frequency, cioè frequenze delimitatrici di banda), in cui avviene appunto la transizionedalla banda passante a quella arrestata.

Se c’è un ripple in banda passante, il suo valore è generalmente indicato con δ1 e il modulo diH(ω) varia tra i due limiti 1±δ1. Analogamente, il ripple in banda arrestata è indicato usualmente conδ2.

In ogni problema di progettazione di un filtro, dobbiamo specificare le seguenti caratteristiche delfiltro stesso, che definiscono la cosiddetta maschera:

• il massimo ripple tollerabile in banda passante;

• il massimo ripple tollerabile in banda arrestata;

• le frequenze delimitatrici ωP ed ωS della banda di transizione.

Sulla base di queste specifiche, dobbiamo determinare i parametri del filtro che meglioapprossimano le caratteristiche richieste.Il grado con cui H(ω) approssima le caratteristiche richieste

dipende sia dal criterio usato per la determinazione deicoefficienti del filtro sia dal numero di coefficienti.

METODO DELLE FINESTRE

Il metodo delle finestre ha come punto di partenza quello di scegliere una funzione prototipocome funzione di trasferimento del filtro. Possiamo allora scegliere, come funzione prototipo, quelladel filtro passa-basso ideale, vale a dire un rettangolo:

f (Hz)

Funzione di trasferimento del filtro passa-basso ideale, la cui corrispondente funzione di rispostaall’impulso è nella classica forma sin(t)/t.

Sappiamo che la corrispondente funzione di risposta all’impulso è un sin(t)/t, ovviamentecampionato a passo T=1/fC:

Page 5: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli5

t

Funzione di risposta all’impulso del filtro passa-basso ideale: è un sin(t)/t, campionato, di duratainfinita

Il nostro problema è che non possiamo considerare infiniti campioni (filtro IIR), ma dobbiamonecessariamente troncare (per ottenere un filtro FIR), ossia troncare il sin(t)/t. Questo troncamentocorrisponde semplicemente a moltiplicare il sin(t)/t con una finestra rettangolare di duratapreassegnata: se vogliamo N campioni, dovremo considerare una finestra di durata NT:

t

Finestratura (nel tempo) di un segnale del tipo sin(t)/t tramite un rettangolo di durata NT: dato che icampioni del sin(t)/t sono a distanza T, la finestratura produce solo N campioni della risposta all’impulso

L’operazione di finestratura nel tempo della risposta all’impulso corrisponde notoriamente allaconvoluzione, in frequenza, tra il rettangolo passa-basso ideale e la trasformata del rettangolo difinestratura, che è a sua volta un sin(f)/f. Come è noto, questa convoluzione produce uno spettro checorrisponde al rettangolo ideale di partenza, cui si aggiungono però delle oscillazioni sia in bandapassante, sia in banda di transizione sia in banda arrestata:

Funzione di trasferimento (con riferimento solo al periodo non ambiguo) del filtro ottenuto finestrandola risposta all’impulso del filtro passa-basso ideale tramite una finestra rettangolare

Page 6: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli6

E’ ovvio che il risultato della convoluzione è simmetrico rispetto all’origine delle frequenze.Il campionamento produce la nota periodicizzazione di quello spettro, per cui la funzione di

trasferimento che di fatto stiamo implementando ha la seguente struttura:

Le oscillazioni che si producono a seguito del troncamento prendono il nome di oscillazioni diGibbs.

Facciamo un po' di conti per inquadrare la situazione a livello analitico.L’operazione di considerare solo un numero finito di campioni di h(n) può essere interpretata in due

modi, perfettamente equivalenti:

• data h(t), la finestriamo, cioè ne consideriamo l’andamento entro un dato intervallo di tempo di duratafinita, e poi la campioniamo;

• il secondo modo è invece quello di campionare prima h(t) e poi di selezionare un numero finito dicampioni.

Mentre a livello teorico è del tutto equivalente scegliere l’una o l’altra strada, a livello analitico èsicuramente conveniente immaginare di finestrare prima e poi campionare. Vediamo allora che succede neldominio della frequenza.

Come detto, l’operazione di finestratura della risposta all’impulso h(t) consiste nella moltiplicazione dih(t) per un rettangolo di durata finita NT (ed altezza unitaria). Il segnale finestrato ha dunque espressione

⋅=⋅=

NT

trect)t(s)t(g)t(h)t(h f

dove ricordiamo che il rettangolo di finestratura è centrato in t=0, per cui si estende da -NT/2 a +NT/2.Per calcolare lo spettro di hf(t), dobbiamo dunque convolvere i due spettri. Lo spettro di h(t) è noto ed è

un semplice rettangolo esteso da -fC/2 a fC/2; lo spettro del rettangolo g(t), applicando la definizione, vale

[ ]

[ ]fNT

)fNT(sinNT)fNT(sin

f

1ee

f2j

1

eef2j

1e

f2j

1dtedte)t(g)f(G

fNTjfNTj

2

NTf2j

2

NTf2j2/NT

2/NTft2j

2/NT

2/NT

ft2jft2j

ππ

=ππ

=−π

=

=

π−=

π−===

π−π

ππ−+−

π−π−+∞

∞−

π− ∫∫

per cui lo spettro di h(t) finestrata è

fNT

)fNT(sinNT*)f(H)f(G*)f(H)f(H f π

π==

Page 7: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli7

Adesso dobbiamo campionare hf(t), il che significa, nel dominio della frequenza, prendere lo spettro Hf(f)appena calcolato e periodicizzarlo a passo fC=1/T:

∑+∞

−∞= −=

ππ

=n nfff

Cf

CfNT

)fNT(sinNT*)f(H)f(H

La convoluzione tra H(f) ed il fNT

)fNT(sin

ππ

dà origine ad uno spettro che somiglia ad H(f) periodicizzato,

ma con in più delle oscillazioni sia in banda sia fuori banda, dovute alla infinita estensione del sin(f)/f: talespettro è, teoricamente, a banda infinita, per cui l’esito del successivo campionamento non può fare a menodi presentare una sovrapposizione di repliche.

Per comprendere ancora meglio la situazione, possiamo provare a sviluppare l’espressione di quellaconvoluzione:

( )( )

( )∫∫

+

+∞

∞− −−π

π=

−π−π

⋅=π

π T2/1

T2/1

dssf

)NTsf(sin1ds

NTsf

)NTsf(sinNT)s(H

fNT

)fNT(sinNT*)f(H

Questa espressione mostra sostanzialmente che stiamo sommando infinite repliche di un sinf/f.

Il nostro problema è quello di progettare un filtro essendo assegnata la maschera. Questo significa,in altri termini, trovare un filtro FIR (per ipotesi), eventualmente a fase lineare, di complessitàminima, che soddisfi la maschera. Trovare il filtro di “complessità minima”significa sostanzialmente trovare il filtro con risposta all’impulsoh(n) che sia più corta possibile3. Di conseguenza, il problema diventa quello distabilire quanti campioni del sin(t)/t dobbiamo considerare per avere un filtro che soddisfi lamaschera, ossia anche quanto deve essere lunga la finestra rettangolare.

All’aumentare del numero N di campioni, aumenta la durata N della finestra rettangolare e quindicambia anche la posizione degli zeri del corrispondente sin(f)/f: infatti, lo spettro della finestrarettangolare è

fNT

)fNT(sinNT)f(G

ππ

=

per cui gli zeri sono nei punti ±k/NT, con k intero positivo. All’aumentare di N, gli zeri siavvicinano tra loro, il che significa che i lobi del sin(f)/f si stringono e si alzano, come evidenziatonella figura seguente:

3 In realtà, la complessità di un filtro non dipende solo dalla lunghezza N della sua risposta all’impulso, ma anche dal numero di bit

necessari a codificare i singoli coefficienti di tale risposta all’impulso. Di conseguenza, il filtro a complessità minima èrigorosamente quello in cui è minimizzato il valore della coppia composta dal numero N di campioni di h(n) e dal numero di bitnecessario a memorizzare tali campioni. Nei prossimi discorsi ci interessiamo invece principalmente al valore di N

Page 8: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli8

Spettro della finestra rettangolare calcolato per 3 diversi valori di N e, precisamente, per N=2,3,5 (eT=1 sec per semplicità): all’aumentare di N gli zeri si avvicinano, per cui i lobi si stringono e si alzano

Possiamo allora trarre subito una conclusione sull’ampiezza della banda di transizione. Abbiamoinfatti ricordato prima che la finestratura nel tempo corrisponde, in frequenza, alla convoluzione trala funzione di trasferimento rettangolare ed il sin(f)/f:

( )( )

( )∫∫

+

+∞

∞− −−π

π=

−π−π

⋅=π

π T2/1

T2/1

dssf

)NTsf(sin1ds

NTsf

)NTsf(sinNT)s(H

fNT

)fNT(sinNT*)f(H

Questa funzione va poi periodicizzata dato il campionamento.La banda di transizione ha inizio quando, nell’effettuare la convoluzione, lo spigolo destro del

rettangolo coincide con il primo zero positivo (1/NT) del sin(f)/f:

t

Inizio della banda di transizione: si ottiene quando, nel calcolo della convoluzione, si calcola ilprodotto tra il rettangolo, che rimane fermo, ed il sin(f)/f posizionato con il primo zero positivo in

corrispondenza dello spigolo sinistro del rettangolo

Analogamente, la banda di transizione ha termine quando lo stesso spigolo va a coincidere con ilprimo zero negativo (-1/NT):

Page 9: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli9

t

Fine della banda di transizione: si ottiene quando, nel calcolo della convoluzione, si calcola ilprodotto tra il rettangolo ed il sin(f)/f che si è posizionato con il primo zero negativo in corrispondenza

dello spigolo sinistro del rettangolo

La distanza tra gli zeri in -1/NT e +1/NT è pari evidentemente a 2/NT ed è quindi tanto minorequanto maggiore è N. Deduciamo che, una volta identificata l’ampiezza dellaband di transizione (imponendo che soddisfi le specifiche dellamaschera), risulta automaticamente fissato, con una certaapprossimazione, il numero N di campioni da considerare.

Questo, però, non è sufficiente, dato che non sempre le altre specifiche (relative alla bandapassante ed a quella arrestata) sono soddisfatte una volta soddisfatte quelle relative alla banda ditransizione. Infatti, come abbiamo visto in precedenza, le oscillazioni nella banda passanteaumentano quanto più ci si avvicina alla banda di transizione e può anche capitare che esseoltrepassino i limiti imposti dalla maschera, come ad esempio visualizzato nella figura seguente:

Quando le oscillazioni rischiano di oltrepassare i limiti della maschera? La risposta è semplice:abbiamo infatti osservato prima che, aumentando il numero N di campioni, i lobi del sin(f)/f sistringono (cioè decadono più rapidamente) e si alzano; di conseguenza, le oscillazioni nella bandapassante si attenuano, pur aumentando in numero, dato che sono dovute a code che diventano via viapiù piccole all’aumentare di N; il problema è che, in prossimità della banda di transizione, leoscillazioni più ampie si sono spostate nella banda di transizione stessa. Si ha cioè la situazioneillustrata nella figura seguente:

Page 10: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli10

Riepilogando quanto detto fino ad ora, nel progetto di un filtro numerico passa-basso tramite ilmetodo delle finestre, bisogna partire da una funzione di trasferimento prototipo (che noi abbiamoindividuato nel rettangolo), e poi decidere il numero di campioni da considerare nella corrispondenterisposta all’impulso.

Dettagli analitici

Come detto, il metodo delle finestre consiste nell’individuare una funzione di trasferimentoprototipo Hd(f) e nell’individuare la funzione di risposta all’impulso h(n), di lunghezza finita (filtroFIR) che, tramite il proprio spettro H(f), meglio approssima Hd(f). Vediamo qualche dettaglioanalitico.

In primo luogo, se Hd(f) è la trasformata di Fourier di una ideale hd(n), il legame tra le due èrappresentato dalle note formule di trasformazione-antitrasformazione (DTFT):

∑π

π−

ω

=

ω−

ωωπ

=

de)(H2

1)n(h

e)n(h)(H

njdd

0n

njdd

dove ovviamente ω=2πf è la pulsazione e dove si è considerata una funzione di risposta all’impulsohd(n) di lunghezza teoricamente infinita ma causale (condizione necessaria per la fisicarealizzabilità).

La formula di antitrasformazione consente evidentemente di determinare hd(n) fissata che sia ladesiderata Hd(ω).

I problemi, invece, nascono dal fatto che noi vogliamo una hd(n) di lunghezza finita. Sia N talelunghezza, ossia il numero di campioni di cui vogliamo che sia composta la funzione di rispostaall’impulso h(n) del filtro che intendiamo realmente implementare.

Possiamo interpretare questa lunghezza finita tramite il troncamento di hd(n) ad opera di unafinestra rettangolare g(n) così definita:

=

=altrimenti 0

1-N0,1,....,n 1)n(g

Da qui segue evidentemente che la risposta all’impulso del filtro che stiamo implementando è

=

=⋅=altrimenti 0

1-N0,1,....,n )n(h)n(h)n(g)n(h d

d

Page 11: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli11

A questo punto, il problema consiste tutto nel fissare il valore di N in modo che la funzione ditrasferimento H(ω) corrispondente ad h(n) approssimi quanto meglio possibile la desiderata Hd(ω) erispetti inoltre la maschera.

Andiamo allora a calcolare proprio H(ω):

∑∑∑−

=

ω−∞

=

ω−∞

=

ω− ===ω1N

0n

njd

0n

njd

0n

nj e)n(he)n(h)n(ge)n(h)(H

E’ più comodo procedere direttamente nel dominio della frequenza: infatti, essendo h(n) ilprodotto tra g(n) e hd(n), la corrispondente H(ω) sarà la convoluzione tra lo spettro G(ω) dellafinestra e lo spettro desiderato Hd(ω):

∫π

π−

νν−ωνπ

=ωω=ω d)(G)(H2

1)(H*)(G)(H dd

La funzione Hd(ω) è nota. Andiamo invece a calcolare lo spettro della finestra rettangolarecampionata, che corrispondente notoriamente alla periodicizzazione di un sin(f)/f:

ω

ω

=−−

===ω−

ω−

ω−

ω−−

=

ω−∞+

−∞=

ω− ∑∑2

sin

2

Nsin

ee1

e1ee)n(g)(G 2

1Nj

j

Nj1N

0n

nj

n

nj

Abbiamo ottenuto una funzione di trasferimento complessa, caratterizzata perciò da un modulo eduna fase (quest’ultima nasce dal fatto che si è scelto un filtro causale, la cui risposta all’impulsoparte quindi dall’istante n=0 e non risulta perciò pari). Il modulo è

π+≤ω≤π

ω

ω

=

ω

ω

=ω -

2sin

2

Nsin

2sin

2

Nsin

)(G

mentre invece la fase è lineare a pezzi:

<

ω

π+−

ω−

ω−

ω−=ω

02

Nsin quando

2

1N

02

Nsin quando

2

1N

)(G

Ci interessa in particolare il modulo. La figura seguente mostra il suo andamento per due distintivalori di N, precisamente 31 e 61:

Page 12: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli12

Modulo (in dB) dello spettro della finestra rettangolare campionata, diagrammato sia per N=M=31campioni sia per N=M=61 campioni. Sull’asse delle frequenze è riportata la frequenza normalizzata,ossia il rapporto tra la frequenza effettiva e la frequenza di campionamento fC. L’intervallo diagrammato

è quello del periodo fondamentale, con riferimento alle sole frequenze positive.

Dovremmo adesso sostituire l’espressione di G(ω) in quella di H(ω)......

Uso di particolari finestre

Per quanto visto fino ad ora, l’unico grado di libertà a nostra disposizione, nel progetto tramite ilmetodo delle finestre, è il numero N di campioni da prendere per la funzione di risposta all’impulsodel filtro. In realtà, abbiamo un altro grado di libertà, rappresentato dalla scelta della finestra dautilizzare per troncare la funzione di risposta all’impulso teorica, cioè il sin(t)/t:

t

Funzione di risposta all’impulso del filtro passa-basso ideale: è un sin(t)/t, campionato, di duratainfinita

Nei precedenti discorsi abbiamo considerato una finestra rettangolare. Possiamo però pensare diutilizzare altri tipi di finestre. Ad esempio, possiamo pensare di utilizzare una finestra triangolare(finestra di Bartlett), sempre di durata NT:

Page 13: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli13

t

Finestratura della risposta all’impulso del filtro passa-basso ideale tramite una finestra triangolare didurata NT, la quale si ottiene notoriamente convolvendo due rettangoli uguali, di durata NT/2

L’espressione analitica di una simile finestra, di durata NT ed altezza unitaria, è la seguente:

1N2

1Nn2

1)n(gTR −

−−

−=

Se ragioniamo direttamente nel dominio delle frequenze, la finestratura corrisponde allaconvoluzione tra il rettangolo passa-basso ideale (sempre periodicizzato a causa del campionamento)ed uno spettro del tipo sin2(f)/f2, che è fatto nel modo seguente:

Spettro di una finestra triangolare: essendo la finestra data dalla convoluzione tra due rettangoliuguali, in frequenza si ha il prodotto di due sin(f)/f uguali, da cui quindi l’andamento caratteristico del

sin2(f)/f2 qui riportato

Ciò che si nota immediatamente è il decadimento più rapido dei lobi secondari rispetto al classicosin(f)/f: il motivo è chiaramente nel fatto che tale decadimento avviene con f2 anziché con f.Il decadimento più rapido rispetto al sin(f)/f comporta minori

problemi legati alle oscillazioni, il che rappresenta un sicuro vantaggio.A fronte di questo, però, è ovvio che la finestra triangolare, al contrario di quello rettangolare, non

pesa ugualmente tutti i campioni della risposta all’impulso, ma conferisce peso via via minore aicampioni via via più distanti dal vertice del triangolo (dove invece il peso è massimo): infatti, il pesodi ogni campione è dato dal prodotto tra il valore effettivo del sin(t)/t nell’istante considerato ed ilvalore della finestra triangolare nello stesso istante:

Page 14: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli14

t

A questo concetto è legato quello relativo all’ampiezza del lobo principale dello spettro dellafinestra: se NT è la durata del triangolo, si ricava che la sua trasformata (non periodicizzata) è

2

22

TR

2

NTf

2

NTfsin

2

NT)f(G

π

π

=

Infatti, dobbiamo considerare la convoluzione di due rettangoli di durata NT/2, per cui in

frequenza abbiamo il prodotto di due spettri dati da ( )

2/fNT

2/fNTsin

2

NT

ππ

.

Allora, nonostante la funzione GTR(f) decada a zero più velocemente di quanto facesse latrasformata del rettangolo, l’ampiezza del lobo principale, cioè la distanza tra i primi due zeri, risultaora raddoppiata, dato che, come si vede anche nella figura seguente, i due zeri si trovano in ±2/NT:

Di conseguenza, ripetendo gli stessi discorsi fatti per la finestra rettangolare, deduciamo chel’ampiezza della banda di transizione è raddoppiata. Il legame con il peso attribuito ai campioni èevidente: dato che i campioni più lontani dal vertice del triangolo assumono peso minore, di fatto ècome se stessimo usando ancora una finestra rettangolare, ma con un minor numero di campioni equindi più “distesa” in banda.

In definitiva, il parametro da cui dipende l’ampiezza della banda ditransizione è l’ampiezza del lobo principale dello spettro dellafinestra.

Per quanto riguarda l’ampiezza delle oscillazioni, invece, abbiamo osservato che quello cheimporta è la velocità con cui decadono a zero le code. Questa velocità si quantifica, in genere, con lamisura di quanto il modulo del primo lobo secondario è inferiore rispetto al modulo del loboprincipale, cioè del picco:

Page 15: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli15

Misura della velocità di decadimento a zero delle code nel caso di un sin(f)/

Nel caso della finestra rettangolare, il cui spettro è un sin(f)/f come quello di figura, il rapporto trail modulo del picco principale ed il modulo del picco del primo lobo risulta essere di αα=13 dB.

Nel caso, invece, della finestra triangolare, dove il decadimento è maggiore, il rapporto è di αα=26dB, doppio del precedente.

Possiamo anche non fermarci alla finestra triangolare, ma passare ad altri tipi di finestre. Ingenerale, la strada da seguire è quella di usare come finestre delle funzioni del tempo che sianocontinue fino al più alto grado: il rettangolo è una funzione che presenta discontinuità di valore, incorrispondenza chiaramente dei due spigoli; il triangolo presenta invece una discontinuità solo apartire dalla derivata prima (la derivata del triangolo è il rettangolo); procedendo, potremmoconsiderare una funzione che presenta discontinuità solo a partire dalla derivata seconda (e chequindi è continua con la sua derivata prima): in questo caso, le code della sua trasformata andranno azero come 1/f3 e così via per discontinuità di grado sempre maggiore.

In effetti, il problema può anche essere considerato da un altro punto di vista. Abbiamo capito cheil fattore di principale disturbo è rappresentato dalle code dello spettro della finestra, per cui noicerchiamo una finestra la cui trasformata decada a zero il più rapidamente possibile. La funzione cheha il miglior decadimento a zero, dopo il picco in f=0, è un impulso. Di conseguenza, a noiandrebbe bene uno spettro idealmente impulsivo (che infatticorrisponde ad una funzione costante nel tempo e di duratainfinita): moltiplicando lo spettro desiderato Hd(f) per tale impulso, otterremmo ancora Hd(f).Dato che, nella realtà, non possiamo ottenere un impulso in frequenza (perché ci serve una rispostaall’impulso di durata limitata), possiamo allora ricercare uno spettro che sia quanto più similepossibile ad un impulso. In quest’ottica, possiamo pensare di considerare più funzioni del tiposin(f)/f, combinate insieme in modo che gli effetti delle code dell’una siano attenuate dagli effettidelle code degli altri.

Ad esempio, possiamo sommare due sin(f)/f, disposti in modo tale che il picco principale dell’unocoincida con il primo zero dell’altro:

Page 16: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli16

Se, prima di sommare, scaliamo di un fattore ½ le due funzioni e poi sommiamo, otteniamo ilseguente spettro:

Spettro della finestra ottenuta sommando due sin(f)/f, scalati di ½ e traslati in avanti e indietro,rispetto all’origine delle frequenze, di 1/2NT

Il motivo del fattore di scala ½ sarà chiaro più avanti.Per il momento, può essere utile ancora una volta confrontare questa funzione con il classico

sin(f)/f:

Confronto tra lo spettro della precedente figura e lo spettro della finestra rettangolare, ossia il sin(f)/f

Ancora una volta notiamo un maggiore decadimento delle code, ma notiamo anche un loboprincipale più piatto e più ampio.

Come verificheremo tra un attimo, lo spettro così ottenuto decade sostanzialmente ancora come1/f2. L’unica differenza con la finestra triangolare riguarda il decadimento dei lobi secondari, cheadesso è minore: mentre nella finestra triangolare era α=26 dB, adesso si ottiene αα=24 dB.

Prima di andare oltre, facciamo qualche passaggio analitico per giustificare questo risultato.La combinazione dei due sin(f)/f considerati prima si può scrivere, analiticamente, nel modo

seguente:

+δ+

−δ

ππ

NT2

1f

NT2

1f

2

1*

fNT

)fNT(sin

Da notare che abbiamo preferito scegliere una traslazione di ±1/2NT, piazzando cioè l’originedelle frequenze al centro, per ottenere una funzione risultante che sia reale e pari. Questa scelta ècomoda, ma poi è necessario effettuare altre traslazioni per rendere il filtro causale e quindifisicamente realizzabile.

Page 17: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli17

A prescindere da questo, se abbiamo una convoluzione nel tempo, otteniamo un prodotto delle

frequenze: lo spettro fNT

)fNT(sin

ππ

non è altro che la trasformata di un rettangolo di durata NT, mentre

l’altro spettro è banalmente la trasformata di un coseno di frequenza 1/2NT, per cui la finestracorrispondente è

π

t

NT2

12cos

NT

trect

Questo prodotto corrisponde dunque ad un coseno4 finestrato tra -NT/2 ed NT/2:

Finestra a coseno finestrato

Come detto prima, non abbiamo guadagnato molto rispetto alla finestra triangolare, in quantoabbiamo sempre una discontinuità sulla derivata prima (code che decadono come 1/f2). Dato che ladurata del lobo principale (in frequenza) è la stessa è anche il valore di α è circa uguale a quellodella finestra triangolare (24 dB contro 26 dB), si preferisce generalmente combinare tre funzionisin(f)/f, secondo la seguente combinazione:

+δ+

−δ+δ

ππ

NT

1f

4

1

NT

1f

4

1)f(

2

1*

fNT

)fNT(sin

Si usano cioè un sin(f)/f scalato di ½ centrato sull’origine delle frequenze e due altri sin(f)/f,centrati su 1/NT e -1/NT (cioè in corrispondenza dei primi due zeri del sin(f)/f centrale) e scalati di1/4:

4 Il fatto di aver ottenuto un coseno spiega il fattore di scala ½ usato per la composizione dei due sin(f)/f.

Page 18: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli18

La composizione dà origine alla seguente finestra temporale:

Spettro della finestra a coseno rialzato finestrato (finestra di Hanning)

In questo caso si ottiene una discontinuità sulla derivata seconda, per cui le code decadono come1/f3. L’ampiezza del lobo principale è quadrupla rispetto a quella della finestra rettangola e lavelocità di decadimento delle code è di gran lunga maggiore: risulta infatti αα=36 dB.

Vediamo come è fatta la finestra nel tempo, il che significa che dobbiamo calcolarel’antitrasformata dello spettro

+δ+

−δ+δ

ππ

NT

1f

4

1

NT

1f

4

1)f(

2

1*

fNT

)fNT(sin

Possiamo allora riscrivere questo spettro nel modo seguente:

+δ+

−δ+δ

ππ

NT

1f

NT

1f

2

1)f(

2

1*

fNT

)fNT(sin

Da qui, riprendendo conti analoghi a quelli fatti prima, deduciamo che l’antitrasformata è

π+⋅

t

NT

12cos1

2

1

NT

trect

In questo caso, quindi, abbiamo finestrato un coseno, di frequenza 1/NT e di ampiezza 1/2, cui èsommata una costante pari a sua volta ad 1/2: si parla perciò di finestra a coseno rialzato efinestrato, detta anche finestra di Hanning. L’andamento temporale della finestra è dunque ilseguente:

Andamento temporale della finestra di Hanning (coseno rialzato finestrato)

Page 19: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli19

Varianti di questa finestra si ottengono semplicemente modificando, rispetto ad 1/2, i coefficientidi peso della continua e del termine cosinusoidale:

π⋅+⋅

t

NT

12cosba

NT

trect

Ad esempio, una delle finestre più utilizzate è la cosiddetta finestra di Hamming, nella quale sipone a=0.54 e b=0.46:

π⋅+⋅

t

NT

12cos46.054.0

NT

trect

L’andamento temporale di questa finestra è il seguente:

Andamento temporale della finestra di Hamming

Una finestra molto utilizzata in campo radaristico è invece quella che si ottiene per a=0.3 e b=0.7:

π⋅+⋅

t

NT

12cos7.03.0

NT

trect

Nella tabella seguente sono elencate varie funzioni finestra, direttamente in numerico, chepresentano caratteristiche spettrali apprezzabili per l’applicazione nel metodo delle finestre:

−π

−π

−π

+−

π−

−−

1N

n2cos1

2

1Hanning

1N

n2cos56.054.0Hamming

1N

n4cos8.0.0

1N

n2cos5.042.0Blackman

1N2

1Nn2

1Bartlett

h(n)

impulsoall' risposta di Funzionefinestra della Nome

Page 20: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli20

Nelle prossime due figure sono diagrammanti gli andamenti temporali di tali finestre(considerando i campioni da n=0 ad n=N-1, in modo da garantire la causalità dei filtri e quindi lafisica realizzabilità):

Andamento temporale delle finestre di Hamming, Hanning e Blackman, confrontate con la finestrarettangolare

Andamento temporale delle finestre di Tukey, Kaiser e Lanczos, confrontate con la finestra di Bartlett(triangolare)

Al fine di comprendere la bontà di queste finestre, sappiamo che è importante indagarne glispettri. I moduli di tali spettri sono allora riportati nelle figure seguenti, in funzione della frequenzanormalizzata f/fC ed al variare del numero di campioni:

Modulo (in dB), in funzione della frequenza normalizzata, della funzione di trasferimento della finestradi Hanning, diagrammato per N=31 ed N=61 campioni

Page 21: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli21

Modulo (in dB), in funzione della frequenza normalizzata, della funzione di trasferimento della finestradi Hamming, diagrammato per N=31 ed N=61 campioni

Modulo (in dB), in funzione della frequenza normalizzata, della funzione di trasferimento della finestradi Blackman, diagrammato per N=31 ed N=61 campioni

Gli spettri di tutte le finestre appena illustrate hanno dei lobi secondari significativamente piùpiccoli di quelli presenti nello spettro della finestra rettangolare. D’altra parte, a parità di numero Ndi campioni, l’ampiezza del lobo principale è maggiore in queste finestre rispetto a quella dellafinestra rettangolare. Di conseguenza, queste funzioni finestra producono minori oscillazioni inbanda passante, ma una banda di transizione più ampia. L’unico modo per ridurre l’ampiezza dellabanda di transizione è quello di aumentare la durata della finestra, ossia aumentare la lunghezza Ndella funzione di risposta all’impulso del filtro implementato.

Nella tabella seguente sono infine elencate le principali caratteristiche degli spettri delle funzionifinestra citate:

Page 22: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli22

58/N12Blackman

43/N8Hamming

32/N8Hanning

27/N8(Bartlett) eTriangolar

13/N4reRettangola

)dB(

code delle entodimDeca

principale lobo del

taapprossima Ampiezza

finestra

di Tipo

πππππ

α

Conclusioni sul metodo delle finestre

In definitiva, il progetto di filtri FIR mediante finestre si basa sul fatto che è possibile guadagnaresui lobi laterali, e quindi sulla oscillazione in banda e sulla attenuazione minima garantita fuoribanda, semplicemente cambiando i lobi della finestra. Se si considerano finestre con code chedecadono più velocemente, necessariamente si una un lobo principale più largo: quindi, a minoreoscillazione in banda e maggiore reiezione fuori banda corrisponde una banda di transizione piùgraduale.

Il metodo delle finestre non è un metodo ottimo per il progetto di filtri FIR, ma ha il pregio diessere molto semplice.

Esempio concreto

Per comprendere a pieno la tecnica delle finestre, consideriamo un esempio specifico.Come detto più volte, il punto di partenza è nella scelta di una funzione di trasferimento prototipo,

che indichiamo con Hd(ω). Scegliamo perciò un filtro FIR, simmetrico, a fase lineare, passa-basso,avente la seguente funzione di trasferimento:

ω≤ω≤=ω−

ω−

altrimenti 0

0 e)(H T2

1Nj

d

dove conveniamo di indicare con ω la pulsazione 2πf normalizzata alla frequenza di campionamentofC e quindi con ωT la pulsazione di taglio normalizzata.

C

TT

C

f

f2

f

f2

π=ω

π=ω

Questo filtro è evidentemente un passa-basso ideale (modulo unitario in banda passante e modulonullo in banda arrestata), nel quale un anticipo temporale di (N-1)/2 passi di campionamento è statoimposto per ottenere un filtro di lunghezza N.

Andiamo allora a ricavare la corrispondente funzione di risposta all’impulso, tramite una sempliceantitrasformazione di Fourier:

Page 23: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli23

−ω⋅=

−π

−ω==ω

π=ωω

π= ∫∫

ω

ω−

ω−

ω−ω

ω−

ω

2

1Nnsincf2

2

1Nn

2

1Nnsin

...dee2

1de)(H

2

1)n(h TT

Tnj2

1Nj

njdd

T

T

T

T

(dobbiamo per il momento escludere il campione che si ottiene per n=(N-1)/2 in quanto il SenoCardinale non è definito in tale punto, se non con un processo al limite)

Come previsto, abbiamo ottenuto una funzione di risposta all’impulso non causale e di duratainfinita. Andiamo allora a finestrare questa funzione, ad esempio con una finestra rettangolare didurata NT. Otteniamo, per il filtro da implementare, una funzione di risposta all’impulso cosìdefinita:

2

1-Nn 1-Nn0

2

1Nnsincf2)n(h

NT

nrect)n(h TTd ≠≤≤

−ω=⋅

=

Se scegliamo un valore dispari di N, l’istante n=(N-1)/2 esiste ed in tale istante possiamocalcolare il valore di h(n) tramite un processo al limite: infatti, calcolando tale limite, il SenoCardinale va ad 1 e quindi

Tf22

1Nh =

A questo punto abbiamo l’intero vettore della funzione di risposta all’impulso del nostro filtro,per cui possiamo calcolare, analiticamente o tramite il calcolatore (DFT usando per esempio Matlab),la corrispondente funzione di trasferimento. Nelle prossime due figure è per esempio illustratol’andamento del modulo di tale funzione di trasferimento, in funzione della frequenza normalizzata,per due distinti valori (61 e 101) della lunghezza N:

Modulo (in funzione della frequenza normalizzata f/fC) della funzione di trasferimento del filtro FIRprogettato, nel caso di N=61 campioni per la funzione di risposta all’impulso

Page 24: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Appunti di “Elaborazione numerica dei segnali” - Capitolo 4

Autore: Sandro Petrizzelli24

Modulo (in funzione della frequenza normalizzata f/fC) della funzione di trasferimento del filtro FIRprogettato, nel caso di N=101 campioni per la funzione di risposta all’impulso

Osserviamo fondamentalmente un buon comportamento del filtro in termini di rapidità dipassaggio dalla banda passante alla banda arrestata e di attenuazione in banda arrestata. tuttavia,notiamo che, per entrambi i valori di N, ci sono delle oscillazioni eccessive al passaggio dalla bandapassante alla banda di transizione e da quest’ultima alla banda arrestata. Si osserva, in particolare, unaumento della frequenza delle oscillazioni per N=101, mentre la loro ampiezza rimanesostanzialmente invariata per i due valori di N.

Come sappiamo, queste oscillazioni (fenomeno di Gibbs) dipendono fondamentalmente dallalarghezza dei lobi laterali dello spettro della finestra rettangolare. Allora, per ridurre tali oscillazionisia in banda passante sia banda arrestata, dobbiamo usare una funzione finestra che contengadiscontinuità più dolci rispetto a quelle brusche della finestra rettangolare. Per esempio, se usiamouna finestra triangolare, con N=61, otteniamo quanto segue:

Modulo (in funzione della frequenza normalizzata f/fC) della funzione di trasferimento del filtro FIRprogettato per N=61 e tramite una finestra triangolare. Da notare che, rispetto ai due diagrammi

precedenti, le ordinate sono adesso in dB, il che consente di apprezzare meglio le oscillazioni in bandaarrestata

Le cose migliorano ulteriormente se usiamo finestre di Hamming o Blackman, sempre per N=61.il risultato migliore si ottiene con la finestra di Blackman:

Page 25: Elaborazione numerica dei segnali - Libero Communityusers.libero.it/sandry/download/DSPdownload/DSP_04a.pdf · il modo con cui vanno specificate le caratteristiche del filtro da implementare

Progetto di filtri FIR (parte I)

Autore: Sandro Petrizzelli25

Modulo (in funzione della frequenza normalizzata f/fC) della funzione di trasferimento del filtro FIRprogettato per N=61 e tramite una finestra di Hamming

Modulo (in funzione della frequenza normalizzata f/fC) della funzione di trasferimento del filtro FIRprogettato per N=61 e tramite una finestra di Blackman

Come queste figure mostrano chiaramente, abbiamo ottenuto sia l’eliminazione completa delleoscillazioni in corrispondenza del passaggio dalla banda passante alla banda attenuata sia minorioscillazioni in banda arrestata. Questo, però, al prezzo di una banda di transizione più ampia.

Autore: SANDRO PETRIZZELLIe-mail: [email protected]

sito personale: http://users.iol.it/sandrysuccursale: http://digilander.iol.it/sandry1