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

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

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

Transcript

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

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

3 Αριθμός Διπλωματικής Εργασίας: Θέμα: «Υλοποίηση αποκωδικοποιητή LDPC με κριτήριο πρόωρου τερματισμού» Φοιτητής: Νικόλας Τσούτσος Επιβλέπων: Βασίλειος Παλιουράς

4 Περίληψη Η παρούσα διπλωματική εργασία αφορά την μελέτη και υλοποίηση ενός LDPC (low density parity check ) αποκωδικοποιητή. Οι συγκεκριμενοι αποκωδικοποιητές βρίσκουν εφαρμογή στον εντοπισμό και διόρθωση λαθών σε ψηφιακά τηλεπικοινωνιακά συστήματα. Στην αρχιτεκτονική που χρησιμοποιήσαμε υλοποιήθηκε επίσης ένα ακόμα υποκύκλωμα που ήταν υπεύθυνο για τον πρόωρο τερματισμό της διαδικασίας αποκωδικοποίησης. Κατά τη διάρκεια εκπόνησης της εργασίας χρησιμοποιήθηκαν διάφορα εργαλεία για την δημιουργία και επιβεβαίωση της ορθής λειτουργίας του αποκωδικοποιητή. Συγκεκριμένα, χρησιμοποιήθηκε το software MATLAB για την ανάπτυξη του μοντέλου του αποκωδικοποιητή και στη συνέχεια το ISE της Xilinx για την υλοποίηση/σύνθεση του κυκλώματος σε hardware. Τέλος, το κύκλωμα περάστηκε στο FPGA ( ML605 evaluation board ) του εργαστηρίου όπου έγιναν οι τελικές μετρήσεις.

5 Ευχαριστίες Η εργασία αυτή είναι αποτέλεσμα σημαντικής προσπάθειας και πολύμηνης απασχόλησης με το αντικείμενο. Αν και παρουσιάζεται ως ατομική, για να επιτευχθεί ο στόχος μιας αξιοπρεπούς και εστιασμένης μελέτης απαιτείται η συνεισφορά πολλών ατόμων. Ένα από αυτά, το οποίο θέλω να ευχαριστήσω ιδιαίτερα είναι ο επιβλέπων καθηγητής μου, κ. Βασίλειος Παλιουράς, για την αμέριστη υποστήριξη του σε όλα τα ζητήματα που προέκυψαν καθώς και για την πολύ καλή επικοινωνία που είχαμε καθ όλη την διάρκεια εκπόνησης της παρούσας εργασίας. Οι συμβουλές και η καθοδήγηση του υπήρξαν καθοριστικές για την επιτυχή ολοκλήρωση της. 5

6 Περιεχόμενα Κεφαλαιο 1 - Εισαγωγη Συστήματα ψηφιακών επικοινωνιών Βασικά δομικά στοιχεία του συστήματος Μετάδοση πληροφορίας 10 Κεφάλαιο 2 Κώδικες ανίχνευσης και διόρθωσης λαθών Γενικά περί διόρθωσης και ανίχνευσης λαθών Forward error correction ( FEC ) κώδικες Συνελικτικοί κώδικες Block κώδικες Γραμμικοί block κώδικες Κώδικες LDPC Ιστορική αναδρομή Βασικά χαρακτηριστικά Πλεονεκτήματα και μειονεκτήματα 18 Κεφάλαιο 3 Αλγόριθμοι αποκωδικοποίησης Message passing Belief propagation Log Sum-Product ( SP ) Min-Sum Layered decoding Περιγραφή του layered αλγορίθμου Αποτελέσματα προσομοίωσης του μοντέλου 26 Κεφάλαιο 4 : Αρχιτεκτονική υλικού Αρχιτεκτονικές LDPC αποκωδικοποιητών Fully-parallel αρχικτετονικές Hardware sharing αρχιτεκτονικές Χρησιμοποιούμενη αρχιτεκτονική VPU Variable process unit CPU - Check Proccess Unit Permutation network Top level Διαδικασία αποκωδικοποίησης και χρονικός προγραμματισμός λειτουργειών Παραλλαγή αρχιτεκτονικής με χρήση κριτηρίου τερματισμού 43 Κεφάλαιο 5 : Ροή σχεδίασης και αποτελέσματα Χρησιμοποιούμενα εργαλεία και ροή σχεδίασης Design summary Αποτελέσματα προσομοιώσεων Συμπεράσματα - Σχόλια 57 Βιβλιογραφία 58 6

7 Κεφαλαιο 1 - Εισαγωγη 1.1 Συστήματα ψηφιακών επικοινωνιών Η επικοινωνία ανέκαθεν αποτελούσε βασική ανάγκη του ανθρώπου και παράλληλα απαραίτητη προυπόθεση για την πρόοδο και την ανάπτυξη του είδους. Με την πορεία των χρόνων και την αύξηση των αναγκών των ανθρώπων νέες μορφές επικοινωνίας έκαναν την εμφάνιση τους. Πλέον, στην σημερινή εποχή και με την συμβολή της συνεχώς ανεπτυσσόμενης τεχνολογίας, ιδιαίτερη ανάπτυξη έχουν γνωρίσει οι ψηφιακές επικοινωνίες. Ως ψηφιακά συστήματα επικοινωνιών οριζουμε τα επικοινωνιακά συστήματα που χρησιμοποιούν ψηφιακές ακολουθίες ως μέσο για την επικοινωνία της πηγής και της εισόδου του καναλιού ( και αντίστοιχα της εξόδου του καναλιού και του τελικού προορισμού) [1]. Υπάρχουν διάφοροι λόγοι για τους οποίους οι ψηφιακές επικοινωνίες έχουν γίνει πλέον τόσο ευρέως χρησιμοποιούμενες. Ενδεικτικά : Το κόστος των ψηφιακών κυκλωμάτων έχει μειωθεί τόσο πολύ ενώ παράλληλα η αξιοπιστία τους έχει αυξηθεί. Η κωδικοποίηση/αποκωδικοποίηση της πηγής μπορεί να γίνει ανεξάρτητα απο το κανάλι Η δικτύωση απλοποείται καθώς στέλνονται μόνο 2 στάθμες ( 0 και 1) Βασικά δομικά στοιχεία του συστήματος Παρακάτω φαίνεται ενα τυπικό μπλοκ διάγραμμα ενός συστήματος ψηφιακής επικοινωνίας[2]. Τα βασικά μέρη του είναι : 1. Ο πομπός, που αποτελείται απο τον κωδικοποιητή πηγής, τον κωδικοποιητή καναλιού και τον διαμορφωτή. 2. Το κανάλι. 3. Ο δέκτης, ο οποίος αντίστοιχα αποτελείται απο τον αποδιαμορφωτή και του αποκωδικοποιητές καναλιού και πηγής. 7

8 Σχήμα 1.1 : Βασικά στοιχεία ενός συστήματος ψηφιακής επικοινωνίας Πομπός Ο πομπός ( transmitter ) είναι υπεύθυνος για την κατάλληλη μετάδοση της πληροφορίας που παράγεται απο την πηγή. Επειδή το σήμα προς μετάδοση είναι κατα κανόνα συνεχές ( αναλογικό ) θα πρέπει να ματατραπεί σε ψηφιακή μορφή. Ο κωδικοποιητής πηγής αναλαμβάνει αυτόν τον ρόλο, όπου δέχεται το συνεχές σύστημα και το μετατρέπει σε μια ακολουθία απο 0 και 1 ( ψηφιακή μορφή ).Πρωταρχικός στόχος της κωδικοποιήσης είναι η χρήση όσο το δυνατόν μικρότερου αριθμού δεδομένων. Παρολ αυτά, ακολουθία θα πρέπει να δημιουργηθεί με τέτοιο τρόπο ώστε η πληροφορία που περιέχει να μπορέσει να ανακατασκευασθεί όταν φτάσει στον τελικό προορισμό. Συνεπώς, υπάρχουν περιορισμοί στον αριθμό των bits που πρέπει να χρησιμοποιηθούν για την κωδικοποίηση της πληροφορίας. Από τους πλέον συνήθεις κωδικοποιητές είναι ο A/D converter ( analog to digital converter ). Αφου πλέον έχουμε μια ακουλουθία απο δυαδικά ψηφία, ο κωδικοποιητής καναλιού προσθέτει με συγκεκριμένο τρόπο κάποια επιπλέον ψηφία στην προηγούμενη ακολουθία, δημιουργώντας μια κωδική λέξη ( codeword ). Η χρήση αυτής της τεχνικής, αν και προσθέτει επιπλέον πληροφορία, είναι απαραίτητη καθώς με αυτόν τον τρόπο μπορούμε να ανταπεξέλθουμε στον θόρυβου του καναλιού και τις αλλοιώσεις που προκαλεί στην δυαδική ακολουθία. Στη συνέχεια, το κωδικοποιήμενο σήμα μέσω του διαμορφωτή ( modulator ) μετατρέπεται σε ηλεκτρικό σήμα κατάλληλο για μετάδοση μέσω του καναλιού. 8

9 Κανάλι Το κανάλι αποτελεί το φυσικό μέσο με τη βοήθεια του οποίου επιτυγχάνεται η μετάδοση της πληροφορίας. Αυτό το μέσο μπορεί να είναι ο αέρας, αν μιλάμε για ασύρματες επικοινωνίες ή ο χαλκός όταν μιλάμε για ενσύρματες. Τα τελευταία χρόνια ιδιαίτερη ανάπτυξη έχει εμφανίσει και ένα ακόμα είδος καναλιού, οι οπτικές ίνες, οι οποίες επιτυγχάνουν υψηλότερο ρυθμό μετάδοσης καθώς και λιγότερες αλλοιώσεις στην πληροφορία. Οι προαναφερθείσες αλλοιώσεις γίνονται πιο έντονες στα άλλα 2 μέσα λόγω του θόρυβου που προσθέτουν, και σε ακραίες περιπτώσεις μπορούν να καταστήσουν ακόμα και αδύνατη την μετάδοση. Δέκτης Αφού το σήμα μεταδοθεί απο την πηγή μέσω του καναλιού, αυτό επεξεργάζεται απο τον αποδιαμορφωτή ο οποίος μετατρέπει την αλλοιωμένη πλέον κυματομορφή σε μια συνεχή ή διακριτή ακολουθία κυματομορφών που αποτελεί προσέγγιση αυτής που μεταδόθηκε. Στη συνέχεια, η ακολουθία θα εισέλθει στον αποκωδικοποιητή καναλιού, ο οποίος γνωρίζει την μέθοδο με την οποία έγινε η κωδικοποίηση της πληροφορίας καθώς επίσης και την επιπλέον πληροφορία που είχε προστεθεί κατα την κωδικοποίηση, και θα μετατρέψει την εν λόγω ακολουθία σε μια δυαδική ακολουθία. Στην ιδανικη περίπτωση που το σήμα δεν έχει υποστεί αλλοίωση, η δυαδική ακολουθία θα είναι ταυτόσημη αυτής που παράχθηκε απο τον κωδικοποιητή πηγής. Η πιθανότητα να εμφανιστεί λάθος σε ενα bit αυτής της εξόδου είναι ενα κριτήριο της απόδοσης του συστήματος αποδιαμορφωτή αποκωδικοποιητή. Τέλος, αυτή η δυαδική ακολουθία προωθείται στον αποκωδικοποιητή πηγής, ο οποίος επίσης γνωρίζοντας τον τρόπο κωδικοποίησης, θα προσπαθήσει να ανακατασκευάσει την αρχική πληροφορία προς μετάδοση. Παρακάτω φαίνεται ενα απλοποιημένο σύστημα ψηφιακής επικοινωνίας, όπου στην πηγή έχει συγχωνευτει ο κωδικοποιητής πηγής και αντίστοιχα στον προορισμό έχει συγχωνευτεί ο αποκωδικοποιητής πηγής. Επίσης, θεωρούμε τον διαμορφωτή και τον αποδιαμορφωτή ως κομμάτι του καναλιού. 9

10 Σχήμα 1.2 : Απλοποιημένο σύστημα ψηφιακής επικοινωνίας Οι αποκωδικοποιητές LDPC, που αποτελούν το αντικείμενο της συγκεκριμένης εργασίας, είναι ενα είδος αποκωδικοποιητών καναλιού και θα ασχοληθούμε εκτενώς στα επόμενα κεφάλαια αφού κάνουμε μια σύντομη εισαγωγή στα κωδικοποίηση της πληροφορίας και την μετάδοση της μεσω ενός καναλιού. 1.2 Μετάδοση πληροφορίας Όπως αναφέραμε και προηγούμενως, η κωδικοποίηση καναλιού είναι μια απαραίτητη τεχνική που επιστρατεύεται κατα την μετάδοση της πληροφορίας με σκόπο τον εντοπισμό και την διόρθωση λαθών. Όπως έχει αποδειχτεί απο τον Shannon[3] στο ομώνυμο θεώρημα ( η αλλιώς θεώρημα κωδικοποίησης καναλιού με θόρυβο noisy channel coding theorem ), μπορούμε να μεταδώσουμε ψηφιακή πληροφορία μέσω ένος καναλιού σχεδόν χωρίς κανένα λάθος μέχρι ένα ανώτατο όριο. Το όριο αυτό ονομάστηκε όριο του Shannon ( Shannon limit Shannon capacity ) ή χωρητικοτητα καναλιού ( channel capacity ) και είναι ο μέγιστος ρυθμός μετάδοσης της πληροφορίας για συγκεκριμένη στάθμη θορύβου. 10

11 Για ένα κανάλι με εύρος ζώνης ( bandwidth ) B και λόγο σήματος προς θόρυβο ( signal to noise ratio ) SNR, η χωριτηκότητα του καναλιού C ( ή το όριο Shannon όπως προαναφέραμε ) δίνεται απο τον τύπο : C = Βlog 2 (1 + SNR) Επομένως, για να έχουμε αξιόπιστη μεταφορά δεδομένων με ρυθμό μετάδοσης R θα πρέπει να ισχύει : R < C Σκοπός των ψηφιακών επικοινωνίων, είναι η εύρεση τρόπων για όσο το δυνατόν πιο κοντά στην χωρητικότητα του καναλιου ρυθμό μετάδοση πληροφορίας. Ταυτόχρονα όμως, αναζητούμε τρόπο ώστε ο επιθυμητός ρυθμός εμφάνισης λαθών να μην απαιτεί και εξαιρετικά υψηλή πολυπλοκότητα. Οι κώδικες LDPC που θα αναλύσουμε παρακάτω πλησιάζουν σε ρυθμό μετάδοσης την χωρητικότητα καναλιού χωρις να έχουν ιδιαίτερα υψηλές απαιτήσεις στην πολυπλοκότητα της σχεδίασης. 11

12 Κεφάλαιο 2 Κώδικες ανίχνευσης και διόρθωσης λαθών 2.1 Γενικά περί διόρθωσης και ανίχνευσης λαθών Στην θεωρία πληροφορίας με εφαρμογή στις επικοινωνίες, η ανίχνευση και διόρθωση λαθών ή αλλιώς έλεγχος λαθών είναι τεχνικές οι οποίες καθιστούν δυνατή την αξιόπιστη μεταφορά ψηφιακών δεδομένων μέσω μη-αξιόπιστων καναλιών. Πολλά κανάλια επικοινωνιών είναι επιρρεπή στον θόρυβο καναλιού και συνεπώς μπορούν να δημιουργηθούν λάθη κατά την επικοινωνία μεταξύ της πηγής και του δέκτη. Η ανίχνευση λαθών σκοπέυει στον εντοπισμό αυτών των αλλοιώσεων, ενώ η διόρθωση στην ανακατασκευή των δεδομένων ώστε να αντιστοιχούν ακριβώς σε αυτά που μεταδόθηκαν. Η ανάπτυξη των error correction code οφείλεται κατα κύριο λόγο Richard W.Hamming [4], μέσω του ομώνυμου κώδικα. Η βασική ιδέα σε αυτούς τους κώδικες είναι η προσθήκη πλεονάζουσας πληροφορίας στα μεταδιδόμενα δεδομένα, μέσω των οποίων οι δέκτες μπορούν να ελέγξουν την ορθότητα του μηνύματος καθώς και να διορθώσουν τα bit τα οποία μεταδόθηκαν αλλοιωμένα. Αυτό μπορεί να γίνει είτε συστηματικά, όπου η πηγή στέλνει τα δεδομένα και προσθέτει στο τέλος κάποια check ή parity bits που προέρχονται από εναν (ντετερμινιστικό ) αλγόριθμο, είτε μησυστηματικά όπου το προς μετάδοση μήνυμα κωδικοποιείται σε ένα άλλο με τουλάχιστον τον ίδιο αριθμό bits. Γενικά η διόρθωση λαθών μπορεί να επιτευχθεί με 2 τρόπους : 1. Automatic repeat request ( ARQ ), ή αλλιώς backward error correction : Σε αυτή την τεχνική, μετά τον εντοπισμό λαθών γίνεται αναμετάδοση των αλλοιωμένων δεδομένων. Κάθε block δεδομένων, ελέγχεται σύμφωνα με τον error correction κώδικα που χρησιμοποιήθηκε και αν ο ελέγχος αποτύχει, τότε το συγκεκριμένο μπλοκ μεταδίδεται ξανα. 2. Forward error correction ( FEC ) : Σε αυτη την περίπτωση, τα επιπλέον δεδομένα που έχουν προστεθεί στο μεταδιδόμενο μήνυμα χρησιμοποιούνται για την ανακατασκευή του αυθεντικού μηνύματος ή ενός μηνύματος το οποίο είναι το πιο πιθανό να έχει μεταδοθεί. Οι κώδικες LDPC ανήκουν σε αυτή την κατηγορία. 12

13 2.2 Forward error correction ( FEC ) κώδικες Όπως προαναφέραμε, οι FEC κώδικες επιτυγχανουν την διόρθωση λαθών χωρίς να είναι απαραίτητη η αναμετάδοση της πληροφορίας χρησιμοποιώντας τα επιπλεόν bit πληροφορίας [5]. Οι κώδικες αυτοί μπορούν να χωριστούν σε 2 βασικές κατηγορίες : τους συνελικτικούς κώδικες ( convolutional codes ) και τους κώδικες block ( block codes )[6] Συνελικτικοί κώδικες Οι συνελικτικοί κώδικες ( convolutional codes ) μετατρέπουν μια ολόκληρη ακολουθία πληροφοριακών δεδομένων σε μια και μοναδική κωδικοποιήμενη λέξη. Τα επιπλέον ( parity ) σύμβολα παράγονται μέσω της συνέλιξης μιας (λογικής ) πολυωνυμικής συνάρτησης μαζί με τα δεδομένα προς μετάδοση. Τα κωδικοποιημένα δυαδικά ψηφία δεν εξαρτώνται μόνο απο τα k δυαδικά ψηφία που προσάγονται στην είσοδο του κωδικοποιητή αλλά και απο τα k-1 προηγούμενα ψηφία. Αυτη είναι και η βασική διαφορά σε σχέση με τους μπλοκ κώδικες, δηλαδή η ύπαρξη στοιχείων μνήμης. Οι βασικοί παράμετροι που χαρακτηρίζουν εναν συνελικτικό κώδικα είναι : n, το πλήθος των bits εξόδου k, το πλήθος των bit εισόδου m, το πλήθος των στοιχείων μνήμης Block κώδικες Οι μπλοκ κώδικες είναι είδος error correction κωδίκων οι οποίοι κωδικοποιούν τα δεδομένα σε blocks. Στην συνέχεια, σε κάθε τέτοιο block k δυαδικών ψηφίων προστίθονται τα επιπλέον bits σχηματίζοντας ένα καινούριο block n bit. Όπως εύκολα γίνεται αντιληπτό, αυτοί οι κώδικες δεν διαθέτουν στοιχεία μνήμης. Στου block κώδικες και συγκεκριμένα στους γραμμικούς block κώδικες, ανήκουν οι κώδικες Reed-Solomon, οι Hamming, οι Golay και άλλοι. Οι βασικοί παράμετροι που χαρακτηρίζουν εναν block κώδικα είναι : n, το πλήθος των bits εξόδου k, το πλήθος των bit εισόδου R=k/n, ο ρυθμος του κώδικα 13

14 2.3 Γραμμικοί block κώδικες Οι κώδικες γενικά έχουν ως σκοπό την απεικόνιση των στοιχείων απο ένα σύνολο Α, όπου στην περίπτωση των ψηφιακών επικοινωνιακών συστημάτων που μελετάμε είναι οι λέξεις προς μετάδοση, σε ένα σύνολο Β, τις κωδικοποιημένες λέξεις. Τα στοιχεία του πρώτου συνόλου ονομάζονται λέξεις πληροφορίας ( v i ) ενώ του συνόλου B ονομάζονται κωδικές λέξεις ( codewords - c i ). Μια απο τις υποκατηγορίες των μπλοκ ( ή αλγεβρικών ) κωδίκων, είναι οι γραμμικοί μπλοκ κώδικες. Σε αυτούς τους κώδικες, κάθε γραμμικός συνδυασμός των κωδικών λέξεων αποτελεί επίσης κωδική λέξη. Για να μπορέσουμε να παράγουμε μια κωδική λέξη έχοντας στην διάθεση μας μια λέξη πληροφορίας χρειαζόμαστε έναν πίνακα ο οποίος είναι χαρακτηριστικός για κάθε είδος κώδικα και ονομάζεται γεννήτορας πίνακας G ( generator matrix ). Για έναν κώδικα όπου οι λέξεις πληροφορίας u i αποτελούνται απο k bits και οι κωδικές λέξεις c i απο n bits, ο πίνακας G έχει διαστάσεις k x n. H κωδική λέξη παράγεται μέσω του πολλαπλασιασμού του πίνακα με την λέξη πληροφορίας : c i = u i G Αντίστοιχα με τον γεννήτορα πίνακα G, υπάρχει άλλος ένας πίνακας με (n-k ) γραμμές και n στήλες. Ο πίνακας αυτός που συμβολίζεται με H,είναι και αυτός χαρακτηριστικός για κάθε κώδικα και ονομάζεται πίνακας ελέγχου ισοτιμίας ( parity check matrix ). Για να είναι μια κωδική λέξη έγκυρη θα πρέπει να ισχύει[7] : c i H T = 0 Οι 2 παραπάνω πίνακες, συνδέονται μέσω της σχέσης : G H T = 0 14

15 2.4 Κώδικες LDPC Ιστορική αναδρομή Μια βασική κατηγορία γραμμικών, block κωδίκων είναι οι κώδικες LDPC ( Low density parity check ). Οι κώδικες αυτοί δημιουργήθηκαν το 1960 απο τον Gallager [8] κατα την διδακτορική του διατριβή. Παρολ αυτά έμειναν στην αφάνεια για περίπου 30 χρόνια, και συγκεκριμένα μέχρι το 1996 [9] όταν και οι D.MacKay και R. M. Neal ξεκίνησαν να ασχολούνται ξάνα με αυτούς. Ο λόγος για την εγκατάλειψη τους εξ αρχής ήταν η μεγάλη πολυπλοκότητα σε υλικό που απαιτούσαν καθιστώντας την υλοποίηση τους, με την τότε τεχνολογία, αδύνατη. Με την ανάπτυξη της τεχνολογίας, οι κώδικες LDPC άρχισαν να χρησιμοποιούνται όλο και περισσότερο και πλέον έχουν γίνει απο τους πιο δημοφιλείς, ξεπερνώντας και τους turbo κώδικες που χρησιμοποιούνταν κατά κόρον στα τέλη της δεκαετίας του 90. Σε αυτό συνέβαλε η δυνατότητα τους να πλησιάζουν το όριο Shannon [9], όπως και οι κώδικες turbo, αφενός και αφετέρου το χαμηλότερο error floor που παρουσιάζουν όσο αυξάνεται το rate του κώδικα[10]. Πλέον, οι κώδικες LDPC χρησιμοποιούνται σε αρκετά standards όπως το DVB- S2 για την δορυφορική τηλεόραση καθώς και στα n ( WiFi ) και e ( WiMax ) Βασικά χαρακτηριστικά Οι κώδικες LDPC μπορούν να περιγραφούν πλήρως με 2 διαφορετικούς τρόπους : είτε με χρήση του πίνακα ελέγχου ισοτιμίας ( parity check matrix H ) είτε μέσω ενός γραφήματος Tanner ( Tanner graph ) ο οποίος είναι ένας διμερής ( bipartite ) γράφος. Ένας κλασσικός πίνακας ελέγχου ισοτιμίας φαίνεται παρακάτω : Σχήμα 2.1 : Πίνακας ελέγχου ισοτιμίας με du=2, dc= 3 και n=9 15

16 Το κύριο χαρακτηριστικό ενός τέτοιου πίνακα, και το οποίο γίνεται ακόμα πιο εμφανές όσο μεγαλώνει το μέγεθος του αρα και το μέγεθος του κώδικα, είναι ο πολύ μικρός αριθμός των άσσων σε σχέση με τα μηδενικά. Πρόκειται δηλαδή για ένα αραιό μητρώο (sparse matrix), η ύπαρξη του οποίου ευθύνεται και για την ονομασία της εν λόγω οικογένειας κωδίκων ( Low density χαμηλή πυκνότητα ). Κάθε πίνακας ισοτιμίας χαρακτηρίζεται επίσης απο το βάρος στήλης d u και το βάρος γραμμής d c. Οι μεταβλητές αυτές δεν είναι τίποτα άλλο απο τον αριθμό των άσσων που υπάρχουν σε κάθε στήλη ή γραμμή αντίστοιχα. Για έναν regular LDPC κώδικα, τα βάρη αυτά ειναι σταθερά ενω σε irregular κώδικες όχι[11]. Αν και οι irregular κώδικες λόγω της παραπάνω ιδιότητας έχουν καλύτερη απόδοση, η αυξημένη πολυπλοκότητα που παρουσιάζουν αποτελούν εμπόδιο στην υλοποίηση τους. Όσον αφορά τους regular κώδικες, και με δεδομένο ότι τα βάρη γραμμών και στηλών είναι σταθερά, για έναν πίνακα με n στήλες και m= n k στήλες ( όπου n = μέγεθος κωδικής λέξης και k = μέγεθος πληροφορίας όπως είπαμε σε προηγούμενα κεφάλαι ) ισχύει : n*du = m*dc Ένα επίσης ενδιαφέρον μέγεθος που προκύπτει είναι ο ρυθμός ( Rate ) ενός κώδικας και ορίζεται ως ο λόγος του μεγέθους της λέξης πληροφορίας (information bits) προς τo μέγεθος της κωδικοποιημένη λέξη (codeword bits ) : R = k n = n m n = 1 m n Ο Michael Tanner [12], γενικεύοντας την τεχνική του Peter Elias για τους κώδικες γινομένου, πρότεινε μια ακόμα μέθοδο για την αναπαράστηση κωδίκων ανίχνευσης και διόρθωσης λαθών, το γράφημα Tanner. Πρόκειται για έναν διμερή γράφο, δηλαδή έναν γράφο που αποτελείται απο 2 ανεξάρτητες ομάδες κόμβων τέτοιες ώστε κάθε κάθε ακμή να ενώνει έναν κόμβο απο την μια ομάδα με έναν κόμβο της άλλης, ο οποίος χρησιμοποιείται για να δηλώσει τις εξισώσεις που διέπουν έναν error correction κώδικα. Πιο συγκεκριμένα, το ένα σετ κόμβων αποτελείται απο n κόμβους που αναπαριστούν τα n bits της κωδικής λέξης και ονομάζονται κόμβοι μεταβλητής ( variable nodes ή bit nodes ) ενώ αντιστοιχούν στις στήλες του πίνακα ισοτιμίας H. Αντίστοιχα, στις γραμμές του πίνακα ισοτιμίας, αντιστοιχεί το δεύτερο σετ κόμβων που ονομάζονται κόμβου ελέγχου ( check nodes) και αναπαριστούν τους m ελέγχους ισοτιμίας (parity checks). Ένας κόμβος μεταβλητής j ενώνεται μέσω μιας ακμής του γράφου με έναν κόμβο ελέγχου i αν και μόνο αν το αντίστοιχο ψηφίο (i,j) του πίνακα ισοτιμίας είναι άσσος. Φαίνεται ξεκάθαρα απο την παραπάνω ιδίοτητα, ότι το γράφημα Tanner δεν είναι τίποτα περισσότερο απο μια γραφική απεικόνιση του parity check matrix H. Παρακάτω απεικόνιζεται ενα διάγραμμα/γράφημα Tanner μαζί με τον αντίστοιχο πίνακα ελέγχου ισοτιμίας : 16

17 Σχήμα 2.2 : Πίνακας ελέγχου ισοτιμίας και το αντίστοιχο διάγραμμα Tanner με d u = 2, d c = 3 και n=9 Για να είναι μια λέξη έγκυρη, θα πρέπει όλα της τα ψηφία που συνδέονται με έναν κόμβο ελέγχου i να έχουν modulo2 άθροισμα ίσο με το 0 και αυτή η ιδιότητα θα πρέπει να ικανοποιεί όλους τους κόμβους ελέγχου ( γραμμές του πίνακα H ). Στο hardware, η modulo2 άθροιση επιτυγχάνεται με την χρήση της λογικής πράξης XOR και όπως θα δούμε παρακάτω είναι ένα απαραίτητο βήμα για τον πρόωρο τερματισμό της διαδικασίας αποκωδικοποίησης. Ένα τελευταίο αλλά εξίσου σημαντικό χαρακτηριστικό στους κώδικες LDPC, είναι οι κύκλοι ( cycles ). Οι κύκλοι αποτελούν κλειστές διαδρομές στο γράφημα Tanner, δηλαδή ξεκινούν και καταλήγουν στον ίδιο κόμβο. Ιδανικά, θα θέλαμε απο έναν κώδικα LDPC να μην παρουσιάζει καθόλου κύκλους καθώς περιορίζουν την δυνατότητα αποκωδικοποίησης. Παρολ αυτά, έχει αποδειχθεί ότι η ύπαρξη τους είναι απαραίτητη καθώς χωρίς αυτή θα είχαμε ελάχιστη απόδοση στην διόρθωση λαθών [13]. Συνεπώς, στόχος είναι να αυξήσουμε όσο περισσότερο μπορούμε την διαδρομή ενός κύκλου. Έτσι προκύπτει απο τα παραπάνω ένα πολύ σημαντικό μέγεθος, το οποίο είναι χαρακτηριστικό για εναν κώδικα LDPC, το μήκος του κύκλου ( girth ) και δηλώνει το μήκος του μικρότερο κύκλου στον κώδικα. 17

18 2.4.3 Πλεονεκτήματα και μειονεκτήματα Το βασικό πλεονέκτημα των κωδίκων LDPC είναι η εξαιρετική απόδοσή τους στην ανίχνευση και την διόρθωση λαθών. Ενώ, όπως προαναφέραμε, για αρκέτα χρόνια είχαν αφεθεί στο περιθώριο πλεόν προτιμούνται έναντι των turbo codes καθώς έχουν χαμηλότερη πολυπλοκότητα ενώ μπορούν να φτάσουν το όριο Shannon όσον αφορά τους ρυθμούς μετάδοσης. Επίσης η δομή των πινάκων ισοτιμίας, όσον αφορά κυρίως τους regular κώδικες, καθιστούν δυνατή την παράλληλη επεξεργασία τους. Όπως θα δούμε αναλυτικότερα σε επόμενα κεφάλαια, σε ορισμένα standard οι πίνακες έχουν τέτοια δομή ώστε χρειάζεται μόνο ενα υποσύνολο των κόμβων μεταβλητής και ελέγχου για να υλοποιηθεί ένας αποκωδικοποιητής. Παρολ αυτά, παρουσιάζουν και συγκεκριμένα μειονεκτήματα. Όσο μεγαλύτερο είναι το μέγεθος ενός κώδικα τόσο καλύτερη και η απόδοσή του στην ανίχνευση και διόρθωση λαθών. Μεγάλο μέγεθος κώδικα μεταφράζεται σε έναν εξίσου μεγάλο πίνακα ελέγχου ισοτιμίας που στο υλικό αντιστοιχεί σε καλωδία που ενώνουν τους κόμβους μεταβλητής με τους κόμβους ελέγχου. Συνεπώς, η υλοποίηση των κωδίκων σε hardware είναι ιδιαίτερα απαιτητική όσον αφορά την επιφάνεια που καταλαμβάνουν. Παράλληλα, όσο αυξάνεται το μέγεθος του πίνακα άρα και του κυκλώματος, τόσο αυξάνονται και οι απαιτήσεις στην κατανάλωση ενέργειας. 18

19 Κεφάλαιο 3 Αλγόριθμοι αποκωδικοποίησης Οι αλγόριθμοι αποκωδικοποίησης των κωδίκων LDPC συνολικά ορίζονται ως message-passing αλγόριθμοι, καθώς η λειτουργία τους βασίζεται στην ανταλλαγή μηνυμάτων μέσω των ακμών ενός διαγράμματος Tanner. Οι αλγόριθμοί αυτοί είναι επίσης γνωστοί ως αλγόριθμοι επαναληπτικής αποκωδικοποίησης ( iterative decoding ), καθώς τα μηνύματα ανταλλάσονται μεταξύ των κόμβων μεταβλητής και ελέγχου συνεχώς[14] μέχρι να επιτευχθεί το επιθυμητό αποτέλεσμα ( δηλαδή η διόρθωση των λαθών ) ή να τερματιστεί η διαδικασία μέσω κάποιου κριτηρίου. Οι message passing αλγόριθμοι, ανάλογα με τον τύπο του μηνύματος που ανταλάσσεται μεταξυ των κόμβων, μπορούν να χωριστούν σε 2 μεγάλες υποκατηγορίες : τους bit flip decoding αλγόριθμους όπου τα δεδομένα που ανταλάσσονται μεταξύ των κόμβων είναι δυαδικά ( δηλαδή είτε 0 είτε 1 ) και τους belief propagation decoding αλγορίθμους όπου σε αυτή την περίπτωση τα μηνύματα αναπαριστούν εκτιμήσεις σχετικά με την τιμή ενός συγκεκριμένου bit. Στην συγκεκριμένη εργασία, θα ασχοληθούμε μόνο με τους αλγόριθμους που βασίζονται σε belief propagation τους οποίους και θα αναλύσουμε παρακάτω. 3.1 Message passing Belief propagation Όπως προαναφέραμε, οι belief propagation αλγόριθμοι ανταλάσσουν εκτιμήσεις των (αλλοιωμένων) bits της κωδικής λέξης μεταξύ των 2 σετ κόμβων του γραφήματος Tanner. Οι αρχικές εκτιμήσεις, όπου καθεμία απο αυτές αντιστοιχεί σε έναν κόμβο μεταβλητής, εισέρχονται απο το AWGN κανάλι. Στην συνέχεια, σύμφωνα με το γράφημα Tanner, προωθούνται στους κατάλληλους κόμβους ελέγχου όπου εκτελούνται διάφοροι υπολογισμοί ανάλογα με τον αλγόριθμο που έχει επιλεχτεί και οι ανανεωμένες τιμές προωθούνται πίσω στους κόμβους μεταβλητής. Μετά απο κάθε τέτοια επανάληψη, λαμβάνεται μια απόφαση σχετικά με το αν η κωδική λέξη είναι έγκυρη με βάση το πρόσημο της εκτίμησης : αν είναι έγκυρη, η αποκωδικοποίηση τερματίζεται ενώ αν δεν είναι συνεχίζεται η επαναληπτική ανταλλαγή μηνυμάτων χρησιμοποιώντας κάθε φορά τις νέες τιμές των εκτιμήσεων. Οι εκτιμήσεις αυτές ονομάζονται soft decision και χρησιμοποιούν περισσότερα απο 1 δυαδικό ψηφίο για την αναπαράστασή τους. Αν και η χρήση τους οδηγεί σε μεγαλύτερη πολυπλοκότητα, επιτυγχάνουν πολύ καλύτερη επίδοση στην αποκωδικοποίηση σε σχέση με τις αντίστοιχες hard decision όπου μόνο ενα bit ( το bit προσήμου ) χρησιμοποιείται για την αναπαράσταση της εκτίμησης. Γραφικά, η διαδικασία ανταλλαγής των μηνυμάτων φαίνεται στο παρακάτω σχήμα.στην 1 η φάση της διαδικασίας, οι κόμβοι μεταβλητής στέλνουν τις εκτιμήσεις στους κόμβους ελέγχου ενω στην 2 η γίνεται το αντίστροφο. Στην πραγματικότητα, κατά την αποκωδικοποίηση υπάρχουν άλλες 2 φάσεις, η αρχικοποίηση και η λήψη της απόφασης για την κωδική λέξη, αλλά η σημαντική και βασική λειτουργία της αποκωδικοποίησης περιέχεται σε αυτές τις 2 φάσεις. 19

20 Σχήμα 3.1 : Γραφική απεικόνιση της αποκωδικοποίησης 2 φάσεων με αλγόριθμο message passing Στην συνέχεια παρουσιάζονται οι 2 βασικοί message passing αλγόριθμοι : ο ( log ) sum-product και ο Min-sum[15] Log Sum-Product ( SP ) Ο αλγόριθμος Sum-product εφευρέθηκε απο τον Gallager για την αποκωδικοποίηση LDPC κωδίκων και παραμένει ως σήμερα ο πιο συνηθισμένος αλγόριθμος για αυτή την χρήση.ο Log Sum-Product ( Log SP ) αποτελεί μια άλλη μορφή του κλασσικού SP αλγόριθμου με την διαφορά οτι τα ανταλλασσόμενα μηνύματα αποτελούν λόγους πιθανοτήτων ( LLR Log likelihood ratio ), εκφρασμένα στο λογαριθμικό επίπεδο με την χρήση του φυσικου λογάριθμο ( ln ). O αλγόριθμος Log SP αποτελείται από τα εξής βήματα : 1. Αρχικοποίηση Τα Q f v ( variable to node ) μηνύματα αρχικοποιούνται με τις αλλοιωμένες τιμές που έχουν μεταδοθεί απο το AWGN κανάλι. 0 Q v f = channel LLR Επίσης, όλα τα check to variable μηνύματα R v f αρχικοποιούνται στο 0. 20

21 2. Ενημέρωση των check node n Υπολογίζεται το R f v μήνυμα που στέλνει ο κόμβος ελέγχου f στον κόμβο μεταβλητής v κατα την n-οστη επανάληψη σύμφωνα με τον τύπο : n R f v = Φ ( Φ(Q n 1 v f)) όπου Φ = -log(tanh x 2 ) v S f u ( v) v S f u ( v) sign( Q n 1 v f) και με S u f ( v) συμβολίζεται το σύνολο των κόμβων μεταβλητής εκτός του κόμβου v με τους οποίους συνδέεται ο check κόμβος f. H συνάρτηση sign είναι η συνάρτηση προσήμου και είναι είτε +1 για θετικό αριθμό είτε -1 για αρνητικό. 3. Ενημέρωση των variable node n Υπολογίζεται το Q v f μήνυμα το οποίο στέλνει ο variable κόμβος v στον check κόμβο f κατά την n-οστή επανάληψη. n Q v f n = f S v c ( f) R f v ) 4. Hard decision Μετά το τέλος κάθε επανάληψης, δηλαδή μετα την ολοκλήρωση των φάσεων 2 και 3, υπολογίζεται το άθροισμα : S v = f S c v n R f v όπου λαμβάνονται υπόψιν όλα τα μηνύματα που δέχεται ο variable κόμβος v. Στην συνέχεια, ανάλογα με το πρόσημο που έχει προκύψει ο αποκωδικοποιητής αποφασίζει αν πρόκειται για 0 ή 1 σύμφωνα με την συνθήκη : v = { 1, 0, Q v < 0 Q v 0 Το ίδιο συμβαίνει για κάθε κόμβο. Μετά το τέλος της επανάληψης, αν έχουμε καταλήξει σε σωστή λέξη ο αλγόριθμος τερματίζει, αλλιώς επαναλαμβάνονται τα βήματα

22 3.1.2 Min-Sum Ένας άλλος αλγόριθμος αποκωδικοποίησης είναι ο Min Sum. Η διαφορά του σε σχέση με τον Log SP εντοπίζεται στο στάδιο ενημέρωσης των κόμβων ελέγχου, όπου αντι για χρήση της συνάρτησης Φ, υπολογίζεται η ελάχιστη κατα απόλυτη τιμή εκτίμηση που φτάνει στον check κόμβο f από τους κόμβους μεταβλητής με τους n οποίους επικοινωνεί. Τα check-to-variable μηνύματα R f v συνεπώς δίνονται απο τον τύπο : n R f v = min ( Q n 1 v S f v u ( v) f) ) v S u f ( v) sign( Q n 1 v f) Η χρήση του min-sum αλγορίθμου, με τον οποίο θα ασχοληθούμε αποκλειστικά σε αυτή την εργασία, μειώνει την πολυπλοκότητα και την επιφάνεια του αποκωδικοποιητή αφού δεν χρειάζεται ο υπολογισμός των τιμών της συνάρτησης Φ. Ασφαλώς αυτό έχει ένα τίμημα στην ακρίβεια των μηνυμάτων και συνεπώς στην επίδοση της αποκωδικοποίησης, η οποία μειώνεται. Για τον λόγο αυτό έχουν δημιουργηθεί κάποιες παραλλαγές του Min-sum, όπως ο normalized min-sum, όπου n τα R f v μηνύματα πολλαπλασιάζονται με μια σταθερά γεγονός που συμβάλει στην βελτίωση των επιδόσεων. 3.2 Layered decoding Στην παραπάνω περιγραφή των αλγορίθμων αποκωδικοποίησης, όλοι οι κόμβοι ελέγχου ( φάση 2 ) και όλοι οι κόμβοι μεταβλητής ( φάση 3 ) ενημερώνονται ταυτόχρονα, δηλαδή τα check-to-variable και variable-to-check μηνύματα υπολογίζονται και αποστέλλονται σε έναν κύκλο ρολογιού. Αυτό έχει ως πλεονέκτημα την μεγάλη ταχύτητα αποκωδικοποίησης, αυξάνοντας τις απαιτήσεις όμως όπως ειναι λογικό σε επιφάνεια. Μέσα απο την εκτενή μελέτη των LDPC κωδίκων προέκυψε ένα άλλο είδος αποκωδικοποίησης, που εκμεταλλεύτηκε την μορφή που έχουν οι πίνακες ελέγχου ισοτιμίας και ονομάζεται αποκωδικοποίηση σε επίπεδα ( layered decoding ). Σύμφωνα με τους Mansour και Shanbhag [17] αλλά και τον Hocevar [16] στην συνέχεια μπορούμε να χωρίσουμε έναν πίνακα ισοτιμίας σε επίπεδα ( layers ),τα οποία στην περίπτωση μας είναι οι γραμμές του πίνακα, και η αποκωδικοποίηση να χρησιμοποιώντας ένα layer κάθε φορά. Όταν η επεξεργασία του ενός layer ολοκληρωθεί,τότε οι ανανεώμενες τιμές χρησιμοποιούνται απο το επομένο layer και η διαδικασία επαναλαμβάνεται μέχρι να επεξεργαστούν όλα τα επίπεδα. Κάθε τέτοια επεξεργασία ενός layer ονομάζεται υπο-επανάληψη ( sub iteration ) ενώ όταν ολοκληρωθεί η επεξεργασία όλων των layers τότε έχουμε μια ολοκληρωμένη επανάληψη ( iteration ). Η χρήση αυτής της τακτικής μειώνει την επιφάνεια και τον χρόνο σύγκλισης, δηλαδή χρείαζονται λιγότερες επαναλήψεις για να διορθωθούν τα σφάλματα, αλλά αυξάνει σημαντικά την ταχύτητα της αποκωδικοποίησης και την πολυπλοκότητα. Η 22

23 υλοποίηση αυτή, όπως θα δούμε και παρακάτω, είναι μερικώς παράλληλη δηλαδή χρησιμοποιεί ένα υποσύνολο κόμβων ελέγχου που ονομάζονται CPU ( Check Process Units ) και αντίστοιχα ένα υποσύνολο κόμβων μεταβλητής τις VPU ( Variable Process Units ). Συνεπως, χρειάζονται περισσότεροι κύκλοι ρολογιού για να ενημερωθούν όλοι οι κόμβοι. 3.3 Περιγραφή του layered αλγορίθμου Στην αρχη του προηγούμενου κεφαλαίου αναφέραμε ότι η layered αποκωδικοποίηση εκμεταλλεύεται την δομή των πινάκων ισοτιμίας στους LDPC κώδικες, που στην περίπτωση μας αφορούν κώδικες για το standard n. Ό πίνακας ισοτιμίας για τον κώδικα με n=1944 μπορεί να γραφτεί στην παραπάνω συμπτυγμένη μορφή : Σχήμα 3.2 : Πίνακας ελέγχου ισοτιμίας για WiFi n, code 1944 rate 1/2 Ο παραπάνω πίνακας ονομάζεται πίνακας βάσης H b και αποτελείται απο 24 στήλες και ( 1 R )*24 γραμμές, όπου R το rate του κώδικα. Στην συγκεκριμένη περίπτωση το rate όπως εύκολα φαίνεται είναι ½. Κάθε στοιχείο του παραπάνω πίνακα είναι ένας κυκλικά ολισθημένος μοναδιαίος υποπίνακας μεγέθου z x z ( z = 81 για τον συγκεκριμένο 1944 κώδικα ). Ο αριθμός δηλώνει τον συντελεστή ολίσθησης ενώ αν είναι το στοιχείο είναι κενό ( ή πιο συνηθισμένα ο αριθμος -1 ) τότε αντι για μοναδιαίο ολισθημένο πίνακα έχουμε εναν μηδενικό z x z πίνακα.ο αριθμός z, όπως θα δούμε και στο επόμενο κεφάλαιο, καθορίζει τον βαθμο παραλληλίας ( δηλαδή τον αριθμό των VPU και CPU ). 23

24 Ο αλγόριθμος που χρησιμοποιήθηκε[18], όπως αναφέραμε παραπάνω, είναι ο min-sum και η βασική δομή του είναι η εξής : Αρχικοποίηση min1=min2= Inf #μέγιστη τιμή που μπορεί να του δοθεί LLR= channel inputs Sv = LLRv 0 0 R v f= Αποκωδικοποίηση 2 φάσεων for k= 1,2. 10 for i= 1, # όπου 10 ο maximum αριθμός επαναλήψεων #όπου 12 είναι ο αριθμός των γραμμών -layers Ενημέρωση των variable node for j=1,2 24 #όπου 24 είναι ο αριθμός των στηλών if Hb(i,j) 0 for all check nodes f for all variable nodes v if H( f, v) = 1 end if end for v end for f end for j S k v = S k k 1 v R f v k Q v f = S v k k temp_min = Q v f min1 = min[ temp_min, min(min1,min2) ] min2 = min[ temp_min, max(min1,min2) ] k signf = signf sign ( Q v f ) 24

25 Ενημέρωση των check node for j= 1,2,. 24 if Hb(i,j) 0 for all check nodes f for all variable nodes v if H( f, v ) = 1 k if Q v f = min1 k R f v k = signf sign ( Q v f ) min1 else k R f v k = signf sign ( Q v f ) min2 end if S k v = S k k v + R f v end if end for v Initialize min1,min2, sign values endd for f end for j end for i end for k Hard decision for all variable nodes v decoded_bitv = sign ( Sv ) end for v 25

26 3.5 Αποτελέσματα προσομοίωσης του μοντέλου Στα επόμενα διαγράμματα φαίνονται τα αποτελέσματα της προσομοίωσης του αλγορίθμου που περιγράψαμε στο περιβάλλον της Matlab. Ο κώδικας που προσομοιώθηκε είναι ο 648, rate ½. Τα data bits δημιουργήθηκαν με random generation και στην συνέχεια με χρήση του αντικειμένου LDPCEncoder του communication toolbox του MATLAB κωδικοποιήθηκαν κατάλληλα ώστε να προκύψει μια valid κωδική λέξη ( codeword ). Στη συνέχεια, χρησιμοποιήθηκε BPSK modulation για την διαμόρφωση της και η τελικη διαμορφωμένη λέξη αλλοιώθηκε με χρήση μοντελοποιημένου AWGN καναλιού. Προσομοιώθηκαν 3 πιθανά σενάρια, ανάλοα με το πλήθος των bits τα οποία χρησιμοποιήθηκαν για την αναπαράσταση των εκτιμήσεων κάθε συμβόλου : 1. Άπειρη ακρίβεια ( 64 bits ) bits ( 8 για το ακέραιο μέρος και 8 για το δεκαδικό ) 3. 8 bits ( 4 για το ακέραιο μέρος και 4 για το δεκαδικό ) Τα διαγράμματα παρουσιάζουν την σχέση ανάμεσα στο BER ( bit error rate ) συναρτησει του SNR ( signal to noise ratio ) και προέκυψαν από τον μέσο όρο 500 frames τα οποία αποκωδικοποιήθηκαν : Σχ 3.3 : Bit error rate plot με άπειρη ακρίβεια 26

27 Σχ 3.4 : Bit error rate plot με clipping στα 16 bits Σχ 3.5 : Bit error rate με clipping στα 8 bit 27

28 Κεφάλαιο 4 : Αρχιτεκτονική υλικού 4.1 Αρχιτεκτονικές LDPC αποκωδικοποιητών Ήδη απο την παραπάνω ενότητα που έγινε μια εισαγωγή για την τεχνική του layered decoding, γίνεται κατανοητό ότι έχουν αναπτυχθεί διαφορετικές αρχιτεκτονικές αποκωδικοποιητών ανάλογα με την εκάστοτε εφαρμογή. Οι 2 βασικές κατηγορίες αρχιτεκτονικών είναι οι fully parallel, όπου όλοι οι υπολογισμοί γίνονται ταυτόχρονα και οι hardware-sharing όπου ο αριθμός των κόμβων μεταβλητής και ελέγχου δεν ταυτίζονται με τις γραμμές και τις στήλες του πίνακα ισοτιμίας Fully-parallel αρχικτετονικές Η αρχικτεκτονική αυτή είναι η πιο προφανής, αφού όλοι οι κόμβοι ελέγχου και μεταβλητής που εμφανίζονται στο διάγραμμα Tanner υλοποιούνται κατευθείαν στο hardware. Με αυτόν τον τρόπο όλοι οι υπολογισμοί, δηλαδή τα check-to-variable και τα variable-to-check μηνύματα, γίνονται παράλληλα με αποτέλεσμα να μην χρειάζεται παραπάνω απο ένας κύκλος ρολογιού για κάθε φάση της αποκωδικοποίησης. Όπως γίνεται αντιληπτό, αυτό έχει ως αποτελέσμα την ιδιαίτερα μεγάλη ταχύτητα αποκωδικοποίησης χωρίς ιδιαίτερη πολυπλοκότητα αφού οι κόμβοι μεταξύ τους είναι hardwired. Η φύση αυτής της αρχικτονικής όμως αυξάνει κατά πολύ την απαίτηση σε επιφάνεια, όπου το μεγαλύτερο μέρος της καταλαμβάνουν τα καλώδια που ενώνουν μεταξύ τους τα 2 σετ κόμβων ( routing ). Σημαντικό επίσης μειονέκτημα της πλήρως παράλληλης αρχιτεκτονικής είναι η αδυναμία υποστήριξης διαφορετικών κωδίκων καθώς οι διασυνδέσεις είναι προκαθορισμένες απο την αρχή της υλοποίησης και δεν μπορούν να αλλάξουν. Σχ 4.1 : Fully-Parallel αρχιτεκτονική 28

29 4.1.2 Hardware sharing αρχιτεκτονικές Στην αντίπερα όχθη, υπάρχουν οι hardware sharing αρχιτεκτονικές όπου γίνεται χρήση κοινών πόρων από τους κόμβους και η οποία ελέγχεται απο μια κεντρική μονάδα ελέγχου.σε αυτή την περίπτωση, η προφανής λύση θα ήταν η πληρώς σειριακή ( serial ) αρχιτεκτονική, όπου υπάρχει μόνο ένας κόμβος ελέγου και ένας κόμβος μεταβλητής. Η επικοινωνία τους ρυθμίζεται απο μια μονάδα ελέγχου που φροντίζει για τον χρονοπρογραμματισμό της διαδικασίας ενώ επίσης υπάρχει και μια μονάδα μνήμης στην οποία αποθηκεύονται τα μηνύματα ώστε να μπορούν να χρησιμοποιηθούν από τον εκάστοτε κόμβο. Σχ 4.2 : Fully-serial αρχιτεκτονική Η αρχιτεκτονική αυτή μειώνει αισθητά την επιφάνεια καθώς υπάρουν μόνο 2 κόμβοι ( ένας μεταβλητής και ένας ελέγχου ) και συνεπως λίγα μόνο καλώδια. Η επιφάνεια σε αυτού του είδους τους αποκωδικοποιητές καταναλώνεται κυρίως στην μονάδα μνήμης. Η ύπαρξη όμως μόνο αυτών των 2 κόμβων επιβραδύνουν σε τεράστιο βαθμό την ταχύτητα της αποκωδικοποίησης καθώς κάθε κόμβος μπορεί να στέλνει ή να λαμβάνει μόνο ένα μήνυμα σε κάθε κύκλο. Για αυτόν τον λόγο, υπάρχει μια ακόμα αρχιτεκτονική βασισμένη στον διαμοιρασμο των πόρων, η partially parallel αρχιτεκτονική. Πρόκεται για μια ευέλτικη αρχιτεκτονική, στην οποία υλοποιείται μόνο ενα υποσύνολο κόμβων ελέγχου και μεταβλητών ανάλογα με συγκεκριμένα χαρακτηριστικά του πίνακα ισοτιμίας όπως πχ το μέγεθος των υποπινάκων z. Με αυτον τον τρόπο συνεχίζουμε να έχουμε αρκετά μικρότερη επιφάνεια αλλά επίσης έχουμε και αποδεκτή ταχύτητα αποκωδικοποίησης. 29

30 Σχ 4.3 : Partially-parallel αρχιτεκτονική Όπως αναφέραμε και παραπάνω, ένα από τα μεγάλα πλεονεκτήματα των hardware sharing αρχιτεκτονικών είναι η μειωμένη επιφάνεια σε σχέση με την πλήρως παράλληλη αρχιτεκτονική. Ένα εξίσου σημαντικό πλεονέκτημα είναι η υποστήριξή πολλαπλών κωδίκων η οποία γίνεται εφικτή χαρη στο δίκτυο διασύνδεσης το οποίο δεν είναι πλέον υλοποιημένο με καλώδια αλλά στηρίζεται σε έναν barrel shifter όπως θα δούμε παρακάτω. Έτσι, είναι δυνατόν κάθε φορά ανάλογα με τις τιμές του πίνακα ισοτιμίας να έχουμε διαφορετικές διασυνδέσεις μεταξύ των κόμβων ελέγχου ( CPU ) και κόμβων μεταβλητής ( VPU ). Ο αποκωδικοποιητής που σχεδιάστηκε για αυτή την εργασία στηρίζεται σε partially- parallel, hardware sharing αρχιτεκτονική η οποία θα παρουσιαστεί αναλυτικότερα στην συνέχεια. 30

31 4.2 Χρησιμοποιούμενη αρχιτεκτονική Ο αποκωδικοποιητής που υλοποιήσαμε χρησιμοποιείται για την αποκωδικοποίηση του κώδικα 648, rate ½ του WiFi standard n. Παρακάτω παρουσιάζεται το top level μπλοκ διάγραμμα της αρχιτεκτονικής : Σχ 4.4 : Hardware sharing αρχιτεκτονική που υλοποιήθηκε 31

32 Όπως φαίνεται και στο block διάγραμμα, τα βασικά υποκυκλώματα του αποκωδικοποιητή είναι : 1. VPU ( Variable process unit ) network 2. CPU ( Check process unit ) network 3. Permutation network 4. Control unit Στο VPU network ανήκει το σύνολο των κόμβων μεταβλητής. Σε αυτό το υποκύκλωμα γίνεται ο υπολογισμός των variable- to check μηνυμάτων καθώς και ο υπολογισμός του hard decision vector, δηλαδή του διανύσματος που προκύπτει απο τις εκτιμήσεις μετά απο κάθε επανάληψη με την μέθοδο του bit flipping. Για την συγκεκριμένη αρχιτεκτονική ο αριθμός των VPU είναι 24, που συμπίπτει με τον αριθμό στηλών του πίνακα βάσης H b του κώδικα 648 ( αλλά και γενικότερα όλων των κωδίκων που ανήκουν στο standard WiFi n ). Τέλος, στο συγκεκριμένο υποκύκλωμα και κατα την διάρκεια του initialization ( δηλαδή πριν την 1 η επανάληψη κάθε λέξης προς αποκωδικοποίηση ) εισέρχονται σειριακά απο το κανάλι τα LLRs ( Log- Likelihood ratios ) που αναπαριστούν τις εκτιμήσεις κάθε ψηφίου, αφού έχουν υποστεί αλλοίωση απο το κανάλι. Στο CPU network αντίστοιχα ανήκει το σύνολο των κόμβων ελέγχου, όπου γίνεται ο υπολογισμός των μηνυμάτων check to variable. Ο αριθμός των διακριτών check variable unit είναι 27, που αντιστοιχεί στο μέγεθος z των υποπινάκων που αποτελούν τα στοιχεία του πίνακα βάσης ( υπενθυμίζουμε ότι ο πίνακας βάσης H b έχει ως στοιχεία υποπίνακες μεγέθους z x z, που ο καθένας απο αυτούς είναι ενας ολισθημένος μοναδιαίος πίνακας ή μηδενικός πίνακας ). Το permutation network, όπως θα δούμε αναλυτικά στην συνέχεια, αποτελείται απο στάδια πολυπλεκτών ενωμένα κατάλληλα ώστε να υλοποιείται η απαραίτητη ολίσθηση, σύμφωνα πάντα με τους παράγοντες ολίσθησης του πίνακας βάσης. Στα block διαγράμματα που ακολουθούν, για λόγους ευκολίας, έχουν παραληφθεί τα σήματα ελέγχου στα επιμέρους blocks κάθε κυκλώματος τα οποία κατα κύριο λόγο προέρχονται απο το Control Unit. 32

33 4.2.1 VPU Variable process unit Στο συγκεκριμένο κομμάτι του κυκλώματος, γίνεται ο υπολογισμός των variable-to-check μηνυμάτων Qji καθώς και του hard decision vector, δηλαδή της διορθωμένης κωδικής λέξης μετά απο κάθε υποεπανάληψη. Σχ 4.5 : Variable Process Unit ( VPU ) n Το μήνυμα R ij που δέχεται o κόμβος μεταβλητής, για κάθε επίπεδο ( layer ), αποθηκεύέται σε μια RAM ενημερώνοντας την προηγούμενη τιμη ( προφανώς κατα την πρώτη επανάληψη, η τιμή σε κάθε θέση της RAM είναι μηδεν). Στην συνέχεια, το ίδιο μήνυμα αθροίζεται με την έξοδο του πολυπλέκτη, η οποία είτε έχει την τιμή των εκτιμήσεων που προκύπτουν απο το AWGN κανάλι αν πρόκειται για την πρώτη επανάληψη είτε την προηγούμενη τιμή του variable-to-check μηνύματος Qji για όλες τις επομένες επαναλήψεις. Από το άθροισμα αυτό προκύπτει η τιμή του hard decision vector, η οποία ουσιαστικά ισοδυναμεί με το MSB ( most significant bit ) κάθε μηνύματος, αφου αν το MSB είναι 1 ο αριθμός είναι αρνητικός ενώ σε αντίθετη περίπτωση θετικός. Για να προκύψει το ανανεώμενο Qji ( variable-to-check) μήνυμα, αρκεί απο το προηγούμενο άθροισμα να αφαιρέσουμε την κατάλληλη τιμή Rij_prev δηλαδή την τιμή 33

34 του check-to-variable μηνύματος που δέχτηκε ο ίδιος κόμβος μεταβλητής κατά την προηγούμενη επανάληψη για το συγκεκριμένο layer. Το μήκος λέξης κάθε εκτίμησης για ένα ψηφίο είναι 8 bits (4 ακέραια και 4 δεκαδικά). Για τον συγκεκριμένο κώδικα που υλοποιήθηκε ( 648 με rate ½ ), κάθε μια απο τις 24 VPUs περιέχει 27 banks για τα μηνύματα Qji ( όσο δηλαδή το μέγεθος των υποπινάκων, z) όπου με κατάλληλο τρόπο ( μέσω του permutation network που θα αναλυθεί στην συνέχεια) συνδεόνται οι 27 CPUs σύμφωνα πάντα με τους συντελεστές του πίνακα βάσης H b CPU - Check Proccess Unit Παρακάτω ακολουθεί το block διάγραμμα για το CPU module,το οποίο υλοποιεί τον αλγόριθμο min-sum. Για μεγαλύτερη ευκολία στην κατανόηση απουσιάζουν τα περισσότερα σήματα ελέγχου στα επιμέρους block καθώς και block μικρής σημασίας, όπως πχ ο υπολογισμός της απόλυτης τιμής για την εύρεση των ελάχιστων τιμών. Σχ 4.6 : Check Proccess Unit ( CPU ) 34

35 Η λειτουργία του συγκεκριμένου block είναι η εξής : Αρχικά, τα variable-to-check μηνύματα που προέρχονται τις VPU και αφού πρώτα έχουν υποστεί την κατάλληλη ολίσθηση, εισέρχονται στο CPU. Με την κατάλληλη λογική, για την οποία φροντίζει το logic block 1, κάθε μια απο τις maximum 24 εκτιμήσεις ψηφίων ( στην πραγματικότητα είναι 22, πραγμα το οποίο συμβαίνει για κώδικες με rate 5/6 ) πηγαίνει διαδοχικά προς επεξεργασία. Για κάθε τέτοια εκτίμηση, με χρήση comparators, υπολογίζουμε αν αποτελεί την μικρότερη ή δεύτερη μικρότερη ( κατα απόλυτη τιμη ) εκτίμηση και σε τέτοια περίπτωση καταχωρείται στον κατάλληλο register ( min1 και min2 ). Ταυτόχρονα, μέσω της πύλης XOR συνυπολογίζεται το συνολικό πρόσημο των μηνυμάτων που φτάνουν στην εν λόγω CPU με χρήση του τρέχοντος προσήμου και όλων των προηγουμένων. Αφου πλέον έχουν υπολογιστεί οι 2 ελάχιστες τιμές, προχωράμε στον υπολογισμό του μηνύματος Rij που θα αποσταλεί στους κατάλληλους κόμβους μεταβλητής. Εδώ διακρίνονται 2 περιπτώσεις : 1. Αν τα 2 ελάχιστα είναι ίσα μεταξύ τους, τότε κάθε Rij μήνυμα θα έχει αυτή την ελάχιστη τιμή με το κατάλληλο πρόσημο. Αυτό το πρόσημο υπολογίζεται στο logic block 2, με χρήση του συνολικού προσήμου ( σήμα sign ) αλλά και του προσήμου απο το αντίστοιχο μήνυμα Qji. Στο εν λόγω μπλοκ, πέρα απο την προφανή πύλη XOR που θα συνοπολογισει τα 2 σημάτα προσήμων, υπάρχει επιπλεόν λογική ώστε να χρησιμοποιηθεί το σωστό πρόσημο απο το bus Qji που περιέχει 24 εκτιμήσεις. Τέλος στο logic block 4, ανάλογα με την τιμή του προσήμου που προκύπτει απο το logic block 2, υπολογίζουμε την τελική τιμή του εκάστοτε Rij μηνύματος. Αν το πρόσημο είναι 0 ( δηλαδή θετικός αριθμός ), τότε η έξοδος του block είναι η ελάχιστη τιμή ενω αν ο αριθμός είναι αρνητικός η έξοδος θα είναι το συμπλήρωμα του 2 του εν λόγω αριθμού. 2. Αν τα 2 ελάχιστα είναι διαφορετικά μεταξύ τους, τότε για να σταλεί το σωστό μήνυμα ( ώστε να μην υπάρχει συσχέτιση μεταξύ των ανταλλασόμενων μηνυμάτων ) θα πρέπει να χρησιμοποιηθεί το logic block 3. Μέσω του συγκεκριμένου μπλοκ, κάθε ξεχωριστό Qji μήνυμα ελέγχεται ώστε να διαπιστωθεί αν κατα απόλυτη τιμή είναι ίσο με την ελάχιστη τιμή ( min1 ). Σε αυτή την περίπτωση, η τιμή που θα πρέπει να σταλεί ως Rij μήνυμα είναι η δεύτερη ελάχιστη ( min2). Η υπόλοιπη διαδικασία, παραμένει η ίδια όπως και στην προηγούμενη περίπτωση. 35

36 Στο τέλος, το εκάστοτε Rij μήνυμα εισέρχεται σε έναν shift register ο οποίος μετά απο συγκεκριμένους κύκλους θα έχει αποκτήσει την επιθυμητή τιμή και θα προωθήσει το τελικό Rij vector προς τις κατάλληλες VPU με τις οποίες συνδέεται ώστε να συνεχίσει η διαδικασία της αποκωδικοποίησης. Το συνολικό μήκος του vector ( δηλαδή όλα τα Qji μηνύματα των VPU που συνδέονται με μια συγκεκριμένη VPU ) είναι 192 bits. Αυτά αντιστοιχούν σε 24 variable-to-check μηνύματα που το καθένα έχει μήκος 8 bits ( όπως προαναφέραμε 4 ακέραια και 4 δεκαδικά ψηφία ). Με σωστή χρήση των εξωτερικών σημάτων ελέγχου ( από το Control Unit ) αλλά και εσωτερικών, έχουμε τη δυνατότητα να επεξεργαστούμε κάθε 8-άδα bits με την σειρά και στο τέλος να συνθέσουμε το συνολικό vector, που έχει και αυτό μήκος 192 bits. 36

37 4.2.3 Permutation network Το permutation network, το οποίο παρεμβάλεται μεταξύ των 2 επεξεργαστικών δικτύων ( VPU και CPU ) είναι υπεύθυνο για την σωστή μετατόπιση/ολίσθηση των μηνυμάτων σε ένα bus ώστε να υλοποιείται η σωστή σύνδεση μεταξύ των κόμβων μεταβλητής και ελέγχου. Για την υλοποίηση του χρησιμοποιήσαμε έναν Logarithmic Barrel Shifter ( LBS ). Η δομή των τετραγωνικών υποπινάκων που αποτελούν τα στοιχεία του πίνακα Hb και ουσιαστικά είναι ολισθημένοι μοναδιαίοι ή μηδενικοί πίνακες μας οδηγούν στην επιλογή του LBS[19]. Σχ 4.7 : Permutation network, 6 εισόδων/εξόδων 37

38 Ο LBS αποτελείται ουσιαστικά απο ένα δίκτυο πολυπλεκτών, χωρισμένες σε στάδια. Για Ν εξόδους και εισόδους, ο αριθμός των σταδίων είναι ίσως με log 2 N. Ο πολυπλέκτης i ( i 0 N-1 ) του σταδίου k ( k 0 log 2 N -1 ) έχει ως εισόδους τις εξόδους i και mod( i + s, N ) του προηγούμενου σταδίου πολυπλεκτών, όπου s=2 k. To N στην περίπτωση μας ταυτίζεται με το z, δηλαδή το μέγεθος των τετραγωνικών υποπινάκων. Για z = 6, τα απαιτούμενα στάδια πολυπλεκτών είναι log 2 6 = 2.58 = 3. Αν κάθε συντελεστή ολίσθησης ( τα στοιχεία του πίνακα βάσης ), τον αναπαραστήσουμε σε δυαδική μορφή ( πχ ) και πάρουμε το λιγότερο σημαντικό bit ως σήμα ελέγχου για το πρώτο στάδιο πολυπλεκτών ( Στάδιο 0 ), το αμέσως επόμενο λιγότερο σημαντικό bit ως σήμα ελέγχου για το επόμενο στάδιο ( Στάδιο 1 ) κλπ τότε ο barrel shifter θα εκτελεί την ( δεξιά ) ολίσθηση που είναι απαραίτητη ώστε να συνδεθούν κατάλληλα οι κόμβοι ελέγχου και μεταβλητής σε κάθε layer. Στην προηγούμενη εικόνα, για παράδειγμα, έχουμε συντελεστή ολίσθησης 2 ( 2 = 010 ) και συνεπώς έχουμε σήμα select 0 στο 1 ο στάδιο, 1 στο 2 ο και 0 στο τρίτο και τελευταιό. Ένα δεξιά κυκλικά ολισθημένο μητρώο κατά 2, διαστάσεων 6x6 έχει την παρακάτω μορφή. Σχ 4.8 : Δεξία κυκλικά ολισθημένο μητρώο, με συντελεστή ολίσθησης 2 38

39 Όπως εύκολα γίνεται αντιληπτό, αν ακολουθήσουμε την συνδεσμολογία που αναφέραμε παραπάνω πετυχαίνουμε την επιθυμητή ολίσθηση. Για παράδειγμα, η είσοδος In_0 του 1 ου σταδίου συνδέεται στους πολυπλέκτες 0 και 5. Λόγω του select = 0, συνεχίζει μέσω το πολυπλέκτη 0 στο επόμενο στάδιο. Σε αυτό το στάδιο ( Στάδιο 2 ), συνδέεται στις εισόδους των πολυπλεκτών 0 και 4 και λόγω του select = 1, προωθείται ως έξοδος απο τον πολυπλέκτη 4. Στο τελευταίο στάδιο, λόγω του select = 0, το In_0 τελικά θα αποτελέσει την έξοδο πάλι του πολυπλέκτη 4, δηλαδη θα είναι η έξοδος Out_4. Όπως φαίνεται και στο Σχ4.7, για είσοδο στον πολυπλέτη 0 πράγματι πρέπει να πάρουμε έξοδο στον πολυπλέκτη 4. Η παραπάνω συνδεσμολογία αφορά την ολίσθηση για την αποστολή των variable-to-check μηνυμάτων. Για την αντίστροφη διαδικάσια, δηλαδη την αποστολή των check-to-variable μηνυμάτων, αρκεί να ορίσουμε ως σήματα ελέγχου τα bits της λεξής z coeff ( coeff = συντελεστής ολίσθησης ). Στην περίπτωση μας, αυτη η τιμή θα ήταν 6-2 = Αν εφαρμόσουμε αντίστοιχα λοιπόν αυτά τα bits ως σήματα select στα στάδια των πολυπλεκτών, έχουμε την δυνατότητα να στείλουμε σωστά τα μηνύματα απο τους κόμβους ελέγχου στους κόμβους μεταβλητής. Στην υλοποίηση της παρούσας εργασίας, όπου το μέγεθος των υποπινάκων είναι z=27, θα χρειαστούν log 2 27 = 4.75 = 5 στάδια πολυπλεκτών και φυσικά 27 πολυπλέκτες σε κάθε στάδιο Top level Στο top level του κυκλώματος, γίνονται τα instantiations των παραπάνω μονάδων, και συγκεκριμένα 24 VPU και 27 CPU. Επίσης, εκεί υλοποιείται και το υποσύστημα ελέγχου που ουσιαστικά αποτελείται απο μια FSM ( Finite State Machine ) και τα απαραίτητα σήματα ελέγχου τα οποία αφενός ελέγχουν τις μεταβάσεις της και αφετέρου ορισμένα απο αυτά αποτελουν είσόδους στα προαναφερθέντα υποκυκλώματα. Παρακάτω θα εξηγήσουμε τις διαφορετικές καταστάσεις της FSM καθώς και τον χρονοπρογρογραμματισμό των πράξεων κατα την διάρκεια αποκωδικοποίησης ενός frame, δηλαδή μια κωδικής λέξης. 39

40 4.2.5 Διαδικασία αποκωδικοποίησης και χρονικός προγραμματισμός λειτουργειών Οι διακριτές καταστάσεις της FSM είναι 7 και οι μεταβάσεις έχουν την σειρά που φαίνεται παρακάτω: 1. INIT ( initilization ) : Σε αυτή την κατάσταση, ο αποκωδικοποιητής ετοιμάζεται να δεχτεί την λέξη για αποκωδικοποίηση. Συγκεκριμένα, δέχεται σειριακά τις εκτιμήσεις απο το κανάλι ( LLRs ) καθώς και τα bits της αναλλοίωτης λέξης που μεταδόθηκε απο το κανάλι ( δηλαδή την σωστή λέξη ) ώστε στο τέλος της εκάστοτε αποκωδικοποίησης να υπολογιστεί ο αριθμός των λαθών. Η μετάβαση στην επόμενη κατάσταση γίνεται μετά απο 648 κύκλους, όσα δηλαδή και τα bits της κωδικής λέξης. 2. V2C ( variable to check ) : Η επομένη σε σειρά κατάσταση είναι αυτή της αποστολής μηνυμάτων απο τους κόμβους μεταβλητής στους κόμβους ελέγχου. Σε αυτή την κατάσταση, τα μηνύματα που έχουν προέλθει απο τους κόμβους ελέγχου ( check-to-variable μηνύματα - R ij ) προστίθενται στα μηνύματα Q ji της προηγούμενης επανάληψης ώστε να προκύψουν οι νέες εκτιμήσεις για κάθε ψηφίο ( 1 κύκλος ) και στην συνέχεια τα R ij της προηγούμενης επανάληψης αφαιρούνται απο το παραπάνω άθροισμα δημιουργώντας τα ανανεωμένα Q ji μηνύματα ( 1 κύκλος ). Όπως αναφέραμε προηγουμένως, κάθε μια απο τις 24 VPU έχει 27 banks ώστε να καλυφθούν και τα 648 ψηφία της κωδικής λέξης. Συνεπως, η διάρκεια της συγκεκριμένης κατάστασης είναι 2*27 = 54 κύκλοι ρολογιού. 3. PERMUTE : Όπως γίνεται εύκολα κατανοητό απο το όνομα της κατάστασης, εδώ γίνεται η ολίσθηση των Q ji μηνυμάτων σύμφωνα με τους συντελεστές ολίσθησης του πίνακα βάσης. Κάθε vector ( μεγέθους 8*27) bits απο τις VPU εισέρχεται διαδοχικά στον permutation network barrel shifter. Στον πρώτο κύκλο ρολογιού, ολόκληρο το vector ( που αποτελείται απο z =27 μηνύματα ) τοποθετείται προσωρινά σε buffer και στον επόμενο το επιθυμητό ολισθημένο vector τοποθετείται σε έναν δεύτερο buffer, ο οποίος θα χρησιμοποιηθεί ως είσοδος στιν μονάδες CPU. Συνολικά λοιπόν, για τις 24 VPU, χρειάζονται 2*24 = 48 κύκλοι ρολογιού. 40

41 4. C2V ( check to variable ) : Η επόμενη κατάσταση είναι αυτή του υπολογισμού και αποστολής των μηνυμάτων απο τους κόμβους ελέγχου στους κόμβους μεταβλητής. Κάθε μονάδα CPU ( σύνολο 27 θυμίζουμε ) δέχεται σε ενα ενιαίο vector 24 ( ολισθημένα μηνύματα ). Στους πρώτους 24 κύκλους που διαρκεί η συγκεκριμένη κατάσταση, υπολογίζονται οι 2 ελάχιστες τιμές των μηνυμάτων καθώς και το συνολικό πρόσημο του vector. Στην συνέχεια, και για άλλους 24 κύκλους ) υπολογίζεται το εκάστοτε R ij μήνυμα βάσει των ελαχίστων τιμών και του προσήμου. Στο τέλος της διαδικασίας, όλα τα μηνύματα check-to-variable αποθηκεύονται σε έναν register και προωθούνται εκ νέου στον barrel shifter. Συνεπώς, ο συνολικός αριθμός κύκλων ρολογιού που απαιτείται για την ολοκλήρωση της διαδικασίας και την μετάβαση στην επόμενη κατάσταση είναι = 48 κύκλοι ρολογιού. 5. DEPERMUTE : Η ίδια διαδικασία που ακολουθήθηκε στην κατάσταση PERMUTE, επαναλαμβάνεται και εδώ με την μόνη διαφορά ότι αλλάζει ο συντελεστής ολίσθησης που χρησιμοποιείται ως είσοδος στον barrel shifter ( σύμφωνα με αυτά που είπαμε στο κεφάλαιο ). Άρα και εδώ απαιτούνται 48 κύκλοι. 6. EARLY TERMINATION : Σε αυτή την κατάσταση, υπολογίζουμε αν θα έχουμε πρόωρο τερματισμό κατά τη διάρκεια αποκωδικοποίησης μιας λέξης ( θα αναφέρουμε περισσότερα στο επόμενο κεφάλαιο ). Για την διαδικασία αυτή, χρειάζονται περίπου 2700 κύκλοι. 7. ERROR CALCULATION : Η τελευταία κατάσταση στην οποία μεταβαίνει η FSM είναι αυτή του υπολογισμού λαθών. Κατά την υλοποίηση,και για λόγους κυρίως εκσφαλμάτωσης, η μετάβαση σε αυτή την κατάσταση γινόταν στο τέλος κάθε επανάληψης. Στην πραγματικότητα, είναι αναγκαίο να μεταβεί εκει η FSM μόνο όταν έχει ολοκληρωθεί το προκαθορισμένο πλήθος επαναλήψεων ή αποφασιστεί ( μέσω του early termination ) ότι η αποκωδικοποιήσει πρέπει να τερματιστεί. Σε κάθε περίπτωση, η διαδικασία υπολογισμού λαθών διαρκεί 649 κύκλους, εκ των οποίων ο πρώτος χρησιμεύει για να γίνει μια bit-wise XOR πραξή μεταξύ της σωστής λέξης και του vector που προήλθε απο το hard decision. Μετά απο αυτή την πράξη καταλήγουμε σε ένα vector το οποίο,για όσα bit ήταν διαφορετικά ανάμεσα στα 2 προαναφερθέντα vector έχει 1 στο αντίστοιχο bit του ενώ για ίδια bit έχει 0. 41

42 Οι υπόλοιποι 648 κύκλοι ( όσο το μήκος του vector ) προφανώς αναλώνονται στο να αθροιστεί ο αριθμός των άσων σε αυτο το vector, άθροισμα το οποίο μας δίνει τον συνολικό αριθμό των λαθών. Ο συνολίκος αριθμός των κύκλων ρολογιού για μια επανάληψη, δηλαδή 12 layers, είναι *( ) = 6373 κύκλοι ρολογιού, όπου στην κατάσταση INIT η FSM μεταβαίνει μόνο κατά την 1 η επανάληψη κάθε frame ενω στις καταστάσεις EARLY TERMINATION και ERROR CALCULATION μεταβαίνει μόνο μια φορά σε κάθε επανάληψη και όχι σε κάθε υποεπανάληψη ( layer). 42

43 4.3 Παραλλαγή αρχιτεκτονικής με χρήση κριτηρίου τερματισμού Ένα επιπλέον υποκύκλωμα που σχεδιάστηκε και ενσωματώθηκε στην συγκεκριμένη υλοποίηση είναι αυτό που χειρίζεται το λεγόμενο early termination. Σύμφωνα με την εξίσωση : Η c i T = 0 που συναντήσαμε και στο 2 ο κεφάλαιο, αν το γινόμενο του πίνακα ισοτιμίας και του hard decision vector που παράγεται μετά απο κάθε επανάληψη είναι ίσο με 0 τότε έχουμε καταλήξει σε valid codeword. Συνεπώς, δεν υπάρχει ανάγκη να συνεχιστεί η διαδικασία της αποκωδικοποίησης. Με αυτόν τον τρόπο, αφενός εξοικονομούμε ενέργεια εφόσον δεν γίνονται περιττές επαναλήψεις και επιπλέον αυξάνεται δραστικά του throughput λόγω του - αρκετά-μικρότερου αριθμού επαναλήψεων ανά frame που αποκωδικοποιείται. Σχ 4.9 : Early termination block diagram 43

44 Η λειτουργία του εν λόγω κυκλώματος έχεις ως εξής : Κατα την διάρκεια της αρχικοποίησης ( initialization ) όλου του κυκλώματος, το συγκεκριμένο υποκύκλωμα υπολογίζει και αποθηκεύει ( με βάση τον πίνακα Hb ) την θέση και την τιμή όλων των συντελεστών ολίσθησης. Στην συνέχεια, και κάθε φορά που η FSM στο top level μεταβαίνει στην κατάσταση EARLY TERMINATION, οι συντελεστές που αποτελούν μια γραμμήlayer του πίνακα εισέρχονται διαδοχικά στο logic block. Εκεί, με την βοήθεια των σημάτων ελέγχου ( layer counter και z counter ) και των συντελεστων ολίσθησης επιλέγεται ένα συγκεκριμένο bit απο το hard decision vector ( logic out ) και συναθροίζεται με την ήδη υπάρχουσα τιμή στους καταχωρητές bank. Οι καταχωρητές αυτοί αποτελούν ουσιαστικά accumulators, οι οποίοι περιέχουν το άθροισμα των άσσων που προκύπτει απο τον πολλαπλασιασμό του hard decision vector και κάθε γραμμής του ( ανεπτυγμένου ) πίνακα ισοτιμίας H. Στο τέλος, κάθε bank ελέγχεται για άρτια ισοτιμία ( μέσω της modulo 2 πράξης ). Αν όλοι οι accumulators bank έχουν τιμή 0, τότε έχουμε καταλήξει σε έγκυρη κωδική λέξη και η αποκωδικοποίηση τερματίζεται. Πιο συγκεκριμένα, για την λειτουργία του logic block : Έστω ότι έχουμε έναν πίνακα βάσης, του οποίου η πρώτη γραμμή - layer περιέχει τα στοιχεία [ ] και κάθε στοιχείο είναι ενας ολισθημένος πίνακας z x z, μεγέθους 3. Συνεπώς, ο ανεπτυγμένος πίνακας ισοτιμίας είναι ο : Επίσης έχουμε και το hard decision vector με στοιχεία : [ ] T Σύμφωνα με αυτά που αναφέραμε παραπάνω, γνωρίζουμε ότι οι θέσεις ( positions) που περιέχουν μη-αρνητικούς συντελεστές ολίσθησης ειναι οι 0, 1 και 2 και το βάρος της γραμμής layer είναι ίσο με 3. Για τον πρώτο συντελεστή ( στην θέση 0 ) και για i =0 ( δηλαδη για την πρώτη γραμμή του ανεπτυγμένου πίνακα ) στην έξοδο θα προωθηθεί το bit 0 ( το most significant bit ) : 44

45 και θα συναθροιστεί με το προηγούμενο περιεχόμενο του accumulator bank0. Στην συνέχεια, λόγω του δεύτερου συντελεστή θα επιλεγεί το bit που αντιστοιχεί στην θέση i + z*positions + coefficient (mod N) = 0 + 3*1 + 2mod3 = 5 το οποίο και αυτό θα συναθροιστεί στο bank0, το οποίο έχει πλέον τιμή 2. Τέλος, για τον τρίτο συντελεστή που βρίσκεται στην θέση 2, επιλέγεται απο το hard decision vector ( σύμφωνα με τον παραπάνω τύπο ) το bit 0 + 3*2 + 1mod3= 7, ολοκληρώνοντας έτσι την διαδικασία για τον υπολογισμό της τιμής στην bank0. Για τις υπόλοιπες 2 γραμμές του ανεπτυγμένου πίνακα ( που ανήκουν και αυτές στο ίδιο layer ), ακολουθείται ακριβώς η ίδια διαδικασία αυξάνοντας κάθε φορα κατά 1 την τιμή της μεταβλητής z. Αφού ολοκληρωθούν οι υπολογισμοι για τις 3 γραμμές η τιμή του z μηδενίζεται, το σήμα ελέγχου που δείχνει το τρέχον layer αυξάνεται κατα ενα ( ώστε να δείχνει το επόμενο ) και όλη η διαδικασία ξεκινάει απο την αρχή για το καινούριο layer και τους συντελεστές του. 45

46 Κεφάλαιο 5 : Ροή σχεδίασης και αποτελέσματα 5.1 Χρησιμοποιούμενα εργαλεία και ροή σχεδίασης Η σχεδιάση του κυκλώματος ακολούθησε την πορεία την πορεία που φαίνεται στο παρακάτω διάγραμμα ροής. Σχ 5.1 : Διάγραμμα ροής σχεδίασης 46

47 Software implementation Στο πρώτο στάδιο της μελέτης και υλοποίησης του κυκλώματος χρησιμοποιήσαμε ένα software μοντέλο layered LDPC decoder[16] σε περιβάλλον Matlab. Το τροποποιήσαμε κατάλληλα ώστε να κάνει το απαραίτητο quantization στα ανταλλασόμενα μηνύματα και τα LLR. Αυτό το μοντέλο αποτέλεσε την βάση καθόλη την διάρκεια της υλοποίησης σε hardware και του debugging Το συγκεκριμένο μοντέλο αποτελούταν απο έναν LDPC encoder, που υπήρχε ως έτοιμο object στο communication toolbox του Matlab, ένα AWGN κανάλι και τον αποκωδικοποιητή. Για κάθε διακριτή στάθμη θορύβου ( SNR 1.4 έως 3.0 με βήμα 0.2, δηλαδή 9 διακριτές στάθμες θορύβου ) μέσω ενός random generator και του encoder δημιουργήσαμε 500 frames και στην συνέχεια αφού κάθε codeword πέρασε απο το κανάλι, παράχθηκαν και τα αντίστοιχα LLR. Οι κωδικές λέξεις μαζί με τις αντίστοιχες εκτιμήσεις ( LLR ) αποθηκεύτηκαν σε.txt αρχεία τα οποία χρησιμοποιήθηκαν έπειτα ως είσοδοι στην hardware υλοποίηση. Τέλος κατα τη διάρκεια αποκωδικοποίησης ένος ( test ) frame, τα ενδιάμεσα μηνύματα Q ji, R ij και L (δηλαδή τα variable-to-check, check-to-variable και οι ανανεωμένες εκτιμήσεις για κάθε ψηφίο ) για κάθε layer και 3 επαναλήψεις γράφτηκαν επίσης σε.txt αρχεία ώστε να χρησιμοποιηθούν για λόγους debugging στη συνέχεια. Hardware implementation Αφού είχαμε ως βάση το παραπάνω software μοντέλο, προχωρήσαμε στην hardware υλοποίηση του αποκωδικοποιητή. Για διευκολύνση στο debugging, δημιουργήσαμε έναν δικό μας ldpc κώδικα, μεγέθους 4x8, όπου εύκολα μπορούσαμε να ελέγξουμε τα ενδιάμεσα μηνύματα για να βρούμε τυχόν λάθη. Στην συνέχεια, αφού ενώσαμε όλα τα επιμέρους component ( VPU, CPU, barrel shifter ) στο top level, κάναμε μια behavioural προσομοίωση στον Verilog κώδικα. Για να το καταφέρουμε αυτό, τροποποίησαμε ελαφρώς το μοντέλο Matlab ώστε να υλοποιεί τον δικό μας 4x8 κώδικα και όπως περιγράψαμε παραπάνω αποθηκεύσαμε τις κωδικές λέξεις και τις αντίστοιχες εκτιμήσεις των ψηφίων σε αρχεία κειμένου. Έπειτα, τα χρησιμοποιήσαμε ως input στην hardware υλοποίηση και μετρήσαμε τον αριθμό των λαθών σε κάθε επανάληψη. Σε ορισμένα σημεία, όπου υπήρχε ασυμφωνία μεταξύ των αποτελεσμάτων του software μοντέλου Matlab και το hardware μοντέλου σε Verilog, χρησιμοποιήσαμε τα ενδιάμεσα μηνύματα για εκσφαλμάτωση. Αυτή η διαδικασία επαναλήφθηκε μέχρι να υπάρξει πλήρης ταύτιση μεταξύ των αποτελέσμάτων των 2 μοντέλων. 47

48 Αφού πλεόν ήμασταν σίγουροι ότι τουλάχιστον ο 4x8 κώδικας λειτουργούσε σωστά, τροποποιήσαμε ελαφρώς τον κώδικα ώστε να υλοποιείται ο κώδικας 648 του WiFi standard. Η ίδια διαδικασία εκσφαλμάτωσης ακολουθήθηκε επίσης για τον κώδικα 648 μέχρι να υπάρχει πλήρης ταύτιση μεταξύ των αποτελεσμάτων της προσομοίωσης σε Matlab και ModelSim. Το επόμενο βήμα ήταν η σύνθεση και η υλοποίηση του Verilog κώδικα, πράγμα το οποίο έγινε με την βοήθεια του ISE της Xilinx. Το board που χρησιμοποιήθηκε για την υλοποίησή μας ήταν το Virtex6 - ML605 evaluation kit. Μετά την ολοκλήρωση του implementation, παράχθηκε του.bit αρχείο το οποίο φορτώθηκε στο FPGA και με την βοήθεια του ChipScope πραγματοποιήσαμε τις τελικές μετρήσεις. Τέλος, τα αποτελέσματα από το ChipScope συγκρίθηκαν με τα αντίστοιχα της behavioural προσομοίωσης στο ModelSim όπου για τις ίδιες λέξεις που χρησιμοποιήσαμε ως inputs είχαμε ακριβώς τα ίδια αποτελέσματα ( τα οποία θα παρουσιαστούν παρακάτω ). 48

49 5.2 Design summary Απαιτήσεις πόρων Παρακάτω φαίνεται το τελικό report μετά το πέρας του implementation, όπου συνοψίζονται οι απαιτήσεις σε πόρους. Λόγω του μεγάλου μεγέθους των.txt αρχείων όπου ήταν αποθηκευμένα τα δεδομένα προς επεξεργασία, έγιναν 9 διαφορετικά implementation του αποκωδικοποιητή, 1 για κάθε στάθμη θορύβου. Σχ 5.2 : Απαιτήσεις πόρων για την υλοποιήση του layered LDPC decoder (1) 49

50 Σχ 5.3 : Απαιτήσεις πόρων για την υλοποιήση του layered LDPC decoder (2) Όπως φαίνεται στην ακριβώς απο πάνω εικόνα, οι απαιτήσεις σε RAM έφτασαν το 98%. Το μεγαλύτερο απο αυτό το ποσοστό οφείλεται στα μεγάλα αρχεία.txt που αναγκαστικά έπρεπε να φορτωθούν ώστε να χρησιμοποιηθούν στις τελικές μετρήσεις ως είσοδοι. Γίνεται προφανής λοιπόν ο λόγος που κάναμε 9 ξεχωριστές υλοποιήσεις και αντίστοιχα σετ μετρήσεων. 50

51 Timing Ένα πολύ σημαντικό σημείο κατα τη διάρκεια της υλοποίησης ήταν ο σωστός καθορισμός των timing constraints, κοινώς της συχνότητας λειτουργίας. Στην περίπτωση μας, με χρήση του ταλαντωτή 66 Mhz του FPGA και των internal IP core του ISE κάναμε constrain το ρολόι μας στα 33 MHz. Αυτή η τιμή, όπως θα φανεί και στην παρακάτω εικόνα, ήταν πολύ κοντά στην μέγιστη συχνότητα λειτουργίας όπως αυτή υπολογίστηκε απο το εργαλείο μετά το πέρας του implementation. Σχ 5.4 : Timing report 51

52 5.3 Αποτελέσματα προσομοιώσεων Διαγράμματα BER vs SNR Τα τελικά αποτελέσματα που χρησιμοποιήθηκαν για το BER vs SNR διάγραμμα, δηλαδή τα συνολικά λάθη 500 frame για κάθε στάθμη θορύβου, προέκυψαν απο την τελική προσομοίωση στο ChipScope. Όπως ενδεικτικά φαίνεται παρακάτω, τα αποτελέσματα της προσομοίωσης σε ChipScope και της behavioural στο ModelSim ταυτίζονται πλήρως. Σχ 5.5 : Συνολικός αριθμός λαθών για SNR = 1.4 σε περιβάλλον ModelSim Σχ 5.6 : Συνολικός αριθμός λαθών για SNR = 1.4 στο ChipScope 52

53 Και στις 2 περιπτώσεις, για την ίδια στάθμη θορύβου ( SNR = 1.4 ) έχουμε τον ίδιο αριθμό λαθών (43867), το οποίο οδηγεί σε BER = Στον παρακάτω πίνακα, συνοψίζονται τα bit error rates για καθεμία απο τις 9 διαφορετικές στάθμες θορύβου και για 500 frames όπως αυτά μετρήθηκαν με την βοήθεια του Chipscope. SNR Total errors BER Σχ 5.7 : Πίνακας αποτελεσμάτων προσομοιώσεων 53

54 Το διάγραμμα που προκύπτει απο τις προηγούμενες τιμές είναι το παρακάτω : Σχ 5.8 : BER vs SNR plot των απολεσμάτων που μετρήθηκαν με την βοήθεια του ChipScope Συγκριτικά με το αντίστοιχο διάγραμμα που προκύπτει απο το θεωρητικό ( Software ) μοντέλο του Matlab, οι τιμές είναι αρκετά κοντά αλλά δεν ταυτίζονται λόγω διαφορετικών frame που χρησιμοποιήθηκαν στις 2 υλοποιήσεις, τα οποία ήταν περιορισμένα σε αριθμό ( 500 ) συνεπώς είναι πολύ πιθανό να υπάρχουν μικρές διαφορές. 54

55 Σχ 5.9 : Σύγκριση BER plots ανάμεσα στις 2 υλοποιήσεις ( Software vs Hardware) Αριθμός επαναλήψεων Όπως αναφέραμε και σε προήγουμενα κεφάλαια, με την χρήση του early termination γλιτώνουμε επιπλέον άσκοπες επαναλήψεις. Στον πίνακα που ακολουθεί καταγράφεται ο συνολικός αριθμός επαναλήψεων για 500 frames σε κάθε στάθμη θορύβου. Υπενθυμίζεται ότι ο μέγιστος αριθμός επαναλήψεων στον οποίο τερματίζεται η διαδικασία αποκωδικοποίησης για κάθε frame είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΗΛΕΚΤΡΟΝΙΚΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΟΜΑ Α Α Αριθµητική Λογική Μονάδα των 8-bit 1. Εισαγωγή Γενικά µια αριθµητική λογική µονάδα (ALU, Arithmetic Logic Unit)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δεύτερη Σειρά Ασκήσεων

Δεύτερη Σειρά Ασκήσεων Δεύτερη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 Από ένα αθόρυβο κανάλι 4 khz παίρνουμε δείγματα κάθε 1 msec. - Ποιος είναι ο μέγιστος ρυθμός μετάδοσης δεδομένων; - Πώς μεταβάλλεται ο μέγιστος ρυθμός μετάδοσης δεδομένων

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 3. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Β Παράσταση Προσημασμένων

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

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυαδικό Σύστημα Αρίθμησης Περιεχόμενα 1 Δυαδικό

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

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών: Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 23 Διάρκεια εξέτασης : 6 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών: Θέμα (,5 μονάδες) Στις εισόδους του ακόλουθου κυκλώματος c b a εφαρμόζονται οι κάτωθι κυματομορφές.

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

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A]. Κανονική μορφή συνάρτησης λογικής 5. Η κανονική μορφή μιας λογικής συνάρτησης (ΛΣ) ως άθροισμα ελαχιστόρων, από τον πίνακα αληθείας προκύπτει ως εξής: ) Παράγουμε ένα [A] όρων από την κάθε σειρά για την

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή Κεφάλαιο. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας Περιεχόμενα. Αριθμητικά συστήματα. Μετατροπή αριθμών από ένα σύστημα σε άλλο.3 Πράξεις στο δυαδικό σύστημα.4 Πράξεις στο δεκαεξαδικό σύστημα.5

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

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

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

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

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

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

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

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεματική Ενότητα Ακαδημαϊκό Έτος 2010 2011 Ημερομηνία Εξέτασης Κυριακή 26.6.2011 Ώρα Έναρξης Εξέτασης

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης: Ορολογία bit (binary digit): δυαδικό ψηφίο. Τα δυαδικά ψηφία είναι το 0 και το 1 1 byte = 8 bits word: η θεμελιώδης μονάδα σύμφωνα με την οποία εκπροσωπούνται οι πληροφορίες στον υπολογιστή. Αποτελείται

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

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

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

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

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

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

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

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

Εισαγωγή στους Υπολογιστές

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

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

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

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

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

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

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

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση δεδομένων Κατάλληλη συμβολική αναπαράσταση δεδομένων, για απλοποίηση βασικών πράξεων, όπως πρόσθεση Πόσο εύκολο είναι

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

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

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

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Βασικές Έννοιες στα Δίκτυα Υπολογιστών 1.1 Δίκτυο Υπολογιστών Ένα δίκτυο είναι

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «ΜΕΛΕΤΗ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΜΕΤΡΗΣΕΙΣ BER ΓΙΑ ΣΗΜΑΤΑ QPSK, π/8 PSK, 16QAM, 64- QAM ΜΕ ΧΡΗΣΗ ΓΕΝΝΗΤΡΙΑΣ ΣΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΤΗ ΣΗΜΑΤΟΣ»

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «ΜΕΛΕΤΗ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΜΕΤΡΗΣΕΙΣ BER ΓΙΑ ΣΗΜΑΤΑ QPSK, π/8 PSK, 16QAM, 64- QAM ΜΕ ΧΡΗΣΗ ΓΕΝΝΗΤΡΙΑΣ ΣΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΤΗ ΣΗΜΑΤΟΣ» ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΜΕΛΕΤΗ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΜΕΤΡΗΣΕΙΣ BER ΓΙΑ ΣΗΜΑΤΑ QPSK, π/8 PSK, 16QAM, 64- QAM ΜΕ ΧΡΗΣΗ ΓΕΝΝΗΤΡΙΑΣ ΣΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΤΗ ΣΗΜΑΤΟΣ» ΟΛΓΑ ΛΑΔΑ Α.Ε.Μ. 2572 ΑΘΑΝΑΣΙΑ ΧΡΟΝΗ Α.Ε.Μ 1802 ΕΠΙΒΛΕΠΩΝ

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

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

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

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

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

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

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ. Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Συνδυαστική Λογική Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Ψηφιακά Κυκλώματα Τα ψηφιακά κυκλώματα διακρίνονται σε συνδυαστικά (combinational)

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