Elaborazione numerica del suono
Elaborazione numerica del suono
Campionamento Campionamento
Campionare un segnale elettrico significa determinare il suo valore ad intervalli prefissati di tempo.
La frequenza di campionamento (fc) è il numero di campioni ottenuti in 1 secondo
Inoltre il valore ottenuto è noto solo con precisione finita, causa il “numero di bit” del convertitore, che è limitato (tipicamente compreso fra 16 e 24)
Conseguentemente, su un piano ampiezza-
tempo, la forma d’onda analogica è approssimata da una serie di punti giacenti sui nodi di un
reticolo
Discretizzazione in ampiezza e nel tempo Discretizzazione in ampiezza e nel tempo
V
Segnale analogico
Segnale digitale (campionato)
Puo’ il segnale campionato rappresentare Puo’ il segnale campionato rappresentare
“fedelmente” quello originale?
“fedelmente” quello originale?
Sì, ma solo se si rispetta il teorema di Shannon:
“La frequenza di campionamento deve essere almeno doppia della frequenza del segnale analogico che viene campionato”
La frequenza pari a metà di fc viene detta “frequenza di Nyquist” – onde evitare che segnali a frequenza maggiore di essa siano presenti all’ingresso del campionatore,
occorre un filtro analogico passa-basso che elimini ogni segnale al di sopra della frequenza di Nyquist. Tale filtro viene detto “anti Aliasing”.
ESEMPI ESEMPI
CD audio – fc = 44.1 kHz – risoluzione 16 bit
La frequenza di Nyquist è dunque pari a 22.05 kHz, ed il filtro anti-aliasing comincia a tagliare attorno ai 20 kHz, affinchè a 22.05 kHz il segnale sia attenuato di un’ottantina di dB.
Registratore DAT – fc = 48 kHz – risoluzione 16 bit
La frequenza di Nyquist è dunque pari a 24 kHz, ed il filtro anti- aliasing comincia a tagliare sempre attorno ai 20 kHz, affinchè a 24 kHz il segnale sia attenuato di un’ottantina di dB.
DVD Audio – fc = 96 kHz – risoluzione 24 bit
La frequenza di Nyquist è dunque pari a 48 kHz, ma il filtro anti- aliasing comincia a tagliare attorno ai 24 kHz, affinchè a 48 kHz il segnale sia attenuato di oltre 120 dB. Un filtro siffatto è molto meno ripido di quello del CD o del DAT, e conseguentemente è molto più “corto” nel tempo e non distorce la forma d’onda.
Risposta all’impulso
Risposta all’impulso
Un semplice sistema lineare Un semplice sistema lineare
Lettore CD Amplificatore Altoparlante Microfono Sistema fisico (un ingresso, una uscita)
Schema a blocchi
x() h() y()
Input signal System’s Impulse Response (Transfer function)
Output signal Sistema
Analizzatore
Filtraggio FIR (Finite Impulse Response) Filtraggio FIR (Finite Impulse Response)
) i
( x )
(
x h ( ) h ( i ) y ( ) y ( i )
L’effetto del sistema lineare h sul segnale x è descrivibile tramite l’operazione di convoluzione discretizzata:
i j h j
x )
i (
y
N 10 j
Tale operazione si chiama anche filtraggio FIR – quindi qualunque sistema fisico che opera linearmente (senza distorsione) è in realtà un filtro FIR. In notazione compatta:
i h j
x )
i (
y
Operatore “convoluzione”
Filtraggio IIR (Infinite Impulse Response) Filtraggio IIR (Infinite Impulse Response)
) i
( x )
(
x y ( ) y ( i )
L’effetto del sistema lineare sul segnale x è descrivibile alternativamente anche tramite un filtraggio “ricorsivo”:
i j a j y i j b j
x )
i (
y N 1
1 j 1
N 0 j
In pratica, quindi, il segnale y, già filtrato agli istanti precedenti viene usato per calcolare il nuovo campione del segnale filtrato.
In molti casi pratici questo consente di rappresentare
fedelmente un sistema (un filtro) con un ridotto numero di
coefficienti A e B, mentre con il filtraggio FIR, per effettuare un identico filtraggio, sarebbero occorsi migliaia di coefficienti.
) j ( b
)
j
(
a
L’algoritmo FFT L’algoritmo FFT
La trasformata veloce di Fourier è molto impiegata in acustica.
Gli scopi sono principalmente due:
o Analsi spettrale in banda costante o Filtraggio FIR veloce
L’FFT consente il passaggio fra un segnale nel tempo (“forma d’onda”) e la sua rappresentazione in frequenza (“spettro”), con risoluzione a bande costanti da 0 Hz (DC) alla frequenza di
Nyquist (metà della frequenza di campionamento)
Maggiore è la lunghezza del segnale nel tempo analizzato, migliore sarà la risoluzione in frequenza dello spettro ottenuto:
[N punti campionati nel tempo] => [N/2+1 bande in frequenza]
(il +1 rappresenta la risposta alla frequenza 0, cioè la componente continua del segnale, che in acustica si assume per definizione nulla, in quanto la pressione atmosferica viene sottratta)
L’algoritmo FFT L’algoritmo FFT
Il numero di punti processati e deve essere sempre una potenza di 2, ad esempio 4096, 8192, 16384, etc.
Segnale nel tempo (64 punti)
FFT
Spettro in frequenza (32 bande + DC)
IFFT
E’ anche possibile la trasformata inversa (da spettro a segnale nel tempo)
Spettro complesso, autospettro Spettro complesso, autospettro
L’FFT produce uno spettro complesso, a ciascuna frequenza si ottiene un valore costituito da parte reale o immaginaria (Pr, Pi), o, in modo
equivalente, da modulo e fase
In molti casi la fase e’ considerata priva di importanza, e si visualizza solo lo spettro del modulo quadrato del segnale, nella scala in dB:
o2 2 10
o i 2 r 2
10 p
2 / N 2
1 0 N
4 3 2 1
p
f ' P f
log P p 10
f P f
log P 10
f L
} P
,...
P , P , P { ]
FFT [
} p ,..., p
, p , p , p {
La seconda forma dell’espressione contiene il cosiddetto AUTOSPETTRO del segnale, ottenuto moltiplicando, a ciascuna frequenza il valore
complesso P(f) per il suo complesso coniugato P’(f)
Spettro complesso, autospettro Spettro complesso, autospettro
In altri casi invece è importante anche l’informazione di fase (soprattutto
quando si fa l’FFT di una risposta
all’impulso, e non di un semplice segnale di pressione).
Essa viene
presentata in un diagramma
apposito.
Il “leakage” e le finestre (“window”) Il “leakage” e le finestre (“window”)
Una delle premesse dell’analisi di Fourier è che il segnale analizzato deve essere un periodo esatto di una forma d’onda periodica
Questo in generale non è vero. Il mancato raccordo fra ultimo campione del blocco analizzato e primo campione del blocco idealmente
successivo (identico a quello analizzato, visto che il segnale è assunto periodico), causa un “click”, che si traduce in uno spettro contaminato da rumore a larga banda (“leakage”):
Spettro teorico
Leakage
Il “leakage” e le finestre (“window”) Il “leakage” e le finestre (“window”)
Per analizzare una arbitraria forma d’onda non avente periodo
coincidente con il numero di campioni N, o un segnale assolutamente aperiodico, occorre dunque “finestrare” il segnale contenuto nel blocco, portandolo gradatamente a zero agli estremi
Si usano a questo scopo varie “window”, aventi strani nomi tipo
“Hanning”, “Hamming”, “Blackmann”, “Kaizer”, “Bartlett”, “Parzen”, etc.
L’overlap L’overlap
Il problema dell’uso delle Window è che tendono a non analizzare il segnale che capita vicino al punto di giunto fra due blocchi di FFT
Onde evitare questa perdita di informazioni, occorre procedere analizzando non blocchi di N campioni consecutivi, ma blocchi
parzialmente overlappati, perlomeno al 50%, e idealmente anche al 75%
Block 1 Window FFT
Block 2 Window FFT
Block 3 Window FFT
Media, waterfall, spettrogramma Media, waterfall, spettrogramma
Ottenuta una sequenza di spettri FFT nel tempo, si possono fare medie esponenziali (Fast, Slow) o lineari (Leq)
Oppure si può visualizzare l’evolvere dello spettro nel tempo secondo le modalità grafiche dette “waterfall” e “spettrogramma”