Sei sulla pagina 1di 29

Brevi cenni sulla teoria

dei Filtri Digitali


Enrico Cosimi
Adattato da:

C. Roads (ed.), The computer music tutorial,


The MIT Press, Cambridge,
MA., 1996.

1
FILTRI DIGITALI

Mappa di Navigazione
2
Caratteristiche principali nella
valutazione di un filtro digitale:
comportamento nel dominio delle
frequenze;
comportamento nel dominio del tempo
(IR);
lunione dei due comportamenti forma la
convoluzione;
comportamento nel dominio della fase;
3
Convenzioni nella rappresentazione
matematica di un filtro digitale

lingresso attuale del filtro indicato con x[n];


luscita attuale indicata con y[n];
valori precedenti a quello attuale in ingresso sono
indicati con x[n m]; in cui m il numero dei
samples di delay impostati;
valori precedenti a quello attuale in uscita sono
indicati con y[n m].

4
Low Pass Filter
y[n] = (0.5 x x[n]) + (0.5 x x[n -1])

5
Ovvero:
la media di valore tra il sample corrente e quello ricevuto in precedenza tende ad eliminare i
cambiamenti pi repentini nel segnale passante, cio le armoniche pi acute; aumentando il numero di
sample delay, aumenta lattenuazione delle frequenze acute, ovvero si abbassa la cutoff frequency;
un filtro passa basso implementato nel dominio digitale applica la media di valore (moving-average) tra
il sample corrente e quello ricevuto in precedenza; successivamente, per limitare i rischi di
overload, il risultato ottenuto diviso per 2;
dal momento che luscita del filtro dipende solo ed esclusivamente dal segnale in ingresso, il filtro
detto non recursivo, cio privo di retroazione feedback;
il percorso seguito dal segnale in ingresso dopo essere stato sdoppiato verso luscita, cio in avanti:
questo lo fa rientrare nella tecnica feedforward, propria della convoluzione; come vedremo in
seguito, se il percorso sdoppiato avesso puntato verso lingresso cio allindietro, si sarebbe parlato di
feedback, proprio della recursione;
dal momento che il sottrae sottrae solo un campione, il filtro detto del primo ordine; cos come
nel dominio analogico gli ordini di un filtro dipendono dal numero delle celle RC (resistor-capacitor),
nel filtro digitale gli ordini di appartenenza sono definiti dalla distanza espressa in sample tra campione
corrente e campione pi ritardato, cio la lunghezza del massimo delay misurato in sample
determina lordine del filtro;
dal momento che il filtro in questione gi stato considerato come non recursivo, rientra nella
categoria dei filtri a risposta finita di impulsi, cio finite impulse response, cio FIR, contrapposta a
infinite impulse response cio IIR.

6
High Pass Filter
y[n] = (0.5 x x[n]) (0.5 x x[n -1])

7
Second Order Band Reject
y[n] = (0.5 x x[n]) + (0.5 x x[n -2])

Second Order Band Pass


y[n] = (0.5 x x[n]) - (0.5 x x[n -2])

8
Sostituzione dei
coefficienti di filtraggio
Per rendere pi flessibili le due equazioni, si possono sostituire i
coefficienti di filtraggio 0.5 con le variabili a0 e a1;

LOW PASS y[n] = (0.5 x x[n]) + (0.5 x x[n -1]) diventa:


LOW PASS y[n] = (a0 x x[n]) + (a1 x x[n -1])

HIGH PASS y[n] = (0.5 x x[n]) (0.5 x x[n -1]) diventa:


HIGH PASS y[n] = (a0 x x[n]) (a1 x x[n -1])

Dove a0 indica il segnale in ingresso non sottoposto a ritardo e a1


indica un ritardo pari ad un sample. Cambiando il valore dei
coefficienti, varia la risposta in frequenza del filtro, come
vedremo tra poco secondo la logica fc = SR / an.

9
Filtro FIR Finite Impulse Response
y[n] = (a0 x x[n]) (a1 x x[n -1]) (a2 x x[n -2]) (ai x x[n i])

10
Ovvero:
se il segno precedentemente indicato dalla freccia rossa positivo, il filtro lavora in modalit Low
Pass; se il segno negativo, il filtro lavora in modalit High Pass;

Il filtro finite impulse response FIR , di fatto, una linea di ritardo che agisce sul segnale in
ingresso ritardandolo per un numero finito i di campioni corrispondente alla quantit degli stadi di
trattamento, cio alla lunghezza della linea di ritardo stessa; una volta raggiunta la fine della linea
di ritardo, il processo ha termine per il campione in esame ed ha inizio per quello successivo;

dal momento che luscita del filtro dipende solo ed esclusivamente dal segnale in ingresso, il filtro
detto non recursivo, cio privo di retroazione feedback;

modificando i coefficienti, si pu variare la cutoff frequency in misura pari alla sampling rate
divisa il numero degli stadi di trattamento;

se la sampling rate del filtro FIR pari a 44.100 kHz e il filtro FIR possiede 10 stadi, la frequenza
di taglio sar pari a 4410 Hz;

se si aumenta il numero degli stadi si migliora la selettivit del filtro, ma si tassa maggiormente la
CPU.

11
Filtro Low Pass IIR ETA
(Infinite Impulse Response Exponential Time Average)
y[n] = (0.5 x x[n]) + (0.5 x y[n 1])

12
Ovvero:
La differenza con il comportamento FIR visto in precedenza indicata dal termine y[n 1]. La
recursivit in feedback del filtro IIR proprio individuata dalla y: il segnale da sommare (Low
Pass) o da sottrarre (High Pass) preso dalluscita del filtro e non dal segnale in
ingresso come in precedenza.

il segnale in ingresso x[n] moltiplicato per il coefficiente di filtraggio 0.5 (cio viene diviso per
due) e poi procede verso il sommatore con segno positivo (indicatore della logica Low Pass) che si
trova immediatamente a monte delluscita y[n];

prima di abbandonare il filtro, il segnale in uscita viene prelevato mediante smistamento e la


nuova linea di percorso sottoposta ad un trattamento che sottrae un campione alla sequenza
dei valori, cio prende in esame il campione precedente a quello considerato attuale [n 1];

anche il risultato della sottrazione viene moltiplicato per il coefficiente di filtraggio 0.5 (cio
viene diviso a met) e poi nel punto di somma con segno positivo - viene sommato al segnale
diretto concludendo il feedback loop recursivo.

13
Se, seguendo C. Roads, si sostituiscono i coefficienti di filtraggio con le
costanti a e b, partendo da:

y[n] = (0.5 x x[n]) + (0.5 x y[n 1])

si ottiene:

y[n] = (a x x[n]) + (b x y[n 1])

Convenzionalmente, il coefficiente b modifica la quantit di segnale


lasciato passare in feedback;

aumentando b, la fc si abbassa;

se il valore di b supera la soglia di 1.0, il filtro diventa instabile,


raggiungendo facilmente la distorsione.

14
b

Filtro IIR ETA High Pass


y[n] = (a x x[n]) - (b x y[n 1])

15
feedback

feed forward

Filtro IIR ETA 2nd Order Band Pass


y[n] = (a0 x x[n]) + (a1 x x[n 1]) + (a2 x x[n 2]) - (b1 x y[n 1]) - (b2 x y[n 2])

16
Il filtro IIR second order section Band Pass molto diffuso per la realizzazione di
equalizzatori grafici e parametrici.
Il suo funzionamento si basa sulla presenza simultanea di un percorso feedback ed
uno feed forward estratti dal percorso principale input output;

il filtro utilizza due stadi di ritardo per ciascuno dei due circuiti, il primo ritarda la
lettura dei campioni di [n-1] cio di un campione, il secondo di [n-2] cio di due
campioni.

Combinando insieme diverse unit circuitali, possibile creare strutture pi complesse


e, azzerando determinati coefficienti, possibile ottenere anche i comportamenti Low
Pass e High Pass.

il coefficiente a governa la quantit di segnale inviata al percorso feedforward,


il coefficiente b governa la quantit di segnale inviata al percorso feedback;
ricordiamo che il percorso feedforward produce avvallamenti (notches) e quello
feedback produce picchi (peaks) nello spettro del segnale passante.

Lavorando solo con a0 ed a1 si ottiene il comportamento Low Pass.


Lavorando solo con a0 ed a2 si ottiene il comportamento Band Reject.
Lavorando solo con a0 ed b1 si ottiene il comportamento High Pass.
Lavorando solo con a0 ed b2 si ottiene il comportamento Band Pass.

17
Filtri FIR e IIR: pregi e difetti

Pregi FIR: facilit di progettazione, linearit ed assenza di


distorsione, stabilit in assenza di recursione.

Difetti FIR: pesantezza sulla CPU, migliaia di stadi da


implementare simultaneamente, non prevedono lauto
oscillazione.

Pregi IIR: grande efficienza, sensibili risparmi sulla CPU, vanno in


auto oscillazione.

Difetti IIR: sensibili alla distorsione di fase, soggetti allauto


oscillazione in presenza di transienti (ringing), dispersione delle
frequenze in corrispondenza dei transienti, con conseguente
suono pi aspro di quello ottenibile con i FIR.

18
Filtri Comb FIR Positive Summing
y[n] = x[n] + x[n D]

19
Un filtro Comb FIR divide il segnale in ingresso in due percorsi e
processa uno dei due mediante un delay di dimensione variabile
(comunque espressa in sample) prima di risommarli insieme.

Quando i due segnali si sommano insieme il filtro rientra nella


categoria definita dei positive summing comb filter.

Questa struttura risulta molto simile al FIR Low Pass visto in


precedenza, ma il delay D significativamente pi lungo di quello
utilizzato nellaltro tipo di circuito.

Leffetto tipico del Comb Filter risulta dalla cancellazione e dal


rinforzo di fase generato dalla sovrapposizione tra segnale diretto e
copia ritardata.

20
Lo spettro risultante avr il primo picco a:

f = 1/D x SR

laddove D il delay espresso in sample e


SR ovviamente la sampling rate del
sistema; i picchi successivi cadranno
simmetricamente a 2f, 3f, 4f, 5f eccetera.

Ad esempio, se SR = 44100 Hz, D = 44


samples, si ottiene:

f = 1/44 x 44100 = 0,0227 x 44100


f1 = 1002,27 Hz
f2 = 2004,54 Hz
f3 = 3006,81 Hz
f4 = 4009,09 Hz
f5 = 5011,36 Hz

Se la lunghezza del delay D significativa,


nello spettro risultante si ottengono
picchi estremamente ravvicinati tra loro e
quindi poco significativi allorecchio;
se invece il delay particolarmente
contenuto, i picchi risultano pi distanziati
ed ampi, cio maggiormente evidenti
allorecchio.

21
x[n-D]
-
x y

Filtri Comb FIR Negative Summing


y[n] = x[n] - x[n D]

22
In questo caso, il primo notch coincider con 0 Hz ed i notches successivi
avranno frequenza f, 2f, 3f, 4f.

Questo tipo di filtro a pettine inevitabilmente indebolisce la fondamentale


e le sue armoniche;

Il segnale risultante sar rinforzato da picchi centrati su f/2, 3f/2, 5f/2


eccetera.

23
b

x[n-D]
a
x y

Filtro Comb IIR


y[n] = (a x x[n]) + (b x x[n D])

24
I coefficienti a e b permettono di scalare il segnale in un
range variabile tra 0 e 1.

La resonance del filtro varier sensibilmente in base al


valore assunto da b, seguendo un andamento timbrico
pi pronunciato che non nella precedente modalit FIR.

Ovviamente, come nel dominio analogico, se b troppo


elevato, il filtro andr in saturazione numerica, cio in
distorsione.

25
Lo schema riproduce la risposta in
frequenza del fitro Comb IIR
allinterno di un sistema
frequenza / ampiezza; si confronti
questo andamento grafico con
quello precedentemente
osservato per il filtro Comb FIR.

In questo caso, la maggior


selettivit dei picchi risonanti
rendono pi significativo, dal punto
di vista musicale, lincremento di
ampiezza della risonanza.

26
Filtri All Pass
y[n] = (-g x x[n]) + x[n D] + (g x x[n])

27
Il filtro All Pass procura uno spostamento di fase variabile con la frequenza ovvero,
ritarda in percentuali minime variabili con la frequenza il segnale passante, causandone
la dispersione.

Il segnale in ingresso x[n] viene suddiviso in due tronconi, il primo dei quali raggiunge
una linea di ritardo D, superata la quale, prosegue poi verso luscita.
Il secondo troncone, diretto, viene sottoposto alla moltiplicazione di un coefficiente g
che ne scala lampiezza; successivamente, i due segnali diretto e ritardato, vengono
addizionati in un punto di somma.

Semplificando, la struttura del filtro All Pass composta dallimpiego simultaneo di un


circuito Comb Filter IIR feedback ed un circuito Comb Filter FIR; linversione di segnale
nel coefficiente g cancella le caratteristiche spettrali del filtro a pettine, lasciando
intatte le caratteristiche di delay.

Il comportamento del filtro All Pass identificabile mediante turnover frequency,


che indica la frequenza in cui lo spostamento di fase raggiunge i 180, e mediante
transition width, cio la banda di frequenze contenute allinterno degli spostamenti
di fase espressi con 90 e 270; il secondo parametro assimilabile alla Q espressa per
un filtro passa banda.

28
29

Potrebbero piacerti anche