Lezione 11
Sintesi sottrattiva
Programmazione timbrica - Prof. Luca A. Ludovico
Comportamento dei principali filtri
Filtro passa-basso
Low-pass filter
Filtro passa-alto
High-pass filter
Filtro passa-banda
Band-pass filter
Filtro sopprimi-banda
Band stop filter
Band reject filter
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Filtri passa-basso: opcode tone e tonek
• Un filtro passa-basso attenua le frequenze al di sopra della frequenza
di taglio ft secondo una certa curva di attenuazione. L’opcode tone
implementa un filtro passa-basso ricorsivo di primo ordine con risposta
in frequenza variabile.
• Sintassi: ares tone asig, khp [, iskp]
– asig è il segnale in input originale
– khp è il punto di metà potenza nella curva di risposta espresso in
Hz. Metà potenza significa potenza di picco / √2
– iskip (opzionale, default = 0) permette di inizializzare lo spazio
interno, mantenendo (iskip = 0) o meno (iskip ≠ 0) l’informazione
precedente.
• Se è sufficiente una minore risoluzione: kres tonek ksig, khp [, iskip]
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Filtri di ordine superiore
• In Csound esistono due modi per ottenere filtri di ordine
superiore:
– Mettere in serie n filtri del I ordine, di modo che l’uscita del primo
filtro fornisca il segnale di ingresso al secondo filtro, e via dicendo;
– Utilizzare un opcode ad hoc, nel caso dei filtri passa-basso tonex,
la cui gestione a livello computazionale è più efficiente.
• Sintassi: ares tonex asig, khp [, inumlayer] [, iskip]
ove inumlayer (opzionale, default = 4) è il numero di filtri
messi in serie.
• Esempio: → 11_01_tone_tonex.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Filtri passa-alto: opcode atone, atonek e atonex
• Un filtro passa-alto permette solo il passaggio di frequenze
al di sopra di un dato valore detto frequenza di taglio e
attenua le restanti secondo una certa curva.
• Sintassi per filtri del I ordine:
ares atone asig, khp [, iskip]
kres atonek ksig, khp [, iskip]
• Sintassi per filtri di ordine superiore:
ares atonex asig, khp [, inumlayer] [, iskip]
• Esempio: → 11_02_atone_atonex.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Filtri passa-banda: opcode reson
• L’opcode reson implementa un filtro risonante del secondo
ordine.
• Sintassi: ares reson asig, kcf, kbw [, iscl] [, iskip]
ove kcf è la frequenza centrale mentre kbw controlla
l’ampiezza della banda passante.
• Varianti del filtro passa-banda che, oltre ai due poli,
contengono due zeri nella funzione di trasferimento:
resonr e resonz (si distinguono per la posizione degli 0)
• Esempi: → 11_03_reson.csd, 11_04_gigi.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Esprimere le caratteristiche del filtro p-b
• Esistono 3 modi equivalenti per esprimere le caratteristiche del filtro
passa-banda:
1. fc (freq. di centro banda) e l (larghezza di banda)
2. fi e fs (rispettivamente frequenza di taglio inferiore e superiore)
3. fc (frequenza di centro banda) e Q (fattore di merito del filtro),
ove per definizione Q = fc/l
Si nota che - fissata fc - al crescere di Q decresce l, quindi si ottiene
una maggiore esaltazione delle frequenze nella banda passante, fino
ad arrivare al limite a una singola frequenza.
• Ovviamente è possibile passare con semplici equazioni da una
formulazione a un’altra:
fi = fc – l/2
fs = fc + l/2
l = fs – fi
Q = fc/l
l = fc/Q
fc = Q ∙ l
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Filtri sopprimi-banda: opcode areson
• L’opcode areson implementa un filtro sopprimi-banda la
cui funzione di trasferimento è complementare rispetto a
quella di reson (a parità di parametrizzazione)
• Sintassi: ares areson asig, kcf, kbw [, iscl] [, iskip]
ove kcf è la frequenza centrale mentre kbw controlla
l’ampiezza della banda da sopprimere.
• Esempio: → 11_05_areson.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Filtri Butterworth
• Un filtro Butterworth (o "massimamente piatto") ha lo scopo di
ottenere una risposta in frequenza il più possibile piatta (in modulo)
nella banda passante.
• Questi filtri sono caratterizzati da: buona costanza nella banda
passante, ottima precisione e ottima attenuazione delle frequenze
esterne alla banda passante. La loro esecuzione in Csound è
leggermente più lenta. Esempio: → 11_06_butter.csd
• Sintassi:
ares butterlp asig, kfreq [, iskip]
ares butterhp asig, kfreq [, iskip]
ares butterbp asig, kfreq, kband [, iskip]
ares butterbr asig, kfreq, kband [, iskip]
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
passa-basso
passa-alto
passa-banda
sopprimi-banda
Confronto con altri filtri lineari
Programmazione timbrica - Prof. Luca A. Ludovico
Sintesi sottrattiva
Scarica

Presentazione del corso