• Non ci sono risultati.

Dimensionamento delle aritmetiche

N/A
N/A
Protected

Academic year: 2021

Condividi "Dimensionamento delle aritmetiche"

Copied!
23
0
0

Testo completo

(1)

Capitolo 3

Dimensionamento delle aritmetiche

3.1 - Introduzione

L'analisi in termini di SNR e MSE1 (Mean Square Error) è stata condotta

con l'ausilio di un design-tool automatizzato sviluppato in C++, inizialmente nato per applicazioni xDSL e in questa sede riadattato per effettuare i calcoli in presenza di un numero inferiore di bit in Input Data Word Length DWL e Output Word Length OWL [2]-[4], [9]. Per UWB (Ultra Wide Band) il processore per FFT/IFFT deve supportare una lunghezza di 128 bit con una

1 - Richiamiamo le relazioni matematiche che legano il rapporto segnale rumore SNR all'errore quadratico

medio MSE:

MSEdB = 10 log (MSE)

-MSEdB = -10 log (MSE) = 10 log (1/MSE) = SNRnorm SNRdB = 10 log (Pavg/MSE) = 10 log (Pavg) – 10 log (MSE)

PARdB = 10 log (Pmax/Pavg) = 10 log Pmax – 10 log Pavg = – 10 log Pavg , essendo Pmax = 1 quindi SNRdB = - PARdB - MSEdB

(2)

precisione dati I/O fino a 8 bit. In questo caso è necessaria una cascata di 4 stage radix: tre radix-4 e un radix-2 come stadio finale. Analizzando la figura 3.1.1 è possibile notare l'incidenza del numero di bit in I/O sul SNR e sulla potenza in ricezione, espressa in dBm2. Tramite il programma è stato possibile

dimensionare l'architettura interna in termini di FFT Twiddle Coefficients Word Length TWL e System Data Path Word Length SWL, partendo dal numero di bit desiderato per DWL e OWL e successivamente generando un

2 - Zero dBm equivalgono ad 1mW. Un incremento di 3dB corrisponde ad un raddoppio della potenza; ciò significa che 3dBm sono pari a 2mW. Per un decremento di 3dB , la potenza si riduce di metà; quindi -3dBm equivalgono a 0.5mW. Per esprimere una generica potenza P in dBm:

PdBm=10log10 PmW 1mW PmW=1mW 10 PdBm 10

Come esempio possiamo considerare la potenza tipica di trasmissione di un telefono cellulare, pari circa a 500mW:

PdBm=10log10500mW≃27dBm .

(3)

file dati in ingresso (ingresso.txt) dipendente da DWL e OWL, con ingressi random. MSE viene normalizzato sul cerchio unitario. Il dimensionamento dell'architettura passa attraverso la scelta della rappresentazione (Fixed, Block Floating Point, Convergent Block Floating Point). I risultati sono tra loro confrontati e viene espressa una possibile soluzione con l'ausilio di grafici. Vengono inoltre confrontati con i risultati di un analisi di una architettura “ideale” (corrispondente ai valori massimi ammessi SWL=29 e TWL=24).

3.2 - Dimensionamento dell'architettura parametrica

interna ad un processore FFT/IFFT per vari standard di

comunicazione

Prima di passare ad analizzare il dimensionamento delle aritmetiche interne di un processore FFT/IFFT per applicazioni UWB, è bene effettuare una analisi panoramica dei vari standard di comunicazione (802.11n, xDSL, DVB). Per ciascuno di essi saranno forniti i parametri attraverso i quali è stata condotta l'analisi, saranno messi in evidenza i risultati di diverse scelte riguardanti le aritmetiche proposte e infine verrà espressa una possibile soluzione, sulla base di una breve valutazione costi/benefici in termini di rapporto segnale rumore e complessità di implementazione.

3.2.1– 802.11n

Lo standard di comunicazione 802.11n prevede una codifica dei dati su 8 bit e una FFT di N=128 punti (in questo è praticamente analoga a UWB). L'analisi condotta con l'ausilio del tool software è stata impostata inserendo un vettore di ingresso casuale di migliaia di punti. Passando attraverso migliaia di

(4)

iterazioni, siamo arrivati al dimensionamento per quanto concerne la codifica dati di I/O e i parametri interni di ciascuna aritmetica presa in considerazione.

Figura 3.2.1 - 802.11n SNR Vs. SWL a TWL fissato. 7 9 11 13 15 17 19 21 23 25 34 36 38 40 42 44 SNR BFP SNR CBFP SNR BFP id SNR CBFP id SWL SNR dB Figura 3.2.2 - 802.11n SNR Vs. TWL a SWL fissato. 5 7 9 11 13 15 17 34 36 38 40 42 44 SNR BFP SNR CBFP SNR BFP id SNR CBFP id TWL SN R d B

(5)

i) 802.11n N=128, DWL=OWL=7;

L'uso di una aritmetica di tipo Convergent Block Floating Point (CBFP) ha portato a scegliere come ottimali SWL=9 e TWL=7, con MSE= 0.000146126 e SNRdB= 35.35, mentre l'utilizzo di un' architettura di tipo

Block Floating Point (BFP) ha portato ad una scelta ottimale di SWL=10 e TWL=5, con MSE=7.06435e-005 e SNRdB=38.50. In figura 3.2.1 e 3.2.2 è

mostrato l'andamento del SNR in funzione di SWL e TWL per una aritmetica CBFP e BFP, confrontato con l'andamento in condizioni di idealità.

3.2.2 – xDSL

Lo standard di comunicazione xDSL (Digital Subscriber Line) prevede una codifica dei dati su 16 bit e una FFT di 4096 punti. Il vettore in ingresso al tool è stato sovradimensionato rispetto al caso precedente, in modo da fornire una precisione adeguata alla grandezza della FFT. Il numero di iterazioni è rimasto invece invariato.

Figura 3.2.3 - xDSL (N=4096) SNR vs. SWL a TWL fissato. 18 19 20 21 22 23 24 25 90 91 92 93 94 95 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL SNR d B

(6)

i) xDSL N=4096, DWL=OWL=16;

L'utilizzo di una aritmetica di tipo Convergent Block Floating Point (CBFP) ha portato a scegliere come valori ottimali SWL=18 e TWL=12, con MSE= 3.97303e-010 e SNR dell'ordine dei 90 dB. La scelta di una architettura di tipo Block Floating Point (BFP) ha portato come valori ottimali SWL=19 e un TWL=12, con MSE=2.25545e-010 e SNRdB di circa 93. In figura 3.2.3 e

3.2.4 è mostrato l'andamento del SNR in funzione di SWL e TWL per aritmetiche BFP e CBFP , confrontato con l'andamento in condizioni di idealità.

3.2.3 – DVB

Lo stesso tipo di analisi condotto per gli standard precedentemente visti, può essere applicato per il Digital Video Broadcasting (DVB). Lo standard DVB prevede una codifica dati su 14/16 bit, per FFT di grandezza pari a 2048,

Figura 3.2.4 - xDSL (N=4096) SNR vs. TWL a SWL fissato. 12 14 16 18 20 22 90 91 92 93 94 95 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL SN R d B

(7)

4096, 8192 punti. Anche in questo caso sono stati forniti in ingresso al tool più dati nel vettore ingresso, per un numero di iterazioni dell'ordine delle migliaia.

Figura 3.2.5 - DVB (N=2048) SNR vs. SWL a TWL fissato. 16 17 18 19 20 21 22 23 24 25 77 78 79 80 81 82 83 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL S N R dB Figura 3.2.6 - DVB (N=2048) SNR vs. TWL a SWL fissato. 10 12 14 16 18 20 77 78 79 80 81 82 83 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL S NR d B

(8)

i) DVB N=2048, DWL=OWL=14;

L'utilizzo di una aritmetica di tipo Convergent Block Floating Point (CBFP) ha portato a scegliere come ottimali i valori SWL=16 e TWL=10, con MSE= 8.7824e-009 e SNR dell'ordine dei 77-83 dB. Un' architettura di tipo Block Floating Point (BFP) ha portato come valori ottimali SWL=17 e TWL=10, con MSE=4.53818e-009 e SNR nell'intorno di 77-83 dB. In figura 3.2.5 e 3.2.6 è mostrato l'andamento del SNR in funzione di SWL e TWL per una aritmetica CBFP e BFP, confrontato con l'andamento in condizioni di idealità.

ii)DVB N=4096, DWL=OWL=14;

Il secondo caso trattato riguarda le trasmissioni DVB codificate sempre su 14 bit, ma con FFT ampia 4096 punti. Le considerazioni fatte precedentemente sulle grandezze che scaturiscono da una prima analisi ricorsiva su migliaia di iterazioni, sono sostanzialmente analoghe a quelle viste

Figura 3.2.6 - DVB (N=4096) SRN vs. SWL a TWL fissato. 16 18 20 22 24 26 78 79 80 81 82 83 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL SN R d B

(9)

per N=2048 (ciò è facilmente intuibile se ricordiamo che il rumore di quantizzazione dipende quasi esclusivamente dalla codifica dei dati). L'utilizzo di una aritmetica di tipo CBFP ha portato a scegliere come ottimali i valori SWL=16 e TWL=10, con MSE= 6.52546e-009 e SNR dell'ordine dei 78-83 dB. La scelta di una architettura di tipo BFP ha portato ad un SWL=17 e un TWL=10, con MSE=4.53818e-009 e SNR nell'intorno di 78-83 dB. In figura 3.2.6 e 3.2.7 è mostrato l'andamento del SNR in funzione di SWL e TWL per una aritmetica CBFP e BFP, confrontato con l'andamento in condizioni di idealità. Da un rapido raffronto con i grafici precedenti, si evince una sostanziale invarianza dei risultati, cosa riscontrata anche nel caso successivo, per N=8192. Figura 3.2.7 - DVB (N=4096) SNR vs. TWL a SWL fissato. 10 12 14 16 18 20 78 79 80 81 82 83 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL SN R d B

(10)

3.3 - Dimensionamento dell'architettura parametrica

interna ad un processore FFT/IFFT per trasmissioni

UWB

Dopo aver passato in rassegna le ipotesi di implementazione nei vari standard di comunicazione, passiamo ora ad analizzare in maniera più approfondita un possibile dimensionamento delle aritmetiche interne di un processore FFT/IFFT per trasmissioni UWB. L'approccio nel tentativo di semplificare il più possibile l'architettura è stato piuttosto radicale. Si è pensato di partire con un numero di bit di I/O piuttosto basso, rilevando il possibile comportamento del processore considerando come parametri chiave SNR e MSE, per poi passare a codifiche dati I/O via via più precise, tenendo sempre in conto le condizioni standard di codifica in relazione al SNR e potenza in ricezione mostrate nella figura 3.1.1 all'inizio di questo capitolo.

i) UWB N=128, DWL=OWL=4;

La scelta di una aritmetica di tipo Convergent Block Floating Point (CBFP) ha portato ad un SWL= 7 e un TWL= 2, con MSE= 0.00203214 e SNRdB= 23.88. D'altro canto, una scelta orientata verso una aritmetica di tipo

Block Floating Point (BFP) produrrebbe dei risultati di poco differenti, SWL= 7 TWL= 2 MSE=0.00262603 ovvero SNRdB= 22.79. Questi dati suggeriscono

quindi l'utilizzo di una architettura di tipo BFP, essendo di più facile implementazione ed essendo ad essa attribuibile un minore ingombro in termini di area del chip. Da un confronto con il grafico 3.1.1 per una iFFT ideale, per DWL=OWL=4 bit si ottiene un MSEmin di circa -10dB. L'analisi

(11)

Figura 3.3.1 - UWB (DWL=OWL=4) SNR vs. TWL a SWL fissato. 2 4 6 8 10 12 14 16 18 20 22 23 24 25 26 27 28 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL S N R dB

Figura 3.3.2 - UWB (DWL=OWL=4) SNR vs. SWL a TWL fissato. 5 7 9 11 13 15 17 19 21 23 25 16 18 20 22 24 26 28 SNR BFP SNR CBFP SNR BFP id SNR CBFP id SWL SN R d B

(12)

ricezione (cfr. figura 3.1.1) per DWL=OWL= 4 bit si ottiene un MSE di 0.316, pari a circa -5 dB. L'analisi condotta mostra un MSE di 0.318, pari a -4.964 dB. Nelle figure 3.3.1 e 3.3.2 sono evidenziati gli andamenti di SNR in funzione di SWL e TWL, per aritmetiche BFP e CBFP, raffrontate con le condizioni di idealità di questi due parametri. Le successive analisi sono state condotte aumentando di volta in volta il numero di bit su cui effettuare la codifica dei dati in ingresso/uscita.

ii) UWB N=128, DWL=OWL=5;

La scelta di una aritmetica di tipo CBFP ha portato ad un SWL= 8 e un TWL= 3, con MSE= 0.000839108 e SNRdB= 30.76. Si noti come il SNR

migliori già al passaggio da 4 a 5 bit in ingresso, confermando così il fatto che il SNR dipenda essenzialmente dalla codifica dei dati scelta per gli ingressi. Una aritmetica di tipo BFP produce come risultati SWL= 8, TWL =3, MSE=

Figura 3.3.3 - UWB (DWL=OWL=5) SNR vs. SWL a TWL fissato. 6 8 10 12 14 16 18 20 22 24 26 22 23 24 25 26 27 28 29 30 31 32 SNR BFP SNR cBFP SNR BFP id SNR cBFP SWL S N R dB

(13)

0.00112494, SNRdB=26.14. Da un confronto con i risultati riprodotti in figura

3.1.1 per iFFT ideale, MSEmin=0.050118, circa -13dB. L'analisi condotta

mostra un MSE di 0.0512436, pari a -12.90 dB. Nelle figure 3.3.3 e 3.3.4 sono evidenziati gli andamenti di SNR in funzione di SWL e TWL, per aritmetiche BFP e CBFP, raffrontate con le condizioni di idealità di questi due parametri.

iii) UWB N=128, DWL=OWL=6;

La scelta di una aritmetica di tipo CBFP ha portato ad un SWL= 8 e un TWL= 6, con MSE= 0.000177468 e SNRdB= 34.04 . Si noti ancora una volta

il miglioramento di SNR nel passaggio da 5 a 6 bit in ingresso. Una aritmetica di tipo BFP produce come risultati SWL= 8, TWL =4, MSE= 0.000301843, SNRdB=29.3. Nelle figure 3.3.5 e 3.3.6 sono evidenziati gli andamenti di SNR

in funzione di SWL e TWL, per aritmetiche BFP e CBFP, raffrontate con le

Figura 3.3.4 - UWB (DWL=OWL=5) SNR vs. TWL a SWL fissato.

3 5 7 9 11 13 15 17 19 21 26 27 28 29 30 31 32 33 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL SN R d B

(14)

condizioni di idealità di questi due parametri.

Figura 3.3.5 - UWB (DWL=OWL=6) SNR vs. SWL a TWL fissato. 7 9 11 13 15 17 19 21 23 25 29 31 33 35 37 39 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL S N R dB

Figura 3.3.6 - UWB (DWL=OWL=6) SNR Vs. TWL a SWL fissato. 4 5 6 7 8 9 10 11 12 13 14 15 32 33 34 35 36 37 38 39 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL S N R dB

(15)

iv) UWB N=128, DWL=OWL=7;

In questo caso, una aritmetica di tipo CBFP ha portato ad SWL= 9 e TWL= 7, con MSE= 0.000146126 e SNRdB= 38.35. Nel caso di aritmetica

BFP, SWL= 10 e TWL= 5 con MSE =7.06435e-005 SNRdB= 41.50 . Nelle

figure 3.3.7 e 3.3.8 sono evidenziati gli andamenti di SNR in funzione di SWL e TWL, per aritmetiche BFP e CBFP, raffrontate con le condizioni di idealità di questi due parametri.

Figura 3.3.7 - UWB (DWL=OWL=7) SNR Vs. SWL a TWL fissato.

8 10 12 14 16 18 20 22 24 34 36 38 40 42 44 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL S N R d B

(16)

v) UWB N=128, DWL=OWL=8;

L'ultimo caso preso in considerazione riguarda le condizioni definite come standard di operatività sulle trasmissioni effettuate in UWB, vale a dire dati codificati su 8 bit e trasformata di Fourier su 128 punti. Ovviamente attraverso il tool si è riusciti anche in questo caso ad effettuare una semplificazione delle aritmetiche interne. I grafici seguenti (Figure 3.3.9 e 3.3.10) mostrano i risultati ottenuti in termini di MSE e SNR per aritmetiche CBFP e BFP confrontati con la casistica di idealità. Nel caso di architettura di tipo CBFP, i risultati ottenuti mostrano SWL=10, TWL= 8, MSE =3.30489e-005 e SNRdB= 44.80. Nel caso di architettura BFP SWL= 11, TWL= 6,

MSE =1.80915e-005 e SNR =47.42 dB. Questi risultati fanno propendere la scelta verso una aritmetica di tipo BFP, dato che, come già sottolineato in precedenza, risulta di più facile implementazione, sia in termini di semplicità

Figura 3.3.8 - UWB (DWL=OWL=7) SNR Vs. TWL a SWL fissato.

4 6 8 10 12 14 38 39 40 41 42 43 44 SNR BFP SNR CBFP SNR BFP id SNR CBFP id TWL S N R dB

(17)

di realizzazione che di economia di area del chip.

Figura 3.3.9 - UWB (DWL=OWL=8) SNR Vs. SWL a TWL fissato.

10 12 14 16 18 20 22 24 41 43 45 47 49 51 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL S N R dB

Figura 3.3.10 - UWB (DWL=OWL=8) SNR Vs. TWL a SWL fissato.

6 8 10 12 14 16 18 44 45 46 47 48 49 50 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL SN R dB

(18)

3.4 – Breve confronto con altri risultati disponibili in

letteratura

Questo capitolo si conclude con una breve analisi di alcuni risultati disponibili in letteratura sull'argomento trattato [6]. Si può vedere come è possibile usando una aritmetica di tipo fixed point, raggiungere un SNR intorno ai 40 dB, partendo da 10-11 bit di TWL e DWB pari a 15-16 bit . I grafici seguenti si riferiscono al DVB, per una FFT su 2048, 4096 e 8192 campioni (figure 3.4.1 – 3.4.3).

(19)

Figura 3.4.2 - SNR vs. TWL per DVB (FFT 4096 campioni).

(20)

Figura 3.4.5 - UWB (DWL=OWL=7) SNR Vs. SWL a TWL fissato. 9 11 13 15 17 19 21 23 25 34 36 38 40 42 44 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL SN R dB

Figura 3.4.6 - UWB (DWL=OWL=7) SNR Vs. TWL a SWL fissato.

7 9 11 13 15 17 34 36 38 40 42 44 SNR BFP SNR cBFP SNR BFP id SNR cBFP id TWL S N R dB

(21)

Figura 3.4.7 - UWB (DWL=OWL=8) SNR Vs. SWL a TWL fissato. 10 12 14 16 18 20 22 24 26 40 42 44 46 48 50 SNR BFP SNR cBFP SNR BFP id SNR cBFP id SWL SN R dB

Figura 3.4.8 - UWB (DWL=OWL=8) SNR Vs. TWL a SWL fissato.

8 10 12 14 16 18 41 43 45 47 49 SNR BFP SNR CBFP SNR BFP id SNR CBFP id TWL SNR dB

(22)

L'analisi condotta attraverso il programma C++, mostra come lo stesso risultato è già ottenibile per applicazioni UWB con DWL=OWL=7, dalla cui analisi vengono scelti quali ottimali i valori SWL=9 e TWL=7, utilizzando aritmetica CBFP, con una FFT su 128 campioni. Il risultato ottenuto attraverso il tool per una analisi su DVB con N=2048, ci mostra un SNRdB pari a 35.24

per un'aritmetica BFP e di 39.88 nel caso di CBFP. Nelle successive figure 3.4.5 e 3.4.6 sono riportati i grafici degli andamenti già visti precedentemente per l'UWB. Le cose migliorano ulteriormente utilizzando una codifica DWL=OWL=8 bit per i dati di I/O, con SWL=10 e TWL=8 per aritmetica CBFP e BFP (figure 3.4.7 e 3.4.8). Le analisi successive svolte con FFT rispettivamente di 4096 e 8192 campioni, confermano i dati precedentemente sottolineati per 2048 campioni. Per SWL=9 e TWL=7 ed una aritmetica CBFP otteniamo un MSE pari a 4.26768e-005 ed equivalete ad un SNRmax di 43.69

dB, dai quali si arriva intorno ai 40 dB tenendo conto di un Peak-to-Average Ratio (PAR) il cui valore per applicazioni di questo tipo si assesta sui 3-4 dB. Nel caso di 8192 campioni, le prestazioni sono sostanzialmente allineate ai casi presi in considerazione precedentemente, con un MSE pari a 4.18062e-005 equivalente ad un SNRmax di 43.78 dB per CBFP. Se analizziamo la

soluzione immediatamente successiva, vale a dire DWL=OWL=8 bit, con SWL=10 e TWL=8, otteniamo un sensibile incremento di SNR semplicemente ricorrendo ad una aritmetica BFP. Si ottiene infatti un SNRmax pari a 44.73 dB,

intorno ai 41 dB se consideriamo il peak-to-average ratio. Se decidessimo di utilizzare una aritmetica di tipo CBFP, si arriverebbe alla soglia dei 50 dB, intorno ai 47 dB considerando il contributo del peak-to-average ratio di 3-4 dB.

(23)

3.5 – Configurazione del core per FFT/IFFT

Dall'analisi precedentemente condotta attraverso il tool, si evince come una aritmetica CBFP costituisca una migliore scelta nel caso di trasformate con un numero di campioni elevato  N 4096 ; si noti come in questo caso sia richiesta una buona accuratezza per la codifica dei dati in ingresso e in uscita DWL ,OWL14 bit  , come nel caso di xDSL. Utilizzando i medesimi parametri, ma con una aritmetica BFP, si ottengono mediamente risultati in termini di SNR inferiori di circa 4 dB. La differenza di performance tra i due tipi di aritmetiche va via via assottigliandosi al crescere del parametro SWL, fino a risultare insignificante per SWL=23. Per gli altri standard presi in esame (DVB H/T, 802.11n e UWB), l'utilizzo di una aritmetica BFP oppure CBFP mostra i medesimi risultati con valori di SWL e TWL molto simili. Ciò porta a preferire una aritmetica BFP, risultando quest'ultima di più semplice implementazione.

Riferimenti

Documenti correlati

In particolare, le specifiche di progetto, il rispetto degli standard di riferimento ed i vincoli imposti dall’interfacciamento con gli altri blocchi circuitali hanno condotto ad una

Dopo aver esaminato le variazioni di voti a livello aggregato per provincia tra le elezioni regionali del 2014 e le precedenti regionali del 2010, passiamo ora ad analizzare i flussi

I segmenti orientati con primo estremo O, detti solitamente vettori applicati in O, possono essere sommati fra loro e moltiplicati per numeri reali: la somma dei vettori OP e OQ

Adesso puoi trasmettere la domanda all'indirizzo PEC del Comune facendo attenzione di allegare il Documento

Un capitolo della nostra rivista, poi, abbiamo voluto dedicarlo al rapporto tra scienza e informazione.. Alla crescente domanda di cono- scenza sulle tematiche legate al

- Come varia l’energia spesa dal maratoneta in funzione della sua massa, della velocità media sostenuta e della lunghezza del percorso?. Usa un’espressione letterale tipo la (1)

Per molto tempo è stata viva la convinzione che i sacerdoti egizi lanciassero sulla tomba dei faraoni una o più maledizioni che avrebbero colpito tutti coloro

terminale rimane utilizzabile (il comando viene.. 4) abbiamo visto come si può utilizzare ds9 fuori da IRAF o attraverso IRAF (tv e poi disp).. Scaricate ora le due immagini