diff --git a/src/main/java/fr/ntr/AccessPoint.java b/src/main/java/fr/ntr/AccessPoint.java index 0a1170e..3cdca29 100644 --- a/src/main/java/fr/ntr/AccessPoint.java +++ b/src/main/java/fr/ntr/AccessPoint.java @@ -7,7 +7,7 @@ import java.util.Random; import fr.ntr.scheduler.Scheduler; public class AccessPoint { - private List users; + private List users; private Scheduler scheduler; /** * nombre de slots @@ -60,7 +60,7 @@ public class AccessPoint { private void init(int nbUsers) { double[] distance = { 200d, 500d }; for (int i = 0; i < nbUsers; i++) { - User user = new User(distance[i], timeSlotNb, subCarrierNb); + UserGroup user = new UserGroup(distance[i], timeSlotNb, subCarrierNb); user.generateBandwidth(); user.createPackets(); this.users.add(user); diff --git a/src/main/java/fr/ntr/Packets.java b/src/main/java/fr/ntr/Packets.java index 3036906..3e3313f 100644 --- a/src/main/java/fr/ntr/Packets.java +++ b/src/main/java/fr/ntr/Packets.java @@ -5,9 +5,9 @@ public class Packets { private int creationTime; private int endTimeSending; private double bitsNumberRemaining; - private User user; + private UserGroup user; - public Packets(int creationTime, int endTimeSending, double bitsNumberRemaining, User user){ + public Packets(int creationTime, int endTimeSending, double bitsNumberRemaining, UserGroup user){ this.creationTime = creationTime; this.endTimeSending = endTimeSending; this.bitsNumberRemaining = bitsNumberRemaining; diff --git a/src/main/java/fr/ntr/ResourceBlock.java b/src/main/java/fr/ntr/ResourceBlock.java index ec0bc6d..dc2aebe 100644 --- a/src/main/java/fr/ntr/ResourceBlock.java +++ b/src/main/java/fr/ntr/ResourceBlock.java @@ -1,10 +1,10 @@ package fr.ntr; public class ResourceBlock { - private User user; + private UserGroup user; private double bandwith; - public ResourceBlock (User user, double bandwith) { + public ResourceBlock (UserGroup user, double bandwith) { this.user = user; this.bandwith = bandwith; } diff --git a/src/main/java/fr/ntr/User.java b/src/main/java/fr/ntr/UserGroup.java similarity index 54% rename from src/main/java/fr/ntr/User.java rename to src/main/java/fr/ntr/UserGroup.java index 54581d4..a86c95f 100644 --- a/src/main/java/fr/ntr/User.java +++ b/src/main/java/fr/ntr/UserGroup.java @@ -3,14 +3,14 @@ package fr.ntr; import java.util.ArrayList; import java.util.List; -public class User { +public class UserGroup { private final double distance; private final double[][] bandwidthTable; private final List packetsToSend; private final List packetsSent; - public User(double distance, int timeSlotNb, int subCarrierNb) { + public UserGroup(double distance, int timeSlotNb, int subCarrierNb) { this.distance = distance; this.bandwidthTable = new double[timeSlotNb][subCarrierNb]; this.packetsToSend = new ArrayList<>(); @@ -22,10 +22,10 @@ public class User { double random = Math.random(); for(int i = 0; i < bandwidthTable.length; i++) { for(int j = 0; j < bandwidthTable[i].length; j++) { - double h = 8 * Math.sqrt(-2 * Math.log(1 - random)); - double gain = h * Math.pow(10, random*8/10) * Math.pow(1/this.distance, 3.5); - double spectralEfficiency = (43 * gain)/(15000*(-174)); - double mkn = Math.log1p(spectralEfficiency); + double h = 1 * Math.sqrt(-2 * Math.log(1 - random)); + double gain = h * Math.pow(10, random * 1/10) * Math.pow(1 / this.distance, 3.5); + double spectralEfficiency = (43 * gain) / (15000 * (-174)); + double mkn = Math.log(1 + spectralEfficiency) / Math.log(2); this.bandwidthTable[i][j] = mkn; } } @@ -42,4 +42,22 @@ public class User { return 0d; } + public double getDistance() { + return distance; + } + + public double[][] getBandwidthTable() { + return bandwidthTable; + } + + public List getPacketsToSend() { + return packetsToSend; + } + + public List getPacketsSent() { + return packetsSent; + } + + + } diff --git a/src/main/java/fr/ntr/scheduler/MaxSNR.java b/src/main/java/fr/ntr/scheduler/MaxSNR.java index 7f50f67..5347c32 100644 --- a/src/main/java/fr/ntr/scheduler/MaxSNR.java +++ b/src/main/java/fr/ntr/scheduler/MaxSNR.java @@ -5,7 +5,8 @@ import fr.ntr.User; public class MaxSNR extends Scheduler { private String name; - + + @Override public void scheduling() { } diff --git a/src/main/java/fr/ntr/scheduler/ProportionalFair.java b/src/main/java/fr/ntr/scheduler/ProportionalFair.java index 1e0b650..5bb98e0 100644 --- a/src/main/java/fr/ntr/scheduler/ProportionalFair.java +++ b/src/main/java/fr/ntr/scheduler/ProportionalFair.java @@ -2,7 +2,7 @@ package fr.ntr.scheduler; import java.util.List; -import fr.ntr.User; +import fr.ntr.UserGroup; public class ProportionalFair extends Scheduler { @@ -18,7 +18,7 @@ public class ProportionalFair extends Scheduler { public void scheduling() { } - private void selectionUtilisateur(int Ts, int Sp, List Users) { + private void selectionUtilisateur(int Ts, int Sp, List Users) { } diff --git a/src/main/java/fr/ntr/scheduler/RoundRobin.java b/src/main/java/fr/ntr/scheduler/RoundRobin.java index 331661f..f181539 100644 --- a/src/main/java/fr/ntr/scheduler/RoundRobin.java +++ b/src/main/java/fr/ntr/scheduler/RoundRobin.java @@ -1,6 +1,6 @@ package fr.ntr.scheduler; import java.util.List; -import fr.ntr.User; +import fr.ntr.UserGroup; public class RoundRobin extends Scheduler { @@ -27,7 +27,7 @@ public class RoundRobin extends Scheduler { * Entry Time slot (int), Sous porteuse(int), and users ( List) * Return the user in function of TS and SP selected */ - private User UserSelection(int Ts, int Sp, List Users) { + private UserGroup UserSelection(int Ts, int Sp, List Users) { for (int i = 0; i < Ts; i++) { for (int j = 0; j < Sp; j++) { index++;