Laureando:Emanuele Viviani
Università degli Studi di Trieste
Facoltà di Ingegneria
Relatore:Prof. Stefano Marsi
Anno Accademico 2009-2010
Sistema versatile di elaborazione audio
◦ Filtri passa basso
◦ Filtri passa alto
◦ Filtri passa banda
◦ …
Implementazione di un filtro adattativo
◦ Algoritmo LMS
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Classe di filtri i cui coefficienti variano nel tempo
Riduzione del rumore:◦ s+n1: segnale utile con sovrapposta una
componente rumorosa;◦ n2: rumore correlato a quello che si sovrappone al
segnale utile.
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Realizzazione di un filtro FIR di ordine elevato
◦ Lunghezza del filtro regolabile
◦ Coefficienti modificabili
◦ Numero di bit significativi dei coefficienti regolabile
Implementazione di un processore
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
FPGA◦ Cyclone II EP2C20F484C7 Altera
I/O Devices◦ Built-in USB Blaster for FPGA configuration◦ Line-in, Line-out, Mic-in (24-bit audio CODEC)
Memory◦ 8-MB SDRAM
Switches, LEDs, Displays, and Clocks◦ 10 toggle switches◦ 4 debounced pushbutton switches◦ 10 red LEDs, 8 green LEDs◦ 27-MHz and 50-MHz oscillators
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Descrizione Valori
Frequenza di campionamento del codec audio 8KHz, 32KHz
Lunghezza del filtro 1 - 1023
Rappresentazione dei campioni audio 15 bit interi con segno
Rappresentazione dei coefficienti 31 bit fixed point con segno
Numero di bit significativi nella
rappresentazione usata per i coefficienti0 - 31
Frequenza di lavoro del processore e della
SDRAM100 MHz
Frequenza di lavoro del filtro 100 MHz
Tempo impiegato dal filtro per il calcolo del
campione
96 ns con L_FIR = 1
10,3 us con L_FIR = 1023
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Interfaccia
audio
Interfaccia
audio Filtro FIRFiltro FIR
R
L
R
L
Nios II
System
Nios II
System
Interfaccia
audio
Interfaccia
audio
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
SelettoreSelettore
s+n1
n2
Genera i segnali di sincronismo
Riceve i segnali dell’ADC
Invia i campioni al filtro
Riceve i dati elaborati
Invia i dati al DAC
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Interfaccia
audio
Interfaccia
audio
R
L
R
L
UscitaSommatore
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
FIRFIRx[n] y[n]
Un blocco MAC (Multiply-Accumulate) Una memoria coefficienti Una memoria dati Blocco di sincronismo
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Ingressoaudio
MACMAC
NuoviCoefficienti
Lunghezza filtro
Blocco di sincronismo
Blocco di sincronismo
MemoriaDati
MemoriaDati
MemoriaCoefficienti
MemoriaCoefficienti
UscitaFiltro
1024 parole a 16 bit
Memoria dual port
Indirizzamento circolare◦ Un puntatore scrittura◦ Un puntatore lettura
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
1024 parole a 32 bit
Memoria dual port
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Intellectual Property fornito da Altera
Sfrutta i componenti hardware integrati nella FPGA
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Controlla la lettura dalle memorie
Imposta il sincronismo tra i dati e l’esecuzione delle MAC
Ferma l’esecuzione delle MAC quando viene raggiunta la lunghezza del filtro richiesta
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Seleziona il segnale d’uscita:◦ Il risultato del filtro◦ La differenza tra un segnale secondario e l’uscita
del filtro◦ Il segnale secondario
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
SelettoreSelettore
IngressoAudio secondario
PrecisioneCoefficienti
SelezioneUscita
Uscitaaudio
UscitaFiltro
Sistema SOPC (system-on-a-programmable-chip) Formato da:
◦ Processore «Fast» della famiglia «Nios II»◦ On chip RAM◦ External SDRAM Controller◦ Audio and Video Config◦ Parallel I/O Port per il controllo del filtro◦ Parallel I/O Port per le periferiche esterne
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Canale destro:
◦ Ottenuto come somma di:
Sinusoide a 1KHz
Rumore bianco
Canale sinistro:
◦ Rumore correlato
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA
GRAZIE
Progetto di un’architettura versatile per l’elaborazione di segnali audio su FPGA