Elaborazione numerica del suono
Elaborazione numerica del suono
1
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 ampiezzatempo, la forma d’onda analogica è approssimata
da una serie di punti giacenti sui nodi di un
reticolo
Elaborazione numerica del suono
2
Discretizzazione in ampiezza e nel tempo
DV
Dt
Segnale analogico
Segnale digitale (campionato)
Elaborazione numerica del suono
3
Puo’ il segnale campionato rappresentare
“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”.
Elaborazione numerica del suono
4
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 antialiasing 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 antialiasing 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.
Elaborazione numerica del suono
5
Risposta all’impulso
Elaborazione numerica del suono
6
Un semplice sistema lineare
Sistema fisico (un ingresso, una uscita)
Lettore CD
Amplificatore
Altoparlante
Microfono
Analizzatore
Sistema
Schema a blocchi
x(t)
h(t)
y(t)
Input signal
System’s Impulse
Response
(Transfer function)
Output signal
Elaborazione numerica del suono
7
Filtraggio FIR (Finite Impulse Response)
x ( t )  x ( i  Dt )
h( t)  h (i  Dt)
y( t)  y(i  Dt)
L’effetto del sistema lineare h sul segnale x è descrivibile
tramite l’operazione di convoluzione discretizzata:
N 1
y(i)   x i  j  h j
j0
Tale operazione si chiama anche filtraggio FIR – quindi
qualunque sistema fisico che opera linearmente (senza
distorsione) è in realtà un filtro FIR. In notazione compatta:
y(i)  xi   h j
Operatore “convoluzione”
Elaborazione numerica del suono
8
Filtraggio IIR (Infinite Impulse Response)
x ( t )  x ( i  Dt )
a ( j) 


b( j) 
y( t)  y(i  Dt)
L’effetto del sistema lineare sul segnale x è descrivibile
alternativamente anche tramite un filtraggio “ricorsivo”:
y( i ) 
N 1
N 1
j0
j1
 x i  j  a  j   yi  j  b 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.
Elaborazione numerica del suono
9
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)
Elaborazione numerica del suono
10
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)
IFFT
FFT
E’ anche possibile la trasformata inversa
(da spettro a segnale nel tempo)
Spettro in frequenza
(32 bande + DC)
Elaborazione numerica del suono
11
Filtraggio FIR veloce mediante FFT
La convoluzione e’ piu’ efficente se effettuata nel
dominio della frequenza:
x(n)
FFT
x(n)  h(n)
y(n)
X(k)
X(k)  H(k)
IFFT
Y(k)
Problemi
• Occorre acquisire l’intero segnale prima di poterlo filtrare
• se n è grande occorre una FFT che occupa molta memoria.
Soluzione
• Algoritmo “Overlap & Save”
Elaborazione numerica del suono
12
Schema a blocchi Overlap & Save
Convoluzione veloce FFT con Overlap & Save (Oppenheim &
Shafer, 1975):
xm(n)
FFT
N-point
x
h(n)
IFFT
Xm(k)H(k)
Select last
N–Q+1
samples
FFT
N-point
Append to
y(n)
Problemi
• Eccessiva latenza di processamento fra input ed output
• Se N è grande, continua a servire molta memoria
Soluzione
• Algoritmo “uniformly-partitioned Overlap & Save”
Elaborazione numerica del suono
13
Uniformly Partitioned Overlap & Save
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
Elaborazione numerica del suono
14
Scarica

Campionamento