realizzazione di filtri adattativi su fpga
TRANSCRIPT
![Page 1: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/1.jpg)
Laureando:LENISA ALAN
Relatore:Prof. STEFANO MARSI
UNIVERSITA’ DEGLI STUDI DI TRIESTEDipartimento di Ingegneria e Architettura
ANNO ACCADEMICO 2014/2015
Corso di Studi in Ingegneria Elettronica Teledidattico
![Page 2: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/2.jpg)
Realizzazione di un filtro adattativo
Applicazioni in campo audio
Fattibilità su FPGA
Realizzazione di filtri adattativi su FPGA
![Page 3: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/3.jpg)
Realizzazione di filtri adattativi su FPGA
FPGA Cyclone II EP2C20F484C7 Altera Interfacce
Line-in, Line-out ( Mic-in) 24-bit audio CODEC
Memoria 8-MB SDRAM
Oscillatori (max 50 MHz) Switch LED Altro…
![Page 4: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/4.jpg)
Implementazione: Elaborazione audio su FPGA Aggiornamento coefficienti da software (NIOS II)
Realizzazione di filtri adattativi su FPGA
Filtro i cui coefficienti vengono variati nel tempo in relazione all’ingresso
Errore e(n): segnale desiderato d(n) – uscita del filtro y(n)
Flessibilità
![Page 5: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/5.jpg)
Ne esistono molti .
Si sono presi in considerazione due semplici
Realizzazione di filtri adattativi su FPGA
LMS (Least Mean Squared)
NLMS (Normalized LMS)
![Page 6: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/6.jpg)
Realizzazione di filtri adattativi su FPGA
Descrizione ValoreFrequenza di lavoro 50 MHzFrequenza di campionamento 32 KHzOrdine del filtro 1 - 1024N° bit dei campioni audio 24N° bit dei coefficienti del filtro 1-24
![Page 7: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/7.jpg)
Riduzione del rumore per mezzo di un riferimento x(n): rumore misurato a distanza (il riferimento) Il rumore effettua un certo percorso d(n): segnale +
rumore correlato a x(n) e(n): segnale ripulito
Il canale viene modellato dal filtro
Realizzazione di filtri adattativi su FPGA
![Page 8: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/8.jpg)
Per l’ audio Velocità finita ( in aria pari a circa 340 m/s) Attenuazione Diffrazione Riflessioni (riverberazione) Altro …
Fenomeni fisici di interesse nell’applicazione
Possono essere necessari filtri di ordine elevato
![Page 9: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/9.jpg)
Realizzazione di filtri adattativi su FPGA
•Progetto, realizzazione e test del filtro FIR•Realizzazione del sistema adattativo
![Page 10: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/10.jpg)
Con un multiply-accumulate (MAC)(Approccio ricorsivo anziché «parallelo»)
Realizzazione di filtri adattativi su FPGA
Implementa
Utilizzo di Simulink e HDL-Coder
![Page 11: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/11.jpg)
Multiply-Accumulate
Memoria campioni
Memoria coefficienti
Segnali di controllo e sincronismoRealizzazione di filtri adattativi su FPGA
Buffer circolari (viene sovrascritto il dato più obsoleto)}
![Page 12: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/12.jpg)
Scrittura del nuovo campione Azzeramento uscita Lettura memorie (N volte) Calcolo intermedio Presentazione risultato in
uscita Attesa nuovo campione
Realizzazione di filtri adattativi su FPGA
Nuovo camp.
Azzer.
Lett. e calcolo
Out
In presenza di un nuovo campione:
![Page 13: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/13.jpg)
Per mezzo di strumenti quali “Signal Tap Analizer”:
Tempo di elaborazione filtro di ordine N:
t = (7 + N) * 1/f [s]
Con N=512 e f=50 MHz: t = 10,3 μs
Con fc=32kHz si ha Nmax = 1540 circa
Realizzazione di filtri adattativi su FPGA
![Page 14: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/14.jpg)
Acquisizione tramite interrupt non praticabile
Rilievi di tempi di lettura/scrittura sulle porte I/O
con “Signal Tap Analizer”
Fattibilità di lettura dei campioni con polling
Realizzazione di filtri adattativi su FPGA
A: segnale commutato sulla porta di I/OB: clock audio (visualizzato per confronto)
![Page 15: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/15.jpg)
Su un filtro di N=4 circa il tempo di 40 campioni (1:10)
E’ ragionevole considerare la proporzionalità tra
ordine del FIR e tempo di aggiornamento
Realizzazione di filtri adattativi su FPGA
A: In arancio il periodo di calcoloB: In verde il tempo di aggiornamentoC: clock audio
![Page 16: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/16.jpg)
Con 512 coefficienti si ha aggiornamento in intervalli lunghi (> 5000 campioni): non praticabile
Si è ridotto il filtro a 64 coefficienti
Segnale vocale
Segnale + rumore
Segnale adattato
Rumore residuo
Simulazione per determinare μ
![Page 17: Realizzazione di filtri adattativi su fpga](https://reader035.vdocumenti.com/reader035/viewer/2022081521/58efc8971a28abd1368b45bd/html5/thumbnails/17.jpg)
Si riscontra la diminuzione del rumore
Realizzazione di filtri adattativi su FPGA
Software su PC di riproduzione (audio di prova) e registrazione (uscita della DE1)
Destro:rumore (rif.)
Sinistro: segnale + rumore
(disponibile un video dimostrativo)