Lezione 18
Modulazione di frequenza
Programmazione timbrica - Prof. Luca A. Ludovico
Introduzione
• Una modulazione è l’alterazione dell’ampiezza, della frequenza o
della fase di un oscillatore provocata da un altro segnale. L’oscillatore
modulato viene detto portante (carrier), l’oscillatore che modula
viene detto modulante (modulator).
• In generale, la modulazione comporta la comparsa di nuove frequenze
che si aggiungono – o talvolta sostituiscono - allo spettro della
portante. Tali frequenze vengono dette laterali, perché appaiono in
modo simmetrico sopra e sotto la frequenza della portante.
• Se l’oscillatore modulante agisce sul parametro di frequenza del
segnale portante, ha luogo la modulazione di frequenza.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Modulazione di frequenza
• Scegliendo due segnali sinusoidali, se
l’ampiezza del segnale modulante è 0 non
si verifica modulazione e rimane solo
l’oscillazione della portante. Aumentando
l’ampiezza della modulante si amplifica il
periodico effetto di deviazione verso il
grave e verso l’acuto della frequenza della
portante.
• Il massimo mutamento nella frequenza del
segnale portante è detto deviazione di
picco (peak frequency deviation) e si
misura in hertz.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Generazione di bande laterali
• Mentre con la modulazione ad anello e di ampiezza da due
segnali sinusoidali puri si ottiene una coppia di frequenze
laterali, con la modulazione di frequenza si ottengono
virtualmente infinite coppie.
• Nel caso di due segnali sinusoidali di frequenza fm = 3 Hz e
fp = 1000 Hz le bande laterali che compaiono sono:
fp - fm = 997 Hz
fp - 2fm = 994 Hz
fp - 3fm = 991 Hz
…
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
fp + fm = 1003 Hz
fp + 2fm = 1006 Hz
fp + 3fm = 1007 Hz
…
FM con modulante LFO: effetto di vibrato
• In analogia con la sintesi AM, dove l’utilizzo di un Low Frequency
Oscillator come segnale modulante produceva l’effetto di tremolo, in
questo caso si genera un effetto di vibrato.
– Si pensi al dito del violinista che blocca la corda.
• L’ampiezza della sinusoide modulante determina la deviazione di
picco, la frequenza della sinusoide modulante determina la periodicità
con cui avviene il ciclo di deviazione.
Per quanto riguarda l’ampiezza, in termini musicali è più corretto
definirla in valore percentuale che assoluto: si pensi a quanto è
differente la percezione di 2 Hz su un La a 220 Hz (circa 0.9%) rispetto
a un La a 880 Hz (circa 0.23%).
• Esempio:
kvibr oscili 2, 3
Si noti che per il risultato è sufficiente una variabile di controllo.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Indice di modulazione
• Teoricamente sono sempre presenti tutte le frequenze
somma e differenza fino all’infinito, ma per essere
percepite esse devono avere un’ampiezza sufficiente.
• Il numero di bande udibili dipende dall’indice di
modulazione M, definito come la deviazione di picco D
diviso la frequenza della modulante fm :
M = D / fm e quindi D = M ∙ fm
• Si nota che M cresce all’aumentare di D e al diminuire di
fm. Come caso particolare, M = 1 se D = fm
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Indice di modulazione e larghezza di banda
• Indice di modulazione M = D / fm
• Empiricamente si nota che al crescere di M aumenta il
numero di bande udibili, sottraendo energia alla portante
(e alle frequenze laterali più prossime) per distribuirla alle
estremità.
• Regole di calcolo approssimative:
– il numero di coppie che hanno più di 1/100 dell’ampiezza della
portante (ossia tra 0 e -40db) è approssimativamente M + 1
[De Poli, 1983]
– la larghezza di banda totale è circa 2 ∙ (D + fm)
[Chowning, 1973]
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Indice di modulazione e larghezza di banda
Variazione dello spettro in funzione di M = D / fm, con D variabile e fm costante.
In accordo con le regole empiriche, la larghezza di banda totale, pari circa a
2 ∙ (D + fm), al crescere di M – quindi anche di D - va via via aumentando.
Variazione dello spettro in funzione di M = D / fm, con D costante e fm variabile.
La larghezza di banda totale, pari circa a 2 ∙ (D + fm), al crescere di M (e quindi
al decrescere di fm) va via via diminuendo.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Osservazione
• Creando una serie teoricamente infinita di bande laterali, questa
tecnica permette con due soli oscillatori di creare timbri molto
ricchi.
• Cosa succede quando somme e differenze comportano la creazione
di frequenze cui è associata un’ampiezza percepibile, ma il cui
valore è negativo, o supera il massimo valore di frequenza
ricostruibile a una data frequenza di campionamento?
• Si ha il fenomeno della riflessione (foldover), che comporta un
ribaltamento simmetrico delle frequenze in questione rispetto al
valore limite scavalcato. Le frequenze «riflesse» si miscelano con
quelle non riflesse, arricchendo ulteriormente il timbro. Tali
componenti sono però in controfase, quindi in caso di
sovrapposizione si annullano parzialmente.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Foldover rispetto alla frequenza di Nyquist
• Si ipotizzi che sr = 10 kHz, e una delle frequenze somma risultanti
sia flat = 7 kHz. Poiché fNyq = 5 kHz, la frequenza viene ribaltata
simmetricamente nell’intervallo [0..5000] e quindi diventa un
alias a 3 kHz, in controfase rispetto all’originale.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Esempio e commenti
• Modulazione di frequenza con 2 segnali sinusoidali, effettuata
specificando (nello score) frequenza e ampiezza di portante e
modulante, e in alternativa frequenza e ampiezza della portante +
frequenza della modulante e indice di modulazione:
→ 18_01_fm.csd
• Score
;
i1 0
i1 3
i1 6
i1 9
2.9
.
.
.
fmod
1000
1000
1000
1000
Amod
10000
10000
10000
10000
fpor
3
3
3
3
Apor
30
90
150
3000
• Nei primi 3 suoni si avverte glissando ascendente/discendente:
perché? Il quarto suono contiene un’evidente variazione timbrica.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Esempio
• Nel seguente esempio viene fatto variare linearmente
l’indice di modulazione all’interno dell’emissione di
ciascun evento sonoro.
La variazione lo porta da 0 (nessuna modulazione) a un
valore massimo di ampiezza per la sinusoide modulante
specificato nello score.
• A seconda della deviazione di picco e della frequenza della
portante, a un certo punto si avvertono gli effetti di
foldover, fino alla completa distorsione del timbro
iniziale.
• Esempio: → 18_02_indice_modulaz.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
FM tramite opcode: foscil e foscili
• La modulazione di frequenza con oscillatori può essere ottenuta anche
attraverso gli appositi opcode foscil e foscili (interpolazione lineare).
• Sintassi: ares foscil xamp, kcps, xcar, xmod, kndx, ifn [, iphs], ove
– xamp è l’ampiezza
– kcps è la frequenza nominale
– xcar è il fattore moltiplicativo da applicare a kcps per ottenere la
frequenza della portante
– xmod è il fattore moltiplicativo da applicare a kcps per ottenere la
frequenza della modulante
– kndx è l’indice di modulazione
– ifn (obbligatorio) è l’indice di una tabella, che normalmente contiene un
ciclo di sinusoide pura
• Esempio: → 18_03_foscili.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Commenti sui moltiplicatori
• Sintassi: ares foscil xamp, kcps, xcar, xmod, kndx, ifn [, iphs], ove
kcps è la frequenza nominale, xcar è il fattore moltiplicativo da
applicare a kcps per ottenere la frequenza della portante e xmod è il
fattore moltiplicativo da applicare a kcps per ottenere la frequenza
della modulante.
• Quindi, per avere fp = 200 Hz e fm = 350 Hz, si possono assegnare
indifferentemente i seguenti valori:
– kcps = 1, xcar = 200, xmod = 350: non si sfrutta la frequenza nominale
– kcps = 50, xcar = 4, xmod = 7: la frequenza nominale è il MCD tra le
frequenze di portante e modulante
– kcps = 200, xcar = 1, xmod = 1,75: si evidenzia il rapporto di frequenza tra
portante e modulante, il che aumenta la leggibilità in merito alla
formazione di famiglie spettrali (vedi prossima slide)
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Famiglie spettrali
• Se il Massimo Comun Divisore tra frequenza portante e modulante
corrisponde a una frequenza udibile, il suono risultante ha spettro
armonico e la frequenza fondamentale apparente del suono risultante
è proprio il MCD.
• Si parla di frequenza apparente perché potrebbe anche mancare dallo
spettro, ma l’orecchio la ricostruirebbe in presenza di un numero
adeguato di armoniche (sempre che non manchino troppe armoniche
di ordine basso).
–
Un esempio è fp = 250 Hz, fm = 350 Hz, viene percepita ffond = MCD = 50 Hz ma nello
spettro non c’è.
• Se non esiste MCD, come nel caso di numeri primi tra loro, o esiste ma
cade al di fuori della banda audio (indicativamente MCD < 20), lo
spettro risultante è inarmonico.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Famiglie spettrali: casi particolari
• Se fm = fp sono presenti tutte le armoniche.
Esempio: fp = 100 Hz, fm = 100 Hz, ffond = MCD = 100 Hz
Bande laterali:
fp - fm = 0 Hz
fp + fm = 200 Hz
fp - 2fm = -100 Hz (cioè 100 Hz in c.f.)
fp + 2fm = 300 Hz
fp - 3fm = -200 Hz (cioè 200 Hz in c.f.)
fp + 3fm = 400 Hz
…
…
• Se fm = 2 ∙ fp sono presenti solo le armoniche dispari.
Esempio: fp = 100 Hz, fm = 200 Hz, ffond = MCD = 100 Hz
Bande laterali:
fp - fm = -100 Hz (cioè 100 Hz in c.f.)
fp - 2fm = -300 Hz (cioè 300 Hz in c.f.)
fp - 3fm = -500 Hz (cioè 500 Hz in c.f.)
…
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
fp + fm = 300 Hz
fp + 2fm = 500 Hz
fp + 3fm = 700 Hz
…
Famiglie spettrali: casi particolari
• Se fm = (11/35) fp ?
Esempio: fp = 550 Hz, fm = 700 Hz, ffond = MCD = 50 Hz
Bande laterali:
fp - fm = -150 Hz
fp + fm = 1250 Hz
fp - 2fm = -850 Hz
fp + 2fm = 1950 Hz
fp - 3fm = -1150 Hz
fp + 3fm = 2650 Hz
fp - 4fm = -2250 Hz
fp + 4fm = 3350 Hz
…
…
Anche se la fondamentale percepita dovrebbe essere a 50 Hz, mancando
troppe armoniche di ordine basso (la II, dalla IV alla XVII, ecc.) si avverte un
accordo e non un singolo suono a spettro armonico.
• Per ottenere uno spettro inarmonico, si scelgono numeri primi tra loro o con
MCD < 20.
• Esempi: → 18_04_famiglie_spettrali.csd
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
FM con portanti e con modulanti multiple
• Costruendo uno strumento FM basato su un singolo oscillatore che
modula contemporaneamente n oscillatori portanti, ciascuno con una
propria ampiezza e frequenza, si genera un suono dallo spettro molto
più complesso. I parametri possono inoltre variare nel tempo.
• La complessità dello spettro è legata all’indice di modulazione: se
l’indice aumenta, aumenta la larghezza di banda dello spettro.
• Esempio: → 18_05_nport_1mod.csd
• Analogamente, è possibile costruire strumenti FM complessi in cui n
oscillatori, con inviluppi d’indice di modulazione differenti, modulano
un singolo oscillatore portante con inviluppo d’ampiezza indipendente.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Simulazione di suoni strumentali
• Fin dai primordi dell’utilizzazione della FM in campo
musicale, se ne è apprezzata la caratteristica di poter
ottenere suoni complessi (con timbri molto ricchi)
partendo da un numero esiguo di oscillatori.
• Ad esempio, John Chowning (Stanford University) nei primi
anni ‘50 ottenne con 2 oscillatori un timbro che in sintesi
additiva ne avrebbe richiesti 50.
• Il sistema fu brevettato e utilizzato da Yamaha per
costruire i primi sintetizzatori in FM, tra cui il GS1, e il
celeberrimo DX7 del 1983.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Simulazione di suoni strumentali
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Simulazione di suoni strumentali
• Simulazione del timbro di clarinetto: questo strumento produce quasi
esclusivamente armoniche dispari. Lo si può ottenere in FM con una
modulante la cui frequenza sia il doppio di quella della portante.
• Simulazione del timbro degli ottoni: i suoni prodotti da tromba, corno
e trombone iniziano con un suono puro (sinusoide) per evolvere poi
rapidamente verso un spettro complesso. Questo effetto si può
simulare iniziando con un indice di modulazione nullo e aumentandolo
rapidamente fino al valore soglia 4 durante l’attacco, per poi farlo
decrescere a 0. L’effetto può essere migliorato introducendo una
«incertezza» nella frequenza in fase di attacco.
• Simulazione del timbro di strumenti a intonazione indeterminata
(campane, gong, piatti): si usa un rapporto irrazionale tra le frequenze
di portante e modulante, generando spettro inarmonico.
Programmazione timbrica - Prof. Luca A. Ludovico
Modulazione di frequenza
Scarica

Modulazione di frequenza