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

Μέγεθος: 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

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 10 : Κωδικοποίηση καναλιού Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Απόσταση και βάρος Hamming Τεχνικές και κώδικες ανίχνευσης &

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

Nέες Τεχνολογίες. στις Επικοινωνίες

Nέες Τεχνολογίες. στις Επικοινωνίες Τεχνολογικό Εκπαιδευτικό Ίδρυμα Σερρών Τμήμα Πληροφορικής & Επικοινωνιών Nέες Τεχνολογίες στις Επικοινωνίες Δρ. Δημήτριος Ευσταθίου Επίκουρος Καθηγητής Κώδικες Διόρθωσης Λαθών Τεχνολογικό Εκπαιδευτικό

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

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

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

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Τεχνικές Διόρθωσης Λαθών Κώδικες εντοπισμού λαθών Κώδικες εντοπισμού

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

Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Τμήμα Μηχανικών Η/Υ και Πληροφορικής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Εργαστήριο Επεξεργασίας Σημάτων και Τηλεπικοινωνιών Ασύρματες και Κινητές Επικοινωνίες Κωδικοποίηση καναλιού Τι θα δούμε στο μάθημα Σύντομη εισαγωγή Γραμμικοί κώδικες

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

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ: ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ ΣΕ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΔΙΚΤΥΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ: ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ ΣΕ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΔΙΚΤΥΑ ΑΝΙΧΝΕΥΣΗ ΣΦΑΛΜΑΤΩΝ: Κυκλικός Έλεγχος Πλεονασμού CRC codes Cyclic Redundancy Check codes Ο μηχανισμός ανίχνευσης σφαλμάτων στις επικοινωνίες

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

Σχεδίαση αποκωδικοποιητή VLSI για κώδικες LDPC

Σχεδίαση αποκωδικοποιητή VLSI για κώδικες LDPC ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Μεταπτυχιακό Δίπλωμα Ειδίκευσης «Ολοκληρωμένα Συστήματα Υλικού & Λογισμικού» Σχεδίαση αποκωδικοποιητή VLSI για κώδικες LDPC Τσατσαράγκος Ιωάννης Μεταπτυχιακή

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

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Κωδικοποίηση καναλιού: Σύντομη επανάληψη Συνελικτικοί κώδικες Ιστορική

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 8 ο Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα Βασική Θεωρία Σε ένα σύστημα μετάδοσης

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

Αντικείμενο και συνεισφορά της Διπλωματικής Εργασίας Οι LDPC κώδικες χρησιμοποιούνται ευρέως στις μέρες μας σε ψηφιακά τηλεπικοινωνιακά συστήματα ασύρ

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

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

ΚΩΔΙΚΕΣ LDPC Τεχνικές Κωδικοποίησης

ΚΩΔΙΚΕΣ LDPC Τεχνικές Κωδικοποίησης ΚΩΔΙΚΕΣ LDPC Τεχνικές Κωδικοποίησης 2010-2011 1 Καράς Δημήτριος, ΑΕΜ 6375 Χρόνης Θεόδωρος, ΑΕΜ 2628 Ημερομηνία: 25-10-2011 Κώδικες LDPC Ιστορικά στοιχεία LDPC: Low Density Parity Check, χαμηλής πυκνότητας

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

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣΟΡ Κεφάλαιο 1 : Εισαγωγή στη Θεωρία ωία Πληροφορίας Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Έννοια της πληροφορίας Άλλες βασικές έννοιες Στόχος

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

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τομέας Επικοινωνιών και Επεξεργασίας Σήματος Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

Θεωρία Πληροφορίας. Διάλεξη 12:Κωδικοποίηση Καναλιού με Κώδικες Turbo. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 12:Κωδικοποίηση Καναλιού με Κώδικες Turbo. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 12:Κωδικοποίηση Καναλιού με Κώδικες Turbo Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Κώδικες turbo 2 Κώδικες Turbo Η ιδέα για τους κώδικες turbo διατυπώθηκε για

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

«ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ»

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

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

Διόρθωση λαθών με τη χρήση κωδίκων RS-LDPC

Διόρθωση λαθών με τη χρήση κωδίκων RS-LDPC ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Μεταπτυχιακό Δίπλωμα Ειδίκευσης «Ολοκληρωμένα Συστήματα Υλικού & Λογισμικού» Διόρθωση λαθών με τη χρήση κωδίκων RS-LDPC Μεταπτυχιακή Διπλωματική Εργασία

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

Σήματα και Συστήματα. Διάλεξη 1: Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Σήματα και Συστήματα. Διάλεξη 1: Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Σήματα και Συστήματα Διάλεξη 1: Σήματα Συνεχούς Χρόνου Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Εισαγωγή στα Σήματα 1. Σκοποί της Θεωρίας Σημάτων 2. Κατηγορίες Σημάτων 3. Χαρακτηριστικές Παράμετροι

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

Ψηφιακή Μετάδοση Αναλογικών Σηµάτων

Ψηφιακή Μετάδοση Αναλογικών Σηµάτων Ψηφιακή Μετάδοση Αναλογικών Σηµάτων Τα σύγχρονα συστήµατα επικοινωνίας σε πολύ µεγάλο ποσοστό διαχειρίζονται σήµατα ψηφιακής µορφής, δηλαδή, σήµατα που δηµιουργούνται από ακολουθίες δυαδικών ψηφίων. Τα

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

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο Μοντέλο Επικοινωνίας Δεδομένων Επικοινωνίες Δεδομένων Μάθημα 6 ο Εισαγωγή Με τη βοήθεια επικοινωνιακού σήματος, κάθε μορφή πληροφορίας (κείμενο, μορφή, εικόνα) είναι δυνατόν να μεταδοθεί σε απόσταση. Ανάλογα

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

Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων

Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων Εντοπισµός σφαλµάτων Εντοπισµός ιόρθωση Προστίθενται bit πλεονασµού Αν µπορεί διορθώνει, (forward error correction) αλλιώς ζητά επανεκποµπή (backward error correction)

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΥΛΟΠΟΙΗΣΗ (ΣΕ ΛΟΓΙΣΜΙΚΟ) ΚΩ ΙΚΑ ΤΥΠΟΥ TURBO ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΗΣ ΚΟΥΤΡΟΥΜΑΝΗ ΟΛΓΑΣ του ΑΘΑΝΑΣΙΟΥ

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

Σταθερή περιβάλλουσα (Constant Envelope)

Σταθερή περιβάλλουσα (Constant Envelope) Διαμόρφωση ολίσθησης φάσης (Phase Shift Keying-PSK) Σταθερή περιβάλλουσα (Constant Envelope) Ίση Ενέργεια συμβόλων 1 Binary Phase Shift keying (BPSK) BPSK 2 Quaternary Phase Shift Keying (QPSK) 3 Αστερισμός-Διαγράμματα

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

Μέθοδοι Ελέγχου Σφαλμάτων

Μέθοδοι Ελέγχου Σφαλμάτων Μέθοδοι Ελέγχου Σφαλμάτων Έλεγχος Ισοτιμίας (Parity Check) Άθροισμα Ελέγχου (Checksum) Έλεγχος κυκλικού πλεονασμού (CRC- Cyclic Redundancy Check) Μερικά μπορεί να μεταφερθούν λάθος, πχ λόγω θορύβου Θα

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

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM)

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 8 ο : Προσαρμοσμένα Φίλτρα Βασική

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 1: Χωρητικότητα Καναλιών Το θεώρημα Shannon - Hartley Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Δυαδική σηματοδοσία 2. Μορφές δυαδικής σηματοδοσίας 3.

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

Καναλιού. Καναλιού. Προχωρημένα Θέματα Τηλεπικοινωνιών. Κατηγορίες Κωδικών Καναλιού. Τι πετυχαίνει η Κωδ. Καναλιού. Κωδικοποίηση Καναλιού.

Καναλιού. Καναλιού. Προχωρημένα Θέματα Τηλεπικοινωνιών. Κατηγορίες Κωδικών Καναλιού. Τι πετυχαίνει η Κωδ. Καναλιού. Κωδικοποίηση Καναλιού. Προχωρημένα Θέματα Τηλεπικοινωνιών Πηγή Δεδομένων Κωδικοποίηση Καναλιού Κώδικας Πηγής Κώδικας Καναλιού Διαμόρφωση Κανάλι Δέκτης Δεδομένων Αποκωδ/ση Πηγής Αποκωδ/ση Καναλιού Αποδιαμόρφωση Κωδικοποίηση Καναλιού

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 5 ο : Προσαρμοσμένα Φίλτρα Βασική

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

Γραφική αναπαράσταση ενός ψηφιακού σήµατος

Γραφική αναπαράσταση ενός ψηφιακού σήµατος γ) Ψηφιακάτα x (n) 3 2 1 1 2 3 n Γραφική αναπαράσταση ενός ψηφιακού σήµατος Αφού δειγµατοληπτηθεί και κβαντιστεί η έξοδος µιας αναλογικής πηγής πληροφορίας, δηµιουργείταιµιαακολουθίααπόκβαντισµένεςτιµές

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

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ Αρχές σχεδιασμού, μοντέλα αναφοράς, τυποποίηση Μιλτιάδης Αναγνώστου 19 Μαΐου 2011 1/41 Βασικές λειτουργίες Ανίχνευση πλαισίων Επίδραση του θορύβου Παραδείγματα 2/41 Βασικές λειτουργίες Ανίχνευση πλαισίων

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

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

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

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

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

Μετάδοση πληροφορίας - Διαμόρφωση

Μετάδοση πληροφορίας - Διαμόρφωση Μετάδοση πληροφορίας - Διαμόρφωση MYE006: ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ Ευάγγελος Παπαπέτρου ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΗΧ. Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Διάρθρωση μαθήματος Μετάδοση Βασικές έννοιες Διαμόρφωση ορισμός είδη

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

Παναγιώτης Μαθιόπουλος Ph.D.

Παναγιώτης Μαθιόπουλος Ph.D. ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Παναγιώτης Μαθιόπουλος Ph.D. Καθηγητής Ψηφιακών Επικοινωνιών Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΚΠΑ Professor (1989 2003) Department of Electrical and Computer Engineering The

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

Μελέτη και αξιολόγηση τυχαίων Low Density Parity Check Κωδίκων σε περιβάλλον AWGN

Μελέτη και αξιολόγηση τυχαίων Low Density Parity Check Κωδίκων σε περιβάλλον AWGN ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Διπλωματική εργασία Μελέτη και αξιολόγηση τυχαίων Low Density Parity

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

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM)

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

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

Ευρυζωνικά δίκτυα (2) Αγγελική Αλεξίου

Ευρυζωνικά δίκτυα (2) Αγγελική Αλεξίου Ευρυζωνικά δίκτυα (2) Αγγελική Αλεξίου alexiou@unipi.gr 1 Σήματα και πληροφορία Βασικές έννοιες 2 Αναλογικά και Ψηφιακά Σήματα Στις τηλεπικοινωνίες συνήθως χρησιμοποιούμε περιοδικά αναλογικά σήματα και

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

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Σημειώσεις Δικτύων Αναλογικά και ψηφιακά σήματα Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Χαρακτηριστικά

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

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015 EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας Φυλλάδιο 13 Δ. Τουμπακάρης 30 Μαΐου 2015 EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια Παράδοση:

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α)

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) 3.1. ΣΚΟΠΟΣ ΑΣΚΗΣΗΣ Σκοπός της εργαστηριακής αυτής άσκησης είναι η μελέτη της παλμοκωδικής διαμόρφωσης που χρησιμοποιείται στα σύγχρονα τηλεπικοινωνιακά

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

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Διακριτές Πηγές Πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Συστηματική Σχεδίαση Αρχιτεκτονικών Αποκωδικοποιητών LDPC

Συστηματική Σχεδίαση Αρχιτεκτονικών Αποκωδικοποιητών LDPC ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ «ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ» Συστηματική Σχεδίαση Αρχιτεκτονικών Αποκωδικοποιητών LDPC ΔΙΠΛΩΜΑΤΙΚΗ

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

Μετάδοση πληροφορίας - Διαμόρφωση

Μετάδοση πληροφορίας - Διαμόρφωση ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΗΧ. Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Μετάδοση πληροφορίας - Διαμόρφωση MYE006-ΠΛΕ065: ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ Ευάγγελος Παπαπέτρου Διάρθρωση μαθήματος Βασικές έννοιες μετάδοσης Διαμόρφωση ορισμός

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

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

Συνδυαστικά Λογικά Κυκλώματα Συνδυαστικά Λογικά Κυκλώματα Ένα συνδυαστικό λογικό κύκλωμα συντίθεται από λογικές πύλες, δέχεται εισόδους και παράγει μία ή περισσότερες εξόδους. Στα συνδυαστικά λογικά κυκλώματα οι έξοδοι σε κάθε χρονική

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 11: Κωδικοποίηση Πηγής Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Αλγόριθμοι κωδικοποίησης πηγής Αλγόριθμος Fano Αλγόριθμος Shannon Αλγόριθμος Huffman

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

Συστήματα Επικοινωνιών ΙI

Συστήματα Επικοινωνιών ΙI + Διδάσκων: Δρ. Κ. Δεμέστιχας e-mail: cdemestichas@uowm.gr Συστήματα Επικοινωνιών ΙI Παλμοκωδική διαμόρφωση (PCM) I + Ιστοσελίδα nιστοσελίδα του μαθήματος: n https://eclass.uowm.gr/courses/icte302/ + Περιεχόμενα

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

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ.   url: στους Ηλεκτρονικούς Υπολογιστές 5 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 6 ο : Διαμόρφωση Θέσης Παλμών Βασική Θεωρία Μ-αδική Διαμόρφωση Παλμών Κατά την μετατροπή

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Συστήματα Επικοινωνιών

Συστήματα Επικοινωνιών Συστήματα Επικοινωνιών Ενότητα 10: Ψηφιακή Μετάδοση Βασικής Ζώνης Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Παρουσίαση των πινάκων αναζήτησης

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

Συστήματα Επικοινωνιών

Συστήματα Επικοινωνιών Συστήματα Επικοινωνιών Ενότητα 5: Μαθιόπουλος Παναγιώτης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιγραφή ενότητας Πλεονεκτήματα-Μειονεκτήματα ψηφιακών επικοινωνιών, Κριτήρια Αξιολόγησης

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

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 9 : Κανάλι-Σύστημα Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Ομιλίας Χωρητικότητα Χ ό καναλιού Το Gaussian κανάλι επικοινωνίας Τα διακριτά

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

ΕΠΙΚΟΙΝΩΝΙΕΣ, ΔΙΚΤΥΑ & ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΠΙΚΟΙΝΩΝΙΕΣ, ΔΙΚΤΥΑ & ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ, ΔΙΚΤΥΑ & ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2ο ΑΝΑΛΟΓΙΚΑ - ΨΗΦΙΑΚΑ ΣΗΜΑΤΑ & ΑΡΧΕΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Πληροφορία Επικοινωνία συντελείται με τη μεταβίβαση μηνυμάτων από ένα πομπό σε ένα δέκτη. Μήνυμα

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 5 ο : Διαμόρφωση Παλμών Βασική Θεωρία Μ-αδική Διαμόρφωση Παλμών Κατά την μετατροπή

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

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

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

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

Μέρος Β - Δίκτυα. Ασκήσεις I. Ποιος ο ρόλος του πομπού και του δέκτη στο μοντέλο επικοινωνίας που α- πεικονίζεται στο σχήμα που ακολουθεί; Μ Δεδομένα

Μέρος Β - Δίκτυα. Ασκήσεις I. Ποιος ο ρόλος του πομπού και του δέκτη στο μοντέλο επικοινωνίας που α- πεικονίζεται στο σχήμα που ακολουθεί; Μ Δεδομένα Μέρος Β - Δίκτυα 1 η Διδακτική Ενότητα Μοντέλο επικοινωνίας δεδομένων - Κώδικες - Σήματα Προβλεπόμενες διδακτικές ώρες: 1 Λέξεις Κλειδιά ASCII BCD Unicode αναλογικό σήμα ΕΛΟΤ-928 επικοινωνία δεδομένων

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Τι είναι επικοινωνία; Είναι η διαδικασία αποστολής πληροφοριών από ένα πομπό σε κάποιο δέκτη. Η Τηλεπικοινωνία είναι η επικοινωνία από απόσταση (τηλε-).

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

K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες

K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 4 Λειτουργία Πολυπλέκτης (Mul plexer) Ο

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

Εισαγωγή στους Η/Υ. Ενότητα 8: Μετάδοση Δεδομένων. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στους Η/Υ. Ενότητα 8: Μετάδοση Δεδομένων. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Εισαγωγή στους Η/Υ Ενότητα 8: Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση του τρόπου με τον οποίο στέλνεται ένα πακέτο δεδομένων

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

Πολυπλεξία. http://diktya-epal-b.ggia.info Creative Commons License 3.0 Share-Alike

Πολυπλεξία. http://diktya-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπλεξία Ανάλυση σημάτων στο πεδίο χρόνου, συχνότητας, πολυπλεξία διαίρεσης συχνότητας, πολυπλεξία διαίρεσης χρόνου (1.6 ενότητα σελ 19-20, 29-30 και στοιχεία από 2.1 ενότητα σελ. 52-58). http://diktya-epal-b.ggia.info

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

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9 Πρόλογος 1 Μαθηµατικό υπόβαθρο 7 1 Μαθηµατικό υπόβαθρο 9 1.1 Η αριθµητική υπολοίπων.............. 10 1.2 Η πολυωνυµική αριθµητική............ 14 1.3 Θεωρία πεπερασµένων οµάδων και σωµάτων.... 17 1.4 Πράξεις

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

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

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

Σεραφείµ Καραµπογιάς Στοιχεία ενός Συστήµατος Ηλεκτρικής Επικοινωνίας

Σεραφείµ Καραµπογιάς Στοιχεία ενός Συστήµατος Ηλεκτρικής Επικοινωνίας Στοιχεία ενός Συστήµατος Ηλεκτρικής Επικοινωνίας Ο σκοπός του συστήµατος επικοινωνίας είναι να µεταδώσει πληροφορία (transmission of information) από ένα σηµείο του χώρου, που λέγεται πηγή, σε ένα άλλο

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 7 ο : Διαμόρφωση Θέσης Παλμών

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

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν

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

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

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ Ο πραγματικός κόσμος είναι ένας αναλογικός κόσμος. Όλα τα μεγέθη παίρνουν τιμές με άπειρη ακρίβεια. Π.χ. το ηλεκτρικό σήμα τάσης όπου κάθε

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 9 ο : Διαμόρφωση BPSK & QPSK Βασική Θεωρία Εισαγωγή Κατά την μετάδοση ψηφιακών δεδομένων

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θ.Ε. ΠΛΗ22 (2012-13) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #4. Έκδοση v2 με διόρθωση τυπογραφικού λάθους στο ερώτημα 6.3 Στόχος: Βασικό στόχο της 4 ης εργασίας αποτελεί η εξοικείωση με τα μέτρα ποσότητας πληροφορίας τυχαίων

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 4 ο : Διαμόρφωση Παλμών Βασική

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

Εξομοίωση Τηλεπικοινωνιακού Συστήματος Βασικής Ζώνης

Εξομοίωση Τηλεπικοινωνιακού Συστήματος Βασικής Ζώνης Πανεπιστήμιο Πατρών Τμήμα Μηχ. Η/Υ & Πληροφορικής Ακαδημαϊκό Έτος 009-010 Ψ Η Φ Ι Α Κ Ε Σ Τ Η Λ Ε Π Ι Κ Ο Ι Ν Ω Ν Ι ΕΣ η Εργαστηριακή Άσκηση: Εξομοίωση Τηλεπικοινωνιακού Συστήματος Βασικής Ζώνης Στην άσκηση

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

ΚΥΚΛΩΜΑ ΥΠΟΛΟΓΙΣΜΟΥ ΣΥΝΔΡΟΜΟΥ. ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ BCC (1) (Υπολογισμός Συνδρόμου)

ΚΥΚΛΩΜΑ ΥΠΟΛΟΓΙΣΜΟΥ ΣΥΝΔΡΟΜΟΥ. ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ BCC (1) (Υπολογισμός Συνδρόμου) ΚΥΚΛΩΜΑ ΥΠΟΛΟΓΙΣΜΟΥ ΣΥΝΔΡΟΜΟΥ... Πύλη Ανασύζευξη πριν την ολίσθηση g g g -k- + s o + s +... + S -k- Πύλη Διάνυσμα λήψης R(x) Κύκλωμα ανάλογο με αυτό του κωδικοποιητή Βήματα:. iitializatio s i = πύλη off,

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

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

Ψηφιακές Επικοινωνίες Ψηφιακές Επικοινωνίες Ενότητα 2: Παναγιώτης Μαθιόπουλος Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εισαγωγή (1) Οι Ψηφιακές Επικοινωνίες (Digital Communications) καλύπτουν σήμερα το

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

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

«Επικοινωνίες δεδομένων»

«Επικοινωνίες δεδομένων» Εργασία στο μάθημα «Διδακτική της Πληροφορικής» με θέμα «Επικοινωνίες δεδομένων» Αθήνα, Φεβρουάριος 2011 Χρονολογική απεικόνιση της εξέλιξης των Τηλεπικοινωνιών Χρονολογική απεικόνιση της εξέλιξης των

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 3: Εισαγωγή στην Έννοια της Διαμόρφωσης Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Η ανάγκη για διαμόρφωση 2. Είδη διαμόρφωσης 3. Διαμόρφωση με ημιτονοειδές

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) Τα ηλεκτρονικά κυκλώματα, ιδιαίτερα τα ψηφιακά χρησιμοποιούνται για την υλοποίηση λογικών συναρτήσεων και την αποθήκευση

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

Συστήματα Επικοινωνιών ΙI

Συστήματα Επικοινωνιών ΙI + Διδάσκων: Δρ. Κ. Δεμέστιχας e-mail: cdemestichas@uowm.gr Συστήματα Επικοινωνιών ΙI Ψηφιακή μετάδοση στη βασική ζώνη + Ιστοσελίδα nιστοσελίδα του μαθήματος: n https://eclass.uowm.gr/courses/icte302/ +

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

Μελέτη και Προσομοίωση n πομπού για ασύρματη πρόσβαση ΦΟΙΤΗΤΗΣ: ΛΑΖΑΡΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΕΥΣΤΑΘΙΟΥ ΔΗΜΗΤΡΙΟΣ

Μελέτη και Προσομοίωση n πομπού για ασύρματη πρόσβαση ΦΟΙΤΗΤΗΣ: ΛΑΖΑΡΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΕΥΣΤΑΘΙΟΥ ΔΗΜΗΤΡΙΟΣ Μελέτη και Προσομοίωση 802.11n πομπού για ασύρματη πρόσβαση ΦΟΙΤΗΤΗΣ: ΛΑΖΑΡΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΕΥΣΤΑΘΙΟΥ ΔΗΜΗΤΡΙΟΣ A) Προσομοίωση του φάσματος του καναλιού του προτύπου για να φανεί

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

Τα ηλεκτρονικά σήματα πληροφορίας διακρίνονται ανάλογα με τη μορφή τους σε δύο κατηγορίες : Αναλογικά σήματα Ψηφιακά σήματα

Τα ηλεκτρονικά σήματα πληροφορίας διακρίνονται ανάλογα με τη μορφή τους σε δύο κατηγορίες : Αναλογικά σήματα Ψηφιακά σήματα ΕΝΟΤΗΤΑ 2 2.0 ΗΛΕΚΤΡΙΚΑ ΣΗΜΑΤΑ ΚΑΙ ΑΡΧΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΕΙΣΑΓΩΓΗ Ηλεκτρικό σήμα ονομάζεται η τάση ή το ρεύμα που μεταβάλλεται ως συνάρτηση του χρόνου. Στα ηλεκτρονικά συστήματα επικοινωνίας, οι πληροφορίες

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ. Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ. 1 Εισαγωγή Αναλογικό σήμα (analog signal): συνεχής συνάρτηση στην οποία η ανεξάρτητη μεταβλητή και η εξαρτημένη μεταβλητή (π.χ.

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

Αρχιτεκτονικές VLSI για την Αποκωδικοποίηση Κωδικών LDPC µε Εφαρµογή σε Ασύρµατες Ψηφιακές Επικοινωνίες

Αρχιτεκτονικές VLSI για την Αποκωδικοποίηση Κωδικών LDPC µε Εφαρµογή σε Ασύρµατες Ψηφιακές Επικοινωνίες ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΙΠΛΩΜΑ ΕΙ ΙΚΕΥΣΗΣ «ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ» Αρχιτεκτονικές VLSI για την Αποκωδικοποίηση Κωδικών LDPC µε Εφαρµογή

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

Τηλεπικοινωνιακά Συστήματα Ι

Τηλεπικοινωνιακά Συστήματα Ι Τηλεπικοινωνιακά Συστήματα Ι Διάλεξη 10: Παλμοκωδική Διαμόρφωση, Διαμόρφωση Δέλτα και Πολύπλεξη Διαίρεσης Χρόνου Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Παλμοκωδική Διαμόρφωση (PCM) Παλμοκωδική Διαμόρφωση

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

Ψηφιακές Τηλεπικοινωνίες. Θεωρία Ρυθμού Παραμόρφωσης

Ψηφιακές Τηλεπικοινωνίες. Θεωρία Ρυθμού Παραμόρφωσης Ψηφιακές Τηλεπικοινωνίες Θεωρία Ρυθμού Παραμόρφωσης Θεωρία Ρυθμού-Παραμόρφωσης Θεώρημα Κωδικοποίησης Πηγής: αν έχω αρκετά μεγάλο μπλοκ δεδομένων, μπορώ να φτάσω κοντά στην εντροπία Πιθανά Προβλήματα: >

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Επεξεργασία Στοχαστικών Σημάτων

Επεξεργασία Στοχαστικών Σημάτων Επεξεργασία Στοχαστικών Σημάτων Ψηφιακή Μετάδοση Αναλογικών Σημάτων Σεραφείμ Καραμπογιάς Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ψηφιακή Μετάδοση Αναλογικών Σημάτων Τα σύγχρονα συστήματα

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

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

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

Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων

Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων Γιώργος Δημητρακόπουλος 1 Αποκωδικοποιητής κώδικα Huffman συμπίεση δεδομένων Ξέρουμε ότι με n bits μπορούμε να κωδικοποιήσουμε 2 n διαφορετικά

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

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Αριθμητικά Συστήματα. Επιμέλεια Διαφανειών: Δ.

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Αριθμητικά Συστήματα. Επιμέλεια Διαφανειών: Δ. Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Αριθμητικά Συστήματα Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Αριθμητικά Συστήματα Δεκαδικό Σύστημα: Βάση το 10, ψηφία 10 και συντελεστές

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Κ 17 Επικοινωνίες ΙΙ Χειμερινό Εξάμηνο Διάλεξη 15 η Νικόλαος Χ. Σαγιάς Επίκουρος Καθηγητής Webpage: http://eclass.uop.gr/courses/tst15

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

Φύλλο εργασίας. Ερωτήσεις ανασκόπησης του μαθήματος

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

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 2: Στοιχεία Μετάδοσης Κώδικες 2 Κώδικες Κωδικοποίηση Δεδομένων: Όπως έχει ήδη αναφερθεί, προκειμένου τα δεδομένα να γίνουν κατανοητά από ένα ηλεκτρονικό

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

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

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

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