Ασύρματες Κινητές Επικοινωνίες Ενότητα 5: Διαχείριση ενέργειας

Σχετικά έγγραφα
Εργαστηριακή Άσκηση 5

Ασύρματες Κινητές Επικοινωνίες Ενότητα 2: Το επίπεδο MAC του WiFi

Ασύρματες Κινητές Επικοινωνίες Ενότητα 3: Σημεία πρόσβασης στο Wireless Fidelity (WiFi) Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤE

Ασύρματες Κινητές Επικοινωνίες Ενότητα 1: Εισαγωγή

Ασύρματες Κινητές Επικοινωνίες Ενότητα 6: Worldwide Interoperability for Microwave Access (WiMAX)

Εργαστηριακή Άσκηση 3

Ασύρματες Κινητές Επικοινωνίες Ενότητα 8: Επαναληπτική ενότητα

Ασύρματες Κινητές Επικοινωνίες Ενότητα 4: Το πρωτόκολλο Transmission Control (TCP)

Ασύρματες Κινητές Επικοινωνίες Ενότητα 7: Long Term Evolution (LTE)

ΜΑΘΗΜΑ: Ασύρματες Κινητές Επικοινωνίες

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

ΜΑΘΗΜΑ: Δίκτυα Υψηλών Ταχυτήτων

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστραφής Προγραμματισμός

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Ειδικά Θέματα Δικτύων Ι

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Μοντελοποίηση Λογικών Κυκλωμάτων

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Δομημένος Προγραμματισμός

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 7: Δρομολόγηση κατάστασης ζεύξης (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εισαγωγή στον Προγραμματισμό με C++

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Χρήση βασικών εργαλείων συλλογής πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τηλεπικοινωνίες. Ενότητα 6: Ψηφιακή Διαμόρφωση. Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ασφάλεια Υπολογιστικών Συστημάτων

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Δικτύων Ι

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

ΔΙΔΑΣΚΩΝ: Δρ. Στυλιανός Τσίτσος

Σχεδίαση Δικτύων Υπολογιστών

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Σχεδίαση Δικτύων Υπολογιστών

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Δικτύων Ι

ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στην Πληροφορική

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ειδικά Θέματα Δικτύων ΙΙ

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού

Τηλεπικοινωνίες. Ενότητα 2.1: Ανάλυση Fourier. Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Οικονομικά Μαθηματικά

Σχεδίαση Δικτύων Υπολογιστών

Σχεδίαση Δικτύων Υπολογιστών

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ειδικά Θέματα Δικτύων Ι

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Ειδικά Θέματα Δικτύων ΙΙ

Σχεδιασμός Εικονικών Δικτύων Ενότητα 1: Εισαγωγή - Ιστορική Αναδρομή Τα πρώτα ιδιωτικά δίκτυα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Μεταγλωττιστές. Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στην πληροφορική

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Τηλεπικοινωνίες. Ενότητα 5: Ψηφιακή Μετάδοση Αναλογικών Σημάτων. Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ειδικά Θέματα Δικτύων Ι

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

ΔΙΔΑΣΚΩΝ: Δρ. Στυλιανός Τσίτσος

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Τηλεπικοινωνίες. Ενότητα 2.2: Ανάλυση Fourier (Συνέχεια) Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Transcript:

Ασύρματες Κινητές Επικοινωνίες Ενότητα 5: Διαχείριση ενέργειας Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα του ΤΕΙ Δυτικής Μακεδονίας και της Ανώτατης Εκκλησιαστικής Ακαδημίας Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Διαχείριση ενέργειας

Σκοποί ενότητας Σκοπός της ενότητας είναι η μελέτη της ενεργειακής συμπεριφοράς των κόμβων ενός ασύρματου δικτύου και η μελέτη της εξασθένισης του σήματος. 5

Περιεχόμενα ενότητας (1/3) Βασικές έννοιες. Αρχεία κεφαλίδας και βασικές παράμετροι. Οι μέθοδοι RemainingEnergy και TotalEnergy. Η μέθοδος main. RxGain, TxGain και CCaMode1Threshold για το Φυσικό επίπεδο. Μοντέλο απωλειών διάδοσης. 6

Περιεχόμενα ενότητας (2/3) Παραμετροποίηση του επιπέδου MAC. Μοντέλο ενέργειας. Καθορισμός διευθύνσεων Internet Protocol (IP). User Datagram Protocol (UDP) server. UDP client. Επίβλεψη ενεργειακής συμπεριφοράς. 7

Περιεχόμενα ενότητας (3/3) Διάρκεια προσομοίωσης. Ασκήσεις. 8

Βασικές έννοιες (1/2) Propagation loss. Εξασθένιση του σήματος. Κατά τη μετάδοση των σημάτων παρατηρείται εξασθένιση της ισχύος τους, που ονομάζεται απώλεια διαδρομής (pathloss). Για τον προσδιορισμό της απώλειας διαδρομής και την περιοχή κάλυψης ενός πομπού υπάρχουν διαθέσιμα πολλά μοντέλα. 9

Βασικές έννοιες (2/2) Propagation delay. Ο χρόνος που χρειάζεται ώστε να φτάσει το σήμα στον προορισμό του. Εξαρτάται από την απόσταση μεταξύ πομπού και δέκτη και την ταχύτητα μετάδοσης. 10

Αρχεία κεφαλίδας και βασικές παράμετροι (1/2) Εισάγουμε τα απαραίτητα αρχεία κεφαλίδας (header files), το namespace που θα χρησιμοποιήσουμε, τις παραμέτρους που μπορούμε να περάσουμε μέσω του τερματικού και το επίπεδο καταγραφής των μηνυμάτων. 11

Αρχεία κεφαλίδας και βασικές παράμετροι (2/2) #include "ns3/core-module.h" #include "ns3/network-module.h" #include "ns3/mobility-module.h" #include "ns3/config-store-module.h" #include "ns3/wifi-module.h" #include "ns3/energy-module.h" #include "ns3/internet-module.h" #include "ns3/applications-module.h" #include <iostream> #include <fstream> #include <vector> #include <string> #include "ns3/netanim-module.h" NS_LOG_COMPONENT_DEFINE ("Lab5"); using namespace ns3; 12

Οι μέθοδοι RemainingEnergy και TotalEnergy (1/2) Υλοποιούμε τη μέθοδο RemainingEnergy. Τυπώνει την εναπομένουσα ενέργεια ενός κόμβου. Επιπλέον, υλοποιούμε τη μέθοδο TotalEnergy. Τυπώνει τη συνολική κατανάλωση της ενέργειας σε ένα κόμβο. 13

Οι μέθοδοι RemainingEnergy και TotalEnergy (2/2) voidremainingenergy (double oldvalue, double remainingenergy){ std::cout << "At "<< Simulator::Now ().GetSeconds () << second: Current remaining energy = " << remainingenergy << "Joules" << std::endl; } voidtotalenergy ( double oldvalue, double totalenergy){ std::cout << "At " << Simulator::Now ().GetSeconds () << second: Total energy consumed = " << totalenergy << "Joules" << std::endl ; } 14

Η μέθοδος main Ορίζουμε τη μέθοδο main. Δημιουργούμε 2 κόμβους στο δίκτυο. Ορίζουμε ότι θα χρησιμοποιείτε το πρότυπο IEEE 802.11b για το φυσικό επίπεδο. intmain (int argc, char *argv[]){ //LogComponentEnable ("EnergySource", LOG_LEVEL_DEBUG); //LogComponentEnable ("BasicEnergySource", LOG_LEVEL_DEBUG); //LogComponentEnable ("WifiRadioEnergyModel", LOG_LEVEL_DEBUG); LogComponentEnable("UdpClient", LOG_LEVEL_INFO); LogComponentEnable("UdpServer", LOG_LEVEL_INFO); NodeContainer nodes; nodes.create (2); WifiHelper wifi; wifi.setstandard (WIFI_PHY_STANDARD_80211b); 15

RxGain, TxGain και CCaMode1Threshold για το Φυσικό επίπεδο (1/2) Καθορίζουμε τα RxGain και TxGain. Σχετίζονται με την ποιότητα του λαμβανόμενου και του προς αποστολή σήματος, αντίστοιχα. Ορίζουμε το CCaMode1Threshold. Είναι ένα κατώφλι. Αν η ισχύς του λαμβανόμενου σήματος υπερβεί το κατώφλι, τότε ο κόμβος μεταβαίνει σε κατάσταση CCA_BUSY. 16

RxGain, TxGain και CCaMode1Threshold για το Φυσικό επίπεδο (2/2) YansWifiPhyHelper wifiphy = YansWifiPhyHelper::Default (); wifiphy.set ("RxGain", DoubleValue (1.5)); wifiphy.set ("TxGain", DoubleValue (1.5)); wifiphy.set ("CcaMode1Threshold", DoubleValue (0)); 17

Μοντέλο απωλειών διάδοσης (1/2) Το μοντέλο απωλειών διάδοσης που θα χρησιμοποιηθεί είναι το RangePropagationLossModel. Καθορίζει την απώλεια διάδοσης σε μέτρα. Οι κόμβοι που βρίσκονται σε απόσταση μικρότερη ή ίση με την MaxRange, λαμβάνουν το σήμα. Επιπλέον, ορίζουμε ότι θα χρησιμοποιηθεί το ConstantSpeedPropagationDelayModel, όπου η ταχύτητα μετάδοσης είναι σταθερή. 18

Μοντέλο απωλειών διάδοσης (2/2) YansWifiChannelHelper wifichannel; wifichannel.setpropagationdelay ("ns3::constantspeedpropagationdelaymodel"); wifichannel.addpropagationloss ("ns3::rangepropagationlossmodel","maxrange", DoubleValue (150.0)); Ptr<YansWifiChannel> wifichannelptr = wifichannel.create (); wifiphy.setchannel (wifichannelptr); 19

Παραμετροποίηση του επιπέδου MAC (1/2) Θέτουμε τον τύπο του αλγορίθμου για τον έλεγχο του ρυθμού και υλοποιούμε το επίπεδο MAC για το οποίο ορίζουμε ότι δεν θα παρέχει κάποιο μηχανισμό για Ποιότητα της Υπηρεσίας. Ενεργοποιούμε το μηχανισμό Request to Send / Clear to send (RTS/CTS) κι ορίζουμε τις θέσεις των κόμβων του δικτύου. Καθορίζουμε ότι το δίκτυο υποστηρίζει την αδόμητη δικτύωση (AdHoc). 20

Παραμετροποίηση του επιπέδου MAC (2/2) NqosWifiMacHelper wifimac = NqosWifiMacHelper::Default (); wifi.setremotestationmanager ("ns3::arfwifimanager", "RtsCtsThreshold",StringValue("0")); wifimac.settype ("ns3::adhocwifimac"); NetDeviceContainer devices = wifi.install (wifiphy, wifimac, nodes); MobilityHelper mobility; Ptr<ListPositionAllocator> positionalloc = CreateObject<ListPositionAllocator> (); positionalloc->add (Vector (0.0, 0.0, 0.0)); positionalloc->add (Vector (0.0, 80.0, 0.0)); mobility.setpositionallocator (positionalloc); mobility.setmobilitymodel ("ns3::constantpositionmobilitymodel"); mobility.install (nodes); 21

Μοντέλο ενέργειας (1/2) Ορίζουμε την αρχική ενέργεια των κόμβων. Θέτουμε την ένταση του ηλεκτρικού ρεύματος σε Ampere. Συμβάλει στον υπολογισμό της κατανάλωσης της ενέργειας του κόμβου όταν μεταδίδει πακέτα. Εγκαθιστούμε το μοντέλο ενέργειας (WifiRadioEnergyModel) σε όλους τους κόμβους. 22

Μοντέλο ενέργειας (2/2) BasicEnergySourceHelper basicsourcehelper; basicsourcehelper.set ("BasicEnergySourceInitialEnergyJ", DoubleValue(0.1)); EnergySourceContainer sources = basicsourcehelper.install (nodes); WifiRadioEnergyModelHelper radioenergyhelper; radioenergyhelper.set ("TxCurrentA", DoubleValue(0.02)); DeviceEnergyModelContainer devicemodels = radioenergyhelper.install (devices, sources); 23

Καθορισμός διευθύνσεων IP Εγκαθιστούμε τη στοίβα πρωτοκόλλων TCP κι ορίζουμε τις IP διευθύνσεις των συσκευών. InternetStackHelper internet; internet.install (nodes); Ipv4AddressHelper ipv4; ipv4.setbase ("10.1.5.0", "255.255.255.0"); Ipv4InterfaceContainer interfaces = ipv4.assign (devices); 24

UDP server Δημιουργούμε ένα κόμβο που θα λαμβάνει πακέτα (server), θέτουμε την πόρτα στην οποία θα ακούει και καθορίζουμε τις χρονικές στιγμές έναρξης και λήξης της κίνησης. uint16_t port = 22000; UdpServerHelper server (port); ApplicationContainer apps = server.install (nodes.get (0)); apps.start(seconds(4.0)); apps.stop(seconds(15.0)); 25

UDP client (1/2) Δημιουργούμε τον κόμβο που θα στέλνει την κίνηση στο δίκτυο (client) και θέτουμε κάποιες παραμέτρους. Το χρονικό διάστημα μεταξύ δύο διαδοχικών πακέτων. Το μέγιστο αριθμό πακέτων που μπορεί να στείλει ο client και το μέγεθος του πακέτου. Τις χρονικές στιγμές έναρξης και λήξης της αποστολής πακέτων. 26

UDP client (2/2) UdpClientHelper client (interfaces.getaddress (0), port); client.setattribute("maxpackets", UintegerValue(1000000)); client.setattribute("interval", TimeValue(Seconds(1))); client.setattribute("packetsize", UintegerValue(1024)); ApplicationContainer apps2 = client.install(nodes.get(1)); apps2.start(seconds(4.5)); apps2.stop(seconds(12.5)); 27

Επίβλεψη ενεργειακής συμπεριφοράς Καλούμε τις συναρτήσεις RemainingEnergy και TotalEnergy ώστε να επιβλέπουμε την εναπομένουσα ενέργεια των κόμβων και τη συνολική κατανάλωση ενέργειας κάθε χρονική στιγμή, αντίστοιχα. Ptr<BasicEnergySource> basicsourceptr = DynamicCast<BasicEnergySource> (sources.get (1)); basicsourceptr->traceconnectwithoutcontext ("RemainingEnergy", MakeCallback (&RemainingEnergy)); Ptr<DeviceEnergyModel> basicradiomodelptr = basicsourceptr-> FindDeviceEnergyModels ("ns3::wifiradioenergymodel").get (0); basicradiomodelptr->traceconnectwithoutcontext ("TotalEnergyConsumption", MakeCallback (&TotalEnergy)); 28

Διάρκεια προσομοίωσης Δηλώνουμε τη διάρκεια της προσομοίωσης. Δημιουργούμε το αρχείο.xml για το NetAnim. Simulator::Stop (Seconds (15.0)); AnimationInterface anim ("lab5.xml"); Simulator::Run (); Simulator::Destroy (); return 0; } 29

Απεικόνιση της προσομοίωσης με το NetAnim Ανοίγουμε το αρχείο lab5.xml με το NetAnim. Εικόνα 1. Απεικόνιση της προσομοίωσης από το NetAnim, εμφάνιση μετά την εγκατάσταση του προγράμματος ns-3, ελεύθερο λογισμικό, με άδεια GNU GPLv2 license, διαθέσιμο στο κοινό για έρευνα, ανάπτυξη και χρήση. 30

Ασκήσεις (1/4) 1. Αποθηκεύστε το σενάριο προσομοίωσης σε ένα αρχείο με όνομα lab5.cc, εκτελέστε το και και καταγράψτε τις τελικές τιμές για την εναπομένουσα ενέργεια και τη συνολική κατανάλωση. 2. Ορίστε την απόσταση μεταξύ των δύο κόμβων στα 250 μέτρα κι εκτελέστε πάλι το σενάριο. Δώστε μία σύντομη εξήγηση για τα νέα αποτελέσματα. Επιπλέον, καταγράψτε πάλι τις τελικές τιμές για την εναπομένουσα ενέργεια και τη συνολική κατανάλωση της ενέργειας. 31

Ασκήσεις (2/4) 3. Ορίστε το MaxRange στα 300 μέτρα κι εκτελέστε το σενάριο. Δώστε μία σύντομη εξήγηση για τα νέα αποτελέσματα. 4. Συγκρίνετε τις τιμές που προέκυψαν από την άσκηση 2 με αυτές που προέκυψαν από την άσκηση 3. Δώστε μία σύντομη εξήγηση για τα νέα αποτελέσματα. 5. Αλλάξτε το interval σε 0.01 και καταγράψτε τα αποτελέσματα. Δώστε μία σύντομη εξήγηση. 32

Ασκήσεις (3/4) 6. Αλλάξτε την τιμή TxCurrentA σε 0.0015 και καταγράψτε τα αποτελέσματα. Δώστε μία σύντομη εξήγηση. 7. Ορίστε ο server να λειτουργεί από το δευτερόλεπτο 3 έως το 10 και τον client από το 4 έως το 9. Καταγράψτε τα αποτελέσματα και δώστε μία σύντομη εξήγηση. 33

Ασκήσεις (4/4) Αντικαταστήστε το RangePropagationLossModel με το LogDistancePropagationLossModel (με τις παρακάτω εντολές) και καταγράψτε τα αποτελέσματα. Εξηγήστε πως λειτουργεί το μοντέλο LogDistancePropagationLossModel. wifichannel.addpropagationloss("ns3:: LogDistancePropagationLossModel","E ponent",stringvalue ("3")); 34

Βιβλιογραφία 1. Βασικές Αρχές Ασύρματης Επικοινωνίας, David Tse, Pramod Viswanath, Εκδόσεις Κλειδάριθμος. 2. ΔΙΚΤΥΑ ΚΙΝΗΤΩΝ & ΠΡΟΣΩΠΙΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ, Θεολόγου Μ., Εκδοτικός Οίκος: ΤΖΙΟΛΑ Έτος έκδοσης: 2007 ISBN: 978-960-418-126-1. 3. Εισαγωγή στα ασύρματα συστήματα, Black, Dipiazza, Ferguson. 4. Συστήματα Κινητών Επικοινωνιών, Κανάτας Αθανάσιος, Κωνσταντίνου Φίλιππος, Πάντος Γεώργιος. 35

Τέλος Ενότητας