UNIVERSITÀ DEGLI STUDI DI PAVIA
FACOLTÀ DI INGEGNERIA
DIPARTIMENTO DI ELETTRONICA
PROGETTO ed OTTIMIZZAZIONE di un
FILTRO FIR mediante CASCATA di CELLE
BIQUADRATICHE
Relatore:
Prof. Carla Vacchi
Correlatore:
Ing. Everest Zuffetti
Elaborato di Laurea di:
Tedeschi Marika
FASI del LAVORO
•Scelta della struttura digitale da implementare
•Descrizione a livello di sistema in MATLABTM
•Descrizione ed ottimizzazione dell’architettura
hardware in VHDL
•Sintesi dei sorgenti VHDL
•Valutazione prestazioni ottenute
FASI del LAVORO
•Scelta della struttura digitale da implementare
•Descrizione a livello di sistema in MATLABTM
•Descrizione ed ottimizzazione dell’architettura
hardware in VHDL
•Sintesi dei sorgenti VHDL
•Valutazione prestazioni ottenute
SPECIFICHE del FILTRO
•12 bit in ingresso espressi in C2 con SNRin= 59.8 dB
•Ordine 11
•Risposta a fase lineare in banda passante FIR
•Banda di transizione pari a Fs-Fp= 5.58 MHz
|H(F)|
1+d1
d1  0.03
d2  0.06
1-d1
SNRout  66 dB
d2
0
Fp
Fs
Fc/4
1.92
7.5
10
F (MHz)
SCHEMA CONCETTUALE del
FILTRO come BLOCCO UNICO
12 bit
x(n)
z-1
h(0)
z-1
h(1)
z-1
h(2)
z-1
z-1
h(M-1)
h(3)
h(M)
y(n )
M
M
k 0
k 0
y(n)   h(k ) x(n  k )   bk x(n  k )
EFFETTI della
QUANTIZZAZIONE
zeri coef. inf.
poli coef. inf.
zeri coef. quant.
poli coef. quant.
assi
1
Parte immaginaria
0.5
si  
24
0
M

k 1
 siM k 
M
 (s  s )
i
l 1
l i
-0.5
-1
-1.5
-1
-0.5
0
Parte reale
0.5
1
1.5
l
bk
CELLA BIQUADRATICA
xk-1(n)
bk0
z-1
z-1
bk1
bk2
yk(n)
Hk (z )  bk,0  bk,1 z
1
 bk,2 z
2
CASCATA di CELLE
BIQUADRATICHE
x(n)
H1(z)
y1(n)
H2(z)
K
K
k 1
k 1
y2(n)
y(n)
HK(z)
H ( z )   H k ( z )  (bk , 0  bk ,1 z  bk , 2 z )
1
2
FASI del LAVORO
•Scelta della struttura digitale da implementare
•Descrizione a livello di sistema in MATLABTM
•Descrizione ed ottimizzazione dell’architettura
hardware in VHDL
•Sintesi dei sorgenti VHDL
•Valutazione prestazioni ottenute
ANALISI di SISTEMA
• DETERMINAZIONE del set di
coefficienti
• QUANTIZZAZIONE dei coefficienti
e analisi dei suoi effetti sulle prestazioni
del filtro
SET di COEFFICIENTI
NORMALIZZATI
b0
b1
b2
-0.4788
+1.0000
+0.0000
+1.0000
+0.5212
-0.4788
+0.5810
+1.0000
+0.5810
+1.0000
+0.9801
+1.0000
+1.0000
+0.0507
+1.0000
+1.0000
-0.6573
+1.0000
K
H ( z )   (bk , 0  bk ,1 z 1  bk , 2 z  2 )
k 1
SET di COEFFICIENTI
QUANTIZZATI
-0.4788
+1.0000
+1.0000
+0.5212
+0.0000
-0.4788
5 bit
5 bit
4 bit
-7
15
0
15
8
-7
4
7
4
1
1
1
+0.5810
+1.0000
+0.5810
+1.0000
+0.9801
+1.0000
+1.0000
+0.0507
+1.0000
2 bit
1
0
1
+1.0000
-0.6573
+1.0000
3 bit
3
-2
3
2 bit
MODIFICA dell’ORDINE
delle CELLE
12
bit
5 bit
15
bit
5 bit
20
bit
4 bit
24
bit
2 bit
25
bit
2 bit
26
bit
3 bit
+3
+5
+4
+1
+1
+2
28
bit
MODIFICA dell’ORDINE
delle CELLE
12
bit
2 bit
14
bit
2 bit
15
bit
3 bit
17
bit
5 bit
20
bit
4 bit
24
bit
5 bit
+2
+1
+2
+3
+4
+4
28
bit
QUANTIZZAZIONE d’USCITA
12
bit
1|1|1
14
bit
1|0|1
15
3|-2|3
bit
17
20
-7|15|0
4|7|4
bit
bit
24
28
15|8|-7
bit
bit
E’ possibile ridurre il numero di bit,
mantenendo SNR  66 dB?
•Divisione per una potenza di 2
•Arrotondamento
•Saturazione
ALGORITMO di ARROTONDAMENTO
e SATURAZIONE
Stringa di bit in uscita dal
5°stadio biquadratico:
b[3]=1AND
((b[23]=0)OR(b[2:0]=0))?
SI
b[23 : 0]
OUT:=b[23:4]+1
NO
OUT:=b[23:4]
NO
b[23:4]< -(2^17)?
NO
OUT:=b[21:4]
ESCI
b[23:4]>(2^17-1)?
SI
SATURA positivo:
OUT:=(2^17-1)
SI
SATURA negativo:
OUT:= -(2^17)
ESCI
ESCI
QUANTIZZAZIONE d’USCITA
Esempio: 5° stadio biquadratico
18 bit
4 bit
z -1
x4
22 bit
z -1
4 bit
x7
4 bit
22 bit
x4
22 bit
23 bit
24 bit
Q
U
A
N
T.
18 bit
RISULTATI MatLab
CELLA N.BIT IN
BIQUAD.
SNR IN
N.BIT
COEF.
COEFFICIENTI
N.BIT OUT
SNROUT
QUANTIZZATI
1
12
59.8 dB
2
[1
1
1]
14
64.36 dB
2
14
64.36 dB
2
[1
0
1]
14
66.05 dB
3
14
66.05 dB
3
[3
-2
3]
16
66.14 dB
4
16
66.14 dB
5
[ -7
15
0]
18
61.58 dB
5
18
61.58 dB
4
[4
7
4]
18
67.20 dB
6
18
67.20 dB
5
[ 15
8
-7]
17
66.22 dB
FASI del LAVORO
•Scelta della struttura digitale da implementare
•Descrizione a livello di sistema in MATLABTM
•Descrizione ed ottimizzazione dell’architettura
hardware in VHDL
•Sintesi dei sorgenti VHDL
•Valutazione prestazioni ottenute
DESCRIZIONE VHDL
TESTBENCH
Entity
DATI IN
INGRESSO
DEFINIZIONE
SEGNALI DI
CONTROLLO
FILTER
MEMORIZZAZIONE
SU FILE DEI DATI
IN USCITA
MatLab
PIPELINING
z -1
z -1
z -1
z -1
z -1
z -1
z -1
z -1
ff
+
Q
25 ns
+
Q
+
Q
+
Q
Tck = Tff + Tcomb
 Sommatori e moltiplicatori complessi  + area
 + potenza
 Pipelining: si inseriscono banchi di flip flop
PIPELINING
Dopo quali celle (biquadratica + quantizzatore)
inserire un banco di flip flop?
z
-
1
z
-
1
n-esima cella
biquadratica
+
Q
STRUTTURE DESCRITTE
in 1°biq
in
in
2°biq
2°biq
1°biq
2°biq
1°biq
in 1°biq
3°biq
ff
2°biq
ff
5°biq
Filter_2ff
ff
4°biq
3°biq
ff
4°biq
Filter
5°biq
4°biq
3°biqFilter_3ff
ff
4°biq
ff
Filter_6ff
3°biq
ff
6°biq
6°biq
6°biq
5°biq
5°biq
ff
6°biq
ff
out
out
ff
out
ff
ff
out
Filter
z -1
z -1
z -1
z -1
z -1
z -1
z -1
z -1
ff
+
Q
+
Q
+
Q
+
Q
In Tck attraversa 6 celle biquadratiche (non aggiunge latenza)
Filter_2ff
z -1
z -1
z -1
z -1
z -1
z -1
ff
+
Q
+
Q
+
Q
In Tck attraversa 3 celle biquadratiche (latenza = + 1 colpo di clock)
FASI del LAVORO
•Scelta della struttura digitale da implementare
•Descrizione a livello di sistema in MATLABTM
•Descrizione ed ottimizzazione dell’architettura
hardware in VHDL
•Sintesi dei sorgenti VHDL
•Valutazione prestazioni ottenute
SINTESI
CODICE
VHDL
SCHEMA
SINTETIZZATORE
RISPETTO DEI
VINCOLI TEMPORALI
CIRCUITALE
RISULTATI della SINTESI
INGRESSO : sequenza di campioni relativa
ad un segnale casuale a piena
dinamica, bianco in frequenza
TECNOLOGIA : CMOS
• Lunghezza minima di canale 0.13 μm
• Tensione di alimentazione 1.2 V
RISULTATI della SINTESI
STRUTTURA
sintetizzata
Filter
Filter_2ff
Filter_3ff
Filter_6ff
Filter
Filter_6ff P.O
Requisiti di
TIMING
(40 MHz)
(40 MHz)
(40 MHz)
(40 MHz)
(40 MHz)
OK
OK
OK
OK
OK
AREA
(μm2)
Consumo
POTENZA (μW)
51136
34448
32612
34319
9160
2838
1933
35186
620
567
P.O =Power Optimization
Il convertitore A/D consuma una potenza di circa
6÷7 mW
RISULTATI della SINTESI
Confronto con un filtro analogo ma:
• stadio unico
• ripiegato
STRUTTURA
sintetizzata
Filter_6ff
Filter_6ff P.O
UMTS1
UMTS1 P.O
Requisiti di
TIMING
AREA
(μm2)
Consumo
POTENZA (μW)
(40 MHz) OK
(40 MHz) OK
(40 MHz) OK
34319
35186
17277
17616
620
567
312
(40 MHz) OK
P.O =Power Optimization
285
Il convertitore A/D consuma una potenza di circa
6÷7 mW
CONCLUSIONI
•Nel presente lavoro di tesi è stato progettato un filtro FIR digitale come
cascata di celle biquadratiche, primo stadio UMTS di un sistema di
ricezione multistandard UMTS/WLAN
•Il filtro è stato descritto tramite MatLab ed in VHDL e sintetizzato in varie
strutture
•L’inserimento di pipeline ha permesso di diminuire la dissipazione di
potenza e di contenere l’occupazione di area
•Il rispetto dei vincoli di timing nella sintesi consente di ottenere il layout
del dispositivo mediante procedura automatizzata
CONCLUSIONI
Obiettivi raggiunti:
•Acquisizione di conoscenze sui filtri digitali (in particolare sui filtri
FIR e sulle possibili strutture realizzabili)
•Acquisizione di familiarità con MatLab (almeno per quanto
riguarda le funzioni di Filter Design)
•Acquisizione di familiarità con il linguaggio di descrizione
hardware VHDL
•Primo approccio con sintetizzatori
Scarica

Document