Realizzazione di filtri adattativi su fpga

Post on 14-Apr-2017

175 views 0 download

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

alan.lenisa@gmail.com