• Non ci sono risultati.

Appendice C Dettagli WPs progetto PRIMO

N/A
N/A
Protected

Academic year: 2021

Condividi "Appendice C Dettagli WPs progetto PRIMO"

Copied!
14
0
0

Testo completo

(1)

Appendice C

Dettagli WPs progetto

PRIMO

L’ attivit´a di ricerca riguarda principalmente il livello fisico, con par-ticolare enfasi ad algoritmi e architetture in grado di fornire efficien-za in termini di larghezefficien-za di banda, bassa potenefficien-za, alta capacit´a, riconfigurabilit´a, sia per le BS che per le UT. Vengono studiate e comparate varie architetture capaci di implementare una piattafor-ma radiomobile flessibile di tipo ’software-defined’ , con lo scopo di una implementazione efficiente di un insieme di algoritmi, come ad esempio algoritmi per il calcolo della trasformata FFT, moduli soft-input soft-output (SISO), correlatori ad alta velocit´a, tali da essere altamente personalizzabili e condivisibili fra vari schemidi accesso ra-dio.

Il programma di ricerca del progetto PRIMO´e stato diviso in 6 Work Package (WP), come sotto riportato:

(2)

WP2: Architetture Riconfigurabili. Il concetto di riconfigurabil-it´a rappresenta un elemento chiave nei sistemi wireless oltre la terza generazione (Beyond 3G - B3G), dove sia gli UT che la rete hanno bisogno di cooperare tramite procedure di riconfig-urazione trasparenti, comprendendo il download di software, il conseguimento dei livelli di sicurezza richiesti, il settaggio dei parametri di trasmissione, la configurazione e la gestione delle specifiche di QoS. WP2 si occupa dello studio delle archietture e delle metodologie di progettazione di applicazioni di tipo ricon-figurabile, sviluppando piattaforme a bassa potenza in funzione delle richieste di flessibilit´a definite nelle altre WP.

WP2 include inoltre lo sviluppo di piattaforme sia di tipo hardware che software (HW/SW) necessarie per supportare le funzioni di processing per una coppia trasmettitore/ricevitore. Questo work package ´e diviso in 9 differenti attivit´a di ricerca:

– 1. Architetture per decodificatori di canale

– 2. Sviluppo software ’Radio Defined’

– 3. sviluppo di IP per il livello fisico

– 4. Sviluppo di IP per la fase di processing Video/Immagini

– 5. Architettura scalabile e riconfigurabile VLIW (Very Long Instruction Word)

– 6. Convertitori ADC per applicazioni di tipo wireless ad alta velocit´a

– 7. Progetto di un prototipo integrato ADC

(3)

– 9. Fase di test attraverso l’ utilizzo di prototipi su sistemi basati su FPGA(Field Programmable Gate Array )

WP3: Livello Fisico. Il principale interesse di questa WP riguar-da l’ analisi di diversi schemi di accesso radio, principalmente W-CDMA, sia in modalit´a a portante singola che in OFDM, oltre ad una particolare attenzione verso le tecniche di banda ultra-larga (UWB), con lo scopo di proporre nuovi algoritmi per una implementazione efficiente. Un obiettivo comune del trasmetti-tore consiste nell’ aumentare la capacit´a del sistema attraverso un uso efficiente della banda disponibile o della potenza. Per ot-tenere una maggior efficienza in termini di larghezza di banda i sistemi evolveranno verso l’ uso di schemi di modulazione ad alto livello, come ad esempio M-QAM, possibilmente in uno scenario di tipo adattivo dove le varie modulazioni vengono selezionate sulla base di informazioni riguardo alla qualit´a del canale. WP3 ´e organizzato in 5 attivit´a di ricerca:

– 1. Algoritmi di sincronizzazione, equalizzazione e stima di canale (SECE) per comunicazioni 3G e B3G;

– 2. Rilevamento multiutente e soppressione dell’ interferenza adattiva co-canale per sistemi di comunicazione 3G e B3G;

– 3. Codifica di canale per canali affetti da fading;

– 4. Comunicazioni di tipo Ultra Wide Band;

– 5. Progetto di una interfaccia analogica.

WP4: Trasferimento Affidabile di Dati Multimediali. Questa WP ha lo scopo di identificare, selezionare e testare schemi di codifica di immagini e di video adatti ad applicazioni di tipo

(4)

wireless. L’ attenzione principale riguarda standard del tipo JPEG2000 e H.264, in modo da facilitare l’ interoperabilit´a. Questo work package ´e diviso in 9 differenti attivit´a di ricerca:

– 1. Cofica robusta della sorgente

– 2. Segretezza video

– 3. Selezione del rate sulla base di QoS costanti

– 4. Tecniche di trasmissione per reti wireless a pacchetto

– 5. Transcoding

– 6. Sicurezza nelle applicazioni multimediali

– 7. Analisi interattiva di modelli 3D di oggetti e scene

– 8. Attivit´a di test

– 9. Attivit´a di standardizzazione

WP5: Antenne Smart. Partendo dalle stesse considerazioni in-iziale fatte per la WP3, tale WP focalizza la propria area di ricerca sull’ aumento della capacit´a di sistema. L’ uso di an-tenne multiple, in fase sia di trasmissione che di ricezione, porta ad un notevole aumento della capacit´a attraverso uno sfrutta-mento prudente del canale trasmissivo affetto da fading multi-path, visto come un dominio altamente informativo e non come una fonte di interferenza e attenuazione. WP5 ´e organizzato in 9 attivit´a di ricerca:

– 1. Canale di trasmissione;

– 2. Architetture di rete e scenari;

– 3. Architetture hardware e software;

– 4. & 7. Sustemi radiativi;

(5)

– 6. Algoritmi per BS e UT

– 8. & 9. Simulazione del livello di collegamento e del livello sistema.

WP6: Reti e Protocolli.Il progetto PRIMO ha lo scopo di iden-tificare una nuova tecnologia di accesso B3G tale da superare tutte la limitazioni delle attuali tecnologie. Queste nuove tec-nologie di accesso dovranno essere in grado di collaborare con le attuali tecnologie wireless attualmente esistenti sia in sviluppi di tipo cellulare, come ad esempio reti 3G, oppure in sviluppi di tipo indoor, come nel caso di reti 802.11 WLAN, Bluetooth o ’ad hoc’, in uno scenario di rete multi-accesso. Il ruolo di WP6 consiste nel ridurre il gap fra gli studi sul livello fisico delle nuove tecnologie di accesso B3G e il livello applicativo realizzate nelle WP precedenti, proponendo una soluzione MAC capace di ge-stire i nuovi livelli fisici e di rete proposti da questo progetto, in modo da rendere possibile una interoperabilit´a fra le nuove tecnologie proposte e quelle gi´a esistenti. WP6 ´e organizzato in 5 attivit´a di ricerca:

– 1. Gestione del QoS e della mobilit´a in sistemi ad accesso multiplo;

– 2. Gestione delle risorse radio in sistemi ad accesso multiplo;

– 3. Reti efficienti in termini di energia;

– 4. Protocolli TCP e controllo della congestione end-to-end;

– 5. Sicurezza in sistemi radio mobili in wide-band.

Il processo 2 ha come obiettivo quello di definire e progettare nuovi blocchi funzionali di Radio Resource Management (RRM)

(6)

per i nuovi livelli fisici che vengono definiti dal progetto PRIMO. Lo sviluppo dell’ algoritmo di allocazione dinamica delle risorse che rappresenta il perno centrale di questo lavoro di Tesi fa parte di questa fase di ricerca.

C.1

Richieste e mappa di allocazione

Il simulatore sviluppato nel progetto PRIMO, ha come entit’a principali:

la richiesta, rappresentata dalla classe ’Request’ contenuta nel file ’request.h’. Tale entit’ˇiene raggruppata in liste denominate ’request list’. Attraverso tali liste le richieste vengono trasmesse dallo scheduler all’ allocatore, il quale, agendo sulle informazioni contenute in esse ed alle informazioni riguardo allo stato del canale, effettua le opportune selezioni.

la mappa delle allocazioni, rappresentata dalla classe ’Map’ con-tenuta in ’map.h’. La mappa delle allocazione, inerente al PHY viene riempita attraverso un opportuno algoritmo di allocazione tramite le informazioni contenute nelle richieste provenienti dal MAC. Da qui ´e possibile vedere come l’ allocatore funzioni in modalit´a cross-layer

C.1.1

Classe Request

La classe ’request’ contiene al suo interno un numero notevole di infor-mazioni che, unite alle inforinfor-mazioni sullo stato del canale, permettono all’ allocatore di poter effettuare il proprio algoritmo di allocazione

(7)

dinamica delle risorse.

Iniziando ad osservare i campi di cui ´e composta dobbiamo soffermarci sui valori di, come riportato in []:

’state’, tale parametro pu´o essere pari a ’ALLOCATED’, nel caso di richiesta per la quale risultano essere state gi´a assegnate alcune PBU, o ’NEW’, nel caso di nuova richiesta

’outcome’, tale parametro pu´o essere pari a ’TRANSMITTED’, nel caso in cui la richiesta abbia superato con successo il control-lo di alcontrol-locazione, ’TRANSMITTED PERSISTENT’, nel caso di trasmissione persistente, ’REFUSED’, nel caso in cui la richi-esta sia stata rifiutata dall’ algoritmo di allocazione, ’INPRO-GRESS’, nel caso in cui siano state gi´a allocate alcune PBU alla richiesta in esame in frame precedenti e la trasmissione non risulti ancora conclusa, ’NOTPROCESSED’, nel caso in cui la richiesta risulti essere mai stata processata, e quindi rappresenta una nuova richiesta.

La coppia (outcome, state) rappresenta uno dei principali parametri di individuazione della tipologie delle richieste che giungono all’ allo-catore.

generalmente le richieste che pervengono all’ allocatore possono essere, allo stato attuale dell ’ opera, di due tipi:

’nuove’, e quindi rappresentate da una coppia di valori (4, 1);

’persistenti’, rappresentate tramite una coppia di valori del tipo (3,0);

(8)

typedef enum ALLOCATED, NEW ReqState;

typedef enum TRANSMITTED, TRANSMITTED PERSISTENT, REFUSED,

INPROGRESS, NOTPROCESSED ResState; class Request friend class VirtualAllocator;

friend class PaAllocator; friend class PaRequest; friend class PiAllocator; friend class Scheduler Roma1; friend class RndPaAllocator; static int requestID;

int req id; Local ID ms id; int direction;

**** Scheduler fields ***** double rate min;

double rate max; SPDU* spdu; int discard; priority

int persistence; double power weight; **** Allocator fields ***** ReqState state;

ResState outcome; double power;

(9)

double rate;

int remaining bits; int allocated bits; int assignedPBU;

double shannon bitload; LIST ENTRY(Request) link ;

Request(SPDU* s, double rmin, double rmax, int discard);

Request(SPDU* s, double rmin, double rmax, int discard, int frames, double power scale);

˜

Request();

Local ID getMS(); int getReqId();

void setReqId(int req id ); double getRateMax(); double getRateMin(); double getRate(); SPDU* getSPDU(); void setSPDU(SPDU*); void deleteSPDU(); Packet* getPacket(); ReqState getState(); void setState(ReqState); ResState getOutcome(); void setOutcome(ResState); double getAllocatedPower(); double getAllocatedRate(); int getDiscard();

(10)

double getShannonBitload(); int getAllocated bits(); int getDir();

double getPowerWeight(); void setPowerWeight(double);

void setMax instant power(double value); double getMax instant power() const; int isPersistent();

void IncrPersistence(); ;

C.1.2

Classe Map

La classe ’Map’ rappresenta l’ elemento principale dell’ operazione di allocazione. Su di essa vengono riepilogate tutte le informazioni rela-tive all’ utilizzo del livello fisico ed alle decisioni prese dall’ allocatore. Di seguito riportiamo i parametri che compongono la classe ’Map’: enumerate

class Map public:

static int const Carriers min; static int const Carriers max; static int const Carriers def; static int Carriers;

static int const Carriers PBU min; static int const Carriers PBU max; static int const Carriers PBU def;

(11)

static int Carriers PBU;

static int AvailableCarriers PBU;

static int const AvailableCarriers PBU def; static int const Symbols PBU min;

static int const Symbols PBU max; static int const Symbols PBU def; static int Symbols PBU;

static int AvailableSymbols; static int AvailableSymbols PBU;

static int const AvailableSymbols PBU def; static int const Symbols min;

static int const Symbols max; static int const Symbols def; static int Symbols;

static TIME Symbol time; static int Num PBU x; static int Num PBU y; static TIME Frame time; static double const Bandwidth; static double Min PBU Power; static double const Max power min; static double const Max power max; static double const Max power def; static double Max power;

static int InterfQuantLevels;

static double* InterfQuantLevelsValues; static int PowerQuantLevels;

(12)

static double* PowerQuantLevelsValues; static double DU Threshold;

static int Num Modulations; private:

static TIME PBU time; PBU*** allocation; public: Map(); Map(double DUthreshold); Map(Map* m); Map();

void print map(ofstream* fp); void print interf(ofstream* fp); void reset();

void reset(int dir);

double getPower(double bit, int x, int y, Local ID); double getPowerQ(double bit, int x, int y, Local ID);

int allocate(int bitload, int x, int y, Local ID ms id, int req id, double power, SPDU* s);

void updatePBU(int bitload, int x, int y, Local ID ms id, int req id, double power, SPDU* s);

Local ID getMS(int x, int y); int getReqId(int x, int y); int getBitLoad(int x, int y);

double getAssignedPower(int x, int y); static double getFrameTime();

(13)

void signalSIR(Local ID, double** d);

void setNotQuantizedSIR(Local ID, double** d); void signalBSSIR(Local ID, double** d);

void deallocatePBU byRequest(Local ID req);

void deallocatePBU byRequest(Local ID req, int bitload); void deallocatePBU(int x, int y);

double total power(); void setCapacity();

void signalBSInterference(double ** d); double getBSInterference(int x, int y); ;

Di seguito riportiamo i parametri che compongono la classe ’PBU’, che rappresenta l’ elemento principale della Mappa:

enum PBUType PBU DOWNLINK, PBU UPLINK,

PBU RESERVED; class PBU

friend class Map;

****Allocation variables***** Local ID id;

int req id; int bitload; double power; SPDU* spdu; double powercontrol; double SIR[NMAX]; double notQuantizedSIR[NMAX]; double BSSIR[NMAX];

(14)

double BSInterference; double capacity; double receivedpower;

P BUT ypetype; public : P BU (); P BU (P BU ∗ p); P BU (); voidreset(); voiddeallocate(); inlinevoidsetSIR(int, double); inlinedoublegetSIR(int); inlinedoublegetN otQuantizedSIR(int); voidsetCapacity(int); doublegetCapacity(); voidsetReceivedP ower(double); doublegetReceivedP ower(); voidsetT ype(P BUT ypet); P BUT ypegetT ype();

inlineSP DU ∗ getSP DU ();

staticP BUT ypedir2type(intdirection); inlinevoidsetBSSIR(int, double); inlinedoublegetBSSIR(int); ;

Riferimenti

Documenti correlati

[r]

The association of Rad9 at DSBs and therefore the inhibition of DSB resection is promoted also by the checkpoint sliding clamp Ddc1-Mec3-Rad17 (9-1-1 in mammals) complex (Ngo

Member(E, lista): verifica se l’elemento E è presente nella lista Append(E, lista): inserisce l’elemento dato E in coda alla lista (due. versioni: nella prima versione uso di

La funzione father deve moltiplicare per 2 il valore di n (modificandolo) e visualizzare il messaggio "Padre", il pid del processo ed il valore attualmente contenuto in n.

Write a function that takes a string, and reorders all the letters in alphabetic order... The function contains

Il calcolo dell’interesse composto, detto anche montante, di una somma richiede che per ogni anno venga calcolato l’importo disponibile all’inizio

Si scriva la funzione void normalize (WAVE w, double percentage) che riceva come parametri un file audio, già caricato in memoria, e il valore percentuale di normalizzazione,

Si implementi la funzione ricorsiva void moltiplica (int Q[]) che, utilizzando una libreria di funzioni di accesso alla coda (da implementare) prendendo in input Q, restituisce la