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

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

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

Transcript

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

2 ii

3 Σχεδίαση αποκωδικοποιητή VLSI για κώδικες LDPC Τσατσαράγκος Ιωάννης Μεταπτυχιακή Διπλωματική Εργασία Επιβλέπων Καθηγητής: Παλιουράς Βασίλης Μέλη Εξεταστικής Επιτροπής: Μπερμπερίδης Κωνσταντίνος Μπίρμπας Αλέξιος Πάτρα, Μάρτης 2009 iii

4 iv

5 Ευχαριστίες Για την εκπόνηση της παρούσας διπλωματικής εργασίας, θα ήθελα να ευχαριστήσω θερμά τον επιβλέποντα καθηγητή μου, κ. Βασίλη Παλιουρά, για την πολύτιμη βοήθεια και τη συνεχή υποστήριξη που μου παρείχε. Θα ήθελα, επίσης, να ευχαριστήσω τον Ν.Κάνιστρα, για την άριστη συνεργασία, στα πλαίσια της εργαστηριακής έρευνας που διεξάγουμε πάνω στους LDPC κώδικες, στο Εργαστήριο Σχεδιασμού VLSI Κυκλωμάτων, του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Τέλος, θα ήθελα να ευχαριστήσω τον κ. Κ.Μπερμπερίδη και τον κ. Α.Μπίρμπα για τη συμμετοχή τους στην τριμελή επιτροπή. v

6 vi

7 Περιεχόμενα Το αντικείμενο και η συνεισφορά της διπλωματικής εργασίας... 1 Περίληψη... 3 Κεφάλαιο 1 Το Σύστημα Ψηφιακής Επικοινωνίας Κωδικοποίηση καναλιού Σύστημα Ψηφιακής Επικοινωνίας Κωδικοποίηση καναλιού Κώδικες ανίχνευσης και διόρθωσης σφαλμάτων Κεφάλαιο 2 Κώδικες LDPC Γραμμικοί Μπλοκ Κώδικες Κώδικες LDPC Ιστορική Αναδρομή Βασικά Χαρακτηριστικά Πλεονεκτήματα Μειονεκτηματα Κεφάλαιο 3 Αλγόριθμοι Αποκωδικοποίησης Αποκωδικοποίηση Αλγόριθμοι Message Passing Log Sum Product (Log SP) Min Sum (MS) Layered Decoding Περιγραφή του προτεινόμενου αλγορίθμου και αποτελέσματα εξομοίωσης Επίδοση προτεινόμενου αλγορίθμου Ρυθμός εμφάνισης λανθασμένων δυαδικών ψηφίων και κωδικών λέξεων (αποτελέσματα εξομοίωσης) vii

8 3.5 Παραλλαγή του προτεινόμενου αλγορίθμου, με χρήση του Min Sum αλγορίθμου για την ενημέρωση των κόμβων ελέγχου Πειραματικά αποτελέσματα επίδοσης αλγορίθμων Log SP και Min Sum για πεπερασμένα μήκη λέξης Κεφάλαιο 4 Αρχιτεκτονική του Υλικού Αρχιτεκτονικές για LDPC αποκωδικοποιητές State of the art αρχιτεκτονικές LDPC αποκωδικοποιητών Προτεινόμενη αρχιτεκτονική VLSI αποκωδικοποιητή για κώδικες LDPC Χρονοπρογραμματισμός αποκωδικοποίησης Variable Processing Unit Check Processing Unit Permutation Network Μονάδα ελέγχου Κεφάλαιο 5 Ροή Σχεδίασης (Design Flow) Αναπτυξιακό σύστημα Virtex 4 SX35 (ML 402) Κεφάλαιο 6 Υλοποίηση σε FPGA και αποτελέσματα εξομοιώσεων Απαιτήσεις σε επιφάνεια πολυπλοκότητα Ταχύτητα αποκωδικοποίησης Συμπεράσματα Αναφορές Βιβλιογραφία viii

9 Κατάλογος Σχημάτων Σχήμα 1.1 : Βασικά στοιχεία ενός συστήματος ψηφιακής επικοινωνίας Σχήμα 1.2 : Απλοποιημένο μοντέλο ενός συστήματος ψηφιακής επικοινωνίας... 9 Σχήμα 2.1 : Παράδειγμα ενός πίνακα ελέγχου ισοτιμίας με n=20, d u =3 και d c = Σχήμα 2.2 : Ο πίνακας ελέγχου ισοτιμίας και το αντίστοιχο διάγραμμα Tanner ενός LDPC κώδικα Σχήμα 3.1 : Αποκωδικοποίηση με χρήση του Message-Passing αλγορίθμου δύο φάσεων Σχήμα 3.2 : Γραφική παράσταση της συνάρτησης Φ(x) Σχήμα 3.3 : Πίνακας βάσης για έναν rate ½ WiMax e LDPC κώδικα (z=96) Σχήμα 3.4 : Πίνακας βάσης για έναν rate ⅔ WiMax e LDPC κώδικα (z=96) Σχήμα 3.5 : Δομή του πίνακα ελέγχου ισοτιμίας για έναν rate ½ WiMax LDPC κώδικα (z=96) Σχήμα 3.6 : Ρυθμός εμφάνισης λανθασμένων δυαδικών ψηφίων (BER) Σχήμα 3.7 : Ρυθμός εμφάνισης λανθασμένων κωδικών λέξεων (FER) Σχήμα 3.8 : BER για την υλοποίηση 1 του Log-SP layered decoding Σχήμα 3.9 : BER για την υλοποίηση 1 του Min-Sum layered decoding Σχήμα 3.10 : BER για την υλοποίηση 2 του Log-SP layered decoding Σχήμα 3.11 : BER για την υλοποίηση 2 του Min-Sum layered decoding Σχήμα 4.1 : Hardware-Sharing αρχιτεκτονική για LDPC αποκωδικοποιητή Σχήμα 4.2 : Datapath παράλληλης αρχιτεκτονικής για LDPC αποκωδικοποιητή Σχήμα 4.3 : Αρχιτεκτονική του LDPC αποκωδικοποιητή Σχήμα 4.4 : RTL σχηματικό της αρχιτεκτονικής του LDPC αποκωδικοποιητή για z= ix

10 Σχήμα 4.5 : I/O LDPC αποκωδικοποιητή Σχήμα 4.6 : Χρονοπρογραμματισμός αποκωδικοποίησης για κάθε υποεπανάληψη του αλγορίθμου Σχήμα 4.7 : Γενικό σχήμα χρονοπρογραμματισμού αποκωδικοποίησης Σχήμα 4.8 : Αρχιτεκτονική κόμβου μεταβλητής (VPU) Σχήμα 4.9 : Αρχιτεκτονική κόμβου ελέγχου (CPU) για Log-SP Σχήμα 4.10 : Αρχιτεκτονική κόμβου ελέγχου (CPU) για Min-Sum Σχήμα 4.11 : Permutation network 4 εισόδων / εξόδων Σχήμα 4.12 : Permutation network 6 εισόδων / εξόδων Σχήμα 4.13 : Σήματα ελέγχου του LDPC αποκωδικοποιητή για log-sp layered decoding Σχήμα 4.14 : Σήματα ελέγχου της CPU μοναδας ελέγχου για log-sp layered decoding.. 75 Σχήμα 5.1 : Design Flow LDPC αποκωδικοποιητή Σχήμα 5.2 : Αποτελέσματα εξομοιώσεων του VHDL κώδικα, σε περιβάλλον Modelsim Σχήμα 5.3 : Αποτελέσματα μετρήσεων, σε FPGA Virtex-4 SX35, με χρήση του ChipScope της Xilinx Σχήμα 5.4 : Μοντέλο σε Xilinx System Generator Σχήμα 5.5 : Μπλοκ διάγραμμα του αναπτυξιακού Virtex-4 ML Σχήμα 5.6 : Λεπτομερής απεικόνιση των συστατικών μερών ενός αναπτυξιακού συστήματος Virtex-4 ML402 (Εμπρός όψη) Σχήμα 5.7 : Λεπτομερής απεικόνιση των συστατικών μερών ενός αναπτυξιακού συστήματος Virtex-4 ML402 (Πίσω όψη) Σχήμα 5.8 : Αναπτυξιακό σύστημα Virtex4_XC4VSX35_ff668, σε λειτουργία, στο εργαστήριο μας Σχήμα 6.1 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Spartan 3 - XC3S5000, για log-sp layered decoding Σχήμα 6.2 : Routed Design της αρχιτεκτονικής του LogSP LDPC αποκωδικοποιητή, για z=96, σε Spartan 3 - XC3S5000, για log-sp layered decoding x

11 Σχήμα 6.3 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 5 - XC5VLX330, για log-sp layered decoding Σχήμα 6.4 : Routed Design της αρχιτεκτονικής του Log-SP LDPC αποκωδικοποιητή, για z=96, σε Virtex 5 - XC5VLX330, για log-sp layered decoding Σχήμα 6.5 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 4 - XC4VSX35-12FF668, για log-sp layered decoding Σχήμα 6.6 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 4 - XC4VSX35-12FF668, για Min-Sum layered decoding Σχήμα 6.7 : Routed Design της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 4 - XC4VSX35-12FF668, για Min-Sum layered decoding xi

12 xii

13 Κατάλογος Πινάκων Πίνακας 1 : State of the art αρχιτεκτονικών για LDPC αποκωδικοποιητές Πίνακας 2: Λογισμικό που χρησιμοποιήθηκε στα επιμέρους βήματα σχεδίασης του αποκωδικοποιητή Πίνακας 4 : Απαιτήσεις σε επιφάνεια των επιμέρους τμημάτων και του συνολικού design για μια υλοποίηση σε Virtex 5 - XC5VLX330, για log-sp layered decoding Πίνακας 5 : Ταχύτητα αποκωδικοποίησης των επιμέρους τμημάτων και του συνολικού design για μια υλοποίηση σε Virtex 5 - XC5VLX330, για log-sp layered decoding Πίνακας 6 : Αποτελέσματα μετρήσεων για τον LDPC αποκωδικοποιητή xiii

14 xiv

15 Το αντικείμενο και η συνεισφορά της διπλωματικής εργασίας Η διόρθωση λαθών με κώδικες LDPC είναι μεγάλου ενδιαφέροντος σε σημαντικές νέες τηλεπικοινωνιακές εφαρμογές, όπως δορυφορικό Digital Video Broadcast (DVB) DVB-S2, IEEE 802.3an (10GBASE-T) και IEEE (WiMAX). Οι κώδικες LDPC ανήκουν στην κατηγορία των μπλοκ κωδικών. Πρόκειται για κώδικες ελέγχου και διόρθωσης σφαλμάτων μετάδοσης, με κυριότερο χαρακτηριστικό τους τον χαμηλής πυκνότητας πίνακα ελέγχου ισοτιμίας (Low Density Parity Check), από τον οποίο και πήραν το όνομά τους. Η αποκωδικοποίηση γίνεται μέσω μιας επαναληπτικής διαδικασίας ανταλλαγής πληροφορίας μεταξύ δύο τύπων επεξεργαστικών μονάδων. Η υλοποίηση σε υλικό (hardware) των LDPC αποκωδικοποιητών αποτελεί ένα ραγδαία εξελισσόμενο πεδίο για τη σύγχρονη επιστημονική έρευνα. Σκοπός της παρούσας διπλωματικής εργασίας υπήρξε ο σχεδιασμός, η υλοποίηση και η βελτιστοποίηση αρχιτεκτονικών αποκωδικοποιητών VLSI για κώδικες LDPC. Έχουν αναπτυχθεί διάφοροι αλγόριθμοι αποκωδικοποίησης, οι οποίοι είναι επαναληπτικοί. Μελετήθηκαν αρχιτεκτονικές βασισμένες σε δύο αλγόριθμους, τον log Sum-Product και τον Min-Sum. Ο πρώτος είναι θεωρητικά βέλτιστος, αλλά ο Min-Sum είναι αρκετά απλούστερος και έχει μεγαλύτερο πρακτικό ενδιαφέρον στα πλαίσια μιας ρεαλιστικής εφαρμογής. Συγκεκριμένα, αναπτύχθηκαν δύο αλγόριθμοι αποκωδικοποίησης, οι οποίοι χρησιμοποιούν ως δομικά στοιχεία, τους δύο προαναφερθέντες αλγορίθμους και τη φιλοσοφία του layered decoding. Η μελέτη μας επικεντρώθηκε σε κώδικες, η δομή των πινάκων ελέγχου ισοτιμίας των οποίων, προσφέρεται για υλοποίηση. Για αυτό το λόγο, χρησιμοποιήσαμε κώδικες του προτύπου WiMax e. Η συνεισφορά της παρούσας εργασίας έγκειται στο σχεδιασμό και την υλοποίηση αποδοτικών αρχιτεκτονικών σε επίπεδο επιφάνειας και ταχύτητας αποκωδικοποίησης (Mbps), καθώς και η διερεύνηση του σχετικού σχεδιαστικού χώρου, χρησιμοποιώντας ως σχεδιαστικές παραμέτρους, τον αλγόριθμο αποκωδικοποίησης, τη χρονοδρομολόγηση 1

16 των πράξεων, το βαθμό παραλληλίας της αρχιτεκτονικής, το βάθος του pipelining και την αριθμητική αναπαράσταση των δεδομένων. Επιπλέον, είναι σημαντικό να αναφέρουμε πως, στα πλαίσια της σχεδίασης του LDPC αποκωδικοποιητή και με τη βοήθεια του εργαλείου Matlab, αναπτύχθηκαν παραμετρικά scripts για την παραγωγή του VHDL κώδικα. Οι δύο βασικές παράμετροι που χρησιμοποιήθηκαν ήταν το πλήθος των επεξεργαστικών μονάδων και το μήκος λέξης των δεδομένων. Τα scripts αυτά αποτέλεσαν ένα πολύ χρήσιμο εργαλείο κατά τη διαδικασία ανάπτυξης και βελτιστοποίησης της αρχιτεκτονικής, δίνοντας μας τη δυνατότητα να παράγουμε με αυτοματοποιημένο και γρήγορο τρόπο τον VHDL κώδικα, για τις επιμέρους μονάδες του αποκωδικοποιητή. Η υλοποίηση ενός μοντέλου αποκωδικοποιητή σε υλικό, μας δίνει τη δυνατότητα να διεξάγουμε ταχύτατες εξομοιώσεις, σε σχέση με αντίστοιχες υλοποιήσεις σε λογισμικό (π.χ. σε Matlab περιβάλλον). Διαθέτουμε, έτσι, ένα ισχυρό εργαλείο για τη μελέτη της επίδοσης διαφόρων ρεαλιστικών υλοποιήσεων αποκωδικοποιητών. Κατά τη διάρκεια της υλοποίησης, αξιοποιήθηκε αναπτυξιακό σύστημα βασισμένο σε virtex-4 fpga. 2

17 Περίληψη H παρούσα διπλωματική εργασία πραγματεύεται το σχεδιασμό, την υλοποίηση και τη βελτιστοποίηση ενός αποκωδικοποιητή VLSI για κώδικες LDPC. Στο κεφάλαιο 1 παρουσιάζονται το λειτουργικό διάγραμμα και τα βασικά στοιχεία ενός συστήματος ψηφιακής επικοινωνίας, καθώς και ένα απλοποιημένο ψηφιακό τηλεπικοινωνιακό μοντέλο, το οποίο εστιάζει στη διαδικασία της κωδικοποίησης και αποκωδικοποίησης της πληροφορίας. Το κεφάλαιο ολοκληρώνεται με μια σύντομη παρουσίαση των βασικών χαρακτηριστικών της κωδικοποίησης καναλιού και των διαφόρων κατηγοριών κωδικών ανίχνευσης και διόρθωσης σφαλμάτων. Το κεφάλαιο 2 ξεκινά με μια ανάλυση των γραμμικών μπλοκ κωδικών. Ακολουθεί σύντομη ιστορική αναδρομή σχετικά με τους LDPC κώδικες και αναλυτική περιγραφή των βασικών χαρακτηριστικών τους, καθώς και αναφορά των πλεονεκτημάτων και μειονεκτημάτων τους σε σχέση με τους ανταγωνιστές τους. Το κεφάλαιο 3 ξεκινά με την παρουσίαση κάποιων βασικών αλγορίθμων αποκωδικοποίησης κωδικών LDPC, καθώς και των σχημάτων χρονοπρογραμματισμού των μηνυμάτων που ανταλλάσσονται από τα επεξεργαστικά στοιχεία του αποκωδικοποιητή. Στη συνέχεια, παρουσιάζεται ο αλγόριθμος αποκωδικοποίησης, που αναπτύχθηκε στα πλαίσια της παρούσας διπλωματικής εργασίας, ο οποίος χρησιμοποιεί ως δομικά στοιχεία τον αλγόριθμο log-sp και τη φιλοσοφία του layered decoding. Επιπλέον, σχεδιάστηκε μια παραλλαγή του αλγορίθμου, στην οποία χρησιμοποιείται ο Min-Sum αλγόριθμος, για την ενημέρωση των κόμβων ελέγχου. Επιπροσθέτως, παρουσιάζονται διαγράμματα BER vs SNR, με πειραματικά στοιχεία από εξομοιώσεις σε περιβάλλον MATLAB. Στο κεφάλαιο 4 αναφερόμαστε συνοπτικά στις βασικές κατηγορίες αρχιτεκτονικών για LDPC αποκωδικοποιητές, καθώς και στο state of the art των αρχιτεκτονικών αυτών. Στη συνέχεια, παρουσιάζεται αναλυτικά η αρχιτεκτονική του αποκωδικοποιητή που σχεδιάσαμε στα πλαίσια της παρούσας διπλωματικής εργασίας, για τις δυο παραλλαγές του layered decoding αλγορίθμου, που αναφέραμε στο προηγούμενο κεφάλαιο. 3

18 Στο κεφάλαιο 5 αναφερόμαστε στο design flow της σχεδίασης αρχιτεκτονικών αποκωδικοποιητών VLSI για κώδικες LDPC. Δηλαδή, στη μεθοδολογία που υιοθετήθηκε και τα μέσα που χρησιμοποιήθηκαν για την παραγωγή του binary αρχείου, το οποίο προγραμματίζει κατάλληλα τον συγκεκριμένο τύπο FPGA, ώστε να καταστεί δυνατή η εξαγωγή των αποτελεσμάτων της αποκωδικοποίησης. Στο κεφάλαιο 6 παρουσιάζονται αποτελέσματα που προέκυψαν από πειραματικές μετρήσεις σε τρεις τύπους FPGA, όσον αφορά τις απαιτήσεις σε επιφάνεια και την ταχύτητα αποκωδικοποίησης. Επιπλέον, αναλύονται οι διαφοροποιήσεις που ανακύπτουν από τη χρήση του Min-Sum αλγορίθμου, αντί του Log-SP. Τέλος, κλείνοντας την παρούσα διπλωματική εργασία, συνοψίζουμε τα συμπεράσματα που προέκυψαν από την συνολική διαδικασία. 4

19 Κεφάλαιο 1 Το Σύστημα Ψηφιακής Επικοινωνίας Κωδικοποίηση καναλιού 1.1 Σύστημα Ψηφιακής Επικοινωνίας Τα τελευταία χρόνια, έχει σημειωθεί μία αυξανόμενη απαίτηση για αποδοτικά και αξιόπιστα ψηφιακά συστήματα επικοινωνιών και αποθήκευσης δεδομένων. Η απαίτηση αυτή έχει ενισχυθεί από τη χρήση μεγάλων και ταχύτατων δικτύων δεδομένων, για την ανταλλαγή, την επεξεργασία και την αποθήκευση της ψηφιακής πληροφορίας. Ένα μεγάλο ζήτημα που αφορά στη σχεδίαση τέτοιων συστημάτων είναι ο έλεγχος των λαθών, ώστε να εξασφαλίζεται η επικοινωνία χωρίς λάθη. Το 1948 ο Shannon [1] απέδειξε πως η πιθανότητα λανθασμένης μετάδοσης δεδομένων μέσω ενός ενθόρυβου τηλεπικοινωνιακού καναλιού μπορεί να περιοριστεί οσοδήποτε επιθυμούμε, υπό την προϋπόθεση ότι ο ρυθμός μετάδοσης δεδομένων πληροφορίας δεν υπερβαίνει ένα συγκεκριμένο όριο. Το όριο αυτό χαρακτηρίζει το κανάλι και το ονόμασε χωρητικότητα του καναλιού. Χρησιμοποιώντας κατάλληλη κωδικοποίηση της πληροφορίας, τα λάθη που εισάγονται από ένα κανάλι με θόρυβο, μπορούν να μειωθούν σε οποιοδήποτε επιθυμητό επίπεδο, χωρίς να μειωθεί ο ρυθμός μετάδοσης δεδομένων. Όσο μικρότερη είναι η επιθυμητή πιθανότητα σφάλματος, τόσο πολυπλοκότερη και η απαιτούμενη κωδικοποίηση. Στο Σχήμα 1.1. απεικονίζεται το λειτουργικό διάγραμμα και τα βασικά στοιχεία ενός ψηφιακού συστήματος επικοινωνίας. Η μετάδοση ξεκινά από την πηγή πληροφορίας και καταλήγει στον τελικό προορισμό. Τόσο η πηγή πληροφορίας όσο και 5

20 ο τελικός προορισμός ενδέχεται να είναι κάποιο πρόσωπο (όπως ένας συνομιλητής μίας τηλεφωνικής συνδιάλεξης) ή κάποια μηχανή (π.χ. ένας ψηφιακός υπολογιστής συνδεδεμένος σε κάποιο δίκτυο) και δεν αποτελούν κύριο μέρος του τηλεπικοινωνιακού συστήματος αλλά εξυπηρετούνται από αυτό. Σε ένα ψηφιακό σύστημα επικοινωνίας τα μηνύματα που παράγονται από την πηγή μετατρέπονται συνήθως σε μια ακολουθία δυαδικών ψηφίων. Το τηλεπικοινωνιακό σύστημα αποτελείται από τρία βασικά μέρη: τον πομπό, το κανάλι επικοινωνίας και το δέκτη. Πομπός Πηγή Κωδικοποιητής Πηγής Κωδικοποιητής Καναλιού Διαμορφωτής Θόρυβος Κανάλι Προορισμός Αποκωδικοποιητής Πηγής Αποκωδικοποιητής Καναλιού Αποδιαμορφωτής Δέκτης Σχήμα 1.1 : Βασικά στοιχεία ενός συστήματος ψηφιακής επικοινωνίας. Ο πομπός Ο πομπός αναλαμβάνει να μετατρέψει την έξοδο της πηγής σε μια μορφή κατάλληλη για μετάδοση μέσα από το φυσικό κανάλι ή το μέσο διάδοσης. Τον πομπό συνθέτουν ο κωδικοποιητής πηγής, ο κωδικοποιητής καναλιού και ο διαμορφωτής. Η έξοδος της πηγής μπορεί να είναι μία συνεχής κυματομορφή ή μία ακολουθία διακριτών 6

21 συμβόλων. Δεδομένου ότι στις ψηφιακές επικοινωνίες επεξεργαζόμαστε και μεταδίδουμε ψηφιακά σύμβολα προκύπτει η ανάγκη μετατροπής της εξόδου της πηγής σε δυαδικά ψηφία. Αυτή τη μετατροπή πραγματοποιεί ο κωδικοποιητής πηγής. Ιδανικά, θα θέλαμε να αναπαραστήσουμε την έξοδο της πηγής με όσο λιγότερα δυαδικά ψηφία γίνεται. Ο Shannon ανέδειξε την σημασία αυτής της διαδικασίας ορίζοντας την έννοια της πληροφορίας και θέτοντας το όριο του ελάχιστου μέσου αριθμού δυαδικών ψηφίων που μπορούν να χρησιμοποιηθούν για την αναπαράσταση της εξόδου μίας πηγής, ώστε να είναι εφικτή η δίχως σφάλμα ανακατασκευή της. Αποδοτικότερη κωδικοποίηση πηγής μεταφράζεται, πρακτικά, σε μικρότερο όγκο των προς μετάδοση δεδομένων. Σκοπός ενός τηλεπικοινωνιακού συστήματος είναι η μετάδοση της πληροφορίας από την πηγή στον προορισμό στο ακέραιο. Το κανάλι προσθέτει θόρυβο στην μεταδιδόμενη πληροφορία με αποτέλεσμα να μειώνεται η αξιοπιστία του συστήματος. Σε πολλές εφαρμογές μάλιστα ο περιορισμός της αξιοπιστία του συστήματος καθιστά πρακτικά ανέφικτη τη μετάδοση. Προκειμένου να βελτιωθεί η αξιοπιστία του συστήματος και να προστατευθεί αυτό από το θόρυβο του καναλιού, προστίθεται στην προς μετάδοση πληροφορία επιπλέον (πλεονάζουσα) πληροφορία. Με την ευθύνη της προσθήκης πληροφορίας έχει επιφορτιστεί ο κωδικοποιητής καναλιού. Με το ζήτημα της κωδικοποίησης καναλιού θα ασχοληθούμε εκτενέστερα στη συνέχεια. Τα ψηφιακά δεδομένα δεν είναι κατάλληλα για μετάδοση μέσω ενός καναλιού. Η ακολουθία ψηφιακών δεδομένων (ή αλλιώς διακριτών συμβόλων), που εξέρχεται από τον κωδικοποιητή καναλιού, θα πρέπει να μετατραπεί σε μία συνεχή κυματομορφή. Τα χαρακτηριστικά της απαιτούμενης κυματομορφής καθορίζονται από το είδος του καναλιού, το παρεχόμενο εύρος ζώνης και τα μεταδιδόμενα σύμβολα. Η διαδικασία της παραγωγής αυτής της κυματομορφής αποκαλείται διαμόρφωση του σήματος. Ο διαμορφωτής αναλαμβάνει την διεκπεραίωση της διαμόρφωσης και παραδίδει, εν συνεχεία, στο κανάλι επικοινωνίας την προκύπτουσα κυματομορφή. Το κανάλι επικοινωνίας Το κανάλι επικοινωνίας είναι το φυσικό μέσο που χρησιμεύει για να στέλνεται το σήμα από τον πομπό στο δέκτη. Για την ασύρματη μετάδοση το κανάλι είναι συνήθως η ατμόσφαιρα. Από την άλλη πλευρά, τα τηλεφωνικά κανάλια χρησιμοποιούν ποικιλία φυσικών μέσων, όπως είναι οι ενσύρματες γραμμές και τα καλώδια οπτικών ινών. Το κανάλι επιδρά στο μεταδιδόμενο σήμα με δύο τρόπους. Αφενός, εξασθενώντας το και, αφετέρου, εισάγοντας θόρυβο. Η εξασθένηση του σήματος σχετίζεται με τη μείωση της ισχύος του κατά τη διέλευσή του μέσα από το κανάλι. Στην περίπτωση των ασύρματων επικοινωνιών η εξασθένηση είναι ανάλογη του τετραγώνου της απόστασης που καλύπτει το σήμα και είναι πολύ μεγαλύτερη από ότι στις ενσύρματες. Στην επικοινωνία με 7

22 οπτικές ίνες η εξασθένηση του σήματος περιορίζεται σε εντυπωσιακό βαθμό. Αντίστοιχες είναι και επιπτώσεις του θορύβου σε κάθε περίπτωση καναλιού. Γενικότερα, στις τηλεπικοινωνίες, και πολύ περισσότερο στις ασύρματες, τόσο το κανάλι όσο και ο θόρυβος που προστίθεται από αυτό μοντελοποιούνται. Από τα πιο διαδεδομένα μοντέλα είναι εκείνα του καναλιού δίχως μνήμη, του οποίου η έξοδος θεωρείται πως εξαρτάται μόνο από την τιμή της εισόδου του εκείνη τη στιγμή, και του λευκού gaussian προσθετικού θορύβου - Additive White Gaussian Noise (AWGN). Ο δέκτης Η λειτουργία του δέκτη αποσκοπεί στην ανάκτηση του σήματος μηνύματος που περιέχεται στο λαμβανόμενο σήμα. Όπως γίνεται αντιληπτό και από το Σχήμα 1.1, ο δέκτης αποτελείται από αντίστοιχα τμήματα με εκείνα του πομπού. Σκοπός του είναι να παραλάβει τα δεδομένα από την έξοδο του καναλιού και να τα μετατρέψει σε μορφή καταληπτή από τον προορισμό, επιτελώντας την αντίστροφη λειτουργία από εκείνη του πομπού. Ο αποδιαμορφωτής λαμβάνει στην είσοδό του την έξοδο του καναλιού, μία κυματομορφή, δηλαδή, αντίστοιχη εκείνης την οποία παράγει ο διαμορφωτής στον πομπό. Την κυματομορφή αυτή την επεξεργάζεται και παράγει μία ακολουθία εξόδου που αποκαλείται ληφθείσα ακολουθία και ενδέχεται να είναι διακριτή ή συνεχής. Αντιστοιχεί στην έξοδο του κωδικοποιητή καναλιού του πομπού και μεταβιβάζεται στον αποκωδικοποιητή καναλιού. Αυτός αναλαμβάνει, αφενός να αφαιρέσει την πλεονάζουσα πληροφορία την οποία εισήγαγε ο κωδικοποιητής καναλιού, και αφετέρου, να μετατρέψει την ληφθείσα ακολουθία σε δυαδική, αξιοποιώντας την πλεονάζουσα πληροφορία. Η διαδικασία αυτή ονομάζεται αποκωδικοποίηση καναλιού. Η στρατηγική αποκωδικοποίησης βασίζεται στους κανόνες της κωδικοποίησης καναλιού καθώς και στα χαρακτηριστικά του θορύβου που προσθέτει το κανάλι. Στην ιδανική περίπτωση, η αποκωδικοποιημένη δυαδική ακολουθία θα είναι πανομοιότυπη με την αντίστοιχη που παρήγαγε ο κωδικοποιητής πηγής του πομπού. Ωστόσο, ο κίνδυνος να μην συμβεί κάτι τέτοιο είναι υπαρκτός και οφείλεται στην παρουσία του θορύβου στο κανάλι μετάδοσης. Αποτυχημένη αποκωδικοποίηση της ληφθείσας ακολουθίας συνεπάγεται λανθασμένη μετάδοση πληροφορίας, και κατά συνέπεια περιορισμό της αξιοπιστίας του συστήματος επικοινωνίας. Η δυαδική ακολουθία που εξέρχεται από τον αποκωδικοποιητή καναλιού αποτελεί την είσοδο του αποκωδικοποιητή πηγής, ο οποίος, γνωρίζοντας τη μέθοδο που χρησιμοποιείται για την κωδικοποίηση της πηγής, προσπαθεί να ανακατασκευάσει όσο γίνεται πιστότερα το αρχικό αναλογικό σήμα της πηγής. Λόγω, όμως, των σφαλμάτων του κωδικοποιητή καναλιού και της πιθανής παραμόρφωσης που προκάλεσε ο κωδικοποιητής πηγής (και ίσως και ο αποκωδικοποιητής πηγής), το αναλογικό σήμα 8

23 στην έξοδο του είναι μια προσέγγιση του αρχικού σήματος. Η διαφορά, ή κάποια συνάρτηση της διαφοράς, μεταξύ του αρχικού και του ανακατασκευασμένου σήματος είναι ένα μέτρο της παραμόρφωσης που προκάλεσε το σύστημα ψηφιακής μετάδοσης δεδομένων. Απλοποιημένο μοντέλο ψηφιακής επικοινωνίας Σκοπός της παρούσας διπλωματικής εργασίας είναι ο σχεδιασμός, η υλοποίηση και η βελτιστοποίηση αρχιτεκτονικών αποκωδικοποιητών καναλιού. Συνεπώς, η διαδικασία της κωδικοποίησης, αλλά κυρίως της αποκωδικοποίησης. είναι αυτές που θα μας απασχολήσουν στη συνέχεια. Ένα απλοποιημένο ψηφιακό τηλεπικοινωνιακό σύστημα, στο οποίο δίνεται έμφαση σε αυτή τη θεώρηση φαίνεται στο Σχήμα 1.2. Σε σχέση με το προηγούμενο σχήμα, ο κωδικοποιητής πηγής έχει ενσωματωθεί στην πηγή σχηματίζοντας την ψηφιακή πηγή και ο αποκωδικοποιητής πηγής στον προορισμό συγκροτώντας τον ψηφιακό προορισμό. Επιπλέον, στο κανάλι επικοινωνίας έχουν ενσωματωθεί ο διαμορφωτής και ο αποδιαμορφωτής. Ψηφιακή Πηγή Κωδικοποιητής Θόρυβος Κανάλι Ψηφιακός Προορισμός Αποκωδικοποιητής Σχήμα 1.2 : Απλοποιημένο μοντέλο ενός συστήματος ψηφιακής επικοινωνίας. 9

24 1.2 Κωδικοποίηση καναλιού Σκοπός της κωδικοποίησης καναλιού είναι να ελαχιστοποιηθεί η πιθανότητα λανθασμένης μετάδοσης. Από τη θεωρία πληροφορίας, γνωρίζουμε πως όποια και αν είναι η πιθανότητα λάθους κατά τη μετάδοση δεδομένων, υπάρχει τρόπος κατασκευής κωδικών διόρθωσης λαθών, οι οποίοι έχουν πολύ μικρή πιθανότητα αποτυχίας. Με το θεώρημα της κωδικοποίησης ενθόρυβου καναλιού, ο Shannon απέδειξε πως είναι εφικτό να μειωθεί οσοδήποτε η πιθανότητα λάθους κατά τη μετάδοση, αρκεί ο ρυθμός της μεταδιδόμενης πληροφορίας να μην υπερβαίνει την χωρητικότητα του καναλιού. Συγκεκριμένα, για κανάλι με εύρος ζώνης B, και για λόγο ισχύος του σήματος ως προς την ισχύ του θορύβου SNR (Signal-to-noise-ratio), η χωρητικότητα του καναλιού C, δηλαδή ο μέγιστος ρυθμός μετάδοσης δεδομένων (σε bits per second - bps) χωρίς σφάλμα, δίδεται από τον τύπο : C = Β log2(1 + SNR) (1.1) Επομένως, αν R ο ρυθμός μετάδοσης δεδομένων και C η χωρητικότητα του καναλιού, μπορούμε να έχουμε αξιόπιστη μετάδοση εφ όσον: R < C Από την παραπάνω σχέση, γίνεται σαφές πως η χωρητικότητα του καναλιού εξαρτάται από το εύρος ζώνης και την ισχύ του θορύβου. Σκοπός του σχεδιαστή του τηλεπικοινωνιακού συστήματος είναι να μεταδώσει με ρυθμό ο οποίος να προσεγγίζει όσο γίνεται περισσότερο το όριο του Shannon, περιορίζοντας κατά το δυνατό την πιθανότητα σφάλματος. Αν επιθυμούμε να μειώσουμε την πιθανότητα σφάλματος χωρίς να μειωθεί ο θόρυβος ή να αυξηθεί ο ρυθμός μετάδοσης θα πρέπει να αυξήσουμε την υπολογιστική πολυπλοκότητα της κωδικοποίησης καναλιού. Προκύπτει έτσι ένα tradeoff ανάμεσα στην υπολογιστική πολυπλοκότητα και την αξιοπιστία του συστήματος μετάδοσης. Η υπολογιστική πολυπλοκότητα και η ισχύς του μεταδιδόμενου σήματος είναι παράγοντες, οι οποίοι αφενός αυξανόμενοι βελτιώνουν την αξιοπιστία του συστήματος, αφετέρου, όμως, αυξάνουν και το κόστος της μετάδοσης. Η αναζήτηση ενός σχήματος το οποίο θα προσφέρει την αποδοτικότερη κωδικοποίηση με το μικρότερο υπολογιστικό κόστος είναι διαρκής, όσο το όριο του Shannon δεν επιτυγχάνεται. 10

25 1.3 Κώδικες ανίχνευσης και διόρθωσης σφαλμάτων Ο κώδικας που χρησιμοποιείται και οι διαδικασίες που ακολουθούνται κατά τις φάσεις της κωδικοποίησης και της αποκωδικοποίησης καθορίζουν σε μεγάλο βαθμό την απόδοση του συστήματος. Οι κώδικες διόρθωσης λαθών χωρίζονται σε δύο μεγάλες κατηγορίες, στους μπλοκ κώδικες (Block Codes) και στους συνελικτικούς κώδικες (Convolutional Codes). Κύριο χαρακτηριστικό των μπλοκ κωδικών είναι ο τεμαχισμός της προς μετάδοση πληροφορίας σε μπλοκ των k συμβόλων και η αντιστοιχία καθενός από αυτά σε ένα μπλοκ n συμβόλων, το οποίο αποκαλείται κωδική λέξη ή codeword (n k). Στους συνελικτικούς κώδικες, κάθε m-bit σύμβολο πληροφορίας, μετατρέπεται σε ένα n-bit σύμβολο (n m), με κάθε σύμβολο να εξαρτάται όχι μόνο από το ίδιο, αλλά και από τα k προηγούμενα από αυτό σύμβολα πληροφορίας. Επομένως, η κύρια διαφορά μεταξύ των δύο κατηγοριών κωδικών είναι η ύπαρξη μνήμης στους συνελικτικούς κώδικες. Μια ακόμη σημαντική διάκριση που μπορεί να γίνει είναι βάσει του τρόπου διαχείρισης των σφαλμάτων. Υπάρχουν κώδικες οι οποίοι απλά ανιχνεύουν την ύπαρξη σφαλμάτων και κώδικες που πέρα από την ανίχνευση έχουν και την ικανότητα διόρθωσης των σφαλμάτων. Το επιπλέον κόστος, βέβαια, των τελευταίων είναι στην υπολογιστική πολυπλοκότητα, η οποία είναι σαφώς μεγαλύτερη. Στην κατηγορία των κωδικών μπλοκ ανήκουν οι κώδικες Hamming, οι κυκλικοί κώδικες, οι BCH, οι Reed-Solomon και αρκετοί άλλοι. Συνδυασμός απλών κωδικών έχει οδηγήσει στην δημιουργία εξαιρετικά επιτυχημένων σύνθετων σχημάτων κωδικοποίησης καναλιού. Οι κώδικες γινομένου, οι αλυσιδωτοί κώδικες και οι τούρμπο κώδικες (turbo codes) είναι ορισμένες χαρακτηριστικές περιπτώσεις. Οι τελευταίοι αποτέλεσαν τα τελευταία χρόνια τους πλέον αποδοτικούς κώδικες για κωδικοποίηση καναλιού, επιτυγχάνοντας σε αρκετές περιπτώσεις ρυθμούς μετάδοσης πολύ κοντά στο όριο του Shannon. Ωστόσο, στην παρούσα εργασία θα ασχοληθούμε με μια άλλη κατηγορία κωδικών, τους LDPC κώδικες (Low-Density Parity-Check codes). Πρόκειται για γραμμικούς μπλοκ κώδικες και θα αναφερθούμε διεξοδικότερα σε αυτούς στο επόμενο κεφάλαιο. 11

26 12

27 Κεφάλαιο 2 Κώδικες LDPC Όπως αναφέραμε και στο προηγούμενο κεφάλαιο, οι κώδικες LDPC αποτελούν υποκατηγορία των γραμμικών μπλοκ κωδικών. Πριν προχωρήσουμε στην αναλυτική παρουσίαση των LDPC κωδικών, καλό είναι πρώτα να παρουσιάσουμε τα βασικά χαρακτηριστικά των γραμμικών μπλοκ κωδικών. 2.1 Γραμμικοί Μπλοκ Κώδικες Ένας κώδικας είναι μία διαδικασία μονοσήμαντης απεικόνισης στοιχείων από ένα σύνολο Α σε ένα σύνολο Β. Στην περίπτωση της κωδικοποίησης καναλιού και των κωδικών που χρησιμοποιούνται για αυτήν, τα στοιχεία του συνόλου Α ονομάζονται λέξεις πληροφορίας u i (i= 1,2,,M), ενώ εκείνα του συνόλου Β, στα οποία και αντιστοιχίζονται, ονομάζονται κωδικές λέξεις, ή codewords, c i. To M ισούται με τους δυνατούς συνδυασμούς των ακολουθιών k δυαδικών ψηφίων, δηλαδή M=2 k. Δυαδικός ονομάζεται ένας κώδικας όταν τα στοιχεία και των δύο συνόλων είναι ακολουθίες δυαδικών ψηφίων (0 ή 1). Εφόσον μιλάμε για μονοσήμαντη απεικόνιση δεν μπορεί το πλήθος των στοιχείων των δύο συνόλων να διαφέρει. Μια από τις κατηγορίες κωδικών καναλιού είναι οι γραμμικοί κώδικες μπλοκ. Ένας κώδικας μπλοκ είναι γραμμικός αν κάθε γραμμικός συνδυασμός δύο κωδικών του λέξεων είναι επίσης κωδική του λέξη. Στην περίπτωση δυαδικού κώδικα αυτό σημαίνει πως το αποτέλεσμα της συνιστώσας-προς-συνιστώσα XOR λογικής πράξης μεταξύ δύο κωδικών του λέξεων, είναι επίσης κωδική λέξη. 13

28 Η μετατροπή της ακολουθίας των k bits (λέξη πληροφορίας) σε ακολουθία των n bits (codeword) πραγματοποιείται με την βοήθεια ενός k n δυαδικού πίνακα G, ο οποίος ονομάζεται γεννήτορας πίνακας του κώδικα. Η κωδική λέξη παράγεται με τον πολλαπλασιασμό της λέξης πληροφορίας με τον γεννήτορα πίνακα : c= u G i i (2.1) Προκύπτει έτσι η κωδική λέξη c i. Τα n δυαδικά ψηφία που συνιστούν την κωδική λέξη ορίζουν έναν χώρο n διαστάσεων. Κάθε δυαδικό σύμβολο της κωδικής λέξης είναι και μία συνιστώσα του χώρου αυτού. Ο n-διάστατος χώρος περιλαμβάνει 2 n στοιχεία, μόνο τα 2 k εκ των οποίων αποτελούν έγκυρες κωδικές λέξεις. Οι 2 k έγκυρες κωδικές λέξεις συνιστούν έναν k-διάστατο υποχώρο του n-διάστατου χώρου. Ονομάζουμε C αυτόν τον υποχώρο. Οι γραμμές του γεννήτορα πίνακα G δεν είναι τίποτα περισσότερο από τα k διανύσματα που αποτελούν τη βάση του υποχώρου C. Έστω όλες οι δυαδικές ακολουθίες μήκους n οι οποίες είναι ορθογώνιες προς όλα τα διανύσματα του k-διάστατου υποχώρου C. Κάθε μία από αυτές τις ακολουθίες έχει την εξής ιδιότητα : T h c i = 0, (2.2) όπου i= 1,2,, 2 k, h είναι μία από τις ορθογώνιες ακολουθίες μήκους n, c Τ i είναι η ανάστροφη εκδοχή της έγκυρης κωδικής λέξης c i, ενώ ο τελεστής δηλώνει την συνιστώσα-προς-συνιστώσα XOR λογική πράξη ή, ισοδύναμα, την modulo-2 άθροιση. Αποδεικνύεται ότι το πλήθος των μήκους n ακολουθιών που έχουν την παραπάνω ιδιότητα είναι 2 n-k. Οι 2 n-k ορθογώνιες ακολουθίες h i μπορεί να θεωρηθεί ότι είναι οι έγκυρες κωδικές λέξεις ενός (n,n-k) γραμμικού κώδικα μπλοκ, ο οποίος συμβολίζεται με C T και καλείται δυϊκός(dual) του αρχικού (n,k) κώδικα C. Οι κωδικές λέξεις του κώδικα C T είναι σύμφωνα με τη σχέση (2.2) ορθογώνιες ως προς τις κωδικές λέξεις c i του κώδικα C. Έστω H ο γεννήτορας πίνακας του κώδικα C T. Ο πίνακας H αποτελείται από (n-k) γραμμές n στοιχείων οι οποίες είναι τα διανύσματα βάσης του (n-k)-διάστατου χώρου. Κάθε μία εξ'αυτών είναι μία έγκυρη κωδική λέξη του κώδικα C T. Επομένως, κάθε γραμμή του πίνακα H είναι ορθογώνια ως προς κάθε έγκυρη κωδική λέξη του κώδικα C. Κατά συνέπεια, ο πίνακας H μας παρέχει n-k σχέσεις, τις οποίες θα πρέπει να επαληθεύει μία κώδική λέξη για να είναι έγκυρη, και οι οποίες συνοψίζονται στην ακόλουθη σχέση: T ci H = 0 (2.3) 14

29 Πρακτικά, στην περίπτωση του δυαδικού κώδικα, λόγω της modulo-2 άθροισης, κάθε μία γραμμή ελέγχει αν μεταξύ συγκεκριμένων ψηφίων της κωδικής λέξης υπάρχει άρτιο πλήθος άσων. Επομένως, ο πίνακας H ελέγχει την ισοτιμία των άσων της κωδικής λέξης. Για τον λόγο αυτό, ονομάζεται Πίνακας Ελέγχου Ισοτιμίας (Parity Check Matrix) του αρχικού κώδικα C και είναι, όπως και ο γεννήτορας πίνακας G, χαρακτηριστικός του κώδικα. 2.2 Κώδικες LDPC Ιστορική Αναδρομή Οι κώδικες LDPC εφευρέθηκαν από τον R.G.Gallager στις αρχές της δεκαετίας του 60 [2][3] και ήταν οι πρώτοι κώδικες διόρθωσης λαθών, οι οποίοι μπορούσαν να προσεγγίσουν ρυθμούς μετάδοσης δεδομένων πολύ κοντά στο θεωρητικό μέγιστο, το όριο Shannon. Λόγω, όμως, του γεγονότος ότι τότε δεν ήταν εφικτό να υλοποιηθούν σε υλικό, εξαιτίας των μεγάλων απαιτήσεων τους σε υπολογιστική πολυπλοκότητα, έμειναν στο περιθώριο για αρκετά χρόνια. Με την αλματώδη εξέλιξη της τεχνολογίας, από τα μέσα της δεκαετίας του 90 το ενδιαφέρον στράφηκε ξανά στους κώδικες LDPC, αφού πλέον ήταν δυνατή η υλοποίηση τους. Επιπλέον, η μεγάλη ανάπτυξη της τεχνολογίας της πληροφορίας έστρεψε το ενδιαφέρον της αγοράς σε υψηλής απόδοσης κώδικες μετάδοσης δεδομένων, οι οποίοι παίζουν καθοριστικό ρόλο σε πλήθος παραγόντων που αφορούν τη μετάδοση. Οι παράγοντες αυτοί κυμαίνονται από την ποιότητα του σήματος έως και τη διάρκεια ζωής της μπαταρίας. Το 1993 παρουσιάστηκαν οι turbo κώδικες (Berrou, Glavieux, and Thitimajshima, 1993) [4], και ο αντίστοιχος επαναληπτικός αλγόριθμος αποκωδικοποίησης. Οι αξιοσημείωτες επιδόσεις των κωδικών αυτών προκάλεσε ποικίλα ερωτήματα και μεγάλο ενδιαφέρον για παρόμοιες επαναληπτικές μεθόδους. Το 1995, οι D.MacKay και R. M. Neal [5] επανέφεραν στο προσκήνιο τους LDPC κώδικες, και συνέδεσαν τον επαναληπτικό τους αλγόριθμο με την έννοια του belief propagation (Pearl, 1988) [6], την οποία δανείστηκαν από την κοινότητα της τεχνητής νοημοσύνης (δίκτυα Bayes). Το 1996, οι M. Sipser and D. A. Spielman [7] χρησιμοποίησαν τον πρώτο αλγόριθμο αποκωδικοποίησης του R.G.Gallager (αλγόριθμος Α) στην αποκωδικοποίηση κωδικών διαστελλόμενων στοιχείων (expander codes). Το 1998, τα διμερή γραφήματα (διάγράμματα Tanner) [9] αρχισαν να χρησιμοποιούνται για την αναπαράσταση κωδικών διόρθωσης σφαλμάτων (Kschischang and Frey, 1998) [8], με σκοπό να μπορούν να περιγραφούν πολλοί διαφορετικοί αλγόριθμοι μέσω κοινού 15

30 φορμαλισμού. Μπορούμε να πούμε, πως οι κώδικες LDPC είχαν καθοριστική συμβολή σε δύο επαναστατικές εξελίξεις στον τομέα της κωδικοποίησης καναλιού: τη βασισμένη σε γράφημα περιγραφή του κώδικα και τις επαναληπτικές μεθόδους αποκωδικοποίησης. Μολονότι η υλοποίηση κωδικών LDPC καθυστέρησε σε σχέση με αυτή άλλων, με κύριο ανταγωνιστή τους turbo κώδικες, τα τελευταία χρόνια κατάφεραν να γίνουν πρότυπο (standard) για σημαντικές νέες τηλεπικοινωνιακές εφαρμογές. Το 2003 έγιναν πρότυπο για το DVB_S2 (Digital Video Broadcasting δορυφορική μετάδοση ψηφιακής τηλεόρασης), κερδίζοντας τη μάχη απ τους turbo κώδικες. To 2008 επιλέχθηκαν αντί των συνελικτικών turbo κωδικών (convolutional turbo codes) για το πρότυπο ITU-T G.hn, λόγω της μικρότερης υπολογιστικής πολυπλοκότητας τους, ειδικά για ρυθμούς μετάδοσης της τάξης του 1 Gbps, καθώς και της καλύτερης απόδοσης ως προς τη διόρθωση σφαλμάτων [32] Βασικά Χαρακτηριστικά Πρόκειται για κώδικες ελέγχου ισοτιμίας. Περιγράφονται πλήρως, είτε από τον γεννήτορα πίνακα G, είτε από τον πίνακα ελέγχου ισοτιμίας (Parity Check Matrix) H, είτε από ένα διάγραμμα Tanner. Όπως έχει ήδη αναφερθεί, η κωδικοποίηση ενός κώδικα μπλοκ γίνεται με τη βοήθεια του γεννήτορα πίνακα G. Τα προς μετάδοση δεδομένα, τεμαχίζονται σε μπλοκ μήκους k. Αν και οι κώδικες LDPC μπορούν να γενικευτούν και για μη δυαδικά αλφάβητα, η μελέτη τέτοιων περιπτώσεων ξεφεύγει από τους σκοπούς της παρούσας εργασίας. Από εδώ και στο εξής, κάθε φορά που θα αναφερόμαστε σε κώδικα LDPC θα εννοούμε δυαδικό κώδικα. Η λέξη πληροφορίας πολλαπλασιάζεται με τον k n πίνακα G, σύμφωνα με τη σχέση (2.1), και παράγει ένα διάνυσμα 1 n. Αυτό το διάνυσμα είναι το κωδικοποιημένο μπλοκ και ονομάζεται κωδική λέξη. Δεδομένου ότι γνωρίζοντας τον γεννήτορα πίνακα μπορούμε να βρούμε όλες τις κωδικές λέξεις του κώδικα, ένας πρώτος τρόπος περιγραφής ενός κώδικα LDPC είναι ο πίνακας αυτός. Αντίστοιχα, μπορεί να περιγραφεί πλήρως ο κώδικας LDPC με τον πίνακα ελέγχου ισοτιμίας Η. Αυτός έχει το χαρακτηριστικό ότι πολύ μικρό ποσοστό των στοιχείων του είναι μη μηδενικά (δηλαδή είναι άσσοι). Πρόκειται επομένως για έναν «αραιό» (sparse) πίνακα, όσον αφορά την παρουσία άσσων, χαρακτηριστικό από το οποίο πήραν και το όνομά τους οι συγκεκριμένοι κώδικες. Δεδομένου ότι κάθε έγκυρη λέξη του κώδικα θα πρέπει να ικανοποιεί τη σχέση (2.3), γνωρίζοντας τον πίνακα Η μπορούμε να διακρίνουμε από το σύνολο των 2 n δυνατών συνδυασμών κωδικών λέξεων, τις 2 k 16

31 έγκυρες. Κάθε στήλη και κάθε γραμμή του πίνακα ισοτιμίας αποτελείται από έναν μικρό σταθερό αριθμό d u και d c, αντίστοιχα, άσσων. Έχει καθιερωθεί να συμβολίζεται ως (n, d u, d c ) ένας κώδικας LDPC του οποίου ο πίνακας ελέγχου ισοτιμίας αποτελείται από n στήλες και m=n-k γραμμές, κάθε στήλη του οποίου περιέχει d u άσσους και κάθε γραμμή του d c άσσους. Στην πραγματικότητα, με τον συμβολισμό αυτό δεν συμβολίζεται ένας μόνο κώδικας αλλά μία ομάδα κωδικών LDPC, αφού η αλλαγή θέσης σε έναν και μόνο άσσο του πίνακα, μας δίνει έναν διαφορετικό κώδικα. Ένα παράδειγμα πίνακα ελέγχου ισοτιμίας παρουσιάζουμε στο ακόλουθο σχήμα: Σχήμα 2.1 : Παράδειγμα ενός πίνακα ελέγχου ισοτιμίας με n=20, d u =3 και d c =4. Κάθε γραμμή του πίνακα H αντιστοιχεί σε μία εξίσωση ελέγχου ισοτιμίας (parity check) και κάθε άσσος στη θέση (i,j) του πίνακα H, σημαίνει πως το j-στο σύμβολο δεδομένων συμμετέχει στην i-οστη εξίσωση ελέγχου ισοτιμίας. Γίνεται αντιληπτό πώς αφού κάθε γραμμή του πίνακα ελέγχου ισοτιμίας ικανοποιεί την σχέση (2.2), θα πρέπει πρακτικά μεταξύ εκείνων των δυαδικών ψηφίων της κωδικής λέξης που αντιστοιχούν στους άσσους της γραμμής ελέγχου, να υπάρχει άρτιο πλήθος άσσων. Επιπλέον, δεδομένου ότι ο συνολικός αριθμός των άσσων ενός πίνακα ελέγχου ισοτιμίας διαστάσεων (m,n) είναι σταθερός ισχύει, mdc= n d (2.4) u 17

32 Ένα μέγεθος που έχει ενδιαφέρον είναι ο ρυθμός(rate) R του κώδικα. Ορίζεται ως ο λόγος των δεδομένων πληροφορίας, ή information bits, (k) προς τα μεταδιδόμενα δεδομένα (n). Επομένως, σύμφωνα με τα όσα έχουμε αναφέρει έως τώρα, ο ρυθμός ενός (n, d u, d c ) κώδικα LDPC, του οποίου η λέξη πληροφορίας αποτελείται από k δυαδικά ψηφία, δίνεται από τι σχέση : k n m m du R = = = 1 R = 1 - n n n d (2.5) c Ένας κώδικας LDPC του οποίου οι παράμετροι d u, d c είναι σταθερές για όλες τις στήλες και όλες τις γραμμές του πίνακα ισοτιμίας, όπως ο κώδικας του σχήματος 2.1, ονομάζεται κανονικός (regular). Υπάρχουν, ωστόσο, και κώδικες για τους οποίους δεν ισχύει κάτι τέτοιο. Αυτοί ανήκουν στην κατηγορία των μη κανονικών (irregular) κωδικών LDPC. Σε αυτή την περίπτωση, ο αριθμός των άσσων κάθε γραμμής ή κάθε στήλης, είναι συνάρτηση της γραμμής ή της στήλης, αντίστοιχα, και περιγράφεται συνήθως με συγκεκριμένα πολυώνυμα [10]. Αν και οι κανονικοί κώδικες έχουν απλούστερη υλοποίηση του αποκωδικοποιητή τους, οι μη κανονικοί κώδικες LDPC υπερτερούν ως προς την επίδοση. Το 1981 ο Tanner [9] προσδιόρισε έναν πολύ πρακτικό τρόπο περιγραφής ενός μπλοκ κώδικα, ο οποίος αποδείχτηκε εξαιρετικά χρήσιμος για του κώδικες LDPC. Η περιγραφή του Tanner βασίζεται στον πίνακα ελέγχου ισοτιμίας και αποτελείται από έναν διμερή γράφο (bipartite graph) ή, όπως έχει επικρατήσει να λέγεται, «διάγραμμα Tanner». Ο γράφος αποτελείται από δύο ειδών κορυφές-κόμβους και ακμές μεταξύ αυτών. Οι κορυφές της μιας κατηγορίας ονομάζονται κόμβοι μεταβλητής (variable nodes), και αντιστοιχούν στις στήλες του πίνακα ισοτιμίας, ενώ στην άλλη κατηγορία κορυφών ανήκουν οι κόμβοι ελέγχου (check nodes), οι οποίοι αντιστοιχούν στις γραμμές του. Μπορούμε να πούμε πως κάθε κόμβος μεταβλητής αναπαριστά κάποιο σύμβολο δεδομένων και κάθε κόμβος ελέγχου μια εξίσωση ελέγχου ισοτιμίας. Οι άσσοι του πίνακα ισοτιμίας αντιστοιχούν στις ακμές του γράφου. Έστω ότι το στοιχείο (i,j) του πίνακα H είναι άσσος. Σε αυτή την περίπτωση, υπάρχει μία ακμή η οποία συνδέει τον κόμβο μεταβλητής ο οποίος αντιστοιχεί στην στήλη j με τον κόμβο ελέγχου ο οποίος αντιστοιχεί στην γραμμή i. Αντίστοιχα, τοποθετούνται οι υπόλοιπες ακμές που συνδέουν variable με check κόμβους σύμφωνα με την κατανομή των άσσων στον πίνακα ισοτιμίας του κώδικα. Ο αριθμός των ακμών που συνδέονται σε κάθε κόμβο ονομάζεται βαθμός (degree) του συγκεκριμένου κόμβου. Ο 18

33 βαθμός των κόμβων μεταβλητής είναι σταθερός για έναν κανονικό κώδικα LDPC, όπως και εκείνος των κόμβων ελέγχου. Οι δύο αυτές παράμετροι αντιστοιχούν στις παραμέτρους d u και d c που αναφέραμε παραπάνω, και για το λόγο αυτό θα χρησιμοποιήσουμε τον ίδιο συμβολισμό, αφού περιγράφουν ουσιαστικά τα ίδια μεγέθη. Στην περίπτωση των μη κανονικών (irregular) κωδικών, ο βαθμός των κόμβων τους περιγράφεται από ειδικά πολυώνυμα κατανομής βαθμού. Στο σχήμα 2.2 φαίνεται ένας πίνακας ελέγχου ισοτιμίας και το αντίστοιχο διάγραμμα Tanner. O κώδικας του σχήματος είναι ένας (9,2,3)-LDPC κώδικας. Η βασική ιδιότητα του συγκεκριμένου και κάθε LDPC κώδικα είναι η ακόλουθη: Όλα τα ψηφία που συνδέονται σε έναν κόμβο ελέγχου έχουν modulo 2 άθροισμα ίσο με το μηδέν ή, ισοδύναμα, έχουν αποτέλεσμα μηδέν στην πράξη XOR. Αυτή η ιδιότητα ονομάζεται περιορισμός ισοτιμίας ελέγχου (parity check constraint), και κάθε λέξη των 9 bits για Check Nodes Variable Nodes Σχήμα 2.2 : Ο πίνακας ελέγχου ισοτιμίας και το αντίστοιχο διάγραμμα Tanner ενός LDPC κώδικα. 19

34 τον συγκεκριμένο κώδικα είναι έγκυρη κωδική λέξη αν και μόνο αν ικανοποιεί όλα τα parity check constraints, που στη συγκεκριμένη περίπτωση είναι 6 (βλέπε Σχέση 2.3). Ένα πολύ σημαντικό χαρακτηριστικό ενός διαγράμματος Tanner είναι η ύπαρξη κύκλων. Ένας κύκλος μήκους g είναι μία κλειστή διαδρομή η οποία περιλαμβάνει g το πλήθος ακμές. Η παρουσία κύκλων στο διάγραμμα Tanner ενός κώδικα είναι ανεπιθύμητη, διότι περιορίζει την απόδοση της αποκωδικοποίησης, πλην όμως ανέφικτη, καθώς η απουσία κύκλων προϋποθέτει απόλυτη ανεξαρτησία μεταξύ των bits που ελέγχει η κάθε γραμμή του πίνακα ισοτιμίας. Δεδομένου ότι η αποφυγή των κύκλων δεν είναι δυνατή, επιδιώκεται η παρουσία κύκλων με το μέγιστο δυνατό μήκος. Το μήκος όμως των κύκλων είναι ανάλογο των διαστάσεων του πίνακα ισοτιμίας, γεγονός που θέτει όρια στο μέγιστο δυνατό τους μήκος. Ο μικρότερος κύκλος που μπορεί να εμφανισθεί είναι ένας κύκλος μήκους 4. Το μήκος του μικρότερου κύκλου ενός κώδικα είναι εκείνο που μας ενδιαφέρει κυρίως, και για το λόγο αυτό αποτελεί χαρακτηριστικό του κώδικα και ονομάζεται girth Πλεονεκτήματα Μειονεκτηματα 'Όπως θα δούμε και στη συνέχεια, ο πίνακας ελέγχου ισοτιμίας καθορίζει το κύκλωμα και κατά συνέπεια την πολυπλοκότητα του αποκωδικοποιητή. Πιο συγκεκριμένα, η πολυπλοκότητα είναι ανάλογη των μη μηδενικών στοιχείων του πίνακα ισοτιμίας. Όσο λιγότεροι, επομένως, είναι οι άσσοι του πίνακα ισοτιμίας, τόσο απλούστερος ο αποκωδικοποιητής, γεγονός που φανερώνει το σημαντικό πλεονέκτημα των κωδικών LDPC, ως προς την υλοποίηση, έναντι άλλων μπλοκ κωδικών ίδιου μεγέθους. Ένα ακόμα σημαντικό πλεονέκτημα των κωδίκων LDPC, είναι το γεγονός πως οι χρησιμοποιούμενοι αλγόριθμοι αποκωδικοποίησης, πέρα από την διόρθωση σφαλμάτων, προσφέρουν σαφή και έγκυρη ανίχνευση των περιπτώσεων εκείνων που η αποκωδικοποίηση αποτυγχάνει. Ενώ θεωρητικά είναι πιθανό, με κατάλληλη επιλογή κώδικα, μπορούμε να ελαττώσουμε κατά πολύ την πιθανότητα η αποκωδικοποίηση να καταλήξει σε κωδική λέξη η ο οποία να είναι έγκυρη, χωρίς όμως να είναι εκείνη που μεταδόθηκε. Ένα εξαιρετικής σημασίας πλεονέκτημα των κωδίκων LDPC είναι οι πολύ καλές επιδόσεις τους. Ενώ μέχρι πριν λίγα χρόνια οι κώδικες turbo ήταν εκείνοι οι οποίοι κατείχαν τα πρωτεία όσον αφορά τις επιδόσεις, πλέον οι κώδικες LDPC φαίνεται να τους 20

35 ανταγωνίζονται επάξια. Υποστηρίζουν ρυθμούς μετάδοσης, οι οποίοι πλησιάζουν τη χωρητικότητα καναλιού (όριο Shannon). Το βασικό αρνητικό στοιχείο είναι πως για να επιτευχθεί αυτός ο ρυθμός μετάδοσης πρέπει να χρησιμοποιηθεί κώδικας πολύ μεγάλου μήκους. Αυτό σημαίνει πως απαιτείται πολύ μεγάλος πίνακας ελέγχου ισοτιμίας. Όσο αραιός και να είναι ένας τόσο μεγάλος πίνακας, ο αριθμός των μη μηδενικών του στοιχείων είναι εξαιρετικά μεγάλος, με αποτέλεσμα η αποκωδικοποίηση να είναι εξαιρετικά απαιτητική από άποψη πολυπλοκότητας. 21

36 22

37 Κεφάλαιο 3 Αλγόριθμοι Αποκωδικοποίησης 3.1 Αποκωδικοποίηση Η αποκωδικοποίηση είναι μία διαδικασία κατά την οποία ο αποκωδικοποιητής αποφαίνεται για την ακολουθία συμβόλων που μεταδόθηκε, έχοντας ως δεδομένα την ακολουθία συμβόλων που έλαβε. Με βάση τον message-passing αλγόριθμο, ο οποίος αποτελεί κλασικό τρόπο αποκωδικοποίησης κωδικών LDPC και στον οποίο θα αναφερθούμε εκτενώς στη συνέχεια, μηνύματα (messages) στέλνονται μεταξύ των κόμβων του διαγράμματος Tanner, που περιγράφει τον κώδικα, και εκτελούνται κάποιοι υπολογισμοί στους κόμβους αυτούς. Όπως αναφέραμε στο προηγούμενο κεφάλαιο, κάθε κόμβος μεταβλητής αναπαριστά κάποιο σύμβολο δεδομένων και κάθε κόμβος ελέγχου μια εξίσωση ελέγχου ισοτιμίας. Ας υποθέσουμε ότι κάποια από τα ψηφία-σύμβολα μιας κωδικής λέξης, καθώς αυτή διαδίδεται μέσω του καναλιού επικοινωνίας, έχουν υποστεί αλλοίωση, εξαιτίας της παρουσίας θορύβου στο κανάλι. Αφού φτάσει η αλλοιωμένη κωδική λέξη στον αποκωδικοποιητή, κάθε σύμβολο της μπαίνει ως είσοδος στον αντίστοιχο κόμβο μεταβλητής. Ο κάθε κόμβος μεταβλητής προκειμένου να πάρει μια απόφαση σχετικά με το αν το bit που έλαβε είναι σωστό ή λάθος, «ρωτά» όλους τους γειτονικούς του κόμβους ελέγχου, ποια είναι η «γνώμη» τους για την τιμή του συγκεκριμένου bit. Καθένας από αυτούς τους κόμβους ελέγχου ρωτά, στη συνέχεια, τους υπόλοιπους γειτονικούς του κόμβους μεταβλητής ποια είναι η τρέχουσα τιμή-εκτίμησή τους για τα δικά τους bits (Φάση Α) και στέλνει στον αρχικό κόμβο μεταβλητή μια απάντηση, η οποία είναι συνάρτηση των τιμών αυτών (Φάση Β). Στην ουσία, με αυτό τον τρόπο ελέγχεται η άρτια ή περιττή ισοτιμία των άσσων της ελεγχόμενης ομάδας ψηφίων. Επειδή, όμως, κάθε 23

38 κόμβος μεταβλητής έχει περισσότερους από έναν γειτονικούς κόμβους ελέγχου, έχει και περισσότερες από μία γνώμες για το αν είναι σωστό το δικό του bit. Πρέπει με κάποιο τρόπο να επεξεργαστεί αυτές τις γνώμες και να βγάλει κάποιο συμπέρασμα για την τιμή του συγκεκριμένου bit. Για παράδειγμα, θα μπορούσε να «πιστέψει» την πλειοψηφία. Η παραπάνω διαδικασία αποτελεί μία επανάληψη του message passing αλγορίθμου. Με κάθε επιπλέον επανάληψη που γίνεται, αυξάνεται η πιθανότητα να είναι σωστή η εκτίμηση των κόμβων μεταβλητής για τις τιμές των ψηφίων της κωδικής λέξης. Στο Σχήμα 3.1 απεικονίζεται η διαδικασία ανταλλαγής μηνυμάτων που μόλις περιγράψαμε, για τον (9,2,3)-LDPC κώδικα που αναφέραμε στο κεφάλαιο 2. Σχήμα 3.1 : Αποκωδικοποίηση με χρήση του Message-Passing αλγορίθμου δύο φάσεων. 24

39 Κατά τη μετάδοση δεδομένων, κάποια (ή όλα) από τα λαμβανόμενα σύμβολα διαφέρουν από εκείνα που εισήχθησαν στο κανάλι, ορισμένα πολύ και άλλα λιγότερο. Στην περίπτωση που έχουμε έναν δυαδικό κώδικα και διαμόρφωση BPSK (Binary Phase Shift Keying) τα μεταδιδόμενα σύμβολα είναι το +1 (λογικό 1) και το -1 (λογικό 0). Εξαιτίας του θορύβου στο κανάλι επικοινωνίας, το σήμα που λαμβάνει ο αποδιαμορφωτής κατά τη δειγματοληψία δεν είναι ίδιο με το αρχικό, αλλά παίρνει ενδιάμεσες τιμές ή ακόμα και ανεστραμμένες, αν υπάρχει πολύς θόρυβος. Υπάρχουν δύο προσεγγίσεις όσον αφορά τον τρόπο έκφρασης της τιμής κάθε λαμβανομένου συμβόλου, καθώς και των ενδιάμεσων εκτιμήσεων, κατά τη διάρκεια της αποκωδικοποίησης. Η προφανής, η οποία ονομάζεται hard decision, είναι να θεωρήσουμε πως το πρόσημο του λαμβανομένου συμβόλου είναι αρκετό για να κάνουμε μία πρώτη εκτίμηση για το μεταδιδόμενο σύμβολο. Αν, εφαρμόζοντας αυτή τη θεώρηση σε όλα τα σύμβολα της κωδικής λέξης, προκύπτει μη έγκυρη κωδική λέξη, τότε προσπαθούμε να διορθώσουμε τα όποια σφάλματα, διαχειριζόμενοι πλέον δυαδικά ψηφία. Επομένως αντιστοιχίζουμε ένα μόνο δυαδικό ψηφίο σε κάθε σύμβολο που λαμβάνουμε. Με τον τρόπο αυτό κβαντίζουμε άμεσα τα λαμβανόμενα σύμβολα και χάνουμε την όποια πληροφορία μπορούμε να αντλήσουμε από αυτά. Η αποκωδικοποίηση αυτή είναι χαμηλής πολυπλοκότητας, οδηγεί όμως σε σημαντική απώλεια ληφθείσας πληροφορίας. Για παράδειγμα, αν υποψιαζόμαστε ότι ένα από δύο λαμβανόμενα σύμβολα +0,13 και +1,2 είναι λανθασμένα, δηλαδή λόγω του θορύβου έχει αλλάξει το πρόσημό τους, τότε είναι πολύ λογικό να θεωρήσουμε πιθανότερο αυτό να έχει συμβεί στο πρώτο σύμβολο. Αυτή την εκτίμηση δεν θα μπορέσουμε να την κάνουμε αν εξαρχής εξισώσουμε τα δύο λαμβανόμενα σύμβολα θεωρώντας ότι είναι +1. Η δεύτερη προσέγγιση χρησιμοποιεί περισσότερα από ένα δυαδικά ψηφία, τα λεγόμενα soft bits, για την αναπαράσταση των λαμβανόμενων συμβόλων και των μηνυμάτων που ανταλλάσσονται μεταξύ κόμβων ελέγχου και μεταβλητής. Η ληφθείσα πληροφορία, η οποία προκύπτει από την ακριβή τιμή του λαμβανόμενου συμβόλου, διατηρείται καθ'όλη τη διάρκεια της αποκωδικοποίησης και αξιοποιείται κατά τον καλύτερο δυνατό τρόπο. Προκειμένου να εκτιμηθεί, κατά την αποκωδικοποίηση, αν η κωδική λέξη στην οποία αυτή καταλήγει είναι έγκυρη (στο τέλος κάθε επανάληψης ή κάποιου αριθμού επαναλήψεων) γίνεται μία προσωρινή κβάντιση των εκτιμώμενων soft bits των συμβόλων, χωρίς όμως αυτά να χάνονται. Αντίθετα, αν η κωδική λέξη δεν είναι έγκυρη, η αποκωδικοποίηση συνεχίζεται με τις «soft» τιμές των συμβόλων. Η εκτίμηση αυτή αποκαλείται soft decision και επιτυγχάνει αποτελεσματικότερη αποκωδικοποίηση. Το κόστος της, από άποψη υπολογιστικής πολυπλοκότητας, όμως. είναι σαφώς μεγαλύτερο από αυτό της hard decision εκτίμησης. 25

40 Πριν περάσουμε στην παρουσίαση κάποιων βασικών αλγορίθμων αποκωδικοποίησης κωδικών LDPC, είναι σκόπιμο να σχολιάσουμε πως από την περιγραφή του message-passing αλγορίθμου διαφαίνεται μία αντιστοιχία ανάμεσα στο διάγραμμα Tanner ενός κώδικα και στο κύκλωμα που υλοποιεί την αποκωδικοποίηση. Το κύκλωμα αυτό θα μπορούσε να αποτελείται από δύο ειδών υπολογιστικές μονάδες, έναν τύπο για τους κόμβους ελέγχου (Check Processing Unit - CPU) και έναν για τους κόμβους μεταβλητής (Variable Processing Unit - VPU). Κάθε κόμβος του διαγράμματος Tanner αντιστοιχεί σε μία επεξεργαστική μονάδα του αντίστοιχου τύπου. Μεταξύ των δύο τύπων υπολογιστικών μονάδων ανταλλάσσονται εκτιμήσεις-μηνύματα, τις οποίες και επεξεργάζονται. Η διαδικασία αυτή είναι επαναληπτική. Ο τρόπος επεξεργασίας των εκτιμήσεων καθορίζεται από τον χρησιμοποιούμενο αλγόριθμο αποκωδικοποίησης. Αναδεικνύεται, έτσι, η σπουδαιότητα της παρουσίας λίγων άσσων στον πίνακα ισοτιμίας, το πλήθος των οποίων είναι ανάλογο με το πλήθος των ανταλλασσόμενων μηνυμάτων. Επιπλέον, οι διαστάσεις του πίνακα καθορίζουν το πλήθος των υπολογιστικών μονάδων και, κατ επέκταση, την πολυπλοκότητα του κυκλώματος αποκωδικοποίησης. 3.2 Αλγόριθμοι Message Passing Οι αλγόριθμοι αποκωδικοποίησης κωδικών LDPC διακρίνονται σε δύο κύριες μεγάλες κατηγορίες, τους Message-Passsing και τους Bit-Flipping. Η υλοποίηση των αλγορίθμων της πρώτης κατηγορίας βασίζεται στην ανταλλαγή μηνυμάτων επαναληπτικά μεταξύ δύο τύπων επεξεργαστικών μονάδων. Η διαδικασία αυτή ονομάζεται belief propagation ή χρονοδρομολόγηση δύο φάσεων (two-phase scheduling). Ανάλογη υλοποίηση μπορούμε να έχουμε και για τους αλγορίθμους Bit- Flipping, με τη διαφορά πως σε αυτούς απαιτείται και ένας κεντρικοποιημένος έλεγχος σε κάθε επανάληψη, σε αντίθεση με την αμιγώς κατανεμημένη υλοποίηση των αλγορίθμων Message-Passing. Ωστόσο, η κύρια διαφορά των δύο αυτών κατηγοριών είναι πως οι αλγόριθμοι Message-Passing βασίζονται κυρίως σε soft decision αποκωδικοποίηση, ενώ, αντίθετα, οι αλγόριθμοι Bit-Flipping επιδιώκουν την ελαχιστοποίηση της υπολογιστικής πολυπλοκότητας, βασιζόμενοι σε hard decision αποκωδικοποίηση. Οι αλγόριθμοι Bit-Flipping δεν θα μας απασχολήσουν περισσότερο στην παρούσα εργασία. Στη συνέχεια, θα παρουσιάσουμε δύο βασικούς εκπροσώπους των Message- Passing αλγορίθμων, τους αλγορίθμους Log Sum-Product και Min-Sum. Πρόκειται για 26

41 επαναληπτικούς αλγορίθμους, οι οποίοι αποτελούνται από τέσσερα βασικά στάδια. Το πρώτο, είναι η αρχικοποίηση των Q v f μηνυμάτων, βάσει των τιμών των λαμβανομένων συμβόλων. Κατά το δεύτερο στάδιο λαμβάνει χώρα ο υπολογισμός των R f v μηνυμάτων, τα οποία οι check nodes στέλνουν στους variable nodes. Αποκαλείται συνήθως στάδιο ενημέρωσης των check nodes. Το τρίτο στάδιο, συνίσταται στον υπολογισμό των Q f v μηνυμάτων, τα οποία στέλνουν οι variable nodes στους check nodes και αποκαλείται συνήθως στάδιο ενημέρωσης των variable nodes. Το τέταρτο και τελευταίο στάδιο περιλαμβάνει, αφενός μία εκτίμηση της τιμής κάθε bit και τη λήψη μίας hard απόφασης για κάθε bit από τον αντίστοιχο variable node και, αφετέρου, τον έλεγχο της εγκυρότητας της κωδικής λέξης που προκύπτει από τις hard αποφάσεις. Ο έλεγχος της εγκυρότητας συνίσταται στην ικανοποίηση από την κωδική λέξη της σχέσης 2.3 του δευτέρου κεφαλαίου. Αν η κωδική λέξη είναι έγκυρη ο αλγόριθμος τερματίζεται, διαφορετικά επαναλαμβάνονται τα στάδια 2 έως 4 μέχρι να καταλήξει σε μία έγκυρη κωδική λέξη ή να ικανοποιηθεί το εκάστοτε κριτήριο τερματισμού. Αυτό, συνήθως, είναι ένας προκαθορισμένος μέγιστος αριθμός επαναλήψεων, χωρίς να αποκλείεται και η ύπαρξη πιο σύνθετων κριτηρίων Log Sum Product (Log SP) Ο αλγόριθμος αυτός προέκυψε ως εξέλιξη του Sum-Product, κατόπιν μεταφοράς του τελευταίου στο λογαριθμικό πεδίο. Στον log-sp, τα ανταλλασσόμενα μηνύματα εκφράζονται ως φυσικοί λογάριθμοι λόγου πιθανοτήτων(llr, Log-Likelihood Ratio). Ο φυσικός λογάριθμος συνήθως συμβολίζεται ως ln(x) ή log e (x). Εμείς θα χρησιμοποιήσουμε απλά το συμβολισμό log(x) στην παρούσα εργασία. Για την περίπτωση που έχουμε AWGN κανάλι και BPSK διαμόρφωση τα βήματα του αλγορίθμου είναι τα ακόλουθα : Αρχικοποίηση : Ανάθεση αρχικών τιμών στα μηνύματα Q v f σύμφωνα με τη σχέση : 0 2 Q = y v f, (3.1) σ όπου με y i συμβολίζουμε την τιμή του αντίστοιχου λαμβανόμενου συμβόλου. c 2 n Ενημέρωση των check nodes : Υπολογισμός του μηνύματος R n f v, τo οποίo στέλνει ο check node f στον variable node v κατά τη n-ιοστή επανάληψη του αλγορίθμου : 27

42 n R f v = Φ ( Φ( Q )) sign ( Q ) f Su n 1 n 1 v' f v' f f v' S ( v) f v' S ( v) u, (3.2) όπου με ( v) συμβολίζεται το σύνολο των variable nodes, εκτός του v, με τους οποίους συνδέεται ο check node f, ενώ η sign(x) είναι μια συνάρτηση που επιστρέφει +1 για x 0 και -1 για x<0. Η συνάρτηση Φ δίνεται από τον ακόλουθο τύπο: u x 1 e x Φ ( x) = log = log(tanh( )) x 1+ e 2 (3.3) Σχήμα 3.2 : Γραφική παράσταση της συνάρτησης Φ(x). 28

43 Η συνάρτηση Φ είναι συμμετρική ως προς την ευθεία y=x, και κατά συνέπεια, ταυτίζεται με την αντίστροφή της (Σχήμα 3.2). Επειδή η ακρίβεια της συγκεκριμένης συνάρτησης επηρεάζει σε μεγάλο βαθμό την απόδοση του αλγορίθμου αρκετές μελέτες έχουν εκπονηθεί για την αποδοτικότερη αναπαράστασή της σε υλικό. Η πιο συνηθισμένη από αυτές βασίζεται στη χρήση μνημών (Look-Up Tables). Η ιδιότητα της συμμετρίας της διευκολύνει αυτή την υλοποίησή υποδιπλασιάζοντας το απαιτούμενο μέγεθος των Look-Up Tables. Η υλοποίηση της Φ σε υλικό επιβάλλει την πεπερασμένη ακρίβεια αναπαράστασής της, δηλαδή τον κβαντισμό της. Το σφάλμα κβαντισμού που εισάγεται από την διαδικασία αυτή θέτει ένα όριο στην επίδοση του αλγορίθμου. Ενημέρωση των variable nodes : Υπολογισμός του μηνύματος Q n v f, τo οποίo στέλνει ο variable node v στον check node f κατά τη n-ιοστή επανάληψη του αλγορίθμου: v n v f n f ' v, (3.4) v f ' S ( f ) Q = R c όπου με f ' Sc ( f) συμβολίζεται το σύνολο των check nodes, εκτός του f, με τους οποίους συνδέεται ο variable node v. Hard Decision : Για κάθε bit, ο αντίστοιχος variable node κάνει μία συνολική εκτίμηση σύμφωνα με τη σχέση : Q v n = Rf ' v, (3.5) v f' S c όπου λαμβάνονται υπόψη όλα τα μηνύματα τα οποία λαμβάνει ο variable node. Βάσει της τιμής της ποσότητας Q v παίρνεται μία hard απόφαση, και συγκεκριμένα : 0 αν Qv 0 v = 1 αν Qv < 0 (3.6) Αντίστοιχη απόφαση λαμβάνεται για όλα τα bits της κωδικής λέξης. Σε περίπτωση που η προκύπτουσα κωδική λέξη είναι έγκυρη ο αλγόριθμος τερματίζει και η 29

44 συγκεκριμένη κωδική λέξη αποτελεί την αποκωδικοποιημένη. Διαφορετικά, επαναλαμβάνεται η διαδικασία από το στάδιο της ενημέρωσης των check nodes Min Sum (MS) Ο αλγόριθμος Min-Sum(MS) διαφέρει από τον log SP μόνο στο στάδιο της ενημέρωσης των check nodes. Η συνάρτηση Φ, είναι μία γνησίως φθίνουσα συνάρτηση. Όπως φαίνεται και από το Σχήμα 3.2, για μικρές τιμές του ορίσματος εισόδου της, παίρνει μεγάλες τιμές, ενώ για μεγαλύτερες εισόδους παίρνει πολύ μικρότερες τιμές. Λόγω αυτής της ιδιότητας, στο άθροισμα της σχέσης (3.2) κυριαρχεί το μικρότερο από τα μηνύματα Q v f. Μπορούμε, επομένως, να απλοποιήσουμε το άθροισμα προσεγγίζοντάς το με τον μικρότερο από τους όρους του : (3.7) H συνάρτηση min επιστρέφει εκείνο το όρισμα εισόδου της το οποίο έχει την μικρότερη τιμή από όλα τα υπόλοιπα. Όσο μικρότερος είναι ο όρος αυτός από τους υπόλοιπους όρους του αθροίσματος, τόσο καλύτερη είναι και η παραπάνω προσέγγιση. Συνδυάζοντας τις σχέσεις (3.2), (3.7) και Φ -1 (x)=φ(x), προκύπτει ο τύπος: R n min ( Q f v ) sign ( Q ) f u v' S ( v) n 1 v' f f u v' S ( v) n 1 v' f = (3.8) O αλγόριθμος MS χρησιμοποιεί αυτή τη σχέση για την ενημέρωση των check nodes, αντί για τη σχέση (3.2) του Log-SP. Τα υπόλοιπα στάδια των δύο αλγορίθμων είναι κοινά. Μπορούμε να πούμε πως ο αλγόριθμος MS είναι μία προσέγγιση του αλγορίθμου log-sp, η οποία μειώνει σημαντικά την πολυπλοκότητα της αποκωδικοποίησης, λόγω της απουσίας της συνάρτησης Φ. Παρότι ο log-sp είναι θεωρητικά βέλτιστος, ο Min-Sum είναι αρκετά απλούστερος και έχει μεγαλύτερο πρακτικό ενδιαφέρον στα πλαίσια μιας ρεαλιστικής εφαρμογής, όπως θα δούμε και στη συνέχεια. 30

45 3.3 Layered Decoding Στην προηγούμενη ενότητα, παρουσιάσαμε τη φιλοσοφία των αλγορίθμων message-passing, θεωρώντας πως αυτοί ακολουθούν ένα πλήρως παράλληλο σχήμα κατά τον χρονοπρογραμματισμό των μηνυμάτων που ανταλλάσσονται μεταξύ των επεξεργαστικών στοιχείων του αποκωδικοποιητή (two-phase scheduling). Στην πρώτη φάση, ενημερώνονται όλοι οι κόμβοι ελέγχου λαμβάνοντας τα μηνύματα που αποστέλλονται από τους κόμβους μεταβλητής, ενώ, αντίστοιχα, ακολουθεί η δεύτερη φάση με την ενημέρωση όλων μαζί των κόμβων μεταβλητής. Εδώ, θα αναφερθούμε σε μια κάπως διαφορετική προσέγγιση χρονοδρομολόγησης των μηνυμάτων ενός message-passing αλγορίθμου, η οποία ονομάζεται Layered Decoding (αποκωδικοποίηση σε επίπεδα), ενώ στη βιβλιογραφία έκανε την πρώτη της εμφάνιση με την ονομασία turbo decoding message passing ή TDMP (τούρμπο αποκωδικοποίηση περάσματος μηνυμάτων) [20]. Η επεξεργασία ξεκινά από ένα υποσύνολο των κόμβων ελέγχου και τα μηνύματα που υπολογίζονται αποστέλλονται άμεσα στους αντίστοιχους κόμβους μεταβλητής που συνδέονται με τους κόμβους ελέγχου του τρέχοντος υποσυνόλου. Η ενημέρωση των τιμών αυτών των κόμβων μεταβλητής γίνεται άμεσα, οπότε το επόμενο υποσύνολο κόμβων ελέγχου θα λάβει τις ενημερωμένες τιμές. Ας φέρουμε στο μυαλό μας τον πίνακα ελέγχου ισοτιμίας. Κατά την layered αποκωδικοποίηση οι γραμμές του πίνακα περνούν από επεξεργασία σε ομάδες ή στρώματα. Κάθε στρώμα υποβάλλεται σε επεξεργασία με αύξουσα σειρά, λαμβάνοντας υπόψη και την πληροφορία που πρόεκυψε από την επεξεργασία του αμέσως προηγούμενου στρώματος. Αυτή η διαδικασία έχει ως αποτέλεσμα την επιτάχυνση της ταχύτητα σύγκλισης. Το μεγαλύτερο πρόβλημα που ανακύπτει κατά την χρησιμοποίηση της layered αποκωδικοποίησης, σε μια υλοποίηση LDPC αποκωδικοποιητή, είναι η διαθεσιμότητα των τρεχόντων μηνυμάτων. Πρόκειται για μερικώς παράλληλες υλοποιήσεις, οι οποίες είναι σχεδιασμένες κατά τρόπο τέτοιο που εισάγει μια καθυστέρηση στη μετάδοση δεδομένων μεταξύ διαδοχικών στρωμάτων του πίνακα ελέγχου ισοτιμίας. Πριν ξεκινήσει η επεξεργασία ενός στρώματος, πρέπει να είναι διαθέσιμη πληροφορία, η οποία αντλείται από την επεξεργασία του προηγούμενου στρώματος. Αυτά τα δεδομένα απαιτούν κάποιους κύκλους ρολογιού για να υπολογιστούν. Οι αρχιτεκτονικές αποκωδικοποιητών που βασίζονται σε αυτή την προσέγγιση αποτελούνται από ένα σύνολο επεξεργαστικών μονάδων δύο τύπων (VPUs και CPUs), 31

46 σαν αυτές που αναφέραμε στην ενότητα 3.1. Το πλήθος των μονάδων αυτών, όμως, είναι μικρότερο από το πλήθος των κόμβων ελέγχου και μεταβλητής αντίστοιχα. Προκειμένου να υπάρχει ευελιξία, οι VPUs και CPUs ακολουθούν ένα σειριακό σχήμα ανταλλαγής μηνυμάτων. Αυτό, πρακτικά, σημαίνει πως μπορούν να δεχθούν ή να στείλουν ένα μήνυμα ανά κύκλο ρολογιού. Συνεπώς, για έναν κόμβο ελέγχου με βαθμό d c = n, απαιτούνται n κύκλοι ρολογιού για την επεξεργασία όλων των μηνυμάτων στην αντίστοιχη CPU. Σε κάθε κύκλο υπολογίζεται ένα μήνυμα. Για αυτό το λόγο, πρέπει να υπάρχει πρόβλεψη ώστε, για τουλάχιστον d c κύκλους, καμία άλλη CPU να μη μπορεί να εκτελέσει επεξεργασία για λογαριασμό κάποιου κόμβου ελέγχου που ενδεχομένως να απαιτήσει μηνύματα που μόλις ενημερώνονται. Οι χρονικοί περιορισμοί που μόλις αναφέραμε πρέπει να λαμβάνονται σοβαρά υπόψη κατά την υλοποίηση σε υλικό και περιορίζουν σημαντικά την επίδοση του αποκωδικοποιητή. 32

47 3.4 Περιγραφή του προτεινόμενου αλγορίθμου και αποτελέσματα εξομοίωσης Ένα σημαντικό χαρακτηριστικό των κωδικών LDPC είναι ότι ο αλγόριθμος αποκωδικοποίησης, και κατά συνέπεια και το κύκλωμα που τον υλοποιεί, εξαρτώνται άμεσα από τη δομή του πίνακα ελέγχου ισοτιμίας. Να αναφέρουμε ό,τι ένας κώδικας WiMax e [21] προκύπτει από ένα πίνακα βάσης H b (base matrix), ο οποίος αποτελείται από 24 στήλες και (1-R) 24 γραμμές, όπου R είναι το rate του κώδικα. Tα στοιχεία του πίνακα H b είναι ακέραιοι αριθμοί που δηλώνουν συντελεστή ολίσθησης. Ο πίνακας ελέγχου ισοτιμίας H του κώδικα προκύπτει από τον πίνακα βάσης αντικαθιστώντας κάθε στοιχείο του τελευταίου με έναν δεξιά κυκλικά ολισθημένο, κατά τον αντίστοιχο συντελεστή ολίσθησης, μοναδιαίο πίνακα μεγέθους z z. Στην περίπτωση που ο αντίστοιχος συντελεστής ολίσθησης είναι αρνητικός, τότε ο πίνακαςαντικαταστάτης είναι ένας μηδενικός τετραγωνικός πίνακα μεγέθους z. Συνεπώς, κάθε στοιχείο του πίνακα βάσης ορίζει ένα τετραγωνικό υπομητρώο μεγέθους z, το οποίο συνήθως κυμαίνεται μεταξύ 24 και 96. Συνεπώς, ο πίνακας ελέγχου ισοτιμίας ορίζεται ως : όπου P i, j είναι ένα δεξιά κυκλικά ολισθημένο μοναδιαίο υπομητρώο ή ένα μηδενικό υπομητρώο μεγέθους z, με n b = 24 και m b = (1-R)

48 Στα δύο επόμενα σχήματα αναπαρίστανται δύο μορφές πινάκων βάσης, για μήκος κωδικής λέξης Ν=2304 και z = 96. Ο πρώτος, αντιστοιχεί σε κώδικα με rate R=½ και ο δεύτερος, σε R= ⅔. Σχήμα 3.3 : Πίνακας βάσης για έναν rate ½ WiMax e LDPC κώδικα (z=96). Σχήμα 3.4 : Πίνακας βάσης για έναν rate ⅔ WiMax e LDPC κώδικα (z=96). Επιπλέον, στο σχήμα 3.5 μπορούμε να δούμε τη δομή ενός rate ½ WiMax LDPC κώδικα για z =

49 Σχήμα 3.5 : Δομή του πίνακα ελέγχου ισοτιμίας για έναν rate ½ WiMax LDPC κώδικα (z=96). Γίνεται κατανοητό πως μας ενδιαφέρουν κώδικες μεγάλου μήκους, οι οποίοι δεν μπορούν να υλοποιηθούν από μια πλήρως παράλληλη αρχιτεκτονική, για μια ρεαλιστική εφαρμογή. Όπως θα δούμε και στη συνέχεια, η τιμή του z καθορίζει το βαθμό παραλληλίας και αποτελεί ρυθμιστικό παράγοντα του trade-off μεταξύ απαιτούμενης επιφάνειας(area) και ταχύτητας αποκωδικοποίησης. Στα πλαίσια της σχεδίασης ενός αποδοτικού LDPC αποκωδικοποιητή, κληθήκαμε να επιλέξουμε κάποιο συγκεκριμένο αλγόριθμο αποκωδικοποίησης καθώς και ένα σχήμα χρονοδρομολόγησης των ανταλλασσόμενων μηνυμάτων. Καθοδηγούμενοι από την φιλοσοφία του layered decoding και του log-sp, αναπτύξαμε τον ακόλουθο αλγόριθμο αποκωδικοποίησης : 35

50 Αρχικοποίηση : λ = LLR v pv 0 pv 1 (3.9) S v = (3.10) λ v S f = 0, sgn = 1 f (3.11) ( f v) H( f v) R = 0,, :, = 1 f v (3.12) Επαναληπτική διαδικασία : % k οστή επανάληψη % for k= 1, 2,..., NOI % m οστή υποεπανάληψη % for κάθε γραμμή του πίνακα βάσης H b (m: 1 to M) for κάθε στήλη του πίνακα βάσης H b (n:1 to N) if Hb(i,j) 0 for κάθε κόμβο ελέγχου ( ) f m 1 z+ 1, m z v n 1 z+ 1, n z : H f, v = 1 for κάθε κόμβο μεταβλητής ( ) ( ) S = S R v v f v (3.13) Q v f = Sv (3.14) S = S +Φ Q f f v f (3.15) sgn f = sgn Q f v f sign (3.16) 36

51 end forloop v end forloop f end forloop n for κάθε στήλη του πίνακα βάσης H b (n:1 to N) if Hb(i,j) 0 for κάθε κόμβο ελέγχου ( ) f m 1 z+ 1, m z + = 1 for κάθε κόμβο μεταβλητής v ( n 1) z 1, n z : H( f, v) R f v = sgn f sign Q v f Φ S f Φ Q v f S = S + R v v f v (3.17) (3.18) end forloop v S f = 0 & sgn = 1 f (3.19) end forloop f end forloop n end forloop m % Τέλος m οστής υποεπανάληψης % end forloop k % Τέλος k οστής επανάληψης % Hard Decision : for v ( ) Dv = sign Sv (3.20) end forloop v 37

52 Συμβολισμοί : H b : H : z : NOI : είναι ο πίνακας βάσης (base matrix) του κώδικα. Έχει διαστάσεις Μ Ν (rows x columns). Τα στοιχεία του είναι ακέραιοι αριθμοί που δηλώνουν συντελεστή ολίσθησης. είναι ο πίνακας ελέγχου ισοτιμίας του κώδικα. Προκύπτει από τον πίνακα βάσης αντικαθιστώντας κάθε στοιχείο του με έναν δεξιά κυκλικά ολισθημένο, κατά τον αντίστοιχο συντελεστή ολίσθησης, μοναδιαίο πίνακα μεγέθους z z. Στην περίπτωση που ο αντίστοιχος συντελεστής ολίσθησης είναι αρνητικός, τότε ο πίνακας-αντικαταστάτης είναι μηδενικός τετραγωνικός πίνακα μεγέθους z. είναι το μέγεθος των τετραγωνικών υποπινάκων που απαρτίζουν τον πίνακα H. είναι ο προκαθορισμένος αριθμός επαναλήψεων που πραγματοποιεί ο αλγόριθμος. Μ : είναι το πλήθος των γραμμών του πίνακα βάσης H b. Ν : είναι το πλήθος των στηλών του πίνακα βάσης H b. Φ(x) : ( ) log tanh x Φ x =, if ( x) max_φ, then 2 Φ > Φ ( x) = max_φ. max_φ : σταθερά στην οποία γίνεται saturated η Φ ( x). λ ν : Η εκ των προτέρων (a priori) πληροφορία που δίνει το κανάλι για το bit της λαμβανόμενης κωδικής λέξης. v S f, S v : μεταβλητές οι οποίες αντιστοιχούν στα υπολογιζόμενα αθροίσματα στον κόμβο ελέγχου f και στον κόμβο μεταβλητής v αντίστοιχα. R_M f, R_M2 f : οι μεταβλητές του κόμβου ελέγχου που αντιστοιχούν στα δύο, κατά απόλυτη τιμή, μικρότερα εισερχόμενα στον κόμβο μηνύματα. Χρησιμοποιούνται στο min-sum layered decoding, που θα δούμε στη συνέχεια. Inf : Μέγιστη τιμή που μπορεί να αναπαρασταθεί από τη συγκεκριμένη υλοποίηση. Εξαρτάται από τον αριθμό δυαδικών ψηφίων που χρησιμοποιούμε για την αναπαράσταση των δεδομένων (κβαντισμό των τιμών). R f v : το μήνυμα που στέλνει ο check κόμβος f στον variable κόμβο v. 38

53 Q v f : το μήνυμα που στέλνει ο variable κόμβος v στον check κόμβο f. sign : συνάρτηση σύμφωνα με την οποία ( x) sign 1, x< 0 = 0, x Επίδοση προτεινόμενου αλγορίθμου Ρυθμός εμφάνισης λανθασμένων δυαδικών ψηφίων και κωδικών λέξεων (αποτελέσματα εξομοίωσης) Οι δυνατότητες αποκωδικοποίησης του αλγόριθμου που παρουσιάστηκε νωρίτερα περιγράφονται στα κάτωθι διαγράμματα BER vs. SNR : 10-1 Log-SP layered decoding algorithm performance (WiMax e LDPC code A, z=96) double precision finite word length 10-2 BER (Bit Error Rate) Eb/N0 (db) Σχήμα 3.6 : Ρυθμός εμφάνισης λανθασμένων δυαδικών ψηφίων (BER). 39

54 Στα σχήματα 3.6 και 3.7 παρουσιάζεται η επίδοση του log-sp layered-decoding αλγορίθμου αποκωδικοποίησης, σε μία ρεαλιστική του υλοποίηση. Πρόκειται για τα αποτελέσματα εξομοιώσεων σε περιβάλλον Matlab, όπου χρησιμοποιήθηκε κώδικας A (ρυθμός κώδικα ½ ) του προτύπου IEEE e (βλέπε Σχήμα 3.3), για z = 96, για σταθερό αριθμό επαναλήψεων, ΝΟΙ =10. Εκτελέστηκαν για τον συγκεκριμένο κώδικα δύο πειράματα. Στο πρώτο πείραμα χρησιμοποιήθηκε η διπλή(«άπειρη») ακρίβεια (double precision) του εργαλείου, τόσο για την αναπαράσταση των ανταλλασσόμενων μηνυμάτων μεταξύ των κόμβων, όσο και για τους υπολογισμούς που υλοποιούνται μέσα σε αυτούς. Στο δεύτερο πείραμα, η ακρίβεια αναπαράστασης της πληροφορίας περιορίστηκε με ομοιόμορφο κβαντισμό. Τα ανταλλασσόμενα μηνύματα αναπαρίστανται με 4 ακέραια και 4 κλασματικά δυαδικά ψηφία, ενώ η έξοδος των LUTs που υλοποιούν τη συνάρτηση Φ, περιορίστηκε στα 5 ακέραια και 8 κλασματικά bits. Για να μην έχουμε περαιτέρω απώλεια πληροφορίας κατά την εκτέλεση του αλγορίθμου αποκωδικοποίησης, και με δεδομένο ότι ο μέγιστος 10 0 Log-SP layered decoding algorithm performance (WiMax e LDPC code A, z=96) double precision finite word length FER (Frame Error Rate) Eb/N0 (db) Σχήμα 3.7 : Ρυθμός εμφάνισης λανθασμένων κωδικών λέξεων (FER). 40

55 αριθμός των μηνυμάτων που εισέρχονται και, κατά συνέπεια, αθροίζονται σε έναν κόμβο ελέγχου είναι εφτά, οι αθροιστές που απαιτούνται στους κόμβους ελέγχου είναι 20 bits (5+8+7), ενώ οι αντίστοιχοι αθροιστές στους κόμβους μεταβλητής αρκεί να είναι 14 bits (4+4+6), μιας και το μέγιστο fan in ενός κόμβου ελέγχου και μεταβλητής είναι 7 και 6, αντίστοιχα. Στα παραπάνω διαγράμματα φαίνονται οι ρυθμοί εμφάνισης λανθασμένων bits (Bit Error Rate) και λανθασμένων κωδικών λέξεων (Frame Error Rate), για διαφορετικές στάθμες θορύβου. Με μπλε καμπύλη αναπαρίστανται τα αποτελέσματα στην περίπτωση της double precision εξομοίωσης, ενώ με κόκκινο χρώμα έχουν σχεδιαστεί τα αποτελέσματα για πεπερασμένης ακρίβειας αναπαράσταση. Στην περίπτωση του πρώτου διαγράμματος (BER), ο περιορισμός της επίδοσης του αλγορίθμου είναι ελάχιστος στις χαμηλές στάθμες θορύβου ( E b /N 0 <1.6dB ). Για μεγαλύτερες στάθμες θορύβου, ο περιορισμός φαίνεται να αυξάνει. Αντιθέτως, δεν προκύπτει ανάλογο συμπέρασμα από το δεύτερο διάγραμμα (FER). Ακόμα και για E b /N 0 =2dB ο ρυθμός εμφάνισης λανθασμένων κωδικών λέξεων είναι ελάχιστα μεγαλύτερος στην περίπτωση της πεπερασμένης ακρίβειας. 3.5 Παραλλαγή του προτεινόμενου αλγορίθμου, με χρήση του Min Sum αλγορίθμου για την ενημέρωση των κόμβων ελέγχου Όπως αναφέραμε στην ενότητα 3.2.2, ο αλγόριθμος Min-Sum (MS) διαφέρει από τον log SP μόνο στο στάδιο της ενημέρωσης των check nodes. Τα υπόλοιπα στάδια των δύο αλγορίθμων είναι όμοια. Μπορούμε να πούμε πως ο αλγόριθμος MS είναι μία προσέγγιση του αλγορίθμου log-sp, η οποία μειώνει σημαντικά την πολυπλοκότητα της αποκωδικοποίησης, λόγω της απουσίας της συνάρτησης Φ. Το γεγονός αυτό, μας οδήγησε στη διερεύνηση του κατά πόσο μια παραλλαγή του αλγορίθμου που παρουσιάσαμε στην προηγούμενη ενότητα, βασισμένη σε Min-Sum, θα μπορούσε να είναι το ίδιο, ή ακόμα περισσότερο, αποδοτική στα πλαίσια μιας ρεαλιστικής εφαρμογής. Σε αναλογία με τα βήματα του log-sp layered-decoding αλγορίθμου, ο Min-Sum layered-decoding αλγόριθμος αποτελείται από τα ακόλουθα βήματα : 41

56 Αρχικοποίηση : λ = LLR v pv 0 pv 1 (3.21) S v = (3.22) λ v R_ M = Inf, R_ M2 = Inf, sgn 1 f f f = (3.23) ( f v) H( f v) R = 0,, :, = 1 f v (3.24) Επαναληπτική διαδικασία : % k οστή επανάληψη % for k= 1, 2,..., NOI % m οστή υποεπανάληψη % for κάθε γραμμή του πίνακα βάσης H b (m: 1 to M) for κάθε στήλη του πίνακα βάσης H b (n:1 to N) if Hb(i,j) 0 for κάθε κόμβο ελέγχου ( ) f m 1 z+ 1, m z v n 1 z+ 1, n z : H f, v = 1 for κάθε κόμβο μεταβλητής ( ) ( ) S = S R v v f v (3.25) Q v f = Sv (3.26) N1= min Q,min( R_ M, R_ M2 v f ) (3.27) if N1= Q v f WHO v f = (3.28) 42

57 end if N2= min Q,max( R_ M, R_ M2 v f ) (3.29) R_ M N1 f = (3.30) R_ M2 N2 f = (3.31) sgn f = sgn sign Q f v f (3.32) end forloop v end forloop f end forloop n for κάθε στήλη του πίνακα βάσης H b (n:1 to N) if Hb(i,j) 0 for κάθε κόμβο ελέγχου ( ) f m 1 z+ 1, m z + = 1 for κάθε κόμβο μεταβλητής v ( n 1) z 1, n z : H( f, v) if WHO v f == Reg = R_ M (3.33α) f else Reg = R_ M 2 (3.33β) f end if R f v = sgn f sign Q v f Reg (3.34) S = S + R v v f v (3.35) 43

58 end forloop v end forloop f end forloop n end forloop m % Τέλος m οστής υποεπανάληψης % R_ M = Inf, R_ M2 = Inf, sgn 1 f f f = (3.36) end forloop k % Τέλος k οστής επανάληψης % Hard Decision : for v ( ) Dv = sign Sv (3.37) end forloop v 3.6 Πειραματικά αποτελέσματα επίδοσης αλγορίθμων Log SP και Min Sum για πεπερασμένα μήκη λέξης Στα πειράματα που πραγματοποιήθηκαν χρησιμοποιήθηκε διαμόρφωση BPSK ενώ το κανάλι ήταν AWGN. Σε κάθε περίπτωση τα LLRs τα οποία εισέρχονται στον αποκωδικοποιητή αναπαρίστανται από 3 ακέραια και 3 κλασματικά δυαδικά ψηφία (bits). 44

59 Υλοποίηση 1η: Τα ανταλλασσόμενα μεταξύ των κόμβων μηνύματα αναπαρίστανται από 3 ακέραια και 3 κλασματικά bits. Η συνάρτηση (πρακτικά, το LUT που την υλοποιεί) Φ στους check nodes, στην περίπτωση του Log-SP, αναπαρίσταται από 3 ακέραια και 3 κλασματικά bits WiMax code A z=96 Log-SP Layered Decoding Exchanged Messages 3.3 bits & phi 3.3 bits 10-1 BER - Bit Error Rate Eb/N0 (db) Σχήμα 3.8 : BER για την υλοποίηση 1 του Log-SP layered decoding. 45

60 10 0 WiMax code A z=96 Min-Sum Layered Decoding Exchanged Messages 3.3 bits & phi 3.3 bits 10-1 BER - Bit Error Rate Eb/N0 (db) Σχήμα 3.9 : BER για την υλοποίηση 1 του Min-Sum layered decoding. Παρατηρούμε πως, με τη συγκεκριμένη υλοποίηση, έχουμε εμφάνιση error floor και για τις δύο παραλλαγές του αλγορίθμου. Προφανώς, χρειάζονται περισσότερα δυαδικά ψηφία για την αναπαράσταση των δεδομένων, ώστε να έχουμε ικανοποιητική επίδοση. 46

61 Υλοποίηση 2η: Τα ανταλλασσόμενα μεταξύ των κόμβων μηνύματα αναπαρίστανται από 4 ακέραια και 4 κλασματικά bits. Η συνάρτηση (πρακτικά ο LUT που την υλοποιεί) Φ στους check nodes, στην περίπτωση του Log-SP, αναπαρίσταται από 5 ακέραια και 8 κλασματικά bits WiMax code A z=96 Log-SP Layered Decoding Exchanged Messages 4.4 bits & Phi function 5.8 bits 10-1 BER - Bit Error Rate Eb/N0 (db) Σχήμα 3.10 : BER για την υλοποίηση 2 του Log-SP layered decoding. 47

62 10 0 WiMax code A z=96 Min-Sum Layered Decoding Exchanged Messages 4.4 bits & phi 5.8 bits 10-1 BER - Bit Error Rate Eb/N0 (db) Σχήμα 3.11 : BER για την υλοποίηση 2 του Min-Sum layered decoding. Η συγκεκριμένη υλοποίηση, είναι εμφανώς καλύτερη. Τα error floor έχουν εξαλειφθεί και για τις δύο παραλλαγές του αλγορίθμου. 48

63 Κεφάλαιο 4 Αρχιτεκτονική του Υλικού 4.1 Αρχιτεκτονικές για LDPC αποκωδικοποιητές Ο αριθμός των επεξεργαστικών μονάδων καθορίζει το βαθμό παραλληλίας της εκάστοτε αρχιτεκτονικής και αποτελεί ρυθμιστικό παράγοντα του trade-off μεταξύ απαιτούμενης επιφάνειας (area), ταχύτητας αποκωδικοποήσης, κατανάλωσης ενέργειας και ευελιξίας. Στο ένα άκρο βρίσκονται οι πλήρως παράλληλες υλοποιήσεις που οδηγούν σε «ταχύτερες» αρχιτεκτονικές με χαμηλότερη κατανάλωση ενέργειας, αλλά που έχουν μεγαλύτερες απαιτήσεις σε επιφάνεια και μπορούν να χρησιμοποιηθούν μόνο από έναν συγκεκριμένο τύπο κώδικα. Στην αντίπερα όχθη, έχουν αναπτυχθεί σειριακές υλοποιήσεις (ένας κόμβος ελέγχου και ένας κόμβος μεταβλητής). Έχουν τη μεγαλύτερη δυνατή ευελιξία και μικρότερη απαιτούμενη επιφάνεια, αλλά χαμηλότερη ταχύτητα αποκωδικοποίησης. Συνήθως, προτιμούνται μερικώς παράλληλες υλοποιήσεις, οι οποίες επιτυγχάνουν ικανοποιητική απόδοση και ευελιξία, σε συνδυασμό με σχετικά χαμηλή απαιτούμενη επιφάνεια και κατανάλωση ενέργειας. Οι VLSI LDPC αποκωδικοποιητές μπορούν να χωριστούν σε δύο βασικές κατηγορίες: τους βασισμένους σε μνήμη (memory-based ή hardware-sharing) και τους πλήρως παράλληλους (fully parallel). Στους πρώτους, ανταλλάσσονται μηνύματα μεταξύ διαμοιραζόμενων επεξεργαστικών μονάδων, δια μέσου κοινής μνήμης. Στους πλήρως παράλληλους αποκωδικοποιητές, όλοι οι κόμβοι του διαγράμματος Tanner απεικονίζονται/υλοποιούνται απευθείας σε υλικό. 49

64 Hardware-Sharing Αρχιτεκτονικές Η Hardware-Sharing αρχιτεκτονική (Σχήμα 4.1) αποτελείται από ένα μικρό πλήθος από κόμβους μεταβλητής (variable) και ελέγχου (check) και µονάδα μνήμης, κατάλληλα οργανωμένη για την αποθήκευση των μηνυμάτων και την υλοποίηση των διασυνδέσεων του διμερούς γραφήματος. Το πλήθος των κόμβων μεταβλητής και ελέγχου ποικίλει, αλλά πάντοτε είναι μικρό σε σχέση µε τους αριθμούς n και m, δηλαδή τις διαστάσεις του πίνακα ελέγχου ισοτιμίας Η, ο οποίος χαρακτηρίζει το συγκεκριμένο κώδικα LDPC. Σχήμα 4.1 : Hardware-Sharing αρχιτεκτονική για LDPC αποκωδικοποιητή. Τα πλεονεκτήματα της Hardware-Sharing αρχιτεκτονικής είναι η μείωση της επιφάνειας του αποκωδικοποιητή, καθώς και η δυνατότητα υποστήριξης πολλαπλών μεγεθών μπλοκ (block) και ρυθμών (rates) κώδικα. Συνήθως, το μεγαλύτερο ποσοστό της επιφάνειας του αποκωδικοποιητή το καταλαμβάνει η μονάδα μνήμης και η μονάδα ελέγχου. Από την άλλη, η συγκεκριµένη αρχιτεκτονική έχει το µειονέκτηµα της σχετικά µικρής ταχύτητας αποκωδικοποίησης (throughput). Το γεγονός αυτό, οφείλεται στο ότι ο υπολογισµός των τιµών των µηνυµάτων, κατά την αποκωδικοποίηση, γίνεται κατά τµήµατα. Δεν είναι δυνατόν να υπολογιστούν όλα τα µηνύµατα, είτε αυτά είναι variableto-check µηνύµατα, είτε είναι check-to-variable µηνύµατα, αφού ο αριθµός των κόμβων μεταβλητής και των κόμβων ελέγχου είναι περιορισµένος. Για παράδειγµα, στην αρχιτεκτονική του σχήματος 4.1 τα variable-to-check μηνύματα θα πρέπει να 50

65 υπολογίζονται κατά τετράδες και να αποθηκεύονται κατάλληλα στη µνήµη, η οποία παίζει τον ρόλο των διασυνδέσεων µεταξύ των κόμβων μεταβλητής και ελέγχου. Αφού υπολογιστούν όλα τα variable-to-check µηνύµατα, λαµβάνει χώρα η λειτουργία των κόμβων ελέγχου, οι οποίοι στη συγκεκριµένη περίπτωση είναι δύο. Άρα, τα check-tovariable µηνύµατα θα πρέπει να υπολογίζονται κατά δυάδες και να αποθηκεύονται στη µνήµη. Είναι προφανές ότι αυτή η διαδικασία είναι χρονοβόρα, αφού χρειάζονται πολλοί κύκλοι ρολογιού για την ολοκλήρωση µιας µόνο επανάληψης. Ακόµα ένα µειονέκτηµα της Hardware-Sharing αρχιτεκτονικής είναι η µεγάλη πολυπλοκότητα της μονάδας ελέγχου. Η πολυπλοκότητα αυτή οφείλεται στο ότι η µονάδα ελέγχου έχει την ευθύνη του συντονισµού της διαδικασίας που περιγράφηκε παραπάνω, η οποία είναι αρκετά πολύπλοκη. Κυρίως, όµως, η πολυπλοκότητα της µονάδας ελέγχου οφείλεται στη διαχείριση της µονάδας µνήµης. Τέλος, οι μεγάλες απαιτήσεις σε memory bandwidth οδηγούν σε σημαντική κατανάλωση ενέργειας. Η Hardware-Sharing αρχιτεκτονική είναι κατάλληλη για εφαρµογές όπου το κρίσιµο µέγεθος είναι η επιφάνεια, ενώ δεν υπάρχουν μεγάλες απαιτήσεις σε ταχύτητα. Αντίθετα, για εφαρµογές όπου το κρίσιµο µέγεθος είναι η ταχύτητα, η παράλληλη αρχιτεκτονική, η οποία περιγράφεται στην επόµενη παράγραφο, είναι καταλληλότερη. Fully Parallel Αρχιτεκτονικές Η παράλληλη αρχιτεκτονική προκύπτει άµεσα από ένα διμερές γράφηµα Tanner, σαν αυτό του σχήµατος 2.2. Εδώ, όλοι οι κόμβοι μεταβλητής και οι κόμβοι ελέγχου υλοποιούνται ένας προς ένας. Η µεταξύ τους διασύνδεση γίνεται µε καλώδια, τα οποία είναι προσεκτικά κατανεµηµένα στην επιφάνεια του κυκλώµατος (routing). Από την γραφική αναπαράσταση του LDPC κώδικα, προκύπτει πως υπάρχουν εξαρτήσεις (dependencies) μονάχα μεταξύ κόμβων διαφορετικού είδους (variable / check nodes). Σε έναν μόνο κύκλο ρολογιού υπολογίζονται όλα τα variable-to-check µηνύµατα, παράλληλα, και στέλνονται στους check nodes, ώστε στον επόµενο κύκλο να υπολογιστούν όλα τα check-to-variable μηνύματα κ.ο.κ.. Μέσα σε δύο µόνο κύκλους ρολογιού, έχει ολοκληρωθεί µία επανάληψη του message-passing αλγορίθµου. Έτσι, οδηγούμαστε σε πολύ υψηλή απόδοση. Όσον αφορά στη µονάδα ελέγχου, η πολυπλοκότητά της είναι κατά πολύ µειωµένη σε σχέση µε την hardwaresharing αρχιτεκτονική, αφού στη συγκεκριµένη περίπτωση η ανταλλαγή µηνυµάτων γίνεται µέσω καλωδίων, µε αποτέλεσµα να µην απαιτείται πολύπλοκη διευθυνσιοδότηση κάποιας µονάδας µνήµης. Το βασικό µειονέκτηµα μιας παράλληλης αρχιτεκτονικής, είναι η µεγάλη επιφάνεια που καταλαμβάνει, αφού απαιτεί την υλοποίηση σε υλικό 51

66 όλων των κόμβων ελέγχου και μεταβλητής. Παρόλα αυτά, εξαιτίας του πολύ μικρού παράγοντα δραστηριότητας, η κατανάλωση ενέργειας είναι εξαιρετικά μικρή. Άλλο ένα αρνητικό είναι η αδυναμία της να υποστηρίξει πολλαπλά μεγέθη block και rates κώδικα, οπότε έχει μικρότερη ευελιξία. Η πλήρως παράλληλη αρχιτεκτονική είναι κατάλληλη για εφαρµογές όπου η ταχύτητα είναι το κρίσιµο µέγεθος, ενώ οι απαιτήσεις για µικρή επιφάνεια δεν είναι καθοριστικής σηµασίας. Η μεγαλύτερη πρόκληση κατά την υλοποίηση ενός παράλληλου αποκωδικοποιητή είναι οι διασυνδέσεις (routing) των λειτουργικών μονάδων. Απαιτείται ένας πολύ µεγάλος αριθμός καλωδίων. Σε κάποιες περιπτώσεις, οι απαιτήσεις των διασυνδέσεων σε area μπορεί να ξεπεράσουν ακόμα και το μίσο της επιφάνειας του ολοκληρωμένου. Με βάση έναν soft decision LDPC κώδικα με μέγεθος block 1024 bits και rate κώδικα ίσο με ½, προκύπτει πως απαιτούνται 1024 κόμβοι μεταβλητής και 512 κόμβοι ελέγχου. To datapath του παράλληλου αποκωδικοποιητή απεικονίζεται στο Σχήμα 4.2, στο οποίο για απλότητα εμφανίζεται μόνος ένας κόμβος μεταβλητής και ελέγχου. Παρατηρούμε, πως τα variable-to-check και check-to-variable μηνύματα μεταφέρονται από ξεχωριστά σύνολα καλωδίων. Σχήμα 4.2 : Datapath παράλληλης αρχιτεκτονικής για LDPC αποκωδικοποιητή. 52

67 Για τον συγκεκριμένο LDPC κώδικα, μετά από εξαντλητικές εξομοιώσεις [11], προέκυψε πως απαιτούνται 3328 ακμές για την υλοποίηση ενός μη κανονικού (irregular) κώδικα, με μέσο βαθμό κόμβων μεταβλητής (column weight) ίσο με 3.25 και μέσο βαθμό κόμβων ελέγχου (row weight) ίσο με 6.5. Οπότε αν χρησιμοποιήσουμε 4 bits για την αναπαράσταση κάθε μηνύματος, απαιτείται αριθμός καλωδίων για τη μεταφορά των μηνυμάτων ίσος με : 3328 ακμές 4 bits/μήνυμα 2 μονοπάτια = καλώδια Παρατηρούμε, πως ο αριθμός των διασυνδέσεων είναι εξαιρετικά μεγάλος, καθώς και η επιφάνεια που καταλαμβάνεται State of the art αρχιτεκτονικές LDPC αποκωδικοποιητών Δεν είναι εύκολο να παρουσιάσουμε επακριβώς το state of the art των LDPC αποκωδικοποιητών, καθώς κάθε αρχιτεκτονική στοχεύει στη βελτιστοποίηση συγκεκριμένης/ων παραμέτρων, σαν αυτές που αναφέρθηκαν στην προηγούμενη παράγραφο. Στον επόμενο πίνακα θα παρουσιάσουμε τα βασικά χαρακτηριστικά 7 συγκεκριμένων πολλά υποσχόμενων υλοποιήσεων : B-H : πλήρως παράλληλος αποκωδικοποιητής [11], OFDM : παράλληλη αρχιτεκτονική για OFDM συστήματα [15], SHIFT_LDPC : μερικώς παράλληλος αποκωδικοποιητής, βασισμένος σε Shift-LDPC κώδικες [19], UWB : μερικώς παράλληλος αποκωδικοποιητής για OFDM (orthogonal frequencydivision multiplexing) -UWB (ultra-wide band) συστήματα, βασισμένος σε ultra sparce κώδικες [18], K-P : μερικώς παράλληλη αρχιτεκτονική, σχεδιασμένη για μια συγκεκριμένη κλάση κωδικών [12], Layered : μερικώς παράλληλος αποκωδικοποιητής, βασισμένος σε layered αποκωδικοποίηση, ο οποίος υποστηρίζει 6 διαφορετικές κλάσεις LDPC κωδικών [14], 53

68 Flexible : ευελικτη αρχιτεκτονική ικανή να αποκωδικοποιήσει οποιονδήποτε τυχαίο LDPC κώδικα [13]. B-H [11] OFDM [15] SHIFT_ LDPC [19] UWB [18] K-P [12] LAYERED [14] FLEXIBLE [13] Μέγεθος Block (Bits) Πλήθος απαιτούμενων πυλών για λογική (K) Συνολική Επιφάνεια (mm 2 ) / Τεχνολογία (nm) Μέγιστη Συχνότητα Ρολογιού (MHz) Ταχύτητα αποκωδικοποίησης (Mbps) Αριθμός Επαναλήψεων Αλγόριθμος αποκωδικοποίησης Log_SP Log_SP Min Sum Min Sum Log_SP 3 Min Log_SP Κβαντισμός (bits) Πίνακας 1 : State of the art αρχιτεκτονικών για LDPC αποκωδικοποιητές. 54

69 4.2 Προτεινόμενη αρχιτεκτονική VLSI αποκωδικοποιητή για κώδικες LDPC Στο Σχήμα 4.3 φαίνεται το ανώτερο επίπεδο (top level) της αρχιτεκτονικής του υλικού που υλοποιεί τον αλγόριθμο που περιγράψαμε. CPU : Check Processing Unit VPU : Variable Processing Unit LBS : Logarithmic barrel shifter Σχήμα 4.3 : Αρχιτεκτονική του LDPC αποκωδικοποιητή. 55

70 Πρόκειται για μια βασισμένη σε μνήμη αρχιτεκτονική διαμοιραζόμενων πόρων (hardware sharing). Το πλήθος των μονάδων VPU και CPU ισούται με την τιμή του z και καθορίζει το βαθμό παραλληλίας που επιτυγχάνει η αρχιτεκτονική μας. Συνακόλουθα, είναι ρυθμιστικός παράγοντας της απαιτούμενης επιφάνειας(area) και της ταχύτητας αποκωδικοποίησης που επιτυγχάνεται για συγκεκριμένο μέγεθος LDPC κώδικα. Η είσοδος στον αποκωδικοποιητή είναι σε μορφή φυσικών λογαρίθμων λόγου πιθανοτήτων(logarithmic Likelihood Ratios - LLRs). Τα LLRs εισέρχονται σειριακά από μία είσοδο και αποθηκεύονται στις z First In, First Out μνήμες (fifos). Τα LLRs είναι λέξεις μήκους n δυαδικών ψηφίων, σε αναπαράσταση συμπληρώματος του δύο. Το Permutation Network υλοποιείται με τη βοήθεια ενός Logarithmic Barrel Shifter (LBS) και θα παρουσιαστεί διεξοδικά στην ενότητα Η δομή των υποπινάκων z z είναι τέτοια, που μας οδηγεί στη συγκεκριμένη επιλογή. Το επίπεδο των πολυπλεκτών καθορίζει αν θα σταλούν variable-to-check(v2c) ή check-to-variable(c2v) μηνύματα μέσω του δικτύου διασύνδεσης, δηλ. του LBS. Η βασική διαφορά μεταξύ των δύο υλοποιήσεων του layered decoding αλγόριθμου που αναφέραμε στο προηγούμενο κεφάλαιο, για Min-Sum και log-sp, έγκειται στην σχεδίαση του κόμβου ελέγχου(check processing unit), Συνακόλουθα, θα υπάρχουν οι αντίστοιχες αλλαγές στη μονάδα ελέγχου των CPUs (CPUs control unit). Συγκεκριμένα, τα απαιτούμενα σήματα ελέγχου θα μειωθούν σχεδόν στο μισό, κάτι που οδηγεί σε μείωση της πολυπλοκότητας της μονάδας ελέγχου. 56

71 Στο επόμενο σχήμα (4.4) φαίνεται το σχηματικό σε επίπεδο Register Transfer (RTL), το οποίο παράγεται από το εργαλείο XST του Xilinx-ISE, αφού περάσει από σύνθεση τον κώδικα VHDL του αποκωδικοποιητή. Πρόκειται για ένα design για z=5, επιλέξαμε μικρή τιμή του z ώστε να είναι ευδιάκριτα τα συστατικά του μέρη (πάνω αριστερά οι 5 fifos, πάνω δεξιά οι VPUs, στο κέντρο οι CPUs και στο κάτω μέρος το permutation network). Για την αναπαράσταση τόσο των LLRs όσο και των ενδιάμεσων μηνυμάτων χρησιμοποιήσαμε αριθμούς σε συμπλήρωμα του δύο, με τρία ακέραια και τρία κλασματικά ψηφία. Σχήμα 4.4 : RTL σχηματικό της αρχιτεκτονικής του LDPC αποκωδικοποιητή για z=5. 57

72 Στο σχήμα 4.5 μπορούμε να δούμε τις κύριες εισόδους και εξόδους του LDPC αποκωδικοποιητή μας. Από την είσοδο lchannel_gen εισέρχονται σειριακά τα 6-bit LLRs. Από την έξοδο D_out εξέρχεται σιεριακά η αποκωδικοποιημένη ακολουθία δυαδικών ψηφίων. Το σήμα Num_of_Iterations δηλώνει τον μέγιστο ρυθμό επαναλήψεων που εκτελεί ο αλγόριθμος, ενώ το Num_of_Errors_gen αναπαριστά το πλήθος των λανθασμένων δυαδικών ψηφίων. Επιπλέον, υπάρχει ένα ρολόι και δύο σήματα reset. Σχήμα 4.5 : I/O LDPC αποκωδικοποιητή Χρονοπρογραμματισμός αποκωδικοποίησης Όπως αναφέραμε στο προηγούμενο κεφάλαιο, στην ανάλυση που κάναμε για το layered decoding, η επεξεργασία σύμφωνα με αυτόν τον αλγόριθμο ξεκινά από ένα υποσύνολο των κόμβων ελέγχου και τα μηνύματα που υπολογίζονται αποστέλλονται άμεσα στους αντίστοιχους κόμβους μεταβλητής που συνδέονται με τους κόμβους ελέγχου του τρέχοντος υποσυνόλου. Η ενημέρωση των τιμών των συγκεκριμένων κόμβων μεταβλητής γίνεται άμεσα, οπότε το επόμενο υποσύνολο κόμβων ελέγχου θα λάβει τις ενημερωμένες τιμές. Ας ξαναφέρουμε στο μυαλό μας τον προτεινόμενο layered-decoding log-sp αλγόριθμο και ας υποθέσουμε πως διαθέτουμε έναν πίνακα ελέγχου ισοτιμίας με δομή αντίστοιχη του πίνακα του σχήματος 3.5. Η επεξεργασία θα εξελίσσεται γραμμή 58

73 γραμμή, και με δεδομένο ότι ο συγκεκριμένος πίνακας διαθέτει 12 γραμμές, μια επανάληψη του αλγορίθμου απαρτίζεται από 12 υποεπαναλήψεις, σε κάθε μία από τις οποίες λαμβάνει χώρα η επεξεργασία της αντίστοιχης γραμμής. Στο σχήμα 4.6 μπορούμε να δούμε το σχήμα χρονοπρογραμματισμού των πράξεων και της ανταλλαγής μηνυμάτων, μεταξύ των δύο τύπων επεξεργαστικών μονάδων, για μια υποεπανάληψη του αλγορίθμου. Για τον συγκεκριμένο κώδικα, όπου το degree κάθε κόμβου μεταβλητής είναι 6 ή 7, απαιτούνται 18 ή 20, αντίστοιχα, κύκλοι για την ολοκλήρωση κάθε υποεπανάληψης. Σχήμα 4.6 : Χρονοπρογραμματισμός αποκωδικοποίησης για κάθε υποεπανάληψη του αλγορίθμου. Λειτουργίες στις επεξεργαστικές μονάδες μεταβλητής (VPU) compute v2c : Για τον συγκεκριμένο κόμβο μεταβλητής, αφαιρείται από το άθροισμα του εισερχόμενου LLR και των πρότερων check2variable(c2v) μηνυμάτων (RAM_v_24), το αντίστοιχο αποθηκευμένο(στη μνήμη RAM_v_144) c2v μήνυμα (ανάκληση και αφαίρεση - fetch and subtract). 59

74 idle : Αδρανές. interim sum var : Αποθηκεύεται το εισερχόμενο c2v μήνυμα στην κατάλληλη θέση μνήμης (RAM_v_144) και συναθροίζεται (RAM_v_24). Λειτουργίες στις επεξεργαστικές μονάδες ελέγχου (CPU) idle : αδρανές. interim sum check : Αποθηκεύεται το εισερχόμενου v2c μήνυμα, αφού πρώτα περάσει από τη Φ, στην κατάλληλη θέση μνήμης(ram_c) και συναθροίζεται. Αποθηκεύεται το πρόσημο του εισερχόμενου μηνύματος και υπολογίζεται το γινόμενο των προσήμων. compute c2v : Αφαιρείται από το άθροισμα των v2c μηνυμάτων το αντίστοιχο v2c μήνυμα του κόμβου μεταβλητής, στον οποίο θα σταλεί το υπολογισθέν εξερχόμενο c2v μήνυμα, και υπολογίζεται το πρόσημο του συγκεκριμένου μηνύματος. Λειτουργίες στο δίκτυο διασύνδεσης (LBS) idle : αδρανές send v2c : Το επίπεδο των πολυπλεκτών καθορίζει αν θα σταλούν variable-to-check (v2c) ή check-to-variable (c2v) μηνύματα μέσω του δικτύου διασύνδεσης, δηλ. του LBS. Εδώ, μηνύματα στέλνονται από τους κόμβους μεταβλητής στους κόμβους ελέγχου. send c2v : Τα μηνύματα στέλνονται από τους κόμβους ελέγχου στους κόμβους μεταβλητής. Δεν πρέπει να ξεχνάμε πως κάθε «γραμμή» του πίνακα του σχήματος 3.5 απαρτίζεται στην πραγματικότητα από z γραμμές, κάθε μία από τις οποίες περιέχει 24 z στοιχεία. Συνεπώς, σε κάθε κύκλο ρολογιού λειτουργούν παράλληλα z επεξεργαστικές μονάδες. Γίνεται αντιληπτό πως αύξηση του z, επιφέρει μείωση του αριθμού των απαιτούμενων κύκλων ρολογιού για την ολοκλήρωση μιας επανάληψης του αλγορίθμου, για συγκεκριμένων διαστάσεων κώδικα. Ως επακόλουθο, όμως, έχουμε αύξηση των απαιτήσεων σε επιφάνεια. 60

75 Στο επόμενο σχήμα (4.7) απεικονίζεται το γενικό σχήμα του χρονοπρογραμματισμού της αποκωδικοποίησης που εκτελεί η αρχιτεκτονικής μας. Χρησιμοποιούμε έναν , rate ½, WiMax LDPC κώδικα και z = 96. Σε έναν τέτοιο κώδικα, κάθε κωδική λέξη των 2304 bits, περιέχει 1152 bits πληροφορίας (information bits) και 1152 bits ισοτιμίας (parity bits). Η διαδικασία αποκωδικοποίησης μπορεί να χωριστεί σε δύο διαδοχικά στάδια, στο στάδιο φόρτωσης των LLRs στις z fifos εισόδου (LOAD) και στο στάδιο αποκωδικοποίησης της κωδικής λέξης (decoding). Το πρώτο στάδιο απαιτεί 2304 κύκλους ρολογιού για να ολοκληρωθεί, εφόσον τα δεδομένα εισέρχονται σειριακά από την είσοδο lchannel_gen. Στη συνέχεια, εισερχόμαστε στο στάδιο της αποκωδικοποίησης, όπου λαμβάνει χώρα ανταλλαγή μηνυμάτων μεταξύ των VPUs και CPUs. Όπως φαίνεται στο σχήμα, έχουμε θεωρήσει σταθερό αριθμό επαναλήψεων ίσο με 10. Κάθε μία από αυτές, όπως αναφέρθηκε, αποτελείται από 12 υποεπαναλήψεις, σαν αυτή που περιγράψαμε στο σχήμα 4.6. Απαιτούνται συνολικά 2240 κύκλοι ρολογιού για την ολοκλήρωση του δεύτερου σταδίου. Η δομή της αρχιτεκτονικής μας είναι τέτοια ώστε να είναι εφικτή η επικάλυψη του σταδίου αποκωδικοποίησης της τρέχουσας κωδικής λέξης με αυτό της φόρτωσης της επόμενης. Μετά το τέλος της πρώτης επανάληψης της αποκωδικοποίησης είναι δυνατή η εγγραφή των νέων LLRs στις fifos. Το χαρακτηριστικό αυτό, επιφέρει μείωση της καθυστέρησης (latency) αποκωδικοποίησης, για μια μεγάλη ακολουθία δυαδικών ψηφίων, περίπου στο μισό της καθυστέρησης που θα είχαμε αν η διαδικασία ήταν πλήρως σειριακή. Επομένως, η ρυθμαπόδοση (throughput) σχεδόν διπλασιάζεται. Στο σχήμα 4.7 μπορούμε να δούμε μια τέτοια ανάλυση σχετικά με τους απαιτούμενους κύκλους ρολογιού, το latency και το throughput της αρχιτεκτονικής μας. 61

76 Σχήμα 4.7 : Γενικό σχήμα χρονοπρογραμματισμού αποκωδικοποίησης. 62

77 4.2.2 Variable Processing Unit Στο σχήμα 4.8 αναπαρίσταται η αρχιτεκτονική της variable processing μονάδας (VPU) του LDPC αποκωδικοποιητή μας. Χρησιμοποιείται κοινή αρχιτεκτονική για τον κόμβο μεταβλητής, τόσο για τον log-sp layered-decoding όσο και για τον Min-Sum layered-decoding αλγόριθμο. Στην ενότητα αναφερθήκαμε στις βασικές λειτουργίες που λαμβάνουν χώρα στην VPU. Θα αναφερθούμε στα σήματα ελέγχου που ρυθμίζουν τη λειτουργία της VPU σε επόμενη ενότητα. Οι μνήμες RAM_v_144 και RAM_v_24, αντιστοιχούν στις μνήμες RAM_d_144 και RAM_d_24 του σχήματος 4.8. Πρόκειται για κατανεμημένες (distributed) μνήμες των 144 και 24 θέσεων, αντίστοιχα. Κάθε θέση μνήμης είναι των n bits, όπου n το μήκος λέξης των ανταλλασσόμενων μηνυμάτων Η πρώτη χωρίζεται σε 24 banks των 6 θέσεων. Συνεπώς μπορεί να υποστηρίξει κώδικες με μέγιστο βαθμό για τους κόμβους μεταβλητής d u = 6. Ο , rate ½, WiMax LDPC κώδικας που χρησιμοποιούμε διαθέτει κόμβους μεταβλητής με degree 2, 3 και 6. Στη μνήμη RAM_d_24 αποθηκεύονται οι ενημερωμένες εκτιμήσεις για το αντίστοιχο bit της κωδικής λέξης. Στη θέση k (κ 0 23) της μνήμης RAM_d_24 της i-οστής VPU (i 0 z), αποθηκεύεται η πληροφορία για τα το δυαδικό ψηφίο z k + i. 63

78 Σχήμα 4.8 : Αρχιτεκτονική κόμβου μεταβλητής (VPU). 64

79 4.2.3 Check Processing Unit Στο σχήμα 4.9 αναπαρίσταται η αρχιτεκτονική της check processing μονάδας (CPU) του LDPC αποκωδικοποιητή μας για τον log-sp layered-decoding αλγόριθμο. Στην ενότητα αναφερθήκαμε στις βασικές λειτουργίες που λαμβάνουν χώρα στην CPU. Θα αναφερθούμε στα σήματα ελέγχου που ρυθμίζουν τη λειτουργία της CPU σε επόμενη ενότητα. Οι μνήμη RAM_c, που αναφέραμε στην ενότητα 4.2.1, αντιστοιχεί στη μνήμη RAM_d_8 του σχήματος 4.9. Πρόκειται για κατανεμημένη (distributed) μνήμη των 8 θέσεων, η οποία δύναται να υποστηρίξει κώδικες με μέγιστο βαθμό για τους κόμβους ελέγχου d c = 8. Ο κώδικας που χρησιμοποιούμε διαθέτει κόμβους ελέγχου με degree 6 και 7. Η συνάρτηση Φ υλοποιήθηκε με τη χρήση μνημών (Look-Up Tables). Προκειμένου να μειωθεί το latency του αποκωδικοποιητή, σχεδιάστηκαν ποικίλες αρχιτεκτονικές κόμβου ελέγχου, με δεδομένο ότι το κρίσιμο μονοπάτι του συνολικού design βρισκόταν, αρχικά, στους κόμβους αυτού του τύπου. Συγκεκριμένα, τη συνολική καθυστέρηση του κρίσιμου μονοπατιού συνθέτουν οι καθυστερήσεις στην έξοδο της RAM, στον αθροιστή adder_carry_sel, στη Φ, στον πολυπλέκτη και την είσοδο του καταχωρητή Reg_out. Ας αναφέρουμε δύο βασικά βήματα που έγιναν προς την κατεύθυνση της μείωσης της καθυστέρησης στον κόμβο ελέγχου. Αρχικά, υπήρχε ένας μόνο αθροιστής και ένας επιπλέον πολυπλέκτης. Ο πολυπλέκτης αντικαταστάθηκε από έναν ακόμα αθροιστή (Adder2) και ο κρίσιμος αθροιστής (adder_carry_sel) υλοποιήθηκε ως carry select αθροιστής, ο οποίος είναι ταχύτερος. Επιπλέον, η Φ και η βαθμίδα επιλογής πρόσημου, αντικαταστάθηκαν από μία Φ και μία -Φ, τοποθετημένες παράλληλα, ακολουθούμενες από έναν πολυπλέκτη ο οποίος επιλέγει μία από τις τιμές f_out και f_out_inv, ανάλογα με την τιμή του σήματος XOR_out2. Το αποτέλεσμα ήταν αύξηση της απαιτούμενης επιφάνειας, αλλά και σημαντική μείωση της καθυστέρησης. Συγκεκριμένα, να αναφέρουμε πως εξομοιώσεις σε fpga Virtex 4-XC4VSX35-12FF668 έδειξαν πως επιτύχαμε να μειώσουμε την καθυστέρηση κατά 20%. Το κόστος που καλούμαστε να πληρώσουμε είναι η αύξηση της απαιτούμενης επιφάνειας. Σε επίπεδο χρησιμοποίησης slices, η αύξηση είναι της τάξης του 11%, ενώ σε επίπεδο LUTs, φθάνει το 25%, εξαιτίας της διπλής Φ στην έξοδο. Όπως θα δούμε και στο επόμενο κεφάλαιο, η πρώτη μετρική(slices) είναι η κρίσιμη. Γενικά, συνεχώς βρισκόμαστε αντιμέτωποι με το trade-off μεταξύ απαιτούμενης επιφάνειας (area) και 65

80 Σχήμα 4.9 : Αρχιτεκτονική κόμβου ελέγχου (CPU) για Log-SP. 66

81 ταχύτητας αποκωδικοποίησης-καθυστέρησης σε κάθε σχεδιαστική προσέγγιση που επιλέγουμε να ακολουθήσουμε. Ο δρόμος που θα ακολουθήσουμε, σε κάθε περίπτωση, εξαρτάται από τις σχεδιαστικές προδιαγραφές που έχουμε θέσει και τις απαιτήσεις που θέλουμε να ικανοποιήσουμε. Επίσης, ο τύπος του fpga στο οποίο γίνονται οι εξομοιώσεις μας και τα ιδιαίτερα χαρακτηριστικά του (μέγιστη συχνότητα ρολογιού, διαθέσιμοι πόροι σε επιφάνεια) καθορίζουν σε μεγάλο βαθμό τα αποτελέσματα των μετρήσεων μας. H αρχιτεκτονική της CPU για τον Min-Sum layered-decoding αλγόριθμο διαφέρει από την αντίστοιχη του Log-SP (σχήμα 4.10). Τόσο η Φ όσο και οι αθροιστές απουσιάζουν, καθώς και η 8 θέσεων μνήμη RAM των n bits, όπου n το μήκος λέξης των ανταλλασσόμενων μηνυμάτων. Η μνήμη RAM_d_8 είναι μια 8 θέσεων μνήμη του ενός bit, για την αποθήκευση των προσήμων των v2c μηνυμάτων. Οι καταχωρητές R_M και R_M2 χρησιμοποιούνται για την αποθήκευση του μικρότερου και του αμέσως μεγαλύτερου μηνύματος. Αντί για αθροίσεις έχουμε συγκρίσεις (c1, c2). Τέλος, έχει προστεθεί συνδυαστική λογική (πύλες AND, OR, XOR) για τον υπολογισμό κάποιων σημάτων ελέγχου. Όπως θα δούμε και στο επόμενο κεφάλαιο, η πολυπλοκότητα της μονάδας ελέγχου για τον Min-Sum layered-decoding αλγόριθμο απαιτεί λιγότερους πόρους σε επιφάνεια, ενώ παρουσιάζει και μικρότερης καθυστέρησης κρίσιμο μονοπάτι, σε σχέση με την αντίστοιχη υλοποίηση για Log-SP layered-decoding. 67

82 Σχήμα 4.10 : Αρχιτεκτονική κόμβου ελέγχου (CPU) για Min-Sum. 68

83 4.2.4 Permutation Network Όπως αναφέρθηκε, το δίκτυο διασύνδεσης (permutation network), το οποίο παρεμβάλλεται μεταξύ των δύο τύπων επεξεργαστικών μονάδων, υλοποιείται με τη βοήθεια ενός Logarithmic Barrel Shifter (LBS). Η δομή των υποπινάκων z z είναι τέτοια (ολισθημένοι μοναδιαίοι), που μας οδηγεί στη συγκεκριμένη επιλογή. Στο επόμενο σχήμα (4.11) φαίνεται ένα τέτοιο 4 4 δίκτυο. Σχήμα 4.11 : Permutation network 4 εισόδων / εξόδων. Αποτελείται από ένα δίκτυο πολυπλεκτών. Αν έχουμε Ν εισόδους/εξόδους, τότε ο συνολικός αριθμός των στρωμάτων των πολυπλεκτών (σταδίων) ισούται με log2 N. Ο πολυπλέκτης i (i 0 N-1) του σταδίου k (κ 0 log2 N 1), δέχεται σαν εισόδους τις εξόδους των πολυπλεκτών i και mod(i+s, N) του αμέσως προηγούμενου σταδίου, όπου s=2 k. Το Ν ταυτίζεται με το γνωστό μας z. Έστω ότι έχουμε z = 6. Τα απαιτούμενα στάδια πολυπλεκτών είναι log2 z = 3. Αν αναπαραστήσουμε τον συντελεστή ολίσθησης στο δυαδικό σύστημα (π.χ ) και χρησιμοποιήσουμε το λιγότερο σημαντικό bit ως σήμα ελέγχου(sel_mux) του σταδίου 0 των πολυπλεκτών, το δεύτερο λιγότερο σημαντικό ως σήμα ελέγχου του σταδίου 1, κ.ο.κ., τότε το permutation network θα υλοποιεί την επιθυμητή 69

84 συνδεσμολογία μεταξύ κόμβων μεταβλητής(είσοδοι) και ελέγχου(έξοδοι). Για παράδειγμα, αν έχουμε συντελεστή ολίσθησης ίσο με 2 (2 010), το δεξιά κυκλικά ολισθημένο μητρώο είναι το ακόλουθο: Σε αυτό, η είσοδος 0 συνδέεται με την έξοδο 4, η είσοδος 1 με την έξοδο 5, κ.ο.κ. Αν επιλέξουμε τα σήματα ελέγχου με τον τρόπο που μόλις αναφέραμε, παρατηρούμε στο επόμενο σχήμα πως επιτυγχάνουμε την επιθυμητή διασύνδεση. Σχήμα 4.12 : Permutation network 6 εισόδων / εξόδων. 70

85 Για z = 96, που είναι η τιμή που μας ενδιαφέρει περισσότερο, απαιτούνται log2 z = 7 στάδια πολυπλεκτών. Αυτό έχει ως επακόλουθο την εμφάνιση κρίσιμου μονοπατιού στο δίκτυο διασύνδεσης. Για να σπάσει το μονοπάτι αυτό στα δυο, εφαρμόσαμε τεχνική pipelining, με την τοποθέτηση ενός στρώματος καταχωρητών μεταξύ τρίτου και τέταρτου στρώματος πολυπλεκτών. Με αυτό τον τρόπο, καταφέραμε να μειώσουμε κατά περίπου 50% την καθυστέρηση στο δίκτυο διασύνδεσης, με μια μικρή αύξηση του απαιτούμενου υλικού(στρώμα καταχωρητών). Η βασισμένη στο δίκτυο διασύνδεσης, που μόλις παρουσιάσαμε, αρχιτεκτονική LDPC αποκωδικοποιητή προσφέρει μεγάλη ευελιξία. Στην περίπτωση που θέλουμε να στείλουμε c2v μηνύματα, μεταξύ κόμβων ελέγχου και μεταβλητής, αρκεί ως σήματα ελέγχου των πολυπλεκτών να χρησιμοποιήσουμε, αυτή τη φορά, τα bits της δυαδικής αναπαράστασης της τιμή z-pf (pf: συντελεστής ολίσθησης), με ανάλογο τρόπο. Με βάση το προηγούμενο παράδειγμα, η τιμή αυτή θα είναι 6-2 = 4 (100). Όπως αναφέρθηκε, το επίπεδο των πολυπλεκτών που αναπαρίσταται στο σχήμα 4.3, θα είναι αυτό που θα καθορίσει ποιες θα είναι οι είσοδοι και οι έξοδοι του LBS δικτύου, επομένως και το αν θα σταλούν variable-to-check(v2c) ή check-to-variable(c2v) μηνύματα Μονάδα ελέγχου Η αρχιτεκτονική του αποκωδικοποιητή διαθέτει τρεις μονάδες ελέγχου (CPU, VPU και LBS control unit). Κάθε μία από αυτές υλοποιείται ως μηχανή πεπερασμένων καταστάσεων (fsm - finite state machine). Στο σχήμα 3.3 του προηγούμενου κεφαλαίου παρουσιάσαμε έναν τύπο πίνακα βάσης, για μήκος κωδικής λέξης Ν=2304, μέγεθος z = 96 και rate κώδικα R=½. Ο πίνακας αυτός περιέχει την απαιτούμενη πληροφορία για την απόδοση των σωστών τιμών στα σήματα ελέγχου που ρυθμίζουν τη λειτουργία του αποκωδικοποιητή. Το σύνολο των σημάτων ελέγχου που βρίσκονται στις εξόδους μιας μονάδας ελέγχου, σε κάθε κύκλο ρολογιού, ορίζουν την κατάσταση (state) λειτουργίας της αντίστοιχης υπό έλεγχο επεξεργαστικής μονάδας, στο συγκεκριμένο κύκλο ρολογιού, είτε αυτή είναι κόμβος μεταβλητής, κόμβος ελέγχου ή το δίκτυο διασύνδεσης(lbs). Ο VHDL κώδικας για την υλοποίηση των μονάδων ελέγχου παράγεται με τη βοήθεια Matlab κώδικα που αναπτύχθηκε στα πλαίσια της παρούσας διπλωματικής εργασίας. Προκειμένου να χρησιμοποιήσουμε με αποδοτικό τρόπο την πληροφορία που περιέχεται στον πίνακα βάσης του κώδικα, μετασχηματίζουμε την πληροφορία αυτή στα 3 ακόλουθα μητρώα. 71

86 H LBS H LBS : μητρώο διαστάσεων Ν 2, όπου Ν = i= RAM _ c( i). Στην πρώτη στήλη αποθηκεύεται ο παράγοντας ολίσθησης και στη δεύτερη ο αριθμός του κόμβου μεταβλητής στον οποίο αναφέρεται. Επομένως, για z=96 και Ν=2304, H LBS (i,1) 0 95 και H LBS (i,2) Ram_v : διάνυσμα 1 24, στη θέση j του οποίου αποθηκεύεται ο βαθμός (degree) της j-οστής στήλης του πίνακα ελέγχου ισοτιμίας. Ram_c : διάνυσμα 1 12, στη θέση i του οποίου αποθηκεύεται ο βαθμός της i-οστής γραμμής του πίνακα ελέγχου ισοτιμίας. 72

87 Στο σχήμα 4.13 παραθέτουμε τα σήματα ελέγχου όλων των control units, για κάθε γραμμή i (i 0 12) του πίνακα ελέγχου ισοτιμίας. Στην ουσία, πρόκειται για όλα τα σήματα ελέγχου της αρχιτεκτονικής του αποκωδικοποιητή για μια υποεπανάληψη του αλγορίθμου. Όπως αναφέραμε, κάθε επανάληψη του αλγορίθμου αποτελείται από 12 τέτοιες υποεπαναλήψεις, κάθε μία από τις οποίες διαρκεί 18 ή 20 κύκλους, ανάλογα με τον βαθμό της αντίστοιχης γραμμής του πίνακα H. Με αστερίσκους έχουν σημειωθεί κάποια σήματα που παρουσιάζουν ιδιαίτερη συμπεριφορά ανάλογα με την επανάληψη ή την υποεπανάληψη στην οποία βρίσκεται η διαδικασία αποκωδικοποίησης. Ακολουθούν κάποια βασικά χαρακτηριστικά των σημάτων ελέγχου: Η VPU μονάδα ελέγχου έχει 20 bits λέξη ελέγχου (control word). Η LBS μονάδα ελέγχου έχει 7 bits λέξη ελέγχου. Η CPU μονάδα ελέγχου έχει 10 bits λέξη ελέγχου. για i=1, pos(i)=1 για i 2, pos(i)=pos(i-1)+ram_c(i-1) Απαιτούνται 24 VPU μετρητές (σε επίπεδο matlab προγράμματος για την παραγωγή του VHDL κώδικα) για τον προσδιορισμό της κατάλληλης θέσης στη μνήμη RAM_v_144, στην οποία θα γραφεί το εισερχόμενο c2v μήνυμα: VPU_counter_ j 0 n j, όπου n j = RAM_v(j) (2, 3 ή 6) και j Η μνήμη RAM_v_144 (ή RAM_d_144) είναι 144 θέσεων, οπότε απαιτούνται 8 bits για την αναπαράσταση της αντιστοιχης διεύθυνσης address_ram_v_144, η οποία προκύπτει από την σχέση : *** 6 H LBS (pos(i),2) + VPU_counter_H LBS (pos(i),2) (ctrl_v(19 downto 12)) Η μνήμη RAM_v_24 (ή RAM_d_24) είναι 24 θέσεων, οπότε απαιτούνται 5 bits για την αναπαράσταση της διεύθυνσης address_ram_v_24. Η μνήμη RAM_c (ή RAM_d_8) είναι 8 θέσεων, οπότε απαιτούνται 3 bits για την αναπαράσταση της διεύθυνσης address_ram_c. * Στην πρώτη επανάληψη, η μνήμη RAM_v_144 είναι άδεια, δηλαδή c2v = 0 (WE_144 = 1, Mux_1add_sel = 0, reset_v = 1). 73

88 Σχήμα 4.13 : Σήματα ελέγχου του LDPC αποκωδικοποιητή για log-sp layered decoding. 74

89 ** Στoν πρώτο υπολογισμό του συγκεκριμένου κόμβου μεταβλητής, στην πρώτη επανάληψη του αλγορίθμου, φορτώνεται το αντίστοιχο LLR για αυτόν τον κόμβο (Mux_2add_sel = 0). Όπως αναφέραμε, η βασική διαφορά μεταξύ των δύο υλοποιήσεων του layered decoding αλγόριθμου, για Min-Sum και log-sp, έγκειται στην σχεδίαση του κόμβου ελέγχου (check processing unit), και συνακόλουθα, της μονάδας ελέγχου των CPUs (CPUs control unit). Τα σήματα ελέγχου της CPU μονάδας ελέγχου απεικονίζονται στο επόμενο σχήμα. Απαιτούνται μόνο 6 bits, 40% λιγότερα από την log-sp υλοποίηση. Σχήμα 4.14 : Σήματα ελέγχου της CPU μοναδας ελέγχου για log-sp layered decoding. 75

90 76

91 Κεφάλαιο 5 Ροή Σχεδίασης (Design Flow) Ο όρος ροή σχεδίασης (design flow) δηλώνει τη συνδυασμένη χρήση εργαλείων αυτοματοποιημένης ηλεκτρονικής σχεδίασης, κατά τη διαδικασία σχεδιασμού ενός ολοκληρωμένου κυκλώματος. Στο σχήμα 6.1 αναπαρίσταται το design flow της σχεδίασης αρχιτεκτονικών αποκωδικοποιητών VLSI για κώδικες LDPC, που αποτέλεσε το αντικείμενο της παρούσας διπλωματικής εργασίας. Επιπλέον, στον πίνακα 5 υπάρχουν κατηγοριοποιημένα όλα τα εργαλεία λογισμικού που χρησιμοποιήθηκαν κατά τη διάρκεια της διαδικασίας ανάπτυξης. Το σύστημα που κληθήκαμε να σχεδιάσουμε και να υλοποιήσουμε είναι ένας αποδοτικός - σε επίπεδο ταχύτητας, ποιότητας αποκωδικοποίησης (χαμηλός ρυθμός εμφάνισης σφαλμάτων - BER) και επιφάνειας ολοκλήρωσης - LDPC αποκωδικοποιητής. Η επιλογή συγκεκριμένου αλγορίθμου αποκωδικοποίησης καθώς και ενός σχήματος χρονοδρομολόγησης των ανταλλασσόμενων μηνυμάτων, οδήγησε στη σχεδίαση συγκεκριμένης αρχιτεκτονικής σε υλικό. Παρουσιάσαμε δύο παραλλαγές αυτής της αρχιτεκτονικής, μία για τον Log-SP και μία για τον Min-Sum layered-decoding αλγόριθμο. Περιγραφή σε Υλικό Με τη βοήθεια του εργαλείου Matlab γράφηκαν παραμετρικά scripts για την παραγωγή του VHDL κώδικα. Οι δύο βασικές παράμετροι που χρησιμοποιήθηκαν ήταν το πλήθος z των επεξεργαστικών μονάδων (CPUs, VPUs) και το μήκος λέξης n για 77

92 Σχήμα 5.1 : Design Flow LDPC αποκωδικοποιητή. τα ανταλλασσόμενα μηνύματα. Με βάση τις προδιαγραφές που έχουμε θέσει, μπορούμε να μεταβάλλουμε ανάλογα τις δύο αυτές παραμέτρους. Για παράδειγμα, μεγάλο z αυξάνει τον βαθμό παραλληλίας της αρχιτεκτονικής, με συνακόλουθη αύξηση της ταχύτητας αποκωδικοποίησης, αλλά και της απαιτούμενης επιφάνειας. Αύξηση του n, επιφέρει μείωση του BER, αλλά οδηγεί, και πάλι, σε αύξηση της επιφάνειας ολοκλήρωσης. Τα scripts αυτά αποτέλεσαν ένα πολύ χρήσιμο εργαλείο κατά τη διαδικασία ανάπτυξης και βελτιστοποίησης της αρχιτεκτονικής, δίνοντας μας τη δυνατότητα να παράγουμε με αυτοματοποιημένο και γρήγορο τρόπο τον VHDL κώδικα για τις επιμέρους μονάδες του αποκωδικοποιητή. 78

93 Μετά τη συγγραφή του VHDL κώδικα, μπορούμε να τρέξουμε Behavioral εξομοιώσεις, είτε στον ISE Simulator είτε στο Modelsim (Σχήμα 6.2)., χρησιμοποιώντας κατάλληλα testbenches. Αυτό αποτελεί ένα πρώτο βήμα της διαδικασίας επαλήθευσης και εκσφαλμάτωσης (debugging) του κώδικα. Στη συνέχεια, ο VHDL κώδικας περνάει από σύνθεση με τη βοήθεια του εργαλείου XST του Xilinx ISE, και παράγεται το RTL (Register Transfer Level) σχηματικό της αρχιτεκτονικής. Επιπλέον, παράγεται μια αναφορά (report) με στοιχεία για τις καθυστερήσεις, τη χρησιμοποίηση των πόρων του FPGA και τυχών σφάλματα που ανιχνεύτηκαν στην αρχιτεκτονική μας. Παραγωγή VHDL κώδικα Δημιουργία Bit True Μοντέλου Matlab (R14) Matlab (R14) Σύνθεση Υλοποίηση Παραγωγή Binaries Προγραμματισμός του board Xilinx ISE 9.1 Matlab (R14) Xilinx System Generator 7.1 Simulink 6.2 Εξομοιώσεις / Επαλήθευση Matlab (R14) Xilinx ISE 9.1 Simulator Modelsim XE III / Starter 6.2c ChipScope Pro 9.1 Πίνακας 2: Λογισμικό που χρησιμοποιήθηκε στα επιμέρους βήματα σχεδίασης του αποκωδικοποιητή. 79

94 Ακολουθεί η υλοποίηση (translate, map, place & route) της αρχιτεκτονικής μας, με παραγωγή αντίστοιχων reports, και η εκτέλεση post-route εξομοιώσεων. Η έκδοση του Xilinx ISE simulator που ήταν διαθέσιμη κρίθηκε ανεπαρκής για post-route εξομοιώσεις, οπότε χρησιμοποιήθηκε μόνο το Modelsim. Εφόσον, δεν υπάρχουν λάθη και η αρχιτεκτονική επιτελεί την επιθυμητή λειτουργία, παράγουμε το binary αρχείο, το οποίο στη συνέχεια φορτώνεται στο FPGA με τη βοήθεια του εργαλείου impact του ISE. Με χρήση του ChipScope Pro μπορούμε να δούμε τα αποτελέσματα της αποκωδικοποίησης που επιτυγχάνει η αρχιτεκτονική αποκωδικοποιητή που έχουμε κατεβάσει στο FPGA (Σχήμα 6.3). Αυτό που μας ενδιαφέρει πρωτίστως είναι η τιμή του BER (Bit Error Rate). Όπως φαίνεται και από τα σχήματα 6.2 και 6.3, η λειτουργικότητα της VHDL περιγραφής της αρχιτεκτονικής του αποκωδικοποιητή, πριν ακόμα περάσει από Σύνθεση, και του πλήρως υλοποιημένου σε FPGA μοντέλου, είναι όμοιες. Αυτός ήταν ο βασικός στόχος της παρούσας διπλωματικής, η υλοποίηση, δηλαδή, σε υλικό ενός αποκωδικοποιητή LDPC. Περιγραφή σε Λογισμικό Εκτός από την περιγραφή και υλοποίηση της αρχιτεκτονικής μας σε υλικό, αναπτύξαμε μια αντίστοιχη περιγραφή της σε λογισμικό. Συγκεκριμένα, σε περιβάλλον matlab, είμαστε σε θέση να κατασκευάζουμε το «bit true» μοντέλο της εκάστοτε αρχιτεκτονικής μας, και να το χρησιμοποιήσουμε για εξομοιώσεις που μετράνε το BER του αποκωδικοποιητή μας, καθώς και ως μέσο εκσφαλμάτωσης και επαλήθευσης της ορθής λειτουργίας του. Αφενός, διαθέτουμε, έτσι, ένα αξιόπιστο εργαλείο για την μέτρηση της απόδοσης διαφόρων παραλλαγών αρχιτεκτονικής αποκωδικοποιητή, το οποίο μας βοηθά να πάρουμε αποφάσεις σχετικά με σχεδιαστικές παραμέτρους, όπως είναι η αριθμητική αναπαράσταση των δεδομένων. Αφετέρου, αποτελεί ένα μέσο παραγωγής testbenches, για την επαλήθευση των αποτελεσμάτων που παράγει η υλοποίηση σε υλικό, αλλά και ανίχνευσης των σχεδιαστικών παραλείψεων που επιφέρουν εσφαλμένη λειτουργία του αποκωδικοποιητή. 80

95 Σχήμα 5.2 : Αποτελέσματα εξομοιώσεων του VHDL κώδικα, σε περιβάλλον Modelsim. 81

96 Σχήμα 5.3 : Αποτελέσματα μετρήσεων, σε FPGA Virtex-4 SX35, με χρήση του ChipScope της Xilinx. 82

97 Μια κάπως διαφορετική μεθοδολογία που μπορούμε να ακολουθήσουμε είναι να παράξουμε το.bit binary αρχείο, το οποίο στη συνέχεια φορτώνουμε στο FPGA, με χρήση του System Generator της Xilinx. Πρόκειται για ένα εργαλείο μοντελοποίησης και υλοποίησης DSP συστημάτων, το οποίο προσαρτάται σε περιβάλλον Matlab και συνεργάζεται με το Simulink. Σχήμα 5.4 : Μοντέλο σε Xilinx System Generator. Στο σχήμα 6.2 μπορούμε να δούμε ένα μοντέλο που κατασκευάσαμε με τη βοήθεια του System Generator. Απαρτίζεται από blocks της Xilinx, του Simulink και ένα block που αναπτύχθηκε στο εργαστήριο ως μοντέλο του αποκωδικοποιητή LDPC. Με χρήση του Black Box μπορούμε να εισαγάγουμε τον VHDL κώδικα του αποκωδικοποιητή μας. Υπάρχει ειδικό μπλοκ της Xilinx που παράγει Λευκό Προσθετικό Gaussian Θόρυβο (AWGN). Με τα μπλοκ Gateway In και Gateway Out μπορούμε να ορίσουμε συγκεκριμένους ακροδέκτες του FPGA σαν εισόδους / εξόδους του design μας. Τέλος, υπάρχει το μπλοκ ChipScope το οποίο εισάγει ICON και ILA πυρήνες στο μοντέλο μας. 83

98 Με χρήση του μπλοκ System Generator (πάνω αριστερά) ορίζουμε παραμέτρους - όπως είναι ο τύπος του FPGA το οποίο θα προγραμματίσουμε, η γλώσσα περιγραφής hardware (VHDL, Verilog), το εργαλείο σύνθεσης (π.χ. XST), ο ακροδέκτης του ρολογιού του FPGA, κτλ. σε ένα αναδυόμενο παράθυρο αντίστοιχο με αυτό που απεικονίζεται στα αριστερά της εικόνας. Στο κάτω μέρος φαίνεται το παράθυρο στο οποίο ορίζουμε τις παραμέτρους του μπλοκ Gateway In (πχ ορίζουμε σαν ακροδέκτη εισόδου τον R20 για το σήμα εισόδου reset). Κατά τη διαδικασία υλοποίησης του μοντέλου που κατασκευάσαμε, o System Generator καλεί το εργαλείο ISE, το οποίο εκτελεί αυτόματα τις λειτουργίες που περιγράψαμε παραπάνω (σύνθεση, υλοποίηση, παραγωγη binaries). 5.1 Αναπτυξιακό σύστημα Virtex 4 SX35 (ML 402) Ακολουθεί μια σύντομη παρουσίαση του αναπτυξιακού συστήματος, το οποίο χρησιμοποιήθηκε στο εργαστήριο κατά τη διαδικασία σχεδίασης, υλοποίησης και βελτιστοποίησης του αποκωδικοποιητή, καθώς και κατά την εκτέλεση των πειραμάτων. Στο σχήμα 6.3 απεικονίζεται το μπλοκ διάγραμμα του συγκεκριμένου αναπτυξιακού συστήματος, το οποίο χρησιμοποιεί Virtex4_XC4VSX35_ff668 FPGA. 84

99 Σχήμα 5.5 : Μπλοκ διάγραμμα του αναπτυξιακού Virtex-4 ML402. Στα δύο επόμενα σχήματα απεικονίζονται λεπτομερώς τα συστατικά μέρη ενός αναπτυξιακού συστήματος Virtex-4 ML402. 1) Virtex-4 FPGA : XC4VSX35-FF668. 2) DDR SDRAM : 64 MB DDR SDRAM, 32-bit data bus στα 266 MHz. Μπορεί να υποστηρίξει επεκτάσεις μέχρι και 1-Gb DDR. 3) Differential Clock Input And Output With SMA Connectors 4) Oscillator Sockets : 1 100MHz SYSCLK, 1 USERCLK. 5) LCD Brightness and Contrast Adjustment 6) DIP Switches (Active-High) : 8 γενικού σκοπού διακόπτες. 85

100 Σχήμα 5.6 : Λεπτομερής απεικόνιση των συστατικών μερών ενός αναπτυξιακού συστήματος Virtex-4 ML402 (Εμπρός όψη). 7) User and Error LEDs (Active-High) : 11 active-high LEDs. 8) User Push Buttons (Active-High) 9) CPU Reset Button (Active-Low) 10) Expansion Headers 11) Stereo AC97 Audio Codec 12) RS-232 Serial Port 13) 16-Character x 2-Line LCD 14) IIC Bus with 4-Kb EEPROM 15) VGA Output 86

101 16) PS/2 Mouse and Keyboard Ports 17) System ACE and CompactFlash Connector 18) ZBT Synchronous SRAM Σχήμα 5.7 : Λεπτομερής απεικόνιση των συστατικών μερών ενός αναπτυξιακού συστήματος Virtex-4 ML402 (Πίσω όψη). 19) Linear Flash Chips 20) Xilinx XC95144XL CPLD 21) 10/100/1000 Tri-Speed Ethernet PHY 22) USB Controller with Host and Peripheral Ports 23) Xilinx XCF32P Platform Flash Configuration Storage Device 24) JTAG Configuration Port 87

102 25) Onboard Power Supplies 26) AC Adapter and Input Power Switch/Jack 27) Power Indicator LED 28) INIT LED 29) DONE LED 30) Program Switch 31) Configuration Address and Mode DIP Switches 32) Encryption Key Battery 33) Configuration Source Selector Switch 88

103 Σχήμα 5.8 : Αναπτυξιακό σύστημα Virtex4_XC4VSX35_ff668, σε λειτουργία, στο εργαστήριο μας. 89

104 90

105 Κεφάλαιο 6 Υλοποίηση σε FPGA και αποτελέσματα εξομοιώσεων Για την υλοποίηση (synthesis and implementation) της αρχιτεκτονικής που μόλις περιγράψαμε, χρησιμοποιήσαμε τρεις τύπους FPGA (Spartan3_XC3S5000_-5fg900, Virtex5_XC5VLX330_-2ff1760, Virtex4_XC4VSX35_-12FF668). Οι μετρήσεις μας επικεντρώθηκαν στην διερεύνηση των απαιτήσεων σε επιφάνεια ολοκλήρωσης και της μέγιστης δυνατής ταχύτητας αποκωδικοποίησης που μπορεί να επιτύχει η προτεινόμενη αρχιτεκτονική. Τα αποτελέσματα που προέκυψαν, σε επίπεδο απαιτήσεων επιφάνειας, απεικονίζονται στα σχήματα 5.1, 5.3, 5.5 και 5.6. Για τους πρώτους δύο τύπους FPGA τα αποτελέσματα αναφέρονται στην υλοποίηση του log-sp layered decoding, ενώ για το Virtex 4, υπάρχουν επιπλέον στοιχεία και για την υλοποίηση του Min-Sum layered decoding, η οποία είναι λιγότερο απαιτητική σε επιφάνεια ολοκλήρωσης (area). Το συγκεκριμένο FPGA (Virtex4_XC4VSX35), ήταν αυτό το οποίο χρησιμοποιήθηκε ως αναπτυξιακό σύστημα, στο εργαστήριο, για την υλοποίηση και βελτιστοποίηση του αποκωδικοποιητή, και την εκτέλεση των πειραμάτων. Πραγματοποιήθηκαν εξαντλητικές εξομοιώσεις όσον αφορά την ταχύτητα αποκωδικοποίησης. Μας ενδιαφέρει να διερευνήσουμε το πώς αυτή μεταβάλλεται για τους διάφορους τύπους FPGA, και για τις δύο παραλλαγές του αλγορίθμου αποκωδικοποίησης που παρουσιάσαμε. Επιπλέον, στα σχήματα 5.2, 5.4 και 5.7, απεικονίζεται το routed design που προκύπτει στον Xilinx FPGA Editor, όπου φαίνεται η υλοποίηση σε κάθε ένα από τα τρία FPGAs. 91

106 Οι μετρήσεις έγιναν για μια αρχιτεκτονική αποκωδικοποιητή με μήκη λέξης n=6 (3 ακέραια και 3 κλασματικά ψηφία), για τα LLRs και τα ανταλλασσόμενα μηνύματα, και για πλήθος κόμβων z=96. Αυτό μεταφράζεται σε αποκωδικοποίηση κώδικα με κωδική λέξη των 2304 ψηφίων. Οι τιμές έχουν αναπαρασταθεί σε συμπλήρωμα του 2. Σχήμα 6.1 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Spartan 3 - XC3S5000, για log-sp layered decoding. 92

107 Σχήμα 6.2 : Routed Design της αρχιτεκτονικής του LogSP LDPC αποκωδικοποιητή, για z=96, σε Spartan 3 - XC3S5000, για log-sp layered decoding. 93

108 Σχήμα 6.3 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 5 - XC5VLX330, για log-sp layered decoding. 94

109 Σχήμα 6.4 : Routed Design της αρχιτεκτονικής του Log-SP LDPC αποκωδικοποιητή, για z=96, σε Virtex 5 - XC5VLX330, για log-sp layered decoding. 95

110 Σχήμα 6.5 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 4 - XC4VSX35-12FF668, για log-sp layered decoding. 96

111 Σχήμα 6.6 : Utilization Summary της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 4 - XC4VSX35-12FF668, για Min-Sum layered decoding. 97

112 Σχήμα 6.7 : Routed Design της αρχιτεκτονικής του LDPC αποκωδικοποιητή, για z=96, σε Virtex 4 - XC4VSX35-12FF668, για Min-Sum layered decoding. Με βάση τις εξομοιώσεις που εκτελέστηκαν, παραθέτουμε στη συνέχεια μερικά στοιχεία, σχετικά με την επιφάνεια ολοκλήρωσης και την ταχύτητα του αποκωδικοποιητή. 98

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"Μελέτη της Συμπεριφοράς Αποκωδικοποιητών LDPC στην περιοχή του Error Floor"

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

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

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

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

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

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

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

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

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

Ψηφιακές Τηλεπικοινωνίες Ψηφιακές Τηλεπικοινωνίες Θεωρία Πληροφορίας: Χωρητικότητα Καναλιού Χωρητικότητα Καναλιού Η θεωρία πληροφορίας περιλαμβάνει μεταξύ άλλων: κωδικοποίηση πηγής κωδικοποίηση καναλιού Κωδικοποίηση πηγής: πόση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ψηφιακές Τηλεπικοινωνίες Ψηφιακές Τηλεπικοινωνίες Κωδικοποίηση Αναλογικής Πηγής: Κβάντιση Εισαγωγή Αναλογική πηγή: μετά από δειγματοληψία γίνεται διακριτού χρόνου άπειρος αριθμός bits/έξοδο για τέλεια αναπαράσταση Θεωρία Ρυθμού-Παραμόρφωσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ψηφιακές Τηλεπικοινωνίες. Πιθανότητα Σφάλματος για Δυαδική Διαμόρφωση

Ψηφιακές Τηλεπικοινωνίες. Πιθανότητα Σφάλματος για Δυαδική Διαμόρφωση Ψηφιακές Τηλεπικοινωνίες Πιθανότητα Σφάλματος για Δυαδική Διαμόρφωση Σύνδεση με τα Προηγούμενα Σχεδιάστηκε ο βέλτιστος δέκτης για κανάλι AWGN Επειδή πάντοτε υπάρχει ο θόρυβος, ακόμη κι ο βέλτιστος δέκτης

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

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

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

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

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

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

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

Αρχιτεκτονικές διόρθωσης λαθών βασισµένες σε κώδικες BCH

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

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

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

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

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

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

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

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

Συμπίεση Δεδομένων

Συμπίεση Δεδομένων Συμπίεση Δεδομένων 014-015 Μοναδικά Αποκωδικοποιήσιμοι Κώδικες Δρ. Ν. Π. Σγούρος Έλεγος μοναδικής Αποκωδικοποίησης Γενικοί ορισμοί Έστω δύο κωδικές λέξεις α,β με μήκη,m και

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ψηφιακές Τηλεπικοινωνίες. Δισδιάστατες Κυματομορφές Σήματος

Ψηφιακές Τηλεπικοινωνίες. Δισδιάστατες Κυματομορφές Σήματος Ψηφιακές Τηλεπικοινωνίες Δισδιάστατες Κυματομορφές Σήματος Εισαγωγή Στα προηγούμενα μελετήσαμε τη διαμόρφωση PAM δυαδικό και Μ-αδικό, βασικής ζώνης και ζωνοπερατό Σε κάθε περίπτωση προέκυπταν μονοδιάστατες

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

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

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

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

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

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

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

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

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

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ ΠΕΜΠΤΟ ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ ΚΕΦΑΛΑΙΟ ΠΕΜΠΤΟ ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ 5. Εισαγωγή Ο σκοπός κάθε συστήματος τηλεπικοινωνιών είναι η μεταφορά πληροφορίας από ένα σημείο (πηγή) σ ένα άλλο (δέκτης). Συνεπώς, κάθε μελέτη ενός τέτοιου συστήματος

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

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική «Λογικές» πράξεις, μάσκες Πώς βρίσκουμε το υπόλοιπο μιας διαίρεσης με το 4; διαίρεση με 4 = δεξιά ολίσθηση 2 bits Το υπόλοιπο

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

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

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

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

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

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

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

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

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

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 4: Ψηφιακή Διαμόρφωση Φάσης Phase Shift Keying (PSK) Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Μαθηματική περιγραφή δυαδικής PSK (BPSK) Φάσμα σήματος διαμορφωμένου

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

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

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

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

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

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

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

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

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

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

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

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

ιαφορική εντροπία Σεραφείµ Καραµπογιάς

ιαφορική εντροπία Σεραφείµ Καραµπογιάς ιαφορική εντροπία Σεραφείµ Καραµπογιάς Για πηγές διακριτού χρόνου µε συνεχές αλφάβητο, των οποίων οι έξοδοι είναι πραγµατικοί αριθµοί, ορίζεται µια άλλη ποσότητα που µοιάζει µε την εντροπία και καλείται

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

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

Θεώρημα κωδικοποίησης πηγής

Θεώρημα κωδικοποίησης πηγής Κωδικοποίηση Kωδικοποίηση πηγής Θεώρημα κωδικοποίησης πηγής Καθορίζει ένα θεμελιώδες όριο στον ρυθμό με τον οποίο η έξοδος μιας πηγής πληροφορίας μπορεί να συμπιεσθεί χωρίς να προκληθεί μεγάλη πιθανότητα

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

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

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

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

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

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

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

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

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

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

Ασκήσεις στο µάθηµα «Επισκόπηση των Τηλεπικοινωνιών»

Ασκήσεις στο µάθηµα «Επισκόπηση των Τηλεπικοινωνιών» Ασκήσεις στο µάθηµα «Επισκόπηση των Τηλεπικοινωνιών» Άσκηση 1 Πρόκειται να µεταδώσουµε δυαδικά δεδοµένα σε RF κανάλι µε. Αν ο θόρυβος του καναλιού είναι Gaussian - λευκός µε φασµατική πυκνότητα W, να βρεθεί

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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