1. 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
2. Realizzazione di un filtro adattativo
Applicazioni in campo audio
Fattibilità su FPGA
Realizzazione di filtri adattativi su FPGA
3. 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…
4. 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à
5. Ne esistono molti .
Si sono presi in considerazione due semplici
Realizzazione di filtri adattativi su FPGA
LMS (Least Mean
Squared)
NLMS
(Normalized LMS)
6. Realizzazione di filtri adattativi su FPGA
Descrizione Valore
Frequenza di lavoro 50 MHz
Frequenza di campionamento 32 KHz
Ordine del filtro 1 - 1024
N° bit dei campioni audio 24
N° bit dei coefficienti del filtro 1-24
7. 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
8. 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
9. Realizzazione di filtri adattativi su FPGA
•Progetto, realizzazione e
test del filtro FIR
•Realizzazione del sistema
adattativo
10. Con un multiply-accumulate (MAC)
(Approccio ricorsivo anziché «parallelo»)
Realizzazione di filtri adattativi su FPGA
Implementa
Utilizzo di Simulink e HDL-Coder
11. Multiply-Accumulate
Memoria campioni
Memoria coefficienti
Segnali di controllo e sincronismo
Realizzazione di filtri adattativi su FPGA
Buffer circolari (viene
sovrascritto il dato più
obsoleto)
}
12. 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:
13. 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
14. 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/O
B: clock audio (visualizzato per confronto)
15. 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 calcolo
B: In verde il tempo di aggiornamento
C: clock audio
16. 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 μ
17. 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)