1 elaborazione numerica del suono. 2 campionamento campionare un segnale elettrico significa...
TRANSCRIPT
1Elaborazione numerica del suono
Elaborazione numerica del suonoElaborazione numerica del suono
2Elaborazione numerica del suono
CampionamentoCampionamento
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
3Elaborazione numerica del suono
Discretizzazione in ampiezza e nel tempoDiscretizzazione in ampiezza e nel tempo
V
Segnale analogico
Segnale digitale (campionato)
4Elaborazione numerica del suono
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”.
5Elaborazione numerica del suono
ESEMPIESEMPI
CD audio – fc = 44.1 kHz – risoluzione 16 bitLa 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 bitLa 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 bitLa 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.
6Elaborazione numerica del suono
Risposta all’impulsoRisposta all’impulso
7Elaborazione numerica del suono
Un semplice sistema lineareUn 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
8Elaborazione numerica del suono
Filtraggio FIR (Finite Impulse Response)Filtraggio FIR (Finite Impulse Response)
)i(x)(x )i(h)(h )i(y)(y
L’effetto del sistema lineare h sul segnale x è descrivibile tramite l’operazione di convoluzione discretizzata:
jhjix)i(y1N
0j
Tale operazione si chiama anche filtraggio FIR – quindi qualunque sistema fisico che opera linearmente (senza distorsione) è in realtà un filtro FIR. In notazione compatta:
jhix)i(y Operatore “convoluzione”
9Elaborazione numerica del suono
Filtraggio IIR (Infinite Impulse Response)Filtraggio IIR (Infinite Impulse Response)
)i(x)(x )i(y)(y
L’effetto del sistema lineare sul segnale x è descrivibile alternativamente anche tramite un filtraggio “ricorsivo”:
jbjiyjajix)i(y1N
1j
1N
0j
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
10Elaborazione numerica del suono
L’algoritmo FFTL’algoritmo FFT
La trasformata veloce di Fourier è molto impiegata in acustica. Gli scopi sono principalmente due:o Analsi spettrale in banda costanteo 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)
11Elaborazione numerica del suono
L’algoritmo FFTL’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)
12Elaborazione numerica del suono
La convoluzione e’ piu’ efficente se effettuata nel dominio della frequenza:
Problemi • Occorre acquisire l’intero segnale prima di poterlo filtrare• se n è grande occorre una FFT che occupa molta memoria.
x(n) X(k)FFT
X(k) H(k)
Y(k)y(n) IFFT
x(n) h(n)
y(n)
Soluzione • Algoritmo “Overlap & Save”
Filtraggio FIR veloce mediante FFTFiltraggio FIR veloce mediante FFT
13Elaborazione numerica del suono
FFTN-point
FFTN-point
xIFFT
Xm(k)H(k)
Select lastN – Q + 1samples
Append to y(n)
xm(n)
h(n)
Convoluzione veloce FFT con Overlap & Save (Oppenheim & Shafer, 1975):
Problemi • Eccessiva latenza di processamento fra input ed output• Se N è grande, continua a servire molta memoria
Soluzione • Algoritmo “uniformly-partitioned Overlap & Save”
Schema a blocchi Overlap & SaveSchema a blocchi Overlap & Save
14Elaborazione numerica del suono
La risposta all’impulso del filtro h(n) e’ anch’essa partizionata in blocchi di uguale dimensione (K punti)
1st block 2nd block 3rd block 4th block
Uniformly Partitioned Overlap & Save