UNIVERSITÀ DEGLI STUDI DI PARMA
FACOLTÀ DI INGEGNERIA
Corso di Laurea in Ingegneria delle
Telecomunicazioni
FILTRAGGIO DI SEGNALI AUDIO SU
PIATTAFORMA DSP MEDIANTE ALGORITMO
DI CONVOLUZIONE FFT PARTIZIONATA
Tesi di Laurea di:
Christian Giottoli
2
ARGOMENTO
Implementazione su scheda DSP di un nuovo
sistema di filtraggio real-time di segnali audio
OBIETTIVO
Effettuare filtraggi utilizzando risposte
all’impulso (IR) dell’ordine di 100.000 samples
100.000 samples (@48Khz)
sono circa 2 sec.
Valore tipico di IR di ampi
spazi chiusi: teatri, chiese, ...
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
3
DSP e CONVOLUZIONE
Alla base del filtraggio fra segnali audio e filtri digitali (risposte
all’impulso) sta la semplice formulazione matematica di convoluzione
N 1
y(i)   x(i  j )  h( j )
j 0
DSP Analog Devices 21161N
Multiply and ACcumulate
y:=0;
FOR n:=0 TO N-1 DO
y:= y + a[n]·x[n];
Operazione ottimizzata su DSP
Eseguita in un solo ciclo macchina
Clock core 100 Mhz
Limite teorico 2000 MAC fra samples (@48Khz)
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
4
5
FILTRARE IN FREQUENZA?
Esistono algoritmi efficienti per calcolare la DFT (FFT)
Conviene effettuare il filtraggio in frequenza:
x(n)
FFT
x(n)  h(n)
y(n)
Difetti
Soluzione
X(k)
X(k)  H(k)
IFFT
Y(k)
•Prima acquisizione, poi filtraggio
•FFT di un numero troppo elevato
Algoritmi di Overlap: Overlap and Add, Overlap and Save
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
6
OVERLAP AND SAVE
Difetti
Soluzione
•
Tempo di latenza eccessivo
•
Problemi di gestione memoria
interna
Overlap and Save Partizionato
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
7
OVERLAP AND SAVE PARTIZIONATO
1° blocco
2° blocco
3° blocco
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
4° blocco
Parma,
29/04/2003
8
OVERLAP AND SAVE PARTIZIONATO (2)
•
Riduzione tempo di latenza
•
Miglior sfruttamento processore
•
1 FFT di M punti sostituita da P FFT ognuna di L punti
•
Miglior ripartizione carico computazionale
•
Maggior flessibilità nello scegliere lunghezza IR
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
9
10
SIMULAZIONI MATLAB
Convoluzione (Matlab)
Filtro digitale
X
Overlap Save Part. (Matlab)
X
Stream di ingresso
Overlap Save Part. (DSP)
X
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
11
PING PONG BUFFER
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
12
ELABORA
From
input_buffer
FFT[A]
FFT[B]
Filter[0]
X
Filter[1]
A
B0
X
X
Filter[2]
A
B1
Filter[3]
X
A
B3
A
B2
Computation circular buffer
A
B30
B0A
+A
1 1
IFFT[A]
IFFT[B]
To
output_buffer
To
output_buffer
B1A
+A
2 2
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
B2A
+A
3 3
Parma,
29/04/2003
13
14
EFFICIENZA
•
FFT 8192 punti
•
Latenza 8192/48000 = 0,17 sec
•
TAPS 50% => Eff. MAX
27 blocchi * 4096 =
110592 punti
Obiettivo raggiunto !!
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
15
PROVE D’ASCOLTO
Con 2 DSP è stato possibile comandare:
4 riverberatori
2 stereodipoli (A,P)
Registrazione anecoica:
Risposta all’impulso:
Stop
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
16
CONCLUSIONI
Convoluzione con IR da 110592
samples (@48Khz, 8192 FFT,
50%taps, 27 blocchi)
Pagando un tempo di
latenza pari a 0,17 sec.
SVILUPPI FUTURI
Aumentare la geometria
Interfacciare il DSP con
memorie esterne sulle quali
salvare le risposte all’impulso
dei vari teatri, chiese...
Filtraggio di segnali audio su piattaforma DSP mediante
algoritmo di convoluzione FFT partizionata
Parma,
29/04/2003
17
FINE
presentazione di
Christian Giottoli
Scarica

presentazione_Chris3