ΔΙΠΛΩΜΑΣΙKH ΕΡΓΑΙΑ. Γαιαλόπνπινο Κσλζηαληίλνο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΑΘΗΝΩΝ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ. ΜΔΣΑΠΣΤΥΙΑΚΟ ΓΙΠΛΩΜΑ ΔΙΓΙΚΔΤΗ (MSc)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΔΙΠΛΩΜΑΣΙKH ΕΡΓΑΙΑ. Γαιαλόπνπινο Κσλζηαληίλνο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΑΘΗΝΩΝ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ. ΜΔΣΑΠΣΤΥΙΑΚΟ ΓΙΠΛΩΜΑ ΔΙΓΙΚΔΤΗ (MSc)"

Transcript

1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΑΘΗΝΩΝ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ ΜΔΣΑΠΣΤΥΙΑΚΟ ΓΙΠΛΩΜΑ ΔΙΓΙΚΔΤΗ (MSc) ΔΙΠΛΩΜΑΣΙKH ΕΡΓΑΙΑ «Δληνπηζκόο θαη Αληηκεηώπηζε Θεκάησλ Αζθάιεηαο ζην Cognitive Radio»» Γαιαλόπνπινο Κσλζηαληίλνο Μ ΑΘΗΝΑ, ΦΔΒΡΟΤΑΡΙΟ 2010

2 ΜΕΣΑΠΣΤΥΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΤΗ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΤΣΗΜΑΣΑ ΔΙΠΛΩΜΑΣΙKH ΕΡΓΑΙΑ «Δληνπηζκόο θαη Αληηκεηώπηζε Θεκάησλ Αζθάιεηαο ζην Cognitive Radio» Γαιαλόπνπινο Κσλζηαληίλνο Μ Δπηβιέπσλ Καζεγεηήο: Λέθησξ Ισάλλεο Μαξηάο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΑΘΗΝΩΝ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ ΑΘΗΝΑ, ΦΔΒΡΟΤΑΡΙΟ 2010

3 i Ζ επξεία δηάδνζε ησλ αζχξκαησλ ζπζθεπψλ, ε έμαξζε ησλ ηειεπηθνηλσληαθψλ κεηαδφζεσλ, αιιά θαη ν πξσηαγσληζηηθφο ξφινο ηεο ηειεφξαζεο θαη ηνπ ξαδηνθψλνπ ζηελ θαζεκεξηλή δσή, νθείινληαη ελ πνιινίο ζηε ρξήζε ησλ ξαδηνηειενπηηθψλ ζπρλνηήησλ. Σν ξαδηνηειενπηηθφ πεδίν ηα ηειεπηαία ρξφληα έρεη θεληξίζεη έληνλα ην εξεπλεηηθφ θαη ην εκπνξηθφ ελδηαθέξνλ, ηδηαίηεξα φζνλ αθνξά ηελ εθκεηάιιεπζε ησλ αρξεζηκνπνίεησλ ζπρλνηήησλ, ησλ ζπρλνηήησλ δειαδή πνπ δελ είλαη δεζκεπκέλεο γηα ηελ παξνρή ζπγθεθξηκέλσλ ηειεπηθνηλσληαθψλ ππεξεζηψλ, φπσο γηα παξάδεηγκα, ζπγθεθξηκέλεο ζπρλφηεηεο πνπ αλαηίζεληαη γηα ηελ εθπνκπή ξαδηνηειενπηηθψλ πξνγξακκάησλ. Σν πιήζνο ησλ αρξεζηκνπνίεησλ ζπρλνηήησλ αλακέλεηαη λα απμεζεί, θαηαιακβάλνληαο έλα ππνινγίζηκν πνζνζηφ ησλ ξαδηνηειενπηηθνχ θάζκαηνο, κε ηε κεηάβαζε ησλ ξαδηνηειενπηηθψλ πξνγξακκάησλ απφ ηηο αλαινγηθέο ζηηο ςεθηαθέο ζπρλφηεηεο, δηαδηθαζία πνπ ήδε ζπληειείηαη ζε αξθεηέο ρψξεο (φπσο ηηο Ζ.Π.Α. θαη ηελ Ηαπσλία) θαη αλακέλεηαη λα εθθηλήζεη ζε επξεία θιίκαθα θαη ζηε ρψξα καο. Ζ πξφζβαζε ζηα αρξεζηκνπνίεηα θαλάιηα έρεη απνηειέζεη αληηθείκελν ζπδήηεζεο, φζνλ αθνξά ηελ απνδνηηθή ηνπο δηαρείξηζε θαη ην ελδερφκελν πξφθιεζεο έληνλσλ παξεκβνιψλ ζηηο ππάξρνπζεο ξαδηνηειενπηηθέο εθπνκπέο θαη ηηο ππφινηπεο πξσηεχνπζεο ππεξεζίεο. Σν Γλσζηηθφ Ραδηφθσλν (Cognitive Radio) απνηειεί κηα λέα πξνζέγγηζε ζηηο αζχξκαηεο επηθνηλσλίεο, κε ην νπνίν έλα ζχζηεκα πξνζαξκφδεηαη ζηηο ζπλζήθεο ηνπ πεξηβάιινληνο, ειέγρνληαο ηα θαλάιηα θαη επηιέγνληαο θαηάιιειεο ζπρλφηεηεο ιεηηνπξγίαο, έηζη ψζηε λα απνθεχγνληαη νη παξεκβνιέο. Σνλ Μάην ηνπ 2004, ε Οκνζπνλδηαθή Δπηηξνπή Δπηθνηλσληψλ ησλ Ζλσκέλσλ Πνιηηεηψλ πνπ είλαη ππεχζπλε γηα ηελ αλάζεζε θαη ηελ αδεηνδφηεζε ησλ ξαδηνηειενπηηθψλ ζπρλνηήησλ, πξνέβε ζηε ζέζπηζε θαλφλσλ πνπ αθνξνχλ ηελ πιήξε απειεπζέξσζε ησλ αρξεζηκνπνίεησλ ζπρλνηήησλ. Δηδηθφηεξα, γίλεηαη δπλαηή ε ρξήζε ησλ ξαδηνηειενπηηθψλ ζπρλνηήησλ θαη απφ κε αδεηνδνηεκέλνπο ρξήζηεο ζπζθεπέο, κε ηε βαζηθή πξνυπφζεζε λα κελ πξνθαινχληαη επηδήκηεο παξεκβνιέο ζηνπο πξσηεχνληεο ρξήζηεο. Ζ εθκεηάιιεπζε ησλ ξαδηνηειενπηηθψλ ζπρλνηήησλ έρεη αξθεηά νθέιε, θαζψο πέξα απφ ηε ρακειή ρξήζε ησλ ζπρλνηήησλ πνπ παξαηεξείηαη ζε αξθεηέο ρψξεο, παξνπζηάδνπλ θαη ηδηαίηεξα ραξαθηεξηζηηθά δηάδνζεο, κε ηηο κεηαδφζεηο λα έρνπλ κεγαιχηεξε εκβέιεηα. Ζ εθκεηάιιεπζε ησλ ειεχζεξσλ ζπρλνηήησλ κπνξεί λα επηηεπρζεί θαη κε ηελ ηερλνινγία Cognitive Radio, γεγνλφο πνπ ψζεζε ζηε δεκηνπξγία ηνπ πξνηχπνπ απφ ηελ IEEE ηνλ Ννέκβξην ηνπ Δηδηθφηεξα, ην πξνβιέπεη ηελ θαηάιιειε δηακφξθσζε ηνπ επηπέδνπ θπζηθνχ κέζνπ θαη ηνπ επηπέδνπ πξφζβαζεο ζην κέζν, δεκηνπξγψληαο αζχξκαηα δίθηπα κεγάιεο εκβέιεηαο. Σν θίλεηξν γηα ηελ αλάπηπμε ηέηνησλ δηθηχσλ είλαη ηδηαίηεξα πςειφ, θαζψο είλαη εθηθηή ε θάιπςε κε αζηηθψλ θαη δπζπξφζηησλ πεξηνρψλ, παξέρνληαο πςειέο ηαρχηεηεο κεηάδνζεο, ρσξίο ηελ εγθαηάζηαζε εμνπιηζκψλ πςεινχ θφζηνπο θαη ηελ απαιιαγή απφ έμνδα γηα πηζαλέο αδεηνδνηήζεηο, φπσο ζηελ πεξίπησζε ηνπ WiMAX. Σν βαζίδεηαη ζε κεγάιν βαζκφ ζην , έρνληαο πξαγκαηνπνηήζεη ηηο θαηάιιειεο ηξνπνπνηήζεηο θαη πξνεθηάζεηο πνπ θαζηζηνχλ εθηθηή ηε ιεηηνπξγία ζην ξαδηνηειενπηηθφ θάζκα. Βαζηθή κνλάδα ζεσξείηαη ν ηαζκφο Βάζεο, ζηνλ νπνίν είλαη ζπλδεδεκέλεο κία ή πεξηζζφηεξεο ζπζθεπέο πειαηψλ, δηακνξθψλνληαο κηα θπςέιε. Χζηφζν, κηα θπςέιε,

4 ii ηεξψληαο ην θαλνληζηηθφ πιαίζην, ζα πξέπεη λα απνθεχγεη ηηο παξεκβνιέο, φρη κφλν ησλ ξαδηνηειενπηηθψλ ζηαζκψλ, αιιά θαη άιισλ ζπζθεπψλ θαη ππεξεζηψλ, φπσο ηα αζχξκαηα κηθξφθσλα, ππεξεζίεο έθηαθηεο αλάγθεο θαη ηελ αζχξκαηε επηθνηλσλία ζε θάπνηα επηρείξεζε. Γηα απηφ ην ιφγν, νη ζπζθεπέο πειαηψλ δελ πεξηνξίδνληαη ζηελ αληαιιαγή δεδνκέλσλ κε ην ζηαζκφ βάζεο, αιιά αλαιακβάλνπλ θαη ηελ εθπφλεζε πεξηνδηθψλ ειέγρσλ γηα ηνλ ηπρφλ εληνπηζκφ ησλ πξναλαθεξφκελσλ πξσηεπφλησλ ρξεζηψλ. ε πεξίπησζε πνπ δηαπηζησζεί ε παξνπζία ηέηνηνπ ρξήζηε, ην δίθηπν νθείιεη λα κεηαπεδήζεη ζε θάπνην άιιν ειεχζεξν θαλάιη, απνθεχγνληαο κε απηφλ ηνλ ηξφπν ηελ πξφθιεζε νπνηαζδήπνηε παξεκβνιήο. Δπηπιένλ, ε κεγάιε πεξηνρή θάιπςεο, ε νπνία κπνξεί λα αγγίμεη θαη ηα 100 km, θαζηζηά πνιχ πηζαλή ηελ παξνπζία δχν ή πεξηζζφηεξσλ θειηψλ ζηελ ίδηα πεξηνρή πνπ ζα ιεηηνπξγνχλ ζην ίδην θαλάιη/-ηα, γεγνλφο πνπ απαηηεί ην ζπγρξνληζκφ ηνπο, πξνθεηκέλνπ λα απνθεπρζνχλ νη κεηαμχ ηνπο παξεκβνιέο, αιιά θαη λα δηαζθαιηζηεί ε αμηνπηζηία ησλ απνηειεζκάησλ ησλ πεξηνδηθψλ ειέγρσλ πνπ πξαγκαηνπνηνχληαη ζην θαλάιη. Γηα ηηο πξναλαθεξφκελεο γεληθέο ιεηηνπξγίεο ελφο θειηνχ, έρνπλ πξνηαζεί γηα αξθεηέο πεξηπηψζεηο ζπγθεθξηκέλεο ηερληθέο ιχζεηο (φπσο ζηνλ ηξφπν πνπ ζα πξαγκαηνπνηνχληαη νη πεξηνδηθνί έιεγρνη), ελψ αξθεηέο άιιεο έρνπλ πξνζεγγίζεη ην εξεπλεηηθφ ελδηαθέξνλ, ζπγθεληξψλνληαο δηάθνξεο ελαιιαθηηθέο πξνηάζεηο (φπσο ν ηξφπνο δηαρείξηζεο ησλ ζπρλνηήησλ). Χζηφζν, φπσο θαη νπνηνδήπνηε πξφηππν, έηζη θαη ην , είλαη επάισην ζε επηζέζεηο. Ζ ειεχζεξε ρξήζε ηνπ κε αδεηνδνηεκέλνπ θάζκαηνο κπνξεί λα απνηειέζεη αληηθείκελν εθκεηάιιεπζεο απφ θαθφβνπινπο ρξήζηεο, νη νπνίνη ζα κπνξνχζαλ λα πξαγκαηνπνηήζνπλ δηάθνξεο επηζέζεηο. Οη επηζέζεηο απηέο παξνπζηάδνπλ έλα βαζηθφ ραξαθηεξηζηηθφ: δελ είλαη θνηλέο γηα νπνηνδήπνηε πξφηππν, αιιά αθνξνχλ εηδηθά ηε ιεηηνπξγία ηνπ cognitive radio θαη δεη ηνπ , ζην ζηφραζηξν ησλ νπνίσλ βξίζθεηαη θπξίσο ε παξεκπφδηζε ηεο απνηειεζκαηηθήο δηαρείξηζεο ησλ πφξσλ. Ήδε, ζηε βηβιηνγξαθία έρνπλ αλαθεξζεί αξθεηά πηζαλά ζελάξηα επίζεζεο ηα νπνία ζα κπνξνχζαλ λα πξνθαιέζνπλ πξνβιήκαηα ζηελ εχξπζκε ιεηηνπξγία ελφο θειηνχ. Αληηθείκελν ηεο παξνχζαο δηπισκαηηθήο απνηειεί ε αλάιπζε νξηζκέλσλ ζελαξίσλ επίζεζεο, νη νπνίεο πξαγκαηνπνηνχληαη απφ εμειηγκέλνπο θαθφβνπινπο ρξήζηεο, πξνθαιψληαο απψιεηεο δεδνκέλσλ θαη ελέξγεηαο ζην δίθηπν. ηελ εξγαζία αλαθέξνληαη νξηζκέλα ζελάξηα, ηα νπνία αληηκεησπίδνληαη επηηπρψο κε ηηο ππάξρνπζεο πξνηάζεηο πνπ αθνξνχλ ην , θαη άιια ηα νπνία αληηκεησπίδνληαη αλεπηηπρψο. Δπηπιένλ, αλαθέξνληαη θαη ηξφπνη απνηειεζκαηηθήο αληηκεηψπηζεο απηψλ ησλ επηζέζεσλ πνπ πξνβιέπνπλ ηελ ηξνπνπνίεζε ή ηελ επέθηαζε ηεο ιεηηνπξγηθφηεηαο ηνπ Δηδηθφηεξα, πξνηείλνληαη δπν ελαιιαθηηθέο πξνζεγγίζεηο πνπ κπνξεί λα πηνζεηεζνχλ απφ έλα θειί γηα ηνλ απνηειεζκαηηθφηεξν εληνπηζκφ ησλ επηζέζεσλ. Κάζε κηα πξνζέγγηζε παξνπζηάδεη ηδηαίηεξα ηερληθά ραξαθηεξηζηηθά πνπ παξέρνπλ απμεκέλε αζθάιεηα, αιιά πξνθαινχλ θαη επηπιένλ επηβάξπλζε ζην δίθηπν. Ζ αλάιπζε ησλ επηζέζεσλ θαη ησλ ηξφπσλ αληηκεηψπηζήο ηνπο δελ κπνξεί λα πεξηνξηζηεί κφλν ζε ζεσξεηηθφ επίπεδν. Απαηηείηαη θαη ε πξνζνκνίσζε ιεηηνπξγίαο ελφο δηθηχνπ, βάζεη πξνθαζνξηζκέλσλ ζελαξίσλ θαη ε αλάιπζε ηεο ζπκπεξηθνξάο ηνπ κε ηελ πξαγκαηνπνίεζε θαηάιιεισλ κεηξήζεσλ. Γηα απηφ ην ιφγν, πξσηαγσληζηηθφ ξφιν ζηελ εθπφλεζε ηεο δηπισκαηηθήο εξγαζίαο ιακβάλεη ν ns-2, έλαο απφ ηνπο δεκνθηιέζηεξνο πξνζνκνησηέο δηθηχνπ, ζηνλ νπνίν έρεη πξνζηεζεί θαη ε δπλαηφηεηα πξνζνκνίσζεο ηνπ Ο ns-2 είλαη πξνζνκνησηήο αλνηρηνχ θψδηθα, παξέρνληαο ηε δπλαηφηεηα ζε νπνηνλδήπνηε ρξήζηε λα ηξνπνπνηήζεη ηνλ πεγαίν θψδηθα, γηα λα πινπνηήζεη αξθεηέο ιεηηνπξγίεο ή αθφκα θαη λα επεθηείλεη ηε ιεηηνπξγηθφηεηά ηνπ. Ζ επξεία ρξήζε ηνπ θαηαδεηθλχεηαη θαη απφ ην γεγνλφο πσο αξθεηέο εξεπλεηηθέο νκάδεο έρνπλ αλαπηχμεη επηπιένλ ηκήκαηα θψδηθα πνπ αθνξνχλ ζπγθεθξηκέλεο ιεηηνπξγίεο, νη νπνίεο πνιιέο θνξέο ελζσκαηψλνληαη ζε κεηαγελέζηεξεο εθδφζεηο ηνπ ns-2. Καζψο δελ ππάξρεη θάπνηα δηαζέζηκε πινπνίεζε ηνπ , πινπνηήζεθε πξνγξακκαηηζηηθά κηα επέθηαζε γηα ηνλ ns-2, κε ηελ νπνία πξαγκαηνπνηνχληαη φιεο νη απαηηνχκελεο πξνζνκνηψζεηο ησλ δηθηχσλ. Ζ πινπνίεζε ηεο επέθηαζεο ηνπ επηθεληξψλεηαη θπξίσο ζηελ αλάπηπμε ηνπ επηπέδνπ πξφζβαζεο ζην κέζν, ην νπνίν ελζσκαηψλεη ην κεγαιχηεξν κέξνο ηεο απαηηνχκελεο ιεηηνπξγηθφηεηαο γηα ηελ πξαγκαηνπνίεζε ησλ πξνζνκνηψζεσλ. Αξρηθά, αλαπηχζζνληαη νη

5 iii βαζηθέο ιεηηνπξγίεο, φπσο γηα παξάδεηγκα ν πεξηνδηθφο έιεγρνο γηα ηελ παξνπζία πξσηεπφλησλ ρξεζηψλ. Κάζε ραξαθηεξηζηηθφ πνπ πξνζηίζεηαη ειέγρεηαη δηεμνδηθά κε θαηάιιειεο κεηξήζεηο. Δηδηθφηεξα, βάζεη ησλ ιεηηνπξγηψλ πνπ πξνβιέπνληαη απφ ην πξφηππν , εμάγνληαη αξθεηέο ζεσξεηηθέο ζρέζεηο γηα ηελ απφδνζε ηνπ δηθηχνπ. Ο έιεγρνο ηεο απνηειεζκαηηθφηεηαο ησλ πξνζνκνηψζεσλ πξαγκαηνπνηείηαη ζπλεπψο εμεηάδνληαο θάζε θνξά ηε ζπλάθεηα ησλ πεηξακαηηθψλ κεηξήζεσλ κε ηα ζεσξεηηθά αλακελφκελα απνηειέζκαηα. ηε ζπλέρεηα, πξνζηίζεηαη θαη ε δπλαηφηεηα πξνζνκνίσζεο θαη ησλ δπν λέσλ ελαιιαθηηθψλ πξνζεγγίζεσλ πνπ έρνπλ πξνηαζεί. ε απηή ηελ πεξίπησζε, ε δπλαηφηεηα ησλ πξνζνκνηψζεσλ απνθηά εηδηθφ βάξνο, θαζψο πξαγκαηνπνηνχληαη ζπγθεθξηκέλα ζελάξηα επηζέζεσλ, εμεηάδνληαο ηε ζπκπεξηθνξά ηνπ δηθηχνπ, ηφζν κε ηηο ζπκβαηηθέο ιεηηνπξγίεο φπσο έρνπλ πεξηγξαθεί ζην πξφηππν, φζν θαη κε ηελ επηπξφζζεηε ιεηηνπξγηθφηεηα. Δπηπιένλ, νη πξνζεγγίζεηο ζπγθξίλνληαη κεηαμχ ηνπο γηα ηελ απνηειεζκαηηθφηεηά ηνπο ζηελ αληηκεηψπηζε ησλ επηζέζεσλ, αιιά θαη γηα ηελ επηβάξπλζε πνπ πξνθαινχλ ζην δίθηπν, φζνλ αθνξά ηελ αληαιιαγή δεδνκέλσλ. Σν πξννξίδεηαη γηα ρξήζε θαη απφ θηλεηέο ζπζθεπέο, κε ηελ θαηαλάισζε ελέξγεηαο λα απνηειεί έλα επηπιένλ ζεκαληηθφ θξηηήξην. Όζνλ αθνξά ην θπζηθφ επίπεδν, πξνζηίζεηαη ε δπλαηφηεηα πνιπθάλαιεο κεηάδνζεο, κε ηηο κεηαδφζεηο λα πξαγκαηνπνηνχληαη αθνινπζψληαο ηελ νξζνγψληα δηαίξεζε ζπρλφηεηαο πνιιαπιήο πξφζβαζεο (OFDMA), φπσο νξίδεηαη θαη απφ ην πξφηππν, επηηξέπνληαο κε απηφλ ηνλ ηξφπν ηελ ηαπηφρξνλε κεηάδνζε απφ πνιιέο ζπζθεπέο πειαηψλ πξνο ην ζηαζκφ βάζεο, αιιά θαη αληίζηξνθα. Ζ παξνχζα δηπισκαηηθή εξγαζία ρσξίδεηαη ζε δπν κέξε. ην πξψην κέξνο αλαιχεηαη ην απαηηνχκελν ζεσξεηηθφ ππφβαζξν, ζην νπνίν πεξηιακβάλεηαη ε ιεηηνπξγία ηνπ θαη ε αξρηηεθηνληθή ηνπ ns-2. Γηα ηελ πινπνίεζε ηεο επέθηαζεο, θξίζεθε απαξαίηεηε θαη ε κειέηε ππαξρφλησλ επεθηάζεσλ (ε νπνία παξνπζηάδεηαη ζην ηέινο ηνπ πξψηνπ κέξνπο), πνπ πινπνηνχλ άιια πξφηππα (φπσο ην ), αιιά παξνπζηάδνπλ ελδηαθέξνληα ραξαθηεξηζηηθά πνπ κπνξνχλ λα πηνζεηεζνχλ. Σν δεχηεξν κέξνο πεξηιακβάλεη ην ηερληθφ κέξνο ηεο δηπισκαηηθήο, φπνπ επεμεγνχληαη φιεο νη δπλαηφηεηεο πνπ ππνζηεξίδνληαη απφ ηελ επέθηαζε, θαζψο θαη ν ηξφπνο κε ηνλ νπνίν πξνζνκνηψλνληαη κε επηηπρία. ην ηέινο ηνπ δεχηεξνπ κέξνπο πεξηιακβάλνληαη θαη νη πξνηεηλφκελεο ιχζεηο. Αζήλα, Φεβξνπάξηνο 2010

6 iv The widespread use of wireless devices, the rise of telecommunications and the substantial role of television and radio in everyday life are due largely to the use of broadcasting frequencies. The broadcasting field has gained a lot of research and commercial interest, especially regarding the management of unused frequencies, which are frequencies not bound to provide certain telecommunications services, as for example, frequencies assigned to broadcast television programs. The number of unused frequencies is expected to increase, gaining an appreciable portion of the TV spectrum, due to the transition of television programs from analogue to digital frequencies, transition which is already in progress in many countries (such as the United States and Japan) and is expected to take place in a large scale in Greece as well. Access to the vacant TV channels has been the subject of intense lobbying, yet far too many of the arguments rely upon the possibility of causing harmful interference to the existing TV broadcasts and other incumbent services. Cognitive radio is seen as a new approach to the area of wireless communications, where a system can adapt to environmental conditions, by sensing the TV channels and switching to the appropriate frequencies in order to avoid interference. In May 2004, the Federal Communications Commission in the United States made a rule proposing to allow free use of the unlicensed spectrum. In particular, operation of unlicensed users in the TV broadcast bands is allowed, provided that no harmful interference is caused to incumbent users. The utilization of radio frequencies has several advantages, including the large inoccupation of many TV channels in many countries and favorable propagation characteristics, providing a much bigger coverage range. Moreover, the utilization of the large amount of unused spectrum can be achieved by the use of cognitive radios, which led to the development of a specification for the standard by the IEEE in November The standard defines a new physical and MAC layer, leading to the formation of Wireless Regional Access Networks (WRANs). The motivation for the deployment of such networks in a large scale is quite high, providing coverage to suburban and rural areas, high transmission speeds, without the need of installing expensive hardware, or paying license fees, as in the case of WiMAX. The standard is based, up to some level, on the , by making the appropriate modifications and extensions which are considered unique and allow the operation in the TV spectrum. The Base Station (BS) is considered the basic entity, and manages all associated Customer Premise Equipments (CPEs), forming a cell. However, a cell must obey the regulatory framework and thus avoid causing interference, not only to the broadcasters, but also to other legitimate devices and services including wireless microphones (known as Part 74 of the FCC rules), emergency services and wireless communications within an enterprise. For this reason, CPEs, besides data exchange, are also responsible for conducting channel sensing measurements at specific time intervals in order to detect the existence of any primary user (as mentioned before) in the same channel. In case such user is detected, the cell switches to another vacant channel, therefore avoiding the interference in an effective way. Moreover, because of the large coverage range of a cell, which can reach up to 100

7 v km, it is highly possible that two or more cells are operating on the same channel (-s), arising coexistence issues, such as the need for synchronization between the cells in order to avoid causing harmful interference to each other and to ensure the reliability of the channel sensing measurements. A lot of approaches have been made about the general functions mentioned before, including detailed technical solutions in some cases (such as how channel sensing should be performed) and several alternate proposals in other cases (such as the utilization of unused spectrum). However, the standard, as the rest of the published standards, is not immune to attacks. The free use of unlicensed spectrum is a feature that can be exploited or undermined by adversaries, who could launch attacks. Most of the attacks are unique to the standard and the cognitive radio architecture in general, with a view to degrading the performance of the resources management. Such misbehaviors have been studied, with related work referring to attack scenarios which undermine the efficient operation of an cell. The purpose of the thesis is to analyze some attack scenarios launched by intelligent malicious users, causing data and energy loss to the network. Some of the attacks mentioned in this thesis can be successfully detected by the existing implementation and some others cannot, posing a serious threat to the network. Moreover, we discuss some countermeasures for thwarting these attacks, extending the functionality of the standard. Each countermeasure has different technical features that provide enhanced security, but also cause additional workload on the network. The analysis of such attacks and the countermeasures to thwart these cannot be limited only to a theoretical aspect. There is a need for the simulation of an cell as well, based on predefined, specific scenarios and analysis of the network s behavior by making specific measurements. For this reason, ns-2, one of the most popular network simulators, has played a vital role in preparing this thesis, by extending its functionality in order to simulate networks efficiently. The ns-2 simulator is open source, enabling any user to modify the source code to implement several functions or extend its functionality. The widespread use of ns-2 is illustrated by the fact that many research groups have development additional source code, knows as modules, which are referred to specific network features, and are even incorporated in later versions. As there is no implementation available, we have developed a module for ns-2, which performs all the required simulations of the standard. The module focuses mainly on developing/simulating the MAC layer, which incorporates most of the functionality required to carry out the simulations. The beginning of the development includes simulations of the basic functions, as defined by the standard, such as channel sensing for the detection of incumbent users. Each feature developed is tested thoroughly by conducting the necessary measurements. Several theoretical equations can be extracted, based on the functions described by the standard. Therefore, the efficiency of the simulation can be determined, by examining the relevance of the experimental measurements with the expected theoretical results. Moreover, the functionality of simulating the proposed countermeasures is added. In this case, the simulation results are of greater importance, because specific attacks can now be simulated and therefore examine the network s behavior not only with the conventional functionality described by the standard, but also with the added functionality defined by the countermeasures proposed. The countermeasures are compared each other in terms of efficiency in detecting the attacks and the impact caused on the network, especially possible data loss. The is intended for use by mobile devices as well, thus making energy consumption an important specification which should be taken into account. As far as the physical layer is concerned, multi-channel transmission can now be simulated, following the Orthogonal Frequency Division Multiple Access (OFDMA) modulation for downstream and upstream links, as defined by the standard, thus allowing concurrent transmissions between the CPEs and the BS.

8 vi The thesis divided into two parts. The first part analyses the required theoretical background, including the description of cognitive radio technology and the standard and the ns-2 architecture. The study of existing ns-2 modules (which are analyzed at the end of Part I) which simulate other standards (such as the ) but include relevant features has proved to be of great importance for developing the required module. Part II describes technical aspects of the thesis, analyzing all the features supported by the module and the methodology used to carry out the necessary simulations. The proposed countermeasures are included at the end of the second part. Athens, February 2010

9 vii Ζ ζπγθεθξηκέλε αλαθνξά απνηειεί πξντφλ ηεο δηπισκαηηθήο εξγαζίαο πνπ εθπνλήζεθε θαηά ην ηξίην εμάκελν ηνπ κεηαπηπρηαθνχ πξνγξάκκαηνο ηνπ Οηθνλνκηθνχ Παλεπηζηεκίνπ Αζελψλ ζηα Πιεξνθνξηαθά πζηήκαηα. Ζ αλάζεζε πξαγκαηνπνηήζεθε απφ ηνλ θ. Ησάλλε Μαξηά. Ζ πινπνίεζε ηνπ ηειηθνχ απνηειέζκαηνο ηεο δηπισκαηηθήο κε ηελ αλάπηπμε θψδηθα θαη ηελ εθπφλεζε ησλ ζελαξίσλ πξνζνκνίσζεο θαη ησλ απαηηνχκελσλ κεηξήζεσλ, πξαγκαηνπνηήζεθε ζε ζπλεξγαζία κε ηνλ κεηαπηπρηαθφ θνηηεηή Φψηε παζαξάθε. ηελ παξνχζα αλαθνξά πεξηιακβάλνληαη φιεο νη ζπλεηζθνξέο πνπ έρνπλ πξαγκαηνπνηεζεί απφ ηνλ ζπγγξαθέα ηεο δηπισκαηηθήο. Θα ήζεια λα επραξηζηήζσ φινπο ηνπο θαζεγεηέο ηνπ κεηαπηπρηαθνχ πξνγξάκκαηνο θαη δεη ηνλ θ. Ησάλλε Μαξηά γηα ηελ ζπλερή ηνπ ππνζηήξημε ζε έλα ζέκα ζην νπνίν ππήξρε ειάρηζην ζεσξεηηθφ ππφβαζξν, ηδηαίηεξα φζνλ αθνξά ηε ρξήζε θαη ηελ εθαξκνγή ηνπ πξνζνκνησηή δηθηχσλ. Γαιαλφπνπινο Κσλζηαληίλνο

10 viii Best Effort - Τπεξεζία ρσξίο απαηηήζεηο Base Station - ηαζκφο Βάζεο Consumer Premise Equipment - πζθεπή Πειάηε Downlink Channel Descriptor - Πεξηγξαθέαο Downlink Καλαιηνχ Downlink Equivalent Isotropically Radiated Power - Δλεξγή Ηζνηξνπηθή Αθηηλνβνινχκελε Ηζρχο Equivalent Radiated Power - Δλεξγή Αθηηλνβνινχκελε Ηζρχο Frame Control Header - Δπηθεθαιίδα Διέγρνπ ηνπ frame Frequency Division Duplex - Ακθίδξνκε Λεηηνπξγία Γηαίξεζεο πρλφηεηαο Forward Error Correction - Kψδηθαο εθ ησλ Πξνηέξσλ Γηφξζσζεο θαικάησλ Federal Communications Commission - Οκνζπνλδηαθή Δπηηξνπή Δπηθνηλσληψλ Fast Fourier Transformation - Σαρχο Μεηαζρεκαηηζκφο Fourier File Transfer Protocol - Πξσηφθνιιν Μεηαθνξάο Αξρείσλ Line of Sight - Οπηηθή Δπαθή Medium Access Control - Δπίπεδν Πξφζβαζεο ζην Φπζηθφ Μέζν Mobile Node - Κηλεηφο Κφκβνο Non-Line of Sight - Με Οπηηθή Δπαθή On-demand Spectrum Contention - Γέζκεπζε Φάζκαηνο θαηφπηλ Αίηεζεο Orthogonal Frequency Division Multiplexing - Οξζνγψληα Πνιππιεμία Γηαίξεζεο πρλφηεηαο

11 ix Orthogonal Frequency Division Multiple Access - Οξζνγψληα Γηαίξεζε πρλφηεηαο Πνιιαπιήο Πξφζβαζεο Point to Multipoint - εκείν πξνο Πνιιαπιά εκεία Report - Παξάδνζε Αλαθνξάο Primary User - Πξσηεχσλ Υξήζηεο Quadrature Amplitude Modulation - Σεηξαγσληθή Γηακφξθσζε Πιάηνπο Quiet Periods - Πεξίνδνη Διέγρνπ ηνπ Καλαιηνχ Quality of Service - Πνηφηεηα Τπεξεζηψλ Receive - Λήςε Superframe Control Header - Δπηθεθαιίδα Διέγρνπ ηνπ superframe Signal to Noise Ratio - Λφγνο ήκαηνο Θνξχβνπ Transmission Control Protocol - Πξσηφθνιιν Διέγρνπ Μεηάδνζεο Time Division Duplex - Ακθίδξνκε Λεηηνπξγία Γηαίξεζεο Υξφλνπ Transmission Time Gap - Υξνληθφ Κελφ Μεηάδνζεο Uplink Channel Descriptor - Πεξηγξαθέαο Uplink Καλαιηνχ User Datagram Protocol Unsolicited Grant Service - Τπεξεζίεο ηαζεξνχ Ρπζκνχ Δθπνκπήο Uplink Wireless Regional Area Network - Αζχξκαηα Γίθηπα Μεγάιεο Δκβέιεηαο extended real time Polling Service non real-time Polling Service - Τπεξεζία κε Πξαγκαηηθνχ Υξφλνπ κε Μεηαβιεηφ Υξφλν Δθπνκπήο real-time Polling Service - Τπεξεζία Πξαγκαηηθνχ Υξφλνπ κε Μεηαβιεηφ Υξφλν Δθπνκπήο

12 x Πεξίιεςε... i Summary... iv Δηζαγσγηθό εκείσκα... vii πληνκνγξαθίεο... viii Πεξηερόκελα εηθόλσλ... xiii Πεξηερόκελα Αιγνξίζκσλ... xv 1 Cognitive Radio θαη ην πξόηππν Οξηζκφο ηνπ Cognitive Radio Σν πξσηφθνιιν IEEE Κίλεηξα γηα ηελ αλάπηπμε ηνπ πξσηνθφιινπ Καλνληζηηθφ πιαίζην Υαξαθηεξηζηηθά ηνπ Σo θπζηθφ επίπεδν θαη ην επίπεδν πξφζβαζεο ζην κέζν ηνπ Πξννπηηθέο εθαξκνγήο ηνπ Ο πξνζνκνησηήο δηθηύσλ ns Δγθαηάζηαζε ηνπ ns Σν κνληέιν ηεο αζχξκαηεο δηθηχσζεο ζηνλ ns Πξνγξακκαηηζκφο γεγνλφησλ Βαζηθά ζπζηαηηθά ελφο θηλεηνχ θφκβνπ Μειέηε ιεηηνπξγίαο ζρεηηθώλ επεθηάζεσλ ηνπ ns Ζ επέθηαζε γηα ην Cognitive Radio Μεηάδνζε ζε πνιιαπιά θαλάιηα... 30

13 xi Πξσηφθνιια Cognitive Radio ρνιηαζκφο module Ζ επέθηαζε γηα ην Δπηθνηλσλία ζε πνιιαπιά θαλάιηα Γηαδηθαζία αλαδήηεζεο ζην θάζκα Έιεγρνο ηνπ θαλαιηνύ θαη αλαδήηεζε ζην θάζκα Ζ πεξίνδνο γξήγνξνπ ειέγρνπ (fast sensing) Ζ πεξίνδνο γξήγνξνπ ειέγρνπ ζην επίπεδν MAC Ζ πεξίνδνο γξήγνξνπ ειέγρνπ ζην επίπεδν δηεπαθήο κε ην θπζηθφ κέζν χλδεζε ησλ πιεξνθνξηψλ ησλ δπν επηπέδσλ Ζ πεξίνδνο ιεπηνκεξνχο ειέγρνπ (fine sensing) Γηαθνπή ησλ κεηαδφζεσλ θαηά ηελ δηάξθεηα ηνπ fast θαη ηνπ fine sensing Γνκή ηνπ πινπνηεκέλνπ module Ζ δηαδηθαζία αλαδήηεζεο ζην θάζκα Πξνζαξκνγή ζηα ραξαθηεξηζηηθά ηνπ Πεξηγξαθή ελφο αξρείνπ tcl Πξαγκαηνπνίεζε πξνζνκνηψζεσλ Δπίπησζε ησλ ειέγρσλ ζην ξπζκφ αληαιιαγήο δεδνκέλσλ πγρξνληζκόο ησλ θειηώλ Τινπνίεζε ηνπ ζπγρξνληζκνχ Πξνζνκνίσζε ιεηηνπξγίαο Οξηδφληηνο δηακνηξαζκφο θάζκαηνο Πξνζνκνίσζε δηακνηξαζκνχ ελφο θνηλνχ θαλαιηνχ Δλζσκάησζε ηνπ δηακνηξαζκνχ θαλαιηνχ ζηε δηαδηθαζία αλαδήηεζεο ειεχζεξσλ θαλαιηψλ Γηελέξγεηα πνιιαπιώλ ειέγρσλ εληόο ηνπ frame Αχμεζε ηνπ αξηζκνχ ησλ ειέγρσλ ζε έλα frame Πξνζνκνίσζε ιεηηνπξγίαο πνιιψλ ειέγρσλ εληφο ηνπ frame Δπηπηψζεηο ζην ξπζκφ ιήςεο δεδνκέλσλ ρνιηαζκφο ηεο ιεηηνπξγίαο Τινπνίεζε ηνπ επηηηζέκελνπ ζηνλ ns Απνηειέζκαηα πξνζνκνίσζεο Δμειηγκέλα ζελάξηα επίζεζεο θαη κέηξα αληηκεηώπηζεο Τινπνίεζε sensing εληφο ηνπ frame Αλάπηπμε ηνπ κέηξνπ αληηκεηψπηζεο ζηνλ ns

14 xii 7.2 Τινπνίεζε sensing απφ αλελεξγέο ζπζθεπέο πειαηψλ χγθξηζε ησλ αιγνξίζκσλ κε βάζε ηηο απψιεηεο παθέησλ ρνιηαζκφο ησλ απνηειεζκάησλ Δμάξηεζε ηνπ αιγνξίζκνπ C απφ ηελ απφζηαζε ρνιηαζκφο ησλ απνηειεζκάησλ Βηβιηνγξαθία πλνδεπηηθό πιηθό

15 xiii 1.1: Υξήζε ζπρλνηήησλ MHz φπσο απηή έρεη κεηξεζεί ζε 6 ζεκεία : πζθεπέο cognitive radio πνπ ιεηηνπξγνχλ ζην πεδίν ησλ ηειενπηηθψλ ζπρλνηήησλ : Δκβέιεηεο δηαζέζηκσλ πξσηνθφιισλ αζχξκαησλ δηθηχσλ : Πηζαλφ ζελάξην αλάπηπμεο ελφο δηθηχνπ : Δκθάληζε θελψλ δηαζηεκάησλ κεηάδνζεο ζην θάζκα : Γηαθνξέο κεηαμχ ελφο ζπκβφινπ OFDM (α) OFDMA (β) : Κσδηθνπνηήζεηο αλάινγα κε ηελ απφζηαζε : Γεληθή δνκή ηνπ superframe : Γεληθή δνκή ηνπ frame : Σα δπν ζηάδηα πξαγκαηνπνίεζεο ειέγρνπ γηα εληνπηζκφ πξσηεπφλησλ ρξεζηψλ : πγρξνληζκφο επηθαιππηφκελσλ θπςειψλ : Ζ βαζηθή αξρηηεθηνληθή ηνπ ns : Αλαπαξάζηαζε δπν αζχξκαησλ θφκβσλ, φπσο απηή παξνπζηάδεηαη απφ ην εξγαιείν πξνζνκνίσζεο EXAMS : Αληηζηνίρηζε κεηαμχ θιάζεσλ ηεο C++ θαη ηεο OTcl : Παξάδεηγκα ελφο δξνκνινγεηή γεγνλφησλ : Γνκή ελφο θηλεηνχ θφκβνπ mobile node : Οξηζκνί ηνπ RXThreshold θαη ηνπ CSThreshold : Γνκή ιεηηνπξγίαο ηνπ cognitive radio module : Αλαδήηεζε ζην θάζκα απφ έλαλ θηλεηφ θφκβν, κε ηελ αλαδήηεζε λα μεθηλά απφ ην θαλάιη 2 θαη λα νινθιεξψλεηαη ζην θαλάιη 3, φπνπ θαη βξίζθεηαη έλαο ζηαζκφο βάζεο : Ζ δνκή ελφο frame θαη ελφο superframe : Αλαδήηεζε ζην θάζκα φπσο απηή πξαγκαηνπνηείηαη απφ ηε ζπζθεπή πειάηε : Απφπεηξεο αλαδήηεζεο θάζκαηνο απφ θάζε δίθηπν : Δθηέιεζε ηνπ πξνγξάκκαηνο threshold γηα ηνλ ππνινγηζκφ ηεο ειάρηζηεο ελέξγεηαο ιήςεο : Σνπνινγία ηνπ ζελαξίνπ πνπ ζα πξνζνκνησζεί κε ηε ρξήζε ηνπ ns-2, κε κηα ζπζθεπή πειάηε (CPE 1 ) θαη έλαλ επηηηζέκελν (CPE A ) : Γξαθηθή παξάζηαζε ηεο απψιεηαο δεδνκέλσλ πνπ πξνθαιείηαη ιφγσ ηεο παξεκβνιήο απφ ηνλ επηηηζέκελν θαηά ηε ιήςε rtps παθέησλ απφ ην CPE 1 ζε ζπλάξηεζε κε ηελ απφζηαζε ηνπ επηηηζέκελνπ απφ ηνλ CPE : Παξνπζίαζε ησλ κελπκάησλ πνπ εκθαλίδνληαη ζηελ νζφλε θαηά ηε δηάξθεηα ελφο frame : Παξεκβνιέο ζε ζπλάξηεζε κε ην ρξφλν γηα ηνπο ζηαζκνχο βάζεο : Υξήζε θαλαιηψλ θαηά ηελ δηάξθεηα ηεο πξνζνκνίσζεο : Παξεκβνιέο ζε ζπλάξηεζε κε ην ρξφλν γηα ηηο ζπζθεπέο ησλ ρξεζηψλ (CPEs)... 64

16 xiv 5.1: πγρξνληζκφο πέληε θειηψλ πνπ βξίζθνληαη ζην ίδην θαλάιη : Γηακνηξαζκφο ελφο θαλαιηνχ κεηαμχ ηξηψλ θειηψλ : Γηακνηξαζκφο ηνπ θαλαιηνχ κεηαμχ ηξηψλ θειηψλ : Γξαθηθή παξάζηαζε ηνπ ξπζκνχ ιήςεο δεδνκέλσλ θαη γηα ηηο ηξεηο ζπζθεπέο πειαηψλ πνπ είλαη ζπλδεδεκέλεο κε δηαθνξεηηθφ ζηαζκφ βάζεο θαη βξίζθνληαη ζην ίδην θαλάιη, κνηξάδνληαο ην θαλάιη θαηά ίζα ρξνληθά δηαζηήκαηα ηηγκηφηππν εθηέιεζεο ζελαξίνπ φπνπ ππάξρνπλ ηξία θειηά κε ηα δηαζέζηκα θαλάιηα λα είλαη κφλν δχν : Απνηειέζκαηα πξνζνκνίσζεο, φπσο πξνθχπηνπλ απφ δπν δηαθνξεηηθά ηκήκαηα ηνπ αξρείνπ results.txt : Μέηξεζε ηνπ ξπζκνχ ιήςεο δεδνκέλσλ γηα θάζε ζπζθεπή πειάηε πνπ αλήθεη ζε δηαθνξεηηθφ θειί : Αξηζκφο ηνπ θαλαιηνχ πνπ ρξεζηκνπνηείηαη θαηά ηε δηάξθεηα ηεο πξνζνκνίσζεο απφ θάζε ζπζθεπή πειάηε : Γνκή ηνπ frame, φπσο δηακνξθψλεηαη κεηά απφ ηελ εθαξκνγή ηξηψλ senses ζε θάζε frame : Μέηξεζε ηνπ ξπζκνχ ιήςεο δεδνκέλσλ γηα έλα CPE γηα δηάθνξα fast senses/frame : Λεηηνπξγία ηνπ sensing εληφο ηνπ frame φπνπ πξαγκαηνπνηείηαη ε αληαιιαγή ησλ δεδνκέλσλ : ρεκαηηθή αλαπαξάζηαζε ησλ θφκβσλ πνπ ζπκκεηέρνπλ ζηελ πξνζνκνίσζε : Δληνπηζκφο ηεο παξεκβνιήο θαη αιιαγή ηνπ θαλαιηνχ απφ ην δίθηπν : Γξαθηθή παξάζηαζε ηνπ ξπζκνχ ιήςεο δεδνκέλσλ έλαληη ηεο δηάξθεηαο ηνπ sensing εληφο ηνπ frame ζε αξηζκφ ζπκβφισλ : Γξαθηθή παξάζηαζε ηνπ ξπζκνχ ιήςεο δεδνκέλσλ γηα έλα απφ ηα CPEs : Σξφπνο ιεηηνπξγίαο sensing απφ αλελεξγέο ζπζθεπέο : Μέγηζηνο αξηζκφο sensing ι κε βάζε ηε δηάξθεηα k ηεο παξεκβνιήο γηα δηαθνξεηηθφ αξηζκφ n CPEs πνπ πξαγκαηνπνηνχλ sensing : Μέγηζηνο αξηζκφο sensing ι κε βάζε ηε δηάξθεηα k ηεο παξεκβνιήο γηα δηαθνξεηηθφ αξηζκφ slots ζηα νπνία πξνθαιείηαη collision (3 θαη 5 αληίζηνηρα) collision : Μέγηζηνο αξηζκφο sensing ι κε βάζε ηε δηάξθεηα k ηεο παξεκβνιήο γηα δηαθνξεηηθφ αξηζκφ slots κε ηηο παξακέηξνπο n, a θαη i λα έρνπλ ηηο ηηκέο 3,1 θαη 2 αληίζηνηρα : Καηαλάισζε ελέξγεηαο ηνπ ζπζηήκαηνο ζε ζπλάξηεζε κε ην κέγηζην αξηζκφ ησλ frames πνπ πξαγκαηνπνηείηαη sensing γηα δηαθνξεηηθφ αξηζκφ ζπζθεπψλ πειαηψλ ζε έλα θειί : Σνπνινγία κε ηελ νπνία πξαγκαηνπνηνχληαη νη πξνζνκνηψζεηο : Απψιεηα δεδνκέλσλ ζε bits φπσο κεηξήζεθε κε ηελ εθηέιεζε ηνπ πξψηνπ ζελαξίνπ πξνζνκνίσζεο : Απψιεηα δεδνκέλσλ ζε bits, φπσο κεηξήζεθε κε ηελ εθηέιεζε ηνπ δεπηέξνπ ζελαξίνπ πξνζνκνίσζεο : Απψιεηα δεδνκέλσλ ζε bits, φπσο κεηξήζεθε κε ηελ εθηέιεζε ηνπ ηξίηνπ ζελαξίνπ πξνζνκνίσζεο : Απψιεηα δεδνκέλσλ ζε bits, φπσο κεηξήζεθε κε ηελ εθηέιεζε ηνπ ηέηαξηνπ ζελαξίνπ πξνζνκνίσζεο : Απψιεηεο δεδνκέλσλ ζε bits θαηά ηελ δηάξθεηα ησλ πξνζνκνηψζεσλ, κε ηελ απφζηαζε ηνπ επηηηζέκελνπ απφ ηελ καθξηλφηεξε ζπζθεπή πειάηε λα αιιάδεη ζπλερψο : πλνιηθέο απψιεηεο δεδνκέλσλ κε βάζε ηελ απφζηαζε

17 1 Αιγφξηζκνο Α Αιγφξηζκνο Β Αιγφξηζκνο C xv

18 Σν cognitive radio είλαη κηα κνξθή ηειεπηθνηλσληψλ ζηελ νπνία ν ίδηνο ν δέθηεο έρεη επίγλσζε ηεο θαηάζηαζεο ηνπ θαη ησλ ζπλζεθώλ ηνπ πεξηβάιινληόο ηνπ. Έρνληαο απηά σο δεδνκέλα, παξέρεη ηε δπλαηφηεηα πξνζαξκνγήο ζε ζπλερψο ελαιιαζζφκελεο θαηαζηάζεηο. Παξαδείγκαηα επίγλσζεο ηεο θαηάζηαζήο ηνπ κπνξνχλ λα απνηεινχλ νη αλάγθεο ηνπ ρξήζηε πνπ ρξεζηκνπνηεί ηνλ εθάζηνηε δέθηε. Δπηπιένλ, κπνξεί λα γλσξίδεη θαη ηα θαλάιηα ηνπ πεξηβάιινληνο ηνπ θαη ην θαζεζηώο ρξήζεο ηνπο έηζη ψζηε λα ρξεζηκνπνηεί ηα ειεχζεξα θαη λα απνθεχγεη ηα θαηεηιεκκέλα, θάλνληαο απνηειεζκαηηθή δηαρείξηζε ηνπ θάζκαηνο. Σέηνηνπ είδνπο ζπλζήθεο αθνξνχλ ην πεξηβάιινλ ηνπ πνκπνχ κε ην νπνίν αιιειεπηδξά ν δέθηεο. Σν ζεκαληηθφ είλαη φκσο πσο θαη ηα δπν είδε ζπλζεθψλ πνπ πξναλαθέξζεθαλ κπνξεί λα αθνξνχλ θαη ηνλ πνκπφ, έηζη ψζηε ν δέθηεο, κέζα απφ κεραληζκνχο κεραληθήο κάζεζεο, λα κπνξεί λα απηνπξνζαξκφδεηαη κε έμππλν ηξφπν. Πηζαλέο επηπξφζζεηεο δπλαηφηεηεο πνπ έρεη ην cognitive radio ζρεηίδνληαη κε αθφκα επξχηεξνπο επηζηεκνληθνχο ηνκείο, φπσο γηα παξάδεηγκα ηνλ ηνκέα ησλ ζπζηεκάησλ επίγλσζεο ζέζεο. Δηδηθφηεξα, είλαη πηζαλφ θάπνηνο απφ ηνπο δέθηεο cognitive radio λα έρεη ηε δπλαηφηεηα λα εληνπίδεη ηε ζέζε ζηελ νπνία βξίζθεηαη θάζε ρξνληθή ζηηγκή θαη λα ηνπ παξέρνληαη ππεξεζίεο αλάινγα κε απηή (location-based services). Δπηπιένλ, νη δέθηεο κπνξνχλ λα έρνπλ ηε δπλαηφηεηα θξππηνγξάθεζεο θαη απνθξππηνγξάθεζεο ζεκάησλ, εληνπηζκνχ άιισλ γεηηνληθψλ αζχξκαησλ ζπζθεπψλ, εμαθξίβσζεο ηεο ηαπηφηεηαο θαη εμνπζηνδφηεζεο ησλ ρξεζηψλ ηνπο [2][4]. Πξνπνκπφο ηνπ cognitive radio ζεσξείηαη ην software radio, κηα έλλνηα πνπ ρξεζηκνπνηήζεθε γηα πξψηε θνξά απφ ηνλ Joseph Mitola, ην Έλα Software Radio είλαη έλα ζχζηεκα ξαδηνεπηθνηλσλίαο ζην νπνίν ηα ζπζηαηηθά ηνπ, ηα νπνία βξίζθνληαη ζε κνξθή πιηθνχ (hardware), φπσο ν κεηαηξνπέαο αλαινγηθνχ ζε ςεθηαθνχ ζήκαηνο (ADC), ν κεηαηξνπέαο ςεθηαθνχ ζε αλαινγηθνχ ζήκαηνο (DAC), ηα θίιηξα θηι, πινπνηνχληαη κε ινγηζκηθφ. Με βάζε ηνλ παξαπάλσ νξηζκφ, ζε έλα ηδαληθφ software radio, φια ηα βήκαηα κε ηα νπνία γίλεηαη ε ξαδηνεπηθνηλσλία, επηηπγράλνληαη κε ηε βνήζεηα ελφο πξνγξακκαηίζεκνπ (programmable) hardware πνπ ειέγρεηαη απφ ην ινγηζκηθφ. Σν cognitive radio άξρηζε λα αλαπηχζζεηαη απφ ηνλ Joseph Mitola ζε ζπλεξγαζία κε ηελ Τπεξεζία Πξνεγκέλσλ

19 Πξνγξακκάησλ Ακπληηθψλ Δξεπλψλ ησλ Ζλσκέλσλ Πνιηηεηψλ 1, αιιά επεθηάζεθε θαη ζε παλεπηζηεκηαθά ηδξχκαηα, ελψ παξάιιεια ηδξχζεθε θαη ην SDR Forum (Software Definable Radio Forum), κηα κε θεξδνζθνπηθή βηνκεραληθή νξγάλσζε, κε ζθνπφ ηε δηάδνζε απηήο ηεο λέαο ηερλνινγίαο ζηηο ξαδηνεπηθνηλσλίεο. Έλα μερσξηζηφ ραξαθηεξηζηηθφ πνπ έρνπλ νη ζπζθεπέο cognitive radio είλαη φηη έρνπλ ηε δπλαηφηεηα πξνζαξκνγήο ησλ ραξαθηεξηζηηθώλ ηεο κεηάδνζήο ηνπο. Υξεζηκνπνηνχλ ηερληθέο γηα ηνλ έιεγρν ηεο ελέξγεηαο αιιά θαη γηα ηελ πξνζαξκνγή ησλ ραξαθηεξηζηηθψλ δηακφξθσζεο ηεο κεηάδνζεο ηνπο. Δπηπιένλ γίλεηαη θαηαλνκή θαη δέζκεπζε θαλαιηψλ ζε πξαγκαηηθφ ρξφλν, αιιά θαη έιεγρνο επξείαο δψλεο θάζκαηνο. Με ηελ έμππλε πξνζαξκνγή ησλ ραξαθηεξηζηηθψλ ηεο ιεηηνπξγίαο ζηηο ζπλζήθεο ηνπ πεξηβάιινληνο, ζα γίλεη δπλαηή ε απνηειεζκαηηθή ρξήζε ηνπ δηαζέζηκνπ θάζκαηνο ζπρλνηήησλ, ελψ νη ίδηεο νη ζπζθεπέο ζα είλαη πνιχ επέιηθηεο. Όια απηά έρνπλ θαηαζηεί δπλαηά ιφγσ ηεο αικαηψδνπο αλάπηπμεο ηεο ηερλνινγίαο ησλ ηειεπηθνηλσληψλ ηα ηειεπηαία ρξφληα, αλάπηπμε πνπ απνηέιεζε ην εθαιηήξην γηα ηελ αλαγλψξηζε ηνπ cognitive radio σο ζεκαληηθνχ κνρινχ γηα απνδνηηθφηεξε ρξήζε ηνπ θάζκαηνο ησλ ξαδηνζπρλνηήησλ 2. Απφ έξεπλεο πνπ έρνπλ εθπνλεζεί, έρεη δηαπηζησζεί φηη κεγάιν κέξνο ησλ ζπρλνηήησλ απφ MHz παξνπζηάδνπλ πνιχ ρακειά πνζνζηά ρξήζεο (Εηθόλα 1.1), δεκηνπξγψληαο κε απηφ ηνλ ηξφπν «θελά αρξεζηκνπνίεηα δηαζηήκαηα» ζην δηαζέζηκν θάζκα, κηα έλλνηα πνπ νξίζηεθε ζηελ αγγιηθή γιψζζα σο whitespace. Σν θαηλφκελν απηφ παξαηεξήζεθε θπξίσο ζηηο ζπρλφηεηεο πνπ ρξεζηκνπνηνχληαη απφ ηηο ππεξεζίεο αλαινγηθήο ηειεφξαζεο, θαζψο επίζεο θαη ζηηο ζπρλφηεηεο πνπ ρξεζηκνπνηνχληαη σο πξνζηαζία γηα λα πξνιεθζνχλ παξεκβνιέο κεηαμχ ησλ θαλαιηψλ. 1 Defense Advanced Research Projects Agency (DARPA) 2 Ραδηνζπρλφηεηεο: 300Hz 3000GHz [1]

20 H Οκνζπνλδηαθή Δπηηξνπή Δπηθνηλσληψλ ησλ Ζλσκέλσλ Πνιηηεηψλ 3, πνπ είλαη ππεχζπλε γηα ηελ δέζκεπζε ησλ ζπρλνηήησλ ζην θάζκα ησλ ξαδηνζπρλνηήησλ, έρνληαο ππφςε φια ηα παξαπάλσ, πξνρψξεζε ην Μάην ηνπ 2004 ζε κηα πξφηαζε γηα ηε ζέζπηζε θαλφλσλ (Notice of Proposed Rule Making - NPRM) ζχκθσλα κε ηελ νπνία γηλφηαλ δπλαηή ε ρξήζε ησλ ξαδηνζπρλνηήησλ πνπ ρξεζηκνπνηνχληαη γηα ηηο ηειενπηηθέο ππεξεζίεο απφ κε αδεηνδνηεκέλνπο ρξήζηεο ζπζθεπέο. Ο κφλνο απζηεξφο θαλφλαο πνπ ζα έπξεπε λα ηεξεζεί αθνξνχζε ηε ρξήζε απηή ησλ ξαδηνζπρλνηήησλ απφ ηνπο κε αδεηνδνηεκέλνπο ρξήζηεο ζπζθεπέο, ε νπνία δελ ζα πξέπεη λα πξνθαιεί επηδήκηεο παξεκβνιέο ζηνπο πξσηεχνληεο ρξήζηεο (Primary Users PUs) ησλ ζπρλνηήησλ απηψλ, δειαδή ζηηο κεηαδφζεηο ησλ ηειενπηηθψλ ζηαζκψλ. Απηφ απνηειεί έλα ζέκα κείδνλνο ζεκαζίαο, θαζψο ζα πξέπεη λα δηαζθαιηζηεί ε πνηφηεηα ησλ ππεξεζηψλ ησλ ηειενπηηθψλ ζηαζκψλ, νη νπνίνη έρνπλ πιεξψζεη γηα λα έρνπλ άδεηα ηειενπηηθψλ κεηαδφζεσλ. Ζ κεξηθή κε αδεηνδνηεκέλε ρξήζε ησλ ζπρλνηήησλ πνπ ρξεζηκνπνηνχληαη απφ ηηο ηειενπηηθέο ππεξεζίεο 4 νθείιεηαη ζε δπν παξάγνληεο θιεηδηά: Σηελ πνιύ ρακειή ρξήζε ησλ ζπγθεθξηκέλσλ ζπρλνηήησλ ζε πνιιέο πεξηνρέο ηεο πθειίνπ. Απηή ε ρακειή ρξήζε αλακέλεηαη λα γίλεη αθφκα κηθξφηεξε θαζψο ε αλαινγηθή ηειεφξαζε αλακέλεηαη λα αληηθαηαζηαζεί ζηαδηαθά ζε πνιιέο ρψξεο κε ηελ ςεθηαθή. Οη εθπνκπέο ηεο ςεθηαθήο ηειεφξαζεο είλαη πην αλεθηηθέο ζηηο παξεκβνιέο, ελψ επηπιένλ πξνθαινχλ θαη ιηγφηεξεο παξεκβνιέο. πλεπψο, ην θάζκα ησλ ζπρλνηήησλ πνπ ζα ρξεζηκνπνηείηαη απφ ηηο ςεθηαθέο κεηαδφζεηο αλακέλεηαη λα κεησζεί αξθεηά. Γηα ηελ παξνρή ηεο ίδηαο πνηφηεηαο ππεξεζηψλ ε ρξήζε ηνπ θάζκαηνο ζα είλαη 4 θνξέο κηθξφηεξε 5. πγθεθξηκέλα, ζηηο Ζλσκέλεο Πνιηηείεο αλακέλεηαη λα ειεπζεξσζνχλ 108MHz θάζκαηνο απφ απηή ηελ «ζπκπίεζε» ησλ ηειενπηηθψλ θαλαιηψλ, ελψ ζην Βεξνιίλν, πνπ έρεη ήδε ζπκβεί, ειεπζεξψζεθαλ 35MHz, πνπ αλακέλεηαη θπζηθά λα αδεηνδνηεζνχλ γηα δηαθνξεηηθή ρξήζε. Όζνλ αθνξά ην θάζκα πνπ ειεπζεξψζεθε ζηηο Ζλσκέλεο πνιηηείεο, ζεσξείηαη αξθεηά κεγάιν, αλ αλαινγηζηεί θάπνηνο φηη ην ζχλνιν ηεο ρξήζεο ησλ ξαδηνζπρλνηήησλ AM ζηηο Ζλσκέλεο Πνιηηείεο είλαη κφιηο 1.2MHz, ελψ φια ηα ηνπηθά αζχξκαηα δίθηπα πνπ ρξεζηκνπνηνχλ ηα πξσηφθνιια IEEE b/g απαζρνινχλ 83.5 MHz. Έλα άιιν πνιχ ζεκαληηθφ ραξαθηεξηζηηθφ πνπ έρνπλ νη ζπγθεθξηκέλεο ζπρλφηεηεο είλαη ηα ηδηαίηεξα ραξαθηεξηζηηθά δηάδνζήο ηνπο. Σα ζήκαηα απηψλ ησλ ζπρλνηήησλ κπνξνχλ λα δηαδνζνχλ κε κηθξφηεξε ελέξγεηα ζε κεγαιχηεξεο απνζηάζεηο, ελψ ε δηεηζδπηηθφηεηά ηνπο ζηα θηίξηα είλαη κεγαιχηεξε. Έηζη είλαη δπλαηή ε κεηάδνζε, κε (Line-of-sight - LOS) ή ρσξίο νπηηθή επαθή κε ηνλ πνκπφ (Non-Line-of-Sight - NLOS), παξέρνληαο ηε δπλαηφηεηα ρξήζεο πνιχ ιηγφηεξσλ αλακεηαδνηψλ γηα λα επηηεπρζεί ε θάιπςε ησλ επηζπκεηψλ πεξηνρψλ, γεγνλφο πνπ παίδεη ηδηαίηεξα ζεκαληηθφ ξφιν ζην θφζηνο ιεηηνπξγίαο ελφο ζπζηήκαηνο πνπ ρξεζηκνπνηεί απηφ ην θάζκα [5][6]. Έηζη ιίγν κφιηο θαηξφ κεηά απφ απηή ηελ αλαθνίλσζε (ην Ννέκβξην ηνπ 2004) ε IEEE δεκηνχξγεζε κηα νκάδα γηα λα νξίζεη έλα θαηλνηφκν πξσηφθνιιν γηα αζχξκαηεο ηειεπηθνηλσλίεο, ζην θπζηθφ επίπεδν (PHY) αιιά θαη ζην επίπεδν πξφζβαζεο ζην κέζν (MAC), ην νπνίν ζα βαζηδφηαλ ζηελ ηερλνινγία ηνπ cognitive radio θαη ζα ρξεζηκνπνηνχζε ηηο ζπρλφηεηεο ησλ ηειενπηηθψλ ππεξεζηψλ. Μ απηφ ηνλ ηξφπν ζα ήηαλ δπλαηή ε δεκηνπξγία αζπξκάησλ δηθηχσλ κεγάιεο εκβέιεηαο (Wireless Regional Area Network WRAN) ιφγσ ησλ ραξαθηεξηζηηθψλ ησλ ηειενπηηθψλ ζπρλνηήησλ πνπ αλαθέξζεθαλ παξαπάλσ. 3 Federal Communications Commission (FCC) 4 Οη ζπρλφηεηεο κεηαμχ 54 θαη 698 MHz 5 Γελ ηζρχεη ην ίδην γηα κεηαδφζεηο πςειήο επθξίλεηαο (High Definition - HD) θαζψο απηέο απαηηνχλ πεξηζζφηεξν εχξνο δψλεο

21 Βάζεη ησλ παξαπάλσ ζηνηρείσλ, ε εξεπλεηηθή νκάδα ηνπ ζηνρεχεη ζηελ πξνηππνπνίεζε ηεο κε αδεηνδνηεκέλεο πξόζβαζεο ζηηο ηειενπηηθέο ζπρλόηεηεο. Υαξαθηεξηζηηθφ είλαη ην παξάδεηγκα ηεο παξαθάησ εηθφλαο, ζηελ νπνία παξηζηάλνληαη δπν παξαθείκελεο πεξηνρέο εκβέιεηαο ηειενπηηθψλ ζεκάησλ θαη δπν δεχγε ζπζθεπψλ πνπ πινπνηνχλ ην cognitive radio, αλεμάξηεηα κεηαμχ ηνπο. Οη cognitive radio ζπζθεπέο εληνπίδνπλ ηνπηθά αρξεζηκνπνίεην θάζκα (ηειενπηηθέο ζπρλφηεηεο ζηελ πξνθεηκέλε πεξίπησζε) ζεσξψληαο ην ππνςήθην γηα κεηάδνζε (γλσζηφ θαη σο spectrum opportunities, φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα). Ύζηεξα απφ αληαιιαγή πιεξνθνξηψλ, ηα δεχγε επηθνηλσλνχλ κεηαμχ ηνπο, ρξεζηκνπνηψληαο ηηο «ειεχζεξεο» ζπρλφηεηεο, ελψ ειέγρνπλ ην θάζκα ζε ηαθηά ρξνληθά δηαζηήκαηα γηα ηελ παξνπζία ζεκάησλ απφ πξσηεχνληεο ρξήζηεο [16].

22 Σν θίλεηξν γηα ηελ αλάπηπμε απηνχ ηνπ πξσηνθφιινπ είλαη ε θάιπςε πεξηνρώλ πνπ είλαη δπζπξόζηηεο, θαη θπξίσο κε αζηηθέο πεξηνρέο, κε επξπδσληθά δίθηπα, δεδνκέλνπ φηη ηα θελά ηνπ θάζκαηνο ζε απηέο ηηο πεξηνρέο είλαη κεγαιχηεξα. Υαξαθηεξηζηηθφ είλαη φηη ζε πνιχ κεγάιεο πεξηνρέο ησλ Ζλσκέλσλ Πνιηηεηψλ κεγάιν κέξνο απηνχ ηνπ θάζκαηνο παξακέλεη αρξεζηκνπνίεην, ιφγσ ηεο επξείαο ρξήζεο ηεο δνξπθνξηθήο θαη ηεο θαισδηαθήο ηειεφξαζεο. Αλάπηπμε ηέηνησλ ζπζηεκάησλ κπνξεί λα γίλεη θαη ζε πεξηνρέο αλαπηπζζφκελσλ ρσξψλ γηα ηνλ ίδην ιφγν. Δίλαη γεγνλφο φηη ε παξνρή επξπδσληθψλ ππεξεζηψλ ζα ήηαλ ηθαλή λα θαιχςεη κφλν ηηο αλάγθεο κηαο νηθίαο, κηαο κηθξήο επηρείξεζεο ή γηα εξγαζία ζην ζπίηη. Ζ ζπγθεθξηκέλε ηερλνινγία φκσο κπνξεί λα απνηειέζεη θαη ηε βάζε γηα ηελ αλάπηπμε λέσλ εηδψλ επηρεηξήζεσλ νη νπνίεο ζα παξέρνπλ ππεξεζίεο δηαδηθηχνπ κέζσ αζχξκαησλ δηθηχσλ (Wireless Internet Service Providers). Σα έμνδα απηψλ πεξηνξίδνληαη αξθεηά αλ ιεθζεί ππφςε θαη ε κε αδεηνδνηεκέλε ρξήζε ηνπ ηειενπηηθνχ θάζκαηνο. Έηζη, απαιιάζζνληαη απφ ηα έμνδα γηα αδεηνδνηήζεηο πνπ πηζαλφλ λα ρξεηάδνληαλ (φπσο ζηελ πεξίπησζε ηνπ WiMAX). Όπσο αλαθέξζεθε θαη πξνεγνπκέλσο, ηα έμνδα πεξηνξίδνληαη θαη απφ ηνλ πεξηνξηζκέλν εμνπιηζκφ πνπ ζα ρξεζηκνπνηείηαη ιφγσ ηεο κεγάιεο εκβέιεηαο ησλ ζπζηεκάησλ [8]. Σν πξσηφθνιιν, εθφζνλ πξαγκαηνπνηεί κε αδεηνδνηεκέλε ρξήζε ησλ ηειενπηηθψλ ζπρλνηήησλ γηα ηηο κεηαδφζεηο ηνπ, νθείιεη λα ππαθνχεη ζηνλ κνλαδηθφ θαη απζηεξφ θαλφλα, ηεο κε επηβιαβνχο παξελφριεζεο ησλ εθπνκπψλ ησλ κεηαδφζεσλ ησλ ηειενπηηθψλ ζηαζκψλ. Πέξα φκσο απφ ηηο ηειενπηηθνχο ζηαζκνχο, ππάξρνπλ θαη κηα ζεηξά άιισλ ζπζθεπψλ θαη ππεξεζηψλ πνπ ρξεζηκνπνηνχλ θαη απηέο ρσξίο άδεηα ηηο ειεχζεξεο ηειενπηηθέο ζπρλφηεηεο. Απηέο είλαη ηα αζύξκαηα κηθξόθσλα αιιά θαη ππεξεζίεο ζρεηηθέο κε ηελ δεκόζηα αζθάιεηα αιιά θαη εθαξκνγέο κηθξήο εκβέιεηαο φπσο ε

23 αζύξκαηε ελδνεπηθνηλσλία κέζα ζε θάπνηα επηρείξεζε 6. ε θάζε πεξίπησζε φκσο ην ζχλνιν ησλ ππεξεζηψλ πνπ πξναλαθέξζεθαλ απνηεινχλ ηνλ πξσηεχνλ ρξήζηε απηψλ ησλ ζπρλνηήησλ, κε ην πξσηφθνιιν λα είλαη ν δεπηεξεχνλ ρξήζηεο. Ο ραξαθηεξηζκφο ησλ ζπζθεπψλ απηψλ σο πξσηεπόλησλ ρξεζηώλ είλαη ινγηθφο, αλ ιεθζεί ππφςε ην γεγνλφο πσο νη ζπζθεπέο απηέο δελ έρνπλ δπλαηφηεηα αιιαγήο ησλ ραξαθηεξηζηηθψλ ηεο κεηάδνζήο ηνπο. Βαζηθή κνλάδα ζην πξσηφθνιιν ζεσξείηαη ν ηαζκφο Βάζεο (Base Station BS). Δίλαη κηα δηάηαμε ε νπνία ζα εγθαζίζηαηαη θαη ζα ζπληεξείηαη απφ θάπνηνλ επαγγεικαηία θαη είλαη ε ζπζθεπή πνπ είλαη ππεχζπλε γηα φιν ην δίθηπν ην νπνίν δεκηνπξγεί κε ηελ παξνπζία ηεο. Απηφ ην δίθηπν αιιηψο νλνκάδεηαη θαη θπςέιε (cell). Κάζε θπςέιε απνηειείηαη απφ έλα ζηαζκφ βάζεο θαη απφ κηα ή πεξηζζφηεξεο ζπζθεπέο πειαηψλ νη νπνίεο είλαη ζπζρεηηζκέλεο κε απηφλ (Consumer Premise Equipments CPE). Ο ζηαζκόο βάζεο είλαη απηφο πνπ θαζνξίδεη φια ηα ραξαθηεξηζηηθά ιεηηνπξγίαο θαη κεηάδνζεο ελφο δηθηχνπ, αιιά θαη ηε δηαρείξηζε θαη ην δηακνηξαζκφ ηνπ δηαζέζηκνπ θάζκαηνο ζηηο ζπζθεπέο ησλ πειαηψλ. Σα θηλεηά ηεξκαηηθά κπνξνχλ λα ζηείινπλ δεδνκέλα κφλν ζην ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλα, ζην ρξφλν θαη κε ηα ραξαθηεξηζηηθά πνπ έρνπλ θαζνξηζηεί. Κακία ζπζθεπή πειάηε δελ κπνξεί λα απνζηείιεη δεδνκέλα αλ δελ έρεη ζπζρεηηζηεί πξνεγνπκέλσο κε θάπνηνλ ζηαζκφ βάζεο. Με απηφλ ηνλ ηξφπν, δεκηνπξγείηαη κηα δηεπαθή εκείνπ πξνο πνιιά εκεία (Point-to- Multipoint - PMP) κεηαμχ ηνπ ζηαζκνχ βάζεο θαη ησλ ζπζθεπψλ ησλ πειαηψλ πνπ έρνπλ ζπζρεηηζηεί κε απηφλ. Οη ζπζθεπέο ησλ πειαηώλ, πέξα απφ ηελ απνζηνιή ησλ δεδνκέλσλ, ζπκκεηέρνπλ καδί κε ην ζηαζκφ βάζεο ζηελ εθπόλεζε ειέγρσλ (sensing) γηα ηελ χπαξμε ή φρη πξσηεπφλησλ ρξεζηψλ αιιά θαη άιισλ δηθηχσλ ζηηο ζπρλφηεηεο πνπ ρξεζηκνπνηνχληαη γηα κεηάδνζε, ζχκθσλα κε νδεγίεο πνπ παίξλνπλ απφ απηνχο. Έηζη, νη ζηαζκνί βάζεο κε βάζε ηα δεδνκέλα πνπ ιακβάλνληαη, θηηάρλνπλ κηα βάζε δεδνκέλσλ γηα ην ράξηε θαηνρήο θαλαιηψλ. Απηφο ν ράξηεο εκπινπηίδεηαη κε πιεξνθνξίεο απφ βάζεηο δεδνκέλσλ πνπ αθνξνχλ ηε ρξήζε θαλαιηψλ ζηελ πεξηνρή πνπ βξίζθεηαη ν εθάζηνηε ζηαζκφο βάζεο. Απηή ε δηαδηθαζία εληνπηζκνχ ζα αλαιπζεί εθηελέζηεξα αξγφηεξα. πλνςίδνληαο φια ηα παξαπάλσ, κπνξεί λα ζεσξεζεί φηη ε ζρέζε ηνπ ζηαζκνχ βάζεο κε ηηο ζπζθεπέο ησλ πειαηψλ είλαη κηα ζρέζε αθέληε ζθιάβνπ (master slave). Όιεο νη νληφηεηεο πνπ πεξηγξάθηεθαλ πξνεγνπκέλσο παξηζηάλνληαη ζρεκαηηθά ζηελ Δηθφλα 1.4. Μηα ηδηαίηεξε δηαθνξά πνπ έρνπλ νη ζπζθεπέο ησλ πειαηψλ κε ην ζηαζκφ βάζεο αθνξά ην είδνο θαη ν αξηζκόο ησλ θεξαηώλ πνπ έρνπλ. πγθεθξηκέλα, νη ζηαζκνί βάζεο δηαζέηνπλ 6 ηηο Ζλσκέλεο Πνιηηείεο απηέο νη ππεξεζίεο αλαθέξνληαη σο Private Land and Commercial Mobile Radio (PLMRS/CMRS) [7]

24 κφλν κηα θεξαία, παλδηεπζπληηθή (Omni - directional). Αληίζεηα, νη ζπζθεπέο ησλ πειαηψλ δηαζέηνπλ δπν είδε θεξαίαο. Μηα θαηεπζπληηθή (directional), κε ηελ νπνία γίλνληαη νη επηθνηλσλίεο κεηαμχ ησλ ζπζθεπψλ ησλ πειαηψλ θαη ησλ ζηαζκψλ βάζεο, θαη κηα παλδηεπζπληηθή πνπ ρξεζηκνπνηείηαη γηα ηνλ εληνπηζκφ ησλ πξσηεπφλησλ αιιά θαη ησλ ππνινίπσλ δεπηεξεπφλησλ ρξεζηψλ. Ζ ρξήζε ηεο θαηεπζπληηθήο θεξαίαο πεξηνξίδεη ηηο απψιεηεο ελέξγεηαο πνπ κπνξεί λα ππάξμνπλ θαηά ηελ δηάξθεηα ηεο επηθνηλσλίαο κεηαμχ ησλ ζηαζκψλ βάζεο θαη ησλ ζπζθεπψλ ησλ πειαηψλ, ελψ ειαρηζηνπνηείηαη παξάιιεια θαη ν θίλδπλνο ζπγθξνχζεσλ (collision). Έηζη, θαηαλαιψλεηαη ε ειάρηζηε δπλαηή ελέξγεηα γηα ηελ κεηαμχ ηνπο επηθνηλσλία. Όπσο αλαθέξζεθε θαη πξνεγνπκέλσο, ην πξσηφθνιιν πξννξίδεηαη λα θαιχπηεη κεγάιεο πεξηνρέο. Ζ θάιπςε, φπσο θαίλεηαη ζηελ, κπνξεί λα θηάζεη ζηα 33 km κε ελέξγεηα εθπνκπήο ηα 4 Watt EIRP 7. Ζ θάιπςε απηή κπνξεί λα επεθηαζεί κέρξη ηα 100 km αλ δελ ηίζεληαη πεξηνξηζκνί, είηε φζνλ αθνξά ηελ θαηαλάισζε ελέξγεηαο (θαζψο ζα είλαη απμεκέλε), είηε απφ παξεκβνιέο, ιφγσ ηεο απμεκέλεο ελέξγεηαο εθπνκπήο. Εεηήκαηα ζρεηηθά κε ηελ αξκνληθή ζπλχπαξμε κεηαμχ ησλ δηθηχσλ ηνπ (self coexistence) αιιά θαη κεηαμχ ησλ δηθηχσλ θαη ησλ πξσηεπφλησλ ρξεζηψλ ησλ ζπρλνηήησλ αλαιχνληαη πεξηζζφηεξν ζηελ ζπλέρεηα. ην , ε απφδνζε ηνπ θάζκαηνο (spectral efficiency) πξνζδηνξίδεηαη ζην εχξνο bit/(s/hz). Βάζεη ηνπ εχξνο απηνχ, αλ νξηζηεί κηα κέζε ηηκή γηα ηελ απφδνζε ζηα 3 bit/(s/hz) θαη ιακβάλνληαο ππφςε φηη ην ειάρηζην εχξνο ησλ θαλαιηψλ είλαη 6 MHz (φζν είλαη θαη ην εχξνο ησλ θαλαιηψλ ζηηο Ζλσκέλεο Πνιηηείεο), ηφηε ν ξπζκφο κεηάδνζεο δεδνκέλσλ ζην θπζηθφ επίπεδν (PHY) ζα θπκαίλεηαη ζηα 18Mbps. Ο ξπζκφο απηφο κπνξεί λα απμεζεί αθφκα πεξηζζφηεξν αλ ρξεζηκνπνηεζνχλ κεγαιχηεξνπ εχξνπο θαλάιηα, ησλ 7 ή 8 MHz, θηάλνληαο ζηε κέγηζηε ηηκή ησλ 24 Mbps. πλεπψο, αλ ππάξρνπλ 12 ζπζθεπέο πειάηε ζπλδεδεκέλεο κε έλα ζηαζκφ βάζεο, ε ειάρηζηε δπλαηή θάιπςε κπνξεί λα επηηεπρζεί κε έλα ξπζκφ κεηάδνζεο δεδνκέλσλ ηεο ηάμεο ησλ 1.5Mbps / 384Kbps γηα ην downstream / upstream αληίζηνηρα γηα θάζε ζπζθεπή πειάηε. Ο ξπζκφο απηφο αληηζηνηρεί ζε πνηφηεηα ππεξεζηψλ πνπ παξέρεηαη απφ ηερλνινγίεο xdsl εμαζθαιίδνληαο σζηφζν πνιχ κεγαιχηεξε θάιπςε. Έλα αθφκα θνηλφ ζεκείν κεηαμχ ησλ πξσηνθφιισλ ηεο νηθνγέλεηαο θαη ηνπ είλαη ν ηξόπνο κε ηνλ νπνίν δηαζθαιίδεηαη ε πνηόηεηα ησλ ππεξεζηώλ, κε ηνλ θαηάιιειν πξνγξακκαηηζκφ ησλ εθπνκπψλ αλάινγα κε ην είδνο ησλ ππεξεζηψλ πνπ δεηνχληαη απφ ην ζχζηεκα. Έηζη νη εθαξκνγέο πνπ ππνζηεξίδνληαη απφ ην ζηαζκφ βάζεο δηαρσξίδνληαη ζε πέληε (5) θιάζεηο πξνζθνξάο ππεξεζηώλ: 1. UGS (Unsolicited Grant Service): Γηα ππεξεζίεο ζηαζεξνχ ξπζκνχ εθπνκπήο. Σέηνηεο ππεξεζίεο είλαη νη ηειεδηαζθέςεηο, δηαζθέςεηο κέζσ ηειεθψλνπ (ρσξίο silence suppression 8 ) ή θάζε ππεξεζία έπεηηα απφ αίηεζε (on demand) φπσο δηαδξαζηηθή (interactive) θσλή θαη ήρνο. 7 Equivalent isotropically radiated power. Ο ειιεληθφο φξνο είλαη Δλεξγή Ηζνηξνπηθή Αθηηλνβνινχκελε Ηζρχο. 8 ε απηνχ ηνπ είδνπο ηελ επηθνηλσλία θσλήο κέζσ IP δελ εθπέκπνληαη δεδνκέλα φηαλ εληνπηζηεί φηη θάπνην απφ ηα δπν κέιε πνπ ζπκκεηέρνπλ ζηελ ζπλνκηιία έρεη ζηγήζεη, κε απνηέιεζκα λα κεηψλεηαη ε ρξήζε ηνπ δηθηχνπ. [15]

25 2. rtps (real time Polling Service): Γηα ππεξεζίεο κε κεηαβιεηφ ξπζκφ εθπνκπήο. ε απηή θαηεγνξία εληάζζεηαη ην video streaming ζε ζπκπηεζκέλν format θαη κε κεηαβιεηφ ξπζκφ δεδνκέλσλ. 3. nrtps (non real time Polling Service): Γηα ππεξεζίεο κε πξαγκαηηθνχ ρξφλνπ κε κεηαβιεηφ ξπζκφ εθπνκπήο. απηέο ηηο ππεξεζίεο αλήθνπλ νη κεηαδφζεηο FTP. 4. ertps (extended real time Polling Service): Γηα ππεξεζίεο Voice over IP (VoIP) κε silence suppression. 5. BE (Best Effort): Γηα ππεξεζίεο ρσξίο απαηηήζεηο ζρεηηθά κε θαζπζηεξήζεηο ή κε ην ξπζκφ κεηάδνζεο. e απηή ηελ θαηεγνξία αλήθεη θαη ε πεξηήγεζε ζην δηαδίθηπν (αλ δελ ππάξρεη θάπνηα δηαθνξεηηθή απαίηεζε) [11]. Όπσο έρεη αλαθεξζεί, νη νληφηεηεο ηνπ ζα πξέπεη λα πξνγξακκαηίδνπλ ηηο κεηαδφζεηο ηνπο ζηηο ηειενπηηθέο ζπρλφηεηεο θαηά ηε δηάξθεηα ησλ θελψλ δηαζηεκάησλ ησλ κεηαδφζεσλ ησλ πξσηεπφλησλ ρξεζηψλ. Χζηφζν, δελ ππάξρεη έλαο ληεηεξκηληζηηθφο ηξφπνο θαζνξηζκνχ ηνπ ρξφλνπ εκθάληζεο απηψλ ησλ δηαζηεκάησλ. ηελ παξαθάησ εηθφλα θαίλεηαη παξαζηαηηθά ν ηπραίνο ηξόπνο κε ηνλ νπνίν εκθαλίδνληαη ηα παξαθάησ θελά δηαζηήκαηα ζην θάζκα. Σν ραξαθηεξηζηηθφ απηφ επεξεάδεη ην ζρεδηαζκφ ηφζν ηνπ θπζηθνχ επηπέδνπ ηεο κεηάδνζεο, φζν θαη ηνπ επηπέδνπ πξφζβαζεο ζην κέζν [9]. Σα θελά κεηαμχ ησλ κεηαδφζεσλ ησλ πξσηεπφλησλ ρξεζηψλ πξέπεη λα ρξεζηκνπνηνχληαη κε ηνλ θαιχηεξν ηξφπν, δηαζθαιίδνληαο κε απηφλ ηνλ ηξφπν ηελ πνηφηεηα ησλ ππεξεζηψλ. εκαληηθφ ζηνηρείν απνηειεί θαη ε δπλαηόηεηα κεηάδνζεο από πνιιέο ζπζθεπέο πειαηώλ πξνο ην ζηαζκό βάζεο ηαπηόρξνλα αιιά θαη πξνο ηελ αληίζεηε θαηεύζπλζε. Σα πξναλαθεξζείζα ραξαθηεξηζηηθά ελζσκαηψλνληαη ζηε δηακφξθσζε OFDMA (Orthogonal Frequency Division Multiple Access Οξζνγψληα δηαίξεζε ζπρλφηεηαο πνιιαπιήο πξφζβαζεο), πνπ ρξεζηκνπνηείηαη απφ ην Ζ δηακφξθσζε OFDMA ρξεζηκνπνηείηαη γηα ηε κεηαθνξά δεδνκέλσλ ηφζν απφ ην ζηαζκφ βάζεο πξνο ηηο ζπζθεπέο ησλ πειαηψλ (downlink), φζν θαη απφ ηηο ζπζθεπέο ησλ πειαηψλ πξνο ην ζηαζκφ βάζεο (uplink). Ζ επηθνηλσλία κεηαμχ ηεο ζπζθεπήο πειάηε θαη ηνπ ζηαζκνχ βάζεο πινπνηείηαη κε ηελ ακθίδξνκε ιεηηνπξγία δηαίξεζεο ρξφλνπ (Time Division Duplex - TDD) ζηελ νπνία ρξεζηκνπνηνχληαη νη ίδηεο ζπρλφηεηεο γηα ηηο εθαηέξσζελ κεηαθνξέο δεδνκέλσλ, ζε δηαθνξεηηθέο φκσο ρξνληθέο ζηηγκέο. Δίλαη πηζαλφ ζην κέιινλ λα ππνζηεξηρζεί επηπιένλ θαη ε δπλαηφηεηα ακθίδξνκεο ιεηηνπξγίαο δηαίξεζεο ζπρλφηεηαο (Frequency Division Duplex FDD), ζηελ νπνία ρξεζηκνπνηνχληαη δηαθνξεηηθέο ζπρλφηεηεο ηελ ίδηα ρξνληθή ζηηγκή γηα λα γίλεη ε κεηάδνζε ησλ δεδνκέλσλ κεηαμχ ζηαζκνχ βάζεο θαη ησλ ζπζθεπψλ ησλ πειαηψλ [10]. Με απηφ ηνλ ηξφπν εμαζθαιίδεηαη έλαο επέιηθηνο θαη δπλακηθφο ηξφπνο γηα ηελ δηαρείξηζε ησλ πφξσλ ηνπ δηθηχνπ. Δπηπιένλ κε ην δηαρσξηζκφ ηφζν ζην ρξφλν φζν θαη ζηελ ζπρλφηεηα, επηηξέπεηαη ε πξόζβαζε πνιιαπιώλ ζπζθεπώλ πειαηώλ ζην θάζκα. Έηζη νη «ζρηζκέο» (slots) ζηηο νπνίεο κπνξνχλ λα γίλνπλ κεηαθνξέο δεδνκέλσλ νξίδνληαη ηφζν ζηνλ

26 άμνλα ηνπ ρξφλνπ φζν θαη απηφλ ηεο ζπρλφηεηαο. Πξνθάηνρνο ηνπ OFDMA είλαη ε θσδηθνπνίεζε OFDM (Orthogonal Frequency Division Multiplexing Οξζνγψληα Πνιππιεμία Γηαίξεζεο πρλφηεηαο). ηελ θσδηθνπνίεζε OFDM θαη θαη επέθηαζε θαη ζην OFDMA ππάξρνπλ ηεζζάξσλ δηαθνξεηηθψλ εηδψλ θνξείο (carriers) ζην πεδίν ηεο ζπρλφηεηαο ζε θάζε ζχκβνιν (είηε OFDM είηε OFDMA): 1. Οη θνξείο δεδνκέλσλ (Data Subcarriers): Οη θνξείο απηνί, φπσο καξηπξά θαη ην φλνκα ηνπο, ρξεζηκνπνηνχληαη γηα ηελ κεηαθνξά ησλ δεδνκέλσλ. 2. Οη θνξείο πηιόηνη (Pilot Subcarriers): Οη θνξείο απηνί ρξεζηκνπνηνχληαη γηα ηε ιεηηνπξγία ηνπ ζπγρξνληζκνχ. 3. Οη θελνί θνξείο (Null Subcarriers): Οη θνξείο απηνί ρξεζηκνπνηνχληαη γηα πξνζηαζία ζην άμνλα ηεο ζπρλφηεηαο. 4. Έλαο εηδηθφο θελφο θνξέαο είλαη ν θνξέαο DC (Direct Current). Ο θνξέαο DC έρεη ζπρλφηεηα ίδηα κε ηε θεληξηθή ζπρλφηεηα ηνπ ζηαζκνχ κεηάδνζεο. Γηα λα απινπζηεπηεί ε κεηαηξνπή απφ Αλαινγηθφ ζε Φεθηαθφ θαη απφ Φεθηαθφ ζε Αλαινγηθφ ν θνξέαο απηφο είλαη θελφο. ε αληίζεζε κε ηε δηακφξθσζε OFDM, ζηε δηακφξθσζε OFDMA δεκηνπξγνχληαη ππνζχλνια απηψλ ησλ θνξέσλ δεδνκέλσλ, πνπ απνηεινχλ ηα ππν-θαλάιηα. πλεπψο, ζην OFDMA νξίδεηαη θαη ην ππν-θαλάιη, πνπ είλαη νπζηαζηηθά ε ειάρηζηε κνλάδα κεηάδνζεο ελόο ζπκβόινπ OFDMA. Οη δηαθνξέο επηζεκαίλνληαη ζηελ παξαθάησ εηθφλα ( ) [11][12]. Μηα αθφκε παξάκεηξνο πνπ παίδεη ζεκαληηθφ ξφιν ζηελ πςειή απνδνηηθφηεηα ηνπ θάζκαηνο είλαη ν αξηζκόο ησλ κεηαζρεκαηηζκώλ Fourier (Fast Fourier Transformations FFT) πνπ πξαγκαηνπνηνχληαη ζε θάζε ζχκβνιν. Αχμεζε ηνπ αξηζκνχ ησλ κεηαζρεκαηηζκψλ

27 Fourier ζπλεπάγεηαη θαη κείσζε ησλ απαηηνχκελσλ θνξέσλ πξνζηαζίαο γηα ηελ απνθπγή ζνξχβσλ. Έηζη, απμάλεηαη ην πνζνζηφ ησλ θνξέσλ δεδνκέλσλ επί ηνπ ζπλφινπ ησλ θνξέσλ ηνπ θάζε ζπκβφινπ OFDMA. ην έρεη πξνηαζεί ε ρξήζε 2048 FFT γηα θάζε ζχκβνιν θαηά θχξην ιφγν ελψ, πξναηξεηηθά, λα κπνξνχλ λα ρξεζηκνπνηεζνχλ 1024 θαη 4096 FFT. Έλα επηπιένλ ραξαθηεξηζηηθφ πνπ ππνζηεξίδεηαη απφ ηε δηακφξθσζε OFDMA, θαη ππνζηεξίδεηαη θαη απφ ην πξσηφθνιιν , είλαη ε δηαθνξεηηθή θσδηθνπνίεζε ζηηο κεηαθνξέο δεδνκέλσλ αλάκεζα ζην ζηαζκό βάζεο θαη ηηο ζπζθεπέο ησλ πειαηώλ. Ο παξάγνληαο απφ ηνλ νπνίν εμαξηάηαη απηφ είλαη ε απφζηαζε πνπ ππάξρεη κεηαμχ ηνπ ζηαζκνχ βάζεο θαη ηεο ζπζθεπήο πειάηε θαη θαη επέθηαζε ν ιφγνο ήκαηνο Θνξχβνπ (Signal to Noise Ratio SNR). Απηφο είλαη αθφκα έλαο ηξφπνο γηα λα απμεζεί ε απνδνηηθφηεηα ηνπ ζπζηήκαηνο. Τπνρξεσηηθά νη ζπζθεπέο πνπ ζα ρξεζηκνπνηνχλ ην πξσηφθνιιν ζα πξέπεη λα ππνζηεξίδνπλ ππνρξεσηηθά ηηο θσδηθνπνηήζεηο πνπ θαίλνληαη ζηελ, δει 64-QAM (Quadrature Amplitude Modulation Σεηξαγσληθή Γηακφξθσζε πιάηνπο κε κεηάδνζε 6 bits/ζχκβνιν δηακφξθσζεο), 16-QAM (Σεηξαγσληθή δηακφξθσζε πιάηνπο κε κεηάδνζε 4 bits/ζχκβνιν δηακφξθσζεο) θαη QPSK ή 4-QAM (Σεηξαγσληθή δηακφξθσζε πιάηνπο κε κεηάδνζε 2 bits/ζχκβνιν δηακφξθσζεο). Όπσο γίλεηαη θαηαλνεηφ, ε κεηάδνζε δεδνκέλσλ έρεη θζίλσλ ξπζκφ ζε ζρέζε κε ηελ απφζηαζε. Απηφ φκσο πνπ ππάξρεη ζαλ θέξδνο είλαη νη δηαθνξνπνίεζε ησλ ππεξεζηψλ. Έηζη, απηνί πνπ βξίζθνληαη θνληά ζην ζηαζκφ βάζεο κπνξνχλ θαη απνιακβάλνπλ πςειφηεξνπο ξπζκνχο κεηάδνζεο δεδνκέλσλ, ελψ απηνί πνπ βξίζθνληαη καθξηά απφ απηφλ απνιακβάλνπλ κεγαιχηεξε αλνρή ζηελ πεξηφδεπζε (multi-path), έρνληαο κε απηφ ηνλ ηξφπν πην εχξσζηεο κεηαδφζεηο. Χζηφζν, αλ ηα δίθηπα πνπ αλαπηχζζνληαη είλαη αξθεηά κεγάια ππάξρεη ε δπλαηφηεηα λα απμεζεί ε ρσξεηηθφηεηα θαη ε αθηίλα θάιπςεο ησλ δηθηχσλ κε ρξήζε ςεθηαθψλ επαλαιεπηψλ (repeaters). Έλαο άιινο ηξφπνο γηα ηελ αχμεζε ηεο ρσξεηηθφηεηα ηνπ ζπζηήκαηνο είλαη ε ζπλέλσζε πνιιψλ ηειενπηηθψλ θαλαιηψλ (channel bonding), φπνπ απηφ είλαη δπλαηφ, είηε απηά βξίζθνληαη ζε ζπλερφκελεο ζπρλφηεηεο είηε φρη. Κπξίσο έρεη δνζεί βαξχηεηα ζηε ρξήζε ζπλερφκελσλ θαλαιηψλ. Θεσξεηηθά ζα κπνξνχζαλ λα ζπλελσζνχλ πνιιά θαλάιηα, αιιά πξαθηηθά ν κέγηζηνο αξηζκφο πνπ κπνξνχλ λα ζπλελσζνχλ είλαη ηξία. Δπεηδή ν βαζηθφο πεξηνξηζκφο ζηνλ νπνίν ππαθνχεη ην πξσηφθνιιν είλαη ε πξνζηαζία ησλ ηειενπηηθψλ κεηαδφζεσλ, ζα πξέπεη λα ππάξρνπλ ηνπιάρηζηνλ ηξία ειεχζεξα ηειενπηηθά θαλάιηα γηα λα κπνξέζεη λα ιεηηνπξγήζεη έλα WRAN, είηε ρξεζηκνπνηείηαη ε ζπλέλσζε ησλ θαλαιηψλ, είηε φρη. Αλ δελ ρξεζηκνπνηείηαη ζπλέλσζε θαλαιηψλ, ην έλα απφ ηα ηξία θαλάιηα ρξεζηκνπνηείηαη γηα ηηο κεηαδφζεηο ησλ δεδνκέλσλ ελψ ηα άιια δπν γηα πξνζηαζία ησλ ηειενπηηθψλ θαλαιηψλ. Όηαλ ρξεζηκνπνηείηαη ε ζπλέλσζε, ηφηε ρξεζηκνπνηνχληαη δπν θαλάιηα γηα πξνζηαζία, έλα πξηλ θαη έλα κεηά ηα θαλάιηα πνπ ρξεζηκνπνηνχληαη, ελψ ηα ππφινηπα γηα ηηο κεηαδφζεηο ησλ δεδνκέλσλ. Αλάινγα κε ηνλ αξηζκφ ησλ θαλαιηψλ πνπ ζπλελψλνληαη, δηαθνξνπνηείηαη θαη ν αξηζκφο ησλ κεηαζρεκαηηζκψλ Fourier πνπ ζα πξέπεη λα πξαγκαηνπνηεζνχλ. ηνηρεία ζρεηηθά κ απηφ θαίλνληαη ζηνλ παξαθάησ πίλαθα:

28 Όηαλ θάπνηα ζπζθεπή πειάηε πξνζπαζεί λα ζπζρεηηζηεί κε ην ζηαζκφ βάζεο ηνπ θαη λα ζπγρξνληζηεί κε απηφλ, ζα πξέπεη λα γλσξίδεη εθ ησλ πξνηέξσλ αλ ρξεζηκνπνηείηαη ε ηερληθή ηεο ζπλέλσζεο θαλαιηψλ. Γηα απηφ ην ιφγν έρεη νξηζηεί ε επηθεθαιίδα ειέγρνπ ηεο δνκήο superframe ηνπ επηπέδνπ πξφζβαζεο ζην κέζν (MAC Superframe Control Header), πνπ κεηαδίδεηαη ζε εχξνο δψλεο ίζν κε ηελ ζπρλφηεηα ηνπ θαλαιηνχ πνπ ρξεζηκνπνηείηαη γηα ηε κεηάδνζε (6, 7 ή 8 MHz), ελεκεξψλνληαο ηηο ζπζθεπέο ησλ πειαηψλ ζρεηηθά κε ηε ρξήζε ή φρη απηήο ηεο ηερληθήο, θαζψο θαη γηα ηα θαλάιηα πνπ ζπλελψλνληαη. Χζηφζν, ε ζπγθεθξηκέλε ιχζε γηα αχμεζε ηεο δηαζέζηκεο ρσξεηηθφηεηαο ηνπ δηθηχνπ δελ κπνξεί λα ρξεζηκνπνηεζεί πάληα. Βαζηθφο ιφγνο απνηειεί ην γεγνλφο πσο πνιιά θαλάιηα κπνξεί λα ςεθηνπνηήζνπλ ηηο κεηαδφζεηο ηνπο, απμάλνληαο ηα θελά ζην εχξνο ησλ ξαδηνζπρλνηήησλ θαη πξνζθέξνληαο ππεξεζίεο, φπσο κεηαδφζεηο πςειήο επθξίλεηαο, πνπ απαηηνχλ κεγαιχηεξν εχξνο δψλεο γηα ηελ κεηάδνζή ηνπο. Απηφ ζα έρεη σο αληίθηππν λα κελ είλαη δηαξθψο δηαζέζηκα πεξηζζφηεξα απφ ηέζζεξα θαλάιηα έηζη ψζηε λα είλαη δπλαηή ε ρξήζε ηεο ηερληθήο ηεο ζπλέλσζεο ησλ θαλαιηψλ, παξά κφλν ζε πεξηνξηζκέλα ρξνληθά δηαζηήκαηα. ηνλ παξαθάησ πίλαθα εκθαλίδνληαη ζπλνπηηθά θαη ζπγθεληξσκέλα ηα ραξαθηεξηζηηθά πνπ ζα έρεη ην θπζηθφ επίπεδν ηνπ πξσηνθφιινπ φπσο αλαθέξζεθαλ παξαπάλσ. πρλόηεηεο Υσξεηηθόηεηα θαλαιηνύ Κσδηθνπνηήζεηο Πνιιαπιή πξόζβαζε Αξηζκόο FFT Duplex Σνπνινγία δηθηύνπ MHz 6,7 ή 8 MHz κε δσλαηόηεηα ζσλέλφζες θαλαιηώλ 64-QAM, 16-QAM, 4-QAM (QPSK) Μέζφ OFDMA Υποτρεφηηθά 2048, προαηρεηηθά 1024 θαη Προζαρκογή αλάιογα κε ηο αλ τρεζηκοποηείηαη ζσλέλφζε θαλαιηώλ. Μέζφ TDD, πηζαλόλ θαη FDD αργόηερα P-MP (point to multipoint) Οη κεηαδφζεηο ζην επίπεδν πξφζβαζεο ζην κέζν, φπσο πξναλαθέξζεθε, πξέπεη λα έρνπλ έλαλ αξθεηά δπλακηθφ ραξαθηήξα, γηα λα αληηδξνχλ γξήγνξα θαη απνηειεζκαηηθά ζηηο αιιαγέο ηνπ πεξηβάιινληνο ζην νπνίν ιεηηνπξγνχλ. Ζ αλάπηπμε ηνπ επηπέδνπ πξφζβαζεο ζην κέζν, βαζίζηεθε θαηά έλα κεγάιν βαζκφ ζε ήδε ππάξρνληα πξσηνθφιια θαη ζπγθεθξηκέλα ζηελ νηθνγέλεηα πξσηνθφιισλ ηνπ [41]. ε απηφ έγηλαλ αξθεηέο βειηηψζεηο θαη απινπζηεχζεηο έηζη ψζηε λα επηηεπρζνχλ νη απαηηήζεηο ιεηηνπξγίαο ηνπ Σν επίπεδν πξφζβαζεο ζην κέζν βαζίδεηαη ζε κηα αξρηηεθηνληθή κε ρξήζε superframes ε νπνία ζεσξείηαη αξθεηά γεληθή γηα λα είλαη δπλαηή ε ζπλχπαξμε πνιιψλ ζπζηεκάησλ ζε ζπλδπαζκφ κε ηελ επειημία θαη ηελ αξθεηά κεγάιε ρσξεηηθφηεηα. Γηα λα ζπλππάξρνπλ ηα ζπζηήκαηα πνπ ρξεζηκνπνηνχλ ην πξσηφθνιιν κε ηνπο πξσηεχνληεο ρξήζηεο ησλ ηειενπηηθψλ ζπρλνηήησλ, έρεη νξηζηεί ζην επίπεδν πξφζβαζεο ζην κέζν κηα ζεηξά απφ δηαδηθαζίεο κε ηηο νπνίεο γίλεηαη ν εληνπηζκφο ηνπο θαη άιιεο κε ηηο νπνίεο παξέρνληαη ηα απαξαίηεηα ραξαθηεξηζηηθά γηα ηελ δηαρείξηζε ηνπ θάζκαηνο. Δπηπιένλ ραξαθηεξηζηηθά απηνχ ηνπ επηπέδνπ πεξηιακβάλνληαη γηα ηελ ππνζηήξημε δηαθφξσλ ηχπσλ θπθινθνξίαο κε δηαθνξεηηθέο απαηηήζεηο πνηφηεηαο ππεξεζηψλ (Quality of Service - QoS) [43]. Ζ δνκή ηνπ frame είλαη ε βαζηθή δνκή κε ηελ νπνία νξγαλψλνληαη νη κεηαθνξέο απφ ηνπο ζηαζκνχο βάζεο πξνο ηηο ζπζθεπέο ησλ πειαηψλ θαη αληίζηξνθα. Ζ δνκή ηνπ superframe απνηειεί κηα εθηεηακέλε δνκή νξγάλσζεο ησλ frames. Κάζε superframe απνηειείηαη απφ δεθαέμη (16) επηκέξνπο frames. Δπεηδή ε δηάξθεηα πνπ έρεη νξηζηεί γηα θάζε frame είλαη ηεο

29 ηάμεο ησλ 10ms, κε δεδνκέλν φηη θάζε superframe έρεη 16 frames ε δηάξθεηά ηνπ είλαη 160ms. ηελ αξρή θάζε superframe ππάξρεη ην ηκήκα (preamble), ην νπνίν πξναλαγγέιιεη ηελ αξρή ηνπ superframe θαη ρξεζηκνπνηείηαη γηα ηνλ ζπγρξνληζκφ. ηε ζπλέρεηα αθνινπζεί ε επηθεθαιίδα ειέγρνπ ηνπ superframe (Superframe Control Header), πνπ φπσο αλαθέξζεθε παξαπάλσ, πέξα απφ φηη κεηαδίδεηαη ζε εχξνο δψλεο ελφο θαλαιηνχ (6,7 ή 8 MHz), πεξηέρεη πιεξνθνξίεο γηα ην αλ ρξεζηκνπνηείηαη ζπλέλσζε θαλαιηψλ θαη γηα ηα θαλάιηα πνπ ζπλελψλνληαη. Απηή είλαη ε βαζηθή δνκή πνπ εθπέκπεηαη απφ ην ζηαζκφ βάζεο θαη ιακβάλεηαη απφ ηηο ζπζθεπέο πειαηψλ γηα λα αξρίζεη ε δηαδηθαζία ζπζρεηηζκνχ ηνπο κε ην ζηαζκφ βάζεο. Μεηά απφ ηελ επηθεθαιίδα ειέγρνπ ηνπ superframe αθνινπζνχλ ηα δεθαέμη frames πνπ απαξηίδνπλ ην θάζε superframe. ηελ Δηθφλα 1.8 θαίλεηαη ε δνκή ηνπ superframe φπσο παξνπζηάζηεθε ζε απηή ηελ παξάγξαθν, ζε ζπλδπαζκφ κε ηηο κεηαδφζεηο ησλ πξσηεπφλησλ ρξεζηψλ. ηελ ίδηα εηθφλα παξηζηάλεηαη θαη ε ζπλέλσζε ησλ θαλαιηώλ, θαζψο θαη κηα αληίδξαζε ηνπ ζπζηήκαηνο. Όπσο παξαηεξείηαη, ηελ ρξνληθή ζηηγκή t 1 θάπνηνο πξσηεχσλ ρξήζηεο αξρίδεη κεηαδφζεηο ζην ηειενπηηθφ θαλάιη t-2, πνπ ρξεζηκνπνηείηαη, φπσο πξναλαθέξζεθε λσξίηεξα, σο ζπρλφηεηα πξνζηαζίαο. Έηζη απφ ηελ ρξνληθή ζηηγκή t 2 θαη κεηά ν ζηαζκφο βάζεο ρξεζηκνπνηεί ζπλελσκέλα κφλν ηα ηειενπηηθά θαλάιηα t θαη t+1. Ζ γεληθή δνκή ηνπ frame ελφο superframe είλαη απηή πνπ παξηζηάλεηαη ζηελ 9. ε απηή ηε δνκή εληνπίδνληαη δπν θχξηα ηκήκαηα. Σν πξψην είλαη ην ηκήκα ζην νπνίν ν ζηαζκφο βάζεο απνζηέιιεη πιεξνθνξίεο πξνο ηηο ζπζθεπέο ησλ πειαηψλ (Downstream Subframe), ελψ ην δεχηεξν είλαη ην ηκήκα πνπ απνζηέιινληαη πιεξνθνξίεο απφ ηηο ζπζθεπέο ησλ πειαηψλ πξνο ηνλ ζηαζκφ βάζεο (Upstream Subframe). Σα δπν ηκήκαηα ρσξίδνληαη κεηαμχ ηνπο κε έλα κηθξφ ρξνληθφ δηάζηεκα ζην νπνίν δελ πξαγκαηνπνηείηαη θάπνηα κεηάδνζε, γλσζηφ θαη σο ρξνληθφ θελφ κεηάδνζεο (Transmission Time Gap - TTG). Αμίδεη λα ζεκεησζεί φηη ην Downstream Subframe απνηειείηαη απφ έλα θαη κφλν παθέην ζην θπζηθφ επίπεδν, ελψ ην Upstream Subframe απφ έλα ή πεξηζζφηεξα, έλα γηα θάζε ζπζθεπή πειάηε πνπ εθπέκπεη ζην εθάζηνηε frame. 9 Θα πξέπεη λα ζεκεησζεί φηη ηφζν ζηελ φζν θαη ζηελ, ζεσξείηαη δεδνκέλν φηη ρξεζηκνπνηείηαη TDD.

30 Όπσο θαη ην superframe έηζη θαη ην frame μεθηλάεη κε έλα ηκήκα πνπ πξναλαγγέιιεη ηελ αξρή ηνπ (preamble). Δπηπιένλ, ην κέγεζνο ηνπ πξψηνπ frame θάζε superframe είλαη κεησκέλν θαηά ην ρξφλν πνπ δηαξθεί ε αξρή ηνπ superframe. Μεηά ην preamble αθνινπζεί ε επηθεθαιίδα ειέγρνπ ηνπ frame (Frame Control Header FCH), πνπ πεξηέρεη πιεξνθνξίεο ζρεηηθά κε ηα ραξαθηεξηζηηθά ησλ θαλαιηψλ πνπ ρξεζηκνπνηνχληαη. ηε ζπλέρεηα, αθνινπζνχλ νη θεθαιίδεο ραξηνγξάθεζεο γηα ην Downstream θαη ην Upstream Subframe, πνπ νλνκάδνληαη DL-MAP θαη UL-MAP αληίζηνηρα. Σν κέγεζνο πνπ έρνπλ απηέο νη θεθαιίδεο ραξηνγξάθεζεο πεξηέρεηαη ζηελ επηθεθαιίδα ειέγρνπ ηνπ frame. ε απηέο ηηο θεθαιίδεο θαηαγξάθνληαη θαη γλσζηνπνηνχληαη ζε φινπο ηνπο ρξήζηεο ηνπ δηθηχνπ απφ ην ζηαζκφ βάζεο πφηε ζα γίλνπλ νη κεηαδφζεηο πξνο ηηο ζπζθεπέο πειαηψλ πνπ ππάξρνπλ ζην δίθηπν, φζν θαη πφηε ζα κεηαδψζνπλ απηέο πξνο ηνλ ζηαζκφ βάζεο. Σν επφκελν βήκα είλαη νη απνζηνιέο ησλ δεδνκέλσλ απφ ην ζηαζκφ βάζεο πξνο ηηο ζπζθεπέο ησλ πειαηψλ, πνπ γίλνληαη κε ηελ κνξθή ξηπψλ (bursts). Κάζε ξηπή είλαη κηα κεηάδνζε ε νπνία έρεη κηα ζεηξά θνηλψλ ραξαθηεξηζηηθψλ: Τεο θσδηθνπνίεζεο πνπ ρξεζηκνπνηείηαη θαη Τνπ θώδηθα εθ ησλ πξνηέξσλ δηόξζσζεο ζθαικάησλ (Forward Error Correction - FEC). Κάζε ξηπή θαηαιακβάλεη ζπγθεθξηκέλν αξηζκφ ινγηθψλ θαλαιηψλ ζην επίπεδν MAC [13]. Μεηά θαη ηελ παξέιεπζε ηνπ TTG, εθθηλνχλ νη κεηαθνξέο δεδνκέλσλ απφ ηελ πιεπξά ησλ ζπζθεπψλ ησλ πειαηψλ. ε απηφ ην ζεκείν, πξνηνχ αξρίζνπλ νη κεηαθνξέο δεδνκέλσλ, νη πειάηεο αλαθέξνπλ αλ εληνπίζηεθε θάπνηνο πξσηεχσλ ρξήζηεο, ελψ ζε απηφ ην ζεκείν γίλνληαη θαη νη αηηήζεηο γηα κεγαιχηεξν εχξνο δψλεο απφ ηελ κεξηά ησλ ζπζθεπψλ ησλ

31 πειαηψλ γηα θάπνηα απφ ηηο ξνέο δεδνκέλσλ 10 ηνπο κε ην ζηαζκφ βάζεο. Ο ζηαζκφο βάζεο ιακβάλνληαο ππφςε ηηο αηηήζεηο γηα αχμεζε ηνπ εχξνπο δψλεο ζε δηάθνξεο ζπλδέζεηο, πξνγξακκαηίδεη ηηο κεηαθνξέο ησλ δεδνκέλσλ απφ θαη πξνο ηηο ζπζθεπέο ησλ πειαηψλ, πξνζαξκφδνληαο θαηάιιεια ην ρξφλν πνπ ζα απνθαζίζεη λα θάλεη ηελ παχζε ησλ κεηαδφζεψλ ηνπ (TTG). Έηζη, αλ γηα παξάδεηγκα δηαπηζησζεί φηη ππάξρεη κεγαιχηεξε αλάγθε γηα κεηαθνξέο απφ ην ζηαζκφ βάζεο πξνο ηηο ζπζθεπέο ησλ πειαηψλ, ν ζηαζκφο βάζεο κεηαηνπίδεη ην TTG πξνο ηα δεμηά έηζη ψζηε ην Downstream Subframe λα γίλεη κεγαιχηεξν θαη λα ηθαλνπνηήζεη θαηά ζπλέπεηα ηελ απμεκέλε θίλεζε. Αλ ε θίλεζε είλαη κεγαιχηεξε γηα απνζηνιή δεδνκέλσλ απφ ηηο ζπζθεπέο πειαηψλ πξνο ην ζηαζκφ βάζεο, πξάηηεη αλάινγα. Γηα ιφγνπο κεγαιχηεξεο επειημίαο, ζην επίπεδν πξφζβαζεο ζην κέζν νη ζηαζκνί βάζεο έρνπλ ηε δπλαηφηεηα ππνζηήξημεο ζπζθεπψλ πειαηψλ πνπ ιεηηνπξγνχλ ζε έλα ή πεξηζζφηεξα θαλάιηα [13][42]. Γηα λα δηαζθαιηζηεί ε απξφζθνπηε επηθνηλσλία ησλ πξσηεπφλησλ ρξεζηψλ ηνπ δηθηχνπ αιιά θαη ε ζσζηή ιεηηνπξγία ησλ δηθηχσλ πνπ ρξεζηκνπνηνχλ ην πξσηφθνιιν, πξνγξακκαηίδεηαη πεξηνδηθόο έιεγρνο γηα παξνπζία πξσηεπόλησλ ρξεζηώλ. Ο έιεγρνο γηα ηπρφλ πξσηεχνληεο ρξήζηεο δηεμάγεηαη απφ ηηο ζπζθεπέο ησλ ρξεζηψλ ππφ ηελ θαζνδήγεζε ηνπ ζηαζκνχ βάζεο, ν νπνίνο ελεκεξψλεη ζρεηηθά κε ηα θαλάιηα πνπ ζα πξέπεη λα ειεγρζνχλ, θαζψο θαη κε ηε δηάξθεηα ηνπ ειέγρνπ. Αθνχ ζπγθεληξσζνχλ νη απαξαίηεηεο πιεξνθνξίεο απφ ηηο ζπζθεπέο ησλ ρξεζηψλ, ζηε ζπλέρεηα απνζηέιινληαη ζην ζηαζκφ βάζεο, ν νπνίνο κε ηε ζεηξά ηνπ απνθαζίδεη γηα ηα κέηξα πνπ πξέπεη λα ιεθζνχλ. Μπνξνχλ λα ρξεζηκνπνηεζνχλ επηπιένλ θάπνηνη κεραληζκνί, πνπ αθνξνχλ ηηο νδεγίεο πνπ δίλεη ν ζηαζκφο βάζεο πξνο ηηο ζπζθεπέο ησλ πειαηψλ, έηζη ψζηε νη δξάζεηο ηνπο λα είλαη ζπκπιεξσκαηηθέο, δηακνηξάδνληαο κε απηφλ ηνλ ηξφπν ηνλ ππνινγηζηηθφ θφξην. Όπσο δηαθαίλεηαη απφ ηα πξναλαθεξζέληα, έιεγρνο γηα πξσηεχνληεο ρξήζηεο γίλεηαη ηφζν ζην θαλάιη ή θαλάιηα πνπ ρξεζηκνπνηνχληαη απφ ηελ θπςέιε φζν θαη ζε άιια θαλάιηα. Ζ δηαδηθαζία απηή ηνπ ειέγρνπ γίλεηαη ζε δπν θάζεηο, θαηά ηηο νπνίεο δηαθφπηνληαη νη κεηαδφζεηο ηνπ ζηαζκνχ βάζεο πξνο ηηο ζπζθεπέο θαη αληίζηξνθα: Γξήγνξνο έιεγρνο (fast sensing): Ο γξήγνξνο έιεγρνο γίλεηαη ζε κηα ή πεξηζζφηεξεο πεξηφδνπο νη νπνίεο έρνπλ πνιχ κηθξή δηάξθεηα (ηεο ηάμεο ηνπ 1ms). Καηά ηε δηάξθεηα απηνχ ηνπ ειέγρνπ γίλεηαη αλίρλεπζε ηεο ελέξγεηαο πνπ ιακβάλεηαη θαη εηδηθφηεξα κέηξεζή ηεο, έηζη ψζηε λα δηαπηζησζεί αλ μεπεξλά θάπνην θαζνξηζκέλν θαηψθιη 11 (threshold). Απηνχ ηνπ είδνπο ν έιεγρνο πξαγκαηνπνηείηαη κφλν ζην θαλάιη(-ηα) πνπ ρξεζηκνπνηείηαη απφ ηελ θπςέιε. Αλάινγα κε ηηο κεηξήζεηο πνπ ιακβάλεη ν ζηαζκφο βάζεο απφ ηηο ζπζθεπέο ησλ πειαηψλ, ην ζχζηεκα νξίδεη αλ ζα πξέπεη λα πξαγκαηνπνηεζεί ιεπηνκεξήο έιεγρνο (fine sensing). Γηα παξάδεηγκα, αλ παξαηεξεζεί φηη ε ιακβαλφκελε ελέξγεηα ζην θαλάιη είλαη πάληα θάησ απφ ην επηηξεπφκελν φξην πνπ έρεη ηεζεί κπνξεί λα απνθαζίζεη λα αθπξψζεη ηελ επφκελε πεξίνδν ιεπηνκεξνχο ειέγρνπ. Αληίζηνηρα, αλ ην ζχζηεκα εληνπίδεη πςειή ιακβαλφκελε ελέξγεηα ηφηε πξνγξακκαηίδεη ηελ εθπφλεζε ελφο ιεπηνκεξνχο ειέγρνπ. Όπσο έρεη ζεκεησζεί θαη ζηνλ νξηζκφ ηνπ πξνηχπνπ ηνπ , ην ζχζηεκα ζα πξέπεη λα είλαη ηθαλφ λα εληνπίζεη ηελ παξνπζία πξσηεπφλησλ ρξεζηψλ ζε ρξφλν ιηγφηεξν απφ 2 sec. πλεπψο, νη έιεγρνη ζα πξέπεη λα πξαγκαηνπνηνχληαη πεξηνδηθά κε ρξφλν πνπ λα κελ μεπεξλά ηα 2 sec. Λεπηνκεξήο έιεγρνο (fine sensing): Όπσο πξναλαθέξζεθε, ε θάζε απηή δελ είλαη ππνρξεσηηθή, αιιά απνθαζίδεηαη δπλακηθά απφ ην ζηαζκφ βάζεο, αλάινγα κε ην απνηέιεζκα ηνπ fast sensing. Ζ δηάξθεηά ηεο θπκαίλεηαη ζηα 25ms θαηά ηελ νπνία ην 10 Οη ξνέο δεδνκέλσλ είλαη ζπλδέζεηο κε θάπνηα ραξαθηεξηζηηθά, φπσο ηαρχηεηα κεηάδνζεο δεδνκέλσλ, θαηεχζπλζε, πνπ νξίδνληαη απφ ην ζηαζκφ βάζεο θαη ηηο ζπζθεπέο ησλ πειαηψλ γηα ηελ αληαιιαγή ησλ δεδνκέλσλ κεηαμχ ηνπο. 11 Δλδεηθηηθά παξαηίζεηαη πσο ην θαηψθιη πνπ έρεη νξηζηεί γηα ηνλ εληνπηζκφ ησλ ςεθηαθψλ ηειενπηηθψλ ζεκάησλ είλαη -116dBm

32 ζχζηεκα πξνζπαζεί λα εληνπίζεη ζπγθεθξηκέλεο ππνγξαθέο ζεκάησλ πνπ εθπέκπνληαη απφ πξσηεχνληεο ρξήζηεο αιιά θαη απφ άιιεο θπςέιεο Ζ αληίδξαζε ηνπ ζηαζκνχ βάζεο βέβαηα δηαθέξεη αλάινγα κε ηελ πεξίπησζε. Αλ πξφθεηηαη γηα πξσηεχσλ ρξήζηε, ηφηε ν ζηαζκφο βάζεο εθθηλεί ηηο δηαδηθαζίεο αιιαγήο θαλαιηνχ ιεηηνπξγίαο, ελψ αλ πξφθεηηαη γηα άιιε θπςέιε , μεθηλνχλ θάπνηεο δηαδηθαζίεο γηα ηελ κεηαμχ ηνπο ζπλχπαξμε, πνπ ζα πεξηγξαθνχλ παξαθάησ. Σα ζήκαηα πνπ ρξεζηκνπνηνχληαη γηα ηελ επηθνηλσλία δελ είλαη ηειείσο ηπραία. Πεξηέρνπλ θάπνηα ζηνηρεία πνπ δελ είλαη ηπραία, ιφγσ ηνπ ζπλδπαζκνχ ησλ δηακνξθσκέλσλ ζεκάησλ κε εκηηνληθέο θέξνπζεο θπκάησλ. Σα ζήκαηα απηά ζεσξνχληαη θπθινζηαηηθά (cyclostationary), θαζψο ηα ζηαηηζηηθά ηνπο ζηνηρεία παξνπζηάδνπλ πεξηνδηθφηεηα ζην ρξφλν. Ζ ζπλάξηεζε ππθλφηεηαο θαζκαηηθήο ζπζρέηηζεο (spectral correlation density function SCD function) κπνξεί λα εμάγεη ηελ θπθινζηαηηθφηεηα ελφο ζήκαηνο. ε αληίζεζε κε ηα ζήκαηα, ν ζφξπβνο δελ εκθαλίδεη θακηά θπθινζηαηηθφηεηα. πλεπψο, κε ηελ αλάιπζε ηεο ζπλάξηεζεο SCD κπνξεί λα δηαπηζησζεί θαη ν ηχπνο ηνπ ιακβαλφκελνπ ζήκαηνο. Πάλσ ζε απηή ηελ αλάιπζε βαζίδεηαη θαη ε ιεηηνπξγία ηνπ fine sensing. Γηαθνξεηηθνί ηχπνη ζεκάησλ έρνπλ δηαθνξεηηθέο κε κεδεληθέο θπθιηθέο ζπρλφηεηεο. Γηα παξάδεηγκα, ζηελ πεξίπησζε ησλ αλαινγηθψλ ηειενπηηθψλ ζεκάησλ, εκθαλίδνληαη θπθιηθέο ζπρλφηεηεο κε ξπζκφ πνιιαπιάζην ηνπ ξπζκνχ νξηδφληηαο ζάξσζεο (horizontal line scan rate 12 ) πνπ είλαη khz ζηηο Ζλσκέλεο Πνιηηείεο θαη khz ζηελ Δπξψπε [18]. ηελ θαίλνληαη νη θάζεηο απηέο πνπ πεξηγξάθεθαλ παξαπάλσ ζε ζρέζε κε ηηο κεηαδφζεηο ηνπ πξσηνθφιινπ [9]. Ηδηαίηεξε πξνζνρή έρεη δνζεί θαη γηα ηελ πξνζηαζία ησλ ππόινηπσλ ζπζθεπώλ πνπ ρξεζηκνπνηνύλ ην θάζκα, φπσο αζχξκαηα κηθξφθσλα θαη ζπζθεπέο ελδνεπηθνηλσλίαο κηθξήο εκβέιεηαο, θαζψο απηέο έρνπλ πνιχ κηθξή ελέξγεηα εθπνκπήο, θαζηζηψληαο δχζθνιν ηνλ εληνπηζκφ ηνπο. Γηα απηφ ην ιφγν έρνπλ πξνηαζεί δπν εηδψλ ιχζεηο γηα ηνλ εληνπηζκφ ηνπο. Ζ πξψηε ιχζε αλαθέξεη ηελ παξνπζία κηαο μερσξηζηήο ζπζθεπήο πνπ εθπέκπεη παθέηα θάξνπο (beacons) ηα νπνία ζα επηζεκαίλνπλ ηελ χπαξμε ηέηνηνπ είδνπο ζπζθεπψλ. ηε δεχηεξε ιχζε πξνηείλεηαη ε χπαξμε κηαο μερσξηζηήο ζπζθεπήο πειάηε πνπ ζα ελεκεξψλεη ηα δίθηπα γηα ηελ χπαξμε απηνχ ηνπ είδνπο ζπζθεπψλ. Ζ ζπζθεπή πειάηε ζα ελεκεξψλεη ζρεηηθά κε ηελ χπαξμε απηψλ ησλ ζπζθεπψλ κε παθέην θάξν πνπ ζα απνζηέιιεηαη θαηά ηελ δηάξθεηα θάπνηαο πεξηφδνπ ζηγήο πξνο ην ζηαζκφ βάζεο, ν νπνίνο ζα πξέπεη κε ηελ ζεηξά ηνπ λα ζηέιλεη θαη ην αλάινγν παθέην γηα λα επηβεβαηψζεη ηε ιήςε απηνχ ηνπ παθέηνπ. Παξφια απηά, επηζεκαίλεηαη φηη κεκνλσκέλε ρξήζε ησλ δπν απηψλ ιχζεσλ δελ είλαη ηφζν απνηειεζκαηηθή. Ο ζπλδπαζκφο απηψλ ησλ δπν ιχζεσλ ζεσξείηαη πξνηηκφηεξνο [14]. 12 Horizontal line scan rate: ν ξπζκφο κε ηνλ νπνίν ε ηειενπηηθή εηθφλα αλαλεψλεηαη απφ ηα αξηζηεξά πξνο ηα δεμηά θαη μαλά πξνο ηα αξηζηεξά. Αληηζηνηρεί ζηνλ αξηζκφ ησλ νξηδφληησλ γξακκψλ πνπ απεηθνλίδνληαη ζε έλα δεπηεξφιεπην.

33 Πξηλ αλαιπζνχλ νη κεραληζκνί ζπκπεξηθνξάο ησλ δηθηχσλ πνπ έρνπλ πξνηαζεί, είλαη ζεκαληηθφ λα αλαθεξζνχλ νξηζκέλεο πινπνηήζεηο πνπ έρνπλ πξνηαζεί γηα ην Cognitive Radio, νη νπνίεο κπνξνχλ λα εθαξκνζηνχλ θαη ζηελ πεξίπησζε ηνπ Δίλαη γεγνλφο πσο ε εξεπλεηηθή νκάδα ηνπ έρεη αθήζεη αλνηρηά αξθεηά δεηήκαηα (φπσο γηα παξάδεηγκα ηε δηαδηθαζία αιιαγήο θαλαιηνχ ζην δίθηπν), θαηαδεηθλχνληαο εκκέζσο ηε δπλαηφηεηα πηνζέηεζεο πνιιψλ πξνηάζεσλ. ηελ πεξίπησζε ηνπ cognitive radio, ν ηξόπνο κε ηνλ νπνίν δηακνηξάδεηαη ην θάζκα ρσξίδεηαη ζε δπν είδε: Κάζεηνο δηακνηξαζκφο θάζκαηνο (vertical spectrum sharing): Οη ζπζθεπέο πειαηψλ αλαδεηνχλ πεξηνδηθά ην θάζκα γηα ηελ παξνπζία ειεχζεξσλ θαλαιηψλ ζηα νπνία κπνξνχλ λα κεηαβνχλ θαη ην δίθηπν λα ζπλερίζεη ηε ιεηηνπξγία ηνπ. Οξηδφληηνο δηακνηξαζκφο θάζκαηνο (horizontal spectrum sharing): Αλ έλα δίθηπν εληνπίζεη θάπνην άιιν δίθηπν ζην ίδην θαλάιη θαη ηα ειεχζεξα θαλάιηα ζην θάζκα είλαη πεξηνξηζκέλα, ηφηε ηα δίθηπα ζπλαηλνχλ ζε έλαλ θνηλφ δηακνηξαζκφ ηνπ θαλαιηνχ [17]. ηε ζπλέρεηα, αλαιχνληαη νη κεραληζκνί πνπ έρνπλ πξνηαζεί γηα ην ε πεξίπησζε πνπ εληνπηζηεί φηη θάπνηα θπςέιε ιεηηνπξγεί ζην ίδην θαλάιη κε θάπνηα άιιε (ή θάπνηεο άιιεο) ελεξγνπνηνχληαη θάπνηνη κεραληζκνί έηζη ψζηε λα είλαη δπλαηή είηε ε ζπλύπαξμε ηνπο, είηε θάπνηα απφ ηηο δπν (ή πεξηζζφηεξεο) λα αιιάμεη θαλάιη ιεηηνπξγίαο. Ζ ζπκπεξηθνξά απηή είλαη κείδνλνο ζεκαζίαο γηα ηελ ιεηηνπξγία ηνπ πξσηνθφιινπ. Ο ιφγνο είλαη ε κεγάιε πεξηνρή θάιπςεο πνπ αλακέλνληαη λα έρνπλ ηα δίθηπα , πνπ φπσο πξναλαθέξζεθε κπνξεί λα θηάζεη ηα 100km. Ζ κεγάιε πεξηνρή θάιπςεο θαζηζηά πνιχ πηζαλή ηελ παξνπζία δχν ή πεξηζζνηέξσλ δηθηχσλ ζε κηα πεξηνρή. ε κηα ηέηνηα πεξίπησζε, νη ιεηηνπξγίεο ηνπ fast θαη ηνπ fine sensing δελ ζα παξείραλ θαλέλα φθεινο, θαζψο ην έλα δίθηπν ζα εληφπηδε ην άιιν θαηά ηηο πεξηφδνπο ειέγρνπ, δπζρεξαίλνληαο επηπιένλ θαη ηνλ εληνπηζκφ ησλ πξσηεπφλησλ ρξεζηψλ ζην θαλάιη ιεηηνπξγίαο. Γηα απηφ ην ιφγν έρεη πξνζηεζεί θαη ε δπλαηφηεηα ηνπ ζπγρξνληζκνχ πνπ αλαιχεηαη ζηελ επφκελε παξάγξαθν. Ζ πινπνίεζε απηψλ ησλ κεραληζκψλ είλαη πνιχ ζεκαληηθή γηα ηελ απνηειεζκαηηθή ιεηηνπξγία ηνπ πξσηνθφιινπ, θαζψο ζε αληίζεηε πεξίπησζε νη παξεκβνιέο κεηαμχ απηψλ ησλ δηθηχσλ ζα είλαη αξθεηά κεγάιεο, θαζηζηψληαο ηα ζπζηήκαηα άρξεζηα. Έλαο ηξφπνο έηζη ψζηε λα γίλεη πην εχθνινο ν εληνπηζκφο πξσηεπφλησλ ρξεζηψλ ηνπ δηθηχνπ είλαη ν ζπγρξνληζκφο ησλ δπν θάζεσλ ειέγρνπ γηα πξσηεχνληεο ρξήζηεο, ηεο γξήγνξεο αιιά θαη ηεο ιεπηνκεξνχο θάζεο, κεηαμχ γεηηνληθψλ ζηαζκψλ βάζεο. Με ηνλ ζπγρξνληζκφ ησλ δηθηχσλ κεηαμχ ηνπο, ηα frames ζα εθθηλνχλ ηελ ίδηα ρξνληθή ζηηγκή θαη θαη επέθηαζε ζα πξαγκαηνπνηνχληαη ηαπηφρξνλα ηα fast θαη fine sensing. πλεπψο, είλαη δπλαηή ε θαηά πεξηφδνπο αδξαλνπνίεζε νπνηαζδήπνηε θίλεζεο απφ ηε κεξηά ησλ δηθηχσλ , θαζηζηψληαο πην απνηειεζκαηηθφ ηνλ έιεγρν γηα πξσηεχνληεο ρξήζηεο, ρσξίο ηηο παξεκβνιέο άιισλ δηθηχσλ. Αο ππνηεζεί φηη ππάξρνπλ δπν επηθαιππηφκελεο θπςέιεο ζηηο νπνίεο βξίζθνληαη δπν ζηαζκνί βάζεο, ν BS 1 θαη BS 2, πνπ επηζπκνχλ λα ζπγρξνλίζνπλ ηηο κεηαδφζεηο ηνπο. Ο ζπγρξνληζκφο κεηαμχ ηνπο επηηπγράλεηαη κε ηε ρξήζε εηδηθώλ πακέτων υάρων (inter cell beacons). Όηαλ ην BS 1 απνζηέιιεη έλα beacon παθέην, θαηαγξάθεη ζε απηφ θαη ην ρξφλν πνπ έρεη κεζνιαβήζεη απφ ηελ αξρή ηνπ frame κέρξη θαη ηε ζηηγκή πνπ άξρηζε ηελ κεηάδνζε ηνπ beacon, έζησ T x (γλσζηφ θαη σο transmission offset). Σν BS 2, αθνχ ιάβεη ην beacon απφ ην BS 1, ππνινγίδεη ην ρξφλν πνπ κεζνιάβεζε απφ ηελ αξρή ηνπ δηθνχ ηνπ frame κέρξη θαη ηε ζηηγκή ιήςεο ηνπ παθέηνπ, έζησ R x (γλσζηφ θαη σο reception offset). Έζησ FD ε δηάξθεηα ηνπ frame. Αθνχ ην BS 2 ιάβεη ην beacon απφ ην BS 1, ν ζπγρξνληζκφο ηνπ κε ην BS 1 επηηπγράλεηαη νιηζζαίλνληαο ηα frames κε βάζε ηνλ αθφινπζν θαλφλα: Αλ FD T X + R X FD 2, ηφηε νιηζζαίλεη ηα frames δεμηά θαηά FD T X + R X.

34 Γηαθνξεηηθά, νιηζζαίλεη ηα frames αξηζηεξά θαηά T X R X. ηελ παξαθάησ εηθφλα παξηζηάλεηαη ε ιεηηνπξγία ηνπ ζπγρξνληζκνχ κε ηνλ ππνινγηζκφ ησλ κεγεζψλ FD, Tx, Rx κε ηελ εθαξκνγή ηνπ πξναλαθεξζέληνο θαλφλα. Τπάξρεη ηξφπνο λα δηακνηξαζηνχλ ην/-α θαλάιη/-α ιεηηνπξγίαο ησλ θπςειψλ. Γλψκνλαο γηα απηφ ην δηακνηξαζκφ ησλ θαλαιηψλ απνηειεί ε εμαζθάιηζε ηεο πνηφηεηαο ησλ ππεξεζηψλ πνπ πξνζθέξνπλ νη θπςέιεο. Γηα απηφ ην ιφγν ζην νξίδνληαη δπν δηαθνξεηηθέο κέζνδνη δηακνηξαζκνχ ησλ θαλαιηψλ, ε απνθιεηζηηθή θαη ε κε απνθιεηζηηθή. ηε κε απνθιεηζηηθή κέζνδν ν ζηαζκφο βάζεο ζα πξέπεη λα απνθαζίζεη αλ ν δηακνηξαζκόο ηνπ θάζκαηνο είλαη εθηθηφο κε βάζε ην ιόγν ζήκαηνο παξεκβνιήο (Signal to Interference Ratio) θαη έλα θαηψθιη πνπ έρεη νξηζηεί γηα απηφ, βάζεη ησλ ππεξεζηψλ πνπ πξέπεη λα ππνζηεξίμεη ην δίθηπν. Αλ ν ιφγνο ζήκαηνο παξεκβνιήο είλαη κεγαιχηεξνο απφ ην θαζνξηζκέλν θαηψθιη, ηφηε είλαη δπλαηφο ν δηακνηξαζκφο ηνπ θαλαιηνχ ιεηηνπξγίαο. Έηζη επηηπγράλεηαη ν δηακνηξαζκφο ηνπ θαλαιηνχ ιεηηνπξγίαο κε ηνλ έιεγρν ηεο ελέξγεηαο κεηαδφζεσλ, ειαρηζηνπνηψληαο ηηο κεηαμχ ηνπο παξεκβνιέο. Ζ κέζνδνο απηή είλαη γλσζηή θαη σο spectrum sharing. ε αληίζεηε πεξίπησζε, θάπνηνο απφ ηνπο δπν ή πεξηζζφηεξνπο ζηαζκνχο βάζεο παχεη λα ρξεζηκνπνηεί ην ζπγθεθξηκέλν θαλάιη θαη εθθηλεί ηηο δηαδηθαζίεο γηα ηελ αλαδήηεζε ελόο άιινπ ειεύζεξνπ θαλαιηνύ. Σν αθήλεη αλνηρηφ ηνλ ηξφπν κε ηνλ νπνίν ζα γίλεη ε αλαδήηεζε ησλ ειεχζεξσλ θαλαιηψλ, αιιά θαη ην πνην δίθηπν ζα εγθαηαιείςεη ην ζπγθξηκέλν θαλάιη. Ήδε, ζηελ βηβιηνγξαθία πεξηιακβάλνληαη αξθεηέο πξνηεηλφκελεο κέζνδνη. Μηα αξθεηά απιή κέζνδνο πεξηγξάθεηαη απφ ην πξσηφθνιιν ODSC (On-demand Spectrum Contention). Δηδηθφηεξα, κε ηελ εθαξκνγή ηνπ ODSC, ν ζηαζκφο βάζεο επηιέγεη έλαλ ηπραίν αξηζκφ αλάκεζα ζην 0 θαη ην W ([0, W]), φπνπ ην W είλαη έλα άλσ φξην, θνηλφ γηα φινπο ηνπο ζηαζκνχο βάζεο. Ο αξηζκφο απηφο ρξεζηκνπνηείηαη γηα λα θαζνξηζηεί ν «ληθεηήο» θάζε δεχγνπο ζηαζκνχ βάζεσλ πνπ δηεθδηθεί ην ρξεζηκνπνηεκέλν θαλάιη. Απηφο ν αξηζκφο απνζηέιιεηαη ζε θάζε ζηαζκφ βάζεο πνπ ρξεζηκνπνηεί ην ίδην θαλάιη. Γηα λα θεξδίζεη ηειηθά ην θαλάιη, ν ζηαζκφο βάζεο πνπ εθθίλεζε ηελ δηαδηθαζία ζα πξέπεη λα ληθήζεη φινπο ηνπο επηκέξνπο «δηαγσληζκνχο» κεηαμχ ησλ ζηαζκψλ βάζεσλ. Νηθεηήο ζεσξείηαη ν ζηαζκφο βάζεο πνπ έρεη ην κεγαιχηεξν αξηζκφ φπσο απηφο έρεη επηιερζεί ηπραία απφ ην δηάζηεκα [0, W]. Με ηελ απνρψξεζή ηνπ ζηαζκνχ βάζεο απφ ην θαλάιη, εμαζθαιίδεηαη κεγαιύηεξνο ιόγνο ζήκαηνο πξνο παξεκβνιέο ηφζν γηα απηφλ φζν θαη γηα ηηο ππφινηπεο θπςέιεο, απμάλνληαο ηελ δπλαηφηεηα πξνζθνξάο ππεξεζηψλ [14]. Παξφιν πνπ ε ζπγθεθξηκέλε κέζνδνο ζεσξείηαη αξθεηά δεκνθηιήο, ζεσξείηαη αξθεηά επηξξεπήο ζε επηζέζεηο ζηηο νπνίεο θάπνηνο θαθφβνπινο, αλαιακβάλνληαο ην ξφιν ελφο «πεηξαγκέλνπ» BS, ζα κπνξνχζε λα επηιέγεη έλαλ αξηζκφ (φρη ηπραία), θεξδίδνληαο ζπλερψο ηηο δηεθδηθήζεηο ηνπ ρξεζηκνπνηεκέλνπ θαλαιηνχ.

35 Δλδηαθέξνλ παξνπζηάδεη θαη ε κειέηε εξεπλεηηθήο νκάδαο ζρεηηθά κε ηηο πξννπηηθέο εθαξκνγήο ηνπ πξνηύπνπ ζηελ Ιαπσλία [8]. Όπσο είλαη γλσζηφ, ν πξσηαξρηθφο ζρεδηαζκφο ηνπ πξαγκαηνπνηήζεθε κε βάζε ηελ ηξέρνπζα θαηάζηαζε ζηηο Ζλσκέλεο Πνιηηείεο ζε αξθεηνχο ηνκείο κεηαμχ ησλ νπνίσλ πεξηιακβάλνληαη: Σν θαλνληζηηθό πιαίζην κε ηελ απειεπζέξσζε ησλ κε ρξεζηκνπνηεκέλσλ ηειενπηηθψλ ζπρλνηήησλ απφ ηελ FCC. Γεσγξαθηθά θξηηήξηα ηα νπνία αλαδεηθλχνπλ ην πξφβιεκα πνπ ππάξρεη φζνλ αθνξά ηε πξνζβαζηκφηεηα ζην δηαδίθηπν ζε κε αζηηθέο πεξηνρέο. ηηο ΖΠΑ ην πξφβιεκα είλαη αξθεηά έληνλν, θαζψο ππάξρνπλ πνιιέο κε αζηηθέο πεξηνρέο, γεγνλφο πνπ αληαλαθιάηαη θαη ζην ράζκα (15%), φζνλ αθνξά ηελ επξπδσληθφηεηα κεηαμχ ησλ αζηηθψλ θαη ησλ κε αζηηθψλ πεξηνρψλ [19]. πγθεθξηκέλεο ηερλνινγίεο πνπ ρξεζηκνπνηνχληαη (φπσο γηα ηε κεηάδνζε ηνπ ηειενπηηθνχ ζήκαηνο) πλεπψο, ε δπλαηφηεηα εθαξκνγήο ηνπ πξνηχπνπ θαη ζε άιιεο ρψξεο κε μερσξηζηέο ηδηαηηεξφηεηεο απνθηά χςηζηε ζεκαζία. ηε κειέηε ηεο ζπγθεθξηκέλεο εξεπλεηηθήο νκάδαο επηζεκαίλνληαη νη δηαθνξέο πνπ ππάξρνπλ αλάκεζα ζηηο Ζλσκέλεο Πνιηηείεο θαη ηελ Ηαπσλία, νη νπνίεο σζηφζν δελ θαζηζηνχλ ζε θακηά πεξίπησζε απαγνξεπηηθή ηελ εθαξκνγή ηνπ εκαληηθφ ζηνηρείν γηα ηνλ εληνπηζκφ ησλ πξσηεπφλησλ ρξεζηψλ ζηηο Ζλσκέλεο Πνιηηείεο απνηειεί ε δπλαηφηεηα πξφζβαζεο ζε πιεξνθνξίεο πνπ αθνξνύλ ηνπο ηειενπηηθνύο ζηαζκνύο πνπ εθπέκπνπλ, φπσο ε γεσγξαθηθή ηνπνζεζία ηνπο, ε εκβέιεηά ηνπο, αθφκα θαη ε ελεξγή αθηηλνβνινχκελε ηζρχο (Effective Radiated Power ERP). Χζηφζν, ηέηνηνπ είδνπο πιεξνθνξίεο δελ είλαη δηαζέζηκεο ζηελ Ηαπσλία, ξίρλνληαο ζπλεπψο πεξηζζφηεξν βάξνο ζηε ιεηηνπξγία ηνπ sensing γηα ηνλ εληνπηζκφ ησλ πξσηεπφλησλ ρξεζηψλ. Ο ζηαζκφο βάζεο δε ζα έρεη ηε δπλαηφηεηα ιήςεο πιεξνθνξηψλ γηα ηνπο ηειενπηηθνχο ζηαζκνχο, θάηη πνπ ζα ήηαλ εθηθηφ ζηηο Ζλσκέλεο Πνιηηείεο. Ζ ιεηηνπξγία ηνπ sensing απνθηά αθφκα κεγαιχηεξε αμία, ρσξίο σζηφζν ην γεγνλφο απηφ λα ζεσξείηαη πσο απνηειεί ζεκαληηθφ εκπφδην. Αμίδεη λα ζεκεησζεί πσο ε ξύζκηζε ηνπ θαλνληζηηθνύ πιαηζίνπ γηα ηηο ειεχζεξεο ηειενπηηθέο ζπρλφηεηεο έρεη πξαγκαηνπνηεζεί κφλν απφ ηνλ θπβεξλεηηθφ θνξέα ησλ ΖΠΑ (FCC), ρσξίο ν αληίζηνηρνο ηαπσληθφο θνξέαο (MIC) λα έρεη πξνβεί ζε αλάινγε ελέξγεηα. Χζηφζν, επηθξαηεί αηζηνδνμία πσο ε MIC, κε ηελ νινθιήξσζε ηεο πιήξνπο αληηθαηάζηαζεο ησλ αλαινγηθψλ κε ηηο ςεθηαθέο εθπνκπέο ηειενπηηθψλ ζεκάησλ, ζα ειεπζεξψζεη φιν ην εχξνο ησλ VHF ζπρλνηήησλ, επηηξέπνληαο θαη επέθηαζε ηε ιεηηνπξγία ησλ δηθηχσλ. Αθφκα φκσο θαη ζηελ πεξίπησζε πνπ δελ πξαγκαηνπνηεζεί ε πιήξεο απειεπζέξσζε ησλ VHF ζπρλνηήησλ, ηα δίθηπα ζα ζπλππάξρνπλ κε ηνπο πξσηεχνληεο ρξήζηεο βάζεη ησλ κεζφδσλ πνπ έρνπλ αλαιπζεί. εκαληηθή είλαη ε επηζήκαλζε γηα ηελ αλάγθε δηεύξπλζεο ησλ ηερληθώλ εληνπηζκνύ ησλ ηειενπηηθώλ ζεκάησλ, έηζη ψζηε λα ζπκπεξηιεθζνχλ θαη άιινη ηχπνη ζεκάησλ. ε αληίζεζε κε ηηο Ζλσκέλεο Πνιηηείεο θαη ηελ Δπξψπε πνπ ρξεζηκνπνηνχλ ηα ζπζηήκαηα ATSC θαη DVB-T γηα ηε ςεθηαθή κεηάδνζε αληίζηνηρα, ζηελ Ηαπσλία έρεη πηνζεηεζεί ην ζχζηεκα ISDB-T 13 γηα ην νπνίν δελ έρεη πινπνηεζεί θάπνην κεραληζκφο εληνπηζκνχ. Καζψο δελ ππάξρεη ε δπλαηφηεηα ιήςεο γεσγξαθηθψλ πιεξνθνξηψλ γηα ηνπο ηειενπηηθνχο ζηαζκνχο, νχηε θαη ε δπλαηφηεηα ελεκέξσζεο ησλ ζπζηεκάησλ γηα ηελ παξνπζία 13 Terrestrial Integrated Services Digital Broadcasting

36 αδεηνδνηεκέλσλ θαλαιηψλ, ε επέθηαζε ησλ ηερληθψλ εληνπηζκνχ 14, θαληάδεη ε πην επέιηθηε ιχζε. 14 Δηδηθφηεξα επηζεκαίλεηαη ε αλάγθε επέθηαζεο ησλ ηερληθψλ εληνπηζκνχ ησλ θπθινζηαηηθψλ ραξαθηεξηζηηθψλ ελφο ζήκαηνο. πλεπψο, αλακέλεηαη λα βειηησζεί ε ιεηηνπξγία ηνπ fine sensing, ιακβάλνληαο ππφςε θαη άιινπο ηχπνπο ζεκάησλ.

37 Γηα ηελ πξνζνκνίσζε ηεο ιεηηνπξγίαο ησλ δηθηχσλ, φπσο νξίδεη ην πξφηππν , ρξεζηκνπνηείηαη ν ns-2. Ο ns-2 αλαπηχρζεθε απφ ην Παλεπηζηήκην ηνπ Berkeley θαη απνηειεί έλαλ απφ ηνπο πην δεκνθηιείο πξνζνκνησηέο δηθηχσλ, παξέρνληαο ηε δπλαηφηεηα πξνζνκνίσζεο δηαθφξσλ ηχπσλ ΗΡ δηθηχσλ. Έλα απφ ηα βαζηθά ζηνηρεία πνπ ηνλ θαζηζηνχλ επξέσο δηαδεδνκέλν ζηελ εξεπλεηηθή θνηλφηεηα απνηειεί θαη ε «αλνηρηή» θηινζνθία πνπ πηνζεηεί: είλαη πξνζνκνησηήο αλνηρηνχ θψδηθα, δίλνληαο ηε δπλαηφηεηα ζε νπνηνλδήπνηε ρξήζηε λα αιιάμεη ηνλ θψδηθα γηα λα πινπνηήζεη δηάθνξεο ιεηηνπξγίεο ή θαη αθφκα λα επεθηείλεη ηε ιεηηνπξγηθφηεηά ηνπ, φπσο ηζρχεη θαη ζηελ παξνχζα δηπισκαηηθή εξγαζία. Γελ είλαη ηπραίν πσο αξθεηέο εξεπλεηηθέο νκάδεο έρνπλ αλαπηχμεη επηπιένλ ηκήκαηα θψδηθα (modules) κε ζπγθεθξηκέλεο ιεηηνπξγίεο νη νπνίεο ελζσκαηψλνληαη ζε κεηαγελέζηεξεο εθδφζεηο ηνπ ns-2. Αλήθεη ζηελ θαηεγνξία ησλ πξνζνκνησηψλ θαηεπζπλφκελσλ απφ ηα γεγνλφηα (event-driven simulations 15 ) [20]. Αλάκεζα ζηηο ιεηηνπξγίεο ηνπ ns-2 πεξηιακβάλνληαη: Τινπνίεζε πξσηφθνιισλ δηθηχνπ, φπσο ην TCP θαη ην UDP Πξνζνκνίσζε θπθινθνξίαο, φπσο FTP, ζηαζεξνχ ξπζκνχ δεδνκέλσλ, Telnet, θ.α. Μεραληζκνχο δηαρείξηζεο νπξάο (φπσο DropTail) Ο ns-2 έρεη πινπνηεζεί ζε δπν γιψζζεο, ηε C++ θαη ηελ OTcl, κηα script γιψζζα πνπ απνηειεί επέθηαζε ηεο γιψζζαο tcl πξνζδίδνληάο ηεο αληηθεηκελνζηξέθεηα. Με ηε C++ νξίδνληαη νη εζσηεξηθνί κεραληζκνί ηεο πξνζνκνίσζεο, φπσο νη ιεηηνπξγίεο ησλ επηπέδσλ ζε έλα δίθηπν (π.ρ. ην επίπεδν MAC θαη ην θπζηθφ επίπεδν, φπσο ζα αλαιπζεί ζηε ζπλέρεηα). Αληίζεηα, ε γιψζζα OTcl ρξεζηκνπνηείηαη γηα ηελ παξακεηξνπνίεζε θαη ηελ εθηέιεζε ηνπ ζελαξίνπ πξνζνκνίσζεο, νξίδνληαο ηα ραξαθηεξηζηηθά ηνπ δηθηχνπ, φπσο ηελ ηνπνινγία ηνπ, ην πξσηφθνιιν δξνκνιφγεζεο πνπ ζα εθαξκνζηεί, θ.α. Ζ αξρηηεθηνληθή ηνπ ns-2 παξηζηάλεηαη ζηελ παξαθάησ εηθφλα. Όπσο δηαπηζηψλεηαη, ν πξνζνκνησηήο είλαη 15 Event-driven simulation: Ζ πξνζνκνίσζε εθηειείηαη κε βάζε κηα αθνινπζία γεγνλφησλ, ηα νπνία αλαλεψλνληαη θαηά ηε δηαδηθαζία ηεο πξνζνκνίσζεο. Οπζηαζηηθά, θαηά ηελ πξνζνκνίσζε, γίλεηαη κεηάβαζε απφ ην έλα γεγνλφο ζην άιιν, ζε αληίζεζε κε ηελ άιιε κεγάιε θαηεγνξία πξνζνκνησηψλ δηθηχνπ (time-driven simulation) ζηελ νπνία πξαγκαηνπνηείηαη κεηάβαζε απφ ην έλα ρξνληθφ δηάζηεκα ζην άιιν.

38 ρσξηζκέλνο ζε δπν ηκήκαηα: ην έλα ηκήκα πνπ πινπνηεί ηε δηαζχλδεζε κε ην ρξήζηε θαη είλαη γξακκέλν ζε OTcl θαη ην ππφινηπν πνπ είλαη γξακκέλν ζε C++, ραξίδνληαο ηελ απαηηνχκελε ηαρχηεηα. ηελ εηθφλα παξαηεξείηαη ε ζχλδεζε ησλ κεηαθξαζκέλσλ αληηθεηκέλσλ ηεο C++ κε ηα αληηθείκελα OTcl κέζσ κηαο ζχλδεζεο OTcl (OTcl linkage απεηθνλίδεηαη σο TclCl ζηελ εηθφλα), ε νπνία αληηζηνηρίδεη ηηο ζπλαξηήζεηο θαη ηηο κεηαβιεηέο πνπ έρνπλ νξηζηεί ζε C++ αληηθείκελα κε ζηηγκηαίεο ζπλαξηήζεηο θαη κεηαβιεηέο ελφο αληίζηνηρνπ OTcl αληηθεηκέλνπ. Με απηφλ ηνλ ηξφπν, ν ρξήζηεο κπνξεί λα απνθηήζεη ηνλ έιεγρν ησλ C++ αληηθεηκέλσλ κέζσ ηεο OTcl, ρσξίο λα είλαη ππνρξεσκέλνο λα γλσξίδεη ηηο εζσηεξηθέο δνκέο θαη ηηο ιεηηνπξγίεο ηνπο, φπσο απηέο έρνπλ νξηζηεί ζηε C++ [21]. Γηα κεγαιχηεξε ηαρχηεηα θαη επθνιία ρξεζηκνπνηείηαη ε OTcl γηα ηελ παξακεηξνπνίεζε ελφο πξνβιήκαηνο ζελαξίνπ. πλεπψο, ε πεξηγξαθή ηεο πξνζνκνίσζεο γίλεηαη κε ηελ OTcl, κε ηα αξρεία πνπ είλαη γξακκέλα ζε OTcl λα απνηεινχλ ηα Tcl scripts. Αθνχ έρεη δεκηνπξγεζεί ην tcl script, ε εθθίλεζε ηνπ ns γίλεηαη κε ηελ εληνιή: ns <tclscript> Αθνχ νινθιεξσζεί ε πξνζνκνίσζε, ν ns δεκηνπξγεί αξρεία (trace files) ηα νπνία παξέρνπλ ηα απνηειέζκαηα ηεο πξνζνκνίσζεο. Σα απνηειέζκαηα απηά κπνξνχλ λα ηεζνχλ θαη σο είζνδν ζε άιια εξγαιεία γηα ηε γξαθηθή παξάζηαζή ηνπο, φπσο ην NAM θαη ην XGraph. Γηα ηηο αλάγθεο ηεο δηπισκαηηθήο εξγαζίαο ρξεζηκνπνηείηαη εθηελψο ην NAM (Network AniMator). Σν NAM παξέρεη ηε δπλαηφηεηα γξαθηθήο αλαπαξάζηαζεο πιεξνθνξηψλ, φπσο ην throughput, αιιά θαη ηεο ηνπνινγίαο ελφο δηθηχνπ θαη ηεο αληαιιαγήο ησλ κελπκάησλ κεηαμχ ησλ θφκβσλ ηνπ δηθηχνπ, αλάινγα κε ην επίπεδν ζην νπνίν αλήθνπλ (π.ρ. MAC, δξνκνιφγεζεο) [21][22][23][24]. Πέξα απφ ην NAM, έρνπλ αλαπηπρζεί αξθεηά εξγαιεία απφ δηάθνξεο εξεπλεηηθέο νκάδεο. Γηα ηελ νπηηθή αλαπαξάζηαζε ησλ πξνζνκνηψζεσλ πνπ πξαγκαηνπνηνχληαη, ζηελ παξνχζα εξγαζία ζα ρξεζηκνπνηεζεί επηπιένλ θαη ην εξγαιείν EXAMS [25], πνπ είλαη εηδηθά ζρεδηαζκέλν γηα αλαπαξάζηαζε αζχξκαησλ δηθηχσλ. Ζ παξαπάλσ ιεηηνπξγία ηνπ ns κπνξεί λα γίλεη πεξηζζφηεξν θαηαλνεηή κε έλα παξάδεηγκα. Έζησ δπν αζχξκαηνη θφκβνη νη νπνίνη επηθνηλσλνχλ κεηαμχ ηνπο φπσο θαίλεηαη ζηελ παξαθάησ εηθφλα: Οη θφκβνη απηνί δειψλνληαη ζην tcl script φπσο παξαθάησ:

39 set ns [new Simulator] set node_(0) [$ns node] set node_(1) [$ns node] Απηνκάησο, ηα αληηθείκελα ηχπνπ Node πνπ δεκηνπξγνχληαη ζε OTcl ζπλδένληαη κε ηα αληίζηνηρα κεηαθξαζκέλα (compiled) αληηθείκελα ηχπνπ MobileNode πνπ έρνπλ πινπνηεζεί ζε C++, φπσο θαίλεηαη ζην παξαθάησ ηκήκα θψδηθα: class MobileNode : public Node { friend class PositionHandler; public: MobileNode(); Με απηφλ ηνλ ηξφπν ν ρξήζηεο απνθηά πξφζβαζε ζηα αληίζηνηρα αληηθείκελα ηεο C++ [24]. Ζ έθδνζε ηνπ ns πνπ έρεη ρξεζηκνπνηεζεί είλαη ε Παξφιν πνπ ε έθδνζε απηή δελ είλαη ε πην πξφζθαηε, εμαζθαιίδεη σζηφζν ζπκβαηφηεηα κε έλα απφ ηα επηπιένλ modules πνπ ζα πξνζηεζνχλ γηα ηηο αλάγθεο ηεο δηπισκαηηθήο. Ζ ζπγθεθξηκέλε έθδνζε έρεη εγθαηαζηαζεί θαη ιεηηνπξγεί θαλνληθά, ηφζν ζε πεξηβάιινλ Linux, φζν θαη ζε Cygwin 16. ε απηή ηελ παξάγξαθν ζα αλαιπζεί ην κνληέιν πνπ αθνξά ηα αζχξκαηα δίθηπα θαη ην νπνίν έρεη ελζσκαησζεί ζηνλ ns-2. Πάλσ ζε απηφ ην κνληέιν ζα πξαγκαηνπνηεζνχλ νη απαηηνχκελεο επεθηάζεηο γηα ηελ πινπνίεζε ηνπ Βαζηθφ ζηνηρείν ηνπ κνληέινπ είλαη ν αζχξκαηνο θφκβνο πνπ απνηειεί αληηθείκελν ηεο θιάζεο MobileNode. Μηα κειέηε ηεο ηεξαξρίαο ησλ θιάζεσλ ζηνλ ns δείρλεη πσο ε θιάζε MobileNode θιεξνλνκεί ηηο ηδηφηεηεο ηεο Node (ηνπ θνηλνχ θφκβνπ πνπ ρξεζηκνπνηείηαη ζηα ελζχξκαηα δίθηπα). Χζηφζν, ιφγσ ηεο θχζεο ηεο ρξήζεο ελφο θηλεηνχ θφκβνπ, ππάξρνπλ ζεκαληηθέο δηαθνξέο, φπσο ε δπλαηφηεηα θίλεζεο ηνπ, ε δπλαηφηεηα εθπνκπήο θαη ιήςεο ζεκάησλ απφ θαη πξνο έλα 16 Πεξηβάιινλ πξνζνκνίσζεο ηνπ UNIX/Linux ζε Windows

40 αζχξκαην θαλάιη, αιιά θαη ε απνπζία ελφο ζεκαληηθνχ ζηνηρείνπ, ηνπ Link, ην νπνίν ρξεζηκνπνηείηαη ζηα ελζχξκαηα δίθηπα γηα ηε ζχλδεζε ησλ θφκβσλ κεηαμχ ηνπο. Πξηλ φκσο αλαιπζνχλ ηα βαζηθά ζπζηαηηθά ελφο θηλεηνχ θφκβνπ, ζεσξείηαη ζθφπηκν λα πξνεγεζεί κηα αλαθνξά ζηνλ πξνγξακκαηηζκφ γεγνλφησλ (event scheduling) ηνπ ns. Ο πξνγξακκαηηζκφο γεγνλφησλ ρξεζηκνπνηείηαη θπξίσο γηα ηελ πξνζνκνίσζε ηεο κεηάδνζεο ελόο παθέηνπ (εηζάγνληαο θαη ηελ θαζπζηέξεζε), αιιά θαη γηα ηε ρξήζε ρξνλνκεηξεηώλ (timers). Κάζε γεγνλφο απνηειεί έλα αληηθείκελν ηεο θιάζεο Event. Όπσο γίλεηαη θαη κε ηα πξαγκαηηθά δίθηπα, έηζη θαη ζηνλ ns, ηα γεγνλφηα απνζεθεχνληαη ζε κηα νπξά θαη ηαμηλνκνχληαη κε βάζε ην ρξφλν εθηέιεζήο ηνπο 17. Ο δξνκνινγεηήο γεγνλφησλ δξνκνινγεί θάζε γεγνλφο μερσξηζηά, φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα. Σν γεγνλφο πνπ βξίζθεηαη ζηελ θνξπθή ηεο νπξάο (head) δξνκνινγείηαη κε απνηέιεζκα λα εθηειείηαη ε handler ηνπ αληίζηνηρνπ αληηθεηκέλνπ (Network Object) ε νπνία δείρλεη ζηε ζπλάξηεζε πνπ πξέπεη λα θιεζεί. Σα δεδνκέλα κεηαθέξνληαη απφ ην έλα αληηθείκελν ζην άιιν, φπνπ κπνξεί λα πξνζηεζεί έλα άιιν γεγνλφο απφ θάπνην άιιν αληηθείκελν. Αθνχ ηα παθέηα είλαη θαη απηά γεγνλφηα, φπσο αλαθέξζεθε, θάζε παθέην είλαη αληηθείκελν ηεο θιάζεο Packet πνπ θιεξνλνκεί κε ηε ζεηξά ηεο ηελ Event. Έηζη, αλ ν θηλεηφο θφκβνο Α επηζπκεί λα ζηείιεη έλα παθέην, ηφηε θαιεί ηε ζπλάξηεζε send. Αληίζηνηρα, ν Β θαιεί ηε recv ζηελ νπνία δείρλεη ε handle, αθφηνπ δξνκνινγεζεί ε απνζηνιή ηνπ παθέηνπ, χζηεξα απφ ρξφλν ίζν κε ηε δηάξθεηα ηεο απνζηνιήο ηνπ παθέηνπ (tx_time). A::send (Packet* p) {target_->recv(p) //target_ is B; call B::recv B::recv(Packet*, Handler* h = 0) {.. Scheduler::instance().schedule(target_, p, tx_time) //target_ is B; schedule the packet at the // time of (current_time + tx_time).. 17 Τπάξρεη εηδηθφ πεδίν time_ πνπ απνζεθεχεη ην ρξφλν δξνκνιφγεζεο ηνπ γεγνλφηνο

41 Έλαο θηλεηφο θφκβνο είλαη ζηελ νπζία κηα ζηνίβα ε νπνία πεξηέρεη ηα ζπζηαηηθά πνπ θαίλνληαη ζην παξαθάησ ζρήκα. Σα ζπζηαηηθά απηά είλαη ην θαλάιη (Channel), ε δηεπαθή ηνπ δηθηχνπ (Network Interface), ην κνληέιν δηάδνζεο ηνπ ζήκαηνο (Radio Propagation Model), ηα MAC πξσηφθνιια (MAC protocols), ε νπξά (Interface Queue), ην επίπεδν ζχλδεζεο (Link Layer) θαη ην πξσηφθνιιν επίιπζεο δηεπζχλζεσλ (Address Resolution Protocol). ηε ζπλέρεηα, αλαπηχζζεηαη ζπλνπηηθά ε ιεηηνπξγία θάζε ζπζηαηηθνχ. Ο νξηζκφο ηεο θιάζεο Channel βξίζθεηαη ζην αξρείν channel.cc. Ο ξφινο ηνπ Channel είλαη ε παξάδνζε φισλ ησλ παθέησλ πνπ ζηέιλνληαη απφ έλαλ θηλεηφ θφκβν ζε φινπο ηνπο γεηηνληθνχο θφκβνπο πνπ βξίζθνληαη εληόο ηεο εκβέιεηαο ιεηηνπξγίαο ηνπ. Γηα απηφ ην ιφγν έρεη ηεζεί έλα εηδηθφ πεδίν ζηα παθέηα, ην txinfo πνπ πεξηέρεη πιεξνθνξίεο πνπ

42 αθνξνχλ ην παθέην, πξνθεηκέλνπ λα δηαπηζηψζεη ν παξαιήπηεο αλ ιακβάλεη ζσζηά ην παθέην. Ζ εηζαγσγή ησλ πιεξνθνξηψλ γίλεηαη κε ηελ παξαθάησ δήισζε θψδηθα: p->txinfo_.stamp((mobilenode *)node(), ant->copy(), Pt_, lambda_), όπου node(): δείρλεη ζηνλ θφκβν απνζηνιέα ant->copy(): παξάκεηξνη πνπ αθνξνχλ ηελ θεξαία Pt_: ε ηζρχο εθπνκπήο lambda_: ην κήθνο θχκαηνο Βάζεη ησλ παξαπάλσ πιεξνθνξηψλ, ν θφκβνο παξαιήπηεο ππνινγίδεη ηε ιακβαλφκελε ηζρχ. Ο ππνινγηζκφο ηνπ εχξνπο ιεηηνπξγίαο ηνπ απνζηνιέα γίλεηαη κε ηε ζπλάξηεζε getdist, ιακβάλνληαο ππφςε ην κήθνο θχκαηνο, ηελ ηζρχ εθπνκπήο, ην θαηψθιη εληνπηζκνχ (Carrier Sense Threshold), ην χςνο ηεο θεξαίαο, θ.α. Σν εχξνο απνζεθεχεηαη ζηε κεηαβιεηή distcst_. Απφ ηελ θιάζε Channel πξνέξρεηαη ε WirelessChannel, πνπ πξνζνκνηψλεη ηε ιεηηνπξγία ηνπ αζχξκαηνπ θαλαιηνχ. Σν ηκήκα NetIF (Network Interface) πξνζνκνηψλεη ηε ιεηηνπξγία ηνπ πιηθνχ (hardware) πνπ ρξεζηκνπνηείηαη απφ έλαλ θφκβν γηα λα απνθηήζεη πξφζβαζε ζην θαλάιη. Τινπνηεί νπζηαζηηθά ην θπζηθφ επίπεδν. Σν ηκήκα απηφ πινπνηείηαη κε ηελ θιάζε WirelessPhy (αξρεία phy.cc θαη wireless_phy.cc). Κάζε θφκβνο παξαιήπηεο ιακβάλεη ηα παθέηα πνπ κεηαδίδνληαη απφ ηα network interfaces ησλ θφκβσλ απνζηνιέσλ ζην θαλάιη. Όπσο θαίλεηαη θαη ζηε δνκή ηνπ mobile node, ε απνζηνιή ελφο παθέηνπ απφ απηφ ην ηκήκα γίλεηαη θαιψληαο ηε ζπλάξηεζε recv ηνπ ακέζσο επφκελνπ επηπέδνπ, δειαδή ηνπ channel (channel_->recv(p, this)). Αληίζεηα, ε ιήςε έρεη πην ζχλζεηε ιεηηνπξγία. Όπσο θαη κε ην Channel, έηζη θαη ζε απηφ ην ηκήκα, ην παθέην πεξηέρεη πιεξνθνξίεο νη νπνίεο ρξεζηκνπνηνχληαη απφ ην network interface ηνπ παξαιήπηε γηα λα δηαπηζηψζεη αλ ην παθέην έρεη ηελ ειάρηζηε ελέξγεηα γηα λα αληρλεπζεί (CSThreshold_) ή ηελ ειάρηζηε ελέξγεηα γηα λα ιεθζεί θαλνληθά (RXThresh_) [31].

43 Όπσο θαίλεηαη θαη ζηελ παξαπάλσ εηθφλα, αλ ε ελέξγεηα ηνπ παθέηνπ πνπ ιακβάλεηαη 18 είλαη κηθξφηεξε απφ ην CSThresh_, ηφηε δελ αληρλεχεηαη απφ ηνλ θφκβν παξαιήπηε. Αλ ε ελέξγεηα ηνπ φκσο μεπεξλά ηελ ειάρηζηε δπλαηή γηα ηε ιήςε ηνπ παθέηνπ, ηφηε ην παθέην ιακβάλεηαη θαλνληθά ρσξίο ιάζε. Αληίζεηα, αλ γηα ηελ ελέξγεηα Pr ηζρχεη CSThresh_ Pr < RxThresh_, ηφηε ην παθέην κπνξεί λα εληνπηζηεί, αιιά ε ελέξγεηά ηνπ δελ είλαη αξθεηή γηα λα ιεθζεί θαλνληθά. Οη παξαπάλσ ζπλζήθεο απνηεινχλ θνκκάηη ηεο ζπλάξηεζεο recv ηεο θιάζεο WirelessPhy. Πξνζνκνηψλεη ην MAC επίπεδν ηνπ κνληέινπ OSI. ε απηφ ην επίπεδν ζα πινπνηεζεί θαη ην κεγαιχηεξν ηκήκα ηεο ιεηηνπξγηθφηεηαο ηνπ Αλάινγα κε ηνλ ηχπν ηνπ θπζηθνχ επηπέδνπ, ην επίπεδν MAC ζα πξέπεη λα ελζσκαηψλεη έλα ζχλνιν ιεηηνπξγηψλ, φπσο έιεγρνο ζπγθξνχζεσλ (collision), αθξφαζε θέξνληνο (carrier sense), θ.α. Γηα ηελ απνζηνιή ην MAC ζα πξέπεη λα έρεη αθνινπζήζεη πξνεγνπκέλσο έλα ζπγθεθξηκέλν πξσηφθνιιν πξφζβαζεο ζην κέζν, ελψ γηα ηε ιήςε ην παθέην κεηαθέξεηαη ζην link layer επίπεδν. Σν επίπεδν απηφ ελζσκαηψλεη αξθεηέο ιεηηνπξγίεο, φπσο ε δεκηνπξγία νπξάο. Σν Link Layer ζηνλ ns δηαρσξίδεηαη ζε δπν ηκήκαηα: ην Queue θαη ην LL. Σν Queue δηαρεηξίδεηαη ηελ νπξά κε ηνλ πην ζπλεζηζκέλν ηχπν νπξάο λα είλαη ν PriQueue, ζηνλ νπνίν δίλεηαη πξνηεξαηφηεηα ζε παθέην πξσηνθφιινπ δξνκνιφγεζεο. Σν LL πινπνηεί θάπνην ζπγθεθξηκέλν πξσηφθνιιν κεηαγσγήο δεδνκέλσλ (data link), φπσο ην ARQ. ηνλ ns-2 πινπνηνχληαη αξθεηά κνληέια δηάδνζεο (propagation model), φπσο ην κνληέιν ειεχζεξεο δηάδνζεο ζην ρψξν (Free Space) θαη ην κνληέιν δηάδνζεο εδάθνπο δπν αθηηλψλ (Two Ray Ground). Σν Free Space κνληέιν ρξεζηκνπνηείηαη γηα λα πξνζνκνηψζεη ηελ εμαζζέληζε ηνπ ζήκαηνο φηαλ ππάξρεη νπηηθή επαθή (line-of-sight) κεηαμχ ηνπ απνζηνιέα θαη ηνπ παξαιήπηε, ελψ ην Two Ray Ground πξνζνκνηψλεη επηπξφζζεηα θαη ηηο αλαθιάζεηο απφ ην έδαθνο. ηελ παξνχζα εξγαζία ζα ρξεζηκνπνηεζεί ην Two Ray Ground κνληέιν [26][27][28][29][30]. Με βάζε ηηο παξαπάλσ πεξηγξαθέο, ζηηο πξνζνκνηψζεηο πνπ πξαγκαηνπνηνχληαη ν θηλεηφο θφκβνο παξακεηξνπνηείηαη φπσο παξαθάησ: set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_22 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model $ns node-config -lltype $val(ll) \ -mactype $val(mac) \ -ifqtype $val(ifq) \ -anttype $val(ant) \ -proptype $val(prop) \ -phytype $val(netif) \ 18 Τπνινγίδεηαη κε ηελ εληνιή Pr = propagation_->pr(&p->txinfo_, &s, this)

44 Πνιχ ζεκαληηθή γηα ηελ πξνζνκνίσζε είλαη ε ηνπνγξαθία, δειαδή ε πξνζνκνίσζε ηνπ ρψξνπ ζηνλ νπνίν είλαη δηεζπαξκέλνη νη θφκβνη ελφο δηθηχνπ. Γηα ηηο αλάγθεο ησλ πξνζνκνηψζεσλ, ζεσξείηαη φηη φινη νη θφκβνη ηνπ δηθηχνπ βξίζθνληαη ζε έλαλ επίπεδν ρψξν (flat grid), απνπζία εκπνδίσλ. Ο νξηζκφο απηήο ηεο ηνπνγξαθίαο πξαγκαηνπνηείηαη κε ηελ ρξήζε ηεο παξαθάησ δήισζεο ζην αξρείν tcl. Λεπηνκέξεηεο πνπ αθνξνχλ ηε ζέζε ησλ θφκβσλ ζην ρψξν ζα δνζνχλ αξγφηεξα ζηελ πεξηγξαθή ησλ ζελαξίσλ. Σν ζύλνιν ησλ δειώζεσλ πνπ ρξεηάδνληαη γηα ηνλ νξηζκό ηεο ηνπνγξαθίαο ζην αξρείν tcl set val(x) 25000; # X dimension of topography set val(y) 25000; # Y dimension of topography set topo [new Topography] $topo load_flatgrid $val(x) $val(y) ην παξαπάλσ παξάδεηγκα νξίδεηαη έλαο ηεηξάγσλνο επίπεδνο ρψξνο πιεπξάο 25 ρηιηνκέηξσλ. Ζ ρξήζε αζχξκαηεο επηθνηλσλίαο ζε έλα δίθηπν θαηά ηελ πξνζνκνίσζε απαηηεί θαη ηνλ νξηζκφ ελφο αληηθεηκέλνπ, ηχπνπ GOD (General Operations Director). Γηα λα νξηζηεί απηφ ην είδνο, ην αληηθείκελν ιακβάλεη ζαλ φξηζκα ηνλ αξηζκό ησλ θόκβσλ πνπ ππάξρνπλ ζην δίθηπν, ελψ ρξεζηκνπνηείηαη γηα ηελ απνζήθεπζε πιεξνθνξηψλ ζρεηηθά κε ηελ ζπλδεζηκφηεηα ζηελ ηνπνινγία. Ο νξηζκφο ηνπ θαίλεηαη παξαθάησ: Οξηζκόο ηνπ αληηθεηκέλνπ GOD set val(nn) 3 ;# number of nodes in the simulation create-god $val(nn) εκαληηθή γηα ηε δηαπίζησζε ηεο ζσζηήο ιεηηνπξγίαο θαη ηελ γεληθφηεξεο ζπκπεξηθνξάο ησλ θφκβσλ θαηά ηελ πξνζνκνίσζε κπνξεί λα απνβεί θαη ε δπλαηφηεηα πνπ έρεη ν ns-2 θαηαγξαθήο ηνπ ζπλφινπ ή επηιεγκέλσλ γεγνλφησλ πνπ ζπκβαίλνπλ ζην δίθηπν θαηά ηελ δηάξθεηα ηεο πξνζνκνίσζεο. Ζ θαηαγξαθή πξαγκαηνπνηείηαη ζε έλα ή πεξηζζφηεξα αξρεία, ηα νπνία δεκηνπξγνχληαη κέζσ θαηάιιεισλ tcl εληνιψλ, φπσο ζα πεξηγξαθεί παξαθάησ. Έλα απφ ηα αξρεία πνπ δεκηνπξγνχληαη 19 ρξεζηκνπνηείηαη γηα ηελ νπηηθνπνίεζε ηεο πξνζνκνίσζεο κε ρξήζε ηνπ εξγαιείνπ nam (Network Animator). Ζ δπλαηφηεηα απηή ελεξγνπνηείηαη κε ηελ πξνζζήθε θαηάιιεισλ δειψζεσλ πνπ γίλνληαη ζην αξρείν tcl, δειψζεηο πνπ θαηαλέκνληαη ζε ηξεηο θάζεηο. Αξρηθά, δειψλεηαη ην αξρείν πνπ ζα ρξεζηκνπνηεζεί γηα ηελ απνζήθεπζε ησλ πιεξνθνξηψλ θαη ηα δηθαηψκαηα κε ηα νπνία ζα αλνηρζεί απηφ. ηε ζπλέρεηα, νξίδνληαη ηα γεγνλφηα πνπ ζα θαηαγξάθνληαη ζε απηφ ην αξρείν θαη ηέινο ηα αξρεία θιείλνπλ, ζεκαηνδνηψληαο ηνλ ηεξκαηηζκφ ηεο δηαδηθαζίαο ηεο θαηαγξαθήο. ην παξαθάησ ηκήκα θψδηθα θαίλνληαη νη ηξεηο θάζεηο πνπ πξναλαθέξζεθαλ. 19 πλήζσο ηέηνηνπ είδνο αξρεία έρνπλ ηελ θαηάιεμε.nam

45 Καηαγξαθή δεδνκέλσλ ζε αξρεία από ηνλ ns-2, όπσο απηή πξαγκαηνπνηείηαη ζε ηξεηο θάζεηο (α, β, γ) set tracefd [open simple.tr w] set namtrace [open simple.nam w](α) $ns trace-all $tracefd $ns namtrace-all-wireless $namtrace $val(x) $val(y)(β) $ns at $val(stop) "stop" proc stop { { global ns tracefd namtrace $ns flush-trace close $tracefd close $namtrace (γ) ην ηκήκα (α) νξίδνληαη ηα αξρεία πνπ ζα ρξεζηκνπνηεζνχλ, κε ην namtrace λα ρξεζηκνπνηείηαη γηα νπηηθνπνίεζε κε ην εξγαιείν nam. ην ηκήκα (β) ε δήισζε namtraceall-wireless ππνδειψλεη ηελ πξνζνκνίσζε αζχξκαηεο επηθνηλσλίαο, ηξνπνπνηψληαο θαηάιιεια ην nam αξρείν. Σέινο, ζην ηκήκα (γ) κε ηε ξνπηίλα stop απνζεθεχνληαη ζηα αξρεία φιεο νη πιεξνθνξίεο πνπ είλαη ζρεηηθέο κε ηελ αλίρλεπζε ησλ γεγνλφησλ ($ns flush-trace). Αμίδεη λα ζεκεησζεί πσο γηα λα είλαη εθηθηή ε απεηθφληζε ηνπ θάζε θφκβνπ ζην εξγαιείν nam, πξνζηίζεηαη θαη κηα επηπιένλ δήισζε θαηά ηνλ νξηζκφ ηνπ, ε νπνία είλαη ε $ns initial_node_pos $node 20.

46 Γηα ηελ πινπνίεζε ηνπ πξνηχπνπ ζηνλ ns-2, θξίζεθε απαξαίηεην λα αλαιπζεί ε ιεηηνπξγία δηάθνξσλ modules, ησλ νπνίσλ ηα ραξαθηεξηζηηθά ηνπο είλαη ρξήζηκα θαη κπνξνχλ λα εθαξκνζηνχλ γηα ηηο αλάγθεο ηεο δηπισκαηηθήο. Όπσο έρεη αλαιπζεί, ν ζρεδηαζκφο ηνπ βαζίζηεθε πάλσ ζην , ζην νπνίν έρνπλ πξαγκαηνπνηεζεί νη απαξαίηεηεο αιιαγέο θαη πξνεθηάζεηο. πλεπψο, έλα ζεκαληηθφ βήκα απνηειεί ε εχξεζε θαη ε αλάιπζε ηεο ιεηηνπξγίαο ελόο module ζην νπνίν είλαη πινπνηεκέλν ην Έλα άιιν ζεκαληηθφ δήηεκα είλαη θαη ε ιεηηνπξγία ηνπ module ζε πνιιαπιά θαλάιηα. Ζ ρξήζε πνιιψλ θαλαιηψλ απφ θάπνηνλ θφκβν δελ είλαη πινπνηεκέλε ζηνλ ns, αιιά κπνξεί λα ππνζηεξηρζεί κε ηελ εγθαηάζηαζε θαηάιιεισλ modules. Σα modules πνπ έρνπλ κειεηεζεί θαη κπνξνχλ λα ρξεζηκνπνηεζνχλ, ζπγθεληξψλνπλ έλα απφ ηα παξαθάησ ραξαθηεξηζηηθά: πινπνίεζε ηνπ κε ην θπζηθφ επίπεδν λα είλαη OFDMA, κνξθή πνπ αθνινπζείηαη θαη απφ ην δπλαηφηεηα κεηάδνζεο ζε δηαθνξεηηθέο ζπρλόηεηεο/θαλάιηα ην θεθάιαην απηφ ζα αλαιπζεί ε βαζηθή ιεηηνπξγία ησλ modules πάλσ ζηα νπνία έρεη βαζηζηεί ε αλάπηπμε ηνπ , ε νπνία αθνξά ηελ πξνζνκνίσζε ελόο πεξηβάιινληνο κε πνιιαπιά θαλάιηα ιεηηνπξγίαο, πνπ απνηειεί θαη ηε βαζηθή αξρή ηνπ cognitive radio. Δλδηαθέξνλ παξνπζηάδεη ε πξψηε δεκνζηεπκέλε πινπνίεζε ζην δηαδίθηπν απφ ηνπο J. Zhong θαη J.Li ελφο module ζρεηηθά κε ηελ πξνζνκνίσζε ηεο ιεηηνπξγίαο ελφο ζπζηήκαηνο cognitive radio ζηνλ ns [34]. Σν θπζηθφ επίπεδν είλαη θαηάιιεια ζρεδηαζκέλν, έηζη ψζηε λα ππνζηεξίδεηαη ε ιεηηνπξγία πνιιψλ θεξαηψλ θαη πνιιαπιψλ θαλαιηψλ. Έλαο θφκβνο έρεη ηε

47 δπλαηφηεηα ηαπηφρξνλεο κεηάδνζεο ζε πνιιαπιά θαλάιηα κέζσ ησλ δηαθνξεηηθψλ θεξαηψλ πνπ δηαζέηεη. ηελ πεξίπησζε ηνπ , ε πινπνίεζε πνπ αλαδεηείηαη είλαη πην απιή, θαζψο αξθεί έλαο θφκβνο λα δηαζέηεη κηα θεξαία ε νπνία λα ζπληνλίδεηαη ζε δηαθνξεηηθέο ζπρλόηεηεο αλαδεηψληαο ειεχζεξα θαλάιηα. ην cognitive radio module, ε πνιπθάλαιε κεηάδνζε πινπνηείηαη κε ηε δεκηνπξγία πνιιαπιώλ αληηθεηκέλσλ θαλαιηώλ (channel), φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα. Κάζε θφκβνο δηαζέηεη κηα θεξαία/δηεπαθή δηθηχνπ (έλα αληηθείκελν network interface φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα) κε ηελ νπνία γίλεηαη ε κεηάβαζε ζε δηαθνξεηηθφ αληηθείκελν θαλαιηνχ, αιιάδνληαο κε απηφλ ηνλ ηξφπν ζπρλφηεηα ιεηηνπξγίαο θαηά ηε δηάξθεηα ηεο πξνζνκνίσζεο. ηελ παξαθάησ εηθφλα παξηζηάλεηαη ε παξαιιαγκέλε δνκή ηνπ ns-2 κεηά απφ ηελ εγθαηάζηαζε ηνπ module, ζηελ πεξίπησζε ρξήζεο κηαο θεξαίαο απφ θάζε θφκβν θαη ιεηηνπξγίαο ζε πνιιέο δηαθνξεηηθέο ζπρλφηεηεο (single-radio multi-channel networks): Παξφιν πνπ ε ιεηηνπξγία ηνπ module ζα κπνξνχζε λα ρξεζηκνπνηεζεί ζε πξψηε θάζε γηα ηελ πινπνίεζε ηνπ , βαζηθά ραξαθηεξηζηηθά ηνπ αθνινπζνχλ δηαθνξεηηθή πινπνίεζε απφ ηελ επηζπκεηή, θαζηζηψληαο δχζθνιε ηελ εθαξκνγή ηνπ. Χζηφζν, ε κειέηε ηνπ κπνξεί λα απνβεί ηδηαίηεξα ρξήζηκε ζηελ πεξαηηέξσ θαηαλφεζε ηεο ιεηηνπξγίαο ηνπ ns θαη ζηελ πηνζέηεζε ηδεψλ γηα ηε δνκή πνπ ζα αθνινπζεζεί φζνλ αθνξά ηελ πξνζνκνίσζε ηνπ Έλα ζεκαληηθφ ραξαθηεξηζηηθφ ηνπ module απνηειεί ε πξνζζήθε ηεο δπλαηόηεηαο ηεο πνιπθάλαιεο κεηάδνζεο θαη γηα ηα ππάξρνληα πξσηφθνιια ηνπ ns, ρσξίο λα πξαγκαηνπνηεζεί νπνηαδήπνηε αιιαγή ζηα πινπνηεκέλα πξσηφθνιια. Ζ δήισζε ηεο πνιπθάλαιεο κεηάδνζεο πξαγκαηνπνηείηαη κέζσ ηνπ tcl αξρείνπ, ζην νπνίν πεξηγξάθεηαη ην

48 ζελάξην πξνζνκνίσζεο, νξίδνληαο ηνλ αξηζκό ησλ θαλαιηώλ πνπ ζα ρξεζηκνπνηνχληαη απφ ην δίθηπν θαη δειψλνληαο ηα αληίζηνηρα αληηθείκελα θαλαιηώλ, φπσο θαίλεηαη θαη ζην παξαθάησ ηκήκα θψδηθα: set val(channum) 2 ;#2 channels available for {set i 0 { $i < $val(channum) {incr i { set chan_($i) [new $val(chan)] ;#new channel objects Οη παξαπάλσ δειψζεηο ηζρχνπλ γηα θάζε θφκβν ηνπ δηθηχνπ, κε ηα αληηθείκελα channel πνπ έρνπλ δεκηνπξγεζεί (βξφγρνο for ηνπ παξαπάλσ θψδηθα) λα πξνζηίζεληαη ζηελ πξνζνκνίσζε, θαηαιήγνληαο ζηε δνκή ηεο παξαπάλσ εηθφλαο. πλεπψο, ε δπλαηφηεηα κεηάδνζεο ζε πνιιαπιά θαλάιηα νινθιεξψλεηαη κε ηηο παξαθάησ πξνζζήθεο ζην tcl αξρείν: $ns_ node-config -adhocrouting $val(rp) \ -ChannelNum $val(channum)\ ;# configure channel number -channel $chan_(0) ;#configure the first channel object for {set i 0 {$i < $val(ni) {incr i { $ns_ add-channel $i $chan_($i) Αμίδεη λα αλαιπζνχλ ηα ηκήκαηα ηνπ θψδηθα c++ ζηνλ ns ζηα νπνία έρνπλ πξαγκαηνπνηεζεί αιιαγέο γηα ηελ πξνζζήθε ηνπ ζπγθεθξηκέλνπ ραξαθηεξηζηηθνχ. ηηο πεξηπηψζεηο δηθηχσλ φπνπ θάζε θφκβνο δηαζέηεη κφλν κηα θεξαία θαη νη κεηαδφζεηο κπνξνχλ λα πξαγκαηνπνηεζνχλ ζε δηαθνξεηηθά θαλάιηα, νη αιιαγέο πνπ έρνπλ πξαγκαηνπνηεζεί απφ ην module αθνξνχλ ηηο θιάζεηο Packet, WirelessPhy θαη Phy ηνπ ns 20. Όπσο έρεη πεξηγξαθεί θαη ζηελ επεμήγεζε ηεο ιεηηνπξγίαο ηνπ ns, γηα ηηο αζχξκαηεο κεηαδφζεηο ρξεζηκνπνηείηαη ε θιάζε Channel, ε νπνία πξνζνκνηψλεη ηε ιεηηνπξγία ηνπ θαλαιηνχ. Καζψο φκσο ρξεζηκνπνηείηαη κφλν έλα θαλάιη, δεκηνπξγείηαη έλαλ κφλν αληηθείκελν channel_ ηχπνπ Channel. Αληίζεηα, ζηελ πεξίπησζε ηνπ cognitive radio module, ην αληηθείκελν channel_ αληηθαζίζηαηαη απφ έλαλ πίλαθα αληηθεηκέλσλ ηχπνπ Channel, θάλνληαο πξάμε ηε δπλαηφηεηα ηεο πνιπθάλαιεο αζχξκαηεο κεηάδνζεο. Ο πίλαθαο απηφο κε ηελ νλνκαζία multichannel, πεξηέρεη ην ζχλνιν ησλ θαλαιηψλ ζηα νπνία κπνξεί λα κεηαδψζεη έλαο θφκβνο, ελψ ν index ηνπ πίλαθα νξίδεη ην θαλάιη πνπ ζα ρξεζηκνπνηεζεί γηα λα πξαγκαηνπνηεζεί ε ζπγθεθξηκέλε κεηάδνζε. Με ηελ πξνζζήθε ελόο επηπιένλ πεδίνπ ζην παθέην, πνπ πεξηέρεη ην θαλάιη ζην νπνίν απνζηέιιεηαη ην παθέην, θάζε θφκβνο κπνξεί λα ελεκεξψλεηαη γηα ην θαλάιη ιεηηνπξγίαο ηνπ θφκβνπ απνζηνιέα απνξξίπηνληαο ην παθέην ζε πεξίπησζε πνπ ην θαλάιη ιεηηνπξγίαο ηνπ είλαη δηαθνξεηηθφ απφ εθείλν ηνπ απνζηνιέα. Ζ ιεηηνπξγία απηή ζα απνβεί ηδηαίηεξα ρξήζηκε θαηά ην ζρεδηαζκφ ελφο λένπ mac επηπέδνπ πνπ έρεη πινπνηεζεί ζην ζπγθεθξηκέλν module θαη ην νπνίν ζα αλαιπζεί αξγφηεξα. Σν λέν πεδίν πνπ πξνζηίζεηαη ζην παθέην, έρεη ηελ νλνκαζία channelindex_, φπσο θαίλεηαη θαη ζην παξαθάησ ηκήκα θψδηθα: Πξνζζήθε επηπιένλ πεδίνπ ζηε δνκή hdr_cmn (αξρείν packet.h) πνπ πεξηέρεη ην θαλάιη ιεηηνπξγίαο struct hdr_cmn { int channelindex_; 20 Οη θιάζεηο Packet, WirelessPhy θαη Phy δειψλνληαη ζηα αξρεία common/packet.{cc, h, mac/wireless-phy.{cc, h θαη mac/phy.{cc, h αληίζηνηρα.

49 Όηαλ έλαο θφκβνο απνζηέιιεη έλα παθέην, νξίδεη ην θαλάιη ζην νπνίν ζα πξαγκαηνπνηεζεί ε απνζηνιή. Δπνκέλσο, κέζσ ηεο channelindex_ επηιέγεηαη ζην επίπεδν WirelessPhy ην θαλάιη απφ ηνλ πίλαθα θαλαιηψλ multichannel ζην νπνίν ζα γίλεη ε απνζηνιή ηνπ παθέηνπ (ζε αληίζεζε κε ην αληηθείκελν channel_ πνπ ρξεζηκνπνηνχηαλ απφ ην ns ζηελ θαλνληθή κεηάδνζε): Δπηινγή θαλαιηνύ ζηελ θιάζε WirelessPhy από έλαλ πίλαθα θαλαιηώλ. ε ζρόιηα θαίλεηαη ε εληνιή πνπ εθηεινύηαλ θαλνληθά από ηνλ ns-2 πξηλ από ηελ εγθαηάζηαζε ηνπ module. void WirelessPhy::sendDown(Packet *p) { // Send the packet //channel_->recv(p, this); //send packet over the channel specified by channel index. multichannel[hdr_cmn::access(p)->channelindex_]->recv(p, this); Πέξα φκσο απφ ηελ πινπνίεζε ηεο πνιπθάλαιεο κεηάδνζεο, ζην module έρνπλ πξνηαζεί θαη νξηζκέλα απιά πξσηφθνιια κε ηα νπνία πξνζνκνηψλεηαη ε ιεηηνπξγία ζπζθεπψλ cognitive radio. ε έλα απφ απηά (κε ηελ νλνκαζία Macng), θάζε θφκβνο ελεκεξψλεηαη πεξηνδηθά γηα ην θαλάιη ιεηηνπξγίαο ησλ ππφινηπσλ θφκβσλ ηνπ δηθηχνπ κε ηε ιήςε παθέησλ ηχπνπ Strategy ηα νπνία πεξηέρνπλ πιεξνθνξίεο γηα ηνλ θφκβν-απνζηνιέα, φπσο ε ζέζε ηνπ, ην θαλάιη ιεηηνπξγίαο ηνπ, θηι. Δπηπιένλ, θάζε θφκβνο επηιέγεη ην θαλάιη ιεηηνπξγίαο ηνπ, εμεηάδνληαο αξρηθά ην θάζκα γηα ηπρφλ αρξεζηκνπνίεηα θαλάιηα θαη επηιέγνληαο ζηε ζπλέρεηα ην πξώην αρξεζηκνπνίεην θαλάιη πνπ ζα εληνπηζηεί. ε πεξίπησζε πνπ φια ηα θαλάιηα είλαη ρξεζηκνπνηεκέλα, ε επηινγή ηνπ θαλαιηνχ γίλεηαη κε θξηηήξην ηελ ειάρηζηε δπλαηή παξεκβνιή. Ζ ειάρηζηε δπλαηή παξεκβνιή κπνξεί λα επηηεπρζεί, απνθεχγνληαο ηα θαλάιηα πνπ ρξεζηκνπνηνχληαη απφ γεηηνληθνχο θφκβνπο, κε ηα πξνηηκφηεξα θαλάιηα λα είλαη απηά πνπ ρξεζηκνπνηνχληαη απφ ηνπο πην καθξηλνχο θφκβνπο. Αληίζεηα, φηαλ έλαο θφκβνο πξφθεηηαη λα απνζηείιεη έλα παθέην, αλαθηά ην θαλάιη ιεηηνπξγίαο ηνπ παξαιήπηε κέζσ ησλ παθέησλ strategy πνπ έρνπλ ιεθζεί θαη ζηε ζπλέρεηα κεηαβαίλεη ζην θαλάιη ιεηηνπξγίαο ηνπ παξαιήπηε γηα λα ζηείιεη ην επηζπκεηφ παθέην. Παξφιν πνπ ην ζπγθεθξηκέλν module πξνζνκνηψλεη ηε ιεηηνπξγία ελφο cognitive radio δηθηχνπ ζηνλ ns, ε απιόηεηα ηεο πινπνίεζήο ηνπ ζην MAC επίπεδν, απνηέιεζε ηξνρνπέδε γηα ηελ εθαξκνγή ηνπ θαη γηα ηελ πεξίπησζε ηνπ Βαζηθή αηηία είλαη ε έιιεηςε δπλαηόηεηαο πξνζνκνίσζεο δηθηύσλ ζεκείνπ πξνο πνιιαπιά ζεκεία (point to multipoint), ζηα νπνία ππάξρεη έλαο ζηαζκφο βάζεο κέζσ ηνπ νπνίνπ γίλεηαη ε επηθνηλσλία κεηαμχ πνιιαπιψλ ζπζθεπψλ πειαηψλ. Σφζν ν ζηαζκφο βάζεο, φζν θαη νη ζπζθεπέο πειαηψλ, πξέπεη λα βξίζθνληαη ζην ίδην θαλάιη ιεηηνπξγίαο 21. Αληίζεηα, ην mac επίπεδν πνπ έρεη πινπνηεζεί, αθνξά κφλν ηελ επηθνηλσλία κεηαμχ δπν θφκβσλ, νη νπνίνη ζπλελλννχληαη, αλεμάξηεηα απφ ηνπο ππφινηπνπο θφκβνπο ηνπ δηθηχνπ, γηα ην θαλάιη ζην νπνίν ζα επηθνηλσλήζνπλ. Χζηφζν, ε πινπνίεζε ηεο πνιπθάλαιεο κεηάδνζεο κε ηε δεκηνπξγία πνιιψλ αληηθεηκέλσλ θαλαιηνχ απνηειεί κηα αμηφπηζηε ιχζε, ε νπνία κπνξεί λα ρξεζηκνπνηεζεί γηα ηελ πξνζνκνίσζε ζην Ζ ιχζε απηή σζηφζν, δελ είλαη θαη ε κνλαδηθή, φπσο ζα δεηρζεί θαη ζηε ζπλέρεηα, κε ηελ αλάιπζε ελφο άιινπ module ζην νπνίν 21 ή ίδηα θαλάιηα ιεηηνπξγίαο

50 πξνηείλεηαη κηα ελαιιαθηηθή πξνζέγγηζε, ε νπνία θαη ζα ρξεζηκνπνηεζεί θαηά θφξνλ γηα ηελ πινπνίεζε ηνπ Σν module πνπ έρεη αλαπηπρζεί απφ ην NIST, απνηειεί κηα επέθηαζε ηεο ιεηηνπξγηθόηεηαο ηνπ πξνηύπνπ πνπ έρεη ήδε πινπνηεζεί γηα ηελ έθδνζε 2.29 ηνπ ns-2 [35]. Πέξα απφ ηνλ εληνπηζκφ θαη ηε δηφξζσζε πξνβιεκάησλ, ηε βειηίσζε ηεο απνδνηηθφηεηαο αιιά θαη ηελ πεξαηηέξσ πξνζζήθε ιεηηνπξγηψλ πνπ ππνζηεξίδνληαη απφ ην , ην module εηζάγεη θαη ηελ έλλνηα ηεο ρξήζεο πνιιαπιώλ θαλαιηώλ. Δηδηθφηεξα, θάζε θηλεηφο θφκβνο (mobile node MN) έρεη ηε δπλαηόηεηα αλαδήηεζεο ηνπ θάζκαηνο, ζε κηα πξνζπάζεηα λα εληνπίζεη θαλάιηα ζηα νπνία βξίζθεηαη έλαο ζηαζκφο βάζεο κε ηνλ νπνίν κπνξεί λα ζπλδεζεί. Όπσο δηαπηζηψλεηαη, ε ιεηηνπξγία απηή είλαη ε αθξηβψο αληίζηξνθε απφ ηε ιεηηνπξγία πνπ πινπνηείηαη ζην : νη θηλεηνί θφκβνη αλαδεηνχλ ην θάζκα γηα αρξεζηκνπνίεηα θαλάιηα ζηα νπνία κεηαβαίλεη φιν ην δίθηπν, αληηκεησπίδνληαο απνηειεζκαηηθά κε απηφ ηνλ ηξφπν ηηο παξεκβνιέο. Δλδηαθέξνλ παξνπζηάδεη ε δηαθνξεηηθή πξνζέγγηζε πνπ αθνινπζείηαη γηα ηελ πξνζνκνίσζε ησλ πνιιψλ θαλαιηψλ ζε αληίζεζε κε ην module ηνπ cognitive radio. Αληί λα ρξεζηκνπνηεζνχλ πνιιά αληηθείκελα θαλαιηνχ, κέζσ ησλ νπνίσλ πξαγκαηνπνηείηαη ε επηθνηλσλία, νη θφκβνη ηνπ αζχξκαηνπ δηθηχνπ ρξεζηκνπνηνχλ έλα αληηθείκελν θαλαιηνύ, ην νπνίν είλαη θνηλφ γηα φινπο, κε ηηο ηξνπνπνηήζεηο λα εκθαλίδνληαη ζην κνληέιν δηάδνζεο. Ζ ζπρλφηεηα ιεηηνπξγίαο ηνπ θφκβνπ ζε επίπεδν MAC θαζνξίδεη αλ ην ιακβαλφκελν παθέην πξέπεη λα ιεθζεί θαλνληθά ή λα απνξξηθζεί. Γη απηφ ην ιφγν ζηελ θιάζε Mac802_11 πξνζηίζεηαη θαη έλα επηπιένλ πεδίν, ην νπνίν αληηζηνηρεί ζην θαλάιη ιεηηνπξγίαο ηνπ θφκβνπ. Κάζε θφκβνο ρξεζηκνπνηεί κηα ζπγθεθξηκέλε ζπρλφηεηα θαη θαη επέθηαζε έλα ζπγθεθξηκέλν θαλάιη απφ ην ζχλνιν ησλ δηαζέζηκσλ θαλαιηψλ, κε απνηέιεζκα λα επηθνηλσλεί κφλν κε ηνπο αληίζηνηρνπο θφκβνπο πνπ βξίζθνληαη ζηελ ίδηα ζπρλφηεηα κε εθείλνλ. Ζ πξνζέγγηζε απηή είλαη θαη απηή πνπ πηνζεηήζεθε γηα ηηο αλάγθεο ηεο δηπισκαηηθήο εξγαζίαο, θαζψο είλαη ηδηαίηεξα απιή θαη πξνζνκνηψλεη ηε ρξήζε πνιιψλ δηαζέζηκσλ θαλαιηψλ, ρσξίο ηελ αλάγθε ρξήζεο πνιιψλ αληηθεηκέλσλ θαλαιηνχ. Ζ αλαιπηηθή πεξηγξαθή ησλ ιεηηνπξγηψλ πνπ ππνζηεξίδνληαη απφ ην module πεξηνξίδεηαη ζηηο ιεηηνπξγίεο εθείλεο πνπ κπνξνχλ λα πηνζεηεζνχλ (ζε θάπνην βαζκφ) γηα ηηο αλάγθεο ηεο δηπισκαηηθήο. Όζνλ αθνξά ηηο ηερληθέο πξνεθηάζεηο ηνπ module, ε πξνζζήθε ηνπ πεδίνπ πνπ πεξηέρεη πιεξνθνξίεο γηα ην θαλάιη ιεηηνπξγίαο ηνπ module πξαγκαηνπνηείηαη ζην επίπεδν MAC (θιάζε Mac802_11) κε ηε κεηαβιεηή channel_, ε νπνία πεξηέρεη ην id ηνπ θαλαιηνύ πνπ ρξεζηκνπνηείηαη απφ ην ζπγθεθξηκέλν θφκβν. Ζ κεηαβιεηή απηή είλαη άκεζα ζπζρεηηδφκελε κε κηα άιιε κεηαβιεηή πνπ ππάξρεη ήδε ζηνλ ns-2 θαη βξίζθεηαη ζε ρακειφηεξν επίπεδν (θιάζε WirelessPhy) θαη ε νπνία πεξηέρεη ηε ζπρλόηεηα ηνπ ζπγθεθξηκέλνπ θαλαιηνύ. Με απηφλ ηνλ ηξφπν επηβεβαηψλεηαη θαη ε αληηζηνηρία πνπ αλαθέξζεθε πξνεγνπκέλσο, ζηελ νπνία θάζε θαλάιη έρεη κνλαδηθή ζπρλόηεηα. Ζ κεηαβιεηή ηεο θιάζεο WirelessPhy κε ηελ νλνκαζία freq_, ρξεζηκνπνηείηαη γηα λα δηαπηζησζεί αλ ν απνζηνιέαο ηνπ παθέηνπ πνπ ιακβάλεηαη απφ έλαλ θφκβν-παξαιήπηε βξίζθεηαη ζηελ ίδηα ζπρλφηεηα ιεηηνπξγίαο κε εθείλνλ. Ζ freq_ πξνζπειαχλεηαη κε ηε ρξήζε ηεο ζπλάξηεζεο getfreq. Αλ ν απνζηνιέαο βξίζθεηαη ζην ίδην θαλάιη κε ηνλ παξαιήπηε, ηφηε ην παθέην ιακβάλεηαη θαλνληθά, δηαθνξεηηθά απνξξίπηεηαη. Ο έιεγρνο απηφο πξαγκαηνπνηείηαη ζηε ζπλάξηεζε sendup ηεο θιάζεο WirelessChannel φπνπ ζπγθξίλνληαη νη κεηαβιεηέο freq_ ησλ δηεπαθψλ δηθηχνπ ηνπ απνζηνιέα θαη φισλ ησλ θφκβσλ πνπ βξίζθνληαη εληφο ηεο εκβέιεηαο ιεηηνπξγίαο ηνπ,

51 πινπνηψληαο κε απηφλ ηνλ ηξφπν ηελ πνιπθάλαιε κεηάδνζε. Οη ππφινηπεο ιεηηνπξγίεο ηεο WirelessChannel παξακέλνπλ ακεηάβιεηεο. Σν ηκήκα θψδηθα πνπ πινπνηεί ηα πεξηγξαθφκελα παξηζηάλεηαη παξαθάησ: Έιεγρνο ζπρλόηεηαο ηνπ απνζηνιέα ηνπ παθέηνπ (wtifp) ζηελ θιάζε WirelessChannel (αξρείν channel.cc). Οη wrifp απνζεθεύεη θάζε θνξά έλαλ από ηνπο ζπλνιηθά επεξεαδόκελνπο θόκβνπο πνπ βξίζθνληαη εληόο ηεο εκβέιεηαο ιεηηνπξγίαο ηνπ απνζηνιέα //NIST: add frequency checking WirelessPhy *wrifp = (WirelessPhy *)rifp; WirelessPhy *wtifp = (WirelessPhy *)tifp; if(wtifp->getfreq()!= wrifp->getfreq()) continue; Σν ζπγθεθξηκέλν ηκήκα θψδηθα έρεη ρξεζηκνπνηεζεί θαη γηα ηηο αλάγθεο ηεο δηπισκαηηθήο. Έλα εξψηεκα πνπ πξνθχπηεη είλαη ν ηξόπνο κε ηνλ νπνίν νξίδεηαη ε ζπρλόηεηα ιεηηνπξγίαο ελφο θφκβνπ ζην ζπγθεθξηκέλν module. Ο νξηζκφο απηφο πξαγκαηνπνηείηαη κέζσ tcl κε ηελ παξαθάησ δήισζε: set channelap $bstation set-channel $channelap1 Ζ αλάζεζε θαλαιηνχ πξαγκαηνπνηείηαη κε ηελ tcl εληνιή set-channel, φπνπ αλαηίζεηαη ζε έλαλ θφκβν (bstation) έλα θαλάιη κε ζπγθεθξηκέλν id (id = 1). Ζ ζπγθεθξηκέλε δήισζε ππξνδνηεί κε ηε ζεηξά ηεο ηελ εθηέιεζε ηεο αληίζηνηρεο ζπλζήθεο ηεο ζπλάξηεζεο command ζην Mac802_11 (αξρείν mac-802_11.cc): Δθηέιεζε ηεο εληνιήο set-channel, κέζσ ηεο αληίζηνηρεο ζπλζήθεο ηεο ζπλάξηεζεο command Mac802_11::command(int argc, const char*const* argv){ else if (strcmp(argv[1], "set-channel") == 0) { Tcl& tcl = Tcl::instance(); channel_ = atoi(argv[2]); tcl.evalf ("%s set-freq %f", netif_->name(), calfreq(channel_)); return TCL_OK; Ζ κεηαβιεηή channel_ απνθηά ηελ ηηκή πνπ έρεη ηεζεί απφ ην tcl αξρείν (ζηελ πεξίπησζε ηνπ παξαδείγκαηνο έρεη ηελ ηηκή 1), ηηκή πνπ απνηειεί θαη ην αλαγλσξηζηηθό ηνπ θαλαιηνύ. Με ηελ θιήζε ηεο tcl.evalf εθηειείηαη ε tcl εληνιή πνπ βξίζθεηαη ζην φξηζκα εηζφδνπ. ηελ πξνθεηκέλε πεξίπησζε, θαιείηαη ε set-freq, ε νπνία ζέηεη ζηε δηθηπαθή επαθή πνπ έρεη νξηζηεί (πξψην φξηζκα πξηλ απφ ηελ set-freq) ζπγθεθξηκέλε ζπρλφηεηα πνπ επηζηξέθεη ε θιήζε ηεο ζπλάξηεζεο calfreq. Ζ calfreq κε βάζε ην αλαγλσξηζηηθφ ηνπ θαλαιηνχ (1 ζην παξάδεηγκα) επηζηξέθεη κηα ζπρλφηεηα πνπ είλαη κνλαδηθή γηα ην ζπγθεθξηκέλν θαλάιη. Ζ calfreq νξίδεηαη ζην module φπσο παξαθάησ:

52 Οξηζκόο ηεο ζπλάξηεζεο calfreq, όπσο πεξηιακβάλεηαη ζην αξρείν mac-802_11.cc //NIST: add channel frequency double Mac802_11::calFreq(int channelid) { const int nbchannel=11; assert (channelid > 0 && channelid <= 11); double channel_freq_[nbchannel]; channel_ = channelid; for(int i=0; i < nbchannel; i++){ channel_freq_[i]= 2.412e e9*i ; return channel_freq_[channelid-1]; Όπσο θαίλεηαη θαη ζηνλ παξαπάλσ θψδηθα, ηα δηαθνξεηηθά θαλάιηα πνπ έρνπλ νξηζηεί είλαη 11. Με βάζε ηνλ αξηζκφ ησλ δηαθνξεηηθψλ θαλαιηψλ, αλαηίζεληαη ζπρλφηεηεο ζην δηάζηεκα [2.412 GHz, *0.005 GHz] = [2.412 GHz, GHz]. Ζ calfreq ζα ρξεζηκνπνηεζεί θαη ζηελ πεξίπησζε ηνπ , κε ηηο ζπρλφηεηεο πνπ αλαηίζεληαη λα αλήθνπλ ζην ηειενπηηθφ θάζκα. Όζν γηα ηελ tcl εληνιή set-freq, ε αλάζεζε ηεο ζπρλφηεηαο ζηε ζπγθεθξηκέλε δηεπαθή γίλεηαη κε ηελ αξρηθνπνίεζε ηεο κεηαβιεηήο freq_ κε ηελ επηζπκεηή ζπρλφηεηα (θαη αληίζηνηρα θαη ηνπ κήθνπο θχκαηνο lambda_), φπσο επηβεβαηψλεηαη θαη απφ ηελ αληίζηνηρε ζπλζήθε ηεο ζπλάξηεζεο command ηεο θιάζεο WirelessPhy: Δθηέιεζε ηεο εληνιήο set-freq κέζσ ηεο αληίζηνηρεο ζπλζήθεο ηεο ζπλάξηεζεο command (αξρείν wireless-phy.cc) int WirelessPhy::command(int argc, const char*const* argv){ /*NIST: add set-freq */ else if (strcmp(argv[1], "set-freq") == 0) { freq_ = atof(argv[2]); lambda_ = SPEED_OF_LIGHT / freq_; return TCL_OK; Με απηφλ ηνλ ηξφπν νξίδεηαη ην θαλάιη ιεηηνπξγίαο γηα θάζε θφκβν ηνπ δηθηχνπ. Ζ δηαδηθαζία επαλαιακβάλεηαη ζην tcl αξρείν νκνίσο θαη γηα ηνπο ππφινηπνπο θφκβνπο ηνπ δηθηχνπ. ην module αθνινπζείηαη κηα απιή δνκή ζηελ νπνία νη θηλεηνί θφκβνη αλαδεηνχλ ην θάζκα γηα ρξεζηκνπνηεκέλα θαλάιηα, δνκή πνπ έρεη πηνζεηεζεί θαη γηα ηελ πινπνίεζε ηνπ Γηα ηελ πιεξέζηεξε θαηαλφεζε ησλ βαζηθψλ ιεηηνπξγηψλ πνπ ζα πξνζνκνησζνχλ γηα ηηο αλάγθεο ηεο δηπισκαηηθήο, απνθηά ηδηαίηεξε ζεκαζία ε αλάιπζε ηνπ ηξφπνπ κε ηνλ νπνίν ειέγρνληαη ηα θαλάιηα γηα ηελ παξνπζία ζηαζκψλ βάζεο. ην module θάζε θφκβνο δε δξα αλεμάξηεηα, φζνλ αθνξά ηελ αλαδήηεζε λέσλ θαλαιηψλ. Αληίζεηα, ζηελ αξρή ηεο πξνζνκνίσζεο θάζε θφκβνο αλαδεηά ηα δηαζέζηκα θαλάιηα, θαη αθνχ βξεη θάπνην ζηαζκφ βάζεο ζε θάπνην θαλάιη, ηφηε ζπλδέεηαη καδί ηνπ. Ζ ζπλάξηεζε πνπ ππξνδνηεί ηελ αλαδήηεζε είλαη ε start_autoscan, ζηελ νπνία γίλεηαη ε αξρηθνπνίεζε δηάθνξσλ παξακέηξσλ, φπσο: ν ρξφλνο παξακνλήο ζε θάζε θαλάιη, ηα θαλάιηα πνπ ζα «ζαξσζνχλ», αιιά θαη ηηο επφκελεο θηλήζεηο πνπ ζα πξέπεη λα πξαγκαηνπνηήζεη ν θηλεηφο θφκβνο αλ εληνπίζεη θάπνηνλ ζηαζκφ βάζεο ζε θάπνην θαλάιη. Οη δπλαηέο ελέξγεηεο πνπ κπνξεί λα

53 αθνινπζεζνχλ είλαη δχν θαη νξίδνληαη ζε κηα εηδηθή δνκή (δνκή Mac802_11_ScanActions) ζην αξρείν mac-802_11.h. πλεπψο, έλαο θηλεηφο θφκβνο κπνξεί: είηε λα ζπλερίζεη ηελ αλαδήηεζε θαη ζηα ππόινηπα θαλάιηα θαη λα επηζηξέςεη ηα απνηειέζκαηα κεηά ηνλ έιεγρν θαη ηνπ ηειεπηαίνπ θαλαιηνχ (ηηκή SCAN_ALL) είηε λα ζηακαηήζεη ηελ αλαδήηεζε ζην πξώην θαλάιη πνπ εληνπηζηεί θάπνηνο ζηαζκφο βάζεο (ηηκή STOP_FIRST). εκαληηθφ ξφιν γηα ηελ πξαγκαηνπνίεζε ηεο αλαδήηεζεο ζην θαζνξηζκέλν θάζκα ιακβάλεη ε ρξήζε ησλ ρξνλνκεηξεηψλ (timers). Κάζε θνξά πνπ κεηαβαίλεη ν θφκβνο ζε έλα θαλάιη, απνζηέιιεη έλα παθέην ηχπνπ probe request. Αλ ζην θαλάιη απηφ βξίζθεηαη θάπνηνο ζηαζκφο βάζεο, ηφηε ν ζηαζκφο βάζεο αθνχ ιάβεη ην παθέην probe request, ζηέιλεη κε ηε ζεηξά ηνπ έλα probe response. Δπνκέλσο, αλ ν θφκβνο ιάβεη κε ηε ζεηξά ηνπ θάπνην παθέην ηχπνπ probe response, ηφηε ζεσξεί πσο ην θαλάιη είλαη θαηεηιεκκέλν απφ θάπνηνλ ζηαζκφ βάζεο. Αλ ζην θαζνξηζκέλν ρξνληθφ δηάζηεκα (scan_status_.req->minchanneltime) δε ιεθζεί θαλέλα παθέην, ηφηε ν θφκβνο ζπλερίδεη ηελ αλαδήηεζή ηνπ ζην επφκελν θαλάιη. Αληίζεηα, αλ κέρξη ηελ εθπλνή ηνπ timer (mintimer) ιεθζεί θάπνην παθέην, ηφηε ζηέιλεη μαλά probe request, αλακέλνληαο ηελ εθπλνή ελφο άιινπ timer κε κεγαιχηεξε ρξνληθή δηάξθεηα, ηνπ maxtimer. Όηαλ εθπλεχζεη θαη ν maxtimer, ηφηε ην θαλάιη ζεσξείηαη ρξεζηκνπνηεκέλν (ε scan_status_.recvd_response είλαη true) θαη ν θφκβνο απνθαζίδεη γηα ηηο ελέξγεηεο πνπ πξέπεη λα αθνινπζεζνχλ ζηε ζπλέρεηα. Με βάζε ηα πξναλαθεξζέληα, πξνθχπηεη ν παξαθάησ θψδηθαο πνπ αληηζηνηρεί ζηηο ζπλαξηήζεηο εθπλνήο ησλ mintimer θαη maxtimer αληίζηνηρα: πλαξηήζεηο expire πνπ εθηεινύληαη όηαλ εθπλένπλ νη mintimer θαη maxtimer αληίζηνηρα (αξρείν mac-802_11.cc) void MinScanTimer::expire(Event *) { if (!(m_->scan_status_.recvd_response)) { //go to next channel m_->nextscan(); else { //we will have to wait max, but resend probe m_->scan_status_.mintimer->resched(m_->scan_status_.req->minchanneltime); m_->sendproberequest(); void MaxScanTimer::expire(Event *) { //go to next channel m_->nextscan (); Ζ boolean κεηαβιεηή scan_status_.recvd_response είλαη απηή πνπ πεξηέρεη ηελ πιεξνθνξία ζρεηηθά κε ην αλ βξίζθεηαη θάπνηνο ζηαζκφο βάζεο ζην θαλάιη πνπ εμεηάδεηαη (ηηκή true) ή φρη (ηηκή false). Ζ ζπλάξηεζε nextscan ελζσκαηψλεη ην κεγαιχηεξν ηκήκα ηεο ιεηηνπξγηθφηεηαο θαζψο είλαη απηή πνπ θαιείηαη επαλαιεπηηθά, φηαλ ν θφκβνο κεηαβαίλεη ζε θάπνην θαλάιη. Δηδηθφηεξα: αλ δελ έρεη ιεθζεί θάπνηα απάληεζε απφ ην ηξέρνλ θαλάιη ζην νπνίν βξίζθεηαη ν θφκβνο ηφηε ε nextscan απνθαζίδεη ηε κεηάβαζε ζην ακέζσο επόκελν θαλάιη αλ έρεη ιεθζεί θάπνην παθέην απφ ην ηξέρνλ θαλάιη ηφηε ε nextscan θαζνξίδεη ηηο επόκελεο ελέξγεηεο αλάινγα κε ηηο παξακέηξνπο πνπ έρνπλ νξηζηεί γηα ηελ αλαδήηεζε. Όπσο έρεη αλαθεξζεί, αλ έρεη νξηζηεί ε STOP_FIRST κέζνδνο, ηφηε ε αλαδήηεζε ηεξκαηίδεηαη ζην ζπγθεθξηκέλν θαλάιη θαη νη timers παχνπλ λα ιεηηνπξγνχλ. Αληίζεηα, αλ έρεη νξηζηεί ε SCAΝ_ALL κέζνδνο, ηφηε ε αλαδήηεζε ζπλερίδεηαη κέρξη λα ειεγρζνχλ

54 φια ηα θαλάιηα, νπφηε θαη φινη νη timers παχνπλ λα ιεηηνπξγνχλ θαη ν θφκβνο επηζηξέθεη ζην αξρηθφ θαλάιη ιεηηνπξγίαο ηνπ. ηελ πεξίπησζε ηεο αλάπηπμεο θψδηθα γηα ην , ηδηαίηεξν ελδηαθέξνλ παξνπζηάδεη ε STOP_FIRST κέζνδνο. Παξαθάησ παξνπζηάδεηαη ν θψδηθαο ηεο nextscan γηα ηηο ζπλζήθεο ειέγρνπ πνπ αθνξνχλ ηελ εθαξκνγή ηεο STOP_FIRST κεζφδνπ: πλάξηεζε nextscan πνπ αθνξά ηε ζπλζήθε ηεξκαηηζκνύ ηεο αλαδήηεζεο όηαλ ιεθζεί θάπνηα απάληεζε θαη ηε ζπλζήθε κεηάβαζεο ζην επόκελν θαλάιη όηαλ δε ιεθζεί θακηά απάληεζε (αξρείν mac-802_11.cc) void Mac802_11::nextScan () { Tcl& tcl = Tcl::instance(); //check if we have more channel to scan if (scan_status_.req->action == STOP_FIRST && scan_status_.recvd_response){ scan_status_.resp->result = SCAN_SUCCESS; if (scan_status_.maxtimer->status()==timer_pending) { scan_status_.maxtimer->cancel(); if (scan_status_.mintimer->status()==timer_pending) { scan_status_.mintimer->cancel();... else if (++scan_status_.scan_index < scan_status_.req->nb_channels) { if (scan_status_.maxtimer->status() == TIMER_PENDING) { scan_status_.maxtimer->cancel(); /*switch channel*/ tcl.evalf ("%s set-freq %f", netif_->name(), calfreq(scan_status_.req->pref_ch[scan_status_.scan_index])); RXThreshold_ = ((WirelessPhy*)netif_)->getRXThresh (); clear_tx_rx(); scan_status_.mintimer->resched (scan_status_.req->minchanneltime); scan_status_.maxtimer->resched (scan_status_.req->maxchanneltime); probetimer_.resched (scan_status_.req->probedelay);... scan_status_.recvd_response=false; ηελ πξψηε ζπλζήθε if, ε αλαδήηεζε ηεξκαηίδεηαη φπσο αλαθέξζεθε πξνεγνπκέλσο, θαζψο ε scan_status_.recvd_response έρεη ηελ ηηκή true, πηζηνπνηψληαο κε απηφλ ηνλ ηξφπν ηε ιήςε ελφο probe response παθέηνπ γηα ην ζπγθεθξηκέλν θαλάιη. ε αληίζεηε πεξίπησζε, ε αλαδήηεζε ζπλερίδεηαη ζην επφκελν θαλάιη, κε ηνλ έιεγρν λα κεηαθέξεηαη ζηε δεχηεξε ζπλζήθε ηνπ παξαπάλσ θψδηθα. Παξαθάησ αλαιχεηαη ε ιεηηνπξγία νξηζκέλσλ κεηαβιεηψλ/ζπλαξηήζεσλ ηεο δεχηεξεο ζπλζήθεο: scan_status_.scan_index: απνζεθεχεη ην ηξέρνλ θαλάιη ζην νπνίν βξίζθεηαη ν θφκβνο θαη ην νπνίν εμεηάδεηαη γηα ηε δηαζεζηκφηεηά ηνπ. Όπσο θαίλεηαη θαη ζηνλ θψδηθα, απμάλεηαη θαηά 1 θάζε θνξά, ππνδειψλνληαο ηε κεηάβαζε ηνπ θφκβνπ ζην ακέζσο επφκελν θαλάιη θαη ηνλ έιεγρφ ηεο δηαζεζηκφηεηάο ηνπ. εκεηψλεηαη πσο ε κεηαβιεηή απηή δελ απνζεθεχεη νχηε ην αλαγλσξηζηηθφ ηνπ θαλαιηνχ (id), νχηε θαη ηε ζπρλφηεηά ηνπ, αιιά ηε ζέζε ηνπ θαλαιηνύ ζηνλ ζπλνιηθό πίλαθα ησλ θαλαιηώλ πνπ ζα ειεγρζνχλ. scan_status_.req->nb_channels: απνηειεί κηα απφ ηηο παξακέηξνπο πνπ ρξεζηκνπνηνχληαη θαη αξρηθνπνηείηαη πξηλ απφ ηελ εθθίλεζε ηεο δηαδηθαζίαο αλαδήηεζεο, απνζεθεχνληαο ην ζπλνιηθφ αξηζκφ ησλ θαλαιηψλ πνπ ζα ειεγρζνχλ απφ ηε nextscan.

55 maxtimer->cancel(): αθνχ δηαπηζησζεί πσο νη timers εμαθνινπζνχλ λα εθηεινχληαη (θαηάζηαζε TIMER_PENDING), παχεη ε ιεηηνπξγία ηνπο, θαζψο ν θφκβνο κεηαβαίλεη ζην ακέζσο επφκελν θαλάιη. Ζ ιεηηνπξγία ηφζν ηνπ mintimer φζν θαη ηνπ maxtimer ζα εθθηλήζεη μαλά φηαλ νινθιεξσζεί ε κεηάβαζε ηνπ θφκβνπ ζην ακέζσο επφκελν θαλάιη. tcl.evalf: έρεη ηνλ ίδην ξφιν κε εθείλνλ πνπ έρεη πεξηγξαθεί πξνεγνπκέλσο, θαιψληαο ηε set-freq γηα ηελ αιιαγή ηνπ θαλαιηνχ. ε απηφ ην ζεκείν, πξαγκαηνπνηείηαη νπζηαζηηθά ε αιιαγή θαλαιηνχ γηα ηνλ θφκβν. Καζψο ε κεηαβιεηή scan_index απνηειεί ζηελ νπζία έλαο index ζηνλ πίλαθα ησλ θαλαιηψλ pref_ch, απνζεθεχνληαο ηε ζέζε ηνπ ηξέρνληνο θαλαιηνχ, ε scan_status_.req- >pref_ch[scan_status_.scan_index] επηζηξέθεη ην αλαγλσξηζηηθφ ηνπ θαλαιηνχ πνπ αληηζηνηρεί ζηε ζπγθεθξηκέλε ζέζε ηνπ πίλαθα. ηε ζπλέρεηα, κε ηελ θιήζε ηεο calfreq, επηζηξέθεηαη ε ζπρλφηεηα ιεηηνπξγίαο ηνπ ζπγθεθξηκέλνπ θαλαιηνχ γηα λα ηεζεί ε ηηκή απηή σο δεχηεξν φξηζκα ζηελ tcl εληνιή set-freq. clear_tx_rx(): κε ηελ θιήζε ηεο ηεξκαηίδνπλ ηε ιεηηνπξγία ηνπο νη timers πνπ εθηεινχληαη εθείλε ηε ζηηγκή θαη αδεηάδεη ην πεξηερφκελν ησλ δεηθηψλ πνπ έρνπλ ζρέζε κε ηε κεηάδνζε. Οη πεξηζζφηεξεο απφ ηηο παξαπάλσ κεηαβιεηέο, φπσο ζα αλαιπζεί θαη ζην επφκελν θεθάιαην, ρξεζηκνπνηνύληαη θαη γηα ηελ πξνζνκνίσζε ηνπ Με ηε ζπλερή θιήζε ηεο ζπλάξηεζεο nextscan απφ ηνπο timers πνπ εθπλένπλ, πξαγκαηνπνηείηαη ν έιεγρνο ηνπ θάζκαηνο. Ζ παξαπάλσ δνκή κπνξεί λα γίλεη πεξηζζφηεξν θαηαλνεηή κε ηε εθαξκνγή ελφο παξαδείγκαηνο. Έζησ έλα ζελάξην πξνζνκνίσζεο πνπ πεξηιακβάλεη έλαλ ζηαζκφ βάζεο (MAC 0) πνπ εθπέκπεη ζην θαλάιη 3 θαη έλαλ θηλεηφ θφκβν (MAC 1). Οξίδνληαο ηνλ θηλεηφ θφκβν λα πξαγκαηνπνηήζεη έιεγρν ηνπ θαλαιηνχ, αξρηθά ειέγρεηαη ην θαλάιη 2, φπνπ δε ιακβάλεηαη θαλέλα παθέην probe response. Όηαλ εθπλεχζεη ν mintimer, ν θφκβνο κεηαβαίλεη ζην επφκελν θαλάιη ιεηηνπξγίαο (ην 3), ζην νπνίν βξίζθεηαη θαη ν ζηαζκφο βάζεο. ε απηή ηελ πεξίπησζε ν θφκβνο ζα ιάβεη έλα παθέην probe response, σο απάληεζε ζηελ απνζηνιή ελφο probe request, ππξνδνηψληαο ηαπηφρξνλα ηελ επαλεθθίλεζε ηνπ mintimer θαη ηελ επαλαπνζηνιή ηνπ παθέηνπ probe request. Ζ δηαδηθαζία απηή επαλαιακβάλεηαη ζπλερψο, κέρξη θαη ηελ εθπλνή ηνπ maxtimer, φπνπ αθνχ επηβεβαησζεί εθ λένπ ε ιήςε ηνπ παθέηνπ probe response κέζα ζηε nextscan, ν θφκβνο παξακέλεη ζην θαλάιη 3, εθθηλψληαο ηε δηαδηθαζία ζχλδεζεο κε ηνλ ζηαζκφ βάζεο. Ζ εθηέιεζε ηνπ module γηα ην ζπγθεθξηκέλν ζελάξην νδεγεί ζηα απνηειέζκαηα πνπ παξηζηάλεη ε παξαθάησ εηθφλα [36][38]:

56 Όπσο αλαθέξζεθε ζηελ παξνπζίαζε ηνπ πξνηχπνπ IEEE , έρνπλ πξνβιεθζεί θάπνηεο πεξίνδνη ζηγήο ηνπ θαλαιηνχ πνπ έρνπλ ζθνπφ ηνλ εληνπηζκό πξσηεπόλησλ ρξεζηώλ, ηφζν ζηα θαλάιηα πνπ ρξεζηκνπνηνχληαη απφ ηα δίθηπα φζν θαη ζηα θαλάιη ηνπ ηειενπηηθνχ θάζκαηνο. Ο κεραληζκφο απηφο κπνξεί λα επεθηαζεί πεξηιακβάλνληαο θαη ηνλ εληνπηζκφ θαη δηθηχσλ πνπ ρξεζηκνπνηνχλ ην ίδην θαλάιη. Οη πεξίνδνη απηέο ηεο ζηγήο είλαη ν γξήγνξνο θαη ν ιεπηνκεξήο έιεγρνο (fast θαη fine sensing). ηελ πεξίπησζε ηνπ γξήγνξνπ ειέγρνπ, πξαγκαηνπνηείηαη εληνπηζκόο ελέξγεηαο ζην θαλάιη. Παξφιν πνπ απηή ε πεξίνδνο ειέγρνπ ελεξγνπνηείηαη ζην επίπεδν MAC, ν εληνπηζκφο ηεο ελέξγεηαο γίλεηαη ζε επίπεδα ρακειφηεξα ηνπ MAC θαη εηδηθφηεξα ζην επίπεδν ηεο δηεπαθήο κε ην θπζηθό κέζν, ην νπνίν πξνζνκνηψλεηαη ζηνλ ns-2 απφ ηελ θιάζε WirelessPhy (αξρεία wireless-phy.{cc.h). πλεπψο, γηα ηελ απνηειεζκαηηθή πξνζνκνίσζε ηεο ζπγθεθξηκέλεο ιεηηνπξγίαο απαηηνχληαη ηξνπνπνηήζεηο ηφζν ζηελ θιάζε WirelessPhy, φζν θαη ζηελ θιάζε Mac802_22. Αξρηθά νη δπν θάζεηο απηέο ηνπ ειέγρνπ νξίζηεθαλ ζε κηα απαξηζκεηή κεηαβιεηή (ScanningPhase), φπσο θαίλεηαη θαη ζην παξαθάησ ηκήκα θψδηθα ηνπ αξρείνπ mac- 802_22.h.

57 Ο νξηζκόο ηεο απαξηζκεηήο κεηαβιεηήο scanningphase όπσο απηή έρεη νξηζηεί ζην αξρείν mac-802_22.h enum ScanningPhase { IDLE = 0, FAST_SENSING = 1, FINE_SENSING = 2, ; Όπσο έρεη πξναλαθεξζεί, ε πεξίνδνο ηνπ γξήγνξνπ ειέγρνπ είλαη κηα πεξίνδνο πνπ μεθηλάεη όηαλ ηειεηώλεη θάζε frame. Γη απηφ θαη ε θπςέιε εηζέξρεηαη ζε απηή ηελ πεξίνδν ειέγρνπ κε εληνιή ηνπ ζηαζκνχ βάζεο φηαλ ηειεηψζεη ε πεξίνδνο ηνπ frame, κε ηε ρξήζε ηνπ ζηηγκηφηππνπ timer (frametimer) ηεο θιάζεο FrameTimer 22 κε ηνλ νπνίν είλαη ζπζρεηηζκέλνο ν ζηαζκφο βάζεο. Δηδηθφηεξα, φηαλ εθπλεχζεη ε πεξίνδνο πνπ έρεη νξηζηεί ζηελ ζπλάξηεζε start ηνπ frametimer, θαιείηαη ε ζπλάξηεζε FrameTimerHandler φπνπ εθθηλεί ε δηαδηθαζία ηνπ fast sensing. Όηαλ ε θπςέιε εηζέξρεηαη ζ απηή ηε θάζε ειέγρνπ ελεκεξψλνληαη φιεο νη ζπζθεπέο πειαηψλ, κέζσ κηαο δνκήο, ηεο NetworkCell, πνπ κπνξεί λα πξνζπειαζηεί ηφζν απφ ην ζηαζκφ βάζεο φζν θαη απφ ηηο ζπζθεπέο πειαηψλ. Ζ έλαξμε απηήο ηεο θάζεο ειέγρνπ ππξνδνηείηαη κε ηε θιήζε ελφο άιινπ timer ηνπ fastsensing, ν νπνίνο μεθηλά κε δηάξθεηα ίζε κε απηή πνπ έρεη νξηζηεί ζηηο πξνδηαγξαθέο ηνπ πξνηχπνπ (0.001 sec). ην παξαθάησ ηκήκα θψδηθα παξνπζηάδεηαη ε ρξνληθή ζηηγκή πνπ ηειεηψλεη ην frame, νπφηε θαη εθθηλεί ε δηαδηθαζία fast sensing. Σν δίθηπν αιιάδεη θαηάζηαζε, κεηαβαίλνληαο απφ ηελ θαηάζηαζε IDLE ζε θαηάζηαζε FAST_SENSING, φπσο θαίλεηαη θαη απφ ηελ αιιαγή ηηκήο ζηε κεηαβιεηή scanningphase. Ζ εθθίλεζε ηνπ timer fastsensing ζηελ ζπλάξηεζε FrameTimerHandler. Ζ θπςέιε εηζέξρεηαη ζε θάζε γξήγνξνπ ειέγρνπ. #define FAST_SENSING_DURATION void Mac802_22::FrameTimerHandler() {... fastsensing.start(fast_sensing_duration); NetworkCell * actualnetcell; actualnetcell = findcellbybsid(bss_id_); actualnetcell->scanningphase = FAST_SENSING; Γηα λα νινθιεξσζεί ε δπλαηφηεηα πξαγκαηνπνίεζεο fast sensing απφ έλα δίθηπν, απαηηνχληαη ηξνπνπνηήζεηο θαη ζηε ιεηηνπξγία ηεο δηεπαθήο κε ην θπζηθφ κέζν. Γη απηφ ην ιφγν ζην αξρείν wireless-phy.h έρνπλ νξηζηεί δπν επηπιένλ κεηαβιεηέο: phase: απνζεθεχεη ηελ θαηάζηαζε ζηελ νπνία βξίζθεηαη ην mac επίπεδν, φπσο γηα παξάδεηγκα αλ βξίζθεηαη ζε θαηάζηαζε γξήγνξνπ ειέγρνπ (fast sensing). Οπζηαζηηθά, ε phase έρεη ίδηα ηηκή κε ηε scanningphase ηνπ επηπέδνπ mac. 22 Ο νξηζκφο απηνχ ηνπ timer φπσο θαη ησλ ππνινίπσλ timers βξίζθεηαη ζην αξρείν timers- 802_22.h/cc

58 response: ρξεζηκνπνηείηαη γηα λα δειψζεη αλ εληνπίζηεθε ελέξγεηα θαηά ηελ δηάξθεηα ηνπ ειέγρνπ. Ζ ηηκή true αληηζηνηρεί ζε εληνπηζκφ ελέξγεηαο θαηά ηε δηάξθεηα ηνπ fast sensing. ε πιήξε αληηζηνηρία κε ηηο παξαπάλσ κεηαβιεηέο, έρνπλ νξηζηεί θαη ηξεηο ζπλαξηήζεηο 23 γηα ηελ επηζηξνθή ησλ ηηκψλ απηψλ ησλ κεηαβιεηψλ αιιά θαη γηα ηνλ νξηζκφ ζπγθεθξηκέλσλ ηηκψλ ζηηο κεηαβιεηέο απηέο. Οη επηπιένλ δειώζεηο κεηαβιεηώλ θαη ζπλαξηήζεσλ πνπ έγηλαλ ζην αξρείν wireless-phy.h class WirelessPhy : public Phy { public:... inline void setphase(int value) { phase = value; inline bool rsp() { return response; inline void setresponse(bool val) { response = val;... private:... int phase; bool response;... ; Ζ ζπλάξηεζε sendup ηεο WirelessPhy, αθνχ κεηξήζεη ην πνζφ ηεο ιακβαλφκελεο ελέξγεηαο θαη δηαπηζηψζεη πσο μεπεξλά ην θαζνξηζκέλν θαηψθιη, πξνσζεί ην παθέην ζην αλψηεξν επίπεδν πνπ είλαη ην επίπεδν mac. πλεπψο, αλ ην επίπεδν δηεπαθήο ζην θπζηθφ κέζν είλαη ελήκεξν πσο πξαγκαηνπνηείηαη fast sensing, ηφηε νπζηαζηηθά εληνπίδεηαη ελέξγεηα, θάζε θνξά πνπ ιακβάλεηαη νπνηαδήπνηε πνζφηεηα ελέξγεηαο κέζσ ηεο θιήζεο ηεο ζπλάξηεζεο sendup(). Δπνκέλσο, θάζε θνξά πνπ θάπνηα ζπζθεπή πειάηε ιάβεη θαηά ηε θάζε γξήγνξνπ ειέγρνπ έλα πνζό ελέξγεηαο πνπ είλαη κεγαιύηεξν από ην θαηώθιη εληνπηζκνύ, ηφηε εληνπίδεηαη ελέξγεηα πνπ ζα πξέπεη λα αλαθεξζεί ζην επίπεδν mac, ιεηηνπξγία πνπ πινπνηείηαη ζηε ζπλάξηεζε sendup, φπσο θαίλεηαη θαη ζηνλ παξαθάησ θψδηθα: Έιεγρνο γηα εληνπηζκό ελέξγεηαο θαηά ηελ δηάξθεηα ηεο θάζεο γξήγνξνπ ειέγρνπ ζην αξρείν wireless-phy.cc #define FAST_SENSING 1 int WirelessPhy::sendUp(Packet *p){... if(propagation_) { s.stamp((mobilenode*)node(), ant_, 0, lambda_); Pr = propagation_->pr(&p->txinfo_, &s, this); if (Pr < CSThresh_) { pkt_recvd = 0; goto DONE; if(phase == FAST_SENSING){ if (Pr >= CSThresh_){ response = true; 23 setphase(), rsp() θαη setresponse()

59 Όπσο παξαηεξείηαη, φηαλ εληνπηζηεί ελέξγεηα θαηά ηε δηάξθεηα ηεο θάζεο γξήγνξνπ εληνπηζκνχ (φηαλ ε phase δειαδή έρεη ηελ ηηκή FAST_SENSING), ηφηε ε response απνθηά ηελ ηηκή true. Με βάζε ηα πξναλαθεξζέληα, ν κεραληζκφο ηνπ γξήγνξνπ εληνπηζκνχ πινπνηείηαη ηφζν ζην επίπεδν mac φζν θαη ζην επίπεδν phy. Ζ πνιπεπίπεδε πινπνηήζή ηνπ σζηφζν απαηηεί ηελ επηθνηλσλία κεηαμύ ησλ δπν επηπέδσλ θαη εηδηθφηεξα: ην επίπεδν phy ζα πξέπεη λα ελεκεξψλεηαη ζπλερψο απφ ην επίπεδν mac γηα ηελ θαηάζηαζε ζηελ νπνία βξίζθεηαη θαη εηδηθφηεξα γηα ηηο ζηηγκέο ζηηο νπνίεο πξαγκαηνπνηείηαη fast sensing ην επίπεδν mac ζα πξέπεη λα ελεκεξσζεί απφ ην phy, γηα ηνλ εληνπηζκό ή κε επαξθνύο επηπέδνπ ελέξγεηαο κεηά ην πέξαο ηνπ fast sensing Σν fast sensing πξαγκαηνπνηείηαη κόλν από ηηο ζπζθεπέο πειαηώλ θαη φρη απφ ην ζηαζκφ βάζεο. πλεπψο, νη ζπζθεπέο πειαηψλ κε βάζε ην πεξηερφκελν ηεο scanningphase, ζα πξέπεη λα ελεκεξψζνπλ ηε κεηαβιεηή phase ηνπ θαηψηεξνπ επηπέδνπ (phy). Ζ ιεηηνπξγία απηή κπνξεί λα επηηεπρζεί κε ηε κέζνδν ηεο δεηγκαηνιεςίαο, φπνπ ρξεζηκνπνηείηαη έλαο timer ηεο θιάζεο sendtimer πνπ θαιείηαη ζε πνιχ ζχληνκα ρξνληθά δηαζηήκαηα (θάζε sec). Με βάζε απηή ηελ πξνζέγγηζε, θάζε ζπζθεπή πειάηε κπνξεί λα ελεκεξσζεί γξήγνξα γηα νπνηαδήπνηε αιιαγή πνπ πξαγκαηνπνηείηαη ζην δίθηπν. Κάζε θνξά πνπ απηφο ν timer ηεξκαηίδεη, θαιείηαη ε ζπλάξηεζε SendTimerHandler ηνπ αξρείνπ mac-802_22.cc κέζσ ηεο νπνίαο πξαγκαηνπνηείηαη ε ακθίδξνκε επηθνηλσλία κεηαμχ ησλ δπν επηπέδσλ, θαζψο ην mac ελεκεξψλεη ην επίπεδν ηεο δηεπαθήο γηα ην ζηάδην ζην νπνίν βξίζθεηαη ν έιεγρνο, αιιά ελεκεξψλεηαη θηφιαο απφ απηφ γηα ην αλ θαηά ηελ δηάξθεηα ηνπ ειέγρνπ εληνπίζηεθε ελέξγεηα. Ζ ιεηηνπξγία ηεο SendTimerHandler θαίλεηαη ζην παξαθάησ ηκήκα θψδηθα: Ζ ζπλάξηεζε SendTimerHandler πνπ είλαη απηή πνπ ηξνπνπνηεί ηηο κεηαβιεηέο ηνπ επηπέδνπ ηεο δηεπαθήο κε ην θπζηθό κέζν. void Mac802_22::SendTimerHandler() { if(nodeid!= bss_id_){... if (((WirelessPhy*)netif_)->rsp()) actualnetcell->fast_response = true; if(actualnetcell->scanningphase == FAST_SENSING){ ((WirelessPhy*)netif_)->setPhase(FAST_SENSING); else if(actualnetcell->scanningphase == IDLE){ ((WirelessPhy*)netif_)->setPhase(IDLE); ((WirelessPhy*)netif_)->setResponse(false); sendtimer.start(pause_check); Όπσο απνδεηθλχεηαη θαη απφ ηνλ παξαπάλσ θψδηθα, ε setphase αξρηθνπνηεί ηε κεηαβιεηή phase ηνπ επηπέδνπ phy κε βάζε ην πεξηερφκελν ηεο scanningphase. Δπηπιένλ, ε response κέζσ ηεο rsp, ζε πεξίπησζε πνπ έρεη ηελ ηηκή true αξρηθνπνηεί αληίζηνηρα ην κέινο fast_response ηεο δνκήο NetworkCell. Αθνχ πξαγκαηνπνηεζεί ε επηθνηλσλία κεηαμχ ησλ δπν επηπέδσλ, ν ηεξκαηηζκφο ηεο πεξηφδνπ ηνπ γξήγνξνπ ειέγρνπ ζπλνδεχεηαη απφ ηελ θιήζε ηεο ζπλάξηεζεο FastSensingHandler

60 φπνπ ν ζηαζκφο βάζεο ελεκεξψλεηαη γηα ηα απνηειέζκαηα ηνπ ειέγρνπ, ειέγρνληαο ην πεξηερφκελν ηεο κεηαβιεηήο fast_response. Αλ δελ εληνπηζηεί ελέξγεηα, ηφηε ε θπςέιε επαλέξρεηαη ζηελ θαηάζηαζε κε ειέγρνπ (IDLE), ζπλερίδνληαο θαλνληθά ηε ιεηηνπξγία ηεο, ρσξίο λα πξνθχπηεη ε αλάγθε ιήςεο κέηξσλ. ε δηαθνξεηηθή πεξίπησζε φκσο ελεξγνπνηείηαη ε θαηάζηαζε ηνπ ιεπηνκεξνύο ειέγρνπ (fine sensing). Ζ ελεξγνπνίεζε ηνπ fine sensing πξαγκαηνπνηείηαη ζέηνληαο ηε κεηαβιεηή isused ίζε κε true. Ζ ηηκή ηεο isused θαζνξίδεη αλ ζην ηέινο θάζε frame ζα πξαγκαηνπνηεζεί fast ή fine sensing. ε θάζε πεξίπησζε φκσο γίλεηαη επαλαξρηθνπνίεζε ησλ φπνησλ ηηκψλ είραλ νη ππφινηπεο κεηαβιεηέο πνπ ρξεζηκνπνηήζεθαλ θαη ζηα δπν επίπεδα (MAC, δηεπαθή θπζηθνχ κέζνπ), κε ηηο ηηκέο πνπ είραλ πξηλ ηνλ έιεγρν. Η ςυνάρτθςθ FastSensingHandler που κακορίηει τι γίνεται μετά το τζλοσ τθσ περιόδου του γριγορου ελζγχου. void Mac802_22::FastSensingHandler(){... if (actualnetcell->scanningphase == FAST_SENSING){ if(actualnetcell->fast_response){ actualnetcell->fast_response=false; isused = true; else{ actualnetcell->scanningphase = IDLE; Όπσο έρεη πξναλαθεξζεί, ε πεξίνδνο fine sensing δηαξθεί πεξηζζφηεξν απφ ηελ πεξίνδν ηνπ γξήγνξνπ ειέγρνπ θαη ελεξγνπνηείηαη απφ ηελ ζηηγκή πνπ εληνπηζηεί. Χζηφζν ππάξρεη θαη κηα αθφκα ζεκαληηθή δηαθνξά, κε ηνλ έιεγρν απηή ηε θνξά λα πξαγκαηνπνηείηαη απνθιεηζηηθά ζην επίπεδν MAC, θαζψο απαηηείηαη αλάγλσζε ηεο πεγήο ησλ παθέησλ, ιεηηνπξγία πνπ δελ είλαη εθηθηή ζε θαηψηεξα επίπεδα. Ζ θπςέιε κεηαβαίλεη ζε θαηάζηαζε fine sensing (ε scanningphase ζα έρεη ηελ ηηκή FINE_SENSING) ζην επφκελν frame απφ απηφ πνπ ζα εληνπηζηεί ε ελέξγεηα. Όπσο θαη ζηελ πεξίπησζε ηνπ fast sensing, έηζη θαη ζην fine sensing, ε έλαξμε ηνπ ειέγρνπ πξαγκαηνπνηείηαη ζην ηέινο ηνπ frame, κε ηελ θιήζε ηεο ζπλάξηεζεο FrameTimerHandler. Ζ πεξίνδνο fine sensing εθθηλεί κε ηε ρξήζε ελφο timer ηεο θιάζεο FineSensing, φπσο θαίλεηαη θαη ζηνλ παξαθάησ θψδηθα: Η εκκίνθςθ του timer finesensing ςτθν ςυνάρτθςθ FrameTimerHandler. Η κυψζλθ ειςζρχεται ςε φάςθ λεπτομεροφσ ελζγχου #define FINE_SENSING_DURATION void Mac802_22::FrameTimerHandler(){ if(!isused){... else { isused = false; finesensing.start(fine_sensing_duration); NetworkCell * actualnetcell; actualnetcell = findcellbybsid(bss_id_); actualnetcell->scanningphase = FINE_SENSING;

61 ... Καηά ηε δηάξθεηα ηνπ fine sensing (πνπ φπσο θαίλεηαη θαη ζηνλ παξαπάλσ θψδηθα δηαξθεί sec, δηάξθεηα πνπ ζπλάδεη κε ηηο πξνδηαγξαθέο πνπ έρνπλ ηεζεί θαηά ηελ πεξηγξαθή ηνπ ), ειέγρεηαη ε πεγή ησλ παθέησλ πνπ ιακβάλνληαη κέζσ ηεο ζπλάξηεζεο recv. πγθεθξηκέλα, φιεο νη ζπζθεπέο πειαηψλ πνπ ζπκκεηέρνπλ ζην fine sensing, ειέγρνπλ αλ ην παθέην πνπ ιακβάλνπλ απνζηέιιεηαη από θάπνηνλ άιιν θόκβν πέξα από ηνλ ζηαζκό βάζεο. Απηφ πινπνηείηαη πξνγξακκαηηζηηθά, ειέγρνληαο αλ ε πεγή ηνπ παθέηνπ είλαη δηαθνξεηηθή απφ ην ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπλδεδεκέλε ε ζπζθεπή πειάηε. Σν αλαγλσξηζηηθφ ηνπ ζηαζκνχ βάζεο πξνζπειαχλεηαη κε ηελ θιήζε ηεο ζπλάξηεζεο base_stn() ηεο θιάζεο MobileNode ε νπνία επηζηξέθεη ην πεξηερφκελν ηεο κεηαβιεηήο base_stn, φπσο δειψλεηαη ζην αξρείν mobilenode.h. Ζ ζχλδεζε ηεο ζπζθεπήο πειάηε κε ηνλ ζηαζκφ βάζεο πξαγκαηνπνηείηαη κέζσ ηνπ tcl αξρείνπ κε ηελ παξαθάησ δήισζε: set bstation [$ns node]... set bstationmac [$bstation getmac 0] set AP_ADDR_0 [$bstationmac id] $bstationmac bss_id $AP_ADDR_0... set node_(1) [$ns node] $node_(1) base-station $AP_ADDR_0 ; #attach mn to basestation Ζ θιήζε ηεο εληνιήο base-station ππξνδνηεί κε ηε ζεηξά ηεο ηελ εθηέιεζε ηεο αληίζηνηρεο ζπλζήθεο ηεο ζπλάξηεζεο command ηεο θιάζεο MobileNode, φπσο θαίλεηαη ζηνλ παξαθάησ θψδηθα: Δθηέιεζε ηεο αληίζηνηρεο ζπλζήθεο ηεο ζπλάξηεζεο command ζην αξρείν mobilenode.cc else if (strcmp(argv[1],"base-station") == 0) { base_stn_ = atoi(argv[2]); if(base_stn_ == -1) return TCL_ERROR; return TCL_OK; Αλ ν απνζηνιέαο ηνπ παθέηνπ είλαη δηαθνξεηηθφο απφ ηνλ ζηαζκφ βάζεο, ζεσξείηαη πσο ππάξρεη παξεκβνιή πνπ πξνθαιείηαη απφ κηα νληφηεηα πνπ δελ αλήθεη ζην δίθηπν. Με βάζε ηα πξναλαθεξζέληα, ν έιεγρνο θαηά ηε δηάξθεηα ηνπ fine sensing πινπνηείηαη φπσο παξαθάησ: Τινπνίεζε ηνπ fine sensing κέζσ ηεο ζπλάξηεζεο recv void Mac802_22::recv(Packet* p, Handler* h){ //... if(actualnetcell->scanningphase == FINE_SENSING){ src = mac->macsa(); if( src!= ((WirelessPhy*)netif_)->wirelessNode()->base_stn()){ othernetcell = findcellbybsid(src); if(othernetcell!=null){ actualnetcell->scan_status_.recvd_response=true; //... goto done;

62 Όηαλ νινθιεξσζεί θαη απηή ε πεξίνδνο ειέγρνπ, θαιείηαη ε ζπλάξηεζε FineSensingHandler, φπνπ εθεί ελεξγνπνηνχληαη νη κεραληζκνί πνπ απαηηνχληαη γηα ηε δηαζθάιηζε ηεο ζσζηήο θαη απξφζθνπηεο ιεηηνπξγίαο ησλ θπςειψλ, φπσο ε αλαδήηεζε ηνπ θάζκαηνο γηα ειεχζεξα θαλάιηα. Ζ πινπνίεζε ηνπ fast θαη ηνπ fine sensing δελ πεξηνξίδεηαη κφλν ζηνλ εληνπηζκφ ελέξγεηαο ή παθέησλ απφ ηηο ζπζθεπέο πειαηψλ, αιιά πεξηιακβάλεη θαη ηε δηαθνπή ηεο απνζηνιήο νπνηνπδήπνηε είδνπο παθέηνπ θαηά ηε δηάξθεηα ησλ θάζεσλ ειέγρνπ, εμαζθαιίδνληαο κε απηφλ ηνλ ηξφπν ηελ αμηνπηζηία ησλ απνηειεζκάησλ. Ζ δηαθνπή ησλ κεηαδφζεσλ πινπνηείηαη φρη κφλν κε ηελ πξνζζήθε θαηάιιεισλ ζπλζεθψλ ειέγρνπ, έηζη ψζηε λα κελ πξνσζείηαη ην παθέην ζηα θαηώηεξα επίπεδα γηα απνζηνιή, αιιά θαη κε ηελ απνηξνπή δεκηνπξγίαο νπξάο δεδνκέλσλ πξνο απνζηνιή. Γηα ηελ δηαθνπή ησλ κεηαδφζεσλ πξσηαγσληζηηθφ ξφιν ιακβάλεη ε κεηαβιεηή scanningphase. πλεπψο, ειέγρνληαο ηελ ηηκή ηεο κεηαβιεηήο (ε νπνία ζα πξέπεη λα είλαη δηαθνξεηηθή απφ FAST_SENSING) δηαζθαιίδεηαη πσο δελ ζα ζηαιεί θαλέλα παθέην θαηά ηε δηάξθεηα ηεο κεηάδνζεο. Οη βαζηθφηεξεο ηξνπνπνηήζεηο πνπ ζα πξαγκαηνπνηεζνχλ αθνξνχλ ηελ απνζηνιή ηεο ξνήο θαη εηδηθφηεξα ηηο ζπλαξηήζεηο ResumeSsBurstHandler θαη ResumeBsBurstHandler, νη νπνίεο θαινχληαη ζε θάζε slot, απνδεζκεχνπλ ηελ νπξά ζηελ νπνία έρνπλ απνζεθεπηεί ηα δεδνκέλα πξνο απνζηνιή (κε ηελ εθηέιεζε ηεο PduQueue.deque()) θαη ζηέιλνπλ ηα δεδνκέλα. Οη ζπλαξηήζεηο απηέο κπνξνχλ λα ηξνπνπνηεζνχλ, έηζη ψζηε λα απνδεζκεχεηαη ε νπξά γηα λα κελ ζηαινχλ ηα δεδνκέλα μαλά, αιιά λα κελ πξαγκαηνπνηνχληαη νη ελέξγεηεο πνπ αθνινπζνχλ γηα ηελ απνζηνιή ησλ παθέησλ δεδνκέλσλ πνπ απνδεζκεχηεθαλ απφ ηελ νπξά (αξρηθνπνίεζε παθέηνπ θαη κεηαθνξά ηνπ ζην θαηψηεξν επίπεδν) φηαλ βξίζθεηαη ζε εμέιημε ην fast sensing. ηνλ παξαθάησ θψδηθα, παξηζηάλεηαη ε ζπλζήθε ειέγρνπ πνπ έρεη πξνζηεζεί γηα ηε ζπλάξηεζε ResumeSsBurstHandler. Αλάινγεο ηξνπνπνηήζεηο έρνπλ πξαγκαηνπνηεζεί θαη γηα ηε ResumeBsBurstHandler. Έιεγρνο ηεο θαηάζηαζεο ζηελ νπνία βξίζθεηαη ην δίθηπν, έηζη ώζηε λα κελ πξαγκαηνπνηείηαη απνζηνιή παθέησλ ξνήο θαηά ηε δηάξθεηα ηνπ fast sensing void Mac802_22::ResumeSsBurstHandler(int No_packets, double nexttime, SsServiceFlow* last) { else{ Packet *p = last->pduqueue.deque(); // even though packet might not be received, number should be // decreased to prevent dequeing NULL packets No_packets--; // there is a high possibility that p may be NULL if(actualnetcell->scanningphase!= FAST_SENSING && actualnetcell->scanningphase!= PRE_FAST_SENSING){ struct hdr_cmn *hdr = HDR_CMN(p); struct hdr_mac *mac = HDR_MAC(p);

63 resumess.start(nexttime, No_packets, last); Πέξα απφ ηηο πεξηπηψζεηο απνζηνιήο δεδνκέλσλ, παξφκνηνη έιεγρνη έρνπλ ηνπνζεηεζεί θαη θαηά ηελ απνζηνιή θαη άιισλ εηδψλ παθέησλ, φπσο γηα παξάδεηγκα θαηά ηελ απνζηνιή παθέησλ ηχπνπ DCD θαη UDC 24. Ο έιεγρνο πξαγκαηνπνηείηαη αθξηβψο πξηλ απφ ηε κεηάβαζε ηνπ παθέηνπ ζην ακέζσο θαηψηεξν επίπεδν, φπσο θαίλεηαη θαη ζηνλ παξαθάησ θψδηθα: Πξνζζήθε ειέγρνπ ηεο θαηάζηαζεο πνπ βξίζθεηαη ην δίθηπν πξηλ ην παθέην πνπ έρεη δεκηνπξγεζεί κεηαβεί ζην ακέζσο θαηώηεξν επίπεδν void Mac802_22::sendDCD() { if(actualnetcell->scanningphase!= FAST_SENSING) downtarget_->recv(p,this); return; Πέξα φκσο απφ ηηο παξαπάλσ ηξνπνπνηήζεηο, απαξαίηεηε είλαη θαη ε δηελέξγεηα ειέγρσλ θαηά ηε δεκηνπξγία ηεο νπξάο δεδνκέλσλ πνπ πξννξίδνληαη γηα απνζηνιή. Όηαλ ζην δίθηπν πξαγκαηνπνηείηαη sensing, ηφηε απνηξέπεηαη ε πξνζζήθε επηπξφζζεησλ δεδνκέλσλ ζηελ νπξά. ε αληίζεηε πεξίπησζε, παξφιν πνπ ηα δεδνκέλα δελ ζα απνζηέιινληαλ θαηά ηε δηάξθεηα ηνπ fast sensing, ζα απνζηέιινληαλ κεηά ηνλ ηεξκαηηζκφ ηεο, θαζψο ην κέγεζνο ηεο νπξάο ζα έρεη παξακείλεη ακεηάβιεην. Οπζηαζηηθά, ρσξίο ηελ παξαπάλσ πξνζζήθε, ε πξαγκαηνπνίεζε fast sensing δελ ζα επέθεξε θακηά επηβάξπλζε ζην ξπζκφ κεηάδνζεο ησλ δεδνκέλσλ, νδεγψληαο ζε κε αμηφπηζηα απνηειέζκαηα θαηά ηελ πξνζνκνίσζε. Ζ αξρηθνπνίεζε ηεο νπξάο δεδνκέλσλ πξαγκαηνπνηείηαη ζηε ζπλάξηεζε send. Με βάζε ηηο παξαπάλσ δηαπηζηψζεηο, πξνζηίζεληαη θαηάιιειεο ζπλαξηήζεηο ειέγρνπ πξηλ απφ ηελ εθηέιεζε ηεο SduQueue.enque(p), κε ηελ νπνία ην παθέην πνπ βξίζθεηαη πξνο απνζηνιή, εηζάγεηαη ζηελ νπξά. Δηδηθφηεξα, αλ ην δίθηπν βξίζθεηαη ζε θαηάζηαζε IDLE ή πξαγκαηνπνηείηαη dynamic sensing 25, ηφηε ηα δεδνκέλα πξνσζνχληαη θαλνληθά ζηελ νπξά. ε αληίζεηε πεξίπησζε, ην παθέην πνπ έρεη δεκηνπξγεζεί δελ πξνσζείηαη ζηελ νπξά, κε απνηέιεζκα ε send λα ηεξκαηίδεη ηε ιεηηνπξγία ηεο θαη ην παθέην λα κελ απνζηέιιεηαη ηειηθά. Ο έιεγρνο απηφο πξαγκαηνπνηείηαη γηα νπνηνδήπνηε είδνο ξνήο θαη αθνξά ηφζν ην ζηαζκφ βάζεο, φζν θαη ηηο ζπζθεπέο πειαηψλ. ηνλ παξαθάησ θψδηθα παξηζηάλεηαη ν έιεγρνο πνπ έρεη πξνζηεζεί αθξηβψο πξηλ απφ ην if γηα ηελ πεξίπησζε ηεο rtps ξνήο. Σξνπνπνίεζε ηνπ θώδηθα ηεο ζπλάξηεζεο send απνηξέπνληαο ηελ εηζαγσγή παθέησλ ξνήο ζηελ νπξά θαηά ηε δηάξθεηα fast θαη fine sensing /* Thesis NOTE: Send function will actually work only if we are in an idle phase (or performing dynamic sensing). During fast/fine sensing no packets are sent */ void Mac802_22::send(Packet* p, Handler* h) { else if (hdr->ptype() == PT_rtPS) { if(actualnetcell->scanningphase == IDLE actualnetcell->scanningphase == DYNAMIC_SENSING){ SsSearchServiceFlow(mac->macDA(), PT_rtPS, UL, -1, -1)->SduQueue.enque(p); 24 Αληίζηνηρα πξαγκαηνπνηνχληαη ηξνπνπνηήζεηο ζηηο ζπλαξηήζεηο senddcd θαη senducd αληίζηνηρα 25 Απνηειεί έλα άιιν είδνπο sensing πνπ ππνζηεξίδεηαη απφ ην module θαη αλαιχεηαη ζηε ζπλέρεηα

64 Με ηηο παξαπάλσ ηξνπνπνηήζεηο εμαζθαιίδεηαη πσο δε ζα πξαγκαηνπνηεζεί θακηά απνζηνιή δεδνκέλσλ θαηά ηε δηάξθεηα ησλ ειέγρσλ. Αληίζηνηρα, αθνχ δελ πξαγκαηνπνηνχληαη απνζηνιέο, δελ ζα πξαγκαηνπνηεζεί θαη θακηά ιήςε παθέηνπ θαηά ηε δηάξθεηα ηνπ sensing πνπ ζα κπνξνχζε λα δηαηαξάμεη ηελ αμηνπηζηία ησλ απνηειεζκάησλ (εηδηθφηεξα ηνπ fast sensing). πλεπψο, ζεσξείηαη πσο ελδερφκελε ιήςε ελέξγεηαο ή παθέηνπ θαηά ηε δηάξθεηα ησλ ειέγρσλ νθείιεηαη ζε παξεκβνιέο ζην ίδην θαλάιη. Ζ εχξπζκε ιεηηνπξγία κηαο θπςέιεο απνδεηθλχεηαη θαη ζηε ζπλέρεηα κε ηελ πξαγκαηνπνίεζε ζελαξίσλ πξνζνκνίσζεο ζηα νπνία γίλνληαη κεηξήζεηο φζνλ αθνξά ην ξπζκφ ιήςεο δεδνκέλσλ θαη ηελ επηβάξπλζε πνπ πξνθαιείηαη ζην δίθηπν απφ ηε δξνκνιφγεζε fast θαη fine sensing ζην ηέινο θάζε frame. Με ηελ νινθιήξσζε θαη ηεο πινπνίεζεο ηνπ fast θαη ηνπ fine sensing, ε δνκή ηνπ module δηακνξθψλεηαη ζηελ ηειηθή ηεο κνξθή, αθνινπζψληαο ηε δνκή ηνπ frame θαη superframe. πζηαηηθφ ζηνηρείν ηεο πινπνηεζείζαο δνκήο απνηειεί ε ρξήζε ησλ timers, φπσο δηαπηζηψλεηαη θαη ζηελ παξαθάησ εηθφλα, ζηελ νπνία ζπγθεληξψλνληαη ζπλνπηηθά νη βαζηθέο πεξίνδνη ηνπ module. ε θάζε ηκήκα πνπ παξηζηάλεηαη, ιεηηνπξγνχλ επηκέξνπο timers νη νπνίνη είλαη ππεχζπλνη γηα ηελ απνζηνιή θαη ηε ιήςε ησλ δεδνκέλσλ, φπσο νξίδεηαη απφ ηε δνκή ελφο frame.

65

66 ηελ πξνεγνχκελε παξάγξαθν αλαιχζεθε ν ηξφπνο κε ηνλ νπνίν πξαγκαηνπνηείηαη ην fast θαη ην fine sensing απφ ην module γηα ηνλ εληνπηζκφ ηπρφλ παξεκβνιψλ πνπ πξνθαινχληαη είηε απφ θάπνηνλ θαθφβνπιν ρξήζηε, είηε απφ θάπνηνπο πξσηεχνληεο ρξήζηεο ή απφ άιια δίθηπα πνπ ιεηηνπξγνχλ ζην ίδην θαλάιη. Χζηφζν, ελδηαθέξνλ παξνπζηάδεη ε ζπκπεξηθνξά ηνπ δηθηύνπ ζε πεξίπησζε πνπ εληνπηζηεί θάπνηα παξεκβνιή θαηά ηε δηάξθεηα ηνπ fast θαη ηνπ fine sensing. Όπσο έρεη αλαιπζεί, ην δίθηπν πξνβαίλεη ζε κέηξα κφλν φηαλ ηφζν ην fast, φζν θαη ην fine sensing πηζηνπνηήζεη ηελ χπαξμε παξεκβνιψλ. ηε ζπλέρεηα, ην δίθηπν εμεηάδεη ην θάζκα γηα πηζαλά ειεχζεξα θαλάιηα ζηα νπνία κπνξεί λα κεηαβεί, αληηκεησπίδνληαο απνηειεζκαηηθά κε απηφλ ηνλ ηξφπν ηηο παξεκβνιέο. Αληηθείκελν ηεο παξαγξάθνπ απνηειεί ν ηξόπνο κε ηνλ νπνίν πξαγκαηνπνηείηαη ε αλαδήηεζε ζην θάζκα θαη ε κεηάβαζή ηνπ ζε θάπνην ειεύζεξν θαλάιη, κε ηε ρξήζε ηνπ ns-2. Ζ δηαδηθαζία αλαδήηεζεο ηνπ θάζκαηνο ελεξγνπνηείηαη φηαλ κεηά ην πέξαο θαη ηνπ fine sensing, νη ζπζθεπέο πειαηψλ επηζηξέςνπλ ζεηηθέο αλαθνξέο ζην ζηαζκφ βάζεο ζρεηηθά κε ηελ χπαξμε θάπνηαο εμσηεξηθήο νληφηεηαο ζην ίδην θαλάιη ε νπνία πξνθαιεί παξεκβνιέο (ε actualnetcell->scan_status_.recvd_response είλαη true). Έηζη, ν ζηαζκφο βάζεο αλαζέηεη ζε κηα από ηηο ζπζθεπέο πειαηώλ λα πξαγκαηνπνηήζεη αλαδήηεζε ζην θάζκα, κε ηελ απνζηνιή ελφο παθέηνπ είδνπο SCANREQ, ην νπνίν ρξεζηκνπνηείηαη γηα απηφλ αθξηβψο ηνλ ζθνπφ. ην παθέην απηφ έρνπλ πξνζηεζεί λέα πεδία, πνπ απνηεινχλ ηηο παξακέηξνπο κε ηηο νπνίεο ζα πξαγκαηνπνηεζεί ε αλαδήηεζε. Σα πεδία απηά ζπγθξνηνχλ κηα λέα δνκή, ηε ScanMsg, ε νπνία έρεη νξηζηεί γηα ην ζπγθεθξηκέλν παθέην. Ο νξηζκφο ηεο δνκήο ScanMsg είλαη ν παξαθάησ: Οξηζκόο ηεο δνκήο ScanMsg πνπ ρξεζηκνπνηείηαη γηα ηελ απνζηνιή παθέησλ ηύπνπ SCANREQ (αξρείν packet-802_22.h) struct ScanMsg { u_int8_t No_Channels :8; u_int8_t Start_Channel :8; ; Σα λέα πεδία πνπ ρξεζηκνπνηνύληαη είλαη δχν θαη αληηπξνζσπεχνπλ: Σν ζπλνιηθό αξηζκό ησλ θαλαιηώλ πνπ ζα ειεγρζνύλ γηα ηε δηαζεζηκφηεηά ηνπο (κέινο No_Channels). Ζ ηηκή απηή απνθηά ηελ ηηκή πνπ έρεη ηεζεί ζηε MAX_CHANNELS θαη αιιάδεη αλάινγα κε ηα ζελάξηα πξνζνκνίσζεο. Σε ζέζε ηνπ πξώηνπ θαλαιηνύ κε ην νπνίν ζα μεθηλήζεη ε αλαδήηεζε (κέινο Start_Channel). ε φιεο ηηο πξνζνκνηψζεηο ζεσξείηαη πσο ε αλαδήηεζε μεθηλά απφ ην θαλάιη πνπ βξίζθεηαη ζηελ πξψηε ζέζε ηνπ πίλαθα θαλαιηψλ (ν index ζηνλ πίλαθα ζα είλαη 0), ζπλεπψο ην ζπγθεθξηκέλν πεδίν έρεη πάληνηε ζηαζεξή ηηκή. Με βάζε θαη ην δεχηεξν πεδίν, ζεσξείηαη πσο ηα θαλάιηα πνπ εμεηάδνληαη είλαη ζπλερόκελα. πλεπψο, αξθεί ε ζπζθεπή πειάηε πνπ ζα πξαγκαηνπνηήζεη ηελ αλαδήηεζε ζην θάζκα λα είλαη ζε ζέζε λα γλσξίδεη ηε ζέζε ηνπ αξρηθνχ θαλαιηνχ θαη ηνλ αξηζκφ ησλ θαλαιηψλ πνπ ζα ειεγρζνχλ γηα λα εθθηλήζεη ηε δηαδηθαζία. Ζ ζπζθεπή πειάηε ε νπνία ζα ιάβεη ην παθέην SCANREQ θαη ζα πξαγκαηνπνηήζεη ηελ αλαδήηεζε θαζνξίδεηαη απφ ην πεξηερφκελν ηνπ κέινπο whoscans ηεο δνκήο NetworkCell. Ο θαζνξηζκφο δελ είλαη ζπγθεθξηκέλνο, αιιά είλαη απνηέιεζκα κηαο ηπραίαο δηαδηθαζίαο, φπσο ζα θαλεί θαη ζηνλ παξαθάησ θψδηθα. Καζψο φιεο νη ζπζθεπέο πειαηψλ πξαγκαηνπνηνχλ ιεπηνκεξή έιεγρν

67 (fine sensing), ε ζπζθεπή πνπ εληνπίζεη νπνηαδήπνηε παξεκβνιή κε ηε ιήςε θάπνηνπ παθέηνπ πνπ δελ αλήθεη ζην δίθηπν, αθνχ πξνζθνκίζεη κηα ζεηηθή αλαθνξά γηα ηελ παξνπζία παξεκβνιψλ (κέζσ ηεο recvd_response) αξρηθνπνηεί ηε whoscans κε ην id ηεο (φπσο απηφ είλαη απνζεθεπκέλν ζηε κεηαβιεηή NodeID). Αλ πεξηζζφηεξεο απφ κηα ζπζθεπέο εληνπίζνπλ θάπνηα παξεκβνιή, ηφηε κε βάζε ηελ παξαπάλσ πεξηγξαθή, ε whoscans ζα αξρηθνπνηεζεί πνιιέο θνξέο, κε ηελ ηειηθή ηεο ηηκή λα αληηζηνηρεί ζην id ηεο ζπζθεπήο πειάηε πνπ εληφπηζε ηειεπηαία ηελ παξεκβνιή. Καζνξηζκόο ηεο ζπζθεπήο πειάηε πνπ ζα πξαγκαηνπνηήζεη ηε δηαδηθαζία ηεο αλαδήηεζεο ζην θάζκα, κε ηελ αξρηθνπνίεζε ηεο whoscans (ζπλάξηεζε recv) if(actualnetcell->scanningphase == FINE_SENSING){ src = mac->macsa(); if( src!= ((WirelessPhy*)netif_)->wirelessNode()->base_stn()){... actualnetcell->scan_status_.recvd_response=true;... actualnetcell->whoscans = NodeID; goto done; Γηα λα πξαγκαηνπνηεζεί θαλνληθά ε αλαδήηεζε ζην θάζκα, ε whoscans ζα πξέπεη λα πεξηέρεη κηα έγθπξε ηηκή ε νπνία λα αληηζηνηρεί ζην αλαγλσξηζηηθφ θάπνηαο απφ ηεο ζπζθεπήο πειάηε ηνπ δηθηχνπ. Ζ ηηκή -1 αληηζηνηρεί ζε ζθάικα θαηά ηε δηαδηθαζία, κε ην ζχζηεκα λα επαλαθέξεηαη ζηελ αξρηθή ηνπ θαηάζηαζε. Γηαπηζηψλεηαη ζπλεπψο, πσο ελώ ν γξήγνξνο θαη ν ιεπηνκεξήο έιεγρνο απνηειεί πξντφλ κηαο ζπλεξγαηηθήο δηαδηθαζίαο κεηαμχ ησλ ζπζθεπψλ πειαηψλ ηνπ δηθηχνπ, γηα ηελ αλαδήηεζε ζην θάζκα πηνζεηείηαη κηα απινύζηεξε πξνζέγγηζε, αλαζέηνληαο ζε κηα ζπζθεπή πειαηώλ ηνλ έιεγρν ησλ θαλαιηψλ γηα ηε δηαζεζηκφηεηά ηνπο. Ο ζηαζκφο βάζεο επνκέλσο, ζηέιλεη έλα παθέην ηχπνπ SCANREQ ζηνλ θφκβν πνπ νξίδεη ε whoscans, κε ην δίθηπν λα κεηαβαίλεη ζε κηα λέα θαηάζηαζε, ηε REQUEST_AUTOSCAN 26. Ο θφκβνο πνπ ιακβάλεη ην παθέην, πξνζπειαχλεη ηα θαηάιιεια πεδία θαη μεθηλά ηελ αλαδήηεζε, θαιψληαο ηε ζπλάξηεζε start_autoscan(). Λήςε ηνπ παθέηνπ SCANREQ από ηελ αξκόδηα ζπζθεπή πειάηε, πξνζπέιαζε ησλ πεδίσλ ηνπ θαη έλαξμε ηεο αλαδήηεζεο κε ηελ θιήζε ηεο start_autoscan() void Mac802_22::recvSCANREQ(Packet *p) { if(nodeid!= bss_id_){... if (actualnetcell->scanningphase == REQUEST_AUTOSCAN){ actualnetcell->scanningphase = IDLE; channel_start = scan->start_channel; channel_num = scan->no_channels; start_autoscan(); Ζ πινπνίεζε ζην module πξνβιέπεη ηε ζεηξηαθή αλαδήηεζε ησλ θαλαιηώλ κέρξη λα βξεζεί ην πξώην θαλάιη ην νπνίν είλαη ειεύζεξν. Γελ πηνζεηείηαη θάπνην ζρήκα απφ απηά πνπ έρνπλ 26 Με απηφλ ηνλ ηξφπν απνηξέπεηαη ε απνζηνιή νπνηνπδήπνηε είδνπο δεδνκέλσλ θαηά ηε έλαξμε ηεο αλαδήηεζεο ειεχζεξσλ θαλαιηψλ.

68 Κανάλι (id) πξνηαζεί ζηε βηβιηνγξαθία, φπσο γηα παξάδεηγκα ε ηπραία επηινγή ηνπ θαλαιηνχ πνπ ζα αλαδεηεζεί [14]. Χζηφζν, ε πινπνίεζε πνπ έρεη αθνινπζεζεί θαζηζηά ην module αλνηρηφ ζε αξθεηέο ηξνπνπνηήζεηο θαη πξνεθηάζεηο, αλάινγα κε ηηο αλάγθεο ηεο εθάζηνηε πξνζνκνίσζεο. Ζ αλαδήηεζε ζην θάζκα, απνηειεί επέθηαζε ηεο ιεηηνπξγηθφηεηαο ηνπ module πνπ έρεη αλαθεξζεί ζε πξνεγνχκελν θεθάιαην θαη ην νπνίν έρεη αλαπηπρζεί απφ ην NIST 27. Δπνκέλσο, αλ έλα δίθηπν βξίζθεηαη ζην θαλάιη 1, ζην νπνίν εληνπίδνληαη παξεκβνιέο, κε ην ζχλνιν ησλ θαλαιηψλ λα είλαη πέληε, ηφηε ε επηιεγφκελε ζπζθεπή πειαηψλ ζα ειέγμεη αξρηθά ην ακέζσο επφκελν θαλάιη (ην 2), θ.ν.θ. Έηζη, αλ ηα ηέζζεξα πξψηα θαλάιηα είλαη δεζκεπκέλα, ηφηε ε ζπζθεπή πειάηε ηνπ δηθηχνπ, αθνχ έρεη εμεηάζεη ηα θαλάιηα 2-4, κεηαβαίλεη ηειηθψο ζην θαλάιη 5, γηα λα δηαπηζηψζεη πσο είλαη ειεχζεξν. Ζ δηαδηθαζία ηεξκαηίδεηαη κε ηε κεηάβαζε ηνπ δηθηχνπ ζην θαλάιη 5, αληηκεησπίδνληαο κε επηηπρία ηηο παξεκβνιέο. Όηαλ ε ζπζθεπή πειάηε εληνπίζεη θάπνην ειεχζεξν θαλάιη, ηφηε επηζηξέθεη ζην αξρηθφ θαλάιη ιεηηνπξγίαο, ελεκεξψλνληαο ην δίθηπν γηα ηελ παξνπζία θάπνηνπ ειεχζεξνπ θαλαιηνχ, κε νιφθιεξν ην δίθηπν λα κεηαβαίλεη ζηε ζπλέρεηα ζην λέν θαλάιη. Αλ ε ζπζθεπή πειάηε ειέγμεη φια ηα θαλάιηα, ρσξίο λα εληνπίζεη θάπνην αρξεζηκνπνίεην, ηφηε επηζηξέθεη ζην αξρηθφ θαλάιη θαη ην δίθηπν ζπλερίδεη θαλνληθά ηε ιεηηνπξγία ηνπ, ρσξίο πξαγκαηνπνηείηαη θακηά κεηάβαζε 28. ηελ παξαθάησ γξαθηθή παξάζηαζε παξνπζηάδνληαη νη αιιαγέο ησλ θαλαιηώλ πνπ πξαγκαηνπνηνύληαη από έλα δίθηπν, ηφζν απφ ηε κεξηά ηεο ζπζθεπήο πειάηε πνπ πξαγκαηνπνηεί ηελ αλαδήηεζε, φζν θαη απφ ηνλ ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπλδεδεκέλε. ην ζπγθεθξηκέλν ζελάξην, ππάξρνπλ ζπλνιηθά πέληε θαλάιηα ιεηηνπξγίαο, κε δπν δίθηπα λα βξίζθνληαη ζην πξψην θαλάιη θαη ηα θαλάιηα 2-4 λα είλαη ρξεζηκνπνηεκέλα. Με απηέο ηηο θαζνξηζκέλεο ζπλζήθεο κφλν ην θαλάιη 5 (ην ηειεπηαίν απφ ην ζχλνιν ησλ θαλαιηψλ πνπ εμεηάδνληαη) είλαη δηαζέζηκν Σταθμόσ Βάςησ Συςκευή Πελάτη Χρόνοσ (ςε sec) Όπσο θαίλεηαη θαη ζηελ παξαπάλσ γξαθηθή παξάζηαζε, ε ζπζθεπή πειάηε ειέγρεη ζεηξηαθά θάζε θαλάιη. Ζ αλαδήηεζε ζε δηαθνξεηηθά θαλάιηα δείρλεη πσο ην πξνεγνχκελν θαλάιη πνπ έρεη 27 βι. Παξάγξαθν Όπσο ζα δηαπηζησζεί θαη ζηε ζπλέρεηα, ε ιεηηνπξγία απηή βειηηψλεηαη κε ηελ πξνζζήθε επηπξφζζεησλ επηινγψλ πνπ κπνξεί λα αθνινπζήζεη έλα δίθηπν ζε πεξίπησζε παξεκβνιψλ.

69 εμεηαζηεί είλαη ρξεζηκνπνηεκέλν. Ζ γξαθηθή παξάζηαζε επηβεβαηψλεη ηε ιεηηνπξγία πνπ πεξηγξάθεθε παξαπάλσ κε ην παξάδεηγκα. Ζ κεηάβαζε ηνπ ζηαζκνχ βάζεο ζην θαλάιη 5 νξηζηηθνπνηεί ηνλ εληνπηζκφ ελφο ειεχζεξνπ θαλαιηνχ, θαζψο επηβεβαηψλεη ηελ ελεκέξσζε ηνπ δηθηχνπ απφ ηε ζπζθεπή πειάηε γηα ηελ παξνπζία ελφο ειεχζεξνπ θαλαιηνχ ζην νπνίν κπνξεί λα κεηαβεί, νινθιεξψλνληαο κε απηφλ ηνλ ηξφπν ηε δηαδηθαζία αλαδήηεζεο. Πέξα φκσο απφ ηε κεηάβαζε ζε έλα άιιν θαλάιη, ην δίθηπν ζα πξέπεη λα αληηκεησπίζεη θαη έλα άιιν πξφβιεκα: ην ελδερφκελν θαη ην άιιν δίθηπν ην νπνίν βξίζθεηαη ζην ίδην θαλάιη καδί ηνπ λα μεθηλήζεη θαη απηό ηαπηόρξνλα ηελ αλαδήηεζε ζην θάζκα γηα ηνλ εληνπηζκφ θάπνηνπ ειεχζεξνπ θαλαιηνχ. ηε ζπλέρεηα, θαη ηα δπν δίθηπα πνπ βξίζθνληαλ αξρηθά ζην ίδην θαλάιη ζα κεηαβνχλ ζρεδφλ ηαπηφρξνλα θαη ζην λέν ειεχζεξν θαλάιη, πξνθαιψληαο εθ λένπ παξεκβνιέο. Ζ απνπζία ζπληνληζκνύ κεηαμχ ησλ δηθηχσλ, ελδέρεηαη λα πξνθαιέζεη πξνβιήκαηα ζηελ αληηκεηψπηζε ησλ παξεκβνιψλ, θαζψο θάζε θνξά πνπ θαη ηα δπν δίθηπα ζα κεηαβαίλνπλ ζε θάπνην ειεχζεξν θαλάιη ηαπηφρξνλα, ην έλα ζα εμαθνινπζεί λα πξνθαιεί παξεκβνιέο ζην άιιν. Σν πξφβιεκα εληείλεηαη αλ ην αξρηθφ θαλάιη ρξεζηκνπνηείηαη απφ ηξία ή πεξηζζφηεξα δίθηπα. Γηα απηφ ην ιφγν πξνθχπηεη ε αλάγθε ζπληνληζκνχ ησλ δηθηχσλ πνπ βξίζθνληαη ζην ίδην θαλάιη, έηζη ψζηε κόλν έλα δίθηπν λα πξαγκαηνπνηεί αλαδήηεζε θάζκαηνο θάζε θνξά. Δηδηθφηεξα, θάζε δίθηπν πνπ εθθηλεί ηε δηαδηθαζία εληνπηζκνχ ειεχζεξσλ θαλαιηψλ, απνηξέπεη ηα ππφινηπα δίθηπα λα εθθηλήζνπλ θαη απηά παξφκνηα δηαδηθαζία, αλεμάξηεηα απφ ηα απνηειέζκαηα πνπ έρνπλ πξνθχςεη απφ ην fast θαη ην fine sensing. Γηα ηελ πινπνίεζε απηνχ ηνπ ζπληνληζκνχ, ρξεζηκνπνηείηαη ην κέινο autoscan ηεο δνκήο NetworkCell ην νπνίν θαζνξίδεη αλ ην δίθηπν ζα θάλεη αλαδήηεζε ή φρη. πλεπψο, φηαλ έλα δίθηπν αξρίζεη ηελ αλαδήηεζε πξηλ απφ ηα ππφινηπα δίθηπα (ε αξρηθή ηηκή ηεο autoscan είλαη false, νπφηε ε αλαδήηεζε εθθηλεί ρσξίο θαλέλα πξφβιεκα), ζέηεη ηε κεηαβιεηή autoscan ησλ ππνινίπσλ δηθηχσλ ίζε κε true, έηζη ψζηε λα κελ αξρίζνπλ θαη εθείλα ηελ αλαδήηεζε ηελ ζηηγκή πνπ ηελ έρεη ήδε μεθηλήζεη έλα δίθηπν. Κάζε δίθηπν επνκέλσο, αθνχ έρεη εληνπίζεη ηελ παξνπζία εμσηεξηθήο νληφηεηαο ζην θαλάιη, κπνξεί λα πξαγκαηνπνηήζεη αλαδήηεζε ζην θάζκα, αξθεί βέβαηα ε ηηκή autoscan ηεο δoκήο NetworkCell πνπ ηνπ αληηζηνηρεί λα είλαη false. ε αληίζεηε πεξίπησζε (πνπ ε autoscan είλαη true), ην παθέην SCANREQ δελ απνζηέιιεηαη ζηελ θαηάιιειε ζπζθεπή πειάηε, ε whoscans απνθηά ηελ ηηκή -1, θαλεξψλνληαο ηελ παξνπζία πξνβιεκάησλ θαηά ηελ αλαδήηεζε, ελψ ην δίθηπν βξίζθεηαη ζε θαηάζηαζε IDLE: πληνληζκόο κεηαμύ ησλ δηθηύσλ πνπ βξίζθνληαη ζην ίδην θαλάιη, έηζη ώζηε κόλν έλα δίθηπν λα πξαγκαηνπνηεί αλαδήηεζε θάζε θνξά (ζπλάξηεζε FineSensingHandler) if (actualnetcell->scan_status_.recvd_response){... if(actualnetcell->autoscan){ actualnetcell->autoscan = false; actualnetcell->whoscans = -1; actualnetcell->scanningphase = IDLE; else{ actualnetcell->scanningphase = REQUEST_AUTOSCAN; sendscanreq(); ε πεξίπησζε φκσο πνπ ζην θαλάιη αξρηθά βξίζθνληαλ ηξία ή πεξηζζόηεξα δίθηπα, απαηηείηαη ε επαλελεξγνπνίεζε ηεο δπλαηόηεηαο αλαδήηεζεο, κε ηελ autoscan λα απνθηά μαλά ηελ ηηκή false. Ζ επαλελεξγνπνίεζε πξαγκαηνπνηείηαη κε δπν ηξφπνπο, πξνθεηκέλνπ λα δηαζθαιηζηεί πσο φια ηα δίθηπα πνπ έρνπλ παξακείλεη ζην θαλάιη έρνπλ μαλά απηή ηε δπλαηφηεηα:

70 Ζ autoscan γίλεηαη false, ακέζσο κεηά ηε απαγόξεπζε ηεο αλαδήηεζεο. Σν δίθηπν επηζηξέθεη ζηελ αξρηθή ηνπ θαηάζηαζε θαη έρεη ηε δπλαηφηεηα λα πξαγκαηνπνηήζεη αλαδήηεζε αλ εληνπίζεη μαλά παξεκβνιέο θαηά ην fast θαη ην fine sensing. Ζ αλάζεζε απηή παξηζηάλεηαη θαη ζην παξαπάλσ ηκήκα θψδηθα. Ζ autoscan γίλεηαη false, φηαλ ε ζπζθεπή πνπ πξαγκαηνπνηεί ηελ αλαδήηεζε επηζηξέςεη μαλά ζην αξρηθό θαλάιη γηα λα ελεκεξώζεη ην δίθηπν γηα ηελ παξνπζία ειεύζεξνπ θαλαιηνύ. Σν δίθηπν αλαζέηεη ζηελ autoscan ηνπ ηελ ηηκή false, φηαλ ιάβεη θαηάιιεια DCD παθέηα απφ ην δίθηπν ην νπνίν ζα πξαγκαηνπνηήζεη ζηε κεηάβαζε ζην ειεχζεξν θαλάιη. Με ηελ πινπνίεζε απηή ηα δίθηπα πνπ βξίζθνληαη ζην ίδην θαλάιη ζπληνλίδνληαη επηηπρψο κεηαμχ ηνπο, απαγνξεχνληαο ηαπηφρξνλεο αλαδεηήζεηο ζην θάζκα. Χζηφζν, παξφιν πνπ ηα δίθηπα απνθηνχλ εθ λένπ ηε δπλαηφηεηα αλαδήηεζεο ζέηνληαο ηελ autoscan κε false, κε ηνπο ηξφπνπο πνπ έρνπλ πεξηγξαθεί, πξνθχπηεη έληνλα ην δήηεκα φζνλ αθνξά ηνλ ηξφπν κε ηνλ νπνίν ην δίθηπν πνπ μεθηλά ηελ αλαδήηεζε ελεκεξώλεη ηα ππόινηπα δίθηπα θαη εηδηθφηεξα ηνλ ηξφπν κε ηνλ νπνίν ην δίθηπν ζα γλσξίδεη πνηα δίθηπα βξίζθνληαη ζην ίδην θαλάιη, έηζη ψζηε λα ζέζεη ηελ autoscan ηνπο κε true θαη θαη επέθηαζε λα ηνπο απαγνξεχζεη ηελ απνζηνιή SCANREQ παθέησλ. Ζ αλάζεζε απηή κπνξεί λα πξαγκαηνπνηεζεί θαηά ηε δηάξθεηα ηνπ fine sensing, φπνπ ειέγρεηαη ε πξνέιεπζε ησλ παθέησλ. Δηδηθφηεξα, αλ ιεθζεί θάπνην παθέην θαηά ηε δηάξθεηα ηνπ fine sensing πνπ είλαη εθηφο δηθηχνπ, ηφηε κε βάζε ηελ πεγή ηνπ παθέηνπ, κπνξεί λα αλαδεηεζεί ε θαηάιιειε δνκή ηχπνπ NetworkCell 29 πνπ αληηζηνηρεί ζην δίθηπν πνπ αλήθεη ε πεγή, ζέηνληαο ηελ αληίζηνηρε autoscan ίζε κε true. Γηα λα απνηξαπεί σζηφζν ε εκθάληζε ηεο πεξίπησζεο φπνπ ην έλα δίθηπν απαγνξεχεη ζην άιιν δίθηπν ηελ αλαδήηεζε (κε απνηέιεζκα θαλέλα δίθηπν λα κελ θάλεη ηελ αλαδήηεζε), δηθαίσκα αλάζεζεο έρεη κφλν ην δίθηπν ην νπνίν εληνπίζεη πξψην ηελ παξεκβνιή (νπζηαζηηθά είλαη ην δίθηπν ηνπ νπνίνπ ε autoscan είλαη false, εθφζνλ φισλ ησλ ππνινίπσλ ζα γίλεη true). Σν παξαθάησ ζελάξην πξνζνκνίσζεο είλαη ελδεηθηηθφ ηνπ ηξφπνπ ιεηηνπξγίαο ηεο αλαδήηεζεο. Αξρηθά ζεσξείηαη πσο ζε έλα θαλάιη βξίζθνληαη πέληε δίθηπα. ηε ζπλέρεηα, αθνχ ην έλα εληνπίζεη ηελ παξνπζία ηνπ άιινπ, κε ηνλ θαηάιιειν ζπληνληζκφ, πξαγκαηνπνηνχληαη νη θαηάιιειεο αλαδεηήζεηο, κε θάζε δίθηπν ζην ηέινο λα βξίζθεηαη ζε μερσξηζηφ θαλάιη. ηελ παξαθάησ εηθφλα, παξηζηάλνληαη νη ρξνληθέο ζηηγκέο πνπ θάζε δίθηπν απνπεηξάηαη λα απνζηείιεη έλα παθέην ηχπνπ SCANREQ γηα λα μεθηλήζεη ηελ αλαδήηεζε ειεχζεξνπ θαλαιηνχ. Σν θφθθηλν ρξψκα αληηζηνηρεί ζηελ απαγφξεπζε απνζηνιήο ηνπ παθέηνπ (autoscan = true) θαη ηελ επηζηξνθή ηνπ δηθηχνπ ζηελ αξρηθή ηνπ θαηάζηαζε, ελψ ην πξάζηλν αληηζηνηρεί ζηε θαλνληθή πξαγκαηνπνίεζε ηεο αλαδήηεζεο. 29 Ζ αλαδήηεζε πξαγκαηνπνηείηαη κε ηε ζπλάξηεζε findcellbybsid, ε νπνία ιακβάλεη σο φξηζκα εηζφδνπ ην αλαγλσξηζηηθφ ηνπ ζηαζκνχ βάζεο ηνπ δηθηχνπ θαη επηζηξέθεη ηε δνκή ηχπνπ NetworkCell πνπ αληηζηνηρεί ζην δίθηπν απηφ.

71 Σα δίθηπα εκθαλίδνληαη ζην ίδην θαλάιη (θαλάιη 1) ηπραία κέζα ζε ρξνληθφ δηάζηεκα 0.33 sec. Ζ παξαπάλσ εηθφλα είλαη ελδεηθηηθή ηεο επηηπρίαο κε ηελ νπνία πξαγκαηνπνηείηαη ν ζπληνληζκφο κεηαμχ ησλ δηθηχσλ. Οη αξηζκνί ζηνλ θάζε ην άμνλα αληηζηνηρνχλ ζε θάζε δίθηπν, ελψ δίπια ζε θάζε θνπθθίδα παξηζηάλεηαη ην θαλάιη ην νπνίν ην δίθηπν εληνπίδεη λα είλαη ειεχζεξν θαη ζην νπνίν κεηαβαίλεη ηειηθά. Ηδηαίηεξα γηα ην δίθηπν 5 ε δηαδηθαζία ηεο αλαδήηεζεο έρεη απνηξαπεί δπν θνξέο, κε ην δίθηπν λα κελ απνπεηξάηαη λα πξαγκαηνπνηήζεη μαλά αλαδήηεζε, θαζψο δελ εληνπίδνληαη εθ λένπ παξεκβνιέο. Σα ππφινηπα δίθηπα έρνπλ εγθαηαιείςεη ην θαλάιη, κε απνηέιεζκα ην δίθηπν 5 λα ρξεζηκνπνηεί απνθιεηζηηθά ην θαλάιη 1. Όπσο έρεη αλαιπζεί θαη ζηα πξνεγνχκελα θεθάιαηα, ην module έρεη βαζηζηεί πάλσ ζε έλα άιιν module ζην νπνίν έρεη πινπνηεζεί ην πξφηππν Πέξα απφ ηελ ηξνπνπνίεζε ησλ ππαξρφλησλ ιεηηνπξγηψλ θαη ηελ πξνζζήθε λέσλ πνπ απαηηνχληαη γηα ηελ πξνζνκνίσζε ηνπ , ην module πξνζνκνηψλεη ραξαθηεξηζηηθά ηνπ ηα νπνία είλαη δηαθνξεηηθά γηα ηελ πεξίπησζε ησλ ηειενπηηθψλ κεηαδφζεσλ, φπσο ν ξπζκφο κεηάδνζεο ησλ δεδνκέλσλ, ε εκβέιεηα θαη νη ζπρλφηεηεο ιεηηνπξγίαο ησλ θφκβσλ ελφο δηθηχνπ. ηελ παξνχζα παξάγξαθν αλαιχνληαη νη ηξνπνπνηήζεηο πνπ έρνπλ πξαγκαηνπνηεζεί, πξνζνκνηψλνληαο απνηειεζκαηηθά ηε ιεηηνπξγία ελφο δηθηχνπ κε βάζε ηα ραξαθηεξηζηηθά πνπ έρνπλ θαζνξηζηεί θαη ηηο απαηηήζεηο θαη ηνπο πεξηνξηζκνχο πνπ έρνπλ ηεζεί θαηά ηελ πεξηγξαθή ηνπ πξνηχπνπ. Όζνλ αθνξά ηε ζπρλόηεηα ιεηηνπξγίαο ηνπ , έλα δίθηπν ιεηηνπξγεί ζην ηειενπηηθφ θάζκα θαη εηδηθφηεξα ζην δηάζηεκα MHz [9]. Ο νξηζκφο απηφο κπνξεί λα πξαγκαηνπνηεζεί ζηνλ θψδηθα κε απιφ ηξφπν, ηξνπνπνηψληαο θαηάιιεια ηε ζπλάξηεζε calfreq, φπσο θαίλεηαη θαη ζηνλ παξαθάησ θψδηθα: Αιιαγή ζηελ αλάζεζε ησλ ζπρλνηήησλ ζε θάζε θαλάιη ζηε ζπλάξηεζε calfreq, θαιύπηνληαο ην ηειενπηηθό θάζκα for(int i=0; i < nbchannel; i++){ // MHz (6 MHz wide) channel_freq_[i]= 54e6 + 6e6*i ;

72 Με βάζε ηελ παξαπάλσ ηξνπνπνίεζε, έλαο θφκβνο πνπ ηνπ αλαηίζεηαη ην πξψην θαλάιη απφ ηνλ πίλαθα ησλ ζπλνιηθψλ θαλαιηψλ, ζα έρεη ζπρλφηεηα ιεηηνπξγίαο ζηα 54 MHz. Ζ αιιαγή σζηφζν ησλ ραξαθηεξηζηηθώλ ηεο κεηάδνζεο, απαηηεί ηελ ηξνπνπνίεζε επηπιένλ παξακέηξσλ. Δθαξκφδνληαο ηηο απαηηήζεηο πνπ δηαηππψλνληαη ζηελ πεξηγξαθή ηνπ πξνηχπνπ [9], ε εκβέιεηα ιεηηνπξγίαο ηνπ δηθηχνπ θαζνξίδεηαη ζηα 33 km, κε ηελ εθπεκπφκελε ηζρχ ηνπ ηειενπηηθνχ ζήκαηνο λα αλέξρεηαη ζηα 4 W. Ο θαζνξηζκφο ηεο εκβέιεηαο ιεηηνπξγίαο ζηα απαηηνχκελα επίπεδα πξαγκαηνπνηείηαη ππνινγίδνληαο ηελ ειάρηζηε ελέξγεηα ιήςεο πνπ ζα πξέπεη λα έρεη θάπνην παθέην, έηζη ψζηε λα γίλεη απνδεθηφ θαη λα ιεθζεί θαλνληθά απφ ηνλ παξαιήπηε. ηνλ ns-2 είλαη πινπνηεκέλν έλα πξφγξακκα ζην νπνίν εηζάγνληαο σο φξηζκα εηζφδνπ ηα ραξαθηεξηζηηθά ηεο κεηάδνζεο, ππνινγίδεη ηελ ειάρηζηε απαηηνχκελε ελέξγεηα ιήςεο [39]. Δθηειψληαο ην πξφγξακκα threshold πνπ βξίζθεηαη ζην path indepthutils/propagation θαη ζέηνληαο ηηο παξακέηξνπο, φπσο απηέο θαζνξίδνληαη απφ ηελ πεξηγξαθή ηνπ πξνηχπνπ, πξνθχπηνπλ ηα απνηειέζκαηα ηεο παξαθάησ εηθφλαο: Ζ ειάρηζηε ελέξγεηα ιήςεο θαζνξίδεηαη ζηα 3.37*10-14 W. Όζνλ αθνξά ηελ θεξαία ησλ ζπζθεπψλ πειαηψλ, ζεσξείηαη πσο εγθαζίζηαηαη ζε εμσηεξηθφ ρψξν κε ηε κέζε απφζηαζε απφ ην έδαθνο λα εθηηκάηαη ζηα 10 m. Οη θεξαίεο κεηάδνζεο θαη ειέγρνπ (sensing) ζεσξείηαη πσο βξίζθνληαη ζην ίδην ζεκείν [37]. Χζηφζν, πέξα απφ ηελ ειάρηζηε ελέξγεηα ιήςεο, αιιαγέο πξαγκαηνπνηνχληαη θαη ζηελ ειάρηζηε ελέξγεηα εληνπηζκνχ (CSThresh_), ε νπνία θαζνξίδεηαη απφ ην πξφηππν ζηα -117dΒ (1.995*10-15 W). πλνπηηθά, βάζεη ησλ απνηειεζκάησλ πνπ επηζηξέθεη ην πξφγξακκα threshold ηνπ ns-2 θαη ησλ ραξαθηεξηζηηθψλ πνπ νξίδεη ην πξφηππν, αξρηθνπνηνχληαη νη παξάκεηξνη ηνπ παξαθάησ πίλαθα [26]: Όλνκα παξακέηξνπ Λεηηνπξγία Σηκή Υ_ 0 Καζορίδοσλ ηε ζτεηηθή ζέζε ηες θεραίας φς προς ηολ θόκβο ποσ αλήθεη Y_ 0 Ε_ Καζορίδεη ηελ απόζηαζε ηες θεραίας από ηο έδαθος 10 m Gt_ Παράγοληες ποσ κοληειοποηούλ ηης απώιεηες ηης θεραίας ζηε κεηάδοζε 1.0 θαη ηε ιήυε αληίζηοητα. Η κολάδα αληηζηοητεί ζηελ ηδαληθή θεραία Gr_ τφρίς θακηά απώιεηα 1.0 RXThresh_ CSThresh_ Αλ ε ιακβαλόκελε ελέργεηα ηοσ ζήκαηος είλαη κεγαιύηερε από ηο RXThresh_, ηόηε ηο παθέηο κπορεί λα ιεθζεί θαλοληθά Αλ ε ιακβαλόκελε ελέργεηα ηοσ ζήκαηος είλαη κεγαιύηερε από ηο CSThresh_, ηόηε κπορεί λα εληοπηζηεί ε κεηάδοζε ηοσ παθέηοσ * * 10-15

73 Pt_ Καζορίδεη ηελ ελέργεηα κεηάδοζες 4.0 Όιεο νη παξαπάλσ παξάκεηξνη αξρηθνπνηνχληαη ζε έλα μερσξηζηφ tcl αξρείν κε ηελ νλνκαζία properties.tcl. Κάζε ζελάξην πνπ νξίδεηαη ζε θάπνην tcl αξρείν πεξηιακβάλεη θαη ην αξρείν properties.tcl, θαζνξίδνληαο κε απηφλ ηνλ ηξφπν ηα ραξαθηεξηζηηθά ηεο κεηάδνζεο. Όπσο ζα αλαιπζεί θαη ζηε ζπλέρεηα, ζην αξρείν απηφ αξρηθνπνηνχληαη θαη άιιεο παξάκεηξνη πνπ θαζνξίδνπλ ηε ζπκπεξηθνξά ηνπ δηθηχνπ, φπσο ε δπλαηφηεηα ηνπ ζπγρξνληζκνχ θαη ην είδνο sensing πνπ ζα πξαγκαηνπνηείηαη. Ζ αιιαγή ζηελ εκβέιεηα ιεηηνπξγίαο ησλ θφκβσλ ηνπ δηθηχνπ κπνξεί λα επηβεβαησζεί κε ηελ εθηέιεζε ελφο απινχ ζελαξίνπ. Έζησ γηα παξάδεηγκα, έλα θειί πνπ απνηειείηαη απφ έλαλ ζηαζκφ βάζεο θαη κηα ζπζθεπή πειάηε θαη ζην νπνίν ππάξρεη έλαο θαθφβνπινο ρξήζηεο 30 ν νπνίνο εθπέκπεη πεξηνδηθά παθέηα 31, πξνθαιψληαο απψιεηεο δεδνκέλσλ. ηφρνο είλαη λα κεηξεζεί ε απψιεηα ησλ δεδνκέλσλ πνπ πξνθαιείηαη απφ ηνλ επηηηζέκελν (έζησ CPE A ), αλάινγα κε ηελ απφζηαζή ηνπ d απφ ηε ζπζθεπή πειάηε (έζησ CPE 1 ). ηελ παξαθάησ εηθφλα παξηζηάλεηαη ε ηνπνινγία ηνπ ζελαξίνπ, κε ηελ απφζηαζε ηνπ CPE 1 απφ ηνλ ζηαζκφ βάζεο λα είλαη ζηαζεξή ζηα 10 km. ηελ παξαθάησ γξαθηθή παξάζηαζε παξηζηάλνληαη ηα bits πνπ ράλνληαη, ιφγσ ηεο ζχγθξνπζεο (colission) ησλ δεδνκέλσλ πνπ ζηέιλνληαη απφ ηνλ ζηαζκφ βάζεο ζηνλ CPE 1 θαζ φιε ηε δηάξθεηα ηεο πξνζνκνίσζεο. Ζ ξνή εθθηλεί κεηά ηα 0.5 sec (ρξεζηκνπνηείηαη ε rtps ξνή), κε ηελ πξνζνκνίσζε λα ηεξκαηίδεηαη ζηα 3 sec. 30 Ο ηξφπνο κε ηνλ νπνίν κνληεινπνηείηαη ν επηηηζέκελνο ζα αλαιπζεί ζηε ζπλέρεηα 31 ηελ ζπγθεθξηκέλε πεξίπησζε ν επηηηζέκελνο εθπέκπεη ηξία παθέηα ζε θάζε frame

74 Δεδομζνα που ζχουν χακεί (ςε bits) Απϊλεια δεδομζνων ςε ςχζςθ με τθν απόςταςθ του επιτικζμενου 33 km Απόςταςθ από το CPE 1 (ςε km) Παξαηεξείηαη πσο ε απψιεηα δεδνκέλσλ πνπ πξνθαιείηαη ζηνλ CPE 1 ιφγσ ηεο παξεκβνιήο απφ ηνλ επηηηζέκελν είλαη ζηαζεξή γηα απφζηαζε απφ 5 σο 33 km, ελδεηθηηθφ θαη ηεο απνπζίαο ηεο πξνζνκνίσζεο ηεο εμαζζέληζεο ηνπ ζήκαηνο (fading) απφ ηνλ ns-2. Σα 33 km είλαη ε κέγηζηε απφζηαζε ζηελ νπνία κπνξεί λα βξεζεί ν επηηηζέκελνο θαη λα πξνθαιέζεη απψιεηεο δεδνκέλσλ ζηνλ CPE 1, επηβεβαηψλνληαο ηελ αιιαγή ζηελ εκβέιεηα ιεηηνπξγίαο θάζε θφκβνπ. Απφζηαζε κεγαιχηεξε απφ 33 km δελ πξνθαιεί θακηά παξεκβνιή, γεγνλφο πνπ θαηαδεηθλχεηαη θαη απφ ηε κεδεληθή απψιεηα δεδνκέλσλ απφ ηε κεξηά ηνπ CPE 1. Όπσο παξαηεξήζεθε θαη απφ ην παξαπάλσ ζελάξην, ζε αληίζεζε κε άιινπο πξνζνκνησηέο δηθηχνπ, ζηνλ ns-2 δελ ππνζηεξίδεηαη ε εμαζζέληζε ηνπ ζήκαηνο. Ζ εμαζζέληζε ηνπ ζήκαηνο δελ απνηειεί απαξαίηεην ραξαθηεξηζηηθφ γηα ηα ζελάξηα πξνζνκνίσζεο πνπ ζα πξαγκαηνπνηεζνχλ ζηε ζπλέρεηα, κπνξεί σζηφζν λα πξνζηεζεί σο έλα επηπιένλ ραξαθηεξηζηηθφ. Δηδηθφηεξα, ε εμαζζέληζε κπνξεί λα κνληεινπνηεζεί θαηά Rayleigh, φπνπ ε ζπλάξηεζε ππθλφηεηαο πηζαλφηεηαο (pdf) γηα ην Rayleigh fading, ππνινγίδεηαη απφ ηε ζρέζε [28]: pdf P = 1 P e P P φπνπ ην P είλαη ε ηζρχο, ελψ ην P είλαη ε κέζε ηζρχο, ε νπνία ζηελ πεξίπησζε ηνπ ns-2, απνζεθεχεηαη ζηε κεηαβιεηή Pr ηεο ζπλάξηεζεο sendup ζηελ θιάζε WirelessPhy (αξρείν wireless-phy.cc). πλεπψο, ε δπλαηφηεηα πξνζνκνίσζεο Rayleigh fading κπνξεί λα ππνζηεξηρζεί θαη ζηνλ ns-2, κε ηελ πξνζζήθε ηνπ παξαθάησ ηκήκαηνο θψδηθα:

75 Τπνζηήξημε Rayleigh fading ζηνλ ns-2 if(propagation_) { s.stamp((mobilenode*)node(), ant_, 0, lambda_); Pr = propagation_->pr(&p->txinfo_, &s, this); /* Add Rayleigh fading (neglect time-correlation) */ double mean = Pr; Pr = Random::exponential(mean); if (Pr < CSThresh_)... ην αξρείν properties.tcl πξνζηίζεηαη κηα επηπιένλ κεηαβιεηή κε ηελ νπνία νξίδεηαη ε δπλαηφηεηα πξνζνκνίσζεο ηνπ fading. Ζ κεηαβιεηή απηή είλαη ε fading_, ζηελ νπνία αλ ηεζεί ε ηηκή 1, φπσο θαίλεηαη θαη ζηελ παξαθάησ δήισζε, ελεξγνπνηεί ηελ πξνζνκνίσζε ηνπ Rayleigh fading. Phy/WirelessPhy set fading_ 1 ην module έρνπλ πξαγκαηνπνηεζεί θαη επηπιένλ ηξνπνπνηήζεηο κε ηηο νπνίεο εμαζθαιίδεηαη πσο ε επηθνηλσλία κεηαμχ ηνπ ζηαζκνχ βάζεο θαη ησλ ζπζθεπψλ πειαηψλ ζα πξαγκαηνπνηεζεί όπσο νξίδεηαη από ηε δνκή ελόο frame. Σν module ηνπ θαηά ηε δηάξθεηα ηεο πξνζνκνίσζεο παξνπζίαδε κηα κε θπζηνινγηθή δνκή ζην frame, θαηά κήθνο ηνπ νπνίνπ κεηαδηδφηαλ είηε κφλν downlink θπθινθνξία, είηε κφλν uplink, είηε ην frame παξέκελε θελφ, ρσξίο λα πξαγκαηνπνηείηαη θακηά κεηάδνζε. Σν είδνο ηεο ξνήο πνπ ρξεζηκνπνηείηαη θαηά θφξνλ ζηηο πξνζνκνηψζεηο είλαη ην rtps, ην νπνίν έρεη ππνζηεί θαη φιεο ηηο απαξαίηεηεο ηξνπνπνηήζεηο. Ζ κε θπζηνινγηθή δνκή ηνπ frame νθεηιφηαλ ζηε ιαλζαζκέλε αξρηθνπνίεζε ηεο κεηαβιεηήο PollingInterval κε ηελ νπνία θαζνξίδεηαη πξαθηηθά ν ξπζκφο κε ηνλ νπνίν ν ζηαζκφο βάζεο ζα αξρηθνπνηεί ην uplink θαη ην downlink subframe. Χζηφζν, ζηελ πεξίπησζε ηεο rtps ξνήο, ην PollingInterval αξρηθνπνηνχηαλ κε βάζε ηελ ηηκή κηαο άιιεο κεηαβιεηήο, ηεο MaxLatency πνπ ήηαλ 50. πλεπψο, ε ξχζκηζε ηεο θπθινθνξίαο απφ ην BS πξαγκαηνπνηνχηαλ θάζε 0.05 sec (50/1000), ρξφλνο πνπ είλαη κεγαιχηεξνο απφ ηε δηάξθεηα ελφο frame (0.01 sec), δηαηαξξάζζνληαο κε απηφλ ηνλ ηξφπν ηε θπζηνινγηθή δνκή ηνπ. Ζ κεηάδνζε αθνινπζεί ηελ θαζνξηζκέλε απφ ην πξφηππν δνκή, κε ηελ αιιαγή ηεο ηηκή ηεο MaxLatency, ε νπνία γίλεηαη απηή ηε θνξά 1. Ζ παξαθάησ εηθφλα παξηζηάλεη ηηο απνζηνιέο παθέησλ ξνήο πνπ πξαγκαηνπνηνύληαη θαηά κήθνο ελόο frame θαηά ηε δηάξθεηα ηεο πξνζνκνίσζεο γηα έλα θειί πνπ απνηειείηαη απφ έλαλ ζηαζκφ βάζεο θαη δύν ζπζθεπέο πειαηώλ. Παξαηεξείηαη πσο ε αιιεινπρία ησλ κεηαδφζεσλ αθνινπζεί ηε δνκή ηνπ frame, κε ην downlink subframe λα πεξηέρεη ηηο κεηαδφζεηο απφ ην BS πξνο ηηο ζπζθεπέο πειαηψλ (ss1, ss2 recv rtps pkt) θαη ην uplink subframe αληίζηνηρα λα πεξηέρεη ηηο κεηαδφζεηο πξνο ηελ αληίζηξνθε θαηεχζπλζε (bs recv rtps pkt from ss1, ss2).

76 ε απηή ηελ παξάγξαθν γίλεηαη αλαθνξά ζηα βαζηθά ζεκεία ησλ αξρείσλ tcl πνπ ρξεζηκνπνηήζεθαλ γηα ηηο πξνζνκνηψζεηο. πγθεθξηκέλα, αλαιχνληαη tcl εληνιέο πνπ έρνπλ νξηζηεί εηδηθά γηα ηηο αλάγθεο ηεο πξνζνκνίσζεο. Γηα λα νξηζηεί έλαο θφκβνο σο ζηαζκφο βάζεο, θαζνξίδεηαη ε ζέζε ηνπ ζην ρψξν πνπ ζα ρξεζηκνπνηεζεί γηα ηελ πξνζνκνίσζε, αλ απηφο ζα θηλείηαη, ελψ γίλνληαη θαη θάπνηεο επηπιένλ δειψζεηο πνπ ρξεζηκνπνηνχληαη γηα ηελ αξρηθνπνίεζε κεηαβιεηψλ πνπ ζα ρξεζηκνπνηεζνχλ γηα ηελ πξνζνκνίσζε ηνπ πξσηνθφιινπ MAC. Ζ δήισζε ελφο ζηαζκνχ βάζεο θαίλεηαη παξαθάησ: Γήισζε ελόο θόκβνπ πνπ είλαη ζηαζκόο βάζεο set channelap0 1 set bstation [$ns node] $bstation random-motion 0 $bstation set X_ 200 $bstation set Y_ 200 $bstation set Z_ 0.0 $ns initial_node_pos $bstation 20 set bstationmac [$bstation getmac 0] set AP_ADDR_0 [$bstationmac id] $bstationmac bss_id $AP_ADDR_0 $bstationmac set-channel $channelap0

77 Ζ δήισζε $bstation random-motion 0 ππνδειψλεη φηη ν ζηαζκφο βάζεο ζα παξακέλεη αθίλεηνο, ελψ νη ακέζσο παξαθάησ, φπσο γίλεηαη εχθνια αληηιεπηφ, αθνξνχλ ηελ ζέζε ηνπ ζηαζκνχ βάζεο ζην ρψξν. Με παξφκνην ηξφπν γίλεηαη θαη ν νξηζκφο ελφο θφκβνπ σο ζπζθεπήο πειάηε. Μηα δηαθνξά πνπ παξαηεξείηαη έγθεηηαη ζηε ξεηή δήισζε ηνπ σο ζπζθεπή πειάηε κε ηε $cpestationmac is_cpe, έηζη ψζηε λα είλαη δπλαηή ε αξρηθνπνίεζε ησλ αληίζηνηρσλ κεηαβιεηψλ πνπ ζρεηίδνληαη κε ηηο ζπζθεπέο πειαηψλ. Μηα επηπιένλ δηαθνξά εληνπίδεηαη ζηελ δήισζε $node_(1) base-station $AP_ADDR_0 32 ζηελ νπνία νξίδεηαη ν ζηαζκφο βάζεο ζηνλ νπνίν ζα είλαη ζπλδεδεκέλε ε ζπγθεθξηκέλε ζπζθεπή πειάηε (ζηαζκφο βάζεο κε ην id AP_ADDR_0) πνπ αξρηθνπνηεί κηα κεηαβιεηή πνπ δηαρσξίδεη ηηο δηθηπαθέο νληφηεηεο. Ζ δήισζε κηαο ζπζθεπήο πειάηε θαίλεηαη παξαθάησ: Γήισζε ελόο θόκβνπ πνπ είλαη ζπζθεπή πειάηε set channelap0 1 set node_(1) [$ns node] $node_(1) base-station $AP_ADDR_0 ; $node_(1) set X_ 5200 $node_(1) set Y_ 200 $node_(1) set Z_ 0.0 $ns initial_node_pos $node_(1) 20 set cpetationmac [$node_(1) getmac 0] $cpetationmac is_cpe $cpetationmac set-channel $channelap0 Όπσο πεξηγξάθεθε ζε πξνεγνχκελν θεθάιαην, γηα ηελ πεξηγξαθή ησλ πξνζνκνηψζεσλ ζηα αξρεία tcl είλαη απαξαίηεηνο ν νξηζκφο ησλ θεξαηψλ πνπ ζα ρξεζηκνπνηεζνχλ απφ ηνπο θφκβνπο ηεο πξνζνκνίσζεο. Ζ δήισζε απηή θαίλεηαη παξαθάησ. Δπηινγή θεξαίαο εθπνκπήο ζήκαηνο set val(ant) Antenna/OmniAntenna ;# antenna model set ns set chan0 [new Simulator] [new $val(chan)] $ns node-config-anttype $val(ant) \ ηηο παξαπάλσ δειψζεηο θαίλεηαη ν νξηζκφο κηαο κφλν θεξαίαο, κηαο παλδηεπζπληηθήο. Γεδνκέλνπ φηη ε παξαπάλσ δήισζε επεξεάδεη ηηο ξπζκίζεηο φισλ ησλ θφκβσλ ηνπ δηθηχνπ, ζα κπνξνχζε λα ππνζηεξηρζεί φηη δελ ππάξρεη πιήξεο αληηζηνηρία κε ην πξσηφθνιιν πνπ νξίδεη φηη νη ζπζθεπέο πειαηψλ ζα πξέπεη λα έρνπλ ηφζν κηα παλδηεπζπληηθή φζν θαη κηα 32 Πάλσ ζηε δήισζε απηή βαζίδεηαη θαη ε ιεηηνπξγία ηνπ fine sensing, φπσο έρεη αλαιπζεί ζηελ παξάγξαθν 4.2

78 θαηεπζπληηθή θεξαία. Χζηφζν, ε πξνζνκνίσζε ιεηηνπξγίαο κηαο παλδηεπζπληηθήο θεξαίαο δελ είλαη εθηθηή ζηνλ ns-2. Γηα ηε δήισζε ησλ ξνψλ δεδνκέλσλ απαηηείηαη ν θαζνξηζκφο ησλ δπν άθξσλ ηεο επηθνηλσλίαο (απνζηνιέαο θαη παξαιήπηεο), θαζψο θαη ν ηχπνο δεδνκέλσλ πνπ ζα κεηαδνζνχλ. Γήισζε κηαο ξνήο δεδνκέλσλ set val(start) 0.5 ;# time of simulation start set val(stop) 3.0 ;# time of simulation end 1.set udp [new Agent/UDP] 2.$ns attach-agent $bstation $udp 3.set null [new Agent/Null] 4.$ns attach-agent $node_(1) $null 5.$ns connect $udp $null 6.set cbr [new Application/Traffic/rtPS] 7.$cbr attach-agent $udp 8.$ns at $val(start) "$cbr start" 9.$ns at $val(stop) "$cbr stop" ηηο γξακκέο 1 θαη 2 θαίλεηαη ν νξηζκφο ελφο agent ηχπνπ UDP ν νπνίνο πξνζαξηάηαη ζηνλ ζηαζκφ βάζεο. Ο UDP agent απνηειεί θαη ηελ πεγή ηεο επηθνηλσλίαο, φπσο δειψλεηαη ζηε γξακκή 7, ελψ ζηελ γξακκή 6 νξίδεηαη ε θίλεζε πνπ ζα πξαγκαηνπνηεζεί (rtps). ηηο γξακκέο 3 θαη 4 γίλεηαη ν αληίζηνηρνο νξηζκφο ηνπ άιινπ άθξνπ ηεο επηθνηλσλίαο πνπ είλαη έλαο agent ιήςεο δεδνκέλσλ, ν νπνίνο πξνζαξηάηαη ζηελ ζπζθεπή πειάηε. ηελ γξακκή 5 γίλεηαη ε ζχλδεζε ηνπο, ελψ ζηηο ηειεπηαίεο δπν γξακκέο θαζνξίδνληαη νη ρξνληθέο ζηηγκέο εθθίλεζεο θαη ηεξκαηηζκνχ ησλ κεηαδφζεσλ. ε απηή ηελ παξάγξαθν ζα πεξηγξαθεί έλα ζελάξην πξνζνκνίσζεο ζην νπνίν επηδεηθλχεηαη ν ηξφπνο κε ηνλ νπνίν δίθηπα πνπ βξίζθνληαη ζην ίδην θαλάιη, αιιάδνπλ θαλάιη, απνθεχγνληαο κε απηφλ ηνλ ηξφπν ηε κεηαμχ ηνπο παξεκβνιή. Αξρηθά ζα πξέπεη λα αλαθεξζνχλ θάπνηα πξάγκαηα ζρεηηθά κε ηελ ηνπνινγία πνπ είραλ νη ζηαζκνί βάζεο (BSs) θαη νη ζπζθεπέο ησλ πειαηψλ (CPEs) ζηελ πξνζνκνίσζε. ε κηα πεξηνρή πνπ νξίδεηαη απφ έλα ηεηξάγσλν πιεπξάο ελφο ρηιηνκέηξνπ, ππάξρνπλ ηξεηο (3) ζηαζκνί βάζεο. ηελ ίδηα πεξηνρή βξίζθνληαη θαη ηξεηο (3) ζπζθεπέο πειαηψλ, θαζεκηά απφ ηηο νπνίεο είλαη ζπζρεηηζκέλε κε έλα ζηαζκφ βάζεο. Ο αξηζκφο ησλ θαλαιηψλ πνπ είλαη δηαζέζηκα (είλαη δειαδή ειεχζεξα) είλαη 3. Αξρηθά θαη νη ηξεηο ζηαζκνί βάζεο ιεηηνπξγνχλ ζην ίδην θαλάιη. θνπφο ηνπ ζελαξίνπ είλαη ε ιεηηνπξγία θαη ησλ ηξηψλ ζηαζκψλ βάζεο ζε δηαθνξεηηθά θαλάιηα, έηζη ψζηε λα κελ ππάξρνπλ παξεκβνιέο κεηαμχ ηνπο. Μηα αθφκε ζεκαληηθή παξάκεηξνο πνπ επεξεάδεη ηα κεηξνχκελα απνηειέζκαηα είλαη θαη ην ρξνληθφ δηάζηεκα θαηά ην νπνίν πξαγκαηνπνηείηαη έιεγρνο απφ ηηο ζπζθεπέο ησλ πειαηψλ γηα χπαξμε άιισλ BSs ζην ίδην θαλάιη. Χζηφζν, νη δηαδηθαζίεο γηα ηελ αιιαγή θαλαιηνχ ελεξγνπνηνχληαη κεηά ηελ πάξνδν ελφο superframe, θαζψο ην fine sensing ελεξγνπνηείηαη ζην ηέινο ελφο superframe.

79 Αρικμόσ καναλιοφ Παρεμβολζσ Παρεμβολζσ ςε ςυνάρτθςθ με το χρόνο για τουσ ςτακμοφσ βάςθσ (BSs) Παρεμβολζσ BS0 Παρεμβολζσ BS1 Παρεμβολζσ BS Χρόνοσ 3 Κατοχι καναλιϊν ςτθν διάρκεια του χρόνου Χρόνοσ Κυψζλη 1 Κυψζλη 2 Κυψζλη 3 ηελ παξηζηάλνληαη νη παξεκβνιέο ζε ζπλάξηεζε κε ην ρξόλν γηα ηνπο ζηαζκνύο βάζεο. Ζ παξεκβνιή πνπ έρεη κεηξεζεί είλαη ν ιόγνο ηνπ αξηζκνύ ησλ παθέησλ πνπ έρνπλ ιεθζεί από άιια δίθηπα πξνο ηνλ αξηζκό ησλ ζπλνιηθώλ παθέησλ πνπ έρνπλ ιεθζεί. Αληίζηνηρα, ζηελ Error! Reference source not found. παξηζηάλεηαη ε θαηνρή ησλ θαλαιηώλ από ηηο θπςέιεο (cells) ηε ρξνληθή δηάξθεηα ηνπ πεηξάκαηνο. Κπςέιε (cell), φπσο αλαθέξζεθε θαη παξαπάλσ, ζεσξείηαη ην δίθηπν πνπ δεκηνπξγείηαη κεηαμύ ησλ ζηαζκώλ βάζεο θαη ησλ θηλεηώλ ηεξκαηηθώλ πνπ είλαη ζπζρεηηζκέλα κε απηό. Θα πξέπεη φκσο λα πξνζδηνξηζηεί θαη ε έλλνηα ηεο παξεκβνιήο. Θα αλαιπζεί ε παξεκβνιή ηφζν φζνλ αθνξά ηελ νληφηεηα ηνπ ζηαζκνχ βάζεο φζν θαη ην θηλεηφ ηεξκαηηθφ. Παξεκβνιέο γηα ηνλ ζηαζκφ βάζεο ζεσξνχληαη αθελφο ηα

80 παθέηα πνπ δέρεηαη απφ θάπνηα άιιε θπςέιε θαη αθεηέξνπ ηα παθέηα ηα νπνία ιακβάλεη αιιά δελ πξννξίδνληαη γηα απηφλ (παθέηα ηα νπνία ζηε ζπλέρεηα απνδεζκεχνληαη κε ηε δηαδηθαζία ηνπ address filtering). Αληίζηνηρα, γηα ηελ πεξίπησζε ηνπ θηλεηνχ ηεξκαηηθνχ, παξεκβνιέο ζεσξνχληαη φια ηα παθέηα πνπ δελ ιακβάλνληαη απφ ην ζπζρεηηζκέλν κε απηφ ζηαζκφ βάζεο, θαζψο απηφο είλαη ν κφλνο θφκβνο ηνπ δηθηχνπ απφ ηνλ νπνίν ιακβάλεη πιεξνθνξίεο. Όπσο έρεη αλαθεξζεί, θαη νη 3 ζηαζκνί βάζεο ηεο πξνζνκνίσζεο εθθηλνχλ ηε ιεηηνπξγία ηνπο ζε δηαθνξεηηθέο ρξνληθέο ζηηγκέο, ζην ίδην αξρηθφ θαλάιη, ην θαλάιη 1. Πξψην μεθηλάεη ην BS 0 κεηά απφ sec, δεχηεξν ην 2 ζηα sec θαη ηειεπηαίν ζηε ζεηξά ην 1 ηελ ρξνληθή ζηηγκή sec. Με βάζε ην ρξφλν εθθίλεζεο θάζε ζηαζκνχ βάζεο κπνξεί λα εμεγεζεί θαη ε γξαθηθή παξάζηαζε ηεο. Καζψο ην BS 0 μεθηλάεη πξψην ηηο κεηαδφζεηο ηνπ, κέρξη λα εθθηλήζεη ηηο κεηαδφζεηο ηνπ ην BS 2, δελ ππάξρεη θακηά παξεκβνιή. Απηφ άιισζηε θαίλεηαη θαη απφ ηελ παξαπάλσ γξαθηθή παξάζηαζε, ζηελ νπνία ε παξεκβνιή γηα ην BS 0 αξρίδεη θαη απνθηά κε κεδεληθή ηηκή ηε ζηηγκή εθθίλεζεο ηνπ BS 2. Απφ εθείλε ηε ζηηγκή θαη κεηά, ηφζν ην BS 0 φζν θαη ην BS 2, αξρίδνπλ θαη δέρνληαη κελχκαηα ην έλα απφ ην άιιν πνπ ζεσξνχληαη παξεκβνιέο. Με ηελ εθθίλεζε ησλ κεηαδφζεσλ θαη ηνπ BS 1 νη παξεκβνιέο κεγηζηνπνηνχληαη, φπσο θαίλεηαη θαη ζηελ παξαπάλσ γξαθηθή παξάζηαζε ζηελ νπνία ε παξεκβνιή θαη ησλ ηξηψλ BSs ηείλεη ζηε κνλάδα. Ζ αχμεζε ησλ παξεκβνιψλ ζηελ πεξίπησζε ησλ BS εθείλε ηε ρξνληθή πεξίνδν εμεγείηαη απφ ην γεγνλφο φηη ηα κφλα παθέηα πνπ δέρνληαη νη ζηαζκνί βάζεο είλαη ηα δηαρεηξηζηηθά κελχκαηα απφ άιινπο ζηαζκνχο βάζεο, θαζψο δελ έρεη εθθηλήζεη αθφκα ε ξνή δεδνκέλσλ κεηαμχ ησλ θηλεηψλ ηεξκαηηθψλ θαη ησλ ζηαζκψλ βάζεο 33. ηα sec ε θπςέιε πνπ απνηειείηαη απφ ην BS 0 θαη ην CPE 3 έρνληαο εληνπίζεη ηηο παξεκβνιέο απηέο αιιάδεη ην θαλάιη ιεηηνπξγίαο, κεηαβαίλνληαο ζην θαλάιη 2. Απφ ηελ ρξνληθή ζηηγκή απηή θαη έπεηηα παξαηεξείηαη κείσζε ζηηο ηηκέο ησλ παξεκβνιψλ ησλ BS 1 θαη BS 2, ελψ ε αληίζηνηρε γηα ην BS 0 κεδελίδεηαη. Ζ ρξνληθή ζηηγκή πνπ παξαηεξείηαη ε κείσζε ζην 0 ησλ παξεκβνιψλ φισλ ησλ ζηαζκψλ βάζεο είλαη ε ρξνληθή ζηηγκή sec, φπνπ ε θπςέιε πνπ απνηειείηαη απφ ην BS 1 θαη ην CPE 4, έρνληαο εληνπίζεη φηη θάπνηα άιιε θπςέιε ιεηηνπξγεί ζην ίδην θαλάιη, αιιάδεη θαη απηή θαλάιη ιεηηνπξγίαο, κεηαβαίλνληαο ζην θαλάιη 3. Με απηφλ ηνλ ηξφπν νη παξεκβνιέο αληηκεησπίδνληαη επηηπρψο, κε θάζε θπςέιε λα ιεηηνπξγεί ζε δηαθνξεηηθφ θαλάιη. 33 Έρνπλ νξηζηεί ζηελ πξνζνκνίσζε λα μεθηλνχλ ηε ρξνληθή ζηηγκή 1sec

81 Παρεμβολζσ 1.00 Παρεμβολζσ ςε ςυνάρτθςθ με το χρόνο για τισ ςυςκευζσ των χρθςτϊν (CPEs) Παρεμβολζσ CPE3 Παρεμβολζσ CPE4 Παρεμβολζσ CPE Χρόνοσ ηελ παξαπάλσ εηθφλα θαίλεηαη ε αληίζηνηρε γξαθηθή παξάζηαζε ησλ παξεκβνιώλ ζε ζπλάξηεζε κε ην ρξόλν, απηή ηε θνξά γηα ηηο ζπζθεπέο ησλ πειαηώλ. Παξαηεξνχληαη θάπνηεο δηαθνξέο ζηε κνξθή ηεο γξαθηθή παξάζηαζεο ζε ζρέζε κε ηελ αληίζηνηρε ησλ ζηαζκψλ βάζεο. Απηφ νθείιεηαη ζηνλ νξηζκφ γηα ηηο παξεκβνιέο πνπ έρεη δνζεί παξαπάλσ φζνλ αθνξά ην ηη ζεσξείηαη παξεκβνιή γηα ηηο ζπζθεπέο ησλ πειαηψλ. Όζν δελ έρεη εθθηλήζεη ηηο κεηαδφζεηο ηνπ ν ζηαζκφο βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλε ε εθάζηνηε ζπζθεπή πειάηε, ιακβάλεη παθέηα (δηαρεηξηζηηθά παθέηα) κφλν απφ ηνπο ζηαζκνχο βάζεο πνπ έρνπλ εθθηλήζεη, πνπ φκσο ζεσξνχληαη παξεκβνιέο. Μηα αθφκα δηαθνξά παξνπζηάδεηαη θαη ζην γεγνλφο φηη πέξα απφ ην CPE 4 ηνπ νπνίνπ ην BS μεθηλάεη ηειεπηαίν ηηο κεηαδφζεηο ηνπ, θαλέλα άιιν δελ πιεζηάδεη ην 1, παξφιν πνπ δελ έρνπλ αξρίζεη νη ξνέο ησλ δεδνκέλσλ απφ επίπεδα αλψηεξα ηνπ MAC. Απηφ νθείιεηαη ζην γεγνλφο φηη νη ζπζθεπέο πειαηψλ ιακβάλνπλ παθέηα ηφζν απφ ην ζηαζκφ βάζεο κε ην νπνίν είλαη ζπζρεηηζκέλεο φζν θαη απφ ηνπο ππφινηπνπο ζηαζκνχο βάζεο, κε απνηέιεζκα ν ιφγνο ηνπ αξηζκνχ ησλ παθέησλ πνπ ιακβάλνληαη θαη δελ ζεσξνχληαη παξεκβνιέο λα είλαη αηζζεηά κηθξφηεξνο απφ ηνλ ζπλνιηθφ αξηζκφ ησλ παθέησλ πνπ ιακβάλνληαη. Ζ γξαθηθή παξάζηαζε πηζηνπνηεί ηελ παξαπάλσ ππφζεζε, θαζψο γηα ηα θειηά πνπ πεξηέρνπλ ην CPE 4 θαη ην CPE 5 θαη εκθαλίδνληαη ιίγν αξγφηεξα ζην θαλάιη ζε ζρέζε κε ην θειί 1 πνπ πεξηέρεη ην CPE 3 (καχξε θαη γαιάδηα γξαθηθή παξάζηαζε ηεο Δηθφλαο 4.10), ε παξεκβνιή αξρηθά έρεη ηηκή Ζ ζπγθεθξηκέλε ηηκή γηα θάζε ζπζθεπή πειάηε αληηζηνηρεί ζηα 2/3 ησλ ζπλνιηθώλ παθέησλ πνπ ιακβάλεη από ηα άιια 2 θειηά, ελψ ην ππφινηπν 1/3 ησλ παθέησλ ιακβάλεηαη από ηνλ ζηαζκό βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλε. πλεπψο, γηα ηε ρξνληθή πεξίνδν sec, ην CPE 3, εθφζνλ αλήθεη ζην κνλαδηθφ θειί ηνπ νπνίνπ ν ζηαζκφο βάζεο (BS 0 ) έρεη εκθαληζηεί ζην θαλάιη, δελ παξνπζηάδεη θάπνηνπ είδνπο παξεκβνιή. Γηα ην ίδην ρξνληθφ δηάζηεκα, ηα CPE 4 θαη CPE 5 δέρνληαη παθέηα κφλν απφ ην BS 0 ηα νπνία ζεσξνχληαη παξεκβνιέο. Με ηελ εθθίλεζε ηνπ BS 2, κεηψλνληαη νη παξεκβνιέο ηνπ CPE 5 θαη απμάλνληαη αληίζηνηρα απηέο ηνπ CPE 3 (φπσο δηαπηζηψλεηαη θαη απφ ηε γξαθηθή αξρηθά ε παξεκβνιή έρεη ηελ ηηκή 0.5, πηζηνπνηψληαο πσο ηα κηζά παθέηα ιακβάλνληαη απφ ην BS 2 θαη είλαη παξεκβνιέο). Οη παξεκβνιέο απμάλνληαη αθφκα πεξηζζφηεξν,

82 θηάλνληαο ηε κέγηζηε ηηκή ηνπο κε ηελ εθθίλεζε ησλ κεηαδφζεσλ ηνπ BS 1. Ζ κείσζε αξρίδεη ηελ ρξνληθή ζηηγκή sec, φπνπ ε θπςέιε ηνπ BS 2 αιιάδεη θαλάιη ιεηηνπξγίαο, ελψ κεδελίδεηαη θαη γηα ηα 3 CPEs, φηαλ θαη ην BS 2 αιιάμεη ην θαλάιη ιεηηνπξγίαο ηνπ ζηα sec. Ζ αθξίβεηα φισλ ησλ απνηειεζκάησλ πνπ παξνπζηάδνληαη παξαπάλσ εμαξηψληαη απφ ηελ ζπρλφηεηα κε ηελ νπνία ιακβάλνληαη νη κεηξήζεηο. Οη ζπγθεθξηκέλεο κεηξήζεηο ιακβάλνληαη θάζε 0.05 sec. Έλα αξθεηά ελδηαθέξνλ ζηνηρείν πνπ εμεηάδεηαη κε ηε ρξήζε ηνπ ζπγθεθξηκέλνπ module, είλαη νη επηπηώζεηο ηνπ sensing ζην ξπζκό κεηάδνζεο ησλ δεδνκέλσλ. Παξφιν πνπ κε ηελ πξνζζήθε ησλ ιεηηνπξγηψλ ηνπ fast θαη ηνπ fine sensing, νη ζπζθεπέο ησλ πειαηψλ είλαη ζε ζέζε λα εληνπίζνπλ νπνηαδήπνηε παξεκβνιή, είηε απηή πξνέξρεηαη απφ θάπνην ηειενπηηθφ ζήκα (primary users), είηε απηή πξνέξρεηαη απφ θάπνηνλ θαθφβνπιν ρξήζηε (είηε απηφο είλαη ζηαζκφο βάζεο είηε ζπζθεπή πειάηε), δελ ιείπνπλ θαη νη επηβαξχλζεηο ζηε ξνή ησλ δεδνκέλσλ. Έζησ: Σ sense : ε δηάξθεηα ηνπ sensing ζε θάζε frame θαη T frame : ε δηάξθεηα ηνπ frame [18] Ζ επηβάξπλζε ζην ξπζκφ κεηάδνζεο κπνξεί λα ππνινγηζηεί κε ηε κέηξεζε ηεο απνδνηηθφηεηαο ζηε κεηάδνζε (transmission efficiency) a, ε νπνία είλαη ν ιόγνο ηνπ ρξόλνπ ζηνλ νπνίν πξαγκαηνπνηείηαη ε κεηάδνζε πξνο ηε ζπλνιηθή πεξίνδν ζηελ νπνία πξαγκαηνπνηείηαη ην sensing θαη πξαγκαηνπνηείηαη κεηάδνζε δεδνκέλσλ, φπσο θαίλεηαη θαη ζηελ παξαθάησ ζρέζε: a = T frame T frame + T sense (1) Σν Σ sense ζα αληηζηνηρεί ζηε δηάξθεηα ηνπ fast sensing ην νπνίν πξαγκαηνπνηείηαη ζε θάζε frame. Όπσο έρεη νξηζηεί ζην πξφηππν ηνπ , ην fast sensing ζα πξέπεη λα έρεη δηάξθεηα 1 ms (= sec), ελψ ε δηάξθεηα ηνπ frame είλαη 10ms (0.01 sec). Δπνκέλσο, ε απνδνηηθφηεηα πνπ πξνθχπηεη βάζεη ηεο (1) είλαη: 0.01 sec a = 0.01 sec sec = = Με βάζε ηελ παξαπάλσ ζρέζε, αλ ν ξπζκφο κεηάδνζεο ζε θαλνληθέο ζπλζήθεο (ρσξίο ηελ παξνπζία sensing) είλαη T, ηφηε κε ηελ πξνζζήθε ηνπ sensing κεηψλεηαη, κε ηελ ηηκή ηνπ λα είλαη at. Ζ κείσζε ηνπ ξπζκνχ κεηάδνζεο κπνξεί λα επηβεβαησζεί θαη πεηξακαηηθά κε ηελ εθηέιεζε ηνπ module, φπνπ ζα κεηξεζεί ε ξνή ησλ δεδνκέλσλ κε (θαη ρσξίο) ηελ παξνπζία sensing. Έζησ, έλαο ζηαζκφο βάζεο πνπ αληαιιάζεη δεδνκέλα κε θάπνηεο ζπζθεπέο πειαηψλ ζε έλα ζπγθεθξηκέλν θαλάιη, ρσξίο λα ππάξρεη θάπνηα άιιε παξεκβνιή, εληφο ηεο εκβέιεηαο ιεηηνπξγίαο ηνπο. Οη κεηξήζεηο πνπ πξαγκαηνπνηήζεθαλ παξνπζηάδνληαη ζηνλ παξαθάησ πίλαθα. Δηδηθφηεξα, κεηξήζεθε ν ξπζκφο ιήςεο ηεο ξνήο 34 γηα κηα ζπζθεπή πειάηε ζην δίθηπν. ηνλ παξαθάησ πίλαθα παξνπζηάδεηαη ν ξπζκόο ιήςεο δεδνκέλσλ φπσο κεηξήζεθε κε ηε ρξήζε ηνπ module κε ηελ πξαγκαηνπνίεζε sensing θαη ρσξίο ηελ πξαγκαηνπνίεζε sensing, ζεσξψληαο πσο δελ πξνθαιείηαη θακηά παξεκβνιή ζην θαλάιη απφ θάπνηα εμσηεξηθή νληφηεηα. 34 Ζ ξνή πνπ ρξεζηκνπνηήζεθε είλαη ηχπνπ rtps

83 Λεηηνπξγία Ρπζκόο ξνήο δεδνκέλσλ (Mbps) Απνδνηηθόηεηα a Με παξνπζία sensing Υσξίο παξνπζία sensing Όπσο παξαηεξείηαη, ηα παξαπάλσ απνηειέζκαηα, επηβεβαηψλνπλ ηε ζσζηή ιεηηνπξγία ηνπ module, αιιά θαη ηε ζπκθσλία κε ηε ζεσξεηηθή ζρέζε πνπ δηαηππψζεθε πξνεγνπκέλσο. Ζ απνδνηηθφηεηα πνπ κεηξήζεθε ( ) ζπγθιίλεη ηελ απνδνηηθφηεηα πνπ ππνινγίζηεθε ζεσξεηηθά ( ).

84 Ζ δηαδηθαζία ηνπ ζπγρξνληζκνχ ζην είλαη παξφκνηα κε εθείλε πνπ έρεη πεξηγξαθεί ζεσξεηηθά θαηά ηελ αλάιπζε ηνπ πξνηχπνπ εκαίλνληα ξφιν ζην ζπγρξνληζκφ δχν ή πεξηζζνηέξσλ δηθηχσλ πνπ βξίζθνληαη ζην ίδην θαλάιη ιακβάλεη ε απνζηνιή θαη ε ιήςε ησλ beacons πνπ ζηέιλνληαη απφ ηνπο ζηαζκνχο βάζεο. Όπσο πξνθχπηεη, ε δηαδηθαζία ηνπ ζπγρξνληζκνχ εθηειείηαη απνθιεηζηηθά απφ ηνπο ζηαζκνύο βάζεο, νη νπνίνη είλαη θαη νη κνλαδηθνί πνπ βξίζθνληαη ζε ζέζε λα απνζηέιινπλ θαη λα ιακβάλνπλ beacon παθέηα. πλεπψο, φηαλ νη ζηαζκνί βάζεο νιηζζήζνπλ ηα frame ηνπο γηα λα ζπγρξνληζηνχλ, νη αληίζηνηρεο ζπζθεπέο πειαηψλ πξάηηνπλ ην ίδην, νδεγψληαο ζηελ ηαπηφρξνλε νιίζζεζε νιφθιεξνπ ηνπ δηθηχνπ. Χζηφζν, ν ζπγρξνληζκφο ησλ ζπζθεπψλ πειαηψλ κηαο θπςέιεο κε ην ζηαζκφ βάζεο ζηνλ νπνίν είλαη ζπλδεδεκέλεο δελ απνηειεί ηδηαίηεξν ηερληθφ δήηεκα, δεδνκέλνπ πσο ζηελ πξνγξακκαηηζηηθή πινπνίεζε φινη νη θφκβνη ελφο θειηνχ κνηξάδνληαη έλαλ θνηλφ ρξνλνκεηξεηή. Όπσο έρεη πεξηγξαθεί θαη ζεσξεηηθά, ε βαζηθή ηδέα ηνπ ζπγρξνληζκνχ πεξηιακβάλεη ηε ρξήζε offsets κε ηα νπνία ν ζηαζκφο βάζεο αληίζηνηρα απνθαζίδεη ηε νιίζζεζε ηνπ frame ηνπ θαηά δεμηά ε αξηζηεξά. Ζ ηδέα απηή έρεη ηξνπνπνηεζεί ελ κέξεη, πξνζαξκφδνληάο θαηάιιεια γηα λα εμππεξεηεί ηε δνκή ηνπ module πνπ έρεη πινπνηεζεί. Ηδηαίηεξε ζεκαζία έρεη αξρηθά ε παξνπζίαζε ηνπ ηξφπνπ κε ηνλ νπνίν θάζε ζηαζκφο βάζεο αξρηθνπνηεί ην beacon ηνπ. Κάζε ζηαζκφο βάζεο έρεη νξηζηεί λα ζηέιλεη έλα beacon ζε θάζε frame. Ζ ρξνληθή ζηηγκή πνπ ζηέιλεηαη ην beacon ζε θάζε frame είλαη ζηαζεξή, κε απνηέιεζκα δηαδνρηθέο απνζηνιέο beacons

85 λα απέρνπλ ρξνληθά φζν ην κήθνο ελφο frame. Γηα ηελ πινπνίεζε ηνπ ζπγρξνληζκνύ έρνπλ εηζαρζεί ηέζζεξα πεδία ζην beacon: transmission offset: απνζεθεχεη ην ρξφλν ζηνλ νπνίν ζηέιλεηαη ην beacon ζε ζρέζε κε ηελ αξρή ηνπ frame, ν νπνίνο, φπσο έρεη αλαθεξζεί, είλαη πάληνηε ζηαζεξφο. frame number: απνζηέιιεη ηνλ αξηζκφ ηνπ frame ζην νπνίν ζηέιλεηαη ην ζπγθεθξηκέλν beacon. transmission time: πιήξεο ζπγρξνληζκφο δελ κπνξεί λα επηηεπρζεί αθνινπζψληαο ηηο ζεσξεηηθέο ζρέζεηο πνπ έρνπλ αλαιπζεί. Θα ππάξρεη κηα δηαθνξά αλάκεζα ζηα frames δηαθνξεηηθψλ θπςειψλ, ε νπνία ζα ηζνδπλακεί κε ην ρξφλν απνζηνιήο ηνπ παθέηνπ απφ ηνλ έλα ζηαζκφ βάζεο ζηνλ άιιν. Γη απηφ ην ιφγν απνζηέιιεηαη θαη ε αθξηβήο ψξα ζηελ νπνία ζηέιλεηαη ην παθέην απφ ηνλ ζηαζκφ βάζεο. Οη ζηαζκνί βάζεο πνπ παξαιακβάλνπλ ην beacon ππνινγίδνπλ ην ρξφλν δηάδνζεο ηνπ παθέηνπ αθαηξψληαο απφ ηελ ηξέρνπζα ψξα ηελ ψξα απνζηνιήο ηνπ παθέηνπ πνπ είλαη ην transmission time 35. do_synchronize: boolean κεηαβιεηή πνπ ρξεζηκνπνηείηαη γηα λα θαζνξηζηεί πνηνο ζηαζκφο βάζεο ζα νιηζζήζεη ην frame ηνπ φηαλ πξνζπαζεί λα ζπγρξνληζηεί κε θάπνηνλ άιιν ζηαζκφ βάζεο. ηελ πεξίπησζε πνπ ζπγρξνλίδνληαη δπν ζηαζκνί βάζεο κεηαμχ ηνπο, δελ κπνξνχλ θαη νη δπν ζηαζκνί βάζεο λα νιηζζαίλνπλ ηα frame ηνπο ηαπηφρξνλα, δηαθνξεηηθά δελ ζα ζπγρξνληζηνχλ πνηέ, θαζψο ν έλαο ζα ζπγρξνλίδεηαη κε βάζε ην transmission offset ηνπ άιινπ. Γη απηφ ην ιφγν απαηηείηαη ε ρξήζε κηαο κεηαβιεηήο κε ηε ρξήζε ηεο νπνίαο κφλν έλαο εθ ησλ δπν ζηαζκψλ βάζεο ζα νιηζζαίλεη ην frame ηνπ κε βάζε ην beacon ηνπ άιινπ, επηηπγράλνληαο ην ζπγρξνληζκφ. Έηζη, αλ ε Do_synchronize ηνπ beacon πνπ ιακβάλεηαη έρεη ηελ ηηκή true, ηφηε ν ζηαζκφο βάζεο - παξαιήπηεο ζα πξέπεη λα νιηζζήζεη ην frame ηνπ κε βάζε ην transmission offset ηνπ ζπγθεθξηκέλνπ beacon. Ζ Do_synchronize αξρηθνπνηείηαη κε βάζε ην πεξηερφκελν κηαο άιιεο boolean κεηαβιεηήο, ηεο slide. Αλ ε ηηκή ηεο slide είλαη false, ηφηε ε Do_Synchronize έρεη ηελ ηηκή true, ελψ αλ είλαη true, ε Do_Synchronize γίλεηαη false, κε ηε slide λα μαλαγίλεηαη true. Ο ηξφπνο αξρηθνπνίεζεο ησλ ηεζζάξσλ απηψλ πεδίσλ παξηζηάλεηαη ζην παξαθάησ ηκήκα θψδηθα. Ζ αξρηθνπνίεζή ηνπο πξαγκαηνπνηείηαη ζηε ζπλάξηεζε πνπ αλαιακβάλεη ηελ απνζηνιή ηνπ beacon παθέηνπ (sendbeacon) θαη πξνηνχ θιεζεί ε εληνιή κε ηελ νπνία πξαγκαηνπνηείηαη ε κεηάβαζε ηνπ παθέηνπ ζηα θαηψηεξα επίπεδα θαη νπζηαζηηθά ε απνζηνιή ηνπ 36 : Αρχικοποίθςθ των πεδίων που χρθςιμοποιοφνται για το ςυγχρονιςμό μεταξφ κελιϊν κατά τθν αποςτολι ενόσ beacon (ςυνάρτθςθ sendbeacon ςτο αρχείο mac-802_22.cc) void Mac802_22::sendBEACON(){ // compute transmission offset (used for synchronization) beacon->transmission_offset = frametimer.expire(); beacon->frame_number = FrameNumber_Counter; beacon->transmission_time = Scheduler::instance().clock(); if(slide){ beacon->do_synchronize = false; slide = false; else beacon->do_synchronize = true; downtarget_->recv(p,this); 35 Όπσο δηαπηζηψλεηαη, γηα ηελ απνηειεζκαηηθή επίηεπμε ηνπ ζπγρξνληζκνχ ζεσξείηαη πσο ηα ξνιφγηα φισλ ησλ δηθηπαθψλ θφκβσλ είλαη ζπγρξνληζκέλα. 36 Ζ ζπλάξηεζε απηή είλαη ε downtarget_->recv(p,this)

86 return; Σελ πην πνιχπινθε ιεηηνπξγία παξνπζηάδεη ε Do_Synchronize, ε νπνία κπνξεί λα γίλεη θαηαλνεηή κε ηελ επεμήγεζε ελφο παξαδείγκαηνο. Έζησ δπν θπςέιεο πνπ βξίζθνληαη ζην ίδην θαλάιη θαη ζπγρξνλίδνληαη κεηαμχ ηνπο. Οη αληίζηνηρνη ζηαζκνί βάζεο αξρηθά ζα έρνπλ θαη νη δχν ηε κεηαβιεηή slide ίζε κε false. Ο ζηαζκφο βάζεο πνπ ζα ζηείιεη πξψηνο ην beacon (έζησ 1) ζα ζέζεη ηε Do_Synchronize ίζε κε true, νξίδνληαο ζηελ νπζία ηνλ άιιν ζηαζκφ βάζεο (έζησ 2) λα νιηζζήζεη ηα frames ηνπ κε βάζε εθείλνλ. Αληίζηνηρα, ν ζηαζκφο βάζεο 2 πνπ ιακβάλεη ην beacon, αθνχ νιηζζήζεη θαηάιιεια ην frame ηνπ, ζα ζέζεη ηε slide ηνπ ίζε κε true, απνηξέπνληαο νπνηνλδήπνηε άιινλ ζηαζκφ πνπ ιάβεη ην beacon ηνπ λα ζπγρξνληζηεί καδί ηνπ. Χζηφζν, κφιηο νινθιεξσζεί ν ζπγρξνληζκφο ησλ δπν ζηαζκψλ βάζεο, κε ηα offset ησλ frames ηνπο λα παξνπζηάδνπλ κεδεληθή δηαθνξά, ηφηε ε slide γίλεηαη εθ λένπ false, έηζη ψζηε ελδερνκέλσο άιινη ζηαζκνί βάζεο πνπ βξεζνχλ ζην ίδην θαλάιη λα ζπγρξνληζηνχλ είηε κε ηνλ έλαλ, είηε κε ηνλ άιιν ζηαζκφ βάζεο, θαζψο θαη νη δπν ζα είλαη ήδε ζπγρξνληζκέλνη κεηαμχ ηνπο. πλεπψο, κε βάζε ηελ παξαπάλσ πξνζέγγηζε, θαηά ηε δηάξθεηα ηνπ ζπγρξνληζκνχ, έλαο ζηαζκόο βάζεο απνηειεί ην ζεκείν αλαθνξάο, κε ηνπο ππφινηπνπο ζηαζκνχο βάζεο πνπ βξίζθνληαη ζην ίδην θαλάιη λα ζπγρξνλίδνληαη καδί ηνπ. Έζησ πσο έλαο θηλεηφο θφκβνο ιακβάλεη έλα beacon απφ έλαλ ζηαζκφ βάζεο. Γηα λα νιηζζήζεη ν θηλεηφο θφκβνο ην frame ηνπ θαη λα ζπγρξνληζηεί καδί ηνπ, πξέπεη λα πιεξνχληαη νη παξαθάησ ζπλζήθεο: Ο θηλεηφο θφκβνο λα είλαη θαη απηφο έλαο ζηαζκόο βάζεο. Ο θηλεηφο θφκβνο λα έρεη ήδε μεθηλήζεη ηε ιεηηνπξγία ηνπ θαη λα κελ βξίζθεηαη ζε θαηάζηαζε αλακνλήο. Διέγρνληαο αλ ν αξηζκφο ηνπ frame πνπ ιακβάλεηαη είλαη κεγαιχηεξνο ηεο κνλάδαο, πηζηνπνηείηαη φηη ν ζηαζκφο βάζεο ιεηηνπξγεί θαλνληθά Δίλαη ε πξώηε θνξά πνπ ν ζηαζκόο βάζεο ιακβάλεη θάπνην beacon. Ζ πξνζζήθε ηεο κεηαβιεηήο prev_src εμππεξεηεί αθξηβψο απηφ ηνλ ζθνπφ, θαζψο απνζεθεχεη ηνλ απνζηνιέα ηνπ πξνεγνχκελνπ beacon πνπ έρεη ιάβεη ν ζπγθεθξηκέλνο ζηαζκφο βάζεο. Ζ ηηκή -1 θαλεξψλεη πσο δελ έρεη ιεθζεί πξνεγνπκέλσο θαλέλα beacon, επηηξέπνληαο ηελ θαλνληθή ιήςε ηνπ. Αληίζεηα, αλ δελ είλαη -1, ειέγρεηαη αλ ν απνζηνιέαο ηνπ beacon είλαη ίδηνο κε απηφλ απφ ηνλ νπνίν έρεη ιεθζεί ην πξνεγνχκελν beacon. Αλ είλαη ίδηνο, ηφηε ν ζπγρξνληζκφο ζπλερίδεηαη θαλνληθά, δηαθνξεηηθά δελ πξαγκαηνπνηείηαη. Με απηφλ ηνλ ηξφπν εμαζθαιίδεηαη πσο ν ζηαζκφο βάζεο ζπγρξνλίδεηαη κε ηνλ ίδην ζηαζκφ βάζεο θάζε θνξά. Ζ κεηαβιεηή shifted απνζεθεχεη ην ρξνληθφ δηάζηεκα πνπ ζα πξέπεη έλα θειί λα νιηζζήζεη ην frame ηνπ γηα λα είλαη ζπγρξνληζκέλν κε θάπνην άιιν ζην ίδην θαλάιη. ην παξαθάησ ηκήκα θψδηθα παξνπζηάδεηαη ε αξρηθνπνίεζε ησλ απαξαίηεησλ κεηαβιεηψλ πνπ ρξεζηκνπνηνχληαη γηα ηνλ ππνινγηζκφ ηεο shifted: Υπολογιςμόσ τθσ ολίςκθςθσ που κα πρζπει να κάνει το κελί για να ςυγχρονιςτεί με κάποιο άλλο που βρίςκεται ςτο ίδιο κανάλι (ςυνάρτθςθ recvbeacon ςτο αρχείο mac-802_22.cc) Reception_Time = Scheduler::instance().clock() - transmission_time; transmission_offset = beacon->transmission_offset; if(frametimer.busy()) reception_offset = frametimer.offset() + SymbolLength; else if(preambletimer.busy()) reception_offset = - preambletimer.expire() + SymbolLength ; shifted = transmission_offset + reception_offset - Reception_Time;

87 ε αληίζεζε κε ηε ζεσξεηηθή αλάιπζε, ζηελ πινπνίεζε ην θειί δελ νιηζζαίλεη ζηα δεμηά παξά κόλν πξνο ηα αξηζηεξά. Δλδηαθέξνλ παξνπζηάδεη ν ππνινγηζκφο ηνπ reception offset, δειαδή ηνπ ρξφλνπ ζηνλ νπνίν ν ζηαζκφο βάζεο ιακβάλεη ην beacon ζε ζρέζε κε ηελ αξρή ηνπ frame. Με βάζε ηελ πινπνίεζε πνπ έρεη πξαγκαηνπνηεζεί, έλα frame δηαζπάηαη ζην ηκήκα πνπ ζηέιλεηαη ην preamble (ην νπνίν πξνζνκνηψλεηαη απφ ηνλ preambletimer), ην ηκήκα πνπ ζηέιλνληαη ηα δεδνκέλα (frametimer) θαη ην ηκήκα/-αηα ζην νπνίν πξαγκαηνπνηείηαη ην sensing. Σν ηκήκα πνπ πξαγκαηνπνηείηαη ην sensing αγλνείηαη, νπφηε έλα beacon ιακβάλεηαη: είηε ηε ζηηγκή πνπ ζηέιλεηαη ην preamble, δειαδή ηε ζηηγκή πνπ εθηειείηαη ν preambletimer είηε ηε ζηηγκή πνπ ζηέιλνληαη ηα δεδνκέλα, δειαδή θαηά ηε δηάξθεηα εθηέιεζεο ηνπ frametimer Αλάινγα κε ηε πεξίπησζε, ην reception offset ππνινγίδεηαη δηαθνξεηηθά. Αλ ην beacon ιακβάλεηαη θαηά ηε δηάξθεηα πνπ αληαιιάζζνληαη δεδνκέλα (frametimer.busy()), ηφηε ην reception offset είλαη ην άζξνηζκα ηε δηάξθεηαο ιεηηνπξγίαο ηνπ frametimer (frametimer.offset(), δειαδή ηνπ δηαζηήκαηνο απφ ηελ αξρή θιήζεο ηνπ timer, κέρξη θαη ην ζεκείν ζην νπνίν έρεη θιεζεί ε offset) ζπλ ηε δηάξθεηα ηνπ preamble πνπ έρεη πξνεγεζεί (SymbolLength). Αλ ην beacon ιεθζεί πξηλ απφ ηελ έλαξμε ηεο αληαιιαγήο δεδνκέλσλ (preambletimer.busy()), ηφηε ην reception offset ππνινγίδεηαη αθαηξψληαο απφ ηε δηάξθεηα ηνπ preamble ην ρξφλν πνπ απνκέλεη γηα λα νινθιεξσζεί ε απνζηνιή ηνπ (preambletimer.expire() αληίζηξνθε ιεηηνπξγία κε απηή ηεο offset). Σν άζξνηζκα θαη ησλ ηξηψλ παξαγφλησλ, ηνπ transmission offset, ηνπ reception offset θαη ηεο δηάξθεηαο απνζηνιήο ηνπ beacon (Reception_Time) νξίδεη θαη ην πφζν ζα πξέπεη λα νιηζζήζεη ην θειί. Όηαλ νινθιεξσζεί ν ππνινγηζκφο ηνπ slide, ηφηε θαζπζηεξεί ε έλαξμε ηνπ επφκελνπ frame θαηά ρξφλν ίζν κε ην ρξφλν πνπ νξίδεηαη απφ ηε κεηαβιεηή slide. Δηδηθφηεξα, ην preamble ηνπ επφκελνπ frame επηκεθχλεηαη, θαζψο έρεη δηάξθεηα απμεκέλε θαηά slide. Με απηφλ ηνλ ηξφπν, ην ηκήκα ηνπ frame πνπ αθνινπζεί, ζην νπνίν απνζηέιινληαη ηα δεδνκέλα (ε έλαξμε ηνπ frametimer δειαδή), εθθηλεί ηελ ίδηα ρξνληθή ζηηγκή κε ην αληίζηνηρν ηκήκα ηνπ άιινπ θειηνχ, νινθιεξψλνληαο κε απηφλ ηνλ ηξφπν ηνλ ζπγρξνληζκφ. Δπηπιένλ, ν ζηαζκφο βάζεο, απνζηέιιεη ζηνλ άιιν ζηαζκφ βάζεο κε ηνλ νπνίν έρεη ζπγρξνληζηεί έλα παθέην ηχπνπ beacon ACK, επηβεβαηψλνληαο κε απηφλ ηνλ ηξφπν ηε ιήςε ηνπ beacon παθέηνπ θαη ηελ πξαγκαηνπνίεζε ηεο νιίζζεζεο. Ο ζπγρξνληζκφο σζηφζν δελ πεξηνξίδεηαη κόλν θαηά κήθνο ελόο frame, αιιά πξαγκαηνπνηείηαη θαη θαηά κήθνο ηνπ superframe. Αθφκα θαη αλ δπν θειηά ζπγρξνλίζνπλ ηα frame ηνπο, ν ζπγρξνληζκφο απηφο κπνξεί λα δηαηαξαρζεί αλ δελ εθθηλνχλ θαη ηα superframes ηνπο ηελ ίδηα ρξνληθή ζηηγκή. Καηά ηελ έλαξμε ηνπ superframe, απνζηέιιεηαη επηπιένλ ην superframe preamble, γεγνλφο πνπ κπνξεί λα δηαηαξάμεη ην ζπγρξνληζκφ, θαζψο ζε απηή ηελ πεξίπησζε θαζπζηεξεί ε έλαξμε ηνπ ηκήκαηνο αληαιιαγήο δεδνκέλσλ (frametimer) θαηά 2*SymbolLength. Αληίζεηα, ην άιιν θειί ζα έρεη ήδε εθθηλήζεη ηελ αληαιιαγή ησλ δεδνκέλσλ, θαζψο δελ ζα έρεη ζηαιεί ην superframe preamble. Γηα απηφ ην ιφγν θαηά ηε δηάξθεηα ηνπ ζπγρξνληζκνχ, ην θειί πνπ πξφθεηηαη λα νιηζζήζεη ην frame ηνπ, ελεκεξψλεηαη γηα ηνλ αξηζκφ frame ηνπ ζηαζκνχ βάζεο κε ηνλ νπνίν ζα ζπγρξνληζηεί, θξνληίδνληαο θαη ην superframe ηνπ λα εθθηλεί ηελ ίδηα ρξνληθή ζηηγκή. ηελ παξαθάησ εηθφλα παξνπζηάδεηαη έλα παξάδεηγκα εθαξκνγήο, ζην νπνίν πέληε θειηά, ησλ νπνίσλ νη ζηαζκνί βάζεο ζπκβνιίδνληαη κε MAC 0, 1, 2, 3 θαη 4, εηζέξρνληαη ζην ίδην θαλάιη

88 ηπραία, κέζα ζε πνιχ κηθξφ ρξνληθφ δηάζηεκα (0.1 sec). Με βάζε ηα απνηειέζκαηα ηεο πξνζνκνίσζεο (φπσο απηά κπνξνχλ λα πξνζπειαζηνχλ απφ ην αξρείν results.txt), ηα πέληε θειηά εηζέξρνληαη ζην θαλάιη ζε ρξφλνπο πνπ θαίλνληαη ζηνλ παξαθάησ πίλαθα: Αξηζκόο θειηνύ Υξόλνο εηζαγσγήο ζην θαλάιη (ζε sec) Σα θειηά ζπγρξνλίδνληαη κεηαμχ ηνπο κε ηα frames ηνπο λα μεθηλνχλ ηελ ίδηα ρξνληθή ζηηγκή, φπσο κπνξεί λα επηβεβαησζεί θαη απφ ηελ παξαθάησ εηθφλα, πνπ απνηειεί ζηηγκηφηππν ηεο πξνζνκνίσζεο, ζηελ νπνία παξηζηάλεηαη ην ρξνληθφ ζεκείν ζην νπνίν νινθιεξψλεηαη ν ζπγρξνληζκφο, κε ην ηκήκα ζην νπνίν αληαιιάζζνληαη ηα δεδνκέλα (frametimer) λα ηεξκαηίδεηαη ηαπηφρξνλα θαη γηα ηα πέληε θειηά. ην αξηζηεξφ ηκήκα ηεο εηθφλαο παξηζηάλνληαη νη ρξφλνη πνπ αληηζηνηρνχλ ζην ακέζσο πξνεγνχκελν frame πξηλ ηελ επίηεπμε ηνπ πιήξνπο ζπγρξνληζκνχ (4 απφ ηα 5 θειηά είλαη ζπγρξνληζκέλα). Μεηά θαη ηελ παξέιεπζε ηνπ επφκελνπ frame (0.01 sec), ην θειί 1 ζπγρξνλίδεηαη κε ηα ππφινηπα ηέζζεξα θειηά κε επηηπρία, κε ηνπο frametimers ηνπο λα εθπλένπλ αθξηβψο ηελ ίδηα ρξνληθή ζηηγκή (0.09 sec). Όπσο κπνξεί λα δηαπηζησζεί θαη απφ ηελ παξαπάλσ εηθφλα, ζην ζπγθεθξηκέλν ζελάξην δελ έρεη πξνζηεζεί ε επηινγή ηνπ sensing, γη απηφ θαη δηαδνρηθά frames απέρνπλ ρξνληθά κεηαμχ ηνπο φζν ην κήθνο ηνπ frame (0.01 sec) θαη φρη κεγαιχηεξν ρξνληθφ δηάζηεκα (0.01 sec + δηάξθεηα fast sensing). ην module ππνζηεξίδεηαη θαη ε ιεηηνπξγία ηνπ δηακνηξαζκνχ ηνπ θαλαιηνχ. Όηαλ ηα θειηά πνπ βξίζθνληαη ζε έλα θαλάιη νινθιεξψζνπλ ην ζπγρξνληζκφ ηνπο, ηφηε κπνξνχλ λα δηακνηξάζνπλ ην ρξεζηκνπνηνύκελν θαλάιη θαηά ίζα ρξνληθά δηαζηήκαηα, απνθεχγνληαο κε απηφλ ηνλ ηξφπν ηπρφλ παξεκβνιέο πνπ κπνξεί λα πξνθαιέζεη ην έλα θειί ζην άιιν. Δηδηθφηεξα ζην module, θάζε θειί, αθνχ νινθιεξσζεί ε δηαδηθαζία ηνπ ζπγρξνληζκνχ, κπνξεί λα ρξεζηκνπνηήζεη ην θαλάιη γηα δηάξθεηα ίζε κε ηε δηάξθεηα ελόο superframe. Όηαλ νινθιεξσζεί ε απνζηνιή ελφο superframe, ην θειί απνδεζκεχεη ην θαλάιη γηα λα ην ρξεζηκνπνηήζεη θάπνην άιιν θειί γηα ηελ ίδηα δηάξθεηα. Σα ππφινηπα θειηά βξίζθνληαη αλελεξγά αλακέλνληαο ηε «ζεηξά» ηνπο γηα λα ρξεζηκνπνηήζνπλ εθ λένπ ην θαλάιη. Ζ αλάζεζε ηνπ θαλαιηνχ

89 πξαγκαηνπνηείηαη θπθιηθά ζε θάζε θειί. Αλ γηα παξάδεηγκα, βξίζθνληαη ηξία θειηά πνπ ιεηηνπξγνχλ ζην ίδην θαλάιη, ηφηε ζε ηξία superframes ην θαλάιη ζα έρεη ρξεζηκνπνηεζεί θαη απφ ηα ηξία θειηά. Γεδνκέλνπ ηεο θπθιηθήο αλάζεζεο πνπ πξαγκαηνπνηείηαη, έλα θειί πνπ απνδεζκεχεη ην θαλάιη, ζα ρξεζηκνπνηήζεη ην θαλάιη μαλά κεηά απφ δπν superframes, φζνο ρξφλνο απαηηείηαη δειαδή γηα λα ρξεζηκνπνηεζεί ην θαλάιη θαη απφ ηα ππφινηπα δπν θειηά. πλεπψο, κε βάζε ηελ πξνζέγγηζε πνπ έρεη αθνινπζεζεί, αλ ζε έλα θαλάιη βξίζθνληαη k θειηά θαη t είλαη ε δηάξθεηα ελφο superframe, ηφηε θάζε θειί ζα ρξεζηκνπνηεί ην θαλάιη κεηά απφ: χρόνος αδράνειας = k 1 t ηελ παξαθάησ εηθφλα παξηζηάλεηαη ν ηξφπνο κε ηνλ νπνίν δηακνηξάδεηαη έλα θαλάιη (έζησ channel i) κεηαμχ ησλ ηξηψλ θειηψλ: Γηα λα επηηεπρζεί ν νξηδφληηνο δηακνηξαζκφο θάζκαηνο, ην module ζα πξέπεη λα έρεη γλψζε ηνπ αξηζκνχ ησλ θειηψλ πνπ βξίζθνληαη ζην θαλάιη. Ο αξηζκφο ησλ θειηψλ απνζεθεχεηαη ζε έλα global πίλαθα κε ηελ νλνκαζία max_wait. Κάζε εγγξαθή ηνπ πίλαθα αληηζηνηρεί ζηνλ αξηζκφ ησλ θειηψλ πνπ βξίζθνληαη ζε έλα ζπγθεθξηκέλν θαλάιη. Σν αλαγλσξηζηηθφ ηνπ θαλαιηνχ ρξεζηκνπνηείηαη σο index ηνπ πίλαθα. Αξρηθά, γηα θάζε θαλάιη ε max_wait έρεη κεδεληθή ηηκή. Σα ζηνηρεία ηνπ πίλαθα απμάλνληαη φηαλ νινθιεξσζεί ν ζπγρξνληζκφο ηνπ θειηνχ κε θάπνην άιιν θειί. Με απηφ ην ζρήκα, ε max_wait ζα πεξηιακβάλεη ηνλ αξηζκφ φισλ ησλ θειηψλ πνπ έρνπλ ζπγρξνληζηεί, παξαιείπνληαο σζηφζν ην θειί πνπ έρεη ρξεζηκνπνηεζεί σο ζεκείν αλαθνξάο γηα ηελ επίηεπμε ηνπ ζπγρξνληζκνχ. Γηα απηφ ην ιφγν ε max_wait απμάλεηαη θαηά έλα άιιε κηα θνξά, φηαλ ν ζηαζκφο βάζεο πνπ απνηειεί ην ζεκείν αλαθνξάο, ιάβεη ην πξψην beacon ACK απφ θάπνηνλ ζηαζκφ βάζεο πνπ ζπγρξνλίδεηαη καδί ηνπ. Με απηφλ ηνλ ηξφπν ε max_wait, φηαλ απνθηήζεη ηελ ηειηθή ηεο ηηκή, ζα πεξηέρεη πάληνηε ηνλ αξηζκφ ησλ θειηψλ πνπ βξίζθνληαη ζην θαλάιη. Σν πεξηερφκελν ηεο max_wait κεηαθέξεηαη ζην κέινο wait ηεο δνκήο actualnetcell. Με απηφλ ηνλ ηξφπν ζην module, εμεηάδνληαο ηελ ηηκή ηεο wait, απνθαζίδεηαη ε πξαγκαηνπνίεζε ή κε ηνπ νξηδφληηνπ δηακνηξαζκνχ ηνπ θάζκαηνο. Μφιηο μεθηλήζεη ν νξηδφληηνο δηακνηξαζκφο, θάζε θειί κεηαβαίλεη ζηελ θαηάζηαζε WAITING, δηαθφπηνληαο νπνηαδήπνηε άιιε κεηάδνζε ή ιήςε κέρξη λα ηνπ αλαηεζεί ην θαλάιη. Ο νξηδφληηνο δηακνηξαζκφο ηνπ θαλαιηνχ πξαγκαηνπνηείηαη επηκεθύλνληαο ην frame, κε ηξφπν παξφκνην κε εθείλνλ πνπ έρεη πεξηγξαθεί θαηά ηελ πινπνίεζε ηνπ ζπγρξνληζκνχ. ε απηή ηελ πεξίπησζε, ν preambletimer θαζπζηεξεί λα εθπλεχζεη θαηά ρξφλν πνιιαπιάζην ηεο δηάξθεηαο ελφο superframe. Δπνκέλσο, ζπλερίδνληαο ην πξναλαθεξζέλ παξάδεηγκα, φηαλ νινθιεξσζεί ν ζπγρξνληζκφο, ην θειί πνπ έρεη ζπγρξνληζηεί πξψην αξρίδεη ακέζσο ηε κεηάδνζε γηα έλα superframe (ε wait πνπ αληηζηνηρεί ζηε δηθή ηνπ δνκή ζα έρεη ηελ ηηκή 1). ηε ζπλέρεηα, αθνινπζεί ην θειί πνπ απνηειεί ην ζεκείν αλαθνξάο, αξρίδνληαο νπζηαζηηθά ηε κεηάδνζε κεηά απφ έλα superframe (ε max_wait ζα έρεη ηελ ηηκή 2, νπφηε ε wait ηεο δνκήο πνπ αληηζηνηρεί ζην δηθφ ηνπ θειί ζα είλαη ίζε κε 2). Σειεπηαίν ζηε ζεηξά ρξήζεο ηνπ θαλαιηνχ είλαη ην θειί πνπ ζπγρξνλίζηεθε ηειεπηαίν, ην νπνίν ρξεζηκνπνηεί ην θαλάιη κεηά απφ δπν superframes (ε

90 max_wait απνθηά ηε κέγηζηε ηηκή ηεο, κε ηε wait λα έρεη ηελ ηηκή 3, φζα δειαδή είλαη θαη ηα θειηά ζην θαλάιη). Αθνχ νινθιεξσζεί ν πξψηνο θχθινο ρξήζεο ηνπ θαλαιηνχ, ζηε ζπλέρεηα θάζε θειί ρξεζηκνπνηεί ην θαλάιη κεηά ηελ παξέιεπζε δπν superframes, κε ηηο κεηαβιεηέο wait ζε φια ηα θειηά λα έρνπλ φιεο ηελ ίδηα ηηκή (3). ην παξαθάησ ηκήκα θψδηθα παξνπζηάδεηαη ε επηκήθπλζε ηνπ frame πνπ πξαγκαηνπνηείηαη γηα θάζε θειί κε ηε ρξήζε ηεο wait, πινπνηψληαο κε απηφλ ηνλ ηξφπν ηνλ ηζφρξνλν δηακνηξαζκφ ηνπ θαλαιηνχ. Υλοποίθςθ του διαμοιραςμοφ ενόσ καναλιοφ, όπου κάκε κελί περιμζνει αδρανζσ ανάλογα με τον αρικμό των κελιϊν που βρίςκονται ςτο κανάλι ςυνολικά (αρχείο mac-802_22.cc) if (actualnetcell->wait==0) preambletimer.start(2*symbollength); else{ actualnetcell->scanningphase = WAITING; preambletimer.start(2*symbollength + (actualnetcell->wait - 1)*FrameLength*FRAMES_PER_SUPERFRAME); if (actualnetcell->wait!=0) actualnetcell->wait = max_wait[channel_]; Ο παξάγνληαο πνπ πξνζηίζεηαη ζην φξηζκα εηζφδνπ ηεο preambletimer ζην else ηκήκα αληηζηνηρεί ζην ρξφλν πνπ ζα πξέπεη λα παξακείλεη κείλεη θάπνην θειί αλελεξγφ κέρξη λα αλαθηήζεη εθ λένπ ηελ θπξηφηεηα ηνπ θαλαιηνχ, φπσο πξνθχπηεη θαη απφ ηελ παξαπάλσ ζεσξεηηθή ζρέζε. Ζ αξρηθνπνίεζε ηεο κεηαβιεηήο wait γηα θάζε θειί κε ηελ ηηκή ηεο max_wait πξαγκαηνπνηείηαη ζηελ ηειεπηαία γξακκή ηνπ θψδηθα. Με βάζε ηα πεξηγξαθφκελα, πξαγκαηνπνηείηαη πξνζνκνίσζε ιεηηνπξγίαο ηξηψλ θειηψλ πνπ βξίζθνληαη ζην ίδην θαλάιη. ην ζελάξην πνπ έρεη πινπνηεζεί, ζεσξείηαη πσο θάζε θειί απνηειείηαη απφ έλαλ ζηαζκφ βάζεο θαη απφ κία ζπζθεπή πειάηε, κε απνηέιεζκα ε πεξηνρή πξνζνκνίσζεο λα απνηειείηαη απφ 6 θφκβνπο. Αθνχ θαη ηα ηξία θειηά ζπγρξνληζηνχλ, ζηε ζπλέρεηα δηακνηξάδνληαη ην θαλάιη, κε ην έλα θειί λα ην ρξεζηκνπνηεί θαη ηα ππφινηπα δπν θειηά λα παξακέλνπλ αλελεξγά, φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα:

91 Ρυκμόσ λιψθσ δεδομζνων (ςε Mbps) Οη θφκβνη κε ηα αλαγλσξηζηηθά 3, 4, θαη 5 είλαη νη ζπζθεπέο πειαηψλ πνπ είλαη ζπλδεδεκέλεο αληίζηνηρα κε ηνπο ζηαζκνχο βάζεο 0, 1 θαη 2, δηακνξθψλνληαο κε απηφλ ηνλ ηξφπν ηα ηξία θειηά. Δλδηαθέξνλ παξνπζηάδεη ν ξπζκόο ιήςεο δεδνκέλσλ γηα θάζε ζπζθεπή πειάηε, φπσο απηφο δηακνξθψλεηαη κε ηνλ θνηλό δηακνηξαζκό ηνπ θαλαιηνύ. ηελ πξνζνκνίσζε, κέζσ ηνπ tcl αξρείνπ, έρεη νξηζηεί ε ξνή δεδνκέλσλ λα είλαη ηχπνπ rtps, ε νπνία μεθηλά κεηά ηελ παξέιεπζε 1 sec. Ζ δηάξθεηα ηεο πξνζνκνίσζεο είλαη 5 sec. Ρυκμόσ λιψθσ δεδομζνων κατά το διαμοιραςμό ενόσ καναλιοφ Mac 3 Mac 4 Mac Χρόνοσ προςομοίωςθσ (ςε sec) Ζ γξαθηθή παξάζηαζε επηβεβαηψλεη ηελ εχξπζκε ιεηηνπξγία ηνπ δηακνηξαζκνχ ηνπ θαλαιηνχ, θαζψο ελψ θάπνηα απφ ηηο ζπζθεπέο ιακβάλεη δεδνκέλα, νη ππφινηπεο ζπζθεπέο παξακέλνπλ αλελεξγέο, παξνπζηάδνληαο κεδεληθφ ξπζκφ ιήςεο δεδνκέλσλ. Οη ελαιιαγέο ζηα ρξψκαηα ζηε γξαθηθή παξάζηαζε (θφθθηλν πξάζηλν κπιε), φζνλ αθνξά ην κέγηζην ηνπ ξπζκνχ ιήςεο, πηζηνπνηεί ηελ θπθιηθή αλάζεζε ηνπ θαλαιηνχ ζηα θειηά. Οη κεηξήζεηο πξαγκαηνπνηνχληαλ ηε ζηηγκή παξέιεπζεο ελφο superframe (δειαδή θάζε 0.16 sec). Γηα θάζε ηξία ζπλερφκελα superframes θάζε ζπζθεπή παξνπζηάδεη κε κεδεληθφ ξπζκφ ιήςεο δεδνκέλσλ ζην έλα superframe θαη κεδεληθφ ξπζκφ ζηα ππφινηπα δχν. Σν θαλάιη ρξεζηκνπνηείηαη θαζ φιε ηε δηάξθεηα ηεο πξνζνκνίσζεο, θαζψο κε βάζε ηελ πινπνίεζε πνπ έρεη αθνινπζεζεί, δελ ππάξρνπλ δηαζηήκαηα ζηα νπνία ην θαλάιη είλαη αλελεξγφ, παξά κφλν θαηά ηε δηάξθεηα ελαιιαγήο ησλ θειηψλ ζην θαλάιη. Όπσο πξνθχπηεη θαη απφ ηηο κεηξήζεηο πνπ πξαγκαηνπνηήζεθαλ αλά superframe, ζε θάζε superframe θάπνηα ζπζθεπή πειαηψλ ζα παξνπζηάδεη κε κεδεληθφ ξπζκφ ιήςεο δεδνκέλσλ, πηζηνπνηψληαο ηελ αλάζεζε ηνπ θαλαιηνχ ζην θειί πνπ αλήθεη ε ζπγθεθξηκέλε ζπζθεπή γηα απηφ ην superframe. Δλδηαθέξνλ παξνπζηάδεη θαη ε πεηξακαηηθή κέηξεζε ηεο κείσζεο ηνπ ξπζκνύ ιήςεο ησλ δεδνκέλσλ ζε ζρέζε κε ηελ πεξίπησζε φπνπ ην θαλάιη θαηαιακβάλεηαη απφ έλα κφλν θειί ην νπνίν δελ πξαγκαηνπνηεί sensing. Έζησ λ o ξπζκφο ιήςεο δεδνκέλσλ γηα κηα ζπζθεπή πνπ αλήθεη ζε έλα θειί ην νπνίν θαηαιακβάλεη εμ νινθιήξνπ ην θαλάιη. Αλ ζε έλα θαλάιη

92 βξίζθνληαη k θειηά ηφηε ν λένο ξπζκφο ιήςεο γηα ηε ζπζθεπή απηή κπνξεί λα πεξηγξαθεί ζεσξεηηθά απφ ηελ παξαθάησ ζρέζε: ρυθμός λήψης = λ k Δπνκέλσο, ζηελ πεξίπησζε ηεο πξνεγνχκελεο πξνζνκνίσζεο, ν ξπζκφο δεδνκέλσλ γηα θάζε ζπζθεπή αλακέλεηαη λα είλαη πεξίπνπ ηξεηο θνξέο κεγαιχηεξνο ζηελ πεξίπησζε πνπ θάζε θειί θαηαιακβάλεη δηαθνξεηηθφ θαλάιη. ηνλ παξαθάησ πίλαθα παξηζηάλνληαη νη κεηξήζεηο ηνπ κέζνπ φξνπ ηνπ ξπζκνχ ιήςεο ησλ δεδνκέλσλ γηα ηε ζπζθεπή πειάηε CPE 3, ζηελ πεξίπησζε ηνπ δηακνηξαζκνχ ηνπ θαλαιηνχ κε άιια δπν θειηά θαη ζηελ πεξίπησζε ηεο απνθιεηζηηθήο ρξήζεο ηνπ θαλαιηνχ. Πεηξακαηηθόο ξπζκόο ιήςεο δεδνκέλσλ (ζε Mbps) ύγθξηζε ησλ δπν ξπζκώλ δεδνκέλσλ Γηακνηξαζκόο ηνπ θαλαιηνύ κε άιια 2 θειηά Απνθιεηζηηθή ρξήζε ηνπ θαλαιηνύ από ην θειί Σα πεηξακαηηθά απνηειέζκαηα ζπγθιίλνπλ κε ηε ζεσξεηηθή εθηίκεζε, θαζψο πξάγκαηη ν ιφγνο ησλ κεηξνχκελσλ ξπζκψλ ιήςεο δεδνκέλσλ είλαη πνιχ θνληά ζην 3 ( ). Με ηε ζπγθεθξηκέλε πινπνίεζε ζεσξείηαη πσο θάζε θειί έρεη ηηο ίδηεο αλάγθεο κεηάδνζεο, παξνπζηάδνληαο ηνπο ίδηνπο ξπζκνχο κεηάδνζεο δεδνκέλσλ. Με βάζε θαη ηε ζεσξεηηθή πεξηγξαθή ηνπ πξνηχπνπ, ν δηακνηξαζκφο ηνπ θαλαιηνχ ζην ρξφλν είλαη επηηξεπηφο, κφλν ζηελ πεξίπησζε φπνπ αθφκα θαη κε ην δηακνηξαζκφ ηνπ θαλαιηνχ, ν ζηαζκφο βάζεο είλαη ζε ζέζεη λα δηαζθαιίζεη ην QoS γηα ηηο ζπζθεπέο πειάηε πνπ είλαη ζπλδεδεκέλεο καδί ηνπ. ην παξαπάλσ ζελάξην πξνζνκνίσζεο ζεσξείηαη πσο ηθαλνπνηείηαη ην QoS πνπ έρεη ηεζεί ζε θάζε θειί, αθόκα θαη θαηά ηε δηάξθεηα ηνπ δηακνηξαζκνύ. ε αληίζεηε πεξίπησζε, ν δηακνηξαζκφο ηνπ θαλαιηνχ δε ρξεηάδεηαη λα πξαγκαηνπνηείηαη ηζφρξνλα, κε ην δξνκνινγεηή λα αλαζέηεη πεξηζζφηεξν ρξφλν ζην θειί πνπ παξνπζηάδεη απμεκέλεο αλάγθεο, εηο βάξνο βέβαηα ησλ θειηψλ πνπ έρνπλ κεησκέλεο αλάγθεο. Ζ βειηίσζε ηεο ιεηηνπξγίαο ηνπ δξνκνινγεηή κπνξεί λα απνηειέζεη αληηθείκελν κειινληηθήο έξεπλαο. ηε βηβιηνγξαθία έρνπλ πεξηγξαθεί θαη άιιεο πξνζεγγίζεηο γηα ηελ αληηκεηψπηζε ηεο ζπλχπαξμεο δχν ή πεξηζζφηεξσλ θειηψλ ζε έλα θαλάιη, νη νπνίεο πεξηιακβάλνπλ ην δηακνηξαζκφ ηνπ θαλαιηνχ ζην πεδίνπ ηεο ζπρλφηεηαο θαη φρη ηνπ ρξφλνπ θαη ηε κείσζε ηεο ηζρχνο εθπνκπήο ησλ δηθηπαθψλ θφκβσλ, ειαρηζηνπνηψληαο ηηο παξεκβνιέο κεηαμχ ησλ θειηψλ. Χζηφζν, θαη απηέο νη πξνζεγγίζεηο πξνθαινχλ πξνβιήκαηα ζην ξπζκφ θαη ηελ εκβέιεηα κεηάδνζεο ησλ δεδνκέλσλ. Ζ δπλαηφηεηα ηνπ ζπγρξνληζκνχ κπνξεί λα πξνζηεζεί κέζσ ηνπ tcl αξρείνπ κε ηελ παξαθάησ εληνιή. Οξίδνληαο ηελ ηηκή ηεο synchronization_ σο 1 επηιέγεηαη ε δηαδηθαζία δηακνηξαζκνχ ηνπ θαλαιηνχ θαη δελ πξαγκαηνπνηείηαη αλαδήηεζε ηνπ θάζκαηνο γηα ειεχζεξα θαλάιηα. Mac/802_22 set synchronization_ 1

93 Ζ ιεηηνπξγία ηνπ δηακνηξαζκνχ θαλαιηνχ κπνξεί λα βειηηώζεη πεξηζζόηεξν ηε δηαδηθαζία αλαδήηεζεο θαλαιηνύ θαζηζηψληαο ηελ πην αμηφπηζηε θαη απνδνηηθή. Όπσο έρεη αλαθεξζεί, ε nextscan αλαιακβάλεη ην ζεκαληηθφηεξν ξφιν, θαζψο είλαη ε ζπλάξηεζε, πνπ ζην κεγαιχηεξφ ηεο πνζνζηφ, πξαγκαηνπνηεί ηελ αλαδήηεζε ζην θάζκα. ε πεξίπησζε πνπ ν θφκβνο ν νπνίνο πξαγκαηνπνηεί ηελ αλαδήηεζε δελ εληνπίζεη θάπνην ειεχζεξν θαλάιη, ηφηε επηζηξέθεη ζην αξρηθφ θαλάιη, ηεξκαηίδνληαο κε απηφλ ηνλ ηξφπν νπνηαδήπνηε δηαδηθαζία κεηάβαζεο ζε άιιν θαλάιη. Χζηφζν, ε παξακνλή ηνπ θειηνχ ζην ίδην θαλάιη κε απηφ πνπ έρεη νξηζηεί αξρηθά, κπνξεί λα εγείξεη αξθεηά πξνβιήκαηα, θαζψο ζην ίδην θαλάιη βξίζθεηαη θαη ην άιιν θειί ην νπνίν δελ έθαλε ηελ αλαδήηεζε ζην θάζκα, έηζη ψζηε λα παξακείλεη απηφ ζην ζπγθεθξηκέλν θαλάιη κε ηα ππφινηπα θειηά πνπ ζα πξαγκαηνπνηνχζαλ ηελ αλαδήηεζε ζην θάζκα λα ην εγθαηέιεηπαλ. Σα δπν θειηά πνπ βξίζθνληαη ζην ίδην θαλάιη ζα πξνθαινχλ παξεκβνιή ην έλα ζην άιιν. Ζ δηαδηθαζία ηεο αλαδήηεζεο ζην θάζκα κπνξεί λα βειηησζεί νξίδνληαο ζην θειί πνπ ζα επηζηξέςεη ζην αξρηθό ηνπ θαλάιη λα κνηξάδεη ην θαλάιη κε ην θειί πνπ έρεη απνκείλεη ζε απηφ. πλεπψο, ν δηακνηξαζκφο ηνπ θαλαιηνχ κπνξεί λα ππξνδνηεζεί κε απηφλ ηνλ ηξφπν, ζε πεξίπησζε πνπ δελ ππάξρνπλ δηαζέζηκα ειεχζεξα θαλάιηα, ρσξίο λα πξνθαιεί ην έλα θειί παξεκβνιέο ζην άιιν. Σν παξαθάησ ζελάξην απνηειεί κηα εθαξκνγή δηακνηξαζκνχ ηνπ θαλαιηνχ ζε πεξίπησζε πνπ δελ ππάξρνπλ ειεύζεξα θαλάιηα γηα κεηάβαζε. Έζησ ηξία θειηά, εθ ησλ νπνίσλ ηα δχν βξίζθνληαη ζην θαλάιη 1 θαη ην ηξίην βξίζθεηαη ζην θαλάιη 2. Σν έλα απφ ηα δπν θειηά ζα εθθηλήζεη ηε δηαδηθαζία αλαδήηεζεο ειεχζεξσλ θαλαιηψλ. Χζηφζν, ην θαλάιη 2 είλαη ήδε ρξεζηκνπνηεκέλν απφ ην ηξίην θειί, κε απνηέιεζκα ην θειί λα επηζηξέςεη μαλά ζην θαλάιη 1. Σν θαλάιη 1 δηακνηξάδεηαη κεηαμχ ησλ δπν θειηψλ, αληηκεησπίδνληαο απνηειεζκαηηθά κε απηφλ ηνλ ηξφπν ην πξόβιεκα ηεο έιιεηςεο αρξεζηκνπνίεησλ θαλαιηώλ. Ζ παξαθάησ εηθφλα απνηειεί έλα ζηηγκηφηππν ηεο πξνζνκνίσζεο φπσο απηή νπηηθνπνηείηαη κε ηε ρξήζε ηνπ εξγαιείνπ nam:

94 ην παξαπάλσ ζηηγκηφηππν, ην BS 1 επηθνηλσλεί κε ην CPE 4 ζην θαλάιη 1, ελψ ζην θαλάιη 2 ν BS 2 αληαιιάζεη δεδνκέλα κε ην CPE 5. Ο BS 0 πνπ βξίζθεηαη ζην θαλάιη 1 παξακέλεη αλελεξγφο κέρξη ηελ παξέιεπζε ελφο superframe, νπφηε θαη ζα αξρίζεη λα αληαιιάζζεη δεδνκέλα κε ηνλ CPE3. ην αξρείν results.txt απνηππψλεηαη ε έιιεηςε ησλ θαλαιηψλ θαη ε επηζηξνθή ζην αξρηθφ θαλάιη γηα λα εθθηλήζεη ν δηακνηξαζκφο ηνπ θαλαιηνχ ζε ίζα ρξνληθά δηαζηήκαηα, φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα: Όπσο θαη ζην πξνεγνχκελν ζελάξην, έηζη θαη ζε απηφ θαη ηα ηξία θειηά δεκηνπξγνχληαη κε ηπραίν ηξφπν ζε δηάζηεκα 0.1 sec κε ηε ξνή δεδνκέλσλ λα εθθηλεί κεηά ην πξψην δεπηεξφιεπην. Βάζεη ησλ πξνεγνχκελσλ απνηειεζκάησλ, ε ζπζθεπή πειάηε κε ην id 5 (CPE 5) πνπ βξίζθεηαη ζην θαλάιη 2 αλακέλεηαη λα ρξεζηκνπνηεί ην θαλάιη ζπλερψο θαζ φιε ηε δηάξθεηα ηεο πξνζνκνίσζεο, ζε αληίζεζε κε ηα CPEs 3 θαη 4 ηα νπνία ζα κνηξάδνληαη ην θαλάιη. Γεδνκέλνπ πσο ζην ζελάξην έρεη νξηζηεί ην ίδην bandwidth γηα φια ηα θειηά, αλακέλεηαη ν κέζνο ξπζκφο ιήςεο δεδνκέλσλ γηα ηα CPEs 3 θαη 4 λα είλαη ν κηζφο ηνπ κέζνπ ξπζκνχ δεδνκέλσλ γηα ην CPE 5. Ζ παξαθάησ γξαθηθή παξάζηαζε απνηππψλεη ηηο κεηξήζεηο πνπ έρνπλ πξαγκαηνπνηεζεί θαη γηα ηηο ηξεηο ζπζθεπέο πειαηψλ γηα έλα ηκήκα ηεο πξνζνκνίσζεο, απφ ηελ αξρή ηεο πξνζνκνίσζεο (0.6 sec ζπγθεθξηκέλα), φπνπ δελ έρεη δεκηνπξγεζεί αθφκα ε ξνή, κέρξη θαη ηε ρξνληθή ζηηγκή 2.6 sec.

95 Χρθςιμοποιοφμενο κανάλι Ρυκμόσ λιψθσ δεδομζνων (ςε Mbps) CPE 3 CPE 4 CPE Χρόνοσ προςομοίωςθσ (ςε sec) Σν CPE 5 πνπ βξίζθεηαη ζην ίδην θαλάιη εκθαλίδεη ζρεδφλ ζηαζεξφ ξπζκφ ιήςεο δεδνκέλσλ, ελδεηθηηθφ ηεο απνπζίαο παξεκβνιψλ απφ ελδερφκελα άιια θειηά ζην θαλάιη ιεηηνπξγίαο ηνπ. Αληίζεηα, ε ρξήζε ηνπ θαλαιηνχ 1 ελαιιάζζεηαη κεηαμχ ησλ CPE 3 θαη 4, γεγνλφο πνπ απνηππψλεηαη πην θαζαξά ζηηο ρξνληθέο ζηηγκέο κεδεληθνχ ξπζκνχ ιήςεο δεδνκέλσλ, φπνπ ν άμνλαο ηνπ ρξφλνπ είλαη ρσξηζκέλνο ζε δπν ηκήκαηα (θφθθηλν θαη κπιε) πνπ ελαιιάζζνληαη ζπλερψο. Γηα ην ίδην ζελάξην κεηξήζεθαλ θαη νη κεηαβάζεηο ζηα θαλάιηα πνπ πξαγκαηνπνηήζεθαλ απφ ηηο ζπζθεπέο πειαηψλ, φπσο θαίλεηαη θαη ζηελ παξαθάησ γξαθηθή παξάζηαζε: Χρόνοσ προςομοίωςθσ (ςε sec) CPE 3 CPE 4 CPE 5

96 Οη κεηξήζεηο επηβεβαηψλνπλ ηελ απνηειεζκαηηθή ιεηηνπξγία ηεο αλαδήηεζεο θαλαιηνχ πνπ έρεη πεξηγξαθεί: ηα CPEs 3 θαη 5 παξακέλνπλ ζην θαλάιη 1 θαη 2 αληίζηνηρα, φπσο έρεη νξηζηεί ζηελ πξνζνκνίσζε. Σν CPE 4, εληνπίδνληαο ηελ χπαξμε άιινπ θειηνχ ζην θαλάιη 1, κεηαβαίλεη ζην θαλάιη 2, γηα λα δηαπηζηψζεη πσο είλαη θαη απηφ απαζρνιεκέλν θαη λα επηζηξέςεη εθ λένπ ζην θαλάιη 1. Όπσο δηαπηζηψλεηαη απφ ηα ηξία θειηά, ην έλα θειί θαηαιακβάλεη ην θαλάιη απνθιεηζηηθά, κε ηα ππφινηπα δχν λα κνηξάδνληαη ην άιιν θαλάιη. Καη ηα ηξία θειηά ζεσξείηαη πσο έρνπλ ηηο ίδηεο αλάγθεο φζνλ αθνξά ηελ παξνρή ππεξεζηψλ. Χζηφζν, ε πεξηγξαθφκελε ιεηηνπξγηθφηεηα ζα κπνξνχζε λα επεθηαζεί ζηελ πεξίπησζε πνπ έλα απφ ηα θειηά παξνπζίαδε απμεκέλεο αλάγθεο ζε ζρέζε κε ηα ππφινηπα θειηά, εμαζθαιίδνληαο πσο ην ζπγθεθξηκέλν θειί ζα θαηαιακβάλεη απνθιεηζηηθά ην έλα θαλάιη κε ηα ππφινηπα δχν λα κνηξάδνληαη ηζφρξνλα ην άιιν. πλεπψο, κε βάζε ηηο αλάγθεο θάζε θειηνύ, ν δξνκνινγεηήο κπνξεί λα απνθαλζεί αλ θάπνην θειί ζα ρξεζηκνπνηεί απνθιεηζηηθά θάπνην θαλάιη ή αλ ζα ην κνηξάδεηαη κε θάπνην άιιν, ην νπνίν παξνπζηάδεη αληίζηνηρα κεησκέλεο αλάγθεο.

97 Πέξα απφ ηελ απιή πινπνίεζε ηνπ sensing πνπ αλαιχζεθε ζην Κεθάιαην 4, ην module ππνζηεξίδεη θαη ελαιιαθηηθνύο ηύπνπο ειέγρσλ κε ζθνπφ ην γξεγνξφηεξν εληνπηζκφ ησλ παξεκβνιψλ ζην θαλάιη, αιιά θαη ηελ απνηειεζκαηηθφηεξε αληηκεηψπηζε ησλ επηζέζεσλ απφ θαθφβνπινπο ρξήζηεο. Ζ πινπνίεζε ηνπ fast θαη ηνπ fine sensing κε ηνλ ηξφπν πνπ έρεη πεξηγξαθεί, αλ θαη αξθεηά απιή θαη γξήγνξε, είλαη σζηφζν επάισηε θαη αλαπνηειεζκαηηθή ζε νξηζκέλα είδε επηζέζεσλ. Γηα απηφ ην ιφγν ζην παξψλ θεθάιαην πξνηείλνληαη θαη ελαιιαθηηθνί ηχπνη sensing πνπ έρνπλ πινπνηεζεί κε ην module θαη ησλ νπνίσλ ε ιεηηνπξγία ηνπο θαη ε απνδνηηθφηεηά ηνπο αλαιχεηαη κε θαηάιιεια ζελάξηα πξνζνκνίσζεο. Δηδηθφηεξα, αλαθέξνληαη ηξεηο ελαιιαθηηθέο πξνζεγγίζεηο, κε θάζε κηα λα παξνπζηάδεη ηδηαίηεξα ηερληθά ραξαθηεξηζηηθά ηα νπνία πξνθαινχλ θαη δηαθνξεηηθή επηβάξπλζε ζε έλα δίθηπν. Ζ πινπνίεζε απηή είλαη ε απινχζηεξε απφ ηηο ππφινηπεο δπν θαη πξνβιέπεη ηε δηάζπαζε ηνπ frame ζε ππν-frames (subframes), ζην ηέινο ησλ νπνίσλ πξαγκαηνπνηείηαη fast sensing. Αλάινγα κε ηνλ αξηζκφ ησλ senses πνπ πξαγκαηνπνηνχληαη ζε έλα frame, ην frame ηκεκαηνπνηείηαη ζε αληίζηνηρα θνκκάηηα. Αλ γηα παξάδεηγκα, νξίδνληαη ηξία senses ζε έλα frame, ηφηε ην frame δηαζπάηαη ζε ηξία θνκκάηηα, φπσο θαίλεηαη θαη ζηελ παξαθάησ εηθφλα:

98 Όπσο θαίλεηαη θαη ζηελ παξαπάλσ εηθφλα, ην έλα απφ ηα ηξία senses πξαγκαηνπνηείηαη θαλνληθά ζην ηέινο ηνπ frame, κε ηα ππφινηπα δχν senses λα πξαγκαηνπνηνχληαη εληφο ηνπ frame, απέρνληαο ρξνληθά κεηαμχ ηνπο, φζν θαη ην κήθνο θάζε ηκήκαηνο ηνπ frame ((FrameLength SymbolLength)/3). Ο αξηζκόο ησλ ειέγρσλ πνπ πξαγκαηνπνηνχληαη θαηά κήθνο ελφο frame δελ είλαη ζπγθεθξηκέλνο, αιιά απνηειεί κηα παξάκεηξν ε νπνία νξίδεηαη κε ηε SENSING_PER_FRAME, πξνζδίδνληαο επειημία ζηελ πινπνίεζε. Με βάζε θαη ην παξάδεηγκα ησλ ηξηψλ ειέγρσλ/frame, πξνθχπηεη πσο ε ηηκή 1 γηα ηε SENSING_PER_FRAME αληηζηνηρεί ζηελ θαλνληθή πινπνίεζε, ζηελ νπνία πξαγκαηνπνηείηαη έλα fast sensing ζην ηέινο ηνπ frame. Όζνλ αθνξά ηα ηερληθά ζηνηρεία ηεο πινπνίεζεο, απαηηείηαη ε εηζαγσγή ελφο άιινπ timer (κε ηελ νλνκαζία senseperiods) κε δηάξθεηα ιεηηνπξγίαο φζν θαη ε δηάξθεηα θάζε ηκήκαηνο ηνπ frame ζην νπνίν έρεη δηαζπαζηεί. Ζ εθθίλεζε ηνπ timer πξαγκαηνπνηείηαη κε ηελ έλαξμε θάζε ηκήκαηνο θαη εθπλέεη κε ηνλ ηεξκαηηζκφ ηνπ. Ζ εθπλνή ηνπ timer ππξνδνηεί ηελ έλαξμε ηνπ fast sensing κε ηξφπν παξφκνην κε εθείλνλ πνπ έρεη πεξηγξαθεί θαηά ηελ θαλνληθή πινπνίεζε. Ζ δηάξθεηα ηνπ fast sensing παξακέλεη ακεηάβιεηε, φπσο θαίλεηαη θαη ζηελ παξαπάλσ εηθφλα (0.001 sec). πλεπψο, κε ηελ έλαξμε ηνπ frame, ππξνδνηείηαη θαη ν sensetimer πνπ αληηζηνηρεί ζην πξψην ηκήκα ηνπ frame. Ζ παξέιεπζε ηνπ πξώηνπ ηκήκαηνο ηνπ frame επηθέξεη, πέξα απφ ηελ έλαξμε ηνπ fast sensing, θαη ηελ επαλεθθίλεζε ηνπ timer, ζεκαηνδνηψληαο κε απηφλ ηνλ ηξφπν ηελ έλαξμε ηνπ δεχηεξνπ ηκήκαηνο ηνπ frame. Σαπηφρξνλα, ρξεζηκνπνηείηαη έλαο κεηξεηήο (κεηαβιεηή measures) ν νπνίνο κεηξάεη ηνλ αξηζκφ ησλ fast senses πνπ πξαγκαηνπνηνχληαη εληφο ηνπ frame, γλσζηνπνηψληαο ηελ έλαξμε ηνπ ηειεπηαίνπ ηκήκαηνο ηνπ frame, κε ηνλ sensetimer λα κελ επαλεθθηλεί μαλά. Ο παξαθάησ θψδηθαο πεξηγξάθεη πξνγξακκαηηζηηθά ηα πξναλαθεξζέληα, κε ηε ζπλάξηεζε SensePeriodsHandler λα απνηειεί ηε ζπλάξηεζε εθπλνήο ηεο sensetimer. Λήμε ελόο ηκήκαηνο ηνπ frame θαη εθθίλεζε ηνπ επνκέλνπ, ζηελ αξρή ηνπ νπνίνπ πξαγκαηνπνηείηαη fast sensing void Mac802_22::SensePeriodsHandler() { measures++; if(index_ == bss_id_){... if(actualnetcell->scanningphase == IDLE){

99 fastsensing.start(fast_sensing_duration); actualnetcell->scanningphase = FAST_SENSING; if(measures < SENSING_PER_FRAME - 1) senseperiods.start((framelength - SymbolLength)/SENSING_PER_FRAME); Ζ ηηκή ηεο παξακέηξνπ SENSING_PER_FRAME θαζνξίδεη ηνλ αξηζκφ θαη ηε δηάξθεηα ησλ ηκεκάησλ ζηα νπνία ζα δηαζπαζηεί ην frame. Χζηφζν, ε εηζαγσγή ησλ fast senses εληφο ηνπ frame δελ πξαγκαηνπνηείηαη εηο βάξνο ηεο δηάξθεηαο ησλ κεηαδφζεσλ, αιιά αληίζεηα επηκεθύλεηαη ην frame, ηνπ νπνίνπ ε δηάξθεηα ελζσκαηψλεη θαη ηε ζπλνιηθή δηάξθεηα ζηελ νπνία πξαγκαηνπνηείηαη sensing. πλεπψο, αλ ζε θάζε frame πξαγκαηνπνηνχληαη ζπλνιηθά k senses, ηφηε ε δηάξθεηα ηνπ frame απμάλεηαη θαηά k * διάρκεια κάθε sense). Ζ πξνζέγγηζε απηή σζηφζν απαηηεί θαη ηελ παύζε νπνηαζδήπνηε θπθινθνξίαο θαηά ηε δηάξθεηα ηνπ fast sensing, ρσξίο σζηφζν λα ιεηηνπξγεί θαλέλαο timer πνπ λα έρεη ζρέζε κε ηε δηάξθεηα ηνπ frame. ε αληίζεηε πεξίπησζε, αλ θαη ε θπθινθνξία ζα δηαθνπηφηαλ, νη timers ζα εμαθνινπζνχζαλ λα ιεηηνπξγνχλ, κε απνηέιεζκα ε δηάξθεηα ηνπ frame λα παξακέλεη ίδηα θαη κε έλα κεγάιν πνζνζηφ ηνπ frame λα έρεη αλαισζεί ζηνλ εληνπηζκφ ησλ παξεκβνιψλ. Δπνκέλσο, θαηά ηε δηάξθεηα ηνπ fast sensing, ην frame δηαθφπηεηαη, κε ηε ιεηηνπξγία ηνπ λα ζπλερίδεηαη θαλνληθά κεηά ην πέξαο ηεο πεξηφδνπ γξήγνξνπ ειέγρνπ. Γηα απηφ ην ζθνπφ, ζηελ θιάζε Mac802_22Timer, ηεο νπνίαο ηα ζηηγκηφηππα είλαη νη timers πνπ ρξεζηκνπνηνχληαη γηα ηηο αλάγθεο ηεο πξνζνκνίσζεο, πξνζηίζεηαη θαη ε ζπλάξηεζε pause(), κε ηελ νπνία νη timers παγψλνπλ ηε ιεηηνπξγία ηνπο. Αληίζηνηρα, πινπνηείηαη θαη ε resume() κε ηελ νπνία νη timers ζπλερίδνπλ ηε ιεηηνπξγία ηνπο απφ ην ζεκείν ζην νπνίν είραλ ζηακαηήζεη. Έλαο απφ ηνπο timers πνπ παχνπλ ηε ιεηηνπξγία ηνπο είλαη θαη ν frametimer, ν νπνίνο θαζνξίδεη ηε δηάξθεηα ηνπ frame. Δλδεηθηηθά, παξαηίζεηαη ζηνλ παξαθάησ θψδηθα ε παχζε ιεηηνπξγίαο ηνπ frametimer θαηά ηνλ ηεξκαηηζκφ ελφο ηκήκαηνο ηνπ frame (ζπλάξηεζε SensePeriodsHandler): Παύζε ιεηηνπξγίαο ηνπ frametimer, όπσο απηή πξαγκαηνπνηείηαη ζηε ζπλάξηεζε SensePeriodsHandler. Οη ππόινηπνη timers πνπ είλαη ζρεηηθνί ζηακαηνύλ θαη απηνί ηε ιεηηνπξγία ηνπο κε παξόκνην ηξόπν void Mac802_22::SensePeriodsHandler() {... if(actualnetcell->scanningphase == IDLE){ if(!frametimer.paused() && frametimer.busy()) frametimer.pause();... actualnetcell->paused = true;... Αληίζηνηρα, κε ηελ νινθιήξσζε ηνπ fast sensing, ν frametimer ζπλερίδεη θαλνληθά ηε ιεηηνπξγία ηνπ, φπσο θαίλεηαη παξαθάησ (ζπλάξηεζε FastSensingHander):

100 Δπαλαιεηηνπξγία ηνπ frametimer, ν νπνίνο ζπλερίδεη από ην ζεκείν ζην νπνίν είρε πξνεγνπκέλσο ζηακαηήζεη ε ιεηηνπξγία ηνπ. Ζ επαλαθνξά απηή πξαγκαηνπνηείηαη ζην ηέινο ηνπ fast sensing, όηαλ θαη μεθηλά εθ λένπ ην ηκήκα αληαιιαγήο ησλ δεδνκέλσλ void Mac802_22::FastSensingHandler() { // We test if it is the last fast sense in the frame. // If it is the last measure, there is no need to resume timers if(measures == 0){... else{ // resume timers if paused if (frametimer.paused()) frametimer.resume();... actualnetcell->paused = false; Οη timers πνπ βξίζθνληαη ππό ηνλ έιεγρν ησλ ζπζθεπώλ πειαηώλ δελ κπνξνχλ λα πξνζπειαζηνχλ απεπζείαο απφ ηνλ ζηαζκφ βάζεο θαη θαη επέθηαζε δελ κπνξνχλ λα παχζνπλ ή λα ζπλερίζνπλ ηε ιεηηνπξγία ηνπο. Γηα ηελ αληηκεηψπηζε απηνχ ηνπ πξνβιήκαηνο ρξεζηκνπνηείηαη ε κέζνδνο ηεο δεηγκαηνιεςίαο, κε ηε ρξήζε ηεο sendtimer 37. Ο ζπγθεθξηκέλνο timer πνπ έρεη πνιχ κηθξή πεξίνδν ( sec), εθηειείηαη ζπλερψο θαη ειέγρνληαο ην πεξηερφκελν κηαο κεηαβιεηήο flag (κέινο paused ηεο δνκήο NetworkCell) πξνρσξά ζηελ παχζε ή ζηε ζπλέρηζε ηεο ιεηηνπξγίαο ησλ timers πνπ βξίζθνληαη θάησ απφ ηνλ έιεγρν ησλ ζπζθεπψλ πειαηψλ. Ζ ρξήζε ηνπ sendtimer πεξηγξάθεηαη θαιχηεξα κε ην παξαθάησ ηκήκα θψδηθα, ζηνλ νπνίν παξηζηάλεηαη ε παχζε θαη ε επαλαθνξά αληίζηνηρα ηνπ resumess 38 θαηά ηελ εθπλνή ηνπ sendtimer (ζπλάξηεζε sendtimerhandler): Παύζε θαη επαλαιεηηνπξγία ησλ timers πνπ βξίζθνληαη θάησ από ηνλ έιεγρν ησλ ζπζθεπώλ πειαηώλ, όπσο απηή πξαγκαηνπνηείηαη κε ηε ρξήζε ηεο sendtimer. εκαίλνληα ξόιν ζηε επηινγή ηεο ιεηηνπξγίαο (παύζε/επαλαιεηηνπξγία) παίδεη ε ηηκή ηεο actualnetcell->paused void Mac802_22::SendTimerHandler() {... // if all timers are paused, pause timers associated with the CPEs if(actualnetcell->paused){... if(!resumess.paused() && resumess.busy()){ resumess.pause(); // once timers are resumed, resume all relevant CPE timers too else{... if (resumess.paused()) resumess.resume(); 37 Ο ίδηνο timer πνπ έρεη ρξεζηκνπνηεζεί θαη γηα ηελ πινπνίεζε ηεο ακθίδξνκεο επηθνηλσλίαο ησλ επηπέδσλ mac θαη phy θαηά ηε δηάξθεηα ηνπ fast sensing 38 resumess: ζηηγκηφηππν ηεο θιάζεο ResumeSsBurst. Δίλαη έλαο timer πνπ ρξεζηκνπνηείηαη ζην downlink subframe γηα ηελ απνζηνιή ζε θάζε slot ηεο ξνήο απφ κηα ζπζθεπή πειάηε πξνο ην ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπλδεδεκέλε

101 ... sendtimer.start(pause_check); Με ηηο παξαπάλσ πξνζζήθεο νινθιεξψλεηαη ε πινπνίεζε ησλ πνιιαπιψλ senses ζε έλα frame. Σν module πξνζνκνηψλεη κε απφιπηε επηηπρία ηελ πξαγκαηνπνίεζε θαη πςεινχ αξηζκνχ senses/frame. Όπσο ζα δηαπηζησζεί θαη ζηε ζπλέρεηα, έρνπλ πξαγκαηνπνηεζεί κεηξήζεηο πνπ πεξηιακβάλνπλ αθφκα θαη ηελ αθξαία πεξίπησζε ησλ 9 senses/frame. Δίλαη γεγνλφο σζηφζν, πσο κεγάιε ηηκή ηεο απνδνηηθφηεηαο ζπλεπάγεηαη θαη κηθξφηεξε δηάξθεηα sensing θαη θαη επέθηαζε κεγαιχηεξν ρξφλν εληνπηζκνχ ηεο παξεκβνιήο ή θαη ζθάικαηα ζηνλ εληνπηζκφ ηεο. Θα πξέπεη ζπλεπψο, λα εμαζθαιίδεηαη κηα ηζνξξνπία κεηαμύ ηνπ κεγάινπ ξπζκνύ κεηάδνζεο θαη ηνπ απνδνηηθνύ εληνπηζκνύ ηεο παξεκβνιήο. Αλάκεζα ζηηο δπλαηφηεηεο ηνπ module, φπσο έρεη αλαθεξζεί θαη πξνεγνπκέλσο, πεξηιακβάλεηαη θαη ε πξαγκαηνπνίεζε πνιιψλ senses ζε έλα frame. Ζ βαζηθή ιεηηνπξγία ελφο δηθηχνπ πξνυπνζέηεη ηελ πξαγκαηνπνίεζε ελφο fast sensing ζην ηέινο θάζε frame. Χζηφζν, ζε πεξηπηψζεηο ζηηο νπνίεο ν γξήγνξνο εληνπηζκφο ηεο παξεκβνιήο απνηειεί θξίζηκν ζηνηρείν, κπνξεί λα νξηζηεί ε πξαγκαηνπνίεζε πνιιψλ senses ζε έλα frame. Έζησ πσο πξαγκαηνπνηνχληαη k fast senses ζε έλα frame. Με ηξφπν παξφκνην κε ηε ζρέζε (1) ηεο Παξαγξάθνπ 4.8.1, πξνθχπηεη ε παξαθάησ ζρέζε γηα ηελ απνδνηηθφηεηα ηεο κεηάδνζεο: a = T frame T frame + k T sense (2) Όπσο είλαη αλακελφκελν, ε αχμεζε ησλ senses ζε θάζε frame ζπλεπάγεηαη θαη κείσζε ηνπ ξπζκνχ κεηάδνζεο δεδνκέλσλ. Γηα δηάθνξεο ηηκέο ηνπ k, αληηθαζηζηψληαο ζηε (2), πξνθχπηεη ε ζεσξεηηθή ηηκή ηεο απνδνηηθφηεηαο. Αληίζηνηρα, κπνξεί λα κεηξεζεί ε απνδνηηθφηεηα κε ηελ εθηέιεζε ηνπ module, κε ηξφπν παξφκνην κε ηεο πξνεγνχκελεο πξνζνκνίσζεο. ηνλ παξαθάησ πίλαθα, παξνπζηάδνληαη ζπγθξηηηθά ηα ζεσξεηηθά θαη ηα πεηξακαηηθά απνηειέζκαηα: Αξηζκόο senses/frame Απνδνηηθόηεηα (από ζρέζε (2)) Απνδνηηθόηεηα (πεηξακαηηθή)

102 Ρυκμόσ λιψθσ δεδομζνων ενόσ CPE (Mbps) Παξαηεξείηαη κηα ζπκθσλία κεηαμχ ησλ ζεσξεηηθψλ θαη ησλ πεηξακαηηθψλ απνηειεζκάησλ (ε απφθιηζε κεηαμχ ηνπ είλαη πνιχ κηθξή), δείρλνληαο ηαπηφρξνλα θαη ηε ζσζηή ζπκπεξηθνξά ηνπ module ζηηο πεξηπηψζεηο πνπ πξαγκαηνπνηνχληαη πνιιά fast senses ζε έλα frame. Δλδηαθέξνλ παξνπζηάδεη ε κείσζε ηνπ ξπζκνχ κεηάδνζεο/ιήςεο ησλ δεδνκέλσλ (πνπ κεηξήζεθε πεηξακαηηθά), ζε ζπλάξηεζε κε ηελ αχμεζε ηνπ αξηζκνχ ησλ fast senses, φπσο θαίλεηαη θαη ζηελ παξαθάησ γξαθηθή παξάζηαζε: Ρυκμόσ λιψθσ δεδομζνων Αρικμόσ fast senses/frame Ζ κείσζε είλαη ηδηαίηεξα ζεκαληηθή φζν απμάλεηαη ν αξηζκφο ησλ fast senses ζε θάζε frame, επηθέξνληαο ζνβαξέο επηπηψζεηο ζην ξπζκφ κεηάδνζεο/ιήςεο ησλ δεδνκέλσλ. Αμίδεη λα ζεκεησζεί πσο γηα πεξηζζφηεξα απφ 10 senses/frame, ν ξπζκφο κεηάδνζεο κεηψλεηαη πεξηζζφηεξν απφ ην κηζφ ηνπ ηδαληθνχ ξπζκνχ κεηάδνζεο (φπνπ δελ ππάξρεη θαζφινπ ε ιεηηνπξγία ηνπ sensing), θαζηζηψληαο ηελ πινπνίεζε κε πξαθηηθή. Όπσο έρεη αλαθεξζεί θαη πξνεγνπκέλσο, αλακέλεηαη κείσζε ηνπ ρξόλνπ εληνπηζκνύ ηεο παξεκβνιήο φζν απμάλεηαη ν αξηζκφο ησλ senses πνπ πξαγκαηνπνηνχληαη θαηά κήθνο ελφο frame. Δηδηθφηεξα, ζε πεξίπησζε πνπ ππάξρεη παξεκβνιή κε πςειό ξπζκό δεδνκέλσλ (φπσο γηα παξάδεηγκα αλ ζηελ ίδηα πεξηνρή ππάξρεη θάπνην άιιν δίθηπν κε ην νπνίν δελ έρεη ζπγρξνληζηεί), ηφηε είλαη βέβαην πσο φζα πεξηζζφηεξα senses/frame πξαγκαηνπνηνχληαη, ηφζν

103 γξεγνξφηεξα εληνπίδεηαη ε παξεκβνιή. Ζ αύμεζε ηνπ αξηζκνύ ησλ senses ζπλεπάγεηαη θαη έιεγρνο γηα ηπρφλ παξεκβνιέο ζε πην ζύληνκν ρξνληθό δηάζηεκα θαηά κήθνο ελφο frame. Αλ γηα παξάδεηγκα, πξαγκαηνπνηείηαη έλα fast sense ζην ηέινο θάζε frame, ηφηε ε παξεκβνιή ζα εληνπηζηεί ζην ηέινο ηνπ πξψηνπ frame ζην νπνίν έρεη εθθηλήζεη ε παξεκβνιή. Αληίζεηα, ζηελ πεξίπησζε πνπ πξαγκαηνπνηνχληαη δχν fast senses ζε θάζε frame, ε παξεκβνιή ζα εληνπηζηεί ζε ρξφλν ίζν κε ηελ εθθίλεζε ηνπ πξψηνπ απφ ηα δπν fast senses (ζε έλα frame), δειαδή ζε ρξφλν ίζν κε ηε κηζφ ηεο δηάξθεηαο ελφο frame. Αληίζηνηρα, ν εληνπηζκφο ζα είλαη αθφκα γξεγνξφηεξνο ζηελ πεξίπησζε ησλ ηξηψλ senses/frame, θνθ. Ζ παξαπάλσ δηαπίζησζε ηζρχεη κφλν φηαλ ν ξπζκόο απνζηνιήο παθέησλ ηεο πεγήο ηεο παξεκβνιήο, είλαη κεγαιύηεξνο από ηε δηάξθεηα ηνπ fast sensing, απνζηέιινληαη δειαδή παθέηα ζε δηαδνρηθά ρξνληθά δηαζηήκαηα κε πεξίνδν απνζηνιήο κηθξφηεξε ησλ 10ms. Με απηφ ην ξπζκφ, ε παξεκβνιή ζα εληνπηζηεί απφ νπνηνδήπνηε fast sense, θαη ζπγθεθξηκέλα απφ ην πξψην sense ζην νπνίν έρεη εθθηλήζεη ε παξεκβνιή. Χζηφζν, δελ ηζρχεη ην ίδην φηαλ ε ξνή ησλ δεδνκέλσλ είλαη κηθξή. Έζησ γηα παξάδεηγκα πσο ζην ίδην δίθηπν βξίζθεηαη θαη έλαο «έμππλνο» επηηηζέκελνο, ν νπνίνο ζηέιλεη έλα παθέην ζε αξαηά ρξνληθά δηαζηήκαηα, πξνθαιψληαο παξεκβνιή ζην δίθηπν. ε απηή ηελ πεξίπησζε, ε εθαξκνγή πνιιψλ fast senses ζε έλα frame είλαη ζε ζέζε λα εληνπίζεη ηελ απνζηνιή απηψλ ησλ παθέησλ, ηα νπνία είλαη πνιχ πηζαλφ λα κελ εληνπηζηνχλ κε ηελ θιαζηθή εθαξκνγή ηνπ ελφο fast sensing/frame. Χζηφζν, εχινγν παξακέλεη ην εξψηεκα γηα ην ρξφλν εληνπηζκνχ. Παξφιν πνπ ε πηζαλφηεηα εληνπηζκνχ ησλ παθέησλ πνπ απνζηέιιεη ν επηηηζέκελνο απμάλεηαη κε ηελ αχμεζε ηνπ αξηζκνχ ησλ ειέγρσλ ζην θαλάιη, δελ κπνξεί λα εμαρζεί αζθαιέο ζπκπέξαζκα θαη γηα ην ρξφλν εληνπηζκνχ ηεο παξεκβνιήο. Ο ιφγνο είλαη πσο, ελψ αλακέλεηαη κείσζε ηνπ ρξφλνπ εληνπηζκνχ, έλαο «έμππλνο» επηηηζέκελνο ζα κπνξνχζε (αθνχ έρεη ζπληνληζηεί κε ην δίθηπν) λα ζηέιλεη παθέηα ζε ρξνληθά ζεκεία ηνπ frame ζηα νπνία δελ γίλεηαη έιεγρνο ηνπ θαλαιηνχ, πξνθαιψληαο πξνβιήκαηα ζην δίθηπν. πλεπψο, αλάινγα κε ηηο ρξνληθέο ζηηγκέο ζηηο νπνίεο απνζηέιιεηαη ην παθέην, ηφηε ζπγθεθξηκέλνη έιεγρνη ζε θάζε frame είλαη ζε ζέζε λα εληνπίζνπλ γξεγνξφηεξα ηα παθέηα απηά, ηα νπνία ζα εληνπίδνληαλ αξθεηά αξγφηεξα (ή θαη θαζφινπ), εθαξκφδνληαο δηαθνξεηηθφ αξηζκφ ειέγρσλ ζην frame. Γηαπηζηψλεηαη πσο ππάξρνπλ αξθεηέο πεξηπηψζεηο ζηηο νπνίεο ε αχμεζε ηνπ αξηζκνχ ησλ ειέγρσλ κπνξεί λα πξνθαιέζεη αλαίηηα κείσζε ηνπ throughput, θαζψο δε ζα ζπλνδεχεηαη απφ ηα επηζπκεηά απνηειέζκαηα. Οη παξαπάλσ δηαπηζηψζεηο κπνξνχλ λα επηβεβαησζνχλ ρξεζηκνπνηψληαο ην module πνπ έρεη πινπνηεζεί. Σν ζελάξην πεξηιακβάλεη έλα ζηαζκφ βάζεο (Base Station BS) θαη ηξεηο ζπζθεπέο πειαηψλ (Customer Premises Equipment CPE) πνπ είλαη ζπλδεδεκέλνη κε απηφλ. ην ίδην θαλάιη βξίζθεηαη θαη ν επηηηζέκελνο ν νπνίνο παξεκβάιιεηαη ζηελ επηθνηλσλία, απνζηέιινληαο έλα παθέην ζε ζηαζεξφ ρξνληθφ δηάζηεκα. Γηα δηαθνξεηηθνχο αξηζκνχο ειέγρσλ ζε θάζε frame ζα επηρεηξεζεί λα κεηξεζεί ν ρξφλνο εληνπηζκνχ ηεο παξεκβνιήο ηφζν: ηελ πεξίπησζε πνπ ν επηηηζέκελνο ζηέιλεη ηα παθέηα κε πνιύ πςειό ξπζκό (δηαδνρηθέο απνζηνιέο παθέησλ λα πξαγκαηνπνηνχληαη δειαδή ζε ρξφλν κηθξφηεξν απφ ηε δηάξθεηα ελφο fast sensing), φζν θαη ηελ πεξίπησζε πνπ ν επηηηζέκελνο απνζηέιιεη έλα παθέην ζε αξθεηά αξαηά ρξνληθά δηαζηήκαηα (κεγαιχηεξν απφ ηελ δηάξθεηα ελφο frame) Πξνηνχ φκσο ζρνιηαζηνχλ ηα απνηειέζκαηα ηεο πξνζνκνίσζεο, είλαη ζεκαληηθφ λα αλαιπζεί ε πινπνίεζε ηεο νληόηεηαο ηνπ επηηηζέκελνπ (attacker) ζηνλ ns-2.

104 Ο επηηηζέκελνο απνηειεί, φπσο θαη νπνηνδήπνηε «λφκηκν» BS ή CPE, έλα αληηθείκελν ηεο θιάζεο Mac802_22. Παξαθάησ, παξνπζηάδεηαη ε δήισζε ηνπ επηηηζέκελνπ ζε γιψζζα TCL, γιψζζα πνπ ρξεζηκνπνηήζεθε γηα ηηο πεξηγξαθέο φισλ ησλ ζελαξίσλ ιεηηνπξγίαο θαη επίζεζεο: Πεξηγξαθή ηνπ επηηηζέκελνπ ζε γιώζζα ΣCL set attacker [$ns node] $attacker set X_ $attacker set Y_ 200 $attacker set Z_ 0.0 $ns initial_node_pos $attacker 20 set sstationmac [$attacker getmac 0] $sstationmac attacker $sstationmac set-channel $channelap1 Ζ δηαθνξά κε ηε δεκηνπξγία ησλ λφκηκσλ θφκβσλ εληνπίδεηαη ζηε δήισζε $sstationmac attacker, φπνπ ελεξγνπνηείηαη ε αληίζηνηρε ζπλζήθε ηεο ζπλάξηεζεο command ζην αξρείν mac-802_22.cc, φπσο θαίλεηαη θαη ζην παξαθάησ ηκήκα θψδηθα: Γεκηνπξγία ηεο νληόηεηαο ηνπ επηηηζέκελνπ, όπσο απηή νξίδεηαη ζηε ζπλάξηεζε command ζην αξρείν mac-802_22.cc. Γηαβάδνληαο ην όξηζκα attacker πνπ έρεη δεισζεί ζην πξνεγνύκελν αξρείν tcl, ε εθηέιεζε ηεο ζπλάξηεζεο πξαγκαηνπνηείηαη ζηελ παξαθάησ ζπλζήθε if (strcmp(argv[1], "attacker") == 0) { attacker = true; createbs(index_); attacktimer.start(0.001); return TCL_OK; Παξαηεξείηαη πσο ν επηηηζέκελνο δειψλεηαη σο BS, ρσξίο απηφ λα έρεη θάπνηα πξαθηηθή αμία. Ζ ζπκπεξηθνξά ηνπ δηαθνξνπνηείηαη απφ ηε θπζηνινγηθή, κε ηε ρξήζε ηνπ flag attacker, ην νπνίν έρεη ηελ ηηκή true. Ο attackertimer είλαη έλαο timer πνπ ρξεζηκνπνηεί ν επηηηζέκελνο, ζηελ εθπλνή ηνπ νπνίνπ απνζηέιιεηαη έλα παθέην 39, γηα λα εθθηλήζεη μαλά κεηά ηελ απνζηνιή ηνπ παθέηνπ (ζπλάξηεζε interfere). ε αληίζεζε κε ηνπο θπζηνινγηθνχο ζηαζκνχο βάζεο, ν επηηηζέκελνο αγλνεί ηπρφλ παθέηα πνπ κπνξεί λα ιάβεη 40, δε δεκηνπξγεί ξνή, νχηε θαη ζηέιλεη θαλέλα παθέην νπνηνπδήπνηε άιινπ ηχπνπ. Όπσο δηαπηζηψλεηαη, ν επηηηζέκελνο δελ πξαγκαηνπνηεί έιεγρν γηα παξεκβνιέο ζην θαλάιη, νχηε θαη αιιάδεη θαλάιη ιεηηνπξγίαο. Χζηφζν, κπνξεί λα πξνγξακκαηίζεη θαη θαη επέθηαζε λα πξνβιέςεη πφηε ζα πξαγκαηνπνηεζεί ην fast sensing, ρσξίο ζηελ νπζία λα ειέγρεη ην θαλάιη, ραξαθηεξηζηηθφ πνπ ζα απνβεί ηδηαίηεξν ρξήζηκν ζε πην πνιχπινθα ζελάξηα πξνζνκνίσζεο. 39 Σν παθέην πνπ απνζηέιιεηαη είλαη ηχπνπ Superframe Control Header (SCH), ρσξίο λα έρεη ηδηαίηεξε ζεκαζία ν ζπγθεθξηκέλνο ηχπνο παθέηνπ 40 Τπάξρεη εηδηθή ζπλζήθε ειέγρνπ ζηε ζπλάξηεζε recv ζην mac-802_22.cc

105 Ζ εθθίλεζε ηνπ δηθηχνπ θαη ηνπ attacker πξαγκαηνπνηείηαη ηελ ίδηα ρξνληθή ζηηγκή. Δπηπιένλ, έρεη νξηζηεί θαη ξνή επηθνηλσλίαο κεηαμχ ηνπ ζηαζκνχ βάζεο θαη ησλ ηξηψλ ζπζθεπψλ ησλ πειαηψλ. Ο επηηηζέκελνο βξίζθεηαη εληφο ηεο εκβέιεηαο ιεηηνπξγίαο θαη ηνπ ζηαζκνχ βάζεο θαη ησλ ηξηψλ ζπζθεπψλ πειαηψλ (33km). Αξρηθά, κεηξηέηαη ν ρξφλνο εληνπηζκνχ ηεο παξεκβνιήο γηα κεηάδνζε παθέησλ ηνπ επηηηζέκελνπ ζε πςειφ ξπζκφ (απνζηέιιεηαη έλα παθέην θάζε 2*SymbolLength = ms), ελψ κεηξήζεθε θαη ν ρξφλνο εληνπηζκνχ ηεο παξεκβνιήο φηαλ ν επηηηζέκελνο απνζηέιιεη έλα παθέην θάζε 200*SymbolLength (201.68ms). Σα απνηειέζκαηα ησλ πξνζνκνηψζεσλ θαίλνληαη ζηνλ παξαθάησ πίλαθα: Αξηζκόο senses/frame Υξόλνο εληνπηζκνύ παξεκβνιήο ζε sec (απνζηνιή παθέηνπ θάζε 2*SymbolLength) Υξόλνο εληνπηζκνύ παξεκβνιήο ζε sec (απνζηνιή παθέηνπ θάζε 200*SymbolLength) > Όζνλ αθνξά ηελ απνζηνιή παθέηνπ αλά πνιύ κηθξέο πεξηόδνπο (πςειφο ξπζκφο κεηάδνζεο), ηα απνηειέζκαηα επηβεβαηψλνπλ ηηο αξρηθέο δηαπηζηψζεηο, θαζώο ν ρξόλνο εληνπηζκνύ κεηώλεηαη κε ηελ αύμεζε ηνπ αξηζκνύ ησλ senses ζε θάζε frame. Ζ ζηηγκή έλαξμεο ηνπ πξψηνπ fast sensing κεηά ηελ έλαξμε ηεο παξεκβνιήο κεηψλεηαη κε ηελ αχμεζε ησλ senses, φπσο θαίλεηαη θαη ζηελ παξαθάησ ζρέζε: φπνπ: t sense (k) = T start + 3 SymbolLength + FrameLength 3 SymbolLength k T start : ε εθθίλεζε ηεο ιεηηνπξγίαο ηνπ δηθηχνπ, πνπ έρεη νξηζηεί ζηα sec SymbolLength: ε δηάξθεηα ελφο ζπκβφινπ, πνπ είλαη sec FrameLength: ε δηάξθεηα ελφο frame, φπσο απηή έρεη νξηζηεί ζηα 0.01 sec k: ν αξηζκφο ησλ senses/frame Με βάζε ηελ πινπνίεζε ηνπ module, ν φξνο FrameLength 3*SymbolLength 41 ππνδειψλεη πσο ζηελ αξρή ηεο ιεηηνπξγίαο ηνπ ην BS εθπέκπεη ην superframe preamble (2*SymbolLength), ζηε ζπλέρεηα εθπέκπεη ην frame preamble (SymbolLength) γηα λα απνκείλνπλ FrameLength 3*SymbolLength γηα ηε κεηάδνζε δεδνκέλσλ. Δλδεηθηηθά, γηα k=2 θαη k=5, ν ρξφλνο έλαξμεο 41 Όπσο έρεη αλαθεξζεί θαη ζηελ αλάιπζε ηεο πινπνίεζεο ησλ πνιιαπιψλ senses/frame, αλ δελ είλαη ην πξψην frame ζε έλα superframe, ηφηε ν φξνο FrameLength 3*SymbolLength αληηθαζίζηαηαη απφ ηνλ φξν FrameLength - SymbolLength

106 ηνπ πξψηνπ fast sense ππνινγίδεηαη σο t sense(2) = sec θαη t sense(5) = sec αληίζηνηρα. Αλ ζε απηέο ηηο ηηκέο πξνζηεζεί θαη ε δηάξθεηα ηνπ fast sensing (0.001s), ηφηε πξνθχπηνπλ νη ηηκέο πνπ κεηξήζεθαλ πεηξακαηηθά ζηνλ παξαπάλσ πίλαθα, επηβεβαηψλνληαο ηελ πεξηγξαθφκελε ιεηηνπξγία.

107 ηα πξνεγνχκελα θεθάιαηα αλαιχζεθε ε ζπκπεξηθνξά ελόο δηθηύνπ φηαλ βξίζθεηαη καδί κε άιια δίθηπα ζην ίδην θαλάιη, θαζψο θαη ν ηξφπνο κε ηνλ νπνίν απνθεχγεηαη ε παξεκβνιή, αλάινγα κε ηηο ζπλζήθεο ηεο πξνζνκνίσζεο, κεγηζηνπνηψληαο ηελ απφδνζε ηνπ δηθηχνπ. Δπηπιένλ, νξίζηεθε θαη ε νληόηεηα ηνπ επηηηζέκελνπ, ν νπνίνο εθπέκπνληαο έλα παθέην ζε ηαθηά ρξνληθά δηαζηήκαηα, δεκηνπξγεί πξνβιήκαηα ζηελ εχξπζκε ιεηηνπξγία ηνπ δηθηχνπ. Χζηφζν, ν επηηηζέκελνο κπνξεί λα απνθηήζεη θαη κηα πην έμππλε ζπκπεξηθνξά, πξαγκαηνπνηψληαο επηζέζεηο εθκεηαιιεπόκελνο ηηο πεξηόδνπο ειέγρνπ ηνπ θαλαιηνύ (γλσζηψλ θαη σο sensing periods ή quiet periods QP). Ήδε έρεη επηζεκαλζεί κηα ηέηνηνπ είδνπο επίζεζε [14] ζηελ νπνία ν επηηηζέκελνο κεηαδίδεη ζηα QPs, πξνθαιψληαο παξεκβνιή. Αθφκα πην εμειηγκέλνη ηχπνη επηζέζεσλ πεξηιακβάλνπλ ηελ εμνκνίσζε ησλ ζεκάησλ ησλ ηειενπηηθψλ ζηαζκψλ ζε ζπγθεθξηκέλεο ζπρλφηεηεο, δεκηνπξγψληαο πξνβιήκαηα θαηά ηε δηαδηθαζία ηνπ spectrum sensing θαη πεξηνξίδνληαο ζεκαληηθά ηνπο πφξνπο ζηνπο νπνίνπο κπνξεί λα ιεηηνπξγήζεη έλα δίθηπν. ε απηή ηελ παξάγξαθν ζα αλαιπζεί έλα λέν ζελάξην επίζεζεο, ζην νπνίν ν επηηηζέκελνο, αθνχ έρεη ζπγρξνληζηεί κε ην δίθηπν, γλσξίδεη ηα QPs θαη επηιέγεη λα κελ κεηαδίδεη παθέηα ζε απηά, εθκεηαιιεπφκελνο ηελ πεξηνδηθφηεηα εκθάληζήο ηνπο θαη δπζρεξαίλνληαο αθφκα πεξηζζφηεξν ηνλ εληνπηζκφ ηεο παξεκβνιήο. Οη ππάξρνπζεο πινπνηήζεηο θαζηζηνχλ αδχλαην ηνλ εληνπηζκφ ηεο παξεκβνιήο, θαζψο φηαλ πξαγκαηνπνηείηαη ην sensing (ην fast sensing ζε πξψηε θάζε), ηφηε ν επηηηζέκελνο δελ ζηέιλεη θαλέλα παθέην. Αληίζεηα, φηαλ κεηαδίδνληαη δεδνκέλα, ν επηηηζέκελνο κπνξεί λα παξεκβάιιεηαη αλελφριεηνο, ρσξίο λα ππάξρεη θίλδπλνο εληνπηζκνχ ηνπ. Γηα λα απνθεπρζνχλ ηέηνηνπ είδνπο

108 επηζέζεηο, θξίλεηαη ζθφπηκν λα πξνηαζνχλ αιιαγέο ζηε ιεηηνπξγία ηνπ δηθηχνπ, έηζη ψζηε λα είλαη ζε ζέζε λα εληνπίδεη ηελ παξεκβνιή θαη λα πξνζηαηεπζεί απφ απηή. Γηα απηφ ην ιφγν έρεη ζρεδηαζηεί έλαο λένο αιγφξηζκνο ηνπ νπνίνπ ε ιεηηνπξγία πεξηγξάθεηαη παξαθάησ. Μηα ιχζε πνπ κπνξεί λα πινπνηεζεί είλαη ε πξαγκαηνπνίεζε fast sensing θαηά κήθνο ηνπ frame ζε ρξόλν πνιιαπιάζην ηνπ ελόο timeslot. ε αληίζεζε κε ηελ πινπνίεζε ησλ πνιιαπιψλ senses ζε έλα frame, ε παξνχζα ιχζε δε δηαηξεί ην frame ζε πνιιά ηκήκαηα, αλάκεζα ζηα νπνία γίλεηαη sense ηνπ θαλαιηνχ ιεηηνπξγίαο, φπσο έρεη πεξηγξαθεί ζην Κεθάιαην 6. Αληίζεηα, κφιηο θάπνηα ζπζθεπή πειάηε (ή θαη ν ζηαζκφο βάζεο) δηαπηζηψζεη απψιεηα θάπνηνπ παθέηνπ ιφγσ ζπκθφξεζεο (πνπ δεκηνπξγείηαη απφ ηελ παξεκβνιή παθέησλ ηνπ επηηηζέκελνπ), ηφηε ην δίθηπν απνθαζίδεη ηελ πξαγκαηνπνίεζε fast sensing απφ φιεο ηηο ζπζθεπέο πειαηψλ ζε θάπνηα slots ζηα νπνία ζα γηλφηαλ θαλνληθά ε απνζηνιή/ιήςε δεδνκέλσλ. Ζ δηάξθεηα ηνπ fast sensing είλαη κηθξφηεξε απφ ηελ θαζνξηζκέλε δηάξθεηα ηνπ fast sense πνπ πξαγκαηνπνηείηαη ζην ηέινο ηνπ frame, αθνχ είλαη ηεο ηάμεο κεξηθψλ slots, κε ηηο επηπηψζεηο ζην ξπζκφ κεηάδνζεο λα είλαη κηθξφηεξεο ζε ζρέζε κε ηελ πξαγκαηνπνίεζε δχν ή πεξηζζνηέξσλ fast senses ζε έλα frame, φπσο έρεη ππνινγηζηεί ζε πξνεγνχκελε παξάγξαθν. Καζψο ε ιεηηνπξγία ηνπ sense «θαηαιακβάλεη» slots ζηα νπνία ζα γηλφηαλ ε αληαιιαγή ησλ δεδνκέλσλ ζε δηαθνξεηηθή πεξίπησζε, ε δηάξθεηα ηνπ frame δελ κεηαβάιιεηαη (παξακέλεη T frame + T fast_sense = sec). Δπηπιένλ, γηα λα απμεζνχλ νη πηζαλφηεηεο εληνπηζκνχ ηεο παξεκβνιήο θαη λα απνθεπρζνχλ πεξηπηψζεηο ζηηο νπνίεο ν επηηηζέκελνο ζα κπνξνχζε λα απνζηείιεη παθέηα ζε ζπγθεθξηκέλα ζεκεία ηνπ frame ζηα νπνία δελ πξαγκαηνπνηείηαη sensing, αιιάδνπλ ηα slots ζε θάζε frame ζηα νπνία ζα πξαγκαηνπνηείηαη ην sensing. Δπνκέλσο, αλ ην sensing έρεη δηάξθεηα 2 slots, αθφηνπ δηαπηζησζεί ζπκθφξεζε, γίλεηαη sensing ζην ηέηαξην θαη ην πέκπην slot ηνπ πξψηνπ frame, ζην έθην θαη ην έβδνκν slot ηνπ δεχηεξνπ frame, θ.ν.θ. ηελ παξνχζα πινπνίεζε, αλ Slot DL είλαη ηα slots πνπ αλαηίζεληαη γηα ηε ιήςε δεδνκέλσλ ηνπ BS απφ ην CPE θαη Slot UL είλαη ηα slots πνπ αλαηίζεληαη γηα ηελ απνζηνιή αληίζηνηρα, ηφηε ν ζπλνιηθφο αξηζκφο ησλ slots γηα ηελ αληαιιαγή ησλ δεδνκέλσλ είλαη: Slots total = Slots DL + Slots UL 2 Ο φξνο «-2» ππνδειψλεη ηελ αθαίξεζε 2 slots απφ ην Downlink Subframe πνπ δεζκεχνληαη γηα ηελ απνζηνιή ηνπ DLMAP θαη ηνπ ULMAP. Όηαλ (χζηεξα απφ ηελ παξέιεπζε πνιιψλ frames ζηα νπνία έρνπλ πξαγκαηνπνηεζεί έιεγρνη) ν έιεγρνο κεηαθεξζεί ζηα ηειεπηαία slots ηνπ frame (ζπλνιηθά slots = ), ηφηε ν έιεγρνο πξαγκαηνπνηείηαη εθ λένπ ζην ηέηαξην θαη ην πέκπην slot ηνπ επφκελνπ frame. Ζ ιεηηνπξγία απηνχ ηνπ ηχπνπ sensing παξηζηάλεηαη θαη ζηελ παξαθάησ εηθφλα:

109 Γηα κεγαιχηεξε απιφηεηα, ην frame παξηζηάλεηαη ζε Time Division Duplex (TDD) κνξθή. Γηα λα επηηεπρζεί φζν ην δπλαηφλ κηθξφηεξε επηβάξπλζε ζην throughput, ην δίθηπν ζε θάζε frame ειέγρεη αλ έρνπλ ραζεί δεδνκέλα ιφγσ ηεο ζπκθφξεζεο (congestion) πνπ πξνθαιεί ε απνζηνιή ησλ παθέησλ απφ ηνλ επηηηζέκελν. Αληίζηνηρα, αλ δελ έρνπλ ραζεί δεδνκέλα, δελ θξίλεηαη αλαγθαία ε πξαγκαηνπνίεζε ηνπ sensing εληφο ηνπ frame. Γηα γξεγνξφηεξν εληνπηζκφ ηεο παξεκβνιήο, αιιά κε επηπηψζεηο ζην ξπζκφ κεηάδνζεο, ν ζηαζκφο βάζεο κπνξεί λα αιιάδεη, πέξα απφ ηε ζέζε ηνπ sense ζε θάζε frame, θαη ηε δηάξθεηα ηνπ sense, απμάλνληάο ηε θαηά έλα slot ζε θάζε frame φπνπ εληνπίδεηαη απμεκέλε ζπκθφξεζε. Απηή ε λέα ιεηηνπξγία sensing έρεη ελζσκαησζεί ζηνλ θψδηθα σο έλα μερσξηζηφο ηχπνο sensing, κε ηελ νλνκαζία in-frame sensing (Αιγόξηζκνο Β 42 ). Παξαθάησ πεξηγξάθεηαη ν Αιγφξηζκνο Β κε ηε κνξθή ςεπδνθψδηθα: Πεξηγξαθή ιεηηνπξγίαο Αιγόξηζκνπ Β (in-frame sensing) in-frame_sensing(πρώηα διάρκεια_sensing slots); Για κάθε(frame){ Υπάρτει(collision_ροής){ Αν ελέγτθηκαν προηγοσμένφς ηα ηελεσηαία διάρκεια_sensing slots ηοσ frame{ ζηαμάηα_μεηάδοζη(πρώηα διάρκεια_sensing slots); in-frame_sensing(πρώηα διάρκεια_sensing slots); αλλιώς{ ζηαμάηα_μεηάδοζη(επόμενα διάρκεια_sensing slots); in-frame_sensing(επόμενα διάρκεια_sensing slots); 42 Θεσξείηαη πσο ν Αιγφξηζκνο Α είλαη ε θιαζηθή πινπνίεζε πνπ νξίδεηαη θαη απφ ην πξφηππν ηνπ ζηελ νπνία πξαγκαηνπνηείηαη έλα fast sensing ζην ηέινο θάζε frame.

110 Τερμαηιζμός in-frame sensing: Υπάρτει_παρεμβολή(>= 1 CPEs) fine_sensing; Ζ πινπνίεζε ηνπ in-frame sensing (ζα αλαθέξεηαη έηζη ράξηλ ζπληνκίαο) αθνξά ην MAC επίπεδν. Ζ δήισζε ζε tcl πνπ αθνξά ηελ πξνζζήθε απηήο ηεο δπλαηφηεηαο sensing γίλεηαη κε ηελ εληνιή: set sensing-type 2 φπνπ ε ηηκή «2» αληηζηνηρεί ζην ζπγθεθξηκέλν ηχπν sensing. Αληίζηνηρα, φηαλ δεισζεί απηφο ν ηχπνο sensing, ε κεηαβιεηή sensingtype (ε νπνία απνζεθεχεη ην είδνο sensing πνπ έρεη επηιερζεί) έρεη ηελ ηηκή IN_FRAME. Έλα απφ ηα ζεκαληηθφηεξα δεηήκαηα ηεο πινπνίεζεο ήηαλ θαη ν ηξόπνο πνπ ην δίθηπν ζα δηαπίζησλε ζπκθόξεζε θαηά ηελ απνζηνιή ησλ παθέησλ απφ ηνλ επηηηζέκελν. Δθφζνλ ε ζπκθφξεζε πξνθαιείηαη απφ ηελ απνζηνιή παθέησλ απφ ηνλ επηηηζέκελν, ν εληνπηζκφο ηεο ηζνδπλακεί κε ηνλ εληνπηζκφ ηεο ιήςεο θάπνηνπ παθέηνπ πνπ δελ αλήθεη ζην δίθηπν (ζηελ πξνθεηκέλε πεξίπησζε ηνπ attacker), είηε απφ ην ζηαζκφ βάζεο, είηε απφ ηηο ζπζθεπέο ησλ πειαηψλ. πλεπψο, αξθεί λα ππάξρεη ε δπλαηφηεηα ιήςεο παθέησλ ηνπ attacker θαηά ηε δηάξθεηα ηεο κεηάδνζεο, ε νπνία κε ηε ζεηξά ηεο ζα ππξνδνηήζεη ηε ιεηηνπξγία ηνπ in-frame sensing. Ζ δπλαηφηεηα απηή έρεη ήδε πινπνηεζεί κε ηε κέηξεζε ηεο παξεκβνιήο ζηελ νπνία κεηξνχληαη ηα παθέηα πνπ έρνπλ ιεθζεί θαη πξνέξρνληαη απφ πεγέο εθηφο δηθηχνπ πξνο ην ζπλνιηθφ αξηζκφ ησλ ιεθζέλησλ παθέησλ. Αλ ζε θάζε frame έρεη ιεθζεί θάπνην παθέην εθηφο δηθηχνπ, πηζηνπνηψληαο ηελ χπαξμε ηεο παξεκβνιήο 43, ηφηε πξαγκαηνπνηείηαη ην in-frame sensing. Ζ κεηαβιεηή sensedpackets απνζεθεχεη ηνλ αξηζκφ απηψλ ησλ παθέησλ ζε θάζε frame, έρνληαο ζηελ νπζία ηνλ ίδην ξφιν κε ηε κεηαβιεηή interferedpackets. Ζ κνλαδηθή δηαθνξά εληνπίδεηαη ζηε κε αχμεζε ηεο ηηκήο ηεο sensedpackets θαηά ηε δηαδηθαζία ειέγρνπ ηνπ πξννξηζκνχ ησλ παθέησλ θαη απφξξηςεο απηψλ πνπ δελ πξννξίδνληαη γηα ην ζπγθεθξηκέλν θφκβν (address filtering). Αλ, επνκέλσο, ε ηηκή ηεο sensedpackets είλαη ζεηηθή, ην BS νξίδεη ηελ έλαξμε ηνπ in-frame sensing, φπσο θαίλεηαη θαη ζην παξαθάησ ηκήκα θψδηθα: Τινπνίεζε ηεο ιεηηνπξγίαο ηνπ in-frame sensing, όπσο έρεη νξηζηεί ζηε ζπλάξηεζε PreambleTimerHandler ζην αξρείν mac-802_22.cc if(sensedpackets >0 &&!attacker && sensingtype==in_frame){ sensedpackets = 0; if((dlsymbolnum+ulsymbols-2)*symbollength - (adapt+3)*sensing_duration >=0) adapt++; else adapt = 1; if(sensing_duration<=2*symbollength) adaptsensetimer.start(adapt*sensing_duration + 2*SymbolLength); 43 Δλαιιαθηηθά ζα κπνξνχζε λα εθθηλήζεη φηαλ ζα παξαηεξνχηαλ ζχγθξνπζε, θαηά ηελ νπνία ζα ράλνληαλ παθέηα ξνήο. Αλ θαη έρεη πινπνηεζεί ν κεραληζκφο απηφο γηα ηνλ ζπγθεθξηκέλν αιγφξηζκν, ζηελ πξνθεηκέλε πεξίπησζε, επηιέρζεθε γηα ιφγνπο απιφηεηαο λα ειέγρεηαη αλ ιακβάλεηαη θάπνην παθέην εθηφο δηθηχνπ.

111 else adaptsensetimer.start(adapt*sensing_duration); Ο έιεγρνο απηφο πξαγκαηνπνηείηαη ζηελ PreambleTimerHandler, δειαδή ακέζσο πξηλ εθθηλήζεη ν frametimer πνπ ζεκαηνδνηεί ηελ αληαιιαγή ησλ δεδνκέλσλ. Ζ κεηαβιεηή adapt πεξηέρεη ην ζεκείν (σο πνιιαπιάζην ηνπ slot) ζην νπνίν ζα εθθηλήζεη ην in-frame sensing θαη απμάλεηαη ζπλερψο, κέρξη λα θηάζεη ζηα ηειεπηαία slots ηνπ frame, γηα λα επηζηξέςεη εθ λένπ ζηελ αξρηθή ηεο ηηκή (1). Αμίδεη λα ζεκεησζεί, πσο ε δηάξθεηα ελφο slot είλαη ίζε κε ηε δηάξθεηα ελφο ζπκβφινπ (SymbolLength), γη απηφ θαη ε ρξνληθή ζηηγκή εθθίλεζεο ηνπ in-frame sensing είλαη πνιιαπιάζηα θαη ηνπ SymbolLength. Ζ δηάξθεηα ηνπ sensing νξίδεηαη κε ηε sensing_duration, ε νπνία, βάζεη ησλ πξναλαθεξζέλησλ, είλαη πνιιαπιάζηα ηνπ SymbolLength. Όπσο κπνξεί λα δηαπηζησζεί θαη απφ ην παξαπάλσ ηκήκα θψδηθα, ε εθθίλεζε ηνπ in-frame sensing νξίδεηαη κε ηελ adaptsensetimer (ε adapt είλαη ζηελ νπζία ν πνιιαπιαζηαζηηθφο παξάγνληαο ηεο SymbolLength). Όηαλ εθπλεχζεη ν timer (ζπλάξηεζε AdaptSenseHandler), μεθηλά ην sensing κε ηξφπν παξφκνην κε ην θιαζηθφ sensing, κε ηε δηάξθεηά ηνπ λα είλαη φκσο κηθξφηεξε (sensing_duration). Καζψο φκσο ην frame δε δηαθφπηεηαη, νη timers πνπ βξίζθνληαη ζε εμέιημε δελ παύνπλ ηε ιεηηνπξγία ηνπο. Αληίζεηα, ζα πξέπεη λα πξνζηεζεί ε δπλαηφηεηα απαγόξεπζεο νπνηαζδήπνηε κεηάδνζεο θαηά ηε δηάξθεηα ηνπ in-frame sensing, ρσξίο σζηφζν λα ζηακαηήζεη θαλέλαο timer θαη θαηά ζπλέπεηα λα επηκεθπλζεί ην frame. ηα slots πνπ γίλεηαη ε κεηάδνζε, θάζε ζηαζκφο βάζεο/ζπζθεπή πειάηε ζα πξέπεη λα ειέγρεη αλ βξίζθεηαη ζε θαηάζηαζε FAST_SENSING ή φρη. Αλ βξίζθεηαη ζε θαηάζηαζε sensing, ηφηε δελ απνζηέιινληαη παθέηα 44, κε απνηέιεζκα λα δηαθφπηεηαη ε θπθινθνξία. Ο έιεγρνο απηφο, πέξα απφ ηηο ζπλαξηήζεηο πνπ είλαη ππεχζπλεο γηα ηελ απνζηνιή ηεο ξνήο (ResumeBsBurstHandler γηα ην BS θαη ResumeSsBurstHandler γηα ην SS, ζηηο νπνίεο δελ πξαγκαηνπνηείηαη νχηε ε δέζκεπζε ηνπ πξνο απνζηνιή παθέηνπ) έρεη πξνζηεζεί θαη γηα ηηο απνζηνιέο θαη άιισλ ηχπσλ παθέηνπ πνπ είλαη ιηγφηεξν πηζαλφ λα εληνπηζηνχλ κέζα ζην Downlink θαη ην Uplink Subframe, φπσο ην Beacon, ην Bandwidth Request (BWREQ), θ.α. Γηα ηελ νινθιήξσζε ηεο πινπνίεζεο ηνπ ζελαξίνπ, βειηηψλεηαη θαη ε ζπκπεξηθνξά ηνπ επηηηζέκελνπ, απνθηψληαο ζε απηή ηελ πεξίπησζε πεξηζζφηεξε «λνεκνζχλε». Ο επηηηζέκελνο απηή ηε θνξά απνθεύγεη ηελ απνζηνιή παθέησλ θαηά ηε δηάξθεηα ηνπ fast sensing, ειέγρνληαο θάζε θνξά ηε scanningphase γηα λα δηαπηζηψζεη αλ πξαγκαηνπνηείηαη εθείλε ηε ζηηγκή fast sensing. Γηα απηφ ην ιφγν, ν επηηηζέκελνο πινπνηεί θαη εθείλνο ηνλ πξνγξακκαηηζκφ ηνπ fast sensing, φπσο έρεη αλαθεξζεί θαη ζε πξνεγνχκελε παξάγξαθν, γλσξίδνληαο κε απηφ ηνλ ηξφπν πφηε ην δίθηπν πνπ ζέιεη λα παξεκβάιιεη, αθνχ ζπληνληζηεί κε απηφ, θάλεη fast sensing (ην fast sensing ζην ηέινο ηνπ frame πάληα, θαζψο γλσξίδεη πσο απηφ γίλεηαη ζηαζεξά ζην ηέινο ηνπ frame). Αληίζεηα, δελ είλαη ζε ζέζε λα γλσξίδεη πφηε πξαγκαηνπνηείηαη ην in-frame sensing. Ζ ζπλάξηεζε απνζηνιήο ησλ παθέησλ απφ ηνλ attacker (interfere) απνθηά ηελ παξαθάησ ηειηθή κνξθή: 44 Δηδηθφηεξα, δελ θαιείηαη ε downtarget_->recv(p, this)

112 Τινπνίεζε ηνπ ζρήκαηνο επίζεζεο από ηνλ επηηηζέκελν, ν νπνίνο ζηέιλεη δηαδνρηθά παθέηα ζε ηαθηά ρξνληθά δηαζηήκαηα, κε εμαίξεζε ηε ζηηγκή πνπ γίλεηαη fast sensing void Mac802_22::interfere() { Packet *sch = Packet::alloc(); NetworkCell * actualnetcell; actualnetcell = findcellbybsid(bss_id_); if(actualnetcell->scanningphase == IDLE && frametimer.expire() > ){ sch = makesch(); sendsch(sch); printf("interfering...\n"); attacktimer.start(6*symbollength); ηα αμηνζεκείσηα πεξηιακβάλεηαη επίζεο θαη ν έιεγρνο ηνπ ρξφλνπ πνπ απνκέλεη γηα ηελ εθπλνή ηνπ frametimer (frametimer.expire()), απνηξέπνληαο κε απηφλ ηνλ ηξφπν ηελ απνζηνιή παθέησλ θνληά ζην ηέινο ηνπ frame, ηα νπνία είλαη πνιχ πηζαλφ λα ιεθζνχλ απφ ην δίθηπν «ζχκα» ιίγν κεηά ηελ εθθίλεζε ηνπ fast sensing. Ζ απνζηνιή δηαδνρηθψλ παθέησλ παξεκβνιήο γίλεηαη θαη απηή ζε ρξφλνπο πνιιαπιάζηνπο ηεο δηάξθεηαο ελφο ζπκβφινπ. Έζησ έλαο ζηαζκφο βάζεο πνπ επηθνηλσλεί κε ηξεηο ζπζθεπέο πειαηψλ ζε έλα θαλάιη. ην ίδην θαλάιη βξίζθεηαη θαη ν επηηηζέκελνο, ν νπνίνο ζηέιλεη παθέηα ζε ρξνληθά δηαζηήκαηα κηθξφηεξα ηεο δηάξθεηαο ελφο frame (6*SymbolLength). Με απηφλ ηνλ ηξφπν, ην δίθηπν ζα είλαη ζε ζέζεη λα δηαπηζηψλεη ηε ζπκθφξεζε ζε θάζε frame, κε απνηέιεζκα λα κελ ππάξρεη θαλέλα frame ζην νπνίν λα κελ πξαγκαηνπνηείηαη in-frame sensing. ηελ παξαθάησ εηθφλα παξηζηάλεηαη ε ηνπνινγία ησλ ζπζθεπψλ πειαηψλ, ηνπ ζηαζκνχ βάζεο θαη ηνπ επηηηζέκελνπ πνπ ζα ρξεζηκνπνηεζνχλ γηα ηελ πξνζνκνίσζε:

113 Κάζε θφκβνο αλαπαξίζηαηαη κε ην id πνπ ηνπ έρεη αλαηεζεί θαηά ηε δηάξθεηα ηεο πξνζνκνίσζεο. Ο θφκβνο κε ην id 45 0 είλαη ν ζηαζκφο βάζεο ν νπνίνο επηθνηλσλεί, φπσο θαίλεηαη θαη ζηελ παξαπάλσ εηθφλα, κε ηηο ηξεηο ζπζθεπέο πειαηψλ, αληαιιάζζνληαο δεδνκέλα (id 1 3). Ο επηηηζέκελνο (ν θφκβνο πνπ βξίζθεηαη θάησ δεμηά ζηελ παξαπάλσ εηθφλα) βξίζθεηαη ιίγν καθξχηεξα, αιιά εληφο ηεο εκβέιεηαο ηνπ δηθηχνπ (θαη θαηά ζπλέπεηα θαη εληφο ηεο εκβέιεηαο ησλ ζπζθεπψλ πειαηψλ 1-3). Οη θχθινη γχξσ απφ ηνλ επηηηζέκελν αληηζηνηρνχλ ζε απνζηνιέο broadcast παθέησλ κε ζθνπφ ηελ παξεκβνιή ζην δίθηπν. Ζ παξαπάλσ εηθφλα, απνηειεί έλα ζηηγκηφηππν ηεο πξνζνκνίσζεο ηεο επίζεζεο ζηελ νπνία ην BS αληαιιάζεη δεδνκέλα κε ην CPE (φπσο θαίλεηαη θαη απφ ηηο δηαθεθνκκέλεο γξακκέο) ελψ ν επηηηζέκελνο παξεκβάιιεηαη ζην δίθηπν. Ο επηηηζέκελνο ζεσξείηαη πσο είλαη ζπγρξνληζκέλνο κε ην δίθηπν, κε ηα frame ηνπο λα εθθηλνχλ δειαδή ηελ ίδηα ρξνληθή ζηηγκή. Γηα απηφ ην ιφγν νη frametimers ηνπ έλλνκνπ ζηαζκνχ βάζεο θαη ηνπ επηηηζέκελνπ μεθηλνχλ ηελ ίδηα ρξνληθή ζηηγκή. Όπσο δηαπηζηψλεηαη θαη θαηά ηελ πξνζνκνίσζε, ην δίθηπν κε ηελ πξνζζήθε ηνπ in-frame sensing είλαη ζε ζέζε λα εληνπίζεη ηελ παξεκβνιή, λα ππξνδνηήζεη ην fine sensing αληί γηα ην fast sensing ζην ηέινο ηνπ frame, αθνχ ε ιακβαλφκελε ελέξγεηα είλαη κεγαιχηεξε απφ ην θαζνξηζκέλν threshold θαη ζηε ζπλέρεηα λα πξαγκαηνπνηήζεη ην spectrum sensing ζε κηα πξνζπάζεηα αλαδήηεζεο ειεχζεξσλ θαλαιηψλ. ηε ζπγθεθξηκέλε πινπνίεζε, αξθεί κηα από ηηο ζπζθεπέο ησλ πειαηώλ λα εληνπίζεη ηελ παξεκβνιή, έηζη ψζηε ην δίθηπν λα πξνρσξήζεη ζηε κεηάβαζε ζε έλα ειεχζεξν θαλάιη. Ζ παξαθάησ γξαθηθή παξάζηαζε απνηππψλεη ηελ αληηκεηψπηζε ηεο επίζεζεο απφ ην δίθηπν, αιιάδνληαο ηε ζπρλφηεηα ιεηηνπξγίαο ηνπ (κεηαβαίλεη ζην θαλάιη 2 απφ ην 1 ζην νπνίν βξηζθφηαλ αξρηθά, ελψ ν επηηηζέκελνο παξακέλεη ζην 1), απνθεχγνληαο κε απηφλ ηνλ ηξφπν ηελ παξεκβνιή ησλ παθέησλ ηνπ επηηηζέκελνπ. Ο επηηηζέκελνο μεθηλά λα ζηέιλεη παθέηα ζηα 0.5sec, νπφηε κε βάζε ηελ παξαπάλσ γξαθηθή παξάζηαζε, ην δίθηπν αιιάδεη θαλάιη κεηά 230 msec κεηά απφ ηελ έλαξμε ηεο παξεκβνιήο. H δηάξθεηα ηνπ sensing εληφο ηνπ frame είλαη 2*SymbolLength = msec. 45 Οη θφκβνη αλαθέξνληαη κε ids θαη ζηα αξρεία πνπ ρξεζηκνπνηνχληαη γηα ηελ εγγξαθή ησλ απνηειεζκάησλ ζηα αξρεία (π.ρ. Mac 0-4)

114 Έλα άιιν δήηεκα πνπ πξνθχπηεη είλαη ε επηβάξπλζε πνπ πξνθαιεί ε πξνζζήθε ηνπ in-frame sensing ζην ξπζκό κεηάδνζεο. Πέξα απφ ηνλ αξηζκφ ησλ παθέησλ πνπ ράλνληαη εμαηηίαο ηεο παξεκβνιήο απφ ηνλ επηηηζέκελν, ε εθαξκνγή ηνπ in-frame sensing πξνθαιεί επηπξφζζεηεο επηβαξχλζεηο ζην ξπζκφ αληαιιαγήο δεδνκέλσλ, θαζψο απμάλεηαη ν ρξφλνο ζε θάζε frame ζηνλ νπνίν ην δίθηπν παξακέλεη αδξαλέο. εκαληηθφο θαη ζε απηή ηελ πεξίπησζε είλαη ν ζεσξεηηθφο ππνινγηζκφο ηεο απνδνηηθφηεηαο. Κάζε frame ρσξίδεηαη ζε δπν πεξηφδνπο: ηελ πεξίνδν θαηά ηελ νπνία γίλεηαη έιεγρνο ηνπ θαλαιηνχ (T sense ) θαη ηελ πεξίνδν ζηελ νπνία γίλεηαη αληαιιαγή ησλ δεδνκέλσλ (T data ). ηελ πεξίπησζε ηνπ in-frame sensing, ε Σ sense ζα πεξηέρεη ην ρξφλν πνπ δηαξθεί ην fast sensing ζην ηέινο ηνπ frame θαη ηε δηάξθεηα ζε αξηζκφ ζπκβφισλ (έζησ k) πνπ γίλεηαη ην fast sensing θαηά κήθνο ηνπ frame. Δπνκέλσο, ε T sense ζα είλαη: T sense = T fast _sensing + k SymbolLength (1) Αληίζηνηρα, πξνθχπηεη θαη ε ζρέζε γηα ην T data. Ζ πεξίνδνο ζηελ νπνία αληαιιάζζνληαη παθέηα δελ ζα είλαη ίζε κε ην κήθνο ηνπ frame, φπσο ίζρπε, θαζψο ζα ππάξρνπλ θαη «θελά» slots εληφο ηνπ frame ζηα νπνία δελ ζα γίλεηαη αληαιιαγή δεδνκέλσλ, αιιά in-frame sensing. Δπνκέλσο, ε T data ζα είλαη: T data = FrameLength k SymbolLength (2) Οη ηηκέο Σ fast_sensing, SymbolLength θαη FrameLength είλαη γλσζηέο θαη ζηαζεξέο. πλεπψο, νη T sense θαη ε T data έρνπλ σο παξάκεηξν ηνλ αξηζκφ k ησλ SymbolLengths ζηα νπνία ζα πξαγκαηνπνηείηαη ην sensing. Γλσξίδνληαο ηε γεληθή ζρέζε ηεο απνδνηηθφηεηαο θαη αληηθαζηζηψληαο κε ηηο παξαπάλσ ζρέζεηο, πξνθχπηεη ε ηειηθή ζρέζε ηεο απνδνηηθφηεηαο [32] : a = 1 T data T sense + T sense 1 (2) a k = 1 k SymbolLength + T fast _sensing FrameLength + T fast _sensing (3) Όπσο είλαη ινγηθφ, αχμεζε ηνπ k, ζπλεπάγεηαη θαη αχμεζε ηεο δηάξθεηαο ηνπ sensing θαη θαη επέθηαζε κείσζε ηνπ ξπζκνχ κεηάδνζεο θαη ηεο απνδνηηθφηεηαο a. Δπηπιένλ, κεηξήζεθε θαη o ξπζκόο ιήςεο δεδνκέλσλ γηα έλα απφ ηα ηξία CPEs ηνπ δηθηχνπ πξνθεηκέλνπ λα δηαπηζησζεί θαη ε πεηξακαηηθή επηβάξπλζε, θαζψο θαη ε ζπκθσλία κεηαμχ πεηξακαηηθψλ θαη ζεσξεηηθψλ απνηειεζκάησλ. Ζ πξνζνκνίσζε πξαγκαηνπνηήζεθε γηα αξθεηέο δηαθνξεηηθέο ηηκέο ηνπ k (κε ηελ αιιαγή ηεο ηηκήο ηεο κεηαβιεηήο sensing_duration) θαη ηα απνηειέζκαηά ηεο παξηζηάλνληαη ζηελ παξαθάησ εηθφλα:

115 Ρυκμόσ λιψθσ δεδομζνων ενόσ CPE (ςε Mbps) Ρυκμόσ λιψθσ δεδομζνων ζναντι τθσ διάρκειασ του inframe sensing Διάρκεια sensing εντόσ του frame (ςε αρικμό ςυμβόλων) Αποτελζςματα προςομοίωςησ Θεωρητικά αποτελζςματα ηε γξαθηθή παξάζηαζε έρεη πξνζηεζεί θαη ν αλακελφκελνο ξπζκφο ιήςεο ησλ δεδνκέλσλ, φπσο απηφο έρεη ππνινγηζηεί πνιιαπιαζηάδνληαο ηε ζρέζε (3) πνπ αθνξά ηελ απνδνηηθφηεηα κε ην ξπζκφ ιήςεο δεδνκέλσλ πνπ έρεη κεηξεζεί φηαλ δελ ππάξρεη θαζφινπ sensing (φηαλ δειαδή ζηέιλνληαη κφλν δεδνκέλα). Παξαηεξείηαη πσο ηα πεηξακαηηθά απνηειέζκαηα ζπγθιίλνπλ κε ηηο ζεσξεηηθέο εθηηκήζεηο. ηνλ παξαθάησ πίλαθα παξνπζηάδνληαη ηα απνηειέζκαηα πνπ αθνξνχλ ηελ απνδνηηθφηεηα a ηνπ δηθηχνπ, βάζεη ηεο ζεσξεηηθήο ζρέζεο (3) θαη ησλ κεηξήζεσλ πνπ έρνπλ γίλεη κε ηελ πξνζνκνίσζε γηα δηάθνξεο ηηκέο ηνπ k. Γηάξθεηα in-frame sensing (ζε αξηζκό ζπκβόισλ) Απνδνηηθόηεηα (από ζρέζε (3)) Απνδνηηθόηεηα (πεηξακαηηθή) Παξαηεξείηαη πσο ε επηβάξπλζε είλαη κηθξή φηαλ ην sensing εληφο ηνπ frame έρεη κηθξή δηάξθεηα (ελφο ή δχν ζπκβφισλ). Αλ ζπλππνινγηζηεί επηπιένλ ην γεγνλφο πσο κε ηελ πξαγκαηνπνίεζε

116 κφλν ηνπ fast sensing ζην ηέινο ηνπ frame ε απνδνηηθφηεηα πνπ έρεη κεηξεζεί είλαη , ε επηπιένλ επηβάξπλζε είλαη πνιχ κηθξή. Δλδεηθηηθά, αλ ζε θάζε frame ην δίθηπν δηαθφπηεη ηε κεηάδνζε γηα λα ειέγμεη ην θαλάιη γηα δηάξθεηα ίζε κε ηε δηάξθεηα ελφο ζπκβφινπ, ηφηε ε απνδνηηθφηεηα κεηψλεηαη θαηά: 1 ( / ) = 1.1%, κε ην δίθηπν φκσο λα κπνξεί λα αληηκεησπίδεη απνηειεζκαηηθά πην εμειηγκέλεο επηζέζεηο θαη λα αιιάδεη ηειηθψο θαλάιη ιεηηνπξγίαο. Δλδηαθέξνλ παξνπζηάδεη ε δηαθύκαλζε ζην ξπζκό ιήςεο ησλ δεδνκέλσλ γηα ηηο ζπζθεπέο ησλ πειαηώλ θαζ όιε ηε δηάξθεηα ηεο πξνζνκνίσζεο. Πέξα απφ ηηο απνζπαζκαηηθέο κεηξήζεηο πνπ αθνξνχλ κφλν ηε δηάξθεηα ζηελ νπνία πξαγκαηνπνηείηαη ην fast sensing, ε παξάζηαζε ηνπ ξπζκνχ κεηάδνζεο δεδνκέλσλ θαηά ηε δηάξθεηα ηνπ spectrum sensing, αιιά θαη θαηά ηε δηάξθεηα ηεο ιεηηνπξγίαο ζην λέν θαλάιη, ζα απνηχπσλε ην θέξδνο γηα ην δίθηπν, ην νπνίν ειεχζεξν απφ παξεκβνιέο ζην λέν θαλάιη, δελ ζα πξαγκαηνπνηνχζε in-frame sensing θαη ζα πεξηνξηδφηαλ κφλν ζηε δηελέξγεηα fast sensing ζην ηέινο ηνπ frame. Ζ παξαθάησ γξαθηθή παξάζηαζε απνηππψλεη απηήλ αθξηβψο ηε δηαθχκαλζε ηνπ ξπζκνχ ιήςεο δεδνκέλσλ, απφ ηελ αξρή ηεο πξνζνκνίσζεο (0 sec), ζηελ έλαξμε ηεο ξνήο (0.5 sec), κέρξη θαη ην ηέινο ηεο πξνζνκνίσζεο (3 sec). Δπηπιένλ, αληηπαξαβάιιεηαη ν ξπζκφο κεηάδνζεο δεδνκέλσλ γηα δηαθνξεηηθέο δηάξθεηεο sensing (2*SymbolLength θαη 10*SymbolLength), ν νπνίνο παξνπζηάδεη κηθξέο δηαθνξέο πξηλ ηελ πξαγκαηνπνίεζε ηνπ spectrum sensing, αιιά παξακέλεη ίδηνο κεηά ηελ αιιαγή ηνπ θαλαιηνχ, θαζψο παχεη λα πξαγκαηνπνηείηαη in-frame sensing. Όπσο θαίλεηαη θαη απφ ηε γξαθηθή παξάζηαζε, θαη ζηηο δπν πεξηπηψζεηο ε παξεκβνιή εληνπίδεηαη πξαθηηθά ηελ ίδηα ρξνληθή ζηηγκή. Σν ηκήκα ηεο γξαθηθήο παξάζηαζεο πνπ πεξηιακβάλεη ην θάησ θνίιν αληηζηνηρεί ζηε δηαδηθαζία αλαδήηεζεο ειεχζεξσλ ζπρλνηήησλ θαη αιιαγήο ηνπ θαλαιηνχ. Όηαλ ν ξπζκφο κεηάδνζεο απνθηά ηε κέγηζηε ηηκή ηνπ (φπνπ κεηά ζπλερίδεη σο επζεία γξακκή), ηφηε ην δίθηπν έρεη κεηαβεί ζε έλα λέν θαλάιη ζην νπνίν δελ παξαηεξείηαη θακηά παξεκβνιή. Σν ηκήκα ηεο γξαθηθήο κέρξη ηελ πξψηε θνξπθή ηεο (πεξίπνπ 0.75 sec), αληηζηνηρεί ζηελ θπθινθνξία πνπ πξαγκαηνπνηείηαη θάησ απφ ηελ παξεκβνιή ηνπ επηηηζέκελνπ θαη θαηά ηε δηάξθεηα ηεο νπνίαο γίλεηαη in-frame sensing γηα ηνλ εληνπηζκφ ηεο παξεκβνιήο. Όπσο έρεη δεηρζεί θαη απφ ηα πξνεγνχκελα πεηξακαηηθά απνηειέζκαηα, ζε εθείλν ην ηκήκα ν ξπζκφο δεδνκέλσλ πνπ αληηζηνηρεί ζην in-frame sensing δηάξθεηαο 2*SymbolLength (κπιε γξαθηθή παξάζηαζε) είλαη κεγαιχηεξνο απφ ηνλ αληίζηνηρν in-frame sensing δηάξθεηαο 10*SymbolLength (θόθθηλε γξαθηθή παξάζηαζε). Αλ ζπλππνινγηζηεί επηπιένλ θαη ην γεγνλφο πσο ν ρξφλνο εληνπηζκνχ δελ αιιάδεη ζεκαληηθά, ηφηε παξαηεξείηαη πσο ζηελ πξνθεηκέλε πεξίπησζε, ην in-frame sensing δηάξθεηαο 10*SymbolLength πξνθαιεί επηπιένλ επηβάξπλζε, ρσξίο σζηφζν λα ππάξρεη αλάινγν θέξδνο φζνλ αθνξά ην ρξφλν εληνπηζκνχ. 46 Όπσο απηή έρεη κεηξεζεί ζηελ Παξάγξαθν 4.8.1

117 Ρυκμόσ λιψθσ δεδομζνων για ζνα από τα CPEs (ςε Mbps) Ρυκμόσ λιψθσ δεδομζνων κατά τθ διάρκεια τθσ προςομοίωςθσ 2*SymbolLength 10*SymbolLength Χρόνοσ (ςε sec) Έλαο αθφκε ηξφπνο πνπ πξνηείλεηαη γηα ηελ αληηκεηψπηζε θάπνηαο παξεκβνιήο πνπ δέρεηαη θάπνηα ζπζθεπή πειάηε θαηά ηε ιήςε παθέησλ απφ ην ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλε είλαη ε πξαγκαηνπνίεζε sensing από ηηο ππόινηπεο ζπζθεπέο πειαηώλ πνπ βξίζθνληαη ζηελ ίδηα θπςέιε θαη παξακέλνπλ εθείλε ηε ρξνληθή ζηηγκή αλελεξγέο αλακέλνληαο ηελ απνζηνιή παθέησλ απφ ην ζηαζκφ βάζεο. Ο ζπγθεθξηκέλνο κεραληζκφο ελεξγνπνηείηαη, φπσο θαη ζηελ πεξίπησζε ηεο πινπνίεζεο sensing κέζα ζην frame πνπ πεξηγξάθεθε ζε πξνεγνχκελε παξάγξαθν, φηαλ θάπνηα απφ απηέο ηηο ζπζθεπέο εληνπίζεη θάπνηα παξεκβνιή θαηά ηε ιήςε ησλ δεδνκέλσλ. Όηαλ ελεξγνπνηεζεί ν ζπγθεθξηκέλνο κεραληζκφο, απφ ην επφκελν frame θαη γηα νξηζκέλν αξηζκό frames, δεηείηαη απφ ηηο ππφινηπεο ζπζθεπέο πειαηψλ ηεο θπςέιεο λα εληνπίζνπλ αλ ιακβάλνπλ δεδνκέλα απφ άιιεο πεγέο πέξα απφ ην ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλεο 47. Μεηά ην πέξαο ηνπ ειέγρνπ, θάζε ζπζθεπή ζπληάζζεη κηα αλαθνξά κε ηα απνηειέζκαηα πνπ πξνθχπηνπλ, βάζεη ησλ νπνίσλ, φπσο ζα δηαπηζησζεί θαη ζηε ζπλέρεηα, θαζνξίδνληαη νη απαηηνχκελεο ελέξγεηεο. Ο ζηαζκφο βάζεο είλαη ππεχζπλνο γηα ηε ζπγθέληξσζε ησλ αλαθνξψλ ζην ηέινο θάζε frame. Δθφζνλ έλαο αξηζκφο ζπζθεπψλ αλαθέξεη φηη εληνπίζηεθαλ παξεκβνιέο, γεγνλφο πνπ πηζηνπνηεί 47 Οη ζπζθεπέο πειαηψλ φπσο έρεη πξναλαθεξζεί, επηθνηλσλνχλ κφλν κε ην ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλεο.

118 ηελ χπαξμε θάπνηνπ επηηηζέκελνπ ν νπνίνο πξνζπαζεί λα κεηψζεη ηελ πνηφηεηα ππεξεζηψλ πνπ πξνζθέξεη ε θπςέιε, ε ζπζθεπή πνπ παξαηήξεζε πξψηε ηηο παξεκβνιέο παίξλεη εληνιή απφ ην ζηαζκφ βάζεο λα αλαδεηήζεη άιιν ειεχζεξν θαλάιη ζην νπνίν ζα ζπλερηζηεί ε ιεηηνπξγία ηεο θπςέιεο ρσξίο παξεκβνιέο. ρεκαηηθά, ν ηξφπνο ιεηηνπξγίαο απηνχ ηνπ είδνπο sensing παξηζηάλεηαη ζηελ παξαθάησ εηθφλα. Πέξα απφ ηε γεληθή πξνζέγγηζε ηεο ιεηηνπξγίαο ηνπ αιγνξίζκνπ, ζεκαληηθφ ελδηαθέξνλ παξνπζηάδνπλ νξηζκέλα ηερληθά ραξαθηεξηζηηθά ηνπ αιγνξίζκνπ πνπ ηνλ θαηαζηνχλ ηδηαίηεξα απνηειεζκαηηθφ: Ο ζπγθεθξηκέλνο ηξφπνο πξαγκαηνπνίεζεο sensing, ζε αληίζεζε κε απηνχο πνπ πξναλαθέξζεθαλ, παξνπζηάδεη ην εμήο ζεκαληηθφ πιενλέθηεκα: Γελ επεξεάδεη ην ξπζκό κεηάδνζεο δεδνκέλσλ ηνπ δηθηύνπ. ηηο πξναλαθεξζείζεο πξνζεγγίζεηο ε κεηάδνζε δεδνκέλσλ κεηαμχ ησλ ζπζθεπψλ πειαηψλ θαη ηνπ ζηαζκνχ βάζεο δηαθνπηφηαλ γηα λα γίλεη ν εληνπηζκφο ηεο παξεκβνιήο. Σψξα φκσο ε κεηάδνζε ησλ δεδνκέλσλ ζην δίθηπν ζπλερίδεηαη, έζησ θαη αλ νη παξεκβνιέο ζηηο ιήςεηο παθέησλ θάπνηνπ ή θάπνησλ ζπζθεπψλ πειαηψλ εμαθνινπζνχλ λα ππάξρνπλ 48. Σνλ εληνπηζκφ αλαιακβάλνπλ λα ηνλ θάλνπλ νη ζπζθεπέο πειαηψλ πνπ είλαη ήδε αλελεξγέο, φζν νη ππφινηπεο εμαθνινπζνχλ λα ιακβάλνπλ θαλνληθά δεδνκέλα. πλεπψο, δελ πξνθαιείηαη επηπξφζζεηε επηβάξπλζε ζηε κεηάδνζε. 48 Απηή είλαη ε κφλε επίπησζε πνπ παξαηεξείηαη ζην ξπζκφ κεηάδνζεο θαη είλαη πνιχ κηθξή, γη απηφ θαη ζεσξείηαη ακειεηέα.

119 Δθφζνλ ν εληνπηζκφο πξαγκαηνπνηείηαη απφ άιιεο ζπζθεπέο πειαηψλ ηεο θπςέιεο ζα πξέπεη απηέο κε ηελ ζεηξά ηνπο εζεινληηθά λα θαηαλαιώζνπλ πεξηζζόηεξε ελέξγεηα γηα λα ζπκβάιινπλ κε απηφ ηνλ ηξφπν ζηελ εύξπζκε ιεηηνπξγία νιόθιεξεο ηεο θπςέιεο. εκαληηθφο παξάγνληαο γηα ηελ θαηαλάισζε ελέξγεηαο είλαη ηφζν ν αξηζκόο ησλ ζπζθεπώλ πειαηώλ πνπ ζα αλαιάβνπλ λα θάλνπλ sensing, φζν θαη ν ρξόλνο πνπ ζα ρξεηαζηεί γηα λα ιεθζεί κε κεγάιν βαζκό βεβαηόηεηαο ε απόθαζε γηα ηελ εθθίλεζε ηεο δηαδηθαζίαο αιιαγήο θαλαιηνχ ιεηηνπξγίαο ηεο θπςέιεο. εκαληηθφ ξνιφ ιακβάλεη θαη ν αξηζκόο ησλ slots ιήςεο πνπ επεξεάδνληαη απφ ηηο παξεκβνιέο ηνπ επηηηζέκελνπ. Ζ ελέξγεηα απνηειεί ηνλ πην ζεκαληηθφ παξάγνληα αλ ζπλππνινγηζηεί θαη ην γεγνλφο πσο φιεο απηέο νη ιεηηνπξγίεο κπνξνχλ λα πξαγκαηνπνηεζνχλ θαη απφ θηλεηέο ζπζθεπέο ζηηο νπνίεο ε πςειή ελεξγεηαθή απηνλνκία απνηειεί ζεκαληηθή πξνηεξαηφηεηα. Με βάζε ηελ παξαπάλσ πεξηγξαθή ηνπ αιγνξίζκνπ, πξαγκαηνπνηείηαη αξρηθά κηα ζεσξεηηθή εθηίκεζε ηεο επηβάξπλζεο ηεο ελέξγεηαο πνπ πξνθαιείηαη ζην ζχζηεκα. Έζησ πσο δελ πξαγκαηνπνηείηαη θαζόινπ sensing απφ ηηο ππφινηπεο ζπζθεπέο πειαηψλ γηα ηνλ εληνπηζκφ ηεο παξεκβνιήο. Σφηε, ζε απηή ηελ πεξίπησζε, ν επηηηζέκελνο ζπλερίδεη αλελόριεηνο λα παξεκβάιιεηαη θαη ε επεξεαδφκελε ζπζθεπή πειάηε λα ράλεη ζηαζεξά δεδνκέλα θαζ φιε ηελ δηάξθεηα ηεο επίζεζεο. Έζησ: k: ν αξηζκφο ησλ frames ζηα νπνία παξεκβάιιεηαη ν επηηηζέκελνο P RC : ε ελέξγεηα πνπ αληηζηνηρεί ζηε ιήςε ελφο παθέηνπ γηα έλα slot. Όπσο πξναλαθέξζεθε, θαζψο ν επηηηζέκελνο παξεκβάιιεηαη, δεκηνπξγνχληαη ζπγθξνχζεηο (collisions) απφ ηε κεξηά ηεο ιήςεο δεδνκέλσλ, πξνθαιψληαο πξνβιήκαηα ζηε ιήςε απφ ηνλ ζηαζκφ βάζεο. Ζ απψιεηα απηή (πνπ απνηειεί νπζηαζηηθά απψιεηα παθέησλ) πξνθαιεί θαη επηπιένλ επηβάξπλζε ελέξγεηαο, πνπ αληηζηνηρεί φρη κφλν ζηελ ελέξγεηα πνπ ράλεηαη ιφγσ ηνπ collision, αιιά θαη ζηελ επηπιένλ ελέξγεηα πνπ ζα πξέπεη λα δαπαλεζεί γηα ηελ εθ λένπ ιήςε ησλ ρακέλσλ παθέησλ. Δηδηθφηεξα, ζην πξψην frame (απφ ηα k ζηα νπνία ζα δηαξθεί ε παξεκβνιή), ράλεηαη ελέξγεηα πνπ αληηζηνηρεί ζηε δηάξθεηα ηνπ collision, πνπ είλαη πνιιαπιάζηα ηεο δηάξθεηαο ελφο slot. Αληίζεηα, απφ ην επφκελν frame κέρξη θαη ην ηέινο ηεο παξεκβνιήο, ε ελέξγεηα πνπ ράλεηαη ζα είλαη δηπιάζηα (ελέξγεηα collision θαη ελέξγεηα γηα ηελ ιήςε ησλ ρακέλσλ παθέησλ). Με βάζε ηα παξαπάλσ, έζησ: a: ν αξηζκφο ησλ slots ζε θάζε frame ζηα νπνία πξνθαιείηαη παξεκβνιή 49, ηφηε, γηα k frames, ε ελέξγεηα πνπ ράλεηαη ζε όιν ην ζύζηεκα είλαη ίζε κε ηελ ελέξγεηα πνπ ράλεη ε ζπγθεθξηκέλε ζπζθεπή πειάηε, απψιεηα πνπ πεξηγξάθεηαη απφ ηελ παξαθάησ ζρέζε: ap RC + 2 k 1 ap RC = 2k 1 ap RC (1) Έζησ ηψξα πσο πξαγκαηνπνηείηαη sensing από ηηο ππόινηπεο ζπζθεπέο πειαηώλ ηνπ δηθηχνπ. Σα slots ζηα νπνία γίλεηαη ην sensing είλαη θαη ηα slots ζηα νπνία δηαπηζηψλεηαη ην collision απφ ηε κεξηά ηεο ζπζθεπήο πειάηε ζχκαηνο. Αλ: P SENSE : ε ελέξγεηα πνπ θαηαλαιψλεηαη απφ κηα ζπζθεπή πειάηε γηα ην sensing γηα έλα slot n: ν αξηζκφο ησλ ζπζθεπψλ πειαηψλ πνπ πξαγκαηνπνηνχλ sensing, 49 Θεσξείηαη πσο ζε θάζε frame παξνπζηάδνληαη παξεκβνιέο ζηνλ ίδην αξηζκφ slots

120 ηφηε, ην θφζηνο γηα θάζε frame πνπ δαπαλείηαη γηα ην sensing είλαη n*a*p SENSE. Δπηπιένλ, δαπαλείηαη επηπξφζζεην θφζηνο ζε θάζε frame γηα ηελ ελεκέξσζε ηνπ ζηαζκνχ βάζεο απφ ηηο ζπζθεπέο πειαηψλ ζρεηηθά κε ηα απνηειέζκαηα ηνπ sensing (δηαδηθαζία αλαθνξάο - reporting). Θεσξψληαο πσο ε δηαδηθαζία ηεο αλαθνξάο ζε θάζε frame δηαξθεί φζν έλα slot, ηφηε αλ: P RT : ε ελέξγεηα πνπ θαηαλαιψλεηαη απφ κηα ζπζθεπή πειάηε γηα ηελ αλαθνξά ησλ απνηειεζκάησλ ζε θάζε frame ην θφζηνο ηνπ reporting ζε θάζε frame είλαη n*p RT. Αλ ζεσξεζεί πσο ε δηαδηθαζία ηνπ sensing δηαξθεί λ frames (φπνπ ι < k), ηφηε νη ζπζθεπέο πειαηψλ πνπ θάλνπλ sensing θαηαλαιψλνπλ ζπλνιηθά ελέξγεηα ίζε κε n*λ*p SENSE*a + n*λ*p RT. Καηά ηε δηάξθεηα ηνπ sensing, εμαθνινπζεί λα ράλεηαη ελέξγεηα θαη απφ ηε ζπζθεπή πειάηε ζχκαηνο ιφγσ ηνπ collision. Δπνκέλσο, ζε απηή ηελ πεξίπησζε, ε ζπλνιηθή ελέξγεηα πνπ θαηαλαιώλεηαη από ην ζύζηεκα είλαη: 2λ + 1 ap RC + nλ(ap SENSE + P RT ) Σν sensing φκσο πνπ πξαγκαηνπνηείηαη ζηελ νπζία είλαη fine sensing, θαζψο πξέπεη λα ηαπηνπνηεζεί απηφο πνπ πξνθαιεί ηηο παξεκβνιέο. πλεπψο, ε ελέξγεηα πνπ δαπαλείηαη ηζνδπλακεί κε ηελ ελέξγεηα πνπ δαπαλείηαη γηα ηε ιήςε ελφο παθέηνπ θαηά ηε δηάξθεηα ηνπ sensing. Σα παθέηα πνπ ιακβάλνληαη ζα είλαη ηα παθέηα πνπ ζηέιλεη ν επηηηζέκελνο, βάζεη ησλ νπνίσλ εληνπίδεηαη ε παξεκβνιή. Δπνκέλσο P SENSE = P RC θαη ε ζρέζε ελέξγεηαο απνθηά ηελ παξαθάησ κνξθή: 2λ + 1 ap RC + nλ ap RC + P RT (2) Βάζεη ηεο παξαπάλσ ζρέζεο, ζεσξείηαη πσο ην sensing εθθηλεί ζην επφκελν frame απφ ηελ πξψηε θνξά πνπ γίλεηαη ην collision. Δπνκέλσο, ε απψιεηα ελέξγεηαο ιφγσ collision ζα είλαη 2λaP RC + ap RC = (2λ + 1) P RC. Μεηά απφ ηελ πξαγκαηνπνίεζε sensing γηα ι frames ζηα νπνία εληνπίδεηαη ε παξεκβνιή, ην δίθηπν αιιάδεη θαλάιη, κε απνηέιεζκα λα παχεη λα εκθαλίδεηαη ην collision. Γηα λα είλαη σζηφζν απνδεθηή ε πξαγκαηνπνίεζε ηνπ sensing, ζα πξέπεη ε ελέξγεηα βάζεη ηεο (2) λα είλαη κηθξφηεξε απφ ηελ ελέξγεηα πνπ πξνβιέπεη ε (1). Δπνκέλσο: 2 < 1 2λ + 1 ap RC + nλ ap RC + P RT < 2k 1 ap RC 2λaP RC + ap RC + nλap RC + nλp RT < 2k 1 ap RC λ 2aP RC + nap RC + np RT + ap RC < 2k 1 ap RC λ 2aP RC + nap RC + np RT < 2k 2 ap RC P RT =ip RC λ 2aP RC + nap RC + nip RC < 2k 2 ap RC λ < λ 2a + na + ni < 2k 2 a 2k 2 a a 2 + n + ni (3) Ζ αληηθαηάζηαζε ηνπ φξνπ P RT κε ην ip RC ππνδειψλεη ηελ θαηαλάισζε πεξηζζφηεξεο ελέξγεηαο γηα ηελ αλαθνξά ησλ απνηειεζκάησλ, παξά γηα ηε ιήςε ελφο παθέηνπ. Με βάζε ηελ παξαπάλσ ζρέζε, γηα λα ππάξρεη θέξδνο, ην ι ζα πξέπεη λα είλαη κηθξφηεξν απφ ηελ ηηκή πνπ νξίδεη ε (3). Αλ γηα παξάδεηγκα: πξνθαιείηαη collision ιφγσ παξεκβνιψλ ηνπ επηηηζέκελνπ γηα 15 frames (k=15) ε ελέξγεηα P RT είλαη δηπιάζηα απφ ηελ ελέξγεηα P RC (i=2) κηα ζπζθεπή πειάηε ηνπ δηθηχνπ πξαγκαηνπνηεί sensing (n=1) γίλεηαη collision ζε 3 slots ζε θάζε frame (a=3),

121 ηφηε ν κέγηζηνο αξηζκφο sensing ι (ή αιιηψο ν αξηζκφο ησλ frames ζηα νπνία νη ππφινηπεο ζπζθεπέο πειαηψλ ζα πξαγκαηνπνηνχλ sensing) ζα είλαη: λ < (2 15 2) λ < λ max = 7 Δπνκέλσο, αλ ζην 7 ν frame δελ εληνπηζηεί ε παξεκβνιή, ηφηε ην sensing δε ρξεηάδεηαη λα πξαγκαηνπνηεζεί ζην επόκελν frame, θαζψο ζα πξνθιεζεί αζχκθνξα πςειή απψιεηα ελέξγεηαο. Βάζεη ηεο παξαπάλσ ζρέζεο, αιιάδνληαο ηηο ηηκέο πνπ θαζνξίδνπλ ηηο ζπλζήθεο πξνζνκνίσζεο, ππνινγίδεηαη ν κέγηζηνο αξηζκόο ησλ frames (ι) ζηα νπνία ζα πξέπεη λα δηαξθεί ην sense γηα δεδνκέλε δηάξθεηα παξεκβνιήο. Σα απνηειέζκαηα πνπ ππνινγίζηεθαλ παξηζηάλνληαη ζηνλ παξαθάησ πίλαθα: k (i, n, a) = (2, 1, 3) ιmax (i, n, a) = (2, 2, 3) ιmax (i, n, a) = (2, 1, 5) ιmax Δλδηαθέξνλ παξνπζηάδεη ε δηαθύκαλζε ηνπ ι γηα δηαθνξεηηθό αξηζκό ζπζθεπώλ πειαηώλ πνπ πξαγκαηνπνηνχλ sensing. Παξαθάησ παξνπζηάδεηαη ε γξαθηθή παξάζηαζε ηνπ κέγηζηνπ επηηξεπφκελνπ αξηζκνχ sensing (ζε frames), φπσο έρεη ππνινγηζηεί βάζεη ηεο (3), ζεσξψληαο πσο ν επηηηζέκελνο πξνθαιεί collision ζε 3 slots θάζε frame (a=3) θαη πσο ε ελέξγεηα γηα ην reporting είλαη δηπιάζηα απφ ηελ ελέξγεηα γηα ηε ιήςε ελφο παθέηνπ (i=2). ηε κία πεξίπησζε (κπιε γξακκή), κηα ζπζθεπή πειάηε ηνπ δηθηύνπ πξαγκαηνπνηεί sensing, ελψ ε θφθθηλε γξακκή αληηζηνηρεί ζηελ πεξίπησζε πνπ ην sensing πξαγκαηνπνηείηαη απφ δύν ζπζθεπέο πειαηώλ ηνπ δηθηύνπ. Μεγαιχηεξνο αξηζκφο ησλ ζπζθεπψλ πειαηψλ πνπ θάλνπλ sensing, ζπλεπάγεηαη θαη απμεκέλε θαηαλάισζε ελέξγεηαο, γεγνλφο πνπ δηαπηζηψλεηαη θαη απφ ηε ρακειφηεξε επηηξεπφκελε ηηκή ηνπ ι γηα n=2. Χζηφζν, ε πξαγκαηνπνίεζε sensing απφ πεξηζζφηεξεο ζπζθεπέο πειαηψλ ζπλεπάγεηαη θαη απμεκέλε αθξίβεηα ζηνλ εληνπηζκφ ηεο παξεκβνιήο, θαζψο νξηζκέλεο ζπζθεπέο πειαηψλ ιφγσ ηεο ζέζεο ηνπο θαη ηεο κηθξφηεξεο απφζηαζεο απφ ηνλ επηηηζέκελν είλαη ζε ζέζε λα εληνπίζνπλ ηελ παξεκβνιή, θάηη πνπ δελ ζα ήηαλ δπλαηφ απφ ζπζθεπέο πειαηψλ πνπ βξίζθνληαη ζε κεγαιχηεξε απφζηαζε. πλεπψο, ζα

122 Μζγιςτοσ αρικμόσ sensing λmax (ςε frames) πξέπεη λα εμαζθαιηζηεί κηα ηζνξξνπία αλάκεζα ζηελ θαηαλάισζε ελέξγεηαο θαη ζηελ αθξίβεηα εληνπηζκνύ ηεο παξεκβνιήο Μζγιςτοσ αρικμόσ sensing λ με βάςθ τθ διάρκεια k τθσ παρεμβολισ για διαφορετικό αρικμό n CPEs που κάνουν sensing n=1 n=2 Διάρκεια k τθσ παρεμβολισ (ςε frames) Αληίζηνηρα, κε βάζε ηα απνηειέζκαηα ηνπ παξαπάλσ πίλαθα, πξνθχπηεη θαη ε παξαθάησ γξαθηθή παξάζηαζε (Δηθφλα 7.8) ζηελ νπνία παξνπζηάδεηαη ζπγθξηηηθά ε δηαθχκαλζε ηνπ ι ζηελ πεξίπησζε πνπ ν επηηηζέκελνο πξνθαιεί collision ζε 3 slots θαη ζε 5 slots θάζε frame αληίζηνηρα. Οη δηαθνξέο πνπ παξαηεξνχληαη είλαη ζαθψο κηθξφηεξεο ζε ζρέζε κε ηελ πξνεγνχκελε γξαθηθή παξάζηαζε. Χζηφζν, δηαπηζηψλεηαη πσο ε αύμεζε ηεο δηάξθεηαο ηνπ collision πνπ πξνθαιεί ν επηηηζέκελνο (κε βάζε ησλ αξηζκφ ησλ παθέησλ πνπ ζηέιλεη ζε θάζε frame) ζπλεπάγεηαη θαη αλάινγεο απμεκέλεο απαηηήζεηο γηα γξεγνξόηεξν εληνπηζκό ηεο παξεκβνιήο απφ ηηο ζπζθεπέο πειαηψλ.

123 Μζγιςτοσ αρικμόσ sensing λ max (ςε frames) Μζγιςτοσ αρικμόσ sensing λmax (ςε frames) Μζγιςτοσ αρικμόσ sensing λ με βάςθ τθ διάρκεια k τθσ παρεμβολισ για διαφορετικό αρικμό a slots που παρουςιάηουν collision Διάρκεια k τθσ παρεμβολισ (ςε frames) a=3 a=5 Σξνπνπνηψληαο θαηάιιεια ηηο παξακέηξνπο k, ι, α θαη i, εμάγνληαη επηπιένλ γξαθηθέο παξαζηάζεηο πνπ απεηθνλίδνπλ ηηο απαηηήζεηο γηα γξήγνξν εληνπηζκφ ηεο παξεκβνιήο ζε πεξηπηψζεηο πνπ ππάξρνπλ πεξηζζόηεξεο από 2 ζπζθεπέο πειαηώλ ζην δίθηπν. Δηδηθφηεξα, παξαθάησ απεηθνλίδεηαη ε γξαθηθή παξάζηαζε ηνπ κέγηζηνπ αξηζκνχ ι, βάζεη ηεο ζρέζεο (3), ν επηηηζέκελνο πξαγκαηνπνηεί παξεκβνιέο ζε έλα slot ζε θάζε frame Διάρκεια k τθσ παρεμβολισ (ςε frames)

124 υνολικι κατανάλωςθ ενζργειασ του ςυςτιματοσ (ςε PRC) Λφγσ ηεο απμεκέλεο θαηαλάισζεο ελέξγεηαο κε ηελ παξνπζία πεξηζζφηεξσλ CPEs εληφο δηθηχνπ, απαηηείηαη λα εληνπηζηεί ε παξεκβνιή ζε πνιύ κηθξόηεξν αξηζκό ζε ζρέζε κε ηελ πεξίπησζε ηεο Δηθφλαο 7.7. Πέξα φκσο απφ ηε ζεσξεηηθή εθηίκεζε ηνπ κέγηζηνπ επηηξεπφκελνπ αξηζκνχ sensing, ελδηαθέξνλ παξνπζηάδεη θαη ε εθηίκεζε ηεο ελέξγεηαο πνπ θαηαλαιώλεη ην ζύζηεκα γηα δηαθνξεηηθφ ι max θαη γηα δηαθνξεηηθφ αξηζκφ CPEs εληφο ηνπ θειηνχ. Αληηθαζηζηψληαο ζηε ζρέζε (2) ηνλ φξν P RT κε ην ip RC, πξνθχπηεη ε παξαθάησ ζρέζε γηα ηε ζεσξεηηθή εθηίκεζε ηεο ελέξγεηαο Ε, ζε πνιιαπιάζηα ηνπ P RC. Ε = n λ a + i + a 2λ + 1 P RC Αξρηθνπνηψληαο ηηο παξακέηξνπο κε ηηο ίδηεο ηηκέο φπσο θαη ζηελ πεξίπησζε ηεο Δηθφλαο 7.7 (a=3 θαη i=2), πξνθχπηεη ε παξαθάησ γξαθηθή παξάζηαζε: n=3 CPEs n=4 CPEs Μζγιςτοσ αρικμόσ sensing λ (ςε frames) Έρνληαο αλαιχζεη ηελ πιεπξά ησλ έλλνκσλ ρξεζηψλ ηεο θπςέιεο ζα πξέπεη λα παξνπζηαζηεί θαη ν ηξφπνο ιεηηνπξγίαο ηνπ επηηηζέκελνπ. Ο επηηηζέκελνο πξνθαιεί παξεκβνιέο θαηά ηε δηάξθεηα ιήςεο δεδνκέλσλ κέζσ κηαο ή πεξηζζφηεξσλ ζπζθεπψλ πειαηψλ. Οη παξεκβνιέο απηέο πξνθαινχληαη απφ παθέηα ρσξίο ζεκαληηθή αμία, ησλ νπνίσλ ζθνπφο είλαη ε δεκηνπξγία πξνβιεκάησλ ζε θάπνηα ζπζθεπή φζνλ αθνξά ηελ απνηειεζκαηηθή ιήςε ησλ παθέησλ πνπ απνζηέιινληαη απφ ηνλ ζπζρεηηδφκελν έλλνκν ζηαζκφ βάζεο. εκεηψλεηαη φηη ν επηηηζέκελνο θαη ζε απηή ηελ πεξίπησζε δελ απνζηέιιεη παθέηα θαηά ηελ δηάξθεηα ηνπ fast sensing πνπ πξαγκαηνπνηείηαη ζην ηέινο θάζε frame.

125 Παξαθάησ θαίλεηαη ε πεξηγξαθή ηνπ αιγνξίζκνπ γηα ηηο έλλνκεο νληφηεηεο ηεο θπςέιεο κε κνξθή ςεπδνθψδηθα: Πεξηγξαθή ιεηηνπξγίαο Αιγόξηζκνπ C (adaptive sensing). Ο αιγόξηζκνο πεξηγξάθεηαη μερσξηζηά γηα ηνλ ζηαζκό βάζεο θαη γηα ηε ζπζθεπή πειάηε. BS{ // n: ο αριθμός ηφν ζσζκεσών πελαηών ποσ κάνοσν sensing // b: η ζσζκεσή πελάηη ποσ ενηόπιζε πρώηη ηην παρεμβολή // λ: αριθμός frame ποσ γίνεηαι έλεγτος μέτρι να παρθεί απόθαζη Αν (ηύπος_sensing == adaptive){ foreach frame_end{ m = Αριθμός_ζσζκεσών_πελαηών_ποσ_ανέθεραν_παρεμβολή(); Αν ( m == n){ μεηρηηής_frame_ελέγτοσ++; Αν (μεηρηηής_frame_ελέγτοσ == λ){ καινούριο_κανάλι = Εύρεζη_ελεύθεροσ_καναλιού(b); Αλλαγή_καναλιού(καινούριο_κανάλι); CPE{ Αν (ηύπος_sensing == adaptive){ Αν (is_idle == true){ Πραγμαηοποίηζη_sensing(slots_ελέγτοσ); Δημιοσργία_αναθοράς(); Αλλιώς ζσνέτιζε; Αλλιώς{ Αν (λήυη_πακέηφν_τφρις_παρεμβολές == true) ζσνέτιζε; Αλλιώς{ ηύπος_sensing = adaptive; slots_ελέγτοσ = Αρτικοποίηζη_slots_ελέγτοσ(); μεηρηηής_frame_ελέγτοσ = 0; b = MAC_ADDR; Γηα λα νξηζηεί ε ρξήζε απηνχ ηνπ είδνπο sensing ζην αξρείν TCL πνπ ζα ρξεζηκνπνηεζεί γηα ηελ εμνκνίσζε ζα πξέπεη λα γίλεη ε αθφινπζε δήισζε: Mac/802_22 set sensing_type_ 3

126 φπνπ ε ηηκή «3» δειψλεη ην είδνο sensing, ζε ζπλδπαζκφ κε ηε δήισζε πνπ ππάξρεη ζην αξρείν mac-802_22.cc: bind("sensing_type_", &sensing_type_); πνπ νπζηαζηηθά αληηζηνηρίδεη ηηο δπν απηέο κεηαβιεηέο. Έηζη ε απαξηζκεηή κεηαβιεηή sensingtype πνπ νξίδεηαη ζην αξρείν mac-802_22.h παίξλεη ηελ ηηκή πνπ αληηζηνηρεί ζην φξηζκα «3» πνπ είλαη ADAPTIVE. Γηα ηνλ εληνπηζκό ηεο παξεκβνιήο πνπ δεκηνπξγεί ν επηηηζέκελνο ζηελ θπςέιε θαηά ηε ιήςε ησλ παθέησλ ησλ ζπζθεπψλ ησλ πειαηψλ απφ ην ζηαζκφ βάζεο ρξεζηκνπνηείηαη ν ίδηνο κεραληζκφο πνπ αλαιχζεθε πξνεγνπκέλσο γηα ην in-frame sensing, δειαδή ν κεραληζκόο ηεο ηαπηνπνίεζεο ηεο πεγήο απνζηνιήο ηνπ παθέηνπ. Έηζη, αλ θάπνηα ζπζθεπή πειάηε ιάβεη θάπνην παθέην απφ πεγή εθηφο θπςέιεο, ε boolean κεηαβιεηή receive απνθηά ηελ ηηκή true. Ζ receive παξακέλεη true, γηα δηάξθεηα ίζε κε ηε ζπλνιηθή δηάξθεηα ιήςεο ηνπ παθέηνπ, ε νπνία ηζνδπλακεί κε ηε δηάξθεηα ελφο slot. Αλ ιεθζεί θάπνην παθέην απφ ηνλ ζηαζκφ βάζεο κε ηνλ νπνίν είλαη ζπζρεηηζκέλε απηή ηε ζπζθεπή φζν απηή ε κεηαβιεηή είλαη true, δεκηνπξγείηαη ζπκθφξεζε (congestion), κε απνηέιεζκα λα απνξξηθζεί ην παθέην πνπ ζα έπξεπε λα ιάβεη θαλνληθά ε ζπζθεπή πειάηε απφ ηνλ ζηαζκφ βάζεο. Ζ εκθάληζε ζπκθφξεζεο ππξνδνηεί ην κεραληζκφ γηα ην adaptive sensing, ελεκεξψλνληαο ηηο ππφινηπεο ζπζθεπέο πειαηψλ ηεο θπςέιεο λα πξαγκαηνπνηήζνπλ sensing έηζη ψζηε λα εληνπηζηεί ν επηηηζέκελνο. Οη ππφινηπεο ζπζθεπέο πειαηψλ κφιηο εηδνπνηεζνχλ πξνγξακκαηίδνπλ, κε ηε βνήζεηα ελφο timer, ηελ εθθίλεζε ηνπ sensing ζην επφκελν frame. Σν sensing σζηφζν, φπσο έρεη αλαθεξζεί, δελ πξαγκαηνπνηείηαη ζε φιν ην κήθνο ηνπ frame, αιιά γηα ηα slots ζηα νπνία έρεη παξαηεξεζεί ε παξεκβνιή. Δπνκέλσο, γηα λα εληνπηζηεί ε παξεκβνιή, θάζε ζπζθεπή πειάηε πνπ έρεη ελεκεξσζεί, εθθηλεί ην sensing ζην ακέζσο πξνεγνχκελν slot απφ εθείλν ζην νπνίν δηαπηζηψζεθε ε παξεκβνιή ζηα πξνεγνχκελα frames. Ο θαζνξηζκφο ηεο ρξνληθήο ζηηγκήο πνπ ζα πξαγκαηνπνηεζεί ην sensing απφ ηηο ζπζθεπέο πειαηψλ, έηζη ψζηε λα πξαγκαηνπνηείηαη ζηα slots ζηα νπνία παξαηεξήζεθε ε ζπκθφξεζε, απνηειεί ζεκαληηθφ ραξαθηεξηζηηθφ ηνπ αιγνξίζκνπ, απμάλνληαο ηηο πηζαλφηεηεο εληνπηζκνχ ηεο παξεκβνιήο. Αληίζηνηρα, αλ ν επηηηζέκελνο πξνθαιέζεη παξεκβνιέο ζε πεξηζζφηεξα απφ έλα παθέηα (αληίζηνηρα slots), ηφηε πξνγξακκαηίδνληαη πνιιαπινί timers, ρξεζηκνπνηψληαο έλαλ πίλαθα απφ timers, θαζέλαο εθ ησλ νπνίσλ αληηζηνηρεί ζηελ πξαγκαηνπνίεζε sensing ζην slot πνπ έρεη δηαπηζησζεί ε ζπκθφξεζε. Όζα πεξηγξάθνληαη ζε απηή ηελ παξάγξαθν θαίλνληαη ζην παξαθάησ ηκήκα θψδηθα. Ππξνδόηεζε ηεο ιεηηνπξγίαο ηνπ adaptive sensing όπσο έρεη νξηζηεί ζηελ ζπλάξηεζε recv() ηνπ αξρείνπ mac-802_22.cc if(received && actualnetcell->collided < attacks_per_frame_ ) { if((actualnetcell->scanningphase == IDLE actualnetcell- >scanningphase == DYNAMIC_SENSING)){ drop(p, DROP_MAC_COLLISION); actualnetcell->collided++; if(sensingtype == ADAPTIVE){ dynamicsensingstart[actualnetcell->collided-1]- >resched(framelength + FAST_SENSING_DURATION - slot_size); Όπσο αλαθέξζεθε ζηε ζεσξεηηθή πεξηγξαθή ηνπ αιγνξίζκνπ, φηαλ εληνπηζηεί θάπνηα παξεκβνιή, αιιάδεη ε θάζε sensing, κεηαβαίλνληαο ζηε θάζε πνπ πξαγκαηνπνηείηαη ν δπλακηθφο απηφο ηξφπνο sensing (adaptive sensing). Ζ κεηάβαζε απηή πξαγκαηνπνηείηαη φηαλ ιήμεη ν timer πνπ θαίλεηαη ζην παξαπάλσ ηκήκα θψδηθα. Ζ ζπλάξηεζε

127 startdynamicsensing είλαη ν handler ηνπ ζπγθεθξηκέλνπ timer πνπ ππξνδνηείηαη φηαλ θηάζεη ζηε ιήμε. Αιιαγή θάζεο sensing κέζα ζηελ ζπλάξηεζε startdynamicsensing ηνπ αξρείνπ mac-802_22.cc void Mac802_22::startDynamicSensing() { if((actualnetcell->scanningphase == IDLE actualnetcell- >scanningphase == DYNAMIC_SENSING)){ actualnetcell->scanningphase = DYNAMIC_SENSING; Απφ ηελ ζηηγκή πνπ ε θπςέιε έρεη εηζέιζεη ζε απηή ηελ θάζε sensing, φιεο νη ζπζθεπέο πειαηψλ, πέξα απφ απηή πνπ ιακβάλεη (θαη είλαη απνζεθεπκέλε ζηελ κεηαβιεηή actualnetcell->cpe_sensor), ειέγρνπλ ηελ πεγή ησλ παθέησλ πνπ δέρνληαη ζηα slots πνπ έρνπλ νξηζηεί απφ ηηο ζπζθεπέο πειαηψλ πνπ εληφπηζαλ ζπκθφξεζε θαηά ηε ιήςε δεδνκέλσλ. Έηζη, θάζε θνξά πνπ δέρνληαη θάπνην παθέην ελψ βξίζθνληαη ζε απηή ηελ θάζε, αθνχ ειέγμνπλ ηελ πεγή, κπνξνχλ λα απνθαλζνχλ αλ πξφθεηηαη ή φρη γηα παξεκβνιή. εκαληηθή είλαη θαη ε ελεκέξσζε γηα ηα απνηειέζκαηα ηνπ sensing πνπ πξαγκαηνπνηήζεθε. Απηφ γίλεηαη κέζσ κηαο δνκήο ηχπνπ CpeInfo πνπ έρεη δεκηνπξγεζεί πξνεγνπκέλσο απφ ηνλ ζηαζκφ βάζεο, θαη ε νπνία, φπσο καξηπξά θαη ε νλνκαζία ηεο, πεξηέρεη πιεξνθνξίεο πνπ αθνξνύλ κόλν ηηο ζπζθεπέο πειαηώλ, φπσο: ε γεσγξαθηθή ζέζε ηεο θάζε ζπζθεπήο ε MAC δηεχζπλζή ηεο ε πιεξνθνξία πνπ ζπκπιεξψλεη θαζεκηά απφ απηέο ζρεηηθά κε ηελ ηα απνηειέζκαηα ηνπ sensing. Ζ δνκή απηή ζπκπιεξψλεηαη κηα θνξά απφ θάζε ζπζθεπή πειάηε γηα θάζε πεξίνδν sensing. Αλ θάπνηα απφ ηηο ζπζθεπέο πειαηψλ πνπ θάλνπλ sensing εληνπίζεη θάπνηα παξεκβνιή, ηφηε ζέηνπλ ηελ boolean κεηαβιεηή recv_response κε ηελ ηηκή true. πκπεξηθνξά ησλ ζπζθεπώλ πειαηώλ πνπ πξαγκαηνπνηνύλ sensing. (ηκήκα ηεο ζπλάξηεζεο recv() ηνπ αξρείνπ mac- 802_22.cc if(actualnetcell->scanningphase == DYNAMIC_SENSING ){ // all CPEs perform dynamic sensing except for the one which is currently transmitting if(nodeid!= actualnetcell->cpe_sensor) { src = mac->macsa(); if( src!= ((WirelessPhy*)netif_)->wirelessNode()->base_stn()){ actualnetcell->scan_status_.recvd_response=true; if(!gotresponse){ gotresponse = true; cpeinfo = actualnetcell->ssinfo_head; while (cpeinfo) { if(cpeinfo->macaddr == NodeID) cpeinfo->recv_response = true; cpeinfo = cpeinfo->next;

128 ην ηέινο θάζε frame ν ζηαζκφο βάζεο ζα πξέπεη, εμεηάδνληαο ηηο πιεξνθνξίεο πνπ ζα έρνπλ ζπγθεληξσζεί απφ ηηο ζπζθεπέο ησλ πειαηψλ, λα βγάιεη ην ζπκπέξαζκα αλ ππάξρνπλ φλησο παξεκβνιέο απφ θάπνηνλ επηηηζέκελν ή φρη. Ο θαλόλαο απόθαζεο ζχκθσλα κε ηνλ νπνίν ζα πξέπεη λα βγάιεη απηφ ην ζπκπέξαζκα είλαη ν αθφινπζνο: «Αλ όιεο νη ζπζθεπέο πειαηώλ ηεο θπςέιεο αλέθεξαλ όηη εληόπηζαλ παξεκβνιέο ηόηε όλησο πξόθεηηαη γηα θάπνην επηηηζέκελν». Βέβαηα ζα πξέπεη λα ηνληζηεί δελ αξθεί λα δηαπηζησζεί απηφ κφλν κηα θνξά έηζη ψζηε λα ππάξρεη βεβαηφηεηα φηη πξφθεηηαη γηα θάπνηνλ επηηηζέκελν. Ο έιεγρνο ζα πξέπεη λα επαλαιεθζεί θάπνηεο θνξέο (ζπγθεθξηκέλα ι θνξέο, ζχκθσλα κε απηά πνπ αλαθέξζεθαλ ζηελ πξνεγνχκελε παξάγξαθν) έηζη ψζηε λα ππάξρεη κεγαιχηεξε ζηγνπξηά αιιά ρσξίο λα μεπεξαζηεί ην φξην θαηαλάισζεο ελέξγεηαο. Δθφζνλ επαιεζεπηεί απηφ γηα ι θνξέο, ηφηε ν ζηαζκφο βάζεο δίλεη εληνιή ζηε ζπζθεπή πειάηε πνπ εληφπηζε πξψηε ηελ παξεκβνιή θαηά ηε ιήςε παθέησλ λα ςάμεη γηα ειεχζεξν θαλάιη, έηζη ψζηε ε ιεηηνπξγία φιεο ηεο θπςέιεο λα ζπλερηζηεί ζε απηφ ρσξίο παξεκβνιέο. Σν παξαθάησ ηκήκα θψδηθα πινπνηεί ηα πεξηγξαθφκελα: Έιεγρνο ησλ αλαθνξώλ θάζε ζηαζκνύ βάζεο ζην ηέινο θάζε frame. Αλ όινη νη ζηαζκνί βάζεο (πιελ απηνύ πνπ πξαγκαηνπνηήζεθε ην sensing) πηζηνπνηνύλ ηελ εκθάληζε παξεκβνιώλ ζην θαλάιη, ηόηε απμάλεηαη ν κεηξεηήο ι (count_l). Οη δηαδηθαζίεο αλαδήηεζεο ηνπ θάζκαηνο γηα ειεύζεξα θαλάιηα εθθηλνύλ όηαλ ν κεηξεηήο ι θηάζεη ηε δεηνύκελε ηηκή, νπόηε θαη ν ζηαζκόο βάζεο ζηέιλεη έλα παθέην ηύπνπ SCANREQ ζηε ζπζθεπή πειάηε πνπ έρεη ππνζηεί ην collision void Mac802_22::FrameTimerHandler() { if(isused detected) count_l_++;... if((actualnetcell->scanningphase == IDLE actualnetcell- >scanningphase == DYNAMIC_SENSING)){... cpeinfo = actualnetcell->ssinfo_head; // collect adaptive sensing reports while (cpeinfo) {... if(cpeinfo->recv_response){ no_detections++; cpeinfo->recv_response = false; no_cpes++; cpeinfo = cpeinfo->next; if(no_detections == no_cpes - 1 && sensingtype == ADAPTIVE ){ detected = true; if(count_l_ == l_ && sensingtype == ADAPTIVE ){ actualnetcell->scanningphase = REQUEST_AUTOSCAN; actualnetcell->whoscans = actualnetcell->cpe_sensor;... detected = false; count_l_ = 0; if(dynamicsensing.busy()) dynamicsensing.stop(); sendscanreq(); Με βάζε ην παξαπάλσ ηκήκα θψδηθα, πεξηγξάθεηαη ε ιεηηνπξγία ησλ ζεκαληηθφηεξσλ κεηαβιεηψλ:

129 detected: boolean κεηαβιεηή ε νπνία γίλεηαη true, φηαλ φιεο νη ζπζθεπέο πειαηψλ πνπ πξαγκαηνπνηνχλ sensing εληνπίζνπλ θάπνηα παξεκβνιή κε ηελ παξέιεπζε ελφο frame, εθαξκφδνληαο ηνλ Αιγφξηζκν C. Ζ ηηκή true ζεκαηνδνηεί αληίζηνηρα ηελ αχμεζε ηνπ κεηξεηή count_l_ πνπ απνζεθεχεη ηνλ αξηζκφ ησλ frames ζηα νπνία έρεη δηαπηζησζεί ε παξεκβνιή απφ φιεο ηηο ζπζθεπέο πειαηψλ πνπ πξαγκαηνπνηνχλ sensing. cpeinfo->recv_response: απνηειεί ην κέινο ηεο δνκήο CpeInfo πνπ πεξηέρεη ηα απνηειέζκαηα ηνπ sensing γηα θάζε θφκβν. Ζ ηηκή true αληηζηνηρεί ζηνλ εληνπηζκφ ηεο παξεκβνιήο απφ ηελ αληίζηνηρε ζπζθεπή πειάηε. Όπσο θαίλεηαη θαη ζηνλ παξαπάλσ θψδηθα, δηαηξέρνληαο ηε ζπγθεθξηκέλε δνκή γηα φιεο ηηο ζπζθεπέο πειάηε, ν ζηαζκφο βάζεο δηαπηζηψλεη πφζεο απφ ηηο ζπζθεπέο πειάηε έρνπλ εληνπίζεη θάπνηα παξεκβνιή. no_detections: απνζεθεχεη ηνλ αξηζκφ ησλ ζπζθεπψλ πειαηψλ πνπ έρνπλ εληνπίζεη θάπνηα παξεκβνιή κέρξη ην ηέινο ηνπ frame. εκεηψλεηαη φηη ν αξηζκφο ι νξίδεηαη ζην αξρείν TCL κε ηελ δήισζε: Mac/802_22 set l_ 3 θαη κέζσ ηεο αληηζηνίρηζεο απηήο κε ηελ κεηαβιεηή l_ ηνπ αξρείνπ mac-802_22.cc πνπ γίλεηαη κε δήισζε παξφκνηα κε ηνλ νξηζκφ ηνπ sensing_type_ πνπ αλαθέξζεθε παξαπάλσ. Έρνληαο πεξηγξάςεη φινπο ηνπο ηξφπνπο εληνπηζκνχ ησλ επηηηζέκελσλ, επηιέρζεθε λα γίλεη κηα ζπγθξηηηθή κειέηε απηψλ πνπ ζα έρεη σο ζθνπφ λα θξίλεη ηελ απνηειεζκαηηθόηεηα θάζε αιγνξίζκνπ βάζεη ησλ απσιεηώλ ζε δεδνκέλα πνπ παξνπζηάδνληαη. Γηα απηφ ην ιφγν νξγαλψζεθε κηα ζεηξά πξνζνκνηψζεσλ, φπνπ εθαξκφδνληαη θαη νη ηξεηο αιγφξηζκνη εληνπηζκνχ. Απηά ηα ζελάξηα δηαθνξνπνηνχληαη σο πξνο ηνλ ηξφπν κε ηνλ νπνίν δξα ν επηηηζέκελνο. πγθεθξηκέλα: 1. ην πξψην ζελάξην ν επηηηζέκελνο επεξεάδεη ηξία ζπλερόκελα slots ιήςεσλ κηαο κόλν ζπζθεπήο πειάηε. 2. ην δεχηεξν ε κφλε δηαθνξά ζε ζρέζε κε ην πξψην είλαη φηη ηα slots απηά είλαη ηπραία. 3. ην ηξίην ράλνληαη πέληε ζπλερόκελα slots ιήςεσλ πνπ αλήθνπλ ζε δπν ζπζθεπέο πειαηώλ. 4. ην ηέηαξην ράλνληαη ηπραία slots από δπν ζπζθεπέο πειαηώλ. ε απηφ ην ζεκείν αμίδεη λα γίλεη κηα αλαθνξά ζηνλ ηξόπν κε ηνλ νπνίν πινπνηείηαη ε επίζεζε ζηα ζελάξηα απηά ζηνλ ns-2. Σφζν ζηελ πεξίπησζε ησλ ηπραίσλ επηζέζεσλ (ζελάξηα 2 θαη 4), φζν θαη ζηελ πεξίπησζε ησλ ζπλερφκελσλ (ζελάξηα 1 θαη 3), ε επίζεζε γίλεηαη κε ηνλ πξνγξακκαηηζκφ timers πξηλ αξρίζεη ην θάζε frame (κε ηελ εθπλνή ηνπ preamble κέζσ ηεο ζπλάξηεζεο PreambleTimerHandler). Ζ κφλε δηαθνξνπνίεζε ησλ επηκέξνπο ζελαξίσλ εληνπίδεηαη ζηνλ ηξφπν κε ηνλ νπνίν πξνγξακκαηίδνληαη θάζε θνξά απηνί νη timers. Καζψο νη παξεκβνιέο αθνξνχλ δπν ή πεξηζζφηεξα slots ζε θάζε frame, πξνγξακκαηίδεηαη έλαο πίλαθαο από timers. Έηζη, ζηελ πεξίπησζε ησλ ζπλερφκελσλ επηζέζεσλ ηνπ πξψηνπ ζελαξίνπ νη timers απηνί εθθηλνχλ ζε ρξφλν πνιιαπιάζην ηεο δηάξθεηαο ελφο ζπκβφινπ (SymbolLength), αιιά κεηά ην πέξαο φκσο ηεο κεηάδνζεο ησλ ULMAP θαη DLMAP πνπ κεηαδίδνληαη ζηα δπν πξψηα ζχκβνια ηνπ θάζε frame. Ζ κφλε δηαθνξνπνίεζε κεηαμχ ησλ ζελαξίσλ 1 θαη 3 αθνξά ηε ζηηγκή εθθίλεζεο ηεο παξεκβνιήο, ε νπνία, ζηελ πεξίπησζε ηνπ ζελαξίνπ 3, ηνπνζεηείηαη ζην ηέινο ησλ ιήςεσλ ηεο πξψηεο ζπζθεπήο πειάηε θαη εηδηθφηεξα ζηα 2-3 ηειεπηαία παθέηα πνπ ιακβάλεη ε

130 πξψηε ζπζθεπή γηα λα ζπλερηζηεί ζηελ αξρή ησλ ιήςεσλ ηεο δεχηεξεο ζπζθεπήο πειάηε πνπ αθνινπζεί. Ζ πεξηγξαθφκελε ιεηηνπξγία παξηζηάλεηαη ζην παξαθάησ ηκήκα θψδηθα: Πξνγξακκαηηζκόο επίζεζεο ηνπ επηηηζέκελνπ ζε ζπλερόκελα slots, όπσο έρεη νξηζηεί ζηελ ζπλάξηεζε PreambleTimerHandler ηνπ αξρείνπ mac-802_22.cc if(cpes_to_attack_ == 1) rnd = i+1; else if(cpes_to_attack_ == 2) rnd = i+8; attacktimer[i]->resched(2*symbollength + rnd*slot_size); i++; Αμίδεη λα ζεκεησζεί φηη ε κεηαβιεηή i κεηξάεη ηνλ αξηζκφ ησλ επηζέζεσλ πνπ ζα θάλεη ν επηηηζέκελνο, ελψ ε rnd νξίδεη ην slot ζην νπνίν ζα πξαγκαηνπνηείηαη ε επίζεζε. Όπσο θαίλεηαη θαη ζηνλ θψδηθα, ε rnd απνθηά ηελ ηηκή ηεο i απμαλφκελε θαηά κηα αθέξαηα ηηκή, ηθαλνπνηψληαο ηηο απαηηήζεηο ησλ ζελαξίσλ 1 θαη 3 πεξί επηζέζεσλ ζε δηαδνρηθά slots. Ζ κεηαβιεηή CPEs_to_attack_ νξίδεηαη ζην αξρείν TCL, πνπ αληηζηνηρίδεηαη κε ηελ αληίζηνηρε κεηαβιεηή ζην αξρείν mac-802_22.cc, θαη φπσο καξηπξά ην φλνκα ηεο, νξίδεη ηνλ πιήζνο ησλ ζπζθεπψλ πειαηψλ πνπ ζα επεξεαζηνχλ απφ ηελ επίζεζε ηνπ επηηηζέκελσλ. ηελ πεξίπησζε πνπ νη επηζέζεηο είλαη ηπραίεο, ηα slots ζηα νπνία ζα γίλεη ε επίζεζε επηιέγνληαη ηπραία κέζσ κηαο θαλνληθήο θαηαλνκήο. ην δεχηεξν ζελάξην, φπνπ ν επηηηζέκελνο παξεκβάιιεηαη ζηε ιήςε κηαο ζπζθεπήο πειάηε νη ζέζεηο ησλ slots επηιέγνληαη ηπραία απφ ην δηάζηεκα [1, 9] ελψ ζηελ πεξίπησζε ηνπ ηέηαξηνπ ζελαξίνπ φπνπ νη ζπζθεπέο πειαηψλ πνπ επεξεάδνληαη είλαη δπν, ην εχξνο απφ ην νπνίν επηιέγνληαη νη αξηζκνί είλαη ην [1, 17]. Πξνγξακκαηηζκόο επίζεζεο ηνπ επηηηζέκελνπ ζε ηπραία slots, όπσο έρεη νξηζηεί ζηελ ζπλάξηεζε PreambleTimerHandler ηνπ αξρείνπ mac-802_22.cc while (i<attacks_per_frame_){ if(random_attack_ == 1){ if(cpes_to_attack_ == 1) rnd = Random::uniform(1, 9); else if(cpes_to_attack_ == 2) rnd = Random::uniform(1, 17); fprintf(fp, "Random1: %d\n", rnd); attacktimer[i]->resched(2*symbollength + rnd*slot_size); i++; Όπσο θαη ζην πξνεγνχκελν ηκήκα θψδηθα, ε κεηαβιεηή rnd απνζεθεχεη ην slot ζην νπνίν γίλεηαη ε παξεκβνιή, ε νπνία ζε απηή ηελ πεξίπησζε δελ είλαη γξακκηθή ηνπ i, αιιά ηπραία. Ζ κεηαβιεηή random_attack_ νξίδεη θάζε θνξά πνηα απφ ηηο δπν νκάδεο ζελαξίσλ ζα εθηειεζηεί κε ηελ πξνζνκνίσζε, κε ηελ ηηκή true λα αληηζηνηρεί ζηα ζελάξηα 2 θαη 4 θαη ηε false ζηα ζελάξηα 1 θαη 3, φπνπ γίλνληαη επηζέζεηο ζε δηαδνρηθά slots θαη φρη ηπραία. Γηα ην ζχλνιν ησλ πξνζνκνηψζεσλ ρξεζηκνπνηήζεθε ε ίδηα ηνπνινγία, έηζη ψζηε λα είλαη αληηθεηκεληθή ε θξίζε ησλ ηξηψλ αιγνξίζκσλ. Ζ ηνπνινγία πξνζνκνηψλεη κηα πεξηνρή 25 ηεηξαγσληθψλ ρηιηνκέηξσλ θαη θαίλεηαη ζηελ παξαθάησ εηθφλα. Οη παξεκβνιέο απφ ηνλ επηηηζέκελν μεθηλνχλ κεηά ηελ παξέιεπζε 46 frames, κε βάζε ηελ πινπνίεζε ηνπ module. Ζ ξνή εθθηλεί κεηά ηα 0.5 sec, ελψ ε δηάξθεηα ηνπ sensing γηα ηνλ Αιγφξηζκν B εληφο ηνπ frame, νξίζηεθε λα είλαη δηπιάζηα απφ ηε δηάξθεηα ελφο ζπκβφινπ (2*SymbolLength).

131 Απϊλεια δεδομζνων (ςε bits) Σα απνηειέζκαηα ησλ πξνζνκνηώζεσλ παξνπζηάδνληαη ζηηο παξαθάησ γξαθηθέο παξαζηάζεηο. Οη αξηζκνί πνπ ζεκεηψλνληαη πάλσ ζηηο γξαθηθέο παξαζηάζεηο είλαη νη ρξφλνη ζηνπο νπνίνπο γίλεηαη αιιαγή ηνπ θαλαιηνύ ιεηηνπξγίαο ηεο θπςέιεο Απϊλεια δεδομζνων λόγω παρεμβολισ (1ο ςενάριο) Algorithm A Algorithm B Algorithm C Χρόνοσ προςομοίωςθσ (ςε sec)

ΠΕΡΙΛΗΨΗ ΟΗΚΟΝΟΜΗΚΟ ΠΑΝΔΠΗΣΖΜΗΟ ΑΘΖΝΧΝ ΣΜΖΜΑ ΠΛΖΡΟΦΟΡΗΚΖ. ειίδα i

ΠΕΡΙΛΗΨΗ ΟΗΚΟΝΟΜΗΚΟ ΠΑΝΔΠΗΣΖΜΗΟ ΑΘΖΝΧΝ ΣΜΖΜΑ ΠΛΖΡΟΦΟΡΗΚΖ. ειίδα i ΟΗΚΟΝΟΜΗΚΟ ΠΑΝΔΠΗΣΖΜΗΟ ΑΘΖΝΧΝ ΣΜΖΜΑ ΠΛΖΡΟΦΟΡΗΚΖ ΠΕΡΙΛΗΨΗ ειίδα i Ο ηνκέαο ησλ ηειεπηθνηλσληψλ ηα ηειεπηαία ρξφληα ζηεξίδεηαη ζε έλα κεγάιν βαζκφ ζηελ αλάπηπμε ησλ αζχξκαησλ δηθηχσλ. εκαληηθφ ξφιν ζε απηή

Διαβάστε περισσότερα

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο την απόκτηση του διπλώματος «Οργάνωση και Διοίκηση Βιομηχανικών Συστημάτων με εξειδίκευση στα Συστήματα Εφοδιασμού

Διαβάστε περισσότερα

Η αξρή ζύλδεζεο Client-Server

Η αξρή ζύλδεζεο Client-Server Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο

Διαβάστε περισσότερα

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H ) Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

Διαβάστε περισσότερα

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

Διαβάστε περισσότερα

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο

Διαβάστε περισσότερα

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο

Διαβάστε περισσότερα

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

Διαβάστε περισσότερα

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

Διαβάστε περισσότερα

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger Κεθάλαιο 1 Ενόηηηα 2 Πλάνο Μάρκεηινγκ Εξγαιεία Μάξθεηηλγθ Dr. Andrea Grimm Dr. Astin Malschinger ΠΕΡΙΕΧΟΜΕΝΑ ΕΝΟΤΗΤΑ 2 ΠΛΑΝΟ ΜΑΡΚΕΤΙΝΓΚ Κεθάιαην 1: Εξγαιεία Μάξθεηηλγθ Σπγγξαθείο: Δξ. Andrea Grimm, Δξ.

Διαβάστε περισσότερα

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) 1.1 Σςνοπτική Πεπιγπαυή Hot Spots Σα ζεκεία αζύξκαηεο πξόζβαζεο πνπ επηιέρζεθαλ αλαθέξνληαη ζηνλ επόκελν πίλαθα θαη παξνπζηάδνληαη αλαιπηηθά ζηηο επόκελεο παξαγξάθνπο.

Διαβάστε περισσότερα

ΦΤΛΛΟ ΔΡΓΑΙΑ 1 Βαζηθέο Έλλνηεο & Καηεγνξίεο Γηθηύσλ Τπνινγηζηώλ

ΦΤΛΛΟ ΔΡΓΑΙΑ 1 Βαζηθέο Έλλνηεο & Καηεγνξίεο Γηθηύσλ Τπνινγηζηώλ ΦΤΛΛΟ ΔΡΓΑΙΑ 1 Βαζηθέο Έλλνηεο & Καηεγνξίεο Γηθηύσλ Τπνινγηζηώλ Γξαζηεξηόηεηα 1ε αο δίλεηαη ν ελλνηνινγηθφο ράξηεο "Γίθηπα Τπνινγηζηψλ - Βαζηθέο Έλλνηεο" πνπ αθνξά ζηελ θεληξηθή έλλνηα "Γίθηπα Τπνινγηζηψλ".

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 Γενικά Η έθδνζε 8.0.0 ηνπ ελόηεηεο: Business ERP, πεξηιακβάλεη λέεο ιεηηνπξγίεο πνπ αλαιύνληαη ζηηο παξαθάησ Γεληθόηεξε ιεηηνπξγία ηεο εθαξκνγήο Εκπνξηθή Δηαρείξηζε 7/2/2013 SingularLogic

Διαβάστε περισσότερα

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Φςζική Πποζαναηολιζμού Γ Λςκείος Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Επιμέλεια: Αγκανάκηρ Α. Παναγιώηηρ Επωηήζειρ Σωζηό- Λάθορ Να χαπακηηπίζεηε ηιρ παπακάηω πποηάζειρ ωρ ζωζηέρ ή λάθορ: 1. Η ηαιάλησζε είλαη

Διαβάστε περισσότερα

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε. ΑΝΟΙΓΜΑ ΝΔΑ ΥΡΗΗ 1. Γεκηνπξγείηε ηε λέα ρξήζε από ηελ επηινγή «Παξάκεηξνη/Παξάκεηξνη Δηαηξίαο/Γηαρείξηζε Δηαηξηώλ». Πιεθηξνινγείηε ηνλ θσδηθό ηεο εηαηξίαο ζαο θαη παηάηε Enter. Σηελ έλδεημε «Υξήζεηο» παηάηε

Διαβάστε περισσότερα

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

Διαβάστε περισσότερα

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67)

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Γηα λα επαλαθέξεηε ην FritzBox Fon WLAN 7140 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο

Διαβάστε περισσότερα

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

Διαβάστε περισσότερα

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

Διαβάστε περισσότερα

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

Διαβάστε περισσότερα

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX Σηότοι εργαζηηρίοσ Σην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ, νη θνηηεηέο ζα εμνηθεησζνύλ κε βαζηθέο εληνιέο δηθηπαθώλ πξσηνθόιισλ νη νπνίεο βξίζθνπλ εθαξκνγή ζε πεξηβάιινληα Windows

Διαβάστε περισσότερα

ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ

ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ Master of science in Networking and Data Communications Ακαδημαϊκό Έτος 2013-2014 Συνδιοργάνωση Το ΤΕΙ Πειραιά και το πανεπιστήμιο Kingston της Μεγάλης Βρετανίας συνδιοργανώνουν

Διαβάστε περισσότερα

ΚΑΘΟΡΙΣΜΟΣ ΠΑΡΑΓΟΝΤΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΠΑΡΑΓΟΜΕΝΗ ΙΣΧΥ ΣΕ Φ/Β ΠΑΡΚΟ 80KWp

ΚΑΘΟΡΙΣΜΟΣ ΠΑΡΑΓΟΝΤΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΠΑΡΑΓΟΜΕΝΗ ΙΣΧΥ ΣΕ Φ/Β ΠΑΡΚΟ 80KWp ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΛΙΚΩΝ ΚΑΘΟΡΙΣΜΟΣ ΠΑΡΑΓΟΝΤΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΠΑΡΑΓΟΜΕΝΗ ΙΣΧΥ

Διαβάστε περισσότερα

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Τομέας Περιβαλλοντικής Υδραυλικής και Γεωπεριβαλλοντικής Μηχανικής (III) Εργαστήριο Γεωπεριβαλλοντικής Μηχανικής TECHNICAL UNIVERSITY OF CRETE SCHOOL of

Διαβάστε περισσότερα

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Case Study Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Βήκα 1 ο : Login ζηο Turnitin. Κάλεηε είζνδν ζην Turnitin κε

Διαβάστε περισσότερα

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

Διαβάστε περισσότερα

ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ

ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ Σν ζύγρξνλν πξόηππν αληηκεηώπηζεο ηεο ηεξεδόλαο ελειίθσλ δελ εζηηάδεηαη κόλν ζηελ απνθαηάζηαζε ησλ ηεξεδνληθώλ βιαβώλ πνπ έρνπλ εθδεισζεί, αιιά έρεη

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΝΑΥΤΙΛΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΝΑΥΤΙΛΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΝΑΥΤΙΛΙΑΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΝΑΥΤΙΛΙΑ ΝΟΜΙΚΟ ΚΑΙ ΘΕΣΜΙΚΟ ΦΟΡΟΛΟΓΙΚΟ ΠΛΑΙΣΙΟ ΚΤΗΣΗΣ ΚΑΙ ΕΚΜΕΤΑΛΛΕΥΣΗΣ ΠΛΟΙΟΥ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ που υποβλήθηκε στο

Διαβάστε περισσότερα

x x x x tan(2 x) x 2 2x x 1

x x x x tan(2 x) x 2 2x x 1 ΘΕΡΙΝΟ ΣΜΗΜΑ ΜΑΘΗΜΑΣΙΚΑ Ι ΕΠΑΝΑΛΗΠΣΙΚΕ ΑΚΗΕΙ ΜΕΡΟ Ι 1. Να γίλνπλ νη γξαθηθέο παξαζηάζεηο ησλ παξαθάησ ζπλαξηήζεσλ. t ( i) e ( ii) ln( ) ( iii). Να βξεζεί ην Π.Ο., ν ηύπνο ηεο αλίζηξνθεο θαη ην Π.Τ. ησλ

Διαβάστε περισσότερα

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΘΔΜΑ Α Α1. α. Σ β. Σ γ. Λ δ. Λ ε. Λ ζη. Σ Α2. Γ Α3. 1. γ 2. ε 3. δ 4. α Β1. ΘΔΜΑ Β Οη ηειηθνί ππνινγηζηέο παίξλνπλ απνθάζεηο δξνκνιόγεζεο κόλν γηα ηα δηθά ηνπο απηνδύλακα

Διαβάστε περισσότερα

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Δξγαζηεξηαθή άζθεζε 03 Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Ζιίαο Χαηδεζενδσξίδεο Οθηώβξηνο / Ννέκβξηνο 2004 Τη είλαη ην δίθηπν Wulf Δπίπεδν ζην νπνίν κπνξνύκε λα αλαπαξαζηήζνπκε ηξηζδηάζηαηα ζρήκαηα,

Διαβάστε περισσότερα

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

Διαβάστε περισσότερα

6.003: Signals and Systems. Modulation

6.003: Signals and Systems. Modulation 6.003: Signals and Systems Modulation May 6, 200 Communications Systems Signals are not always well matched to the media through which we wish to transmit them. signal audio video internet applications

Διαβάστε περισσότερα

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο : ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ Ον/μο:.. Γ Λσκείοσ Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη. 11-1-11 Εήηημα 1 ο : Α. Γηα ηελ ζπλάξηεζε f, λα βξείηε ην δηάζηεκα ζην νπνίν είλαη παξαγσγίζηκε θαζώο θαη

Διαβάστε περισσότερα

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία 8.3.2016 A8-0046/319 319 Άρθρο 34 παράγραθος 1 ζηοιχείο δ (δ) 14 έηε γηα θηεληαηξηθά θάξκαθα πνπ πξννξίδνληαη γηα άιια είδε δώωλ από απηά πνπ αλαθέξνληαη ζηελ παξάγξαθν 1 ζηνηρεία α) θαη γ). (δ) 10 έηε

Διαβάστε περισσότερα

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Σύνθεζη ηαλανηώζεων Α. Σύλζεζε δύν α.α.η ηεο ίδιας ζστνόηηηας Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Η απνκάθξπλζε

Διαβάστε περισσότερα

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ»

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ» I ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΝΟΜΙΚΩΝ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ «ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑ» ΚΑΤΕΥΘΥΝΣΗ: ΟΙΚΟΝΟΜΙΚΗ

Διαβάστε περισσότερα

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη ΔΠΑΝΑΛΗΠΣΙΚΑ ΘΔΜΑΣΑ ΣΟ ΓΙΑΦΟΡΙΚΟ ΛΟΓΙΜΟ Μάρτιος 0 ΘΔΜΑ Να ππνινγίζεηε ηα όξηα: i ii lim 0 0 lim iii iv lim e 0 lim e 0 ΘΔΜΑ Γίλεηαη ε άξηηα ζπλάξηεζε '( ) ( ) γηα θάζε 0 * : R R γηα ηελ νπνία ηζρύνπλ:

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΣΕΝΑΡΙΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΙ ΤΗΣ ΥΔΡΟΗΛΕΚΤΡΙΚΗΣ ΠΑΡΑΓΩΓΗΣ ΤΟΥ ΥΔΡΟΣΥΣΤΗΜΑΤΟΣ ΤΟΥ ΠΟΤΑΜΟΥ ΝΕΣΤΟΥ

ΑΝΑΠΤΥΞΗ ΣΕΝΑΡΙΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΙ ΤΗΣ ΥΔΡΟΗΛΕΚΤΡΙΚΗΣ ΠΑΡΑΓΩΓΗΣ ΤΟΥ ΥΔΡΟΣΥΣΤΗΜΑΤΟΣ ΤΟΥ ΠΟΤΑΜΟΥ ΝΕΣΤΟΥ ΑΝΑΠΤΥΞΗ ΣΕΝΑΡΙΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΙ ΤΗΣ ΥΔΡΟΗΛΕΚΤΡΙΚΗΣ ΠΑΡΑΓΩΓΗΣ ΤΟΥ ΥΔΡΟΣΥΣΤΗΜΑΤΟΣ ΤΟΥ ΠΟΤΑΜΟΥ ΝΕΣΤΟΥ ΑΝΑΠΤΥΞΗ ΣΕΝΑΡΙΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΙ ΤΗΣ ΥΔΡΟΗΛΕΚΤΡΙΚΗΣ ΠΑΡΑΓΩΓΗΣ

Διαβάστε περισσότερα

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.»

«Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων. Η μεταξύ τους σχέση και εξέλιξη.» ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΚΑΙ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΓΕΩΓΡΑΦΙΑΣ ΚΑΙ ΠΕΡΙΦΕΡΕΙΑΚΟΥ ΣΧΕΔΙΑΣΜΟΥ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: «Χρήσεις γης, αξίες γης και κυκλοφοριακές ρυθμίσεις στο Δήμο Χαλκιδέων.

Διαβάστε περισσότερα

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ Εδώ ζα ππνινγίζνπκε ην κεηαζρεκαηηζκό Fourier κεξηθώλ αθόκα ζεκάησλ, πξνζπαζώληαο λα μεθηλήζνπκε από ην κεηαζρεκαηηζκό Fourier γλσζηώλ ζεκάησλ

Διαβάστε περισσότερα

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1 Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε

Διαβάστε περισσότερα

Assalamu `alaikum wr. wb.

Assalamu `alaikum wr. wb. LUMP SUM Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. LUMP SUM Lump sum lump sum lump sum. lump sum fixed price lump sum lump

Διαβάστε περισσότερα

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο ΔΘΝΙΚΟ ΜΔΣΟΒΙΟ ΠΟΛΤΣΔΥΝΔΙΟ ΥΟΛΗ ΝΑΤΠΗΓΩΝ ΜΗΥΑΝΟΛΟΓΩΝ ΜΗΥΑΝΙΚΩΝ Γιπλυμαηική Δπγαζία «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο Σπιμελήρ Δξεηαζηική

Διαβάστε περισσότερα

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000. ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ ηαηηθή ηωλ ξεπζηώλ (Τδξνζηαηηθή) Ση είλαη ηα ξεπζηά - Γεληθά Ππθλόηεηα Πίεζε Μεηαβνιή ηεο πίεζεο ζπλαξηήζεη ηνπ βάζνπο Αξρή ηνπ Pascal Τδξνζηαηηθή πίεζε Αηκνζθαηξηθή πίεζε Απόιπηε &

Διαβάστε περισσότερα

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ Πεξηερόκελα Σερληθά Υαξαθηεξηζηηθά Καηαγξαθή Ώξαο πγρξνληζκόο πζηήκαηνο Παξνπζίαζε πζηήκαηνο Πηζαλά ελάξηα Υξήζεο 2 Σερληθά Υαξαθηεξηζηηθά

Διαβάστε περισσότερα

AΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ

AΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ AΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΕΙΔΙΚΕΥΣΗΣ ΠΡΟΣΤΑΣΙΑ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΒΙΩΣΙΜΗ ΑΝΑΠΤΥΞΗ ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΠΙΕΣΕΩΝ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Επίκαιρα Θέματα Ηλεκτρονικής Διακυβέρνησης Ονοματεπώνυμο Φοιτητή Σταμάτιος

Διαβάστε περισσότερα

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ 6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ Σηα πιαίζηα ηεο έθηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

Διαβάστε περισσότερα

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

Διαβάστε περισσότερα

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «ΕΝΑΛΛΑΚΤΙΚΗ ΔΙAΧΕIΡΙΣΗ ΑΣΤΙΚΩΝ ΑΠΟΡΡΙΜΜΑΤΩΝ» Του φοιτητή Κασαπιάν Αρτίν Αρ. Μητρώου: 2000.05.0042 Επιβλέπων Καθηγητής Παλαιολόγος Ευάγγελος

Διαβάστε περισσότερα

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά: ΑΝΤΗΛΙΑΚΑ Η Μηκή θαη ν Νηίλνο αλαξσηήζεθαλ πνην αληειηαθό πξντόλ παξέρεη ηελ θαιύηεξε πξνζηαζία ζην δέξκα ηνπο. Τα αληειηαθά πξντόληα έρνπλ έλα δείθηε αληειηαθήο πξνζηαζίαο (SPF), ν νπνίνο δείρλεη πόζν

Διαβάστε περισσότερα

Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών δικτύων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών δικτύων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ Είμαζηε ηυχεροί που είμαζηε δάζκαλοι Ον/μο:.. A Λσκείοσ Ύλη: Εσθύγραμμη Κίνηζη 8-11-2015 Θέμα 1 ο : 1. Η εμίζωζε θίλεζεο ελόο θηλεηνύ πνπ θηλείηαη επζύγξακκα είλαη ε x = 5t. Πνηα

Διαβάστε περισσότερα

Από ηε κεραλνξγάλσζε ησλ ππεξεζηώλ ζηε ςεθηαθή πόιε. Μηα λέα καηηά ζην ηξόπν ζρεδηαζκνύ παξνρήο ππεξεζηώλ

Από ηε κεραλνξγάλσζε ησλ ππεξεζηώλ ζηε ςεθηαθή πόιε. Μηα λέα καηηά ζην ηξόπν ζρεδηαζκνύ παξνρήο ππεξεζηώλ Από ηε κεραλνξγάλσζε ησλ ππεξεζηώλ ζηε ςεθηαθή πόιε. Μηα λέα καηηά ζην ηξόπν ζρεδηαζκνύ παξνρήο ππεξεζηώλ Μνρηαλάθεο Κσλ/λνο Πξντζηάκελνο Πιεξνθνξηθήο Γήκνπ Ηξαθιείνπ Η κεραλνξγάλσζε ησλ ππεξεζηώλ 1990-

Διαβάστε περισσότερα

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30

Διαβάστε περισσότερα

ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΛΘΤΑΗΚΘΔΗΡ Τ.

ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΛΘΤΑΗΚΘΔΗΡ Τ. ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΟΑIΤΜΘΔΘ ΡΕ ΛΕΓΑΚΞ ΓΗΟΕΔΞ 11V11 ΗΚΘΙΘΑ 6-10 ΤΠΞΜΩΜ ΛΕΘΞΜΕΙΗΛΑΑ ΞΣ ΟΑΘΤΜΘΔΘΞΣ ΡΕ ΛΕΓΑΚΞ ΓΗΟΕΔΞ ΓΘΑ ΟΑΘΙΕΡ ΗΚΘΙΘΑΡ 6-10 ΕΩΜ Η ΔΘΑΔΠΞΛΗ ΑΟΞ Η ΛΘΑ ΕΡΘΑ ΡΗΜ ΑΚΚΗ ΕΘΜΑΘ ΛΕΓΑΚΗ

Διαβάστε περισσότερα

Οργάνωση και Δομή Παρουσιάσεων

Οργάνωση και Δομή Παρουσιάσεων Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0

Διαβάστε περισσότερα

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική Δίζηε μησανικόρ διοίκηζηρ μεγάληρ καηαζκεςαζηικήρ εηαιπείαρ και καλείζηε να ςλοποιήζεηε ηο έπγο πος πεπιγπάθεηαι από ηον Πίνακα 1. Κωδ.

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΙΚΗΣ ΙΣΧΥΟΣ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΙΚΗΣ ΙΣΧΥΟΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΙΚΗΣ ΙΣΧΥΟΣ Προοπτικές Εναρμόνισης της Ελληνικής Αγοράς Ηλεκτρικής Ενέργειας με τις Προδιαγραφές του Μοντέλου

Διαβάστε περισσότερα

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1.1 Εγκαηάζηαζη ηυν οδηγών ηηρ έξςπνηρ κάπηαρ ζηο λογιζμικό Mozilla Thunderbird

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

Ασύρµατη ευρυζωνικότητα µέσω τεχνολογίας Wimax

Ασύρµατη ευρυζωνικότητα µέσω τεχνολογίας Wimax Ασύρµατη ευρυζωνικότητα µέσω τεχνολογίας Wimax Γεώργιος Αγαπίου, PhD. Μέλος Ειδικής Επιστηµονικής Επιτροπής Θεµάτων Τηλεπικοινωνιακών Συστηµάτων ΤΕΕ Εισαγωγή Πολλοί ήταν αυτοί που περίµεναν την έλευση

Διαβάστε περισσότερα

ΣΥΓΧΡΟΝΕΣ ΤΑΣΕΙΣ ΣΤΗΝ ΕΚΤΙΜΗΣΗ ΚΑΙ ΧΑΡΤΟΓΡΑΦΗΣΗ ΤΩΝ ΚΙΝΔΥΝΩΝ

ΣΥΓΧΡΟΝΕΣ ΤΑΣΕΙΣ ΣΤΗΝ ΕΚΤΙΜΗΣΗ ΚΑΙ ΧΑΡΤΟΓΡΑΦΗΣΗ ΤΩΝ ΚΙΝΔΥΝΩΝ ΕΘΝΙΚΗ ΣΧΟΛΗ ΤΟΠΙΚΗΣ ΑΥΤΟΔΙΟΙΚΗΣΗΣ Δ ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΠΡΟΣΤΑΣΙΑΣ ΣΥΓΧΡΟΝΕΣ ΤΑΣΕΙΣ ΣΤΗΝ ΕΚΤΙΜΗΣΗ ΚΑΙ ΧΑΡΤΟΓΡΑΦΗΣΗ ΤΩΝ ΚΙΝΔΥΝΩΝ Σπουδάστρια: Διαούρτη Ειρήνη Δήμητρα Επιβλέπων καθηγητής:

Διαβάστε περισσότερα

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3

Διαβάστε περισσότερα

Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και. εκτέλεση ππογπάμματορ

Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και. εκτέλεση ππογπάμματορ 1 Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και εκτέλεση ππογπάμματορ Κάζε πξσί ν Karel μππλάεη ζην θξεβάηη ηνπ όηαλ έλα ξνκπόη-εθεκεξηδνπώιεο ηνπ πεηάεη ηελ εθεκεξίδα, πνπ αλαπαξηζηάλεηαη

Διαβάστε περισσότερα

Τ.Ε.Ι. ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΔΗΜΟΣΙΩΝ ΣΧΕΣΕΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΣ

Τ.Ε.Ι. ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΔΗΜΟΣΙΩΝ ΣΧΕΣΕΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΣ Τ.Ε.Ι. ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΔΗΜΟΣΙΩΝ ΣΧΕΣΕΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Η προβολή επιστημονικών θεμάτων από τα ελληνικά ΜΜΕ : Η κάλυψή τους στον ελληνικό ημερήσιο τύπο Σαραλιώτου

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

Διαβάστε περισσότερα

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Οη Διαηιμήζεις για Αιολικά Πάρκα εθαξκόδνληαη γηα ηελ απνξξνθνύκελε ελέξγεηα από Αηνιηθά Πάξθα πνπ είλαη ζπλδεδεκέλα ζην

Διαβάστε περισσότερα

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Page 1 Υποπλοίαρτος Ν. Πεηράκος ΠΝ Αηδένηα Γνύξεηνη Ίππνη (Trojan Horses) Ινί (Viruses) Worms Root-kit Page 2 Γνύξεηνο Ίππνο (Trojan Horse) Οξηζκόο: Πξόγξακκα

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii) . Να ιπζνύλ ηα ζπζηήκαηα.,, 6 4 4 4 5( ) 6( ). Να ιπζνύλ ηα ζπζηήκαηα.,,,6 7. Να ιπζνύλ ηα ζπζηήκαηα. 5 ( )( ) ( ) 4. Να ιπζνύλ ηα ζπζηήκαηα. 5 4 6 7 4. 5. Να ιπζνύλ ηα ζπζηήκαηα. 59 ( )( ) ()( 5) 7 6.

Διαβάστε περισσότερα

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ ΦΤΛΛΟ ΕΡΓΑΙΑ (Θεοδώρα Γιώηη, Νικόλας Καραηάζιος- Τπεύθσνη εκ/κος Λ. Παπαηζίμπα) ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΤΜΗΜΑ:.., ΗΜΕΡΟΜΗΝΙΑ:.// Σε ακαμίδην πνπ κπνξεί λα θηλείηαη ρσξίο ηξηβέο πάλσ

Διαβάστε περισσότερα

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2 ΛΙΜΝΗ ΤΣΑΝΤ Τν Σρήκα 1 δείρλεη ηελ αιιαγή ηεο ζηάζκεο ηεο Λίκλεο Τζαλη, ζηε Σαράξα ηεο Βόξεηαο Αθξηθήο. Η Λίκλε Τζαλη εμαθαλίζηεθε ηειείσο γύξσ ζην 20.000 π.χ., θαηά ηε δηάξθεηα ηεο ηειεπηαίαο επνρήο ησλ

Διαβάστε περισσότερα

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

Main source: Discrete-time systems and computer control by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1 A Brief History of Sampling Research 1915 - Edmund Taylor Whittaker (1873-1956) devised a

Διαβάστε περισσότερα

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα. Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Φαθόο κε ζσιήλα Γηαθξάγκαηα Δξγαιεία Καηαζθεπέο 2 Η θαηαζθεπή πεξηγξάθεηαη ζηελ αληίζηνηρε ελόηεηα

Διαβάστε περισσότερα

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο Γελάξεο 2011 ΗΛΔΚΣΡΟΝΙΚΑ Ι (Ύιε Γπκλαζίνπ) Διδάσκων: Σαββίδης Σάββας Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com

Διαβάστε περισσότερα

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ ΚΔΦ.. ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ Οξηζκόο ηεηξαγσληθήο ξίδαο: Αλ 0 ηόηε νλνκάδνπκε ηεηξαγσληθή ξίδα ηνπ ηελ κε αξλεηηθή ιύζε ηεο εμίζσζεο:. Γειαδή ηεηξαγσληθή ξίδα ηνπ 0 ιέγεηαη ν αξηζκόο 0 πνπ όηαλ πςσζεί

Διαβάστε περισσότερα

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD Γηα ηε δηεπθόιπλζή ζαο θαηά ην switch-off ηεο πεξηνρήο ηεο Πεινπνλλήζνπ έρνπκε πξνζζέζεη ζηνπο ςεθηαθνύο καο δέθηεο κία λέα,

Διαβάστε περισσότερα

Jesse Maassen and Mark Lundstrom Purdue University November 25, 2013

Jesse Maassen and Mark Lundstrom Purdue University November 25, 2013 Notes on Average Scattering imes and Hall Factors Jesse Maassen and Mar Lundstrom Purdue University November 5, 13 I. Introduction 1 II. Solution of the BE 1 III. Exercises: Woring out average scattering

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ιπλωµατική Εργασία του φοιτητή του τµήµατος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Ηλεκτρονικών

Διαβάστε περισσότερα

Context-aware και mhealth

Context-aware και mhealth ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΛΙΚΩΝ Context-aware και mhealth ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Του Κουβαρά

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και. Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του. Πανεπιστημίου Πατρών

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και. Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του. Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΜΗΧΑΝΙΚΗΣ ΜΕΤΑΤΡΟΠΗΣ ΕΝΕΡΓΕΙΑΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του φοιτητή του

Διαβάστε περισσότερα

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην  ζαο Δίζνδνο ζηελ Υπεξεζία Αλ είζηε ήδε εγγεγξακκέλνο ρξήζηεο ζηελ ππεξεζία, γηα ηελ είζνδν ζαο (login) ζηελ ππεξεζία e-bill, εηζάγεηαη ην Όλνκα Φξήζηε (username) θαη ηνλ Κωδηθό Πξόζβαζεο (password) πνπ είραηε

Διαβάστε περισσότερα

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Μονοψϊνιο Ολιγοψώνιο Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Οπιακή αξία Δπηπξόζζεηα νθέιε από ηελ ρξήζε/θαηαλάισζε κηαο επηπξόζζεηε

Διαβάστε περισσότερα

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΑΝΑΠΣΤΞΗ ΓΤΝΑΜΙΚΗ ΙΣΟΔΛΙΓΑ ΓΙΑ ΣΟ ΓΔΝΙΚΟ ΚΑΣΑΣΗΜΑ ΚΡΑΣΗΗ ΓΡΔΒΔΝΧΝ ΜΔ ΣΗ ΒΟΗΘΔΙΑ PHP MYSQL Γηπισκαηηθή Δξγαζία ηνπ Υξήζηνπ

Διαβάστε περισσότερα

Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας (lmamatas@ee.ucl.ac.uk)

Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας (lmamatas@ee.ucl.ac.uk) Σεκηλάξην Τνκέα Λνγηζκηθνύ Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας (lmamatas@ee.ucl.ac.uk) Περίιευε παροσζίαζες Τη είλαη ηα «Γίθηπα πνπ παξέρνληαη

Διαβάστε περισσότερα

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων (https://weeman.inf.ethz.ch/particletracker/) Τν Plugin particle tracker κπνξεί λα αληρλεύζεη απηόκαηα ηα ζσκαηίδηα πνπ θηλνύληαη,

Διαβάστε περισσότερα

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Παξάκεηξνη πξνο αμηνιόγεζε Ννκνζεηηθή ζσξάθηζε Κνηλόο Σύιινγνο Ακνηβή Καηαγγειία/Λύζε

Διαβάστε περισσότερα

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο Έξγν ελέξγεηα 3 (Λύζε) Σώκα κάδαο m = 4Kg εξεκεί ζηε βάζε θεθιηκέλνπ επηπέδνπ γσλίαο θιίζεο ζ κε εκζ = 0,6 θαη ζπλζ = 0,8. Τν ζώκα αξρίδεη λα δέρεηαη νξηδόληηα δύλακε θαη μεθηλά λα αλεβαίλεη ζην θεθιηκέλν

Διαβάστε περισσότερα

Μειέηε, θαηαζθεπή θαη πξνζνκνίσζε ηεο ιεηηνπξγίαο κηθξήο αλεκνγελλήηξηαο αμνληθήο ξνήο ΓΗΠΛΩΜΑΣΗΚΖ ΔΡΓΑΗΑ

Μειέηε, θαηαζθεπή θαη πξνζνκνίσζε ηεο ιεηηνπξγίαο κηθξήο αλεκνγελλήηξηαο αμνληθήο ξνήο ΓΗΠΛΩΜΑΣΗΚΖ ΔΡΓΑΗΑ Μειέηε, θαηαζθεπή θαη πξνζνκνίσζε ηεο ιεηηνπξγίαο κηθξήο αλεκνγελλήηξηαο αμνληθήο ξνήο ΓΗΠΛΩΜΑΣΗΚΖ ΔΡΓΑΗΑ Κνηζακπφπνπινο Υ. Παλαγηψηεο Δπηβιέπσλ: Νηθφιανο Υαηδεαξγπξίνπ Καζεγεηήο Δ.Μ.Π Αζήλα, Μάξηηνο 2010

Διαβάστε περισσότερα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Κοιμωμικά δίκτυα (multiplex network) Έρεηε ινγαξηαζκό ζην Facebook? Έρεηε ινγαξηαζκό ζην LinkedIn? Έρεηε ινγαξηαζκό ζην Twitter? Αεροπορικές γραμμές της Ευρώπης(multiplex

Διαβάστε περισσότερα

Ο ΔΡΟΜΟ ΠΡΟ ΣΟ «ΑΕΙΦΟΡΟ ΧΟΛΕΙΟ» ένα φωτογπαφικό ταξίδι

Ο ΔΡΟΜΟ ΠΡΟ ΣΟ «ΑΕΙΦΟΡΟ ΧΟΛΕΙΟ» ένα φωτογπαφικό ταξίδι Ο ΔΡΟΜΟ ΠΡΟ ΣΟ «ΑΕΙΦΟΡΟ ΧΟΛΕΙΟ» ένα φωτογπαφικό ταξίδι ηα Δθπαηδεπηήξηα Πάλνπ ππνζηεξίδνπκε ηελ άπνςε όηη ην «αεηθόξν ζρνιείν» είλαη έλα όξακα εθηθηό. Η εθπαίδεπζε γηα ηελ αεηθνξία δελ είλαη κάζεκα, αιιά

Διαβάστε περισσότερα

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή

Διαβάστε περισσότερα

Η ΨΥΧΙΑΤΡΙΚΗ - ΨΥΧΟΛΟΓΙΚΗ ΠΡΑΓΜΑΤΟΓΝΩΜΟΣΥΝΗ ΣΤΗΝ ΠΟΙΝΙΚΗ ΔΙΚΗ

Η ΨΥΧΙΑΤΡΙΚΗ - ΨΥΧΟΛΟΓΙΚΗ ΠΡΑΓΜΑΤΟΓΝΩΜΟΣΥΝΗ ΣΤΗΝ ΠΟΙΝΙΚΗ ΔΙΚΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΝΟΜΙΚΗ ΣΧΟΛΗ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΟΜΕΑΣ ΙΣΤΟΡΙΑΣ ΦΙΛΟΣΟΦΙΑΣ ΚΑΙ ΚΟΙΝΩΝΙΟΛΟΓΙΑΣ ΤΟΥ ΔΙΚΑΙΟΥ Διπλωματική εργασία στο μάθημα «ΚΟΙΝΩΝΙΟΛΟΓΙΑ ΤΟΥ ΔΙΚΑΙΟΥ»

Διαβάστε περισσότερα

C.S. 430 Assignment 6, Sample Solutions

C.S. 430 Assignment 6, Sample Solutions C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order

Διαβάστε περισσότερα