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