Realizzazione di filtri adattativi su fpga

18
Laureando: LENISA ALAN Relatore: Prof. STEFANO MARSI UNIVERSITA’ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura ANNO ACCADEMICO 2014/2015 Corso di Studi in Ingegneria Elettronica Teledidattico

Transcript of Realizzazione di filtri adattativi su fpga

Page 1: 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

Page 2: Realizzazione di filtri adattativi su fpga

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

Page 18: Realizzazione di filtri adattativi su fpga

Realizzazione di filtri adattativi su FPGA

[email protected]