Realizzazione di filtri adattativi su fpga
-
Upload
alan-lenisa -
Category
Education
-
view
173 -
download
0
Transcript of Realizzazione di filtri adattativi su fpga
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
Realizzazione di un filtro adattativo
Applicazioni in campo audio
Fattibilità su FPGA
Realizzazione di filtri adattativi su FPGA
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…
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à
Ne esistono molti .
Si sono presi in considerazione due semplici
Realizzazione di filtri adattativi su FPGA
LMS (Least Mean Squared)
NLMS (Normalized LMS)
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
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
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
Realizzazione di filtri adattativi su FPGA
•Progetto, realizzazione e test del filtro FIR•Realizzazione del sistema adattativo
Con un multiply-accumulate (MAC)(Approccio ricorsivo anziché «parallelo»)
Realizzazione di filtri adattativi su FPGA
Implementa
Utilizzo di Simulink e HDL-Coder
Multiply-Accumulate
Memoria campioni
Memoria coefficienti
Segnali di controllo e sincronismoRealizzazione di filtri adattativi su FPGA
Buffer circolari (viene sovrascritto il dato più obsoleto)}
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:
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
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)
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
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 μ
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)
Realizzazione di filtri adattativi su FPGA