UNIVERSIT DEGLI STUDI DI PARMA FACOLT DI INGEGNERIA

  • Slides: 18
Download presentation
UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria delle

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

2

ARGOMENTO Implementazione su scheda DSP di un nuovo sistema di filtraggio real-time di segnali

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 (@48 Khz) 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

DSP e CONVOLUZIONE 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; DSP Analog Devices 21161 N 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 (@48 Khz) Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata Parma, 29/04/2003 4

5

5

FILTRARE IN FREQUENZA? Esistono algoritmi efficienti per calcolare la DFT (FFT) Conviene effettuare il

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) 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

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

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

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

10

SIMULAZIONI MATLAB Convoluzione (Matlab) Filtro digitale X Overlap Save Part. (Matlab) Stream di ingresso

SIMULAZIONI MATLAB Convoluzione (Matlab) Filtro digitale X Overlap Save Part. (Matlab) Stream di ingresso X 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

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 B 0 X X Filter[2]

ELABORA From input_buffer FFT[A] FFT[B] Filter[0] X Filter[1] A B 0 X X Filter[2] A B 1 Filter[3] X A B 3 A B 2 Computation circular buffer A B 30 B 0 A +A 1 1 IFFT[A] IFFT[B] To output_buffer B 1 A +A 2 2 Filtraggio di segnali audio su piattaforma DSP mediante algoritmo di convoluzione FFT partizionata B 2 A +A 3 3 Parma, 29/04/2003 13

14

14

EFFICIENZA • FFT 8192 punti • Latenza 8192/48000 = 0, 17 sec • TAPS

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,

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 (@48 Khz, 8192 FFT, 50%taps, 27 blocchi)

CONCLUSIONI Convoluzione con IR da 110592 samples (@48 Khz, 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

FINE presentazione di Christian Giottoli