• Aucun résultat trouvé

Algorithme de génération et de calcul des conditions radio des UE pour eICIC/

4.4 Modèles de file d’attente pour la modélisation de eICIC/ ABS

4.5.1 Algorithme de génération et de calcul des conditions radio des UE pour eICIC/

eICIC/ ABS

Afin d’évaluer et de caractériser le trafic et les conditions radio des UEs (voir FIGURE 4.1), nous nous basons sur les explications et les hypothèses énumérées dans la section 2.3.1.2.a (au niveau du paragraphe "adaptation du lien") pour proposer l’algorithme 1. Cet algorithme explique comment nous calculons, pour chaque UE noté "u", avec une taille de paquet (size(u)) en bits, le nombre de RBG qu’il requiert selon ses conditions radio lorsque eICIC/ ABS est appliqué.

Algorithme 1 Génération des utilisateurs et détermination du nombre de RBG requis par chaque UE dans le cas de eICIC/ ABS

Inputs : une macro cell où une micro cell est déployée, le taux d’arrivée des clients (noté λclients), la taille de paquet de chaque UE (size(u))

Résultats : nombre de RBGs(u) pour chaque UE "u", nombre de classes, la distribution des probabilités des tailles des batchs, les conditions radio par classe (dans la macro et la micro)

1: Génération de Nb UE aléatoirement et uniformément dans la macro cell centrale selon une loi de poisson de paramètre λclients

2: Pour u=1 à Nb

2.1. Déterminer la serving cell (celle qui offre la puissance de réception maximale) : P RxM(u) = P txM + G − P LM(u)

P Rxm(u) = P txm+ G − P Lm(u)

P Rxs(u) = max(P RxM(u), P Rxm(u))

2.2. Déterminer le SINR(u) avec eICIC/ABS : SIN R(u) = 10log10(P7 P Rxs(u)

i=2P Rxi(u)+N o)

2.3. Déduire la valeur de BitsM CS(u) correspondant au SINR(u) (à partir du Tableau 2.2)

2.4. Déterminer le nombre d’OFDM symboles requis : NSymb(u) =

size(u) BitsM CS(u)

2.5. Déterminer le nombre PRB requis : NSubch(u) = NSymb7×12(u)

2.6. Déterminer le nombre RBG requis correspondant : NRBGs(u) =

NSubch(u)

NP RB

3: Fin

4: Calcul du nombre de classes dans la macro et dans la micro

5: Calcul du taux d’arrivées par classe (macro et micro)

6: Calcul de la distribution des probabilités des tailles des batchs (macro et micro)

7: Calcul du taux de codage moyen et le nombre de points de constellation moyen par classe (macro et micro)

Les paramètres utilisés dans cet algorithme sont expliqués dans le Tableau 4.2.

L’algorithme génère d’abord des UE de façon aléatoire et uniforme [SBS+16] dans la région centrale (macro et micro) selon une loi de poisson de paramètre λclients, représentant le taux d’arrivée des clients dans la trame. Ensuite, l’algorithme calcule le nombre de RBG requis par chaque UE u. Il est à noter que, comme chaque UE u génère une requête de taille size(u), λclients représente, donc, également le taux d’arrivée des requêtes par trame.

M, m, s, i macro, micro, serving cell et cellules interférantes P RxM(u) puissance reçue de la macro (in watt) par le UE "u" P txM puissance transmise par la macro (in watt)

G gain d’antenne par Hz N0 bruit thermique

P L modèle de pathloss (en decibels) : [Acc17]

P LM(u) = 128.1 + 37.6 × log10(R) où R est en kilomètres (cas macro)

P Lm(u) = 38 + 30 × log10(R) où R est en mètres (cas micro) NP RB nombre de PRB au sein d’un RBG

Tableau 4.2 – Paramètres pour le calcul du nombre de RBG requis par chaque UE

Application numérique de l’algorithme 1: Déroulons cet algorithme en considérant une bande passante de 20 MHz (⇒ NP RB=4) afin de déterminer le nombre de RBG requis par 3 UE : u1, u2 et u3 ayant respectivement les tailles suivantes : size(u1) = 1024 bits, size(u2) = 2048 bits et size(u3) = 3200bits. Ne pouvant pas connaître le MCS de ces UE sans simulations, nous déroulons sur les différentes valeurs BitsM CS possibles (2, 4 ou 6 voir le Tableau 2.2).

Pour u1 tel que size(u1) = 1024 bits :

- si BitsM CS(u1) = 2 donc NSymb(u1) = 10242 = 512et par conséquent NSubch(u1) = 7×12512 = 6 ce qui fait que NRBG(u1) = 6

4 = 2

- si BitsM CS(u1) = 4 donc NSymb(u1) = 1024

4 = 256et par conséquent NSubch(u1) = 256

7×12 = 3

ce qui fait que NRBG(u1) = 34 = 1

- si BitsM CS(u1) = 6 donc NSymb(u1) = 10246 = 171et par conséquent NSubch(u1) = 7×12171 = 2 ce qui fait que NRBG(u1) = 24 = 1

Ainsi, pour un UE u avec une taille de paquet size(u) = 1024 bits, le nombre de RBG requis NRBG(u)peut être égal à 1 ou à 2.

Pour u2 tel que size(u2) = 2048 bits :

- si BitsM CS(u2) = 2donc NSymb(u2) = 20482 = 1024et par conséquent NSubch(u2) = 7×121024 = 13 ce qui fait que NRBG(u2) = 13

4 = 4

- si BitsM CS(u2) = 4 donc NSymb(u2) = 2048

4 = 512et par conséquent NSubch(u2) = 512

7×12 = 7

ce qui fait que NRBG(u2) = 74 = 2

- si BitsM CS(u2) = 6 donc NSymb(u2) = 20486 = 342et par conséquent NSubch(u2) = 7×12342 = 5 ce qui fait que NRBG(u2) = 54 = 2

Ainsi, pour un UE u avec une taille de paquet size(u) = 2048 bits, le nombre de RBG requis NRBG(u)peut être égal à 2 ou à 4.

- si BitsM CS(u3) = 2donc NSymb(u3) = 32002 = 1600et par conséquent NSubch(u3) = 7×121600 = 20 ce qui fait que NRBG(u3) = 204 = 5

- si BitsM CS(u3) = 4donc NSymb(u3) = 32004 = 800et par conséquent NSubch(u3) = 7×12800 = 10 ce qui fait que NRBG(u3) = 104 = 3

- si BitsM CS(u3) = 6 donc NSymb(u3) = 3200

6 = 534et par conséquent NSubch(u3) = 534

7×12 = 7

ce qui fait que NRBG(u3) = 74 = 2

Ainsi, pour un UE u avec une taille de paquet size(u) = 3200 bits, le nombre de RBG requis NRBG(u) =2, 3 ou 5.

Par conséquent, les tailles des batchs diffèrent selon la taille des paquets des utilisateurs (size(u)) et leurs conditions radio (BitsM CS(u)).

Remarque :Comme le lecteur peut le remarquer, nous effectuons des arrondis à l’entier supérieur pour déterminer le nombre de RBG.

Une fois que le nombre de RBG requis par chaque UE est calculé, l’algorithme regroupe les UE demandant le même nombre de RBG dans la même classe (nous notons que le nombre de RBG requis correspond à l’indice de la classe) et déduit les taux d’arrivée de clients dans chaque classe, notés λclients

M,i (resp. λclientsm,i ) pour la classe i de la macro (resp. la micro), et la distribution de la probabilité des batchs de taille i, noté gM,i (resp. gm,i) pour la macro (resp. la micro).

Rappelons que JM (respectivement Jm) est le nombre de classes dans la macro cellule (resp. micro cellule). Ainsi, les taux d’arrivée totales dans la macro cell et dans la micro cell respectivement sont calculés par l’algorithme 1 comme suit :

λclientsM = JM X i=1 λclientsM,i et λM = JM X i=1 λM,i (4.30) λclientsm = Jm X i=1 λclientsm,i et λm= Jm X i=1 λm,i (4.31) où λclients

M et λclientsm sont exprimés en termes de clients/trame et λM et λm sont exprimés en termes

de kbits/trame.

De plus, connaissant le SINR de chaque UE, l’algorithme déduit en se basant sur le Tableau 2.2 le taux de codage et le nombre de points de constellation pour chaque UE puis calcule le taux de codage moyen et le nombre de points de constellation moyen par classe. Nous répétons évidemment un nombre de simulations suffisamment grand pour assurer un intervalle de confiance à 95%. Ces paramètres (le taux d’arrivée par classe, la distribution des probabilités des tailles des batchs, le taux de codage moyen par classe et le nombre de points de constellation moyen par classe) sont ensuite exploités par les modèles que nous proposons ie. les chaînes de Markov et les files d’attente afin de considérer les mêmes conditions radio des UE lors du calcul des probabilités de blocage et des débits dans la macro et la micro. Toute cette démarche est détaillée dans la FIGURE 4.7. L’intérêt de notre approche est de simuler un environnement réaliste en utilisant un algorithme simple et performant, visant à générer des utilisateurs selon des conditions radio réelles et nous

permettant de calculer des paramètres précis avec les chaînes de Markov et les modèles de files d’attente proposés.