ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας: Ηλεκτρονικής και Υπολογιστών Εργαστήριο Ηλεκτρονικών Εφαρμογών

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

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας: Ηλεκτρονικής και Υπολογιστών Εργαστήριο Ηλεκτρονικών Εφαρμογών"

Transcript

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

2 2

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα: Ανάλυση, σχεδιασμός και υλοποίηση κωδίκων διόρθωσης λαθών για τηλεπικοινωνιακές εφαρμογές υψηλών ταχυτήτων του Φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών: Γεώργιου Αγγελόπουλου Α. Μ. : 5902 Παρουσιάστηκε δημόσια και εξετάστηκε στο τμήμα Ηλεκτρολόγων μηχανικών και Τεχνολογίας Υπολογιστών στις: 09/07/2009 Ο Επιβλέπων, Ο διευθυντής του τομέα,

4 Αριθμός Διπλωματικής εργασίας: Τίτλος: Ανάλυση, σχεδιασμός και υλοποίηση κωδίκων διόρθωσης λαθών για τηλεπικοινωνιακές εφαρμογές υψηλών ταχυτήτων Φοιτητής: Γεώργιος Αγγελόπουλος Επιβλέπων: Μπίρμπας Αλέξιος 4

5 Περίληψη Σχεδόν όλα τα σύγχρονα τηλεπικοινωνιακά συστήματα, τα οποία προορίζονται για αποστολή δεδομένων σε υψηλούς ρυθμούς, έχουν υιοθετήσει κώδικες διόρθωσης λαθών για την αύξηση της αξιοπιστίας και τη μείωση της απαιτούμενης ισχύος εκπομπής τους. Μια κατηγορία κωδίκων, και μάλιστα με εξαιρετικές επιδόσεις, είναι η οικογένεια των LPDC κωδίκων (Low-Density-ParityCheck codes). Οι κώδικες αυτοί είναι γραμμικοί block κώδικες με απόδοση πολύ κοντά στο όριο του Shannon. Επιπλέον, ο εύκολος παραλληλισμός της διαδικασίας αποκωδικοποίησής τους, τους καθιστά κατάλληλους για υλοποίηση σε υλικό. Στην παρούσα διπλωματική μελετούμε τα ιδιαίτερα χαρακτηριστικά και τις παραμέτρους των κωδίκων αυτών, ώστε να κατανοήσουμε την εκπληκτική διορθωτική ικανότητά τους. Στη συνέχεια, επιλέγουμε μια ειδική κατηγορία κωδίκων LDPC, της οποίας οι πίνακες ελέγχου ισοτιμίας έχουν δημιουργηθεί ώστε να διευκολύνουν την υλοποίησή τους, και προχωρούμε στο σχεδιασμό αυτής σε υλικό. Πιο συγκεκριμένα, υλοποιούμε σε VHDL έναν αποκωδικοποιητή σύμφωνα με τον rate ½ και block_lenght 576 bits πίνακα του προτύπου WiMax e, με στόχο κυρίως την επίτευξη πολύ υψηλού throughput. Στο χρονοπρογραμματισμό της μετάδοσης των μηνυμάτων μεταξύ των κόμβων του κυκλώματος χρησιμοποιούμε το two-phase scheduling και προτείνουμε δύο τροποποιήσεις αυτού για την επιτάχυνση της διαδικασίας αποκωδικοποίησης, οι οποίες καταλήγουν σε 24 και 50% βελτίωση του απαιτούμενου χρόνου μιας επανάληψης με μηδενική και σχετικά μικρή αύξηση της επιφάνειας ολοκλήρωσης αντίστοιχα. Ο όλος σχεδιασμός είναι πλήρως συνθέσιμος και η σωστή λειτουργία αυτού έχει επιβεβαιωθεί σε επίπεδο λογικής εξομοίωσης. Κατά τη διάρκεια σχεδιασμού, χρησιμοποιήθηκαν εργαλεία της Xilinx και MentorGraphics. 5

6 6

7 Abstract Αlmost all the modern telecommunication systems, which are designed for high data rate transmissions, have adopted error correction codes for improving the reliability and the required power of transmission. One special group of these codes, with extremely good performance, is the LDPC codes (Low-Density-Parity-Check codes). These codes are linear block codes with performance near to the theoretical Shannon limit. Furthermore, the inherent parallelism of the decoding procedure makes them suitable for implementation on hardware. In this thesis, we study the special characteristics of these codes in order to understand their astonishing correcting capability. Then, we choose a special category of these codes, whose parity check matrix are special designed to facilitate their implementation on hardware, and we design a high-throughput decoder. More specifically, we implement in VHDL an LDPC decoder according to the rate ½ and block_length 576 bits code of WiMax IEEE802.16e standard, with main purpose to achieve very high throughput. We use the two-phase scheduling at the message passing and we propose 2 modifications for reducing the required decoding time, which result in 25 and 50% improving of the required decoding time of one iteration with zero and little increasing in the decoder s area respectively. Our design has been successfully simulated and synthesized. During the design process, we used Xiinx and MentorGraphics s tools. 7

8 8

9 Ευχαριστίες Η παρούσα διπλωματική εργασία εκπονήθηκε στο τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Για την εκπόνηση αυτής θα ήθελα να ευχαριστήσω, πρώτον από όλους, τον επιβλέποντα καθηγητή μου Αλέξιο Μπίρμπα για την ευκαιρία που μου έδωσε να ασχοληθώ με μια τόσο ενδιαφέρουσα επιστημονική περιοχή, για την εμπιστοσύνη που μου έδειξε καθώς και για την προσωπική και επιστημονική καθοδήγηση καθόλη τη διάρκεια της εργασίας αυτής. Επίσης θα ήθελα να ευχαριστήσω θερμά την εταιρία ANALOGIES S.A. και πιο συγκεκριμένα τους διδάκτορες Φώτιο Γκιουλέκα και Μιχαήλ Μπίρμπα για την άκρως εποικοδομητική συνεργασία που είχαμε στα πλαίσια του προγράμματος Πρακτικής Άσκησης καθώς και για τις πολύ χρήσιμες συμβουλές σχεδόν σε όλα τα στάδια εκπόνησης της διπλωματικής αυτής εργασίας. Ακόμη θα ήθελα να ευχαριστήσω τον συνεξεταστή και επίκουρο καθηγητή του τμήματος Βασίλειο Παλιουρά για τις εποικοδομητικές συζητήσεις που είχαμε καθώς και για τη συνεχή προθυμία του να με ακούσει και συμβουλέψει σε δυσκολίες που αντιμετώπισα στην πορεία ολοκλήρωσης της εργασίας αυτής. Τέλος, θα ήθελα να ευχαριστήσω την οικογένεια και τους φίλους μου, οι οποίοι με στήριξαν αφάνταστα σε όλη την περίοδο των προπτυχιακών σπουδών μου και έπαιξαν καθοριστικό ρόλο. 9

10 10

11 Περιεχόμενα Κεφάλαιο 1: Εισαγωγή 1.1 Δομή ενός τηλεπικοινωνιακού συστήματος Κωδικοποίηση καναλιού Ιστορική αναδρομή Κώδικες ανίχνευσης και διόρθωσης λαθών 25 Κεφάλαιο 2: LDPC κώδικες 2.1 LDPC κώδικες Γραμμικοί Block Κώδικες Αναπαράσταση LDPC κωδίκων Κατηγορίες LDPC κωδίκων Απόδοση των LDPC κωδίκων 39 Κεφάλαιο 3: Αλγόριθμοι αποκωδικοποίησης κωδίκων LDPC 3.1 Αλγόριθμοι αποκωδικοποίησης Αλγόριθμος Sum-Product in Log-Domain Αλγόριθμος Min-Sum Αλγόριθμος Modified-Min-Sum Κεφάλαιο 4: Αρχιτεκτονικές υλοποίησης αποκωδικοποιητών LDPC 4.1 Αρχιτεκτονικές αποκωδικοποιητών LDPC Πλήρως παράλληλη υλοποίηση Πλήρως σειριακή υλοποίηση Ημιπαράλληλη αρχιτεκτονική Κεφάλαιο 5: Καθορισμός πίνακα και παραμέτρων υλοποίησης 5.1 LDPC κώδικες και WiMax (802.16e) Πίνακας ελέγχου ισοτιμίας του LDPC κώδικα με rate ½ Παράμετροι υλοποίησης του αποκωδικοποιητή Αναλογική έναντι Ψηφιακής υλοποίησης

12 5.3.2 Σχήμα χρονοπρογραμματισμού μηνυμάτων αποκωδικοποίησης Αλγόριθμος αποκωδικοποίησης Αναπαράσταση των μηνυμάτων Μέγιστος αριθμός επαναλήψεων του αλγόριθμου.. 65 Κεφάλαιο 6: Προτεινόμενη Αρχιτεκτονική αποκωδικοποιητή 6.1 Αρχιτεκτονική αποκωδικοποιητή Χρονοπρογραμματισμός αποκωδικοποιητή Τροποποίηση του χρονοπρογραμματισμού Κεντρική μονάδα ελέγχου Variable κόμβος Check κόμβος Δίκτυο διασύνδεσης Αποτελέσματα εξομοίωσης και σύνθεσης όλου του αποκωδικοποιητή Αναφορές Βιβλιογραφία 97 12

13 Κατάλογος σχημάτων Σχήμα 1.1: Δομή ενός τηλεπικοινωνιακού συστήματος Σχήμα 1.2: Αλλοίωση σήματος κατά τη μετάδοση μέσα από κανάλι με θόρυβο Σχήμα 2.1: Πίνακας ελέγχου ισοτιμίας ενός LDPC κώδικα Σχήμα 2.2: Γραφική αναπαράσταση ενός LDPC κώδικα με τη Βοήθεια του Tanner graph Σχήμα 2.3: Πίνακας ελέγχου ισοτιμίας δημιουργημένος με τυχαίο τρόπο Σχήμα 2.4: Πίνακας ελέγχου ισοτιμίας ενός κυκλικού κώδικα Σχήμα 2.5: Πίνακας ελέγχου ισοτιμίας ενός Quasi-Cyclic κώδικα Σχήμα 2.6: Quasi-Cyclic πίνακας και η αντίστοιχη συνεπτυγμένη αναπαράσταση αυτού Σχήμα 2.7: Πίνακας ελέγχου ισοτιμίας ενός CPA-structured κώδικα Σχήμα 2.8: Πίνακας ελέγχου ισοτιμίας ενός CPA*-structured κώδικα Σχήμα 2.9: Κατηγορίες κωδίκων με ειδική μορφή πίνακα ελέγχου ισοτιμίας Σχήμα 2.10: Απόδοση ενός LDPC κώδικα Σχήμα 2.11: Απόδοση για ένα δεδομένο κώδικα συναρτήσει διαφορετικών αλγορίθμων αποκωδικοποίησης Σχήμα 2.12: Απόδοση ενός LDPC κώδικα 1536 bits συναρτήσει διαφορετικού αριθμού μέγιστων επαναλήψεων του αλγόριθμου αποκωδικοποίησης Σχήμα 2.13: Απόδοση ενός LDPC κώδικα 768 bits συναρτήσει χρησιμοποιώντας διαφορετικό αριθμό ψηφίων για την αναπαράσταση των μηνυμάτων Σχήμα 3.1: 1η φάση της διαδικασίας επανάληψης ενός αλγόριθμου αποκωδικοποίησης Σχήμα 3.2: 2η φάση της διαδικασίας επανάληψης ενός αλγόριθμου αποκωδικοποίησης Σχήμα 3.3: Γραφική παράσταση της συνάρτησης Φ(). Σχήμα 3.4: Σύγκριση της διορθωτικής ικανότητας των αλγορίθμων αποκωδικοποίησης 13

14 Σχήμα 4.1: Τanner διάγραμμα ενός κώδικα και το κύκλωμα αποκωδικοποίησης πλήρως παράλληλης αρχιτεκτονικής σε απόλυτη αντιστοιχία αυτού. Σχήμα 4.2: Κύκλωμα αποκωδικοποίησης πλήρως σειριακής αρχιτεκτονικής Σχήμα 4.3: Κύκλωμα αποκωδικοποίησης ημιπαράλληλης αρχιτεκτονικής Σχήμα 5.1: Υποστηριζόμενα code rate και block lengths από το πρότυπο WiMax Σχήμα 5.2: Πίνακας βάσης για τον rate ½ WiMax LDPC κώδικα για z=96. Σχήμα 5.3: Δομή ενός πίνακα ελέγχου ισοτιμίας για τον rate ½ WiMax LDPC κώδικα με z=96. Σχήμα 5.4: Πίνακας βάσης για τον rate ½ WiMax LDPC κώδικα για z=24. Σχήμα 6.1: Αρχιτεκτονική του LDPC αποκωδικοποιητή για z=24. Σχήμα 6.2: ΙΟ του αποκωδικοποιητή Σχήμα 6.3: Χρονοπρογραμματισμός μιας πλήρης επανάληψης του αποκωδικοποιητή Σχήμα 6.4: Χρονική αλληλουχία αποκωδικοποιούμενων λέξεων. Σχήμα 6.5: Λεπτομερής ανάλυση της φάσης Decode_Codeword του αποκωδικοποιητή. Σχήμα 6.6 : Τροποποιημένη χρονική αλληλουχία αποκωδικοποιούμενων λέξεων. Σχήμα 6.7: Σχηματικό διάγραμμα ενός Variable κόμβου Σχήμα 6.8: Σχηματικό διάγραμμα του υποκυκλώματος VN_Module Σχήμα 6.9: Design summary για ένα Variable κόμβο. Σχήμα 6.10: Design Summary για το κύκλωμα Var_RAM Σχήμα 6.11: Σχηματικό της τροποποιημένης διάταξης για την αποθήκευση των δεδομένων. Σχήμα 6.12: Σχηματικό διάγραμμα του check κόμβου Σχήμα 6.13: Design Summary έναν check κόμβο Σχήμα 6.14: Design Summary για τη μνήμη Ch_RAM Σχήμα 6.15: Barrel Shifter 4 εισόδων Σχήμα 6.16: Design Summary για έναν Barrel Shifter 24x24 14

15 Σχήμα 6.17 : Μλεγιστη συχνότητα λειτουργίας του αποκωδικοποιητή υλοποιημένου σε Virtex5lx330. Σχήμα 6.18: Κυματομορφές εξομοίωσης κυκλώματος Σχήμα 6.19: Κυματομορφές εξομοίωσης κυκλώματος Σχήμα 6.20 : Design summary για τον όλο σχεδιασμό του LDPC decoder. 15

16 16

17 ΚΕΦΑΛΑΙΟ 1ο ΕΙΣΑΓΩΓΙΚΑ ΣΤΟΙΧΕΙΑ Στο κεφάλαιο αυτό παρουσιάζουμε κάποια βασικά στοιχεία των επικοινωνιακών συστημάτων, περιγράφοντας τα κύρια χαρακτηριστικά τους και ορίζοντας τα μεγέθη τα οποία θα μας χρησιμεύσουν στα επόμενα κεφάλαια. Επίσης, στο κεφάλαιο αυτό γίνεται μια εισαγωγή στην κωδικοποίηση καναλιού (channel coding) και στους βασικούς κώδικες με τους οποίους υλοποιείται αυτή. 1.1 Δομή ενός Τηλεπικοινωνιακού Συστήματος Μια από τις πρωταρχικές ανάγκες του ανθρώπου ήταν, είναι και θα συνεχίσει να είναι η ανταλλαγή πληροφοριών με τον υπόλοιπο κόσμο. Τα δεδομένα της σύγχρονης εποχής επιβάλλουν την πρόσβαση του ανθρώπου σε ένα πλήθος από αξιόπιστα, αποδοτικά, ασφαλή και οικονομικά μέσα επικοινωνίας, τα οποία μπορούν να αναπαραστήσουν την πληροφορία με πολλούς και ποικίλους τρόπους. Η κλασική δομή ενός τηλεπικοινωνιακού συστήματος περιλαμβάνει τα εξής επιμέρους στοιχεία: μια πηγή πληροφορίας από την οποία δημιουργείται η μεταβιβαζόμενη πληροφορία, ένα κανάλι επικοινωνίας μέσω του οποίου μεταφέρεται η 17

18 πληροφορία και έναν ή περισσότερους προορισμούς στους οποίους καταλήγει. Παρόλο αυτά, τα τελευταία χρόνια, έχει σημειωθεί μία αυξανόμενη απαίτηση για αποδοτικά και αξιόπιστα ψηφιακά συστήματα επικοινωνιών και αποθήκευσης δεδομένων, η οποία έχει οδηγήσει σε αύξηση της πολυπλοκότητας των τηλεπικοινωνιακών συστημάτων. Νέες απαιτήσεις, όπως αυτές της πολύ υψηλής ταχύτητας μετάδοσης ή της ασφάλειας των αποστελλόμενων δεδομένων, υπαγορεύουν την εισαγωγή επιπλέον στοιχείων σε ένα σύγχρονο τηλεπικοινωνιακό σύστημα. Η δομή ενός τηλεπικοινωνιακού συστήματος απεικονίζεται στο σχήμα 2.1 και αναλύεται στη συνέχεια περιγράφοντας αναλυτικά τα επιμέρους στοιχεία [1]. Σχήμα 1.1: Δομή ενός τηλεπικοινωνιακού συστήματος Πηγή πληροφορίας (information source): Παράγει μηνύματα τα οποία φέρουν την πληροφορία που πρόκειται να μεταδοθεί. Τα μηνύματα μπορεί να έχουν οποιαδήποτε μορφή, δηλαδή μπορεί να είναι λέξεις, κωδικά σύμβολα, αριθμοί κτλ. Ανάλογα με το αν η πηγή παράγει τα μηνύματα σε διακριτές χρονικές στιγμές ή σε οποιοδήποτε χρονικό σημείο, τη χαρακτηρίζουμε ως διακριτή ή συνεχής πηγή πληροφορίας αντίστοιχα. Επίσης, ανάλογα με το αν το μεταδιδόμενο μήνυμα σε μια χρονική 18

19 στιγμή εξαρτάται από το μήνυμα το οποίο έχει αποσταλεί σε προηγούμενες χρονικές στιγμές ή όχι, τις διακρίνουμε σε πηγές πληροφορίας με μνήμη και χωρίς μνήμη αντίστοιχα. Κωδικοποιητής πηγής (source encoder): Η έξοδος της πηγής πληροφορίας στις περισσότερες περιπτώσεις δεν είναι κατάλληλη για μετάδοση μέσω του τηλεπικοινωνιακού συστήματος επειδή περιέχει μεγάλο ποσοστό πλεονάζουσας πληροφορίας. Με τον όρο κατάλληλη εννοούμε ότι απασχολεί μεγάλο μέρος από τους πόρους του συστήματος, κάτι το οποίο σε ορισμένες εφαρμογές είναι μη ανεκτό. Για να βελτιωθεί η απόδοση του συστήματος, η έξοδος της πηγής πληροφορίας μετασχηματίζεται σε ένα άλλο μήνυμα μέσω του κωδικοποιητή πηγής, ο οποίος μετατρέπει όλα τα μηνύματα της πηγής πληροφορίας σε διακριτού-χρόνου ακολουθίες ψηφιακών συμβόλων, των οποίων ο μέσος όρος του μήκους τους προσεγγίζει το ελάχιστο μήκος που απαιτείται για την αναπαράσταση της πληροφορίας των αρχικών μηνυμάτων χωρίς πλεονασμό. Η διαδικασία αυτή ονομάζεται συμπίεση δεδομένων (data compression). Να αναφέρουμε σε αυτό το σημείο ένα πολύ σημαντικό μέγεθος, την εντροπία (entropy) μιας πηγής πληροφορίας, η οποία εκφράζει ένα μέτρο του μέσου αριθμού συμβόλων που απαιτούνται για την περιγραφή των μηνυμάτων ή ισοδύναμα τη μέση πληροφορία που παράγεται από μια πηγή πληροφορίας και μετριέται σε bits. Όπως ορίζει η Θεωρία Πληροφορίας (Information Theory), το μέσο μήκος της εξόδου του κωδικοποιητή πηγής δε μπορεί να είναι μικρότερο από την εντροπία της πηγής και όσο πιο κοντά σε αυτό το όριο είναι τόσο περισσότερο ικανοποιητική θεωρείται η εφαρμογή του κωδικοποιητή πηγής. Ευρέως χρησιμοποιούμενοι κώδικες κωδικοποίησης πηγής είναι οι εξής: Hamming, Αριθμητική κωδικοποίηση, Lempel-Ziv κ.α. Κωδικοποιητής καναλιού (channel encoder): Η ολοκληρωτική απαλοιφή του πλεονασμού καθιστά τα μεταδιδόμενα bit, που έχουν προκύψει μετά την παραπάνω διαδικασία, εξαιρετικά ευαίσθητα σε λάθη (π.χ. σε μια εικόνα που έχει υποστεί υψηλή συμπίεση ένα σφάλμα σε ένα bit μπορεί να οδηγήσει στον πλήρη συσκοτισμό της, εφόσον το λανθασμένο bit χρησιμοποιείται για την ανασυγκρότηση όλης της εικόνας). Επομένως ο πρωταρχικός ρόλος του κωδικοποιητή καναλιού είναι η 19

20 μεγιστοποίηση της αξιοπιστίας της μετάδοσης λαμβάνοντας υπ όψιν τους περιορισμούς της ισχύος του σήματος μετάδοσης, του εύρους ζώνης του συστήματος και την πολυπλοκότητα του κυκλώματος. Ο κωδικοποιητής διαύλου επανεισάγει κάποιον πλεονασμό στην ακολουθία των δεδομένων, που παρέχει ο κωδικοποιητής πηγής. Ο πλεονασμός αυτός περιέχει μια δομή η οποία επιτρέπει και διευκολύνει στην απ ευθείας ανίχνευση και πιθανόν τη διόρθωση σφαλμάτων, εφόσον η παραμόρφωση δεν είναι τόσο μεγάλη. Αυτό οδηγεί σε χαμηλότερο ρυθμό μετάδοσης δεδομένων και στην χρήση μεγαλύτερου εύρους ζώνης σε σχέση με τη μετάδοση χωρίς κωδικοποίηση. Ο κωδικοποιητής καναλιού είναι μια διάταξη διακριτής- εισόδου/διακριτής-εξόδου που ορίζει μια μία-προς-μία απεικόνιση των ακολουθιών της πηγής σε κωδικά σύμβολα. Πιο συγκεκριμένα, αναθέτει σε κάθε πλαίσιο (frame) κ ψηφίων ένα πλαίσιο μεγαλυτέρου μήκους αποτελούμενο από n ψηφία, το οποίο καλείται κωδική λέξη (codeword). Ένας καλός κώδικας ελέγχου λαθών παράγει διαφορετικές μεταξύ τους κωδικές λέξεις. Αυτό καθιστά την επικοινωνία πιο ανεκτική σε λάθη που εισέρχονται από το κανάλι. Ο κάθε κώδικας χαρακτηρίζεται από τον λόγο R=k/n<1,ο οποίος καλείται ρυθμός κώδικα (code rate). Διαμορφωτής (modulator): Σε αντίθεση με τη διακριτή φύση της εξόδου του κωδικοποιητή καναλιού, τα κανάλια μετάδοσης είναι αναλογικής φύσεως και αποδέχονται μόνο αναλογικές κυματομορφές στην είσοδο τους. Επομένως, ο διαμορφωτής προσαρμόζει τα ψηφιακά δεδομένα στα ιδιαίτερα χαρακτηριστικά του εκάστοτε φυσικού διαύλου, αναπαριστώντας τα κωδικά σύμβολα με κατάλληλες συναρτήσεις συνεχούς χρόνους (έστω s(t)), καλούμενες κυματομορφές διαύλου. Η αναλογική κυματομορφή s(t) μεταδίδεται πάνω από τον φυσικό δίαυλο επικοινωνίας, στο οποίο βρίσκεται εκτεθειμένη σε διάφορες παραμορφώσεις τυχαίας φύσεως και υφίσταται αλλοιώσεις. Ένας Μ-αδικός διαμορφωτής αντιστοιχεί μια δομή l δυαδικών δεδομένων σε μία από τις Μ πιθανές κυματομορφές, όπου Μ=2l. Η χρονική διάρκεια της κυματομορφής στην έξοδο του αποδιαμορφωτή είναι Τ δευτερόλεπτα, και αναφέρεται ως διάστημα σήμανσης, ενώ ο ρυθμός συμβόλου είναι ίσος με rs=1/t. Η διαμόρφωση μπορεί να 20

21 πραγματοποιηθεί μεταβάλλοντας το πλάτος, τη φάση ή/και τη συχνότητα μιας ημιτονοειδής κυματομορφής, που καλείται φορέας. Κανάλι επικοινωνίας (channel): Είναι το μέσο μετάδοσης που χρησιμοποιείται για να μεταφέρει πληροφορία. Μερικά παραδείγματα καναλιών είναι τα χάλκινα καλώδια, οι μικροκυματικές ζεύξεις, οι δορυφορικές ζεύξεις και οι οπτικές ίνες. Δύο σημαντικά μειονεκτήματα των πραγματικών καναλιών είναι ο θερμικός θόρυβος και το πεπερασμένο εύρος ζώνης τους, τα οποία συμβάλλουν στην παραμόρφωση του σήματος και συνεπώς στην υποβάθμιση της ποιότητας του επικοινωνιακού συστήματος. Στην παρακάτω εικόνα φαίνονται οι επιπτώσεις στο μεταδιδόμενο σήμα λόγω της ύπαρξης θορύβου στο φυσικό μέσο μετάδοσης. Σχήμα 1.2: Αλλοίωση σήματος κατά τη μετάδοση μέσα από κανάλι με θόρυβο Όπως γίνεται εμφανές, λόγω αυτών των ατελειών των φυσικών μέσων μετάδοσης που διαθέτουμε είμαστε αναγκασμένοι να δημιουργήσουμε επιπλέον τρόπους αντιμετώπισης των προκαλούμενων λαθών και αυτός είναι ο λόγος για τον οποίο εισάγουμε το κύκλωμα του κωδικοποιητή καναλιού που περιγράψαμε παραπάνω. 21

22 Αποδιαμορφωτής (demodulator): Η παραμορφωμένη από τον θόρυβο κυματορφή στην έξοδο του καναλιού εισάγεται στον αποδιαμορφωτή στην πλευρά του λήπτη. Ο αποδιαμορφωτής επεξεργάζεται και μετατρέπει τη ληφθείσα αναλογική κυματομορφή σε μια ακολουθία από εκτιμήσεις των μεταδιδομένων κωδικών συμβόλων. Οι εκτιμήσεις αυτές μπορεί να είναι διακριτής ή συνεχής φύσεως. Αποκωδικοποιητής καναλιού (channel decoder): Στόχος του αποτελεί η ελαχιστοποίηση των παραμορφώσεων που εισάγει ο θόρυβος του διαύλου. Ο αποκωδικοποιητής διαύλου παράγει εκτιμήσεις των αποσταλμένων δεδομένων βασιζόμενος στον πλεονασμό και στη δομή των bit ισοτιμίας, που παρέχει ο κωδικοποιητής διαύλου, καθώς επίσης λαμβάνει υπ όψιν του τα χαρακτηριστικά του διαύλου. Αποκωδικοποιητής πηγής (source decoder): Ο αποκωδικοποιητής πηγής, βασιζόμενος στον κανόνα της κωδικοποίησης που τελεί ο κωδικοποιητής πηγής στον πομπό, παρέχει μια εκτίμηση της εξόδου της πηγής και παραδίδει τα δεδομένα στον δέκτη. Παραλήπτης πληροφορίας (information sink): Αποτελεί τον τελικό δέκτη του αποσταλμένου μηνύματος. 22

23 1.2 Κωδικοποίηση καναλιού Η κωδικοποίηση καναλιού (channel coding) αποτελεί αναπόσπαστο τμήμα των τηλεπικοινωνιακών συστημάτων και χρησιμοποιείται για τη βελτίωση της αξιοπιστίας αυτών, την ελαχιστοποίηση της πιθανότητας λάθους στη μετάδοση δεδομένων και την καλύτερη εκμετάλλευση του παρεχόμενου εύρους ζώνης σε ένα ευρύ φάσμα εφαρμογών από την επικοινωνία ολοκληρωμένου με ολοκληρωμένο (chip-to-chip communication) έως σε εφαρμογές αποστολής απώτερου διαστήματος (deep space missions). Συνεπώς, η σχεδίαση και υλοποίηση κατάλληλων κωδίκων διαύλου, που να προσεγγίζουν το όριο του Shannon, για τις εκάστοτε εφαρμογές αποτελεί μείζονος σημασίας δραστηριότητα. Ο Shannon, ο οποίος θεωρείται πατέρας της επιστήμης της Θεωρίας Πληροφορίας και θεμελιωτής της μαθηματικής θεώρησης των επικοινωνιών, συσχέτισε την μεταδιδόμενη πληροφορία με την ικανότητα μετάδοσης ενός θορυβώδους διαύλου επικοινωνίας. Συγκεκριμένα, το θεώρημα του Shannon [2] αποδεικνύει πως δοθέντος ενός οποιουδήποτε θορυβώδους διαύλου, υπάρχει κατάλληλος κώδικας διόρθωσης λαθών (error correction code) τέτοιος, ώστε να επιτυγχάνει δυνητικά μία αυθαιρέτως χαμηλή πιθανότητα λάθους (symbol error probability) κατά τη μετάδοση, εφόσον ο ρυθμός του κώδικα R είναι μικρότερος της χωρητικότητας C του διαύλου. Αντιστρόφως, δεν είναι δυνατή η σχεδίαση κατάλληλου κώδικα διόρθωσης λαθών, που να επιτυγχάνει αυθαιρέτως μικρή πιθανότητα λάθους, για ρυθμό μετάδοσης μεγαλύτερο της χωρητικότητας του καναλιού. Η χωρητικότητα ενός καναλιού C (channel capacity) είναι ένα μέγεθος που εξαρτάται από τα χαρακτηριστικά αυτού. Πιο συγκεκριμένα, αν Β το εύρος ζώνης του καναλιού και SNR ο λόγος σήματος προς θόρυβο, τότε η χωρητικότητα του καναλιού δίνεται από τη σχέση: C = B log 2 (1 + SNR ) Το θεμελιώδες αυτό θεώρημα δηλώνει πως ο θόρυβος θέτει ένα όριο (Shannon limit) στον ρυθμό μετάδοσης των δεδομένων και όχι στην πιθανότητα λάθους όπως ήταν πιστευτό προηγουμένως. Μολονότι, ο Shannon απέδειξε θεωρητικά την ύπαρξη τέτοιου κώδικα δεν υπέδειξε ρητώς και σαφώς πρακτικό τρόπο με τον οποίο πρέπει να σχεδιαστεί κάποιος κώδικας, 23

24 ο οποίος να επιτυγχάνει την υποσχόμενη απόδοση. Αντιθέτως, στην απόδειξη της θεωρίας του έκανε χρήση κωδίκων πάρα πολύ μεγάλου μήκους κάτι το οποίο, όπως θα δούμε στη συνέχεια, δεν είναι πρακτικό στην κατασκευή ενός αποκωδικοποιητή Ιστορική αναδρομή Η δημοσίευση της εργασίας του C. E. Shannon το 1948 [2], η οποία ανέπτυξε τη μαθηματική θεμελίωση των επικοινωνιών, αποτέλεσε την έναρξη μιας μεγάλης προσπάθειας εκατοντάδων επιστημόνων ανά τον κόσμο για την επίτευξη ρυθμών αξιόπιστης μετάδοσης κοντά στη χωρητικότητα του καναλιού. Πολλές τεχνικές και αλγόριθμοι αναπτύχθηκαν αλλά λόγω του πρώιμου σταδίου που βρισκόταν η τεχνολογία των ημιαγωγών (την ίδια χρονιά με τη δημοσίευση της εργασίας του Shannon παρουσιάστηκε το πρώτο τρανζίστορ από τους J. Bardeen και W. H. Brattain [3]) δε μπορούσαν να βρουν το αντίστοιχο ενδιαφέρον από την πλευρά της υλοποίησης. Χαρακτηριστικό παράδειγμα και ορόσημο στην πορεία της κωδικοποίησης καναλιού αποτελεί η δημιουργία μιας οικογένειας κωδίκων από τον τότε μεταπτυχιακό φοιτητή στο ΜΙΤ P. G. Gallager, ο οποίος στις αρχές της δεκαετίας του 60 πρότεινε τους κώδικες Low Density Parity Check (LDPC) και μια μορφή επαναληπτικής αποκωδικοποίησης [4]. Επειδή όμως τότε δεν ήταν δυνατόν να υλοποιηθούν σε υλικό οι αλγόριθμοι αυτοί εξαιτίας της αυξημένης τους πολυπλοκότητας, ξεχάστηκαν και έμειναν στο περιθώριο για παραπάνω από 35 χρόνια. Το 1993 οι ερευνητές Berrou, Glavieux και Thitimajshima πρότειναν μία νέα δομή κωδίκων τους οποίους ονόμασαν Turbo Codes [5]. Οι κώδικες αυτοί εμπεριέχουν εύκολη άλγεβρα, χρησιμοποιούν επαναληπτικούς και κατανεμημένους αλγόριθμους, εισάγουν την έννοια της τυχαιότητας στη διαδικασία της αποκωδικοποίησης και φτάνουν πολύ κοντά στο όριο του Shannon. Προσπαθώντας να εξηγήσουν την υπερβολικά καλή απόδοση των Τurbo Codes οι ερευνητές παρατήρησαν ότι υπήρχαν κοινά χαρακτηριστικά με τους LDPC κώδικες. Η ομοιότητα αυτή επανέφερε το ενδιαφέρον των ερευνητών για τους LDPC κώδικες και μάλιστα παρατηρήθηκε μια θεαματική αύξηση τόσο σε θεωρητικό επίπεδο με την ανάπτυξη νέων αλγορίθμων ή τροποποιήσεων παλαιοτέρων όσο και σε επίπεδο υλοποίησης με την ραγδαία ανάπτυξη της τεχνολογίας ολοκληρωμένων κυκλωμάτων πολύ μεγάλης κλίμακας (VLSI). Μάλιστα, τα 24

25 τελευταία χρόνια παρατηρούμε ότι οι LDPC κώδικες έχουν ενσωματωθεί σε πολλά τηλεπικοινωνιακά standard όπως DVB-S2 [6], WiMax(802.16e) [7], 10GBase-T Ethernet [8] κ.α. κάτι το οποίο υποδηλώνει την πολύ καλή τους απόδοση καθώς την καταλληλότητά τους όσον αφορά την υλοποίησή τους σε υλικό Κώδικες ανίχνευσης και διόρθωσης λαθών Η λογική της κωδικοποίησης έγκειται στην προσθήκη στο αρχικά μεταδιδόμενο μήνυμα κατάλληλου πλεονασμού, με αποτέλεσμα να μετασχηματίζεται το αρχικό μήνυμα σε μια νέα ακολουθία από bits, η οποία ονομάζεται κωδικολέξη (codeword). Στο δέκτη γίνεται σύγκριση της κάθε ληφθείσας λέξης με το γνωστό σύνολο των έγκυρων κωδικών λέξεων, οι οποίες αποτελούν το αλφάβητο του αποκωδικοποιητή. Αν δεν κατορθώσουμε να βρούμε λέξη όμοια με αυτές που περιλαμβάνονται στο αλφάβητο, συμπεραίνουμε ότι έχουν υπεισέλθει σφάλματα και ξεκινά η διαδικασία αξιοποίησης του πλεονασμού του μηνύματος με σκοπό να βρεθεί η απεσταλμένη λέξη. Σε αντίθετη περίπτωση, εξάγεται το συμπέρασμα ότι έχει γίνει ορθή λήψη της πληροφορίας και ο δέκτης είναι έτοιμος να δεχτεί την επόμενη λέξη. Γίνεται σαφές ότι με τη χρήση της κωδικοποίησης είμαστε σε θέση να ανιχνεύσουμε ή και να διορθώσουμε σφάλματα τα οποία συμβαίνουν κατά την αποστολή των λέξεων. Στη συνέχεια ακολουθούν παραδείγματα ανίχνευσης και διόρθωσης λαθών κάνοντας χρήση της μεθόδου της κωδικοποίησης. Έστω για παράδειγμα ότι έχουμε το αλφάβητο c1 = {00, 01, 10, 11}, από το οποίο στέλνουμε τα μηνύματά μας μέσω ενός θορυβώδους καναλιού. Όπως φαίνεται, κάθε κωδική λέξη έχει μήκος 2 και ο κώδικας περιλαμβάνει όλους τους δυνατούς συνδυασμούς μήκους 2 των ψηφίων 0 και 1. Συνεπώς, κάθε λέξη των δύο ψηφίων που καταλήγει στον δέκτη, αποτελεί κωδική λέξη και για το λόγο αυτό δεν υπάρχει η δυνατότητα ανίχνευσης κάποιου λάθους. Αν τώρα σε κάθε αποστελλόμενο μήνυμα προσθέταμε με βάση κάποιον κανόνα ένα επιπλέον bit, τότε ο δέκτης θα μπορεί να διακρίνει αν έχουν συμβεί σφάλματα στην αρχική λέξη. Για παράδειγμα, ένας πολύ γνωστός κανόνας είναι ο κανόνας ισοτιμίας, σύμφωνα με τον οποίο προσθέτουμε ένα bit στο τέλος της λέξης ανάλογα με τον αν έχουμε περιττό ή άρτιο αριθμό μονάδων στη λέξη μας. Άρα εφαρμόζοντας αυτόν τον κανόνα στο προηγούμενο αλφάβητό μας, 25

26 το μετασχηματίζουμε στο εξής επόμενο c1 = {000, 011, 101, 110}. Λαμβάνοντας τώρα ο δέκτης μια λέξη η οποία δεν ανήκει σε αυτό το υποσύνολο των ακολουθιών ψηφίων μήκους 3 (πχ τη λέξη 010) συμπεραίνει ότι έχει αλλοιωθεί κάποιο από τα ψηφία αυτής και η ληφθείσα λέξη δεν είναι έγκυρη. Συνεπώς, προσθέτοντας ένα επιπλέον ψηφίο ο δέκτης είναι σε θέση να διαπιστώσει αν έχει γίνει λάθος σε ένα από τα ψηφία της λέξης. Αν τώρα χρησιμοποιήσουμε κάποιον άλλο κανόνα, μπορούμε να δημιουργήσουμε ένα σύνολο λέξεων το οποίο θα μας δίνει τη δυνατότητα όχι μόνο να ανιχνεύουμε κάποια λάθη αλλά και να διορθώνουμε κάποια από αυτά. Έστω για παράδειγμα ότι χρησιμοποιούμε έναν κανόνα επανάληψης σύμφωνα με τον οποίο κάθε λέξη 2 ψηφίων επαναλαμβάνεται 3 φορές, δημιουργώντας έτσι κωδικές λέξεις 6 ψηφίων. Το σύνολο όλων των έγκυρων λέξεων γίνεται τώρα: {000000, , , }. Αν ληφθεί για παράδειγμα η λέξη , με απλή αντιπαραβολή της με το σύνολο των γνωστών λέξεων του κώδικα, παρατηρείται ότι δεν ανήκει στο συγκεκριμένο λεξικό, δεν αποτελεί δηλαδή κωδική λέξη, άρα περιέχει ένα τουλάχιστον σφάλμα. Επεξεργάζοντας τώρα αυτή την λάθος λέξη και κάνοντας χρήση του γεγονότος ότι μια λέξη που έχει υποστεί κάποια αλλοίωση είναι πιο πιθανό να έχει προέλθει από μια έγκυρη κωδική λέξη με την οποία μοιάζει αρκετά και όχι από κάποια λέξη που διαφέρει σε πολλά ψηφία, μπορούμε να πούμε με μεγάλη πιθανότητα ότι η αρχικά απεσταλμένη λέξη είναι η και έχει υποστεί αλλοίωση το τέταρτο ψηφίο αυτής. Αυτό φυσικά απαιτεί έναν μηχανισμό που να συγκρίνει την ομοιότητα των λέξεων και να διαλέγει αυτή με τη μεγαλύτερη. Με τα παραπάνω παραδείγματα και χωρίς την απαιτούμενη μαθηματική ακρίβεια στις εκφράσεις μας παρουσιάσαμε τη γενική ιδέα της κωδικοποίησης και πως με βάση αυτή καταφέρνει ο δέκτης να επιτύχει την ανίχνευση ή και τη διόρθωση λαθών. Οι τεχνικές ή ισοδύναμα οι κώδικες που χρησιμοποιήθηκαν στα παραπάνω παραδείγματα είναι πολύ απλοί και δεν παρουσιάζουν πρακτικό ενδιαφέρον καθώς είναι αναποτελεσματικοί. Χρησιμοποιήθηκαν μόνο για να κάνουν εμφανή τα πλεονεκτήματα της κωδικοποίησης. Στην πράξη χρησιμοποιούνται πολύ και πιο πολύπλοκες τεχνικές οι οποίες εμφανίζουν εξαιρετική απόδοση που πλησιάζει το θεωρητικό όριο του Shannon. Θα πρέπει να αναφερθεί εδώ ότι η απόδοση ενός κώδικα είναι συνάρτηση της πολυπλοκότητας αυτού και μπορεί να εξαρτάται από πολλές παραμέτρους. Από το πλήθος των κωδίκων που συναντά κάποιος στη βιβλιογραφία γίνεται σαφές ότι δεν υπάρχει ένας κώδικας ο οποίος να 26

27 είναι κατάλληλος για όλες τις εφαρμογές, να παρουσιάζει τη βέλτιστη απόδοση, να συγκλίνει γρήγορα και να έχει τη μικρότερη πολυπλοκότητα όσον αφορά την υλοποίηση αυτού. Κώδικες οι οποίο έχουν χρησιμοποιηθεί κατά κόρον στο παρελθόν είναι οι: Hamming, CRC (σε δίκτυα υπολογιστών), BCH, Reed-Solomon (σε συσκευές αποθήκευσης όπως το CD), Turbo codes (σε ασύρματες και ενσύρματες εφαρμογές) και LDPC (σε πολλά ασύρματα και δορυφορικά πρότυπα επικοινωνιών). Οι τελευταίες δύο κατηγορίες κωδίκων αποτελούν το επίκεντρο της σύγχρονης επιστημονικής έρευνας καθώς παρουσιάζουν εξαιρετικά χαρακτηριστικά που τους καθιστούν πολύ ελκυστικούς. 27

28 28

29 ΚΕΦΑΛΑΙΟ 2ο LDPC ΚΩΔΙΚΕΣ Οι LDPC κώδικες είναι μια κατηγορία των κωδίκων διόρθωσης λαθών η οποία την τελευταία δεκαετία έχει λάβει πολύ μεγάλη προσοχή, κυρίως λόγω της εκπληκτικής τους διορθωτικής ικανότητας αλλά και του παραλληλισμού της διαδικασίας αποκωδικοποίησης, ο οποίος τους καθιστά κατάλληλους για υλοποιήσεις σε υλικό. Στο κεφάλαιο αυτό εξετάζουμε τα γενικά χαρακτηριστικά των κωδίκων αυτών, τις σημαντικότερες κατηγορίες καθώς και την απόδοση αυτών. 2.1 LDPC κώδικες Οι κώδικες LDPC [4] αποτελούν μία κατηγορία γραμμικών block κωδίκων (linear block codes). Οι κώδικες αυτοί που προτάθηκαν από τον R. G. Gallager το 1963 στη διδακτορική του διατριβή, δεν αξιοποιήθηκαν παρά μόνο στις αρχές της δεκαετίας του Ο λόγος για τον οποίο οι LDPC κώδικες είχαν κατά κάποιο τρόπο τεθεί στο περιθώριο, ήταν το υπερβολικά μεγάλο, για τα δεδομένα της εποχής, υπολογιστικό κόστος που απαιτούσαν, καθώς οι υπολογιστικές μηχανές της εποχής δεν ήταν σε θέση να ανταπεξέλθουν στην πολυπλοκότητα του αλγορίθμου στον οποίο βασίζονταν οι LDPC κώδικες. Με την αλματώδη όμως εξέλιξη της τεχνολογίας στα μέσα της δεκαετίας του 90 και τη μεγάλη ανάπτυξη της τεχνολογίας της πληροφορίας στράφηκε το ενδιαφέρον της αγοράς σε υψηλής απόδοσης κώδικες μετάδοσης δεδομένων, οι οποίοι παίζουν καθοριστικό ρόλο σε πλήθος παραγόντων που αφορούν τη 29

30 μετάδοση και έτσι το ενδιαφέρον στράφηκε ξανά στους κώδικες LDPC, αφού πλέον ήταν δυνατή η υλοποίηση αυτών. Επειδή, όπως είπαμε προηγουμένως, οι LDPC κώδικες είναι μια κατηγορία γραμμικών κωδίκων, θεωρούμε σκόπιμο στο σημείο αυτό να παρουσιάσουμε τα βασικά χαρακτηριστικά αυτών. 2.2 Γραμμικοί Block Κώδικες Γενικά, ένας οποιοσδήποτε κώδικας που χρησιμοποιείται για κωδικοποίηση καναλιού είναι μία συνάρτηση ή ισοδύναμα μια μία-προς-μία απεικόνιση στοιχείων από ένα σύνολο Α σε ένα σύνολο Β. Το σύνολο Α αποτελείται από τα στοιχεία τα οποία ονομάζουμε λέξεις πληροφορίας και συμβολίζουμε με ui όπου i= 1,2,,M, ενώ το σύνολο Β αποτελείται από τα στοιχεία τα οποία ονομάζουμε κωδικές λέξεις, ή codewords, και συμβολίζουμε με c i. Χωρίς βλάβη της γενικότητας, θεωρούμε ότι όλες οι λέξεις πληροφορίας έχουν σταθερό μήκος k ψηφίων. Το δυνατό πλήθος των λέξεων είναι Μ=2k (θεωρούμε ότι έχουμε δυαδικές λέξεις, δηλαδή τα ψηφία μπορούν να πάρουν την τιμή 0 ή 1). Εφόσον ορίσαμε τον κώδικα σαν μία-προς-μία απεικόνιση στοιχείων προκύπτει ότι και το πλήθος των κωδικών λέξεων θα είναι Μ. Γενικά όμως οι κωδικές λέξεις δεν είναι του ίδιου μήκους με τις λέξεις πληροφορίας αλλά μεγαλύτερου μήκους, έστω n, καθώς έχουν προστεθεί κάποια bits πλεονασμού. Συνεπώς, μόνο ένα μέρος (Μ για την ακρίβεια) των 2n δυνατών λέξεων (2n > 2k, αφού n>k) είναι κωδικές λέξεις, οι οποίες ονομάζονται έγκυρες κωδικές λέξεις. Γραμμικοί block κώδικες ονομάζονται οι κώδικες των οποίων το άθροισμα οποιονδήποτε έγκυρων κωδικών λέξεων είναι επίσης κωδική λέξη. Στην περίπτωση δυαδικού κώδικα αυτό σημαίνει πως το αποτέλεσμα της συνιστώσας-προς-συνιστώσα modulo-2 λογικής πράξης (ή ισοδύναμα XOR λογική) μεταξύ δύο κωδικών λέξεων, είναι επίσης κωδική λέξη. Μια πολύ χρήσιμη παρατήρηση είναι ότι σε όλους τους γραμμικούς κώδικες ανήκει η μηδενική λέξη, καθώς το άθροισμα μιας οποιασδήποτε έγκυρης κωδικής λέξης με τον εαυτό της μας δίνει τη μηδενική λέξη και σύμφωνα με τον ορισμό των γραμμικών κωδίκων, θα πρέπει και αυτή να είναι έγκυρη κωδική λέξη. Θεωρώντας το πρότυπο σύστημα επικοινωνιών που περιγράψαμε στο σχήμα 1.1, ο κωδικοποιητής καναλιού τροφοδοτείται από την έξοδο του κωδικοποιητή πηγής, ο οποίος παράγει σύμβολα με ένα σταθερό ρυθμό. Έτσι έχουμε στην έξοδο του κωδικοποιητή πηγής μια 30

31 συνεχόμενη ροή δεδομένων. Για τη λειτουργία όμως ενός γραμμικού block κωδικοποιητή, θα πρέπει η ροή αυτή να τεμαχιστεί σε πακέτα ή λέξεις σταθερού μήκους και μετά να επεξεργαστεί από τον κωδικοποιητή ενώ σε διαφορετικού τύπου κωδικοποιητές δεν είναι απαραίτητη η προϋπόθεση αυτή. Για αυτό το λόγο, γίνεται εμφανές ότι οι γραμμικοί block κώδικες οφείλουν το όνομά τους στο γεγονός ότι τα δεδομένα στην είσοδό τους πρέπει αυστηρώς να τεμαχίζονται σε λέξεις ή blocks σταθερού μήκους. Κατά απόλυτη αντιστοιχία, η έξοδος του κωδικοποιητή πηγής ενός γραμμικού block κώδικα είναι και αυτή στη μορφή λέξης σταθερού μήκους. Θεωρούμε ότι το μήκος της λέξης εισόδου στον κωδικοποιητή είναι k bits ενώ το μήκος της λέξης εξόδου είναι n bits, όπου k<n. Η μετατροπή της αρχικής λέξης των k bits (λέξη πληροφορίας) σε λέξη των n bits (κωδική λέξη) αποτελεί τη διαδικασία της κωδικοποίησης (encoding).αυτή πραγματοποιείται με την βοήθεια ενός k n δυαδικού πίνακα G, ο οποίος ονομάζεται γεννήτορας πίνακας του κώδικα. Η κωδική λέξη παράγεται με τον πολλαπλασιασμό της λέξης πληροφορίας με τον γεννήτορα πίνακα, κάτι το οποίο εκφράζεται με τον παρακάτω τύπο : ci = ui G Κάθε κωδική λέξη ci, λόγω του τρόπου δημιουργίας της που μόλις περιγράφηκε, έχει κάποια ιδιαίτερα χαρακτηριστικά. Αυτά μπορούμε να τα χαρακτηρίσουμε σαν την ικανοποίηση μιας σειράς εξισώσεων που ισοδύναμα καθορίζουν ποια από τις 2n δυνατές λέξεις μήκους n είναι έγκυρη κωδική λέξη. Συνθέτοντας όλες αυτές τις εξισώσεις που θα πρέπει να ικανοποιούν οι κωδικές λέξεις δημιουργούμε έναν πίνακα ο οποίος ονομάζεται πίνακας ελέγχου ισοτιμίας (parity check matrix) και συμβολίζεται με Η. Ο έλεγχος τώρα της εγκυρότητας μιας κωδικής λέξης γίνεται από την εξίσωση: ci H T = 0 Η επαναληπτική διαδικασία εύρεσης μιας κωδικής λέξης που να ικανοποιεί την παραπάνω εξίσωση αποτελεί τη διαδικασία της αποκωδικοποίησης, η οποία απαιτεί πολύ μεγαλύτερη υπολογιστική πολυπλοκότητα. 31

32 2.3 Αναπαράσταση LDPC κωδίκων Η αναπαράσταση των κωδίκων αυτών μπορεί να γίνει με δύο τρόπους. Είτε με τον πίνακα ελέγχου που περιγράφηκε παραπάνω, είτε με τη βοήθεια κάποιων γράφων οι οποίοι αναπαριστούν τη μετάδοση των μηνυμάτων και την ανταλλαγή της πληροφορίας μεταξύ των επεξεργαστικών μονάδων του κώδικα. Στη συνέχεια περιγράφουμε τις δύο αναπαραστάσεις ξεχωριστά: Στην αναπαράσταση του κώδικα με τον πίνακα ελέγχου ισοτιμίας, ο οποίος μπορεί να προσδιορίζει επακριβώς τον συγκεκριμένο κώδικα, έχουμε έναν δυαδικό πίνακα διαστάσεων ((n-k) x n) με το χαρακτηριστικό ότι έχει πολύ λίγα στοιχεία ίσα με τη μονάδα. Είναι δηλαδή αραιός. Ένα παράδειγμα ενός τέτοιου πίνακα φαίνεται στην παρακάτω εικόνα: Σχήμα 2.1: Πίνακας ελέγχου ισοτιμίας ενός LDPC κώδικα Κάθε γραμμή του πίνακα H αντιστοιχεί σε μία εξίσωση ελέγχου ισοτιμίας (parity check) και κάθε άσσος στη θέση (i,j) του πίνακα H, σημαίνει πως το j-στο σύμβολο δεδομένων συμμετέχει στην i-οστη εξίσωση ελέγχου ισοτιμίας. Δύο σημαντικά μεγέθη που πρέπει να λαμβάνονται υπόψη σε έναν πίνακα ελέγχου ισοτιμίας είναι το πλήθος των μη μηδενικών στοιχείων σε κάθε γραμμή του πίνακα, w r και το πλήθος των μη μηδενικών στοιχείων σε κάθε στήλη του πίνακα wc. Τα μεγέθη αυτά ονομάζονται βαθμός γραμμής και βαθμός στήλης αντίστοιχα. Για να μπορεί να χαρακτηριστεί ένας πίνακας ως χαμηλής-πυκνότητας πίνακας (low-density), θα πρέπει να ικανοποιούνται οι συνθήκες wc << n και wr << m. Για την ικανοποίηση των ανωτέρω 32

33 συνθηκών, ο πίνακας ελέγχου ισοτιμίας πρέπει να είναι αρκετά μεγάλος. Ο πίνακας που χρησιμοποιήσαμε παραπάνω δεν είναι αραιός αλλά χρησιμοποιείται μόνο για εποπτικούς λόγους. Ένας κώδικας LDPC του οποίου οι παράμετροι wc, wr είναι σταθερές για όλες τις στήλες και όλες τις γραμμές του πίνακα ισοτιμίας, όπως ο κώδικας του σχήματος 2.1, ονομάζεται κανονικός (regular). Υπάρχουν, ωστόσο, και κώδικες για τους οποίους δεν ισχύει κάτι τέτοιο. Αυτοί ανήκουν στην κατηγορία των μη κανονικών (irregular) κωδικών LDPC. Σε αυτή την περίπτωση, ο αριθμός των άσσων κάθε γραμμής ή κάθε στήλης, είναι συνάρτηση της γραμμής ή της στήλης, αντίστοιχα, και περιγράφεται συνήθως με συγκεκριμένα πολυώνυμα [9]. Αν και οι κανονικοί κώδικες έχουν απλούστερη υλοποίηση του αποκωδικοποιητή τους, οι μη κανονικοί κώδικες LDPC υπερτερούν ως προς την επίδοση. Ο δεύτερος τρόπος αναπαράστασης των LDPC κωδίκων προτάθηκε από τον Tanner [10], ο οποίος εισήγαγε τους γράφους Tanner και αποτελούν μια γραφική αναπαράσταση. Οι γράφοι Tanner (Tanner graphs) εκτός από το γεγονός ότι παρέχουν μία πλήρη περιγραφή του κώδικα, βοηθούν επίσης στην επεξήγηση του αλγόριθμου κωδικοποίησης που χρησιμοποιείται. Οι γράφοι Tanner ανήκουν στην κατηγορία των διμερών γράφων (bipartite graphs). Ένας γράφος ονομάζεται διμερής όταν οι κόμβοι του χωρίζονται σε δύο ομάδες και μόνο κόμβοι διαφορετικών ομάδων μπορούν να ενωθούν μεταξύ τους. Οι δύο τύποι κόμβων που υπάρχουν σε ένα γράφο Tanner για κώδικες LDPC ονομάζονται κόμβοι μεταβλητών (variable nodes), οι οποίοι συνήθως αναφέρονται ως VPUs και κόμβοι ελέγχου (check nodes), οι οποίοι συνήθως αναφέρονται ως CPUs. Ο γράφος Tanner ενός κώδικα σχεδιάζεται ακολουθώντας το εξής κανόνα: Ο i-οστός κόμβος ελέγχου συνδέεται με τον j-οστό κόμβο μεταβλητών μόνο όταν το στοιχείο hij του πίνακα ελέγχου ισοτιμίας, H, είναι ίσο με 1. Μπορούμε να συμπεράνουμε ότι ο γράφος περιλαμβάνει m = n-k κόμβους ελέγχου, έναν για κάθε ψηφίο ελέγχου, και n κόμβους μεταβλητών, έναν για κάθε ψηφίο της κωδικής λέξης. Επιπλέον, οι m γραμμές του πίνακα H ορίζουν m συνδέσεις κόμβων ελέγχου και οι n στήλες ορίζουν n συνδέσεις 33

34 κόμβων μεταβλητών. Στο σχήμα που ακολουθεί παρουσιάζεται ο γράφος του κώδικα που αντιστοιχεί στον πίνακα H του προηγούμενου σχήματος. Σχήμα 2.2: Γραφική αναπαράσταση ενός LDPC κώδικα με τη Βοήθεια του Tanner graph Ένα πολύ σημαντικό χαρακτηριστικό ενός διαγράμματος Tanner είναι η ύπαρξη κύκλων. Ένας κύκλος μήκους g είναι μία κλειστή διαδρομή η οποία περιλαμβάνει g το πλήθος ακμές. Η παρουσία κύκλων στο διάγραμμα Tanner ενός κώδικα είναι ανεπιθύμητη, διότι περιορίζει την απόδοση της αποκωδικοποίησης [11], πλην όμως ανέφικτη, καθώς η απουσία κύκλων προϋποθέτει απόλυτη ανεξαρτησία μεταξύ των bits που ελέγχει η κάθε γραμμή του πίνακα ισοτιμίας. Δεδομένου ότι η αποφυγή των κύκλων δεν είναι δυνατή, επιδιώκεται η παρουσία κύκλων με το μέγιστο δυνατό μήκος. Το μήκος όμως των κύκλων είναι ανάλογο των διαστάσεων του πίνακα ισοτιμίας, γεγονός που θέτει όρια στο μέγιστο δυνατό τους μήκος. Ο μικρότερος κύκλος που μπορεί να εμφανισθεί είναι ένας κύκλος μήκους 4. Το μήκος του μικρότερου κύκλου ενός κώδικα είναι εκείνο που μας ενδιαφέρει κυρίως, και για το λόγο αυτό αποτελεί χαρακτηριστικό του κώδικα και ονομάζεται girth. 34

35 2.4 Κατηγορίες LDPC κωδίκων Μέχρι στιγμής, οι πίνακες ισοτιμίας Η που παρουσιάσαμε, οι οποίοι χαρακτηρίζουν έναν μοναδικό κώδικα, δεν υπακούν σε κάποιο ειδικό κριτήριο κατασκευής, δηλαδή τοποθέτησης των άσσων στον πίνακα. Πολλές εργασίες [12] έχουν εκπονηθούν για τον τρόπο δημιουργίας του πίνακα ισοτιμίας και την καταλληλότερη τοποθέτηση των άσσων ώστε να επιτυγχάνεται η βέλτιστη διορθωτική απόδοση του πίνακα. Μια από τις τεχνικές οι οποίες παράγουν εξαιρετικά καλούς πίνακες ισοτιμίας είναι η τυχαία τοποθέτηση των άσσων, με προϋπόθεση πάντοτε να μη δημιουργούνται κύκλοι μικρού μήκους. Παρόλο που αυτή η μέθοδος καταλήγει σε πολύ αποδοτικούς πίνακες ισοτιμίας, η υλοποίηση αυτών σε υλικό είναι αρκετά δύσκολη λόγω της τυχαίας σύνδεσης των επιμέρους επεξεργαστικών μονάδων. Αυτό επιτείνει το πρόβλημα διασύνδεσης κατά τη διάρκεια της υλοποίησης του κωδικοποιητή και του αποκωδικοποιητή καναλιού. Σχήμα 2.3: Πίνακας ελέγχου ισοτιμίας δημιουργημένος με τυχαίο τρόπο Για αυτό το λόγο, έχουν προταθεί τρόποι δημιουργίας πινάκων ελέγχου ισοτιμίας οι οποίοι εμφανίζουν κάποια μορφή κανονικότητας στη μετάδοση των ενδιάμεσων μηνυμάτων μεταξύ των κόμβων [13]. Η υιοθέτηση δομής από τους πίνακες όμως έχει σαν αποτέλεσμα μια μικρή μείωση στην απόδοση του κώδικα τον οποίο αντιπροσωπεύουν. Πολλές φορές όμως το πλεονέκτημα που αποκτούν οι πίνακες αυτοί σχετικά με την καταλληλότητά τους ως προς την υλοποίηση σε υλικό τους καθιστά ιδιαίτερα ελκυστικούς. 35

36 Μια ειδική κατηγορία LDPC κωδίκων, σύμφωνα με την παραπάνω λογική, είναι η κατηγορία των κυκλικών κωδίκων [14]. Γενικά κυκλικός ονομάζεται κάποιος γραμμικός κώδικας του οποίου οποιαδήποτε κυκλικά μετατοπισμένη κατά αυθαίρετο αριθμό κωδική λέξη είναι επίσης κωδική λέξη του ίδιου κώδικα. Λαμβάνοντας υπόψη το χαρακτηριστικό αυτό, η μορφή ενός πίνακα ελέγχου ισοτιμίας ενός κυκλικού κώδικα θα έχει τη μορφή που φαίνεται στο σχήμα 2.4, η οποία μπορεί να θεωρηθεί ως η υπέρθεση πολλών μετατοπισμένων μοναδιαίων πινάκων. Ο περιορισμός σε αυτή τη μορφή τετραγωνικού πίνακα επιφέρει μια μικρή μείωση στην απόδοση του κώδικα αλλά οδηγεί σε γραμμική πολυπλοκότητα κωδικοποίησης σε σχέση με το μήκος της λέξης και για την υλοποίηση σε υλικό του κώδικα αυτού μπορούν να χρησιμοποιηθούν καταχωρητές ολίσθησης, αντικαθιστώντας πολύπλοκα κυκλώματα και διασυνδέσεις. Σχήμα 2.4: Πίνακας ελέγχου ισοτιμίας ενός κυκλικού κώδικα Μια άλλη γενικότερη κατηγορία LDPC κωδίκων, οι οποίοι χρησιμοποιούνται σε αρκετές σύγχρονες τηλεπικοινωνιακές εφαρμογές, είναι οι λεγόμενοι Quasi-Cyclic κώδικες. Ένας κώδικας λέμε ότι ανήκει σε αυτή την κατηγορία αν κάθε κυκλικά μετατοπισμένη κωδική λέξη κατά ένα συγκεκριμένο αριθμό είναι επίσης κωδική λέξη του κώδικα αυτού. Ο παραπάνω ορισμός υποδεικνύει (αποδεικνύεται και μαθηματικά [14]) ότι ο πίνακας ελέγχου ισοτιμίας ενός τέτοιου κώδικα θα αποτελείται από επιμέρους τετραγωνικούς κυκλικούς πίνακες. Στους υποπίνακες αυτούς δεν αποκλείεται να είναι και ο μηδενικός πίνακας. 36

37 Σχήμα 2.5: Πίνακας ελέγχου ισοτιμίας ενός Quasi-Cyclic κώδικα Μια συμπαγής αναπαράσταση αυτών των πινάκων είναι να συμβολίζουμε κάθε κυκλικό υποπίνακα με ένα σύνολο ακέραιων θετικών αριθμών που αντιπροσωπεύουν το βαθμό μετατόπισης των μοναδιαίων πινάκων από τους οποίους συντίθεται κάθε κυκλικός πίνακας και με έναν ακέραιο αρνητικό αριθμό κάθε μηδενικό υποπίνακα. Ένα παράδειγμα αυτής της αναπαράστασης φαίνεται στην παρακάτω εικόνα: Σχήμα 2.6: Quasi-Cyclic πίνακας και η αντίστοιχη συνεπτυγμένη αναπαράσταση αυτού Μια ειδική κατηγορία Quasi-Cyclic κωδίκων είναι οι κώδικες των οποίων οι πίνακες ελέγχου ισοτιμίας αποτελούνται μόνο από κυκλικά μετατοπισμένους μοναδιαίους πίνακες και όχι 37

38 υπέρθεση μοναδιαίων πινάκων. Αυτή την κατηγορία κωδίκων τη συμβολίζουμε ως CPAstructured κώδικες. Το μεγάλο πλεονέκτημα αυτών των κωδίκων είναι η εξαιρετικά κατάλληλη μορφή των πινάκων ελέγχου ισοτιμίας, οι οποίοι οδηγούν σε εύκολα υλοποιούμενα κυκλώματα στη μεριά του αποκωδικοποιητή. Πιο συγκεκριμένα, για την επικοινωνία των variable και check κόμβων χρησιμοποιούνται ειδικά κυκλώματα (barrel shifters) τα οποία διευκολύνουν κατά πολύ τη μείωση του προβλήματος διασύνδεσης. Σχήμα 2.7: Πίνακας ελέγχου ισοτιμίας ενός CPA-structured κώδικα Αν επιτρέψουμε σε μερικούς από τους υποπίνακες που συνθέτουν τον πίνακα ελέγχου ισοτιμίας της παραπάνω κατηγορίας να είναι μηδενικοί πίνακες, τότε δημιουργούμε μια νέα υποκατηγορία κωδίκων, την οποία συμβολίζουμε ως CPA-like-structured κώδικες ή CPA*-structured κώδικες. Η δομή των πινάκων αυτών είναι ιδιαίτερα χρήσιμη καθώς κώδικες αυτής της μορφής χρησιμοποιούνται κατά κόρον σε εφαρμογές που απαιτείται πολύ υψηλό throughput όπως στα πρότυπα (WiFi), e(WiMax) και πολλά άλλα. Σχήμα 2.8: Πίνακας ελέγχου ισοτιμίας ενός CPA*-structured κώδικα 38

39 Συνοπτικά, όλες οι ειδικές κατηγορίες κωδίκων που περιγράψαμε και εμφανίζουν κάποια κανονικότητα στη δομή του πίνακα ελέγχου ισοτιμίας τους φαίνονται στο παρακάτω σχήμα: Σχήμα 2.9: Κατηγορίες κωδίκων με ειδική μορφή πίνακα ελέγχου ισοτιμίας 2.5 Απόδοση των LDPC κωδίκων Η εξαιρετική απόδοση των συγκεκριμένων κωδίκων αποτελεί ένα πολύ μεγάλο κίνητρο για την υιοθέτησή τους σε πληθώρα εφαρμογών και προτύπων επικοινωνιών. Στο παρακάτω διάγραμμα φαίνεται η πιθανότητα σφάλματος (BER) συναρτήσει του λόγου σήματος προς θόρυβο (SNR), όπως παρουσιάζεται στο [15]: 39

40 Σχήμα 2.10: Απόδοση ενός LDPC κώδικα Παρατηρούμε ότι σε περιοχές εξαιρετικά χαμηλού λόγου σήματος προς θόρυβο η απόδοση είναι κάτι παραπάνω από ικανοποιητική. Να σημειωθεί σε αυτό το σημείο ότι γενικά η απόδοση των κωδίκων εξαρτάται από πολλούς παράγοντες όπως η επιλογή του αλγόριθμου αποκωδικοποίησης, ο αριθμός των επαναλήψεων, το μήκος του κώδικα που χρησιμοποιείται, η fixed-point αναπαράσταση των μηνυμάτων και αρκετές άλλες παραμέτρους. Στη συνέχεια ακολουθούν κάποια διαγράμματα [16] τα οποία δείχνουν την επίδραση των παραγόντων αυτών στη συνολική απόδοση του κώδικα. 40

41 Σχήμα 2.11: Απόδοση για ένα δεδομένο κώδικα συναρτήσει διαφορετικών αλγορίθμων αποκωδικοποίησης Σχήμα 2.12: Απόδοση ενός LDPC κώδικα 1536 bits συναρτήσει διαφορετικού αριθμού μέγιστων επαναλήψεων του αλγόριθμου αποκωδικοποίησης 41

42 Σχήμα 2.13: Απόδοση ενός LDPC κώδικα 768 bits συναρτήσει χρησιμοποιώντας διαφορετικό αριθμό ψηφίων για την αναπαράσταση των μηνυμάτων 42

43 ΚΕΦΑΛΑΙΟ 3ο ΑΛΓΟΡΙΘΜΟΙ ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗΣ ΚΩΔΙΚΩΝ LDPC Στο κεφάλαιο αυτό παρουσιάζουμε τους βασικούς αλγόριθμους που χρησιμοποιούνται στην αποκωδικοποίηση των κωδίκων LDPC, τονίζοντας τα βασικά χαρακτηριστικά τους καθώς και την καταλληλότητά τους όσον αφορά την υλοποίηση. Η απαίτηση για πολύ αποδοτικούς αλγορίθμους και ταυτόχρονα εύκολους υλοποιήσιμους είναι αντιφατική και χρειάζεται μια πολύ καλή γνώση τόσο των λεπτομερειών των κωδίκων όσο και των απαιτήσεων της εκάστοτε εφαρμογής για την επίτευξη του βέλτιστου αποτελέσματος. Εξαιρετικά αποδοτικοί αλγόριθμοι απαιτούν πολύ μεγάλη πολυπλοκότητα κάτι το οποίο δεν είναι πάντα επιθυμητό ή και επιτρεπτό σε πραγματικές υλοποιήσεις. 3.1 Αλγόριθμοι αποκωδικοποίησης Η κατηγορία των αλγόριθμων αποκωδικοποίησης που χρησιμοποιούνται για να αποκωδικοποιήσουν LDPC κώδικες ονομάζονται message-passing αλγόριθμοι καθώς η λειτουργία τους μπορεί να περιγραφεί από την διαδοχική ανταλλαγή μηνυμάτων μεταξύ των 2 ειδών κόμβων του αποκωδικοποιητή, των check και των variable κόμβων [12]. Με αυτό τον τρόπο ο αποκωδικοποιητής, έχοντας μια αρχική εκτίμηση από το κανάλι για τα πληροφοριακά ψηφία και εκτελώντας κάποιους υπολογισμούς σε αυτούς τους κόμβους, βελτιώνει την εκτίμησή του με κριτήριο πάντα να ικανοποιηθούν όλες οι εξισώσεις ελέγχου ισοτιμίας. Συνεπώς, οι 43

44 αλγόριθμοι αποκωδικοποίησης LDPC κωδίκων είναι επαναληπτικοί αλγόριθμοι οι οποίοι εκτελώντας διαδοχικά κάποιες πράξεις στους κόμβους προσπαθούν να ανακαλύψουν την απεσταλμένη λέξη, δηλαδή να συγκλίνουν μετά από έναν αριθμό επαναλήψεων σε έγκυρες κωδικές λέξεις. Παρατηρούμε ότι υπάρχει μια απόλυτη αντιστοιχία μεταξύ του κυκλώματος που θα μπορούσε να υλοποιήσει τους message-passing αλγόριθμους και του διαγράμματος Tanner ενός κώδικα. Το κύκλωμα αυτό θα μπορούσε να αποτελείται από δύο ειδών υπολογιστικές μονάδες, έναν τύπο για τους κόμβους ελέγχου (Check Processing Unit - CPU) και έναν για τους κόμβους μεταβλητής (Variable Processing Unit - VPU). Κάθε κόμβος του διαγράμματος Tanner αντιστοιχεί σε μία επεξεργαστική μονάδα του αντίστοιχου τύπου. Μεταξύ των δύο τύπων υπολογιστικών μονάδων ανταλλάσσονται εκτιμήσεις-μηνύματα, τις οποίες και επεξεργάζονται. Η διαδικασία αυτή είναι επαναληπτική. Ο τρόπος επεξεργασίας των εκτιμήσεων καθορίζεται από τον χρησιμοποιούμενο αλγόριθμο αποκωδικοποίησης. Στη συνέχεια φαίνονται οι 2 φάσεις της διαδικασίας αποκωδικοποίησης με τη βοήθεια του Tanner διαγράμματος. Σχήμα 3.1: 1η φάση της διαδικασίας επανάληψης ενός αλγόριθμου αποκωδικοποίησης 44

45 Σχήμα 3.2: 2η φάση της διαδικασίας επανάληψης ενός αλγόριθμου αποκωδικοποίησης Υπάρχουν πολλές κατηγορίες message-passing αλγορίθμων ανάλογα με τις διεργασίες που εκτελούνται σε κάθε κόμβο και την δομή των μηνυμάτων που αποστέλλονται ανάμεσα σε αυτούς, δίνοντας έτσι ένα trade-off μεταξύ απόδοσης και κόστους υλοποίησης του αλγόριθμου αποκωδικοποίησης. Ανάλογα με τις απαιτήσεις της εκάστοτε εφαρμογής θα πρέπει να επιλέγεται ο κατάλληλος αλγόριθμος με σκοπό την επίτευξη του επιθυμητού αποτελέσματος. Γίνεται λοιπόν σαφές πως η επιλογή του αλγόριθμου είναι καθοριστική τόσο για τη συνολική απόδοση του αποκωδικοποιητή όσο και για τις απαιτήσεις υλοποίησης αυτού. Ακόμη και μετά την επιλογή του αλγορίθμου, όπως θα γίνει σαφές στη συνέχεια, υπάρχουν πολλές παράμετροι οι οποίες απαιτούνται να καθοριστούν και έχουν πολύ μεγάλη σημασία. Μια πρώτη διάκριση των αλγορίθμων αποκωδικοποίησης LDPC κωδίκων γίνεται με βάση το κριτήριο αν τα μηνύματα που ανταλλάσσονται μεταξύ check και variable κόμβων καθώς και η πληροφορία από το κανάλι κβαντίζονται σε ποσότητες του ενός bit ή έχουν μεγαλύτερη ακρίβεια. Στην πρώτη περίπτωση οι αλγόριθμοι αποκωδικοποίησης, οι οποίοι ονομάζονται bit-flipping αλγόριθμοι, λέμε ότι διαχειρίζονται hard information, με τη λογική ότι η ποσότητα του ενός bit μπορεί να αντιπροσωπεύσει μόνο 2 τιμές, το λογικό 0 και 1. Έτσι, λαμβάνοντας κάποια τιμή από το κανάλι η οποία αντιπροσωπεύει την τιμή του αντίστοιχου ψηφίου, κρατάμε μόνο το πιο σημαντικό ψηφίο αυτής και ξεκινούμε τη διαδικασία της αποκωδικοποίησης. Για παράδειγμα, σε κανάλι με διαμόρφωση BPSK, έστω ότι στέλνουμε διαδοχικά τα εξής 3 ψηφία: +1, -1 και +1. Στο δέκτη, λόγω του θορύβου κατά τη μετάδοση, λαμβάνουμε τις εξής αλλοιωμένες τιμές 45

46 των ψηφίων: +0.86, και Σε αυτή την κατηγορία κωδίκων αποκωδικοποίησης πρέπει να κρατήσουμε μόνο ένα ψηφίο για την αναπαράσταση της αρχικής πληροφορίας. Αυτό επιτυγχάνεται κρατώντας μόνο το πρόσημο της κάθε τιμής. Φυσικά, η ενέργεια αυτή έχει ως αποτέλεσμα να μην αξιοποιήσουμε όλη τη ληφθείσα πληροφορία, με συνέπεια μια υποβάθμιση στην απόδοση του αλγορίθμου. Με αυτή τη μέθοδο όμως προκύπτουν κυκλώματα αποκωδικοποιητών τα οποία εμφανίζουν μικρότερη πολυπλοκότητα και λιγότερες απαιτήσεις σε επιφάνεια ολοκλήρωσης (επεξεργαστικές μονάδες, μνήμες κ.α.) σε σχέση με τους αλγόριθμους της επόμενης κατηγορίας. Στην δεύτερη περίπτωση, κατά απόλυτη αντιστοιχία, λέμε ότι οι αλγόριθμοι διαχειρίζονται soft information καθώς η ποσότητα της μεταβιβαζόμενης πληροφορίας-μήνυμα από το κανάλι στον αποκωδικοποιητή και μεταξύ των επεξεργαστικών μονάδων κβαντίζεται σε περισσότερα επίπεδα χρησιμοποιώντας περισσότερα ψηφία. Η απόδοση των αλγορίθμων αυτών είναι σαφώς ανώτερη αυτής των αλγορίθμων της πρώτης κατηγορίας καθώς αξιοποιούν μεγαλύτερο μέρος της αρχικής πληροφορίας, απαιτούν όμως πολύ μεγαλύτερη υπολογιστική ισχύ για να εκτελεστούν κάτι το οποίο οδηγεί σε μεγαλύτερο αριθμό υπολογιστικών μονάδων και απαιτούμενης μνήμης. Οι bit-flipping αλγόριθμοι χρησιμοποιούνται σε εφαρμογές που απαιτούν πολύ μικρή πολυπλοκότητα από την πλευρά της υλοποίησης. Στην παρούσα διπλωματική, λόγω της απαίτησης για υψηλής απόδοσης επικοινωνίες, εξετάζουμε μόνο τους αλγόριθμους της δεύτερης κατηγορίας. Στις επόμενες παραγράφους παρουσιάζουμε τους 3 βασικότερους message-passing αλγόριθμους. Κάθε ένας από αυτούς τους αλγόριθμους είναι επαναληπτικοί και διακρίνονται σε 4 στάδια. Το πρώτο στάδιο είναι η αρχικοποίηση των μηνυμάτων (Qvc) βάσει της πληροφορίας που δέχεται ο αποκωδικοποιητής από το κανάλι. Το δεύτερο στάδιο περιλαμβάνει τον υπολογισμό των μηνυμάτων (Rcv) που θα στείλουν οι check nodes στους variable nodes. Στο τρίτο στάδιο γίνεται ο υπολογισμός των μηνυμάτων (Qvc) τα οποία οι variable nodes θα στείλουν στους check nodes. Το τέταρτο και τελευταίο στάδιο συνίσταται στην λήψη μιας απόφασης σχετικά με την τιμή κάθε bit και έπειτα τον έλεγχο της εγκυρότητας όλης της λέξης. Σε περίπτωση εύρεσης σωστής λέξης ο αλγόριθμος σταματά ενώ, σε αντίθετη περίπτωση, επαναλαμβάνονται τα 4 στάδια έως ότου βρεθεί έγκυρη λέξη ή εκτελεστεί ένας προκαθορισμένος αριθμός επαναλήψεων. 46

47 3.2 Αλγόριθμος Sum-Product in Log-Domain Ο πρώτος αλγόριθμος, ο οποίος ονομάζεται Sum-Product in Log-Domain, υλοποιείται στο πεδίο των λογαρίθμων καθώς με αυτό τον τρόπο μπορούμε να μετατρέψουμε τους πολλαπλασιασμούς σε προσθέσεις, κάτι το οποίο διευκολύνει πάρα πολύ την υλοποίηση του συγκεκριμένου αλγορίθμου. Για την περίπτωση καναλιού AWGN και διαμόρφωσης BPSK, αποτελείται από τα εξής βήματα: Αρχικοποίηση των μηνυμάτων Qvc: Qvc0 = log p ( x = 0 yn ) = LLRv, p ( x = 1 yn ) όπου yc είναι η τιμή του λαμβανόμενου συμβόλου. Υπολογισμός των μηνυμάτων Rcv: Υπολογισμός του μηνύματος Rncv, τo οποίο στέλνει ο check node c στον variable node v κατά τη n-ιοστή επανάληψη του αλγορίθμου: Rcvn = sign(qvn' c1 ) * Φ( v ' Svc ( : v ) v ' Svc ( : v ) Φ(Qvn' c1 )), c όπου v ' S v ( : c ) συμβολίζει το σύνολο των variable nodes, εκτός του v, με τους οποίους συνδέεται ο check node c. Η συνάρτηση Φ() είναι μια σύνθετη συνάρτηση η οποία δίνεται από τη σχέση: Φ ( x) = log(tanh( x ex + 1 )) = log ( x ) 2 e 1 Η υλοποίηση της σχέσης αυτής σε υλικό είναι σχετικά πολύπλοκη, κάτι που αυξάνει αρκετά το βαθμό πολυπλοκότητας του check node. Για αυτό το λόγο συχνά προτιμάται να υλοποιηθεί με τη χρήση μνημών (Look-up-tables), μειώνοντας αισθητά την πολυπλοκότητα. Λόγω όμως της 47

48 συμμετρίας που παρουσιάζει και η οποία φαίνεται στο παρακάτω διάγραμμα [17], η απαιτούμενη μνήμη για την υλοποίηση αυτής υποδιπλασιάζεται. Σχήμα 3.3: Γραφική παράσταση της συνάρτησης Φ(). Υπολογισμός των μηνυμάτων Qvc: Υπολογισμός του μηνύματος Qnvc, τo οποίο στέλνει ο variable node v στον check node c κατά τη n-ιοστή επανάληψη του αλγορίθμου: Qvcn = LLRv + όπου v c ' S c (~ c ) c ' Scv (~ c ) Rcn' v, συμβολίζει το σύνολο των check nodes, εκτός του c, με τους οποίους συνδέεται ο variable node v. 48

49 Λήψη απόφασης Ο κάθε variable node, ο οποίος αντιστοιχεί σε ένα bit, εξάγει μια εκτίμηση σύμφωνα με τη σχέση: Qv = R c ' Scv n c 'v + LLRv όπου λαμβάνονται υπόψη όλα τα μηνύματα τα οποία λαμβάνει ο variable node. Βάσει της τιμής της ποσότητας Qv παίρνεται μία hard απόφαση, και συγκεκριμένα : bv = 1, Qv 0 ή bv = 0, Qv 0. Αντίστοιχη απόφαση λαμβάνεται για όλα τα bits της κωδικής λέξης. Σε περίπτωση που η προκύπτουσα κωδική λέξη είναι έγκυρη ο αλγόριθμος τερματίζει και η συγκεκριμένη κωδική λέξη αποτελεί την αποκωδικοποιημένη. Διαφορετικά, επαναλαμβάνεται η διαδικασία από το στάδιο του υπολογισμού των μηνυμάτων των check nodes. 3.3 Αλγόριθμος Min-Sum Ο αλγόριθμος Min-Sum(MS) διαφέρει από τον log SP μόνο στο στάδιο του υπολογισμού των μηνυμάτων των check nodes Η συνάρτηση Φ, είναι μία γνησίως φθίνουσα συνάρτηση. Όπως φαίνεται και από το Σχήμα 3.2, για μικρές τιμές του ορίσματος εισόδου της, παίρνει μεγάλες τιμές, ενώ για μεγαλύτερες εισόδους παίρνει πολύ μικρότερες τιμές. Λόγω αυτής της ιδιότητας, στο άθροισμα της σχέσης (3.2) κυριαρχεί το μικρότερο από τα μηνύματα Qvc. Μπορούμε, επομένως, να απλοποιήσουμε το άθροισμα προσεγγίζοντάς το με τον μικρότερο από τους όρους του. Έτσι οδηγούμαστε στη σχέση υπολογισμού των μηνυμάτων από τους check nodes στους variable nodes: 49

50 Rcvn = sign(qvn' c1 ) * Φ ( n 1 sign(qvn' c1 ) * min ( Q v 'c ) c v ' Svc ( : v ) Rcvn = v ' Svc ( : v ) v ' Svc ( : v ) Φ (Qvn' c1 )) v ' Sv ( : v ) Τα υπόλοιπα στάδια του αλγόριθμου είναι ακριβώς ίδια με αυτά του Sum-Product.. Η προσέγγιση που κάναμε στην παραπάνω σχέση έχει προφανώς επίπτωση στην απόδοση του αποκωδικοποιητή μας αλλά μας απαλλάσσει από την απαιτητική ως προς την υλοποίηση συνάρτηση Φ(). 3.4 Αλγόριθμος Modified-Min-Sum Παρατηρώντας με ακρίβεια την προσέγγιση: Φ( v ' Svc ( : v ) Φ(Qvn' c1 )) min ( Qvn' c1 ) c v ' Sv ( : v ) και κάνοντας χρήση της γραφικής παράστασης της Φ(), διαπιστώνουμε ακόμη και διαισθητικά ότι η προσέγγιση αυτή είναι μια υπερεκτίμηση της αρχικής ποσότητας. Αυτό όπως είπαμε, προκαλεί τη μείωση της απόδοσης του Min-Sum αλγορίθμου σε σχέση με αυτή του SumProduct. Για αυτό το λόγο μπορούμε να κάνουμε ένα scaling στην ποσότητα αυτή, προσεγγίζοντας με αυτό τον τρόπο την αρχική ποσότητα και μειώνοντας έτσι την απώλεια απόδοσης. Συνεπώς, η τροποποιημένη σχέση που γίνεται ο υπολογισμός των μηνυμάτων από τους check nodes στους variable nodes δίνεται από την παρακάτω σχέση: Rcvn = v ' Svc ( : v ) sign(qvn' c1 ) *(a * min ( Qvn' c1 )), c v ' Sv ( : v ) όπου α είναι η παράμετρος που κάνουμε το scaling. Πολλές εργασίες έχουν γίνει για τον προσδιορισμό της ποσότητας αυτής και έχουν δείξει ότι μια τιμή κοντά στο 0.8 οδηγεί σε αρκετά ικανοποιητικά αποτελέσματα. Η βέλτιστη τιμή της παραμέτρου αυτής όμως θα πρέπει να 50

51 βρίσκεται κατόπιν εξομοιώσεων για κάθε αλγόριθμο καθώς εξαρτάται από τα συγκεκριμένα χαρακτηριστικά αυτού. Μια συγκριτική μελέτη των παραπάνω αλγορίθμων φαίνεται στο παρακάτω σχήμα [16] στο οποίο παρουσιάζονται οι αποδόσεις των 3 αλγορίθμων που μόλις περιγράψαμε: Σχήμα 3.4: Σύγκριση της διορθωτικής ικανότητας των αλγορίθμων αποκωδικοποίησης Άξιο αναφοράς είναι η πολύ καλή απόδοση του αλγορίθμου Modified-Min-Sum ο οποίος βρίσκεται πολύ κοντά στον Sum-Product στις χαμηλές τιμές (κάτω από 2 db) του λόγου σήματος προς θόρυβο και είναι καλύτερος για μεγαλύτερες τιμές. Αυτό εξηγείται από το γεγονός ότι η συνάρτηση Φ() (και κατά συνέπεια ο αλγόριθμος Sum-Product) είναι ευαίσθητη σε σφάλματα κβαντισμού και έτσι, λόγω του περιορισμένου εύρους αναπαράστασης, ο αλγόριθμος Sum-Product είναι ελαφρός χειρότερος του Modified-Min-Sum. 51

52 52

53 ΚΕΦΑΛΑΙΟ 4ο ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΛΟΠΟΙΗΣΗΣ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΩΝ LDPC Στο κεφάλαιο αυτό παρουσιάζουμε τις βασικές αρχιτεκτονικές υλοποίησης αποκωδικοποιητών LDPC. Ένα από τα μεγάλα πλεονεκτήματα των κωδίκων αυτών είναι ο παραλληλισμός της διαδικασίας αποκωδικοποίησης. Αυτό έχει σαν αποτέλεσμα, ανάλογα με το βαθμό παραλληλισμού του αποκωδικοποιητή, να έχουμε και διαφορετικές αρχιτεκτονικές. Η επιλογή του βαθμού παραλληλισμού και κατ επέκταση της αρχιτεκτονικής καθορίζει κατά μεγάλο μέρος το throughput του αποκωδικοποιητή, την πολυπλοκότητα, την ευελιξία, την κατανάλωση ενέργειας καθώς και την απαιτούμενη επιφάνεια ολοκλήρωσης αυτού. Πολύ καλή γνώση των αρχιτεκτονικών αυτών οδηγεί σε μια κατάλληλα καθορισμένη υλοποίηση η οποία ικανοποιεί τις απαιτήσεις της εφαρμογής. 4.1 Αρχιτεκτονικές αποκωδικοποιητών LDPC Ένας LDPC decoder ο οποίος υλοποιεί κάποιον από τους message-passing αλγορίθμους που περιγράψαμε στο προηγούμενο κεφάλαιο μπορεί να υλοποιηθεί σειριακά,πλήρως παράλληλα ή και μερικώς παράλληλα. Ο αριθμός και οι συνδέσεις μεταξύ των επεξεργαστικών μονάδων καθορίζουν τον παραλληλισμό της εκάστοτε αρχιτεκτονικής, ο οποίος αποτελεί ρυθμιστικό 53

54 παράγοντα του trade-off μεταξύ απαιτούμενης επιφάνειας (area), ταχύτητας αποκωδικοποίησης (throughput), κατανάλωσης ενέργειας (energy consumption) και ευελιξίας (flexibility) [11]. Ένα από τα μεγάλα πλεονεκτήματα των αποκωδικοποιητών LDPC, οι οποίοι θεωρούνται εξαιρετικά κατάλληλοι για υλοποιήσεις σε υλικό, είναι η δυνατότητα επιλογής του βαθμού παραλληλισμού ανάλογα με τις απαιτήσεις της εκάστοτε εφαρμογής. Λέγοντας παραλληλισμό εννοούμε το ποσοστό των variable και check κόμβων τους οποίους υλοποιούμε στο υλικό σε σχέση με το συνολικό αριθμό αυτών. Έτσι, ανάλογα με το βαθμό παραλληλισμού της κάθε υλοποίησης, οδηγούμαστε στις ακόλουθες κατηγορίες αρχιτεκτονικών τις οποίες περιγράφουμε στη συνέχεια. 4.2 Πλήρως παράλληλη υλοποίηση Στο ένα άκρο βρίσκονται οι πλήρως παράλληλες υλοποιήσεις. Μια αρχιτεκτονική αυτής της κατηγορίας ουσιαστικά αντιστοιχεί σε υλοποίηση σε υλικό όλων των variable και check κόμβων του διαγράμματος Tanner καθώς και σε απευθείας σύνδεση όλων των κόμβων που ορίζουν οι ακμές του διαγράμματος [17]. Το μεγάλο πλεονέκτημα των αρχιτεκτονικών αυτών είναι ότι οδηγούν σε υλοποιήσεις με εξαιρετικά υψηλό throughput. Αυτό το επιτυγχάνουν καθώς χρειάζονται μόνο δύο κύκλους ρολογιού για την εκτέλεση μιας πλήρης επανάληψης. Έναν κύκλο για τον υπολογισμό των variable-προς-check μηνυμάτων και έναν για τον υπολογισμό των check-προς-variable μηνυμάτων. Έτσι επιτυγχάνουν το μέγιστο throughput από όλες τις αρχιτεκτονικές. Επίσης οι πλήρως παράλληλες αρχιτεκτονικές δεν έχουν μεγάλες απαιτήσεις σε μνήμη καθώς η αποστολή των μηνυμάτων γίνεται αμέσως δίχως να χρειάζεται να αποθηκευτούν σε ενδιάμεσες θέσεις μνήμης. Ακόμη, η κεντρική μονάδα ελέγχου είναι σχετικά μικρής πολυπλοκότητας καθώς είναι επιφορτισμένη κυρίως με τον έλεγχο για εγκυρότητα της αποκωδικοποιούμενης λέξης και όχι με την διευθυνσιοδότηση μηνυμάτων από και προς τους διάφορους κόμβους. Μειονέκτημα της αρχιτεκτονικής αυτής είναι ότι απαιτεί μεγάλη επιφάνεια ολοκλήρωσης καθώς υλοποιούνται όλοι οι κόμβοι του κώδικα. Επίσης, λόγω της απευθείας διασύνδεσης των κόμβων του κυκλώματος, η οποία πολλές φορές δεν παρουσιάζει κάποια ομοιομορφία, οι αρχιτεκτονικές αυτές εμφανίζουν πρόβλημα δρομολόγησης των καλωδίων πάνω στην επιφάνεια ολοκλήρωσης, κάνοντας εξαιρετικά δύσκολη τη σύνδεση των κόμβων του κυκλώματος και καταναλώνοντας ένα μεγάλο ποσοστό της επιφάνειας μόνο για αυτό το σκοπό. 54

55 Όπως αναφέραμε και προηγουμένως, μια πλήρως παράλληλη υλοποίηση υλοποιεί όλες τις επεξεργαστικές μονάδες ενός διαγράμματος Tanner. Συνεπώς παρατηρούμε ότι υπάρχει μια ακριβής αντιστοιχία μεταξύ ενός συγκεκριμένου Tanner διαγράμματος και των επεξεργαστικών μονάδων και διασυνδέσεων που υπάρχουν στο υλικό. Σχήμα 4.1: Τanner διάγραμμα ενός κώδικα και το κύκλωμα αποκωδικοποίησης πλήρως παράλληλης αρχιτεκτονικής σε απόλυτη αντιστοιχία αυτού. Αυτό έχει σαν αποτέλεσμα οι πλήρως παράλληλες υλοποιήσεις να μη μπορούν να υποστηρίξουν διαφορετικούς κώδικες που αντιστοιχούν σε διαφορετικά ή παραπλήσια διαγράμματα Tanner 55

56 και έτσι να μην παρουσιάζουν το χαρακτηριστικό της ευελιξίας (flexibility), κάτι το οποίο είναι σε πολλές περιπτώσεις επιθυμητό. Συνεπώς γίνεται αντιληπτό ότι οι αρχιτεκτονικές αυτές είναι κατάλληλες για εφαρμογές όπου το κρίσιμο σημείο είναι η ταχύτητα αποκωδικοποίησης. Πρακτικά χρησιμοποιούνται κυρίως για κώδικες μέχρι 2000 bits μέγεθος λέξεις. Δε μπορούν όμως να θεωρηθούν η βέλτιστη λύση όταν απαιτείται ευελιξία στο κύκλωμα του αποκωδικοποιητή, όπως σε συστήματα ασύρματων δεκτών τα οποία πρέπει να προσαρμόζονται ανάλογα με τις συνθήκες του περιβάλλοντος στο οποίο βρίσκονται (διαφορετικά block lengths και rates). 4.3 Πλήρως σειριακή υλοποίηση Στην αντίθετη πλευρά, βρίσκονται οι πλήρως σειριακές υλοποιήσεις, στις οποίες έχουμε μόνο ένα check node και ένα variable node. Οι υλοποιήσεις αυτές εμφανίζουν τη μεγαλύτερη δυνατή ευελιξία καθώς μπορούν να υλοποιήσουν οποιοδήποτε κύκλωμα ενός αποκωδικοποιητή LDPC. Επίσης οι αρχιτεκτονικές αυτές απαιτούν τη μικρότερη επιφάνεια ολοκλήρωσης σε σχέση με τις άλλες αρχιτεκτονικές. Λόγω της δομής του κυκλώματος του αποκωδικοποιητή εμφανίζουν τη χαμηλότερη ταχύτητα αποκωδικοποίησης η οποία σε πολλές σύγχρονες εφαρμογές είναι απαγορευτικά μεγάλη για μια τέτοια αρχιτεκτονική υλοποίησης. Οι πλήρως σειριακές υλοποιήσεις προτιμώνται μόνο σε περιπτώσεις που υπάρχουν περιορισμένοι πόροι υλοποίησης, απαιτείται μεγάλος βαθμός ευελιξίας και η ταχύτητα αποκωδικοποίησης δεν είναι ένα από τα ζητούμενα σχεδίασης. 56

57 Σχήμα 4.2: Κύκλωμα αποκωδικοποίησης πλήρως σειριακής αρχιτεκτονικής 4.4 Ημιπαράλληλη αρχιτεκτονική Η ημιπαράλληλη αρχιτεκτονική συνίσταται από την υλοποίηση σε υλικό μόνο ενός μέρους των variable και check κόμβων από το σύνολο των κόμβων του Tanner διαγράμματος. Ο αριθμός των κόμβων αυτών ποικίλει ανάλογα με τις απατήσεις της εφαρμογής, καθορίζοντας το βαθμό παραλληλισμού του αποκωδικοποιητή, αλλά πάντοτε είναι μικρός σε σχέση με τους αριθμούς n και m, δηλαδή τις διαστάσεις του πίνακα ελέγχου ισοτιμίας Η. Στο σχήμα 4.3 φαίνεται το κύκλωμα ενός ημιπαράλληλου αποκωδικοποιητή, στον οποίο υπάρχουν υλοποιημένοι δύο check κόμβοι και τρεις variable κόμβοι. Οι αρχιτεκτονικές της κατηγορίας αυτής είναι κάτι ενδιάμεσο της πλήρως παράλληλης και της σειριακής υλοποίησης. Έτσι μπορεί και συνδυάζει όλα τα πλεονεκτήματα των δύο προηγούμενων αρχιτεκτονικών ανάλογα με το βαθμό του παραλληλισμού που επιλέγουμε κάθε φορά. 57

58 Σχήμα 4.3: Κύκλωμα αποκωδικοποίησης ημιπαράλληλης αρχιτεκτονικής 58

59 ΚΕΦΑΛΑΙΟ 5ο ΚΑΘΟΡΙΣΜΟΣ ΠΙΝΑΚΑ ΚΑΙ ΠΑΡΑΜΕΤΡΩΝ ΥΛΟΠΟΙΗΣΗΣ Στόχος της παρούσας διπλωματικής ήταν η μελέτη και υλοποίηση ενός high-throughput LDPC αποκωδικοποιητή καθώς και η αξιολόγηση όλων των παραμέτρων που θα οδηγήσουν στην κατασκευή ενός ανάλογου συστήματος στο μέλλον. Το πρότυπο, σύμφωνα με το οποίο επιλέχθηκε να αναπτυχθεί ο αποκωδικοποιητής, είναι το e (Mobile Wimax). Η πορεία σχεδιασμού του συστήματος αυτού φαίνεται στις επόμενες παραγράφους. 5.1 LDPC κώδικες και WiMax (802.16e) Το πρότυπο του WiMax, όπως περιγράφεται στο [7], προβλέπει να υπάρχουν κυκλώματα διόρθωσης λαθών για αύξηση της αξιόπιστης επικοινωνίας μεταξύ πομπού και δέκτη. Μεταξύ των πολλών σχημάτων κωδικοποίησης που περιγράφει, κυρίαρχη θέση έχουν οι LDPC κώδικες, λόγω της πολύ καλής απόδοσής τους καθώς και της καταλληλότητας τους για υλοποίηση σε υλικό, όπως έχουμε περιγράψει αναλυτικά στα προηγούμενα κεφάλαια. Μάλιστα, προβλέπεται από το πρότυπο ότι ανάλογα με το λόγο σήματος προς θόρυβο του περιβάλλοντος που βρίσκεται ο πομπός και ο δέκτης θα πρέπει να μπορεί να προσαρμόζεται το κύκλωμα διόρθωσης λαθών, μεταβάλλοντας μερικά από τα χαρακτηριστικά του. Πιο συγκεκριμένα, το πρότυπο ορίζει υποστήριξη λειτουργίας σύμφωνα με 6 διαφορετικά code rate και 18 διαφορετικά block lengths. 59

60 Σχήμα 5.1: Υποστηριζόμενα code rate και block lengths από το πρότυπο WiMax Στην παρούσα διπλωματική θα εστιάσουμε την προσοχή μας στη δημιουργία του κυκλώματος του αποκωδικοποιητή. Επειδή όμως η δημιουργία ενός κυκλώματος που να υποστηρίζει όλες τις δυνατές επιλογές του προτύπου (108 στον αριθμό) όπως διαφορετικά μήκη λέξεων και ρυθμοί κώδικα παρουσιάζοντας τη μέγιστη ευελιξία απαιτεί σημαντική εμπειρία σε αρχιτεκτονικό επίπεδο σχεδίασης, επικεντρώνουμε την προσοχή μας στην κατασκευή ενός αποκωδικοποιητή για ένα μόνο μήκος λέξης και ρυθμό κώδικα. Συγκεκριμένα, ο αποκωδικοποιητής αναπτύχθηκε ώστε να είναι συμβατός με τον κώδικα του WiMax ρυθμού μετάδοσης ½ και μήκος λέξης 576 bits (z=24). Στη συνέχεια φαίνονται οι λεπτομέρειες του συγκεκριμένου κώδικα. 5.2 Πίνακας ελέγχου ισοτιμίας του LDPC κώδικα με rate ½ Ένας LDPC κώδικας για το WiMax e, όπως ορίζεται στο αντίστοιχο κείμενο του προτύπου [7], προκύπτει από ένα πίνακα βάσης Hb (base matrix), ο οποίος αποτελείται από 24 στήλες και (1-R) 24 γραμμές, όπου R είναι το rate του κώδικα. Είναι δηλαδή ένας πίνακας ελέγχου ισοτιμίας που αντιστοιχεί σε έναν κώδικα ειδικής μορφής που παρουσιάσαμε στο 2ο Κεφάλαιο, και μάλιστα μορφής CPA*-structured κώδικας. Tα στοιχεία του πίνακα Hb μπορεί να είναι ακέραιοι θετικοί αριθμοί που δηλώνουν κάποιον συντελεστή ολίσθησης ή ο αρνητικός αριθμός (-1) ο οποίος δηλώνει την ύπαρξη ενός τετραγωνικού μηδενικού πίνακα. Ο πίνακας ελέγχου ισοτιμίας H του κώδικα προκύπτει από τον πίνακα βάσης αντικαθιστώντας κάθε στοιχείο του τελευταίου με έναν δεξιά κυκλικά ολισθημένο, κατά τον αντίστοιχο συντελεστή ολίσθησης, μοναδιαίο πίνακα μεγέθους z z ή με ένα μηδενικό τετραγωνικό πίνακα μεγέθους z. Συνεπώς, κάθε στοιχείο του πίνακα βάσης ορίζει ένα τετραγωνικό υπομητρώο μεγέθους z. Το z 60

61 ουσιαστικά είναι ένας παράγοντας επέκτασης, ο οποίος κυμαίνεται μεταξύ 24 και 96 με βήμα 4 και δημιουργεί με αυτό τον τρόπο έναν πίνακα διαφορετικού μεγέθους, κυμαίνοντας από 576 μέχρι 2304 bits. Σχήμα 5.2: Πίνακας βάσης για τον rate ½ WiMax LDPC κώδικα για z=96. Όπως παρατηρούμε ο παραπάνω πίνακας βάσης περιέχει τους συντελεστές ολίσθησης των υποπινάκων μεγέθους ίσο με 96. Έτσι καταλήγουμε σε ένα πίνακα ελέγχου ισοτιμίας που έχει μέγεθος 2304 bits και η δομή του οποίου φαίνεται στην παρακάτω εικόνα: Σχήμα 5.3: Δομή ενός πίνακα ελέγχου ισοτιμίας για τον rate ½ WiMax LDPC κώδικα με z=96. 61

62 Για ένα πίνακα διαφορετικού μεγέθους, με διαφορετικό z δηλαδή, οι συντελεστές ολίσθησης δίνονται από τον ακόλουθο τύπο:, όπου p(i,j) είναι η τιμή του συντελεστή ολίσθησης που περιέχεται στον αρχικό πίνακα, z0 είναι ίσο με 96 και zf είναι ο επιθυμητός παράγοντας επέκτασης. Στην παρούσα διπλωματική υλοποιούμε έναν κώδικα μήκους 576 bits, δηλαδή z=24. Για αυτή την τιμή προκύπτουν οι παρακάτω συντελεστές ολίσθησης: Σχήμα 5.4: Πίνακας βάσης για τον rate ½ WiMax LDPC κώδικα για z=24. Στη συνέχεια του κεφαλαίου παρουσιάζουμε τις παραμέτρους που κληθήκαμε να προσδιορίσουμε κατά τη διάρκεια της υλοποίησης του κυκλώματός μας. 62

63 5.3 Παράμετροι υλοποίησης του αποκωδικοποιητή Στη συνέχεια του κεφαλαίου παρουσιάζουμε τις παραμέτρους που κληθήκαμε να προσδιορίσουμε κατά τη διάρκεια της υλοποίησης του κυκλώματός μας. Στόχος μας ήταν η επίτευξη αρκετά υψηλού throughput και αυτό καθόρισε τις επιλογές που κάναμε κατά τη διάρκεια σχεδιασμού Αναλογική έναντι Ψηφιακής υλοποίησης Αρκετές αναλογικές υλοποιήσεις κωδίκων διόρθωσης λαθών έχουν πραγματοποιηθεί τα τελευταία χρόνια, με ενθαρρυντικά μάλιστα αποτελέσματα. Στις αναλογικές υλοποιήσεις γίνεται χρήση της μη γραμμικότητας των ημιαγωγικών στοιχείων για τον υπολογισμό των απαιτούμενων δεδομένων. Πιο συγκεκριμένα, για τους LDPC αποκωδικοποιητές χρησιμοποιούνται τα ρεύματα και οι τάσεις στις αναλογικές διατάξεις και τρανζίστορ για να αναπαραστήσουν τις πιθανότητες και τα ενδιάμεσα μηνύματα που ανταλλάσσονται μεταξύ των κόμβων. Παρόλο που οι αναλογικές υλοποιήσεις είναι πολλές φορές ανώτερης των αντίστοιχων ψηφιακών, επιτυγχάνοντας μεγαλύτερο throughput, μικρότερη κατανάλωση ή και μικρότερη επιφάνεια, στις σύγχρονες deep-sub-micron τεχνολογίες υποφέρουν από ανομοιομορφίες μεταξύ των στοιχείων (mismatching), δημιουργώντας έτσι επιπρόσθετα προβλήματα. Για αυτό το λόγο αποφασίστηκε η υλοποίηση να είναι εξολοκλήρου ψηφιακή Σχήμα χρονοπρογραμματισμού μηνυμάτων αποκωδικοποίησης Λόγω της ιδιαίτερης μορφής του πίνακα ελέγχου ισοτιμίας του κώδικά μας έχουμε τη δυνατότητα να υιοθετήσουμε δύο διαφορετικές στρατηγικές χρονοπρογραμματισμού των μηνυμάτων αποκωδικοποίησης. Η πρώτη έχει ήδη παρουσιαστεί και αποτελείται από τη γνωστή αποκωδικοποίηση δύο βημάτων (two-phase scheduling): στο πρώτο βήμα γίνεται υπολογισμός όλων των μηνυμάτων στους variable κόμβους και αποστολή αυτών στους ckeck κόμβους, και στο δεύτερο βήμα το αντίστροφο. Η δεύτερη προσέγγιση χρονοπρογραμματισμού, η οποία ονομάζεται Layered Decoding [19] ή turbo decoding message passing (TDMP), χωρίζει τον πίνακα σε επίπεδα. Έτσι κάθε φορά είναι 63

64 ενεργοί μόνο οι κόμβοι του τρέχοντος επιπέδου και αποστέλλουν τα μηνύματά τους μόνο στους κόμβους της άλλης κατηγορίας με τους οποίους συνδέονται και ανήκουν στο ίδιο επίπεδο. Πιο συγκεκριμένα, κατά την layered αποκωδικοποίηση οι γραμμές του πίνακα περνούν από επεξεργασία σε επίπεδα. Η ολοκλήρωση της επεξεργασίας όλων των variable κόμβων ενός επιπέδου ακολουθείται από την επεξεργασία και αποστολή των μηνυμάτων από τους check κόμβους του επιπέδου αυτού πίσω στους variable κόμβους. Το τέλος της επεξεργασίας ενός επιπέδου συνιστά το τέλος μιας υποεπανάληψης του αλγορίθμου. Γίνεται σαφές από τον τρόπο που παρουσιάσαμε τη μέθοδο αυτή ότι μια πλήρης επανάληψη του αλγορίθμου ολοκληρώνεται όταν εκτελεστεί αριθμός υποεπαναλήψεων ίσος με τον αριθμό των επίπεδων το πίνακα. Αυτή η διαδικασία έχει αποδειχτεί ότι οδηγεί σε επιτάχυνση της ταχύτητα σύγκλισης του αλγορίθμου, δηλαδή απαιτούνται λιγότερες επαναλήψεις για την εύρεση μιας έγκυρης κωδικής λέξης. Επίσης, η στρατηγική αυτή χρονοπρογραμματισμού των μηνυμάτων οδηγεί σε υλοποιήσεις με λιγότερες απαιτήσεις μνήμης καθώς δε χρειάζεται οι check κόμβοι να αποθηκεύουν όλα τα μηνύματα που δέχονται σε μια επανάληψη παρά μόνο τα μηνύματα εντός του τρέχοντος επιπέδου. Παρόλο την υπεροχή της δεύτερης μεθόδου χρονοπρογραμματισμού των μηνυμάτων, στην υλοποίησή μας υιοθετούμε την πρώτη μέθοδο και προτείνουμε τρόπους με τους οποίους επιτυγχάνει σχεδόν ίδιο ή και μεγαλύτερο throughput, με μικρή αύξηση της πολυπλοκότητας του αποκωδικοποιητή Αλγόριθμος αποκωδικοποίησης Βασιζόμενοι σε θεωρητικές μελέτες που έχουν γίνει σχετικά με την απόδοση διαφορετικών αλγορίθμων, τις οποίες παρουσιάσαμε στα πρώτα κεφάλαια, επιλέγουμε να χρησιμοποιήσουμε ως αλγόριθμο αποκωδικοποίησης τον Min-Sum αλγόριθμο. Η δυσκολία υλοποίησης του SumProduct αλγορίθμου κρίθηκε ότι αποτελούσε σημαντικό μειονέκτημα για αυτό τον αλγόριθμο, παρότι έχει καλύτερη απόδοση. Ο Modified-Min-Sum αλγόριθμος αποτελεί μια καλή επιλογή αλγορίθμου, όντας μεταξύ των άλλων δύο. Για λόγους όμως εξοικονόμησης επιφάνεια ολοκλήρωσης τελικά επιλέξαμε τον Min-Sum αλγόριθμο. 64

65 5.3.4 Αναπαράσταση των μηνυμάτων Όπως κάναμε σαφές στα εισαγωγικά κεφάλαια, μια παράμετρος με ιδιαίτερη σημασία, τόσο για την διορθωτική απόδοση του αλγορίθμου όσο και για την απαιτούμενη επιφάνεια ολοκλήρωσης, είναι ο αριθμός των bits που χρησιμοποιούνται για την αναπαράσταση τόσο της αρχικής πληροφορίας όσο και των ενδιάμεσων μηνυμάτων που παράγονται από τους κόμβους επεξεργασίας. Μια συχνά χρησιμοποιούμενη επιλογή είναι για ομοιόμορφη κβάντιση των μηνυμάτων με 6 bits, η οποία θεωρείται στις περισσότερες εφαρμογές μια πολύ καλή επιλογή, δεδομένου του trade-off μεταξύ απόδοσης και επιφάνειας. Πιο συγκεκριμένα, από τα 6 αυτά bits, το πρώτο χρησιμοποιείται ως πρόσημο, τα επόμενα δύο ως το ακέραιο μέρος των μηνυμάτων και τα υπόλοιπα τρία ως το δεκαδικό μέρος. Στην υλοποίηση που κάναμε, υιοθετήσαμε μια γενική αντιμετώπιση για το μήκος των μηνυμάτων, το οποίο μπορεί να προσδιορίζεται ανάλογα με την επιλογή μας κατά τη διάρκεια της σύνθεσης. Έτσι ο αποκωδικοποιητής που σχεδιάσαμε μπορεί να χρησιμοποιηθεί για την αποτίμηση του κατάλληλου πλήθους bits αναπαράστασης των μηνυμάτων Μέγιστος αριθμός επαναλήψεων του αλγόριθμου Είναι φανερό πως αυξάνοντας τον αριθμό των επαναλήψεων ταυτόχρονα αυξάνεται και η απόδοση του αλγόριθμου αποκωδικοποίησης. Ταυτόχρονα όμως με την αύξηση των επαναλήψεων, αυξάνεται και ο χρόνος που απαιτεί η διαδικασία αποκωδικοποίησης. Για παράδειγμα μία αύξηση του αριθμού των επαναλήψεων από 10 σε 20 διπλασιάζει τον αναγκαίο χρόνο αποκωδικοποίησης και υποδιπλασιάζει το μέγιστο throughput που μπορεί να υποστηρίξει ο αποκωδικοποιητής. Ο αριθμός των επαναλήψεων του αλγορίθμου στον αποκωδικοποιητή μας δεν είναι σταθερός, δίνοντας έτσι τη δυνατότητα να εξετάσουμε τις επιδράσεις που έχει η παράμετρος αυτή στη συνολική απόδοση του συστήματος. Μάλιστα, ο αριθμός αυτός μπορεί να αλλάζει κατά τη διάρκεια της λειτουργίας του αποκωδικοποιητή on-the-fly, δίνοντας έτσι τη δυνατότητα στον αποκωδικοποιητή να προσαρμόζει τον αριθμό αυτό ανάλογα με το λόγο σήματος προς θόρυβο του περιβάλλοντος που βρίσκεται. 65

66 66

67 ΚΕΦΑΛΑΙΟ 6ο ΠΡΟΤΕΙΝΟΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ Με βάση τις παραμέτρους τις οποίες παρουσιάσαμε στο προηγούμενο κεφάλαιο, στο παρόν κεφάλαιο παρουσιάζουμε την αρχιτεκτονική του αποκωδικοποιητή μας καθώς και τις λεπτομέρειες υλοποίησης των επιμέρους υπολογιστικών μονάδων. Η αρχιτεκτονική που χρησιμοποιούμε είναι μια ημιπαράλληλη αρχιτεκτονική, στην οποία για την αύξηση του throughput του αποκωδικοποιητή χρησιμοποιούμε βαθμό παραλληλισμού ίσο με 24 (z=24), δηλαδή υλοποιούμε σε υλικό 24 επεξεργαστικές μονάδες που αντιπροσωπεύουν τους variable κόμβους και άλλες 24 που αντιστοιχούν στους check κόμβους. Για το σχεδιασμό του κυκλώματος χρησιμοποιήθηκε το πρόγραμμα της XILINX ISE10.1, καθώς και τα προγράμματα LeonardoSpectrum και Synplify κατά τη διάρκεια της σύνθεσης του κυκλώματος. 6.1 Αρχιτεκτονική αποκωδικοποιητή Η αρχιτεκτονική του αποκωδικοποιητή μας είναι μια ημιπαράλληλη αρχιτεκτονική με βαθμό παραλληλισμού ίσο με 24. Στο παρακάτω σχήμα φαίνονται τα βασικά συστατικά του κυκλώματος αυτού. 67

68 Σχήμα 6.1: Αρχιτεκτονική του LDPC αποκωδικοποιητή για z=24. 68

69 Η μνήμη In_Channel_from_chennel είναι μια μνήμη 576 θέσεων στην οποία αποθηκεύονται σειριακά τα δεδομένα εισόδου από το κανάλι και κατόπιν τροφοδοτούνται ανά ομάδες των 24 στους variable κόμβους. Οι επεξεργαστικές μονάδες VPUs αντιπροσωπεύουν τους 24 variable κόμβους του κυκλώματος (VN1-VN24). Αντίστοιχα, οι επεξεργαστικές μονάδες CPUs αντιπροσωπεύουν τους 24 check κόμβους του κυκλώματος (CN1-CN24). To δίκτυο διασύνδεσης (Interconnection network) αποτελεί ουσιαστικά το μέσο μετάδοσης των μηνυμάτων. Η μονάδα ελέγχου (Control_Unit) συντονίζει όλες τις ενέργειες των επιμέρους κυκλωμάτων. Οι κατανεμημένες ROM μνήμες περιέχουν την πληροφορία του συγκεκριμένου κώδικα τον οποίο υλοποιούμε, όπως για παράδειγμα τους συντελεστές ολίσθησης, τα βάρη των γραμμών και στηλών του πίνακα καθώς και τη διεύθυνση των θέσεων στις οποίες θα γραφούν τα μηνύματα των κόμβων. To IO του αποκωδικοποιητή φαίνεται στο σχήμα 6.2. Δέχεται σειριακά τα μηνύματα από το κανάλι και παράγει ανά 24 τα αποκωδικοποιημένα bits. Στην περίπτωση της σειριακής εξόδου των μηνυμάτων από τον αποκωδικοποιητή, θα κυριαρχούσαν το χρόνο της αποκωδικοποίησης τόσο η είσοδος όσο και η έξοδος των δεδομένων από τον αποκωδικοποιητή, έχοντας πολύ μικρή συνεισφορά ο πραγματικός χρόνος της αποκωδικοποίησης. Για αυτό το λόγο επιλέξαμε τα αποκωδικοποιημένα bits να εξέρχονται ανά 24. Επίσης ο αποκωδικοποιητής δέχεται σαν είσοδο τον αριθμό των επαναλήψεων του αλγορίθμου, ο οποίος μπορεί να αλλάζει κατά τη διάρκεια της αποκωδικοποίησης. 69

70 Σχήμα 6.2: ΙΟ του αποκωδικοποιητή 70

71 6.1.1 Χρονοπρογραμματισμός αποκωδικοποιητή Όπως πολλές φορές έχουμε αναφέρει, ότι αρχικός μας στόχος ήταν η επίτευξη του μέγιστου δυνατού throughput, το οποίο αναμέναμε να είναι της τάξεως των 50 με 100 Mbps. Σκεπτόμενοι τη σχέση που δίνει το συνολικό throughput ενός αποκωδικοποιητή: throughput rate block _ length, num _ of _ iters cycles _ per _ iter clock _ cycle προσδιορίσαμε τον απαιτούμενο αριθμό κύκλων ανά επανάληψη. Για την επίτευξη ενός throughput 75 Μbps και για τα παρακάτω στοιχεία, προκύπτει ότι: Rate=1/2, block_length=576, num_of_iters=15, clock_cycle=6 nsec (αποτελεί απλά μια εκτίμηση για την τελική συχνότητα του κυκλώματος) cycles_per_iter=43 κύκλους ρολογιού. Άρα για να επιτύχουμε το απαιτούμενο throughput θα πρέπει να περιορίσουμε την κάθε επανάληψη του αλγορίθμου σε 43 κύκλους. Αυτός ο αριθμός, όπως θα γίνει κατανοητό στη συνέχεια, επιβάλλει μια πλήρως παράλληλη αρχιτεκτονική των variable και check κόμβων. Ο πλήρης χρονοπρογραμματισμός του αποκωδικοποιητή μας φαίνεται στο σχήμα 6.3, στο οποίο υπάρχουν οι εξής λειτουργίες: Λειτουργίες στους Variable κόμβους Compute_v2c: Είναι ο υπολογισμός των μηνυμάτων από τους variable στους check κόμβους. Idle: Σε αυτό τον κύκλο ρολογιού ο variable κόμβος απλά περιμένει να γεμίσει το pipeline στους check κόμβους και να αρχίσει να δέχεται μηνύματα. Store_c2v: Γίνεται η αποθήκευση των μηνυμάτων των check κόμβων στις κατάλληλες θέσεις μνήμης των variable κόμβων. 71

72 Λειτουργίες στους κόμβους Compute_c2v: Είναι ο υπολογισμός των μηνυμάτων από τους check στους variable κόμβους. Idle: Σε αυτό τον κύκλο ρολογιού ο check κόμβος απλά περιμένει να γεμίσει το pipeline στους variable κόμβους και να αρχίσει να δέχεται μηνύματα. Store_v2c: Γίνεται η αποθήκευση των μηνυμάτων των variable κόμβων στις κατάλληλες θέσεις μνήμης των check κόμβων. Λειτουργίες στο δίκτυο διασύνδεσης: Send_v2c: Γίνεται αποστολή μηνυμάτων από τους variable στους check κόμβους. Send_c2v: Γίνεται αποστολή μηνυμάτων από τους check στους variable κόμβους. Idle: Σε αυτό τον κύκλο ρολογιού δεν αποστέλλονται μηνύματα. 72

73 Σχήμα 6.3: Χρονοπρογραμματισμός μιας πλήρης επανάληψης του αποκωδικοποιητή 73

74 Η διαδικασία αποκωδικοποίησης μιας λαμβανόμενης λέξης επικαλύπτεται με την αποθήκευση της επόμενης προς αποκωδικοποίησης λέξης η οποία λαμβάνεται από το κανάλι. Αυτό γίνεται προφανώς για την αύξηση του συνολικού throughput του αποκωδικοποιητή. Τα παραπάνω φαίνονται στο σχήμα 6.4. Σχήμα 6.4: Χρονική αλληλουχία αποκωδικοποιούμενων λέξεων. Οι λεπτομέρειες για τη χρονική φάση του αποκωδικοποιητή Decode_Codeword_n φαίνονται στο σχήμα 6.5. Αρχικά φορτώνονται οι μνήμες LLR_RAMs των variable κόμβων σε 24 κύκλους ρολογιού, ώστε να είναι διαθέσιμη η κεντρική μνήμη In_RAM_from_Channel να δεχτεί την επόμενη κωδικολέξη, και ξεκινούν οι διαδοχικές επαναλήψεις του αλγορίθμου έως ότου βρεθεί έγκυρη λέξη ή εκτελεστούν Ν επαναλήψεις (στο σχήμα Ν=15). 74

75 Σχήμα 6.5: Λεπτομερής ανάλυση της φάσης Decode_Codeword του αποκωδικοποιητή Τροποποίηση του χρονοπρογραμματισμού Εξετάζοντας τη διαδικασία αποκωδικοποίησης στους κόμβους του κυκλώματος, η οποία περιλαμβάνει τον επαναληπτικό υπολογισμό μηνυμάτων και τη μετάδοση αυτών, προτείνουμε μια βελτίωση του σχήματος που περιγράψαμε στην προηγούμενη ενότητα. Κάνοντας χρήση της ειδικής δομής του πίνακα ελέγχου ισοτιμίας του προτύπου WiMax (σχήμα 5.3), του οποίου τα πάνω δεξιά στοιχεία είναι μηδενικά, καταφέρνουμε να μειώσουμε το χρόνο που απαιτείται για την εκτέλεση μιας επανάληψης του αλγορίθμου. Πιο συγκεκριμένα, όταν εκτελείται το 15ο επίπεδο variable κόμβων μπορούμε να ξεκινήσουμε την εκτέλεση του 1ου στρώματος check κόμβων. Στον κύκλο που εκτελείται το 16ο στρώμα variable κόμβων μπορεί να ξεκινήσει το 2ο επίπεδο check κόμβων και συνεχίζουμε. Με αυτόν τον τρόπο οι απαιτούμενοι κύκλοι μιας επανάληψης γίνονται 32 από 42. Εξοικονομούμε δηλαδή 10 κύκλους ρολογιού. Αυτό αντιστοιχεί περίπου σε ένα 24% ποσοστό βελτίωσης του χρόνου αποκωδικοποίησης μιας επανάληψης. Να σημειώσουμε ότι η βελτίωση αυτή επιτυγχάνεται τροποποιώντας μόνο τη λειτουργία της κεντρικής μονάδας ελέγχου, δίχως να χρειάζεται την προσθήκη επιπλέον κυκλωμάτων ή την τροποποίηση ήδη υπαρχόντων. Συνεπώς η βελτίωση αυτή δεν οδηγεί σε αύξηση της επιφάνειας του κυκλώματος. 75

76 Μια δεύτερη τροποποίηση του σχήματος αποκωδικοποίησης γίνεται αν παρατηρήσουμε ότι οι επεξεργαστικοί κόμβοι του κυκλώματος ουσιαστικά εκτελούν 2 διαφορετικές ενέργειες: υπολογισμός των μηνυμάτων προς την άλλη κατηγορία κόμβων και αποθήκευση των μηνυμάτων που λαμβάνουν. Με τον τρόπο που έχουμε υλοποιήσει τους κόμβους μας, οι διαδικασίες αυτές είναι διακριτές και ανεξάρτητες η μια από την άλλη. Συνεπώς μπορούν γενικά να εκτελεστούν και ταυτόχρονα. Η εκμετάλλευση της ιδιότητας αυτής γίνεται αν θεωρήσουμε ότι επεξεργαζόμαστε 2 λαμβανόμενες λέξεις μαζί. Η διαδικασία αυτή φαίνεται στο σχήμα 6.6. Σχήμα 6.6 : Τροποποιημένη χρονική αλληλουχία αποκωδικοποιούμενων λέξεων. Η υλοποίηση της τροποποίησης αυτής θα διπλασίαζε ουσιαστικά το μέγιστο αποκωδικοποιούμενο throughput, θα απαιτούσε όμως αύξηση της επιφάνειας του κυκλώματος. Πιο συγκεκριμένα, θα απαιτούσε σχεδόν διπλασιασμό της μνήμης του κυκλώματος για την αποθήκευση των ενδιαμέσων μηνυμάτων καθώς και διπλασιασμό του δικτύου διασύνδεσης. 76

77 6.2 Κεντρική μονάδα ελέγχου Η κεντρική μονάδα ελέγχου του αποκωδικοποιητή είναι επιφορτισμένη με το συγχρονισμό όλων των επιμέρους κυκλωμάτων. Λόγω της επιλογής μας για παράλληλη αρχιτεκτονική τόσο στους ckeck όσο και στους variable κόμβους, η πολυπλοκότητα αυτής είναι σχετικά αυξημένη. Πιο συγκεκριμένα, η κεντρική μονάδα ελέγχου είναι υπεύθυνη για τα εξής: Ανάκληση από μνήμες ROM των βαρών των κόμβων του κυκλώματος και αποστολή των κατάλληλων σημάτων ελέγχου στους πολυπλέκτες τους ώστε να μπορεί να διαχειριστεί ο αποκωδικοποιητής το γεγονός ότι ο πίνακας ελέγχου ισοτιμίας είναι ανώμαλος. Ανάκληση από μνήμες ROM των συντελεστών ολίσθησης για τον εκάστοτε υποπίνακα και αποστολή των κατάλληλων σημάτων ελέγχου στο δίκτυο διασύνδεσης ώστε να διευθύνουν τη μετάδοση των μηνυμάτων. Υπολογισμός και αποστολή στους κόμβους του κυκλώματος των διευθύνσεων στις οποίες θα αποθηκευθούν τα μηνύματα τα οποία λαμβάνουν από το άλλο είδος κόμβων, το οποίο αποτελεί και το πιο πολύπλοκο έργο της μονάδας ελέγχου ώστε να αποφεύγονται οι συγκρούσεις στις μνήμες, δηλαδή να μη γράφονται δύο διαφορετικά μηνύματα στην ίδια θέση και να μη διαβάζονται ίδιες θέσεις μνήμης από διαφορετικές θύρες. 77

78 6.3 Variable κόμβος Όπως αναφέραμε, για να επιτύχουμε το επιθυμητό throughput θα πρέπει οι variable κόμβοι να έχουν παράλληλη αρχιτεκτονική. Σε αντίθετη περίπτωση, σε σειριακή δηλαδή υλοποίηση αυτών, επειδή το μέγιστο βάρος τους είναι 6, θα απαιτούσαν 6 κύκλους ρολογιού για να παράγουν τα μηνύματα προς τους check κόμβους, σύμφωνα με την εξίσωση: Qvcn = LLRv + c ' Scv (~ c ) Rcn' v Αυτό θα οδηγούσε σε 6 φορές μικρότερο throughput κάτι το οποίο στη δική μας εφαρμογή ήταν μη αποδεκτό. Το σχηματικό του variable κόμβου φαίνεται στο σχήμα 6.6 και στη συνέχεια εξηγούμε τα σημαντικότερα component αυτού. LLR_RAM: Είναι μια RAM μνήμη 24 θέσεων στην οποία αποθηκεύονται τα LLR από το κανάλι ώστε η μνήμη In_Ram_from_channel να μπορέσει να δεχτεί τα δεδομένα της επόμενης κωδικολέξης, και να συνεχιστεί η διαδικασία της αποκωδικοποίησης δίχως προβλήματα. Var_Mux: Είναι ένας πολυπλέκτης ο οποίος ανάλογα με το βάρος του τρέχοντα κόμβου τον τροφοδοτεί με το σωστό αριθμό εισόδων. Όπως φαίνεται από τον πίνακα ελέγχου ισοτιμίας, οι variable κόμβοι μπορεί να έχουν βάρος ίσο με δύο, τρία ή και έξι. Χρησιμοποιώντας τον πολυπλέκτη αυτό μπορούμε αποτελεσματικά να αντιμετωπίσουμε το γεγονός αυτό. Παρατηρώντας την εξίσωση σύμφωνα με την οποία παράγονται τα μηνύματα από τους variable κόμβους διαπιστώνουμε ότι εφαρμόζοντας τη μηδενική τιμή στις εισόδους του κόμβου αυτού δε θα έχουμε μεταβολή των αποτελεσμάτων. Για παράδειγμα, αν ο τρέχων κόμβος έχει βάρος 3, μέσω της κεντρικής μονάδας ελέγχου, θα αποσταλεί ένα σήμα ελέγχου στο κύκλωμα αυτό ώστε να τροφοδοτήσει τις 3 εισόδους του variable κόμβου με τα μηνύματα τα οποία διαβάζονται από την Var_RAM και τις υπόλοιπες 3 με τη μηδενική τιμή ώστε να μην επηρεάσουν την τιμή του αποτελέσματος στην έξοδο του κόμβου. 78

79 LLR_RAM VN_Module VAR_RAM VAR_MUX Σχήμα 6.7: Σχηματικό διάγραμμα ενός Variable κόμβου Var_Ram: Πρόκειται για μια RAM μνήμη 144 θέσεων στην οποία αποθηκεύονται τα μηνύματα από τους check κόμβους. Το απαιτητικό σημείο υλοποίησης της μνήμης αυτής είναι ότι πρέπει να 79

80 διαθέτει 7 ανεξάρτητες εισόδους δεδομένων για να αποθηκεύονται σε ένα κύκλο όλα τα μηνύματα των check κόμβων. Η υλοποίηση της μνήμης αυτής σε συμβατικές πλατφόρμες FPGA είναι αρκετά δαπανηρή καθώς διαθέτουν μνήμες μόνο μέχρι δύο διαφορετικών θυρών (Dual port RAMs). VN_module: Είναι το κυρίως κύκλωμα το οποίο πραγματοποιεί τις ενέργειες που προβλέπονται από τον αλγόριθμο. Πιο συγκεκριμένα, για τον Min-Sum αλγόριθμο που υλοποιούμε, η πράξη που πρέπει να εκτελεστεί από τον κάθε variable κόμβο περιγράφεται από την επόμενη εξίσωση: Qvcn = LLRv + c ' Scv (~ c ) Rcn' v Το εσωτερικό του κυκλώματος αυτού φαίνεται στο σχήμα 6.8, στο οποίο διακρίνονται τα εξής υποκυκλώματα: o V_SM2TC: Για να υλοποιήσουμε τα αθροίσματα αποτελεσματικά, μετατρέπουμε τους αριθμούς μας σε 2 s complement. o V_adder: Πραγματοποιεί τον υπολογισμό όλων των ενδιάμεσων αθροισμάτων. o V_limiter: Είναι ένα κύκλωμα το οποίο μπορεί να διαχειρίζεται κατάλληλα την υπερχείλιση στο προηγούμενο στάδιο και να μειώνει όσο γίνεται την απώλεια πληροφορίας, την οποία ούτως ή αλλιώς θα έχουμε. Αυτό συμβαίνει επειδή όπως γνωρίζουμε προσθέτοντας 2 αριθμούς κ ψηφίων προκύπτει ένας αριθμός κ+1 ψηφίων. Επειδή όμως επιθυμούμε να έχουμε σταθερό μήκος διαύλων για τη μετάδοση των μηνυμάτων, είμαστε αναγκασμένοι να αναπαραστήσουμε το αποτέλεσμα των προσθέσεων με το ίδιο μήκος λέξης. o V_TC2SM: Το κύκλωμα αυτό πραγματοποιεί τη μετατροπή των μηνυμάτων από 2 s complement σε sign magnitude αναπαράσταση για την εύκολη λειτουργία των check κόμβων. 80

81 V_SM2TC V_ADDER V_LIMITER V_TC2SM Σχήμα 6.8: Σχηματικό διάγραμμα του υποκυκλώματος VN_Module Τα αποτελέσματα ως προς την χρησιμοποιούμενη επιφάνεια φαίνονται στο σχήμα 6.9. Παρατηρούμε ότι η υλοποίηση ενός variable node απαιτεί περίπου 4900 slices σε ένα Board Virtex4sx35, τιμή η οποία θεωρείται σχετικά υψηλή. Με προσεκτική μελέτη του κυκλώματος παρατηρούμε ότι το κύκλωμα το οποίο καταναλώνει την περισσότερη επιφάνεια είναι η μνήμη Var_RAM. Αυτό συμβαίνει διότι προσπαθεί το εργαλείο να συνθέσει μια μνήμη 6 θυρών, η οποία δεν είναι σύμφωνη με τις προδιαγραφές του, καθώς μπορεί να συνθέσει ως RAM modules μνήμες το πολύ μέχρι 2 θυρών. Στο σχήμα 6.10 φαίνονται οι απαιτήσεις σε επιφάνεια του κυκλώματος που παράγει το εργαλείο μας. Παρατηρούμε ότι για μια μόνο μνήμη 144 θέσεων απαιτούνται περίπου 4750 slices, το οποίο αποτελεί πολύ μεγάλο νούμερο. Εξετάζοντας τις αναφορές σύνθεσης διαπιστώσαμε ότι το πρόβλημα προκαλείται από τη δημιουργία πολύ μεγάλων πολυπλεκτών στις εξόδους του υποκυκλώματος αυτού. Δεδομένου ότι η μνήμη αυτή υπάρχει σε κάθε ένα από τους 24 variable κόμβους, περιμένουμε ότι ο συνολικός σχεδιασμός θα καταλαμβάνει αρκετά μεγάλη επιφάνεια λόγω αυτού του προβλήματος. Επαναλαμβάνουμε όμως ότι η υιοθέτηση αυτής της στρατηγικής είναι μονόδρομος για την επίτευξη του επιθυμητού throughput. Έναν τρόπος με τον οποίο προσπαθήσαμε να λύσουμε αυτό το πρόβλημα είναι η χρησιμοποίηση μιας συμβατικής μνήμης δυο θυρών αλλά σε τετραπλάσια συχνότητα λειτουργίας από αυτή του 81

82 Σχήμα 6.9: Design summary για ένα Variable κόμβο. 82

83 Σχήμα 6.10: Design Summary για το κύκλωμα Var_RAM 83

84 βασικού κυκλώματός μας. Το σχηματικό διάγραμμα του κυκλώματος που υλοποιήσαμε φαίνεται στο σχήμα Παρόλο τη σωστή λειτουργία αυτού, δε μπορέσαμε να το ενσωματώσουμε στο συνολικό σύστημα καθώς προκαλούνταν κάποια δεδομένα προβλήματα με το συγχρονισμό και την αποθήκευση των δεδομένων. Σχήμα 6.11: Σχηματικό της τροποποιημένης διάταξης για την αποθήκευση των δεδομένων. 84

85 6.4 Check κόμβος Ομοίως με τον variable κόμβο, ο check κόμβος έχει και αυτός παράλληλη αρχιτεκτονική. Έτσι καταφέρνει μέσα σε ένα κύκλο να υπολογίσει τα μηνύματα για όλες τις εξόδους του, οι οποίες είναι 7 στη περίπτωση κόμβου με μέγιστο βάρος ή 6 σε άλλη περίπτωση. Βασιζόμενοι στην εξίσωση που υποδεικνύει ο Min-Sum αλγόριθμος για τη λειτουργία των ckeck κόμβων: Rcvn = v ' Svc ( : v ) sign(qvn' c1 ) *( min ( Qvn' c1 )), c v ' Sv ( : v ) προκύπτει ότι το βασικό κύκλωμα κάθε check κόμβου είναι ο συγκριτής. Με τη βοήθεια ενός τέτοιου κυκλώματος και διαδοχικές συγκρίσεις παράγει τις προβλεπόμενες εξόδους. Για την ελαχιστοποίηση της απαιτούμενης επιφάνειας κάνουμε χρήση των ενδιάμεσων συγκρίσεων και έτσι πετυχαίνουμε να υπολογίσουμε τις εξόδους του κάθε check κόμβου με το ελάχιστο δυνατό υλικό. Το σχηματικό του κόμβου αυτού φαίνεται στο σχήμα CN_module Ch_RAM Ch_MUX Σχήμα 6.12: Σχηματικό διάγραμμα του check κόμβου 85

86 Τα επιμέρους component του check κόμβου είναι τα εξής: CN_module: Όπως περιγράψαμε και προηγουμένως, με τη βοήθεια αυτού του κυκλώματος γίνεται ο υπολογισμός των εξόδων. Ch_RAM: Η μνήμη αυτή είναι μια RAM μνήμη στην οποία αποθηκεύονται τα μηνύματα που προέρχονται από τους variable κόμβους και διαβάζονται κατά τη διάρκεια λειτουργίας των check κόμβων. Η μνήμη αυτή είναι η αντίστοιχη μνήμη με τη Var_RAM στους variable κόμβους και πρέπει να διαθέτει 6 θύρες εισόδου. Ch_MUX: Είναι ένας πολυπλέκτης ο οποίος, ανάλογα με το βάρος του τρέχοντα check κόμβου, τροφοδοτεί τις εισόδους του κόμβου με τον αντίστοιχο αριθμό μηνυμάτων ή με μια τιμή η οποία δε θα προκαλέσει μεταβολή στον υπολογισμό των εξόδων. Για παράδειγμα, στην επεξεργασία ενός κόμβου με βάρος 6, στην 7η είσοδο του ckeck κόμβου θα εφαρμοστεί μια τιμή με πρόσημο 0 ώστε να μην αλλάξει το αποτέλεσμα της πράξης XOR μεταξύ των πρόσημων των εισόδων. Ακόμη, η τιμή αυτή θα πρέπει να έχει το μέγιστο δυνατό μέτρο ώστε να μην αλλάξει την τιμή που υπολογίζεται από τους συγκριτές λαμβάνοντας υπόψη μόνο τις 6 εισόδους. Για 6 bit μήκος μηνύματος η τιμή αυτή είναι η Με αυτό τον πολύ απλό τρόπο αντιμετωπίζουμε το γεγονός ότι ο πίνακας ισοτιμίας του κώδικα που υλοποιούμε έχει μεταβλητό βάρος στους check κόμβους. Τα αποτελέσματα χρησιμοποίησης επιφάνειας του check κόμβου φαίνονται στο σχήμα Παρατηρούμε ότι απαιτεί περίπου 2800 slices για την υλοποίησή του σε Virtex4sx35. Στο σχήμα 6.14 φαίνονται οι απαιτήσεις μόνο της μνήμης Ch_RAM, οι οποίες είναι περίπου 2600 slices. Αντιμετωπίζουμε δηλαδή το ίδιο πρόβλημα με τη μνήμη στον Check κόμβο. 86

87 Σχήμα 6.13: Design Summary έναν check κόμβο 87

88 Σχήμα 6.14: Design Summary για τη μνήμη Ch_RAM 88

89 6.5 Δίκτυο διασύνδεσης Λόγω της ειδικής δομής του πίνακα ελέγχου ισοτιμίας, δηλαδή των κυκλικά μετατοπισμένων μοναδιαίων πινάκων, μπορούμε να αποφύγουμε ένα από τα σημαντικότερα προβλήματα των LDPC αποκωδικοποιητών το οποίο είναι η πολύπλοκη ενδιάμεση σύνδεση των κόμβων του κυκλώματος. Έτσι έχουμε τη δυνατότητα να διαχειριστούμε με ένα γενικό τρόπο τη μετάδοση των μηνυμάτων ανά 24 κόμβων, για κάθε υποπίνακα δηλαδή, αφού αυτοί παρουσιάζουν μια ομοιομορφία. Στη συνέχεια περιγράφουμε με ποιον τρόπο είναι εφικτό αυτό. Το δίκτυο διασύνδεσης του αποκωδικοποιητή αποτελείται αρχικά από ένα στρώμα πολυπλεκτών, το οποίο καθορίζει αν έχουμε επικοινωνία check προς variable ή το αντίθετο, διαλέγοντας κάθε φορά τα αντίστοιχα μηνύματα. Δηλαδή, όλες οι έξοδοι των variable και των check κόμβων οδηγούν τις εισόδους του δικτύου διασυνδέσεις, και ανάλογα με την κατάσταση που βρίσκεται το κύκλωμα αποκωδικοποίησης και το στάδιο του αλγορίθμου που εκτελείται, διαλέγει το κατάλληλο είδος μηνυμάτων. Διαθέτει επίσης 7 κυκλώματα Barrel_shifters των 24 εισόδων, τα οποία έχουν τη δυνατότητα ανάλογα με το συντελεστή ολίσθησης που εφαρμόζεται στη θύρα ελέγχου τους να εμφανίζουν στις εξόδους τους κυκλικά ολισθημένες τις εισόδους τους. Με τον τρόπο αυτό πετυχαίνουμε να κατευθύνουμε αποτελεσματικά τα μηνύματα στον προορισμό τους δίχως να έχουμε σταθερές διασυνδέσεις. Το κύκλωμα ενός Barrel Shifter μπορεί να υλοποιηθεί με συστοιχία πολυπλεκτών. Στο σχήμα 6.15 [20] φαίνεται ένας τρόπος υλοποίησης ενός Barrel Shifter των τεσσάρων εισόδων με τη χρήση πολυπλεκτών. Αποδεικνύεται ότι τα απαιτούμενα στρώματα πολυπλεκτών για έναν Barrel Shifters Ν εισόδων είναι log 2 N. Γίνεται αντιληπτό ότι για τέτοια κυκλώματα με πολλές εισόδους η υλοποίηση αυτών απαιτεί αρκετή επιφάνεια ολοκλήρωσης και εισάγει καθυστέρηση στο συνολικό σχεδιασμό. Στο σχήμα 6.16 φαίνονται αναλυτικά οι απαιτήσεις ενός Barrel Shifter 24 εισόδων. 89

90 Σχήμα 6.15: Barrel Shifter 4 εισόδων Σχήμα 6.16: Design Summary για έναν Barrel Shifter 24x24 90

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

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

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

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Δορυφορική ψηφιακή τηλεόραση

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Δορυφορική ψηφιακή τηλεόραση ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ 4 Δορυφορική ψηφιακή τηλεόραση Δορυφορική τηλεόραση: Η εκπομπή και λήψη του τηλεοπτικού σήματος από επίγειους σταθμούς μεταξύ

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1 Ήχος Χαρακτηριστικά του ήχου Ψηφιοποίηση με μετασχηματισμό Ψηφιοποίηση με δειγματοληψία Κβαντοποίηση δειγμάτων Παλμοκωδική διαμόρφωση Συμβολική αναπαράσταση μουσικής Τεχνολογία Πολυμέσων και Πολυμεσικές

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

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Επίγεια ψηφιακή τηλεόραση

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Επίγεια ψηφιακή τηλεόραση ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ 5 Επίγεια ψηφιακή τηλεόραση Επίγεια τηλεόραση: Η ασύρματη εκπομπή και λήψη του τηλεοπτικού σήματος αποκλειστικά από επίγειους

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

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Ενότητα 3 Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Εισαγωγή στις βασικές έννοιες του στρώµατος Ζεύξης (Data Link Layer) στα δίκτυα ΗΥ Γενικές Αρχές Λειτουργίας ηµιουργία Πλαισίων Έλεγχος

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

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης Κωδικοποίηση Πηγής Coder Decoder Μεταξύ πομπού και καναλιού παρεμβάλλεται ο κωδικοποιητής (coder). Έργο του: η αντικατάσταση των συμβόλων πληροφορίας της πηγής με εναλλακτικά σύμβολα ή λέξεις. Κωδικοποίηση

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ 1.1 Εισαγωγή...11 1.2 Τα κύρια αριθμητικά Συστήματα...12 1.3 Μετατροπή αριθμών μεταξύ των αριθμητικών συστημάτων...13 1.3.1 Μετατροπή ακέραιων

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

Συνδυαστικά Κυκλώματα

Συνδυαστικά Κυκλώματα 3 Συνδυαστικά Κυκλώματα 3.1. ΣΥΝΔΥΑΣΤΙΚΗ Λ ΟΓΙΚΗ Συνδυαστικά κυκλώματα ονομάζονται τα ψηφιακά κυκλώματα των οποίων οι τιμές της εξόδου ή των εξόδων τους διαμορφώνονται αποκλειστικά, οποιαδήποτε στιγμή,

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Συσχέτιση μεταξύ δύο συνόλων δεδομένων

Συσχέτιση μεταξύ δύο συνόλων δεδομένων Διαγράμματα διασποράς (scattergrams) Συσχέτιση μεταξύ δύο συνόλων δεδομένων Η οπτική απεικόνιση δύο συνόλων δεδομένων μπορεί να αποκαλύψει με παραστατικό τρόπο πιθανές τάσεις και μεταξύ τους συσχετίσεις,

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014 ΤΕΧΝΙΚΗ ΣΧΟΛΗ ΜΑΚΑΡΙΟΣ Γ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ: 2013 2014 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΠΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ / ΙΟΥΝΙΟΥ 2014 Κατεύθυνση: ΠΡΑΚΤΙΚΗ Κλάδος: ΗΛΕΚΤΡΟΛΟΓΙΑ Μάθημα: ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Τάξη: A Τμήμα:

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

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 24-5 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης ; Ποιες κατηγορίες

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

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

ΠΡΟΣΟΜΟΙΩΣΗ BPSK ΠΟΜΠΟΔΕΚΤΗ ΜΕ ΚΩΔΙΚΟΠΟΙΗΣΗ HAMMING ΣΕ ΠΕΡΙΒΑΛΛΟΝ AWGN ΕΡΓΑΣΤΗΡΙΟ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΠΡΟΣΟΜΟΙΩΣΗ BPSK ΠΟΜΠΟΔΕΚΤΗ ΜΕ ΚΩΔΙΚΟΠΟΙΗΣΗ HAMMING ΣΕ ΠΕΡΙΒΑΛΛΟΝ AWGN ΕΡΓΑΣΤΗΡΙΟ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΣΟΜΟΙΩΣΗ BPSK ΠΟΜΠΟΔΕΚΤΗ ΜΕ ΚΩΔΙΚΟΠΟΙΗΣΗ HAMMING ΣΕ ΠΕΡΙΒΑΛΛΟΝ AWGN ΕΡΓΑΣΤΗΡΙΟ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΉΜΑ ΕΠΙΣΤΉΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Κ 7 Επικοινωνίες ΙΙ Χειμερινό Εξάμηνο Διάλεξη η Νικόλαος Χ. Σαγιάς Επίκουρος Καθηγητής Webpage: hp://ecla.uop.gr/coure/tst25 e-ail:

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

6.1 Θεωρητική εισαγωγή

6.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 6 ΑΠΟΚΩ ΙΚΟΠΟΙΗΤΕΣ ΚΑΙ ΠΟΛΥΠΛΕΚΤΕΣ Σκοπός: Η κατανόηση της λειτουργίας των κυκλωµάτων ψηφιακής πολυπλεξίας και αποκωδικοποίησης και η εξοικείωση µε τους ολοκληρωµένους

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

Εισαγωγή στα ψηφιακά Συστήµατα Μετρήσεων

Εισαγωγή στα ψηφιακά Συστήµατα Μετρήσεων 1 Εισαγωγή στα ψηφιακά Συστήµατα Μετρήσεων 1.1 Ηλεκτρικά και Ηλεκτρονικά Συστήµατα Μετρήσεων Στο παρελθόν χρησιµοποιήθηκαν µέθοδοι µετρήσεων που στηριζόταν στις αρχές της µηχανικής, της οπτικής ή της θερµοδυναµικής.

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

ΕΝΟΤΗΤΑ 3 3.0 ΜΕΣΑ ΜΕΤΑΔΟΣΗΣ ΕΙΣΑΓΩΓΗ

ΕΝΟΤΗΤΑ 3 3.0 ΜΕΣΑ ΜΕΤΑΔΟΣΗΣ ΕΙΣΑΓΩΓΗ ΕΝΟΤΗΤΑ 3 3.0 ΜΕΣΑ ΜΕΤΑΔΟΣΗΣ ΕΙΣΑΓΩΓΗ Όπως είναι ήδη γνωστό, ένα σύστημα επικοινωνίας περιλαμβάνει τον πομπό, το δέκτη και το κανάλι επικοινωνίας. Στην ενότητα αυτή, θα εξετάσουμε τη δομή και τα χαρακτηριστικά

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

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

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

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Σχέσεις Αναδρομής Γραμμικές Σχέσεις Αναδρομής με σταθερούς συντελεστές

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

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

Ηλεκτρική Ενέργεια. Ηλεκτρικό Ρεύμα

Ηλεκτρική Ενέργεια. Ηλεκτρικό Ρεύμα Ηλεκτρική Ενέργεια Σημαντικές ιδιότητες: Μετατροπή από/προς προς άλλες μορφές ενέργειας Μεταφορά σε μεγάλες αποστάσεις με μικρές απώλειες Σημαντικότερες εφαρμογές: Θέρμανση μέσου διάδοσης Μαγνητικό πεδίο

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

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα Δύο κύριοι τρόποι παρουσίασης δεδομένων Παράδειγμα Με πίνακες Με διαγράμματα Ονομαστικά δεδομένα Εδώ τα περιγραφικά μέτρα (μέσος, διάμεσος κλπ ) δεν έχουν νόημα Πήραμε ένα δείγμα από 25 άτομα και τα ρωτήσαμε

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

Ήχος και φωνή. Τεχνολογία Πολυµέσων 04-1

Ήχος και φωνή. Τεχνολογία Πολυµέσων 04-1 Ήχος και φωνή Φύση του ήχου Ψηφιοποίηση µε µετασχηµατισµό Ψηφιοποίηση µε δειγµατοληψία Παλµοκωδική διαµόρφωση Αναπαράσταση µουσικής Ανάλυση και σύνθεση φωνής Μετάδοση φωνής Τεχνολογία Πολυµέσων 4-1 Φύση

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

Ιόνιο Πανεπιστήμιο Τμήμα Τεχνών Ήχου και Εικόνας. Ακαδημαϊκό Έτος 2006-2007

Ιόνιο Πανεπιστήμιο Τμήμα Τεχνών Ήχου και Εικόνας. Ακαδημαϊκό Έτος 2006-2007 Ιόνιο Πανεπιστήμιο Τμήμα Τεχνών Ήχου και Εικόνας Ακαδημαϊκό Έτος 2006-2007 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος Διδάσκων: Φλώρος Ανδρέας Περιεχόμενα 1 Περιγραφή

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

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση Χειμερινό Εξάμηνο 2013-2014 Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση 5 η Παρουσίαση : Ψηφιακή Επεξεργασία Εικόνας Διδάσκων: Γιάννης Ντόκας Σύνθεση Χρωμάτων Αφαιρετική Παραγωγή Χρώματος Χρωματικά

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

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας, Πανεπιστήμιο Αιγαίου http://www.ct.aegean.gr/people/kalloniatis

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

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

Εργαστήριο 3: Διαλείψεις

Εργαστήριο 3: Διαλείψεις Εργαστήριο 3: Διαλείψεις Διάλειψη (fading) είναι η παραμόρφωση ενός διαμορφωμένου σήματος λόγω της μετάδοσης του σε ασύρματο περιβάλλον. Η προσομοίωση μίας τέτοιας μετάδοσης γίνεται με την μοντελοποίηση

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ. Παραδείγματα Απαρίθμησης Γνωστό: P (M 2 M τρόποι επιλογής υποσυνόλου του M Τεχνικές Απαρίθμησης Πχ M {A, B, C} P (M 2 3 8 #(Υποσυνόλων με 2 στοιχεία ( 3 2 3 #(Διατεταγμένων υποσυνόλων με 2 στοιχεία 3 2

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

Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1. Μιγαδικοί αριθμοί. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1

Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1. Μιγαδικοί αριθμοί. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1 ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1 Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1 Μιγαδικοί αριθμοί Τι είναι και πώς τους αναπαριστούμε Οι μιγαδικοί αριθμοί είναι μια επέκταση του συνόλου

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση 6.1 Επεκτείνοντας το δίκτυο Τοπικά δίκτυα (LAN): επικοινωνία με περιορισμένη απόσταση κάλυψης (μικρή εμβέλεια) Δίκτυα Ευρείας Περιοχής (WAN): επικοινωνία σε ευρύτερη γεωγραφική κάλυψη. Από την άποψη του

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1)

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1) Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1) Το πρόβλημα της επιλογής των μέσων διαφήμισης (??) το αντιμετωπίζουν τόσο οι επιχειρήσεις όσο και οι διαφημιστικές εταιρείες στην προσπάθειά τους ν' αναπτύξουν

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

221 Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας

221 Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας 221 Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Το Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ιδρύθηκε το 1967 ως το πρώτο Τμήμα της Πολυτεχνικής Σχολής. Ο αρχικός τίτλος του

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

Συνδυαστική Απαρίθμηση Υπολογισμός αριθμού διαφορετικών αποτελεσμάτων πειράματος (με συνδυαστικά επιχειρήματα)

Συνδυαστική Απαρίθμηση Υπολογισμός αριθμού διαφορετικών αποτελεσμάτων πειράματος (με συνδυαστικά επιχειρήματα) Συνδυαστική Απαρίθμηση Υπολογισμός αριθμού διαφορετικών αποτελεσμάτων πειράματος (με συνδυαστικά επιχειρήματα) Πείραμα: διαδικασία που παράγει πεπερασμένο σύνολο αποτελεσμάτων Πληθικός αριθμός συνόλου

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

ΑΔΑΜΑΝΤΙΑ Κ. ΣΠΑΝΑΚΑ Σύντομες Προδιαγραφές Συγγραφής Εκπαιδευτικού Υλικού εξ αποστάσεως εκπαίδευσης: Σημεία Προσοχής ΠΛΣ

ΑΔΑΜΑΝΤΙΑ Κ. ΣΠΑΝΑΚΑ Σύντομες Προδιαγραφές Συγγραφής Εκπαιδευτικού Υλικού εξ αποστάσεως εκπαίδευσης: Σημεία Προσοχής ΠΛΣ ΑΔΑΜΑΝΤΙΑ Κ. ΣΠΑΝΑΚΑ Σύντομες Προδιαγραφές Συγγραφής Εκπαιδευτικού Υλικού εξ αποστάσεως εκπαίδευσης: Σημεία Προσοχής ΠΛΣ Πρόκληση ο σχεδιασμός κι η ανάπτυξη εξ αποστάσεως εκπαιδευτικού υλικού. Ζητούμενο

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

Εισαγωγή. Προχωρημένα Θέματα Τηλεπικοινωνιών. Ανάκτηση Χρονισμού. Τρόποι Συγχρονισμού Συμβόλων. Συγχρονισμός Συμβόλων. t mt

Εισαγωγή. Προχωρημένα Θέματα Τηλεπικοινωνιών. Ανάκτηση Χρονισμού. Τρόποι Συγχρονισμού Συμβόλων. Συγχρονισμός Συμβόλων. t mt Προχωρημένα Θέματα Τηλεπικοινωνιών Συγχρονισμός Συμβόλων Εισαγωγή Σε ένα ψηφιακό τηλεπικοινωνιακό σύστημα, η έξοδος του φίλτρου λήψης είναι μια κυματομορφή συνεχούς χρόνου y( an x( t n ) n( n x( είναι

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

Αναπαράσταση Μη Αριθμητικών Δεδομένων

Αναπαράσταση Μη Αριθμητικών Δεδομένων Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/

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

ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ MIDI

ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ MIDI ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ MIDI Τί είναι το MIDI; Το MIDI (Musical Instrument Digital Interface) είναι ένα πρωτόκολλο επικοινωνίας μεταξύ 2 ή περισσοτέρων ηλεκτρονικών μουσικών οργάνων. Μέσω του πρωτοκόλλου αυτού

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

ΤΕΧΝΟΛΟΓΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ 2Ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ

ΤΕΧΝΟΛΟΓΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ 2Ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ ΤΕΧΝΟΛΟΓΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ 2Ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ 1. Να αναφέρετε μερικές από τις σημαντικότερες εξελίξεις και εφευρέσεις στην ιστορία των συστημάτων επικοινωνίας. Η ανακάλυψη του κινητού τυπογραφικού

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

Υπολογιστικές Μέθοδοι στις Κατασκευές

Υπολογιστικές Μέθοδοι στις Κατασκευές Γενικά Για Τη Βελτιστοποίηση Η βελτιστοποίηση µπορεί να χωριστεί σε δύο µεγάλες κατηγορίες: α) την Βελτιστοποίηση Τοπολογίας (Topological Optimization) και β) την Βελτιστοποίηση Σχεδίασης (Design Optimization).

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

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση Κρυπτογραφία Κεφάλαιο 1 Γενική επισκόπηση Ανασκόπηση ύλης Στόχοι της κρυπτογραφίας Ιστορικό Γενικά χαρακτηριστικά Κλασσική κρυπτογραφία Συμμετρικού κλειδιού (block ciphers stream ciphers) Δημοσίου κλειδιού

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

Ψηφιακά Φίλτρα. Αναλογικά και ψηφιακά φίλτρα 20/5/2005 1 20/5/2005 2

Ψηφιακά Φίλτρα. Αναλογικά και ψηφιακά φίλτρα 20/5/2005 1 20/5/2005 2 Ψηφιακά Φίλτρα Αναλογικά και ψηφιακά φίλτρα 20/5/2005 1 Αναλογικά και ψηφιακά φίλτρα Στην επεξεργασία σήματος, η λειτουργία ενός φίλτρου είναι να απομακρύνει τα ανεπιθύμητα μέρη ενός σήματος, όπως ένα

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

Επιδόσεις της σύνδεσης για κάλυψη µε κεραία πολλαπλής δέσµης σε σχέση µε κάλυψη µε κεραία απλής δέσµης

Επιδόσεις της σύνδεσης για κάλυψη µε κεραία πολλαπλής δέσµης σε σχέση µε κάλυψη µε κεραία απλής δέσµης Επιδόσεις της σύνδεσης για κάλυψη µε κεραία πολλαπλής δέσµης σε σχέση µε κάλυψη µε κεραία απλής δέσµης Η συνολική ποιότητα της σύνδεσης µέσω ραδιοσυχνοτήτων εξαρτάται από την 9000 απολαβή της κεραίας του

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

Β2.6 Άλλες Περιφερειακές Συσκευές και Κάρτες Επέκτασης

Β2.6 Άλλες Περιφερειακές Συσκευές και Κάρτες Επέκτασης Β2.6 Άλλες Περιφερειακές Συσκευές και Κάρτες Επέκτασης Τι θα μάθουμε σήμερα: Να αναγνωρίζουμε και να ονομάζουμε άλλες περιφερειακές συσκευές και κάρτες επέκτασης Να εντοπίζουμε τα κύρια χαρακτηριστικά

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

ΕΙΣΑΓΩΓΗ. Βασικές έννοιες

ΕΙΣΑΓΩΓΗ. Βασικές έννοιες ΕΙΣΑΓΩΓΗ Βασικές έννοιες Σε ένα ερωτηματολόγιο έχουμε ένα σύνολο ερωτήσεων. Μπορούμε να πούμε ότι σε κάθε ερώτηση αντιστοιχεί μία μεταβλητή. Αν θεωρήσουμε μια ερώτηση, τα άτομα δίνουν κάποιες απαντήσεις

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

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ Ο όρος είναι συντομογραφία του όρου «Αυτόματος, Ηλεκτρονικός Ψηφιακός Υπολογιστής Γενικού Σκοπού» [1]. Αυτόματος Μετά την έναρξη της λειτουργίας του εργάζεται μόνος του εκτελώντας

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

Ψηφιακές Επικοινωνίες

Ψηφιακές Επικοινωνίες Τεχνική Εκπαίδευση Ψηφιακές Επικοινωνίες Παναγιώτης Γεώργιζας BEng Cybernetics with Automotive Electronics MSc Embedded Systems Engineering Θέματα που θα αναλυθούν Στόχοι του σεμιναρίου Λίγη Θεωρία για

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007 Μάθημα : Ψηφιακά Ηλεκτρονικά Τεχνολογία ΙΙ Τεχνικών Σχολών, Θεωρητικής Κατεύθυνσης

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Εισαγωγή στην Αρχιτεκτονική Η/Υ Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2014-15 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

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

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι Παύλος Εφραιμίδης 1 περιεχόμενα αλγόριθμοι τεχνολογία αλγορίθμων 2 αλγόριθμοι αλγόριθμος: οποιαδήποτε καλά ορισμένη υπολογιστική διαδικασία που δέχεται κάποια τιμή ή κάποιο σύνολο τιμών, και δίνεικάποιατιμήήκάποιοσύνολοτιμώνως

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

ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1. Τελεστές και πίνακες. 1. Τελεστές και πίνακες Γενικά. Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο.

ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1. Τελεστές και πίνακες. 1. Τελεστές και πίνακες Γενικά. Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1 Τελεστές και πίνακες 1. Τελεστές και πίνακες Γενικά Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο. Ανάλογα, τελεστής είναι η απεικόνιση ενός διανύσματος σε ένα

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

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2014-15 Διασύνδεση Εισόδου-Εξόδου (συσκευές και ) http://www.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Διασυνδετικοί : Αναλαμβάνουν την

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

5η Δραστηριότητα. Λύσε το γρίφο Η Θεωρία της Πληροφορίας. Περίληψη. Λπν τ φνντ π τν πρτσ. Ικανότητες. Ηλικία. Υλικά

5η Δραστηριότητα. Λύσε το γρίφο Η Θεωρία της Πληροφορίας. Περίληψη. Λπν τ φνντ π τν πρτσ. Ικανότητες. Ηλικία. Υλικά 5η Δραστηριότητα Λύσε το γρίφο Η Θεωρία της Πληροφορίας Περίληψη Πόση πληροφορία περιέχεται σε ένα βιβλίο των 1000 σελίδων; Υπάρχει περισσότερη πληροφορία σε έναν τηλεφωνικό κατάλογο των 1000 σελίδων ή

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005. Στοιχειώδης Λογικές Συναρτήσεις

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005. Στοιχειώδης Λογικές Συναρτήσεις ΗΜΥ 2: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 25 Μαρ-5 ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 25 Κεφάλαιο 4 -i: Βασικές Συνδυαστικές Συναρτήσεις και Κυκλώµατα Περίληψη Συναρτήσεις και συναρτησιακές (λειτουργικές)

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

B Γυμνασίου. Ενότητα 9

B Γυμνασίου. Ενότητα 9 B Γυμνασίου Ενότητα 9 Γραμμικές εξισώσεις με μία μεταβλητή Διερεύνηση (1) Να λύσετε τις πιο κάτω εξισώσεις και ακολούθως να σχολιάσετε το πλήθος των λύσεων που βρήκατε σε καθεμιά. α) ( ) ( ) ( ) Διερεύνηση

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 006 Μάθημα : Τεχνολογία Ηλεκτρονικών Επικοινωνιών Τεχνολογία Ι, Πρακτικής Κατεύθυνσης

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

Εφαρμογές της κινητής τηλεφωνίας στην ιατρική

Εφαρμογές της κινητής τηλεφωνίας στην ιατρική Εφαρμογές της κινητής τηλεφωνίας στην ιατρική Λεωνίδας Μανωλόπουλος Αναπληρωτής Καθηγητής, Ιατρική Σχολή Παν/μίου Αθηνών Εισαγωγή Τα κινητά τηλέφωνα αποτελούν αναπόσπαστο τμήμα της καθημερινής ζωής στον

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

Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Κεφάλαιο 4 Διανυσματικοί Χώροι

Κεφάλαιο 4 Διανυσματικοί Χώροι Κεφάλαιο Διανυσματικοί Χώροι Διανυσματικοί χώροι - Βασικοί ορισμοί και ιδιότητες Θεωρούμε τρία διαφορετικά σύνολα: Διανυσματικοί Χώροι α) Το σύνολο διανυσμάτων (πινάκων με μία στήλη) με στοιχεία το οποίο

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

Πανεπιστήμιο Κύπρου. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ)

Πανεπιστήμιο Κύπρου. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) 26/01/2014 Συνεισφορά του κλάδους ΗΜΜΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ευρύ φάσμα γνώσεων και επιστημονικών

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

Σχήμα Χαμηλοδιαβατά φίλτρα:

Σχήμα Χαμηλοδιαβατά φίλτρα: ΦΙΛΤΡΑ 6.. ΦΙΛΤΡΑ Το φίλτρο είναι ένα σύστημα του οποίου η απόκριση συχνότητας παίρνει σημαντικές τιμές μόνο για συγκεκριμένες ζώνες του άξονα συχνοτήτων. Στο Σχήμα 6.6 δείχνουμε την απόκριση συχνότητας

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

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

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΙΣΑΓΩΓΗ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΤΙ ΕΙΝΑΙ ΤΑ ΜΑΘΗΜΑΤΙΚΑ; Η επιστήμη των αριθμών Βασανιστήριο για τους μαθητές και φοιτητές Τέχνη για τους μαθηματικούς ΜΑΘΗΜΑΤΙΚΑ Α Εξάμηνο ΙΩΑΝΝΗΣ

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

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

Κινητές και Δορυφορικές Επικοινωνίες

Κινητές και Δορυφορικές Επικοινωνίες Πανεπιστήμιο Αιγαίου Κινητές και Δορυφορικές Επικοινωνίες Πρόγραμμα Μεταπτυχιακών Σπουδών Κατεύθυνση: «Τεχνολογίες Δικτύων Επικοινωνιών & Υπολογιστών» Βασικές Αρχές Κυψελωτών Συστημάτων Δημοσθένης Βουγιούκας

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

ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ & ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2001-2 ΘΕΜΑΤΑ

ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ & ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2001-2 ΘΕΜΑΤΑ ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ & ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2001-2 ΘΕΜΑΤΑ ΘΕΜΑ1ο Α.1 Να αναφέρετε ονομαστικά τα πέντε (5) υποσυστήματα με τα οποία υλοποιείται

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Τα αρχεία των διαλέξεων του μαθήματος μπορείτε να βρείτε στο: http://eclass.gunet.gr/

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΛΑΜΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΛΑΜΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑ: «ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ-ΚΩ ΙΚΕΣ» ρ. ΒΑΡΖΑΚΑΣ ΠΑΝΑΓΙΩΤΗΣ ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

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

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 04/05/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

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

Κινητές επικοινωνίες. Κεφάλαιο 7 Άσκηση επανάληψης Καθολική σχεδίαση δικτύου

Κινητές επικοινωνίες. Κεφάλαιο 7 Άσκηση επανάληψης Καθολική σχεδίαση δικτύου Κινητές επικοινωνίες Κεφάλαιο 7 Άσκηση επανάληψης Καθολική σχεδίαση δικτύου 1 Σχεδίαση συστήματος Η εταιρία μας θέλει να καλύψει με κυψελωτό σύστημα τηλεφωνίας μία πόλη επιφάνειας 20000 km 2 (συχνότητα

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Μια εισαγωγή στο φίλτρο Kalman

Μια εισαγωγή στο φίλτρο Kalman 1 Μια εισαγωγή στο φίλτρο Kalman Το 1960, R.E. Kalman δημόσιευσε το διάσημο έγγραφό του περιγράφοντας μια επαναλαμβανόμενη λύση στο γραμμικό πρόβλημα φιλτραρίσματος διακριτών δεδομένων. Από εκείνη τη στιγμή,

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

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

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

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

219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης

219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης 219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης Το Τμήμα Ηλεκτρολόγων Μηχανικών ιδρύθηκε με το ΒΔ.400/72 και άρχισε να λειτουργεί το 1972-73. Το ΑΠΘ είχε τότε ήδη 28.000 φοιτητές. Η ακριβής

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

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

Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις

Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις 2 ΕΡΩΤΗΣΕΙΙΣ ΘΕΩΡΙΙΑΣ ΑΠΟ ΤΗΝ ΥΛΗ ΤΗΣ Β ΤΑΞΗΣ ΜΕΡΟΣ Α -- ΑΛΓΕΒΡΑ Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις Α. 1 1 1. Τι ονομάζεται Αριθμητική και τι Αλγεβρική παράσταση; Ονομάζεται Αριθμητική παράσταση μια παράσταση

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Μετρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Μετρητής Ριπής Σύγχρονος υαδικός Μετρητής

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

Κεφάλαιο 3-3.1 Μέσα Μετάδοσης

Κεφάλαιο 3-3.1 Μέσα Μετάδοσης Κεφάλαιο 3-3.1 Μέσα Μετάδοσης Γεώργιος Γιαννόπουλος, ΠΕ19 ggiannop (at) sch.gr σελ. 71-80 - http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Εισαγωγή: Μέσο Μετάδοσης Είναι η φυσική

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

Διάρθρωση. Δίκτυα Υπολογιστών Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο. Αναγκαιότητα και ορισμός λογικής σύνδεσης. Διάρθρωση

Διάρθρωση. Δίκτυα Υπολογιστών Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο. Αναγκαιότητα και ορισμός λογικής σύνδεσης. Διάρθρωση Δίκτυα Υπολογιστών Αξιόπιστη επικοινωνία μέσα από ένα σύνδεσμο Ευάγγελος Παπαπέτρου Τμ Μηχ Η/Υ & Πληροφορικής, Παν Ιωαννίνων 1 Λογική σύνδεση 2 Πλαισίωση 3 Ανίχνευση και διόρθωση σφαλμάτων 4 5 Έλεγχος

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