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
INTRODUZIONE 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, 3 29/04/2003
DSP e CONVOLUZIONE Multiply and ACcumulate DSP Analog Devices 21161N Alla base del filtraggio fra segnali audio e filtri digitali (risposte all’impulso) sta la semplice formulazione matematica di convoluzione Multiply and ACcumulate y:=0; FOR n:=0 TO N-1 DO y:= y + a[n]·x[n]; DSP Analog Devices 21161N 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, 4 29/04/2003
IL FILTRAGGIO IN FREQUENZA 5
FILTRARE IN FREQUENZA? Esistono algoritmi efficienti per calcolare la DFT (FFT) Conviene effettuare il filtraggio in frequenza: x(n) X(k) FFT x(n) h(n) X(k) H(k) Y(k) y(n) y(n) IFFT Prima acquisizione, poi filtraggio Difetti FFT di un numero troppo elevato Soluzione Algoritmi di Overlap: Overlap and Add, Overlap and Save Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 6 29/04/2003
OVERLAP AND SAVE Overlap and Save Partizionato Difetti Tempo di latenza eccessivo Problemi di gestione memoria interna Soluzione Overlap and Save Partizionato Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 7 29/04/2003
OVERLAP AND SAVE PARTIZIONATO 1° blocco 2° blocco 3° blocco 4° blocco Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 8 29/04/2003
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, 9 29/04/2003
IMPLEMENTAZIONE SU DSP 10
SIMULAZIONI MATLAB Convoluzione (Matlab) Filtro digitale X Overlap Save Part. (Matlab) Stream di ingresso Overlap Save Part. (DSP) Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 11 29/04/2003
PING PONG BUFFER Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 12 29/04/2003
Computation circular buffer ELABORA From input_buffer FFT[A] FFT[B] X Filter[0] X Filter[1] X Filter[2] X Filter[3] B0 B2 B3 B1 A0 A2 A3 A1 Computation circular buffer A0 B3 A1 B0+A1 B1+A2 A2 B2+A3 A3 IFFT[A] To output_buffer IFFT[B] To output_buffer Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 13 29/04/2003
RISULTATI SPERIMENTALI 14
EFFICIENZA Obiettivo raggiunto !! 110592 punti 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, 15 29/04/2003
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, 16 29/04/2003
CONCLUSIONI SVILUPPI FUTURI 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, 17 29/04/2003
FINE presentazione di Christian Giottoli