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

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

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΑΣ ΣΧΕΔΙΑΣΗ ΚΩΔΙΚΟΠΟΙΗΤΗ-ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ REED SOLOMON"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΑΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ-ΛΟΓΙΣΜΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟ ΘΕΩΡΗΤΙΚΗΣ ΗΛΕΚΤΡΟΤΕΧΝΙΑΣ ΚΑΙ ΠΑΡΑΓΩΓΗΣ Β' ΟΜΑΔΑ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΟΔΩΡΟΣ ΡΟΥΔΑΣ ΑΜ 95 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ ΣΧΕΔΙΑΣΗ ΚΩΔΙΚΟΠΟΙΗΤΗ-ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ REED SOLOMON ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ ΘΕΟΔΩΡΟΣ ΑΝΤΩΝΑΚΟΠΟΥΛΟΣ

2 Η εργασία αυτή είναι αφιερωμένη στη μνήμη του Αλέξανδρου Γρηγορόπουλου που δολοφονήθηκε από το κράτος στις 6 Δεκεμβρίου του 8 Η εργασία αυτή είναι αφιερωμένη στους νέους

3 Ευχαριστώ θερμά τους συναδέλφους μου στην εταιρία Think Silicon Γιώργο Σιδηρόπουλο και Ιάκωβο Σταμούλη που με υποστήριξαν κατά την εκπόνηση της εργασίας αυτής Επίσης ευχαριστώ τις κυρίες Μαρία Μαλλίδη και Αδαμαντία Αργυροπούλου για τη συμβολή τους στην σχεδίαση σχημάτων του κειμένου 3

4 4

5 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ6 Η ΧΡΗΣΗ ΤΗΣ ΚΩΔΙΚΟΠΟΙΗΣΗΣ ΜΕ ΣΚΟΠΟ ΤΗΝ ΑΞΙΟΠΙΣΤΗ ΨΗΦΙΑΚΗ ΜΕΤΑΔΟΣΗ ΚΑΙ ΑΠΟΘΗΚΕΥΣΗ6 ΕΙΣΑΓΩΓΗ6 ΤΥΠΟΙ ΚΩΔΙΚΩΝ7 ΣΤΟΙΧΕΙΑ ΑΛΓΕΒΡΑΣ9 ΠΕΠΕΡΑΣΜΕΝΑ ΠΕΔΙΑ9 ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΤΟΙΧΕΙΩΝ GF(m) 3 ΟΡΙΣΜΟΣ ΤΟΥ ΠΕΔΙΟΥ ΑΠΟ ΕΝΑ ΠΡΩΤΟΓΕΝΝΕΣ (PRIMITIVE) ΠΟΛΥΩΝΥΜΟ 4 ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ ΣΤΟ ΠΕΔΙΟ GF(m) 3 ΕΙΔΗ ΚΩΔΙΚΩΝ ΑΝΑΛΥΤΙΚΑ4 3 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΓΡΑΜΜΙΚΟΥΣ ΜΠΛΟΚ ΚΩΔΙΚΕΣ4 3 ΣΥΝΔΡΟΜΟ ΚΑΙ ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ8 33 Η ΕΛΑΧΙΣΤΗ ΑΠΟΣΤΑΣΗ ΕΝΟΣ ΚΩΔΙΚΑ ΜΠΛΟΚ 35 ΚΩΔΙΚΕΣ HAMMING 36 ΚΥΚΛΙΚΟΙ ΚΩΔΙΚΕΣ 37 ΠΕΡΙΓΡΑΦΗ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ 38 ΓΕΝΝΗΤΟΡΕΣ ΚΑΙ ΜΗΤΡΕΣ ΕΛΕΓΧΟΥ ΙΣΟΤΙΜΙΑΣ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ4 39 ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ6 3 ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ6 3 BCH ΚΩΔΙΚΕΣ9 3 ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ ΤΩΝ ΚΩΔΙΚΩΝ BCH3 4 ΚΩΔΙΚΕΣ REED-SOLOMON35 4 ΚΩΔΙΚΟΠΟΙΗΤΗΣ REED-SOLOMON35 4 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ REED-SOLOMON36 4 ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΔΡΟΜΟΥ ΓΙΑ ΚΩΔΙΚΕΣ REED-SOLOMON37 4 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ38 4 ΑΛΓΟΡΙΘΜΟΣ PETERSON-GORENDTEIN-ZIERLER39 4 ΑΛΓΟΡΙΘΜΟΣ BERLEKAMP-MASSEY4 43 ΥΠΟΛΟΓΙΣΜΟΣ ΘΕΣΕΩΝ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ CHIENS4 44 ΥΠΟΛΟΓΙΣΜΟΣ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ FORNEY43 5 ΥΛΟΠΟΙΗΣΗ ΚΩΔΙΚΟΠΟΙΗΤΗ/ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ REED-SOLOMON46 5 ΔΟΜΙΚΟ ΔΙΑΓΡΑΜΜΑ46 5 ΠΑΡΑΜΕΤΡΟΙ και ΣΗΜΑΤΑ ΔΙΕΠΑΦΗΣ47 53 ΠΕΡΙΓΡΑΦΗ ΔΟΜΙΚΩΝ ΜΠΛΟΚ48 53 ΚΩΔΙΚΟΠΟΙΗΤΗΣ REED-SOLOMON48 53 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ5 53 ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΔΡΟΜΟΥ5 53 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ5 533 ΥΠΟΛΟΓΙΣΜΟΣ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ CHIENS ΥΠΟΛΟΓΙΣΜΟΣ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ Ω(Χ) ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ6 537 ΠΡΟΣΩΡΙΝΗ ΑΠΟΘΗΚΕΥΣΗ και ΜΕΤΑΔΟΣΗ (nk) ΜΠΛΟΚ6 538 ΚΥΚΛΩΜΑ ΕΛΕΓΧΟΥ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ6 539 ΣΥΝΑΡΤΗΣΕΙΣ ΑΡΙΘΜΗΤΙΚΗΣ GALOIS FIELD ΑΘΡΟΙΣΤΗΣ ΔΥΟ ΣΤΟΙΧΕΙΩΝ ΠΕΔΙΟΥ GF(m) ΑΘΡΟΙΣΤΗΣ ΠΟΛΛΑΠΛΩΝ ΣΤΟΙΧΕΙΩΝ ΠΕΔΙΟΥ GF(m)66 5

6 5393 ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ ΔΥΟ ΣΤΟΙΧΕΙΩΝ ΠΕΔΙΟΥ GF(m) ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΛΑΠΛΑΣΙΑΣΤΙΚΟΥ ΑΝΤΙΣΤΡΟΦΟΥ ΣΤΟΙΧΕΙΟ ΠΕΔΙΟΥ GF(m)68 6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΕΞΟΜΟΙΩΣΗΣ ΚΩΔΙΚΟΠΟΙΗΤΗ/ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ ReedSolomon7 7 ΤΕΧΝΟΛΟΓΙΑ ΥΛΟΠΟΙΗΣΗΣ89 7 ΑΠΟΤΕΛΕΣΜΑΤΑ ΥΛΟΠΟΙΗΣΗΣ-ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΛΕΙΤΟΥΡΓΙΑΣ89 7 ΤΕΧΝΟΛΟΓΙΑ ASIC89 7 ΛΟΓΙΚΗ ΣΥΝΘΕΣΗ ΣΤΑΤΙΚΗ ΧΡΟΝΙΚΗ ΑΝΑΛΥΣΗ89 7 ΤΕΧΝΟΛΟΓΙΑ FPGA 73 ΡΥΘΜΟΣ ΜΕΤΑΔΟΣΗΣ ΔΕΔΟΜΕΝΩΝ και ΧΡΟΝΟΙ ΥΠΟΛΟΓΙΣΜΟΥ 8 ΑΠΟΔΟΣΗ ΚΩΔΙΚΟΠΟΙΗΤΗ/ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ ΣΕ ΚΑΝΑΛΙ ΜΕ ΘΟΡΥΒΟ5 8 ΛΟΓΟΣ ΣΗΜΑΤΟΣ ΠΡΟΣ ΘΟΡΥΒΟ5 8 KANANI AWGN6 83 ΚΩΔΙΚΟΠΟΙΗΣΗ nk) και ΔΙΑΜΟΡΦΩΣΗ M-QΑΜ ΣΕ ΚΑΝΑΛΙ AWGN6 84 ΚΩΔΙΚΟΠΟΙΗΣΗ nk) και ΔΙΑΜΟΡΦΩΣΗ M-PSK ΣΕ ΚΑΝΑΛΙ AWGN7 9 ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΚΑΙ ΕΡΓΑΛΕΙΑ9 9 ΕΡΓΑΛΕΙΑ9 9 ΤΕΧΝΙΚΕΣ9 ΠΡΟΤΑΣΕΙΣ/ΥΠΟΔΕΙΞΕΙΣ ΓΙΑ ΠΕΡΕΤΑΙΡΩ ΑΝΑΠΤΥΞΗ ΒΙΒΛΙΟΓΡΑΦΙΑ-ΑΝΑΦΟΡΕΣ 6

7 ΕΙΣΑΓΩΓΗ Η ΧΡΗΣΗ ΤΗΣ ΚΩΔΙΚΟΠΟΙΗΣΗΣ ΜΕ ΣΚΟΠΟ ΤΗΝ ΑΞΙΟΠΙΣΤΗ ΨΗΦΙΑΚΗ ΜΕΤΑΔΟΣΗ ΚΑΙ ΑΠΟΘΗΚΕΥΣΗ ΕΙΣΑΓΩΓΗ Τα τελευταία χρόνια οι απαιτήσεις για αποδοτική και αξιόπιστη ψηφιακή μετάδοση αυξάνονται διαρκώς Αυτές οι απαιτήσεις γίνονται ολοένα και πιο επιτακτικές με την εξέλιξη των δικτύων υψηλών ταχυτήτων μεγάλης κλίμακας με σκοπό την ανταλλαγή την επεξεργασία και την αποθήκευση ψηφιακών δεδομένων Ένα από τα πιο σημαντικά προβλήματα που έχουν να αντιμετωπίσουν οι σχεδιαστές τέτοιων συστημάτων είναι ο έλεγχος των σφαλμάτων μετάδοσης έτσι ώστε να εξασφαλίζεται η σωστή αναπαραγωγή των δεδομένων στο τηλεπικοινωνιακό δέκτη Η μετάδοση και αποθήκευση της ψηφιακής πληροφορίας έχει πολλές ομοιότητες μεταξύ τους Και τα δύο αφορούν μετάδοση δεδομένων από μία πηγή πληροφορίας σε έναν προορισμό Ένα τυπικό σύστημα μετάδοσης (ή αποθήκευσης) φαίνεται στο Σχ πηγή πληροφορίας κωδικοποιητής πηγής u κωδικοποιητής καναλιού v διαμορφωτής (μονάδα εγγραφής) θόρυβος προορισμός αποκωδικοποιητής πηγής û αποκωδικοποιητής καναλιού κανάλι (αποθηκευτικό μέσο) r αποδιαμορφωτής (μονάδα ανάγνωσης) Σχ Τυπικό σύστημα μετάδοσης ή αποθήκευσης Η πηγή πληροφορίας μπορεί να είναι είτε άνθρωπος είτε μηχανή (πχ ψηφιακός υπολογιστής) Η έξοδος της πηγής πληροφορίας μπορεί να είναι μία συνεχής κυματομορφή ή μία ακολουθία από διακριτά σύμβολα Ο κωδικοποιητής πηγής μετατρέπει την έξοδο της πηγής σε μία ακολουθία δυαδικών συμβόλων (ψηφίων - bit) την ακολουθία πληροφορίας u Στην περίπτωση της πληροφορίας συνεχούς μορφής η μετατροπή περιλαμβάνει αναλογική-σε-ψηφιακή (A/D) μετατροπή Ο κωδικοποιητής πηγής πρέπει να είναι κατασκευασμένος με τέτοιο τρόπο ώστε ο αριθμός των δυαδικών συμβόλων ανά μονάδα χρόνου που απαιτείται για την αναπαράσταση της εξόδου της πηγής να είναι ο ελάχιστος δυνατός και η έξοδος της πηγής να μπορεί να αναπαραχθεί από την ακολουθία πληροφορίας u κατά τρόπο μονοσήμαντο 7

8 Ο κωδικοποιητής καναλιού μετατρέπει την ακολουθία πληροφορίας u σε μία διακριτή κωδικοποιημένη ακολουθία v που καλείται κωδικολέξη (codeword) Στις περισσότερες περιπτώσεις το v είναι επίσης μία ακολουθία δυαδικών συμβόλων (δυαδική ακολουθία) αν και υπάρχει περίπτωση να χρησιμοποιηθούν και μη-δυαδικοί κώδικες Τα διακριτά σύμβολα δεν είναι κατάλληλα για τη μετάδοση σε φυσικά κανάλια μετάδοσης και την αποθήκευση σε ψηφιακά μέσα αποθήκευσης Για τον λόγο αυτό ο διαμορφωτής (ή η μονάδα εγγραφής) αναλαμβάνει να μετασχηματίσει κάθε σύμβολο εξόδου του κωδικοποιητή καναλιού σε μία κυματομορφή χρονικής διάρκειας Τ δευτερολέπτων που είναι κατάλληλη προς μετάδοση (ή εγγραφή) Αυτή η κυματομορφή εισέρχεται στο κανάλι μετάδοσης (ή στο μέσο αποθήκευσης) και παραμορφώνεται από θόρυβο Τυπικά κανάλια μετάδοσης είναι τηλεφωνικές γραμμές ραδιοζεύξεις υψηλών συχνοτήτων ζεύξεις τηλεμετρίας μικροκυματικές ζεύξεις δορυφορικές ζεύξεις κα Τυπικά μέσα αποθήκευσης είναι ημιαγωγικές μνήμες μαγνητικές ταινίες αρχεία δίσκων οπτικά μέσα αποθήκευσης κα Κάθε ένα από τα μέσα αυτά υπόκειται σε διάφορες μορφές διαταραχών λόγω θορύβου Σε τηλεφωνικές γραμμές για παράδειγμα οι διαταραχές είναι δυνατόν να προκαλούνται από κρουστικό θόρυβο λόγω διακοπτικής λειτουργίας (switching) θερμικό θόρυβο διαφωνία από άλλες γραμμές ή καιρικά φαινόμενα όπως αστραπές και κεραυνοί Σε μαγνητικά μέσα αποθήκευσης οι ατέλειες στην επιφάνεια των μαγνητικών υλικών μπορούν να θεωρηθούν σαν διαταραχές από θόρυβο Ο αποκωδικοποιητής (ή η μονάδα ανάγνωσης) επεξεργάζεται κάθε κυματομορφή διάρκειας Τ και παράγει μία έξοδο η οποία μπορεί να είναι διακριτή (κβαντισμένη) ή συνεχής (μηκβαντισμένη) Η ακολουθία εξόδου του αποκωδικοποιητή που αντιστοιχεί στην κωδικοποιημένη ακολουθία v καλείται λαμβανόμενη ακολουθία r Ο αποκωδικοποιητής καναλιού μετατρέπει την λαμβανόμενη ακολουθία r σε μία δυαδική ακολουθία û την υπολογισθείσα ακολουθία Η διαδικασία αποκωδικοποίησης βασίζεται στους κανόνες κωδικοποίησης καναλιού και στα χαρακτηριστικά θορύβου του καναλιού (ή του μέσου αποθήκευσης) Στην ιδανική περίπτωση το û θα είναι πανομοιότυπο με την ακολουθία πληροφορίας u Ο αποκωδικοποιητής πηγής μετατρέπει την υπολογισθείσα ακολουθία û σε μία εκτίμηση της εξόδου της πηγής και παραδίδει αυτήν την εκτίμηση στον προορισμό Στην περίπτωση που η πηγή είναι συνεχής τότε απαιτείται ψηφιακή-σε-αναλογική μετατροπή Ένα από τα κύρια προβλήματα που καλούνται να αντιμετωπίσουν οι σχεδιαστές τέτοιων συστημάτων είναι να σχεδιάσουν το ζεύγος του κωδικοποιητή/αποκωδικοποιητή και καναλιού κατά τέτοιο τρόπο ώστε να εξασφαλίσουν τα ακόλουθα Η πληροφορία μεταδίδεται (ή αποθηκεύεται) όσο το δυνατό γρηγορότερα σε ένα περιβάλλον που επηρεάζεται από θόρυβο Λαμβάνεται αξιόπιστη αναπαραγωγή της πληροφορίας στην έξοδο του αποκωδικοποιητή καναλιού 3 Το κόστος της υλοποίησης του κωδικοποιητή και αποκωδικοποιητή βρίσκεται σε αποδεκτά όρια ΤΥΠΟΙ ΚΩΔΙΚΩΝ Υπάρχουν κυρίως δύο είδη κωδίκων που χρησιμοποιούνται σήμερα οι κώδικες μπλοκ (block codes) και οι συνελικτικοί κώδικες (convolutional codes) Ο κωδικοποιητής για τους κώδικες μπλοκ διαιρεί την ακολουθία πληροφορίας σε μπλοκ μηνύματος των k bit το καθένα Ένα μπλοκ μηνύματος αναπαρίσταται από ένα δυαδικό διάνυσμα k συνιστωσών u = (uu uk) που ονομάζεται μήνυμα (Στην κωδικοποίηση μπλοκ το σύμβολο u χρησιμοποιείται μάλλον για να συμβολίσει ένα μήνυμα k-δυαδικών ψηφίων παρά ολόκληρη την ακολουθία μηνύματος) Με αυτόν τον τρόπο υπάρχουν k διαφορετικά πιθανά μηνύματα Ο κωδικοποιητής μετασχηματίζει κάθε μήνυμα u σε ένα διάνυσμα n 8

9 συνιστωσών v = (υυ υn) διακριτών συμβόλων που καλούνται κωδικολέξη (Στην κωδικοποίηση κατά μπλοκ το σύμβολο v χρησιμοποιείται μάλλον για να αναπαραστήσει ένα μπλοκ n συμβόλων παρά ολόκληρη την κωδικοποιημένη ακολουθία) Για αυτόν τον λόγο στα k διαφορετικά πιθανά μηνύματα αντιστοιχούν k διαφορετικές πιθανές κωδικολέξεις στην έξοδο του κωδικοποιητή Αυτό το σύνολο των k διαφορετικών κωδικολέξεων μήκους n καλείται ένας (nk) κώδικας Το κλάσμα R = n/k καλείται βαθμός του κώδικα και αντιστοιχεί στον αριθμό των δυαδικών ψηφίων που εισέρχονται στον κωδικοποιητή ανά μεταδιδόμενο σύμβολο Στους δυαδικούς κώδικες κάθε κωδικολέξη v είναι επίσης σε δυαδική μορφή Επομένως για να είναι εφαρμοσμένος ένας δυαδικός κώδικας (δηλ για να αντιστοιχεί μία διαφορετική κωδικολέξη σε κάθε μήνυμα) θα πρέπει να ισχύει k n ή R Όταν k < n τότε n k πλεονάζοντα δυαδικά ψηφία μπορούν να προστεθούν σε κάθε μήνυμα ώστε να σχηματιστεί μία κωδικολέξη Αυτά τα πλεονάζοντα δυαδικά ψηφία παρέχουν στον κώδικα την δυνατότητα να αντιμετωπίσει τον θόρυβο που υπεισέρχεται στο κανάλι μετάδοσης Για ένα κώδικα δεδομένου βαθμού R περισσότερα πλεονάζοντα δυαδικά ψηφία μπορούν να προστεθούν αυξάνοντας το μήκος n του κώδικα κρατώντας ταυτόχρονα το κλάσμα n/k σταθερό Παραδείγματα μπλοκ κωδίκων που βρίσκουν εφαρμογή σε σύγχρονα ψηφιακά συστήματα είναι οι κώδικες Reed Hamming και Μuller (95) οι Bose Chaudhuri Hocquenghem (BCH) κώδικες (96) και οι Reed-Solomon κώδικες (96) Ο κωδικοποιητής ενός συνελικτικού κώδικα δέχεται επίσης μπλοκ k δυαδικών ψηφίων της ακολουθίας πληροφορίας u και παράγει μία κωδικοποιημένη ακολουθία (κωδικολέξη) v αποτελούμενη από n μπλοκ συμβόλων (Στους συνελικτικούς κώδικες τα σύμβολα u και v χρησιμοποιούνται μάλλον για να αναπαραστήσουν ακολουθίες από μπλοκ παρά ένα μόνο μπλοκ) Παρόλα αυτά κάθε κωδικοποιημένο μπλοκ εξαρτάται όχι μόνο από το αντίστοιχο μπλοκ k δυαδικών ψηφίων μηνύματος αλλά και από m στον αριθμό προηγούμενα μπλοκ μηνύματος Επομένως ο κωδικοποιητής μπορούμε να πούμε ότι έχει μνήμη βαθμού m Το σύνολο των κωδικοποιημένων ακολουθιών που παράγεται από έναν κωδικοποιητή k ψηφίων στην είσοδο n ψηφίων στην-έξοδο και μνήμη βαθμού m καλείται (nkm) συνελικτικός κώδικας Το κλάσμα n/k καλείται βαθμός του κώδικα (code rate) Σε ένα συνελικτικό δυαδικό κώδικα προστίθενται πλεονάζοντα bit που αντισταθμίζουν την επίδραση του θορύβου στο κανάλι όταν ισχύει η συνθήκη k < n ή R < Συνήθως τα n και k είναι σχετικά μικροί ακέραιοι και ο πλεονασμός σε bit μπορεί να ενισχυθεί αυξάνοντας το βαθμό της μνήμης m του κώδικα κρατώντας τα k και n σταθερά 9

10 ΣΤΟΙΧΕΙΑ ΑΛΓΕΒΡΑΣ ΠΕΠΕΡΑΣΜΕΝΑ ΠΕΔΙΑ Οι αρχές κωδικοποίησης/αποκωδικοποίησης των μη-δυαδικών κωδίκων βασίζονται στη θεωρία των Πεπερασμένων Πεδίων (Finite Fields) γνωστά και ως πεδία Galois (Galois Fields ή GF) Για κάθε πρώτο αριθμό p υπάρχει ένα πεπερασμένο πεδίο GF(p) που περιέχει p το πλήθος στοιχεία Είναι δυνατό να επεκτείνουμε το GF(p) σε ένα πεδίο με pm στοιχεία το πεδίο επέκτασης του GF(p) το οποίο συμβολίζεται με GF(pm) όπου m είναι ένας μη-μηδενικός θετικός ακέραιος αριθμός Τα στοιχεία του GF(p) είναι υποσύνολο του GF(pm) Τα σύμβολα που προέρχονται από τα στοιχεία του πεδίου επέκτασης GF(pm) χρησιμοποιούνται στην κατασκευή των κωδίκων Reed Solomon Ως παράδειγμα μπορούμε να θεωρήσουμε το πεδίο GF() το οποίο είναι υποπεδίο του πεδίου επέκτασης GF(m) Εκτός από τους αριθμούς και επιπρόσθετα υπάρχουν μοναδικά στοιχεία στο πεδίο επέκτασης τα οποία τα συμβολίζουμε με τη χρήση του συμβόλου α Κάθε μη-μηδενικό στοιχείο του GF(m) μπορεί να αναπαρασταθεί ως μία δύναμη του α Πιο συγκεκριμένα δημιουργούμε ένα πεπερασμένο σύνολο στοιχείων F αρχίζοντας με τα στοιχεία {α} και προσθέτουμε επιπλέον στοιχεία που προκύπτουν αν πολλαπλασιάσουμε κάθε φορά το τελευταίο στοιχείο με α Με αυτόν τον τρόπο προκύπτει: F = { α α αj } = { α α α αj } () Για να λάβουμε τα πεπερασμένα στοιχεία του GF(m) από το F επιβάλλουμε έναν κανόνα στο F σύμφωνα με τον οποίο αφενός λαμβάνουμε μόνο τα πρώτα m στοιχεία και αφετέρου το σύνολο F είναι κλειστό ως προς την πράξη του πολλαπλασιασμού Η συνθήκη η οποία εξασφαλίζει το κλειστό της πράξης του πολλαπλασιασμού περιγράφεται από το μη-αναγόμενο (irreducible) πολυώνυμο m α + = ή ισοδύναμα m α = = α () Μη-αναγόμενο πολυώνυμο ονομάζεται το πολυώνυμο το οποίο διαιρείται μόνο με τον εαυτό του και τη μονάδα Με βάση αυτόν το περιορισμό κάθε στοιχείο με δύναμη μεγαλύτερη ή ίση του m μπορεί να αναχθεί σε ένα στοιχείο δύναμης μικρότερης του m σύμφωνα με την ακόλουθη σχέση: m m α n = α αn+=αn+ (3) Με τη χρήση της σχέσης (3) μπορούμε να σχηματίσουμε από τη μη-πεπερασμένη ακολουθία F μία πεπερασμένη ακολουθία F* σύμφωνα με τη σχέση που ακολουθεί:

11 F* = { α α α m α { α α α m m α m } = (4) m α α α α } Επομένως από την (4) καταλήγουμε ότι τα στοιχεία του πεπερασμένου πεδίου GF(m) είναι τα ακόλουθα GF(m) = { α α α m (5) } ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΤΟΙΧΕΙΩΝ GF(m) Κάθε ένα από τα m στοιχεία του πεπερασμένου πεδίου GF(m) μπορεί να αναπαρασταθεί από ένα διακριτό πολυώνυμο βαθμού μικρότερου ή ίσου με το m- Ο βαθμός του πολυωνύμου αντιστοιχεί στον εκθέτη της μεγαλύτερης δύναμης Όλα τα μη-μηδενικά στοιχεία του GF(m) αναπαριστώνται ως ένα πολυώνυμο αi(χ) του οποίου τουλάχιστον ένας από τους m συντελεστές είναι μη-μηδενικός Για i = m αi = ai (X ) = ai + ai X + ai X + + aim - Xm - (6) Για m=3 για το πεδίο GF(3) η πολυωνυμική αναπαράσταση φαίνεται στο Σχ με τη χρήση των στοιχείων βάσης {X X X} της σχέσης (6) Φαίνεται επίσης και η αντιστοιχία μεταξύ της εκθετικής και της πολυωνυμικής αναπαράστασης Εκθετική αναπαράσταση Πολυωνυμική αναπαράσταση Στοιχεία Βάσης X X X α α α α 3 α 4 α5 α6 α7 3 Σχ Αναπαράσταση στοιχείων του πεδίου GF( ) που παράγεται από το μη-αναγόμενο πολυώνυμο f(x) = + X + X3 Κάθε μία από τις γραμμές στο Σχ αποτελεί μία ακολουθία δυαδικών συμβόλων που

12 αντιστοιχούν στα ai ai ai της (6) Η εκθετική αναπαράσταση αποτελεί ένα τρόπο μαθηματικού συμβολισμού που διευκολύνει στις διαδικασίες κωδικοποίησης και αποκωδικοποίησης μη-δυαδικών κωδίκων Η πολυωνυμική αναπαράσταση διευκολύνει υλοποίηση διαδικασιών όπως η πρόσθεση δύο στοιχείων του πεδίου το αποτέλεσμα της οποίας προκύπτει από την modulo- πρόσθεση των συντελεστών πολυωνύμου του ίδιου βαθμού αi + αj = (ai + aj ) + (ai + aj)x + (ai + aj)x + + (aim - + ajm - )Xm - (7) 3 ΟΡΙΣΜΟΣ ΤΟΥ ΠΕΔΙΟΥ ΑΠΟ ΕΝΑ ΠΡΩΤΟΓΕΝΝΕΣ (PRIMITIVE) ΠΟΛΥΩΝΥΜΟ Μία ειδική κατηγορία πολυωνύμων που ονομάζονται πρωτογεννή (primitive) χρησιμοποιούνται για να ορίσουν τα πεδία GF(m) Ένα μη-αναγόμενο (irreducible) πολυώνυμο f(x) βαθμού m είναι πρωτογεννές αν και μόνο εάν ο μικρότερος ακέραιος n για τον οποίο το f(x) διαιρεί το Xn + είναι n=m- Ένα πολυώνυμο f(x) βαθμού m ονομάζεται μη-αναγόμενο (irreducible) όταν δεν διαιρείται από κανένα πολυώνυμο με βαθμό μικρότερο από το m αλλά όχι μηδενικό Για παράδειγμα για m=3 το πρωτογεννές πολυώνυμο p(x) = + X + X3 μπορεί να ορίσει το πεδίο GF(3) Η αντιστοίχιση των στοιχείων του πεδίου (εκθετική αναπαράσταση) σε αναπαράσταση με χρήση στοιχείων βάσης (πολυωνυμική αναπαράσταση) [σχέση (6)] μπορεί να γίνει με τη χρήση ενός Καταχωρητή Ολίσθησης Γραμμικής Ανάδρασης (Linear Feedback Shift Register LFSR) του οποίου οι θέσεις των στοιχείων ανάδρασης καθορίζονται από τους μη-μηδενικούς συντελεστές του πρωτογεννούς πολυωνύμου Ένας τέτοιος LFSR για το πρωτογεννές πολυώνυμο p(x) = + X + X3 φαίνεται στο Σχ Η αντιστοίχιση μεταξύ των δύο αναπαραστάσεων του Σχ προκύπτει αν αρχικοποιήσουμε τον LFSR του Σχ με και κατόπιν ολισθήσουμε δεξιά ανά παλμό ρολογιού (συνολικά για m- = 5 φορές) Τυπικά πρωτογεννή πολυώνυμα φαίνονται στον Πίνακα X X X X3 Σχ Τα στοιχεία ενός πεδίου επέκτασης GF(m) μπορούν να αναπαρασταθούν από το περιεχόμενο ενός LFSR που κατασκευάζεται με βάση ένα πρωτογεννές πολυώνυμο

13 Πίνακας Πρωτογεννή πολυώνυμα m Πρωτογεννές Πολυώνυμο 3 + X + X3 4 + X + X4 5 + X + X5 6 + X + X6 7 + X3 + X7 8 + X + X3 + X4 + X8 9 + X4 + X9 + X3 + X + X + X + X + X4 + X6 + X 3 + X + X3 + X4 + X3 4 + X + X6 + X + X4 5 + X + X5 6 + X + X3 + X + X6 7 + X3 + X7 8 + X7 + X8 9 + X + X + X5 + X9 + X3 + X + X + X + X + X 3 + X5 + X3 4 + X + X + X7 + X4 4 ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ ΣΤΟ ΠΕΔΙΟ GF(m) Σε ένα πεδίο επέκτασης GF(m) μπορούμε να ορίσουμε τις πράξεις της πρόσθεσης (+) και του πολλαπλασιασμού ( ) Οι πράξεις αυτές είναι κλειστές στο πεδίο GF(m) πράγμα που σημαίνει ότι το αποτέλεσμα των πράξεων αυτών μεταξύ δύο στοιχείων του πεδίου είναι επίσης ένα στοιχείο του πεδίου GF(m) Η πρόσθεση μεταξύ δύο στοιχείων του του GF(m) με εκθετική αναπαράσταση αi και αj πραγματοποιείται όπως είδαμε με την modulo- πρόσθεση των συντελεστών του ίδιου βαθμού της πολυωνυμικής αναπαράστασης των δύο στοιχείων αi + αj = (ai + aj ) + (ai + aj)x + (ai + aj)x + + (aim - + ajm - )Xm - (8) Ο πολλαπλασιασμός μεταξύ δύο στοιχείων του GF(m) με εκθετική αναπαράσταση αi και αj 3

14 πραγματοποιείται με την πρόσθεση των εκθετών i και j Ισχύει δηλαδή αi αj = αi+j (9) Τα αποτελέσματα των πράξεων της πρόσθεσης και του πολλαπλασιασμού για το πεδίο GF() = { }φαίνονται στο Σχ3 α i + αj α i αj α i / αj α i / αj Σχ 3 Πίνακες αληθείας για τις πράξεις του πολλαπλασιασμού και της πρόσθεσης στο GF(m) Για το GF(3) = { α α α α6 } τα αποτελέσματα των δύο πράξεων για όλους τους συνδυασμούς των στοιχείων φαίνονται στους Πίνακες και 3 Πίνακας Πίνακας 3 Πρόσθεση στο GF(3) Πολλαπλασιασμός στο GF(3) α α α α3 α4 α5 α6 α α α α3 α4 α5 α6 α α3 α6 α α5 α4 α α α α α α3 α4 α5 α6 α α3 α4 α α α6 α5 α α α α3 α4 α5 α6 α α α6 α4 α5 α α3 α α α α3 α4 α5 α6 α α α3 α α α5 α6 α α4 α3 α3 α4 α5 α6 α α α α4 α5 α α α6 α α3 α4 α4 α5 α6 α α α α3 α5 α4 α6 α3 α α α α5 α5 α6 α α α α3 α4 α6 α α5 α α4 α3 α α6 α6 α α α α3 α4 α5 4

15 3 ΕΙΔΗ ΚΩΔΙΚΩΝ ΑΝΑΛΥΤΙΚΑ Ως γραμμικοί δυαδικοί κώδικες ορίζονται οι κώδικες των οποίων τα σύμβολα προέρχονται από το δυαδικό πεδίο GF() δηλαδή μπορούν να πάρουν τιμές είτε είτε Οι γραμμικοί μπλοκ κώδικες μπορούν να θεωρηθούν μία προέκταση των γραμμικών δυαδικών κωδίκων όπου τα σύμβολα προέρχονται από το μη-δυαδικό πεδίο GF(m) 3 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΓΡΑΜΜΙΚΟΥΣ ΜΠΛΟΚ ΚΩΔΙΚΕΣ Έστω ότι η έξοδος μίας πηγής πληροφορίας είναι μία ακολουθία δυαδικών στοιχείων και Στην κωδικοποίηση κατά μπλοκ αυτή η δυαδική ακολουθία κατατέμνεται σε μπλοκ μηνύματος σταθερού μήκους όπου κάθε μπλοκ μηνύματος u αποτελείται από k ψηφία πληροφορίας Επομένως υπάρχουν συνολικά k διακριτά μηνύματα Ο κωδικοποιητής με βάση συγκεκριμένους κανόνες μετασχηματίζει κάθε μήνυμα εισόδου u σε ένα δυαδικό διάνυσμα n συνιστωσών v όπου n > k Αυτό το n-διάστατο διάνυσμα v ονομάζεται κωδικολέξη (code word) Επομένως για τα k πιθανά μηνύματα υπάρχουν k κωδικολέξεις Αυτό το σύνολο των k κωδικολέξεων καλείται μπλοκ κώδικας Για να είναι αξιοποιήσιμος αυτός ο κώδικας θα πρέπει οι k κωδικολέξεις να είναι διακριτές Επομένως θα πρέπει να υπάρχει ένα προς ένα αντιστοιχία μεταξύ κάθε μηνύματος u με μία κωδικολέξη v Ένας μπλοκ κώδικας μήκους n και k κωδικολέξεων καλείται γραμμικός (nk) κώδικας αν και μόνο αν οι k κωδικολέξεις του σχηματίζουν έναν k-διάστατο υποχώρο του διανυσματικού χώρου όλων των n-διάστατων διανυσμάτων στο πεδίο GF() Ουσιαστικά οι δυαδικοί κώδικες μπλοκ είναι γραμμικοί αν και μόνο εάν το modulo άθροισμα δύο κωδικολέξεων είναι επίσης μία κωδικολέξη Ο μπλοκ κώδικας που φαίνεται στον Πίνακα 3 είναι ένας (74) γραμμικός κώδικας Μπορεί εύκολα να επαληθευτεί ότι το άθροισμα οποιωνδήποτε δύο κωδικολέξεων είναι επίσης μία κωδικολέξη Πίνακας 3 Γραμμικός κώδικας με k = 4 και n = 7 Μηνύματα Κωδικoλέξεις 5

16 Πίνακας 3 Γραμμικός κώδικας με k = 4 και n = 7 Εφόσον ένας (nk) κώδικας C είναι ένας k-διάστατος υποχώρος του διανυσματικού χώρου Vn για όλα τα δυαδικά n-διάστατα διανύσματα είναι δυνατόν να βρούμε k γραμμικά ανεξάρτητες κωδικολέξεις g g gk- στο C τέτοιες ώστε κάθε κωδικολέξη v στο C να προκύπτει από το γραμμικό συνδυασμό αυτών των k κωδικολέξεων σύμφωνα με τη σχέση v = u g + u g + + uk- gk- (3) Όπου το ui είναι ή για i < k Αν διατάξουμε αυτές τις k γραμμικά ανεξάρτητες κωδικολέξεις σαν γραμμές μίας k x n μήτρας G = g g g g gn- g g g g gn- = gk- gk- gk- gk- gk-n- όπου gi = (gi gi gi gin- ) για i < k Αν u = ( u u u κωδικοποίηση μήνυμα η αντίστοιχη κωδικολέξη θα δίνεται από τον τύπο (3) k- ) είναι το προς v=u G v=u G g g = ( u u uk- ) (33) gk= u g + u g + + uk- gk- 6

17 Όπως φαίνεται στον Πίνακα 3 οι γραμμές της μήτρας G γεννούν τον (nk) γραμμικό κώδικα C Για αυτό τον λόγο η μήτρα G καλείται μήτρα γεννήτορας του C Οποιεσδήποτε k γραμμικά ανεξάρτητες κωδικολέξεις του ενός (nk) γραμμικού κώδικα μπορούν να χρησιμοποιηθούν για να σχηματίσουν μία μήτρα γεννήτορα G Για αυτόν τον λόγο ένας κωδικοποιητής αρκεί να αποθηκεύσει τις k γραμμές μίας μήτρας G και να σχηματίσει έναν γραμμικό συνδυασμό αυτών των k σειρών με βάση το μήνυμα εισόδου u = ( u u + uk- ) Μία επιθυμητή ιδιότητα για τους γραμμικούς κώδικες είναι οι κωδικολέξεις να κατέχουν μια συστηματική δομή όπως φαίνεται στον Πίνακα 3 όπου η κωδικολέξη διαιρείται δε δύο τμήματα το τμήμα του μηνύματος και το πλεονάζων τμήμα ελέγχου Το τμήμα μηνύματος αποτελείται από k πανομοιότυπα ψηφία πληροφορίας (μήνυμα) και το πλεονάζον τμήμα ελέγχου από n-k ψηφία ελέγχου ισοτιμίας τα οποία είναι γραμμικά αθροίσματα των ψηφίων ισοτιμίας Ένας γραμμικός κώδικας μπλοκ με αυτή τη δομή ονομάζεται συστηματικός γραμμικός κώδικας μπλοκ Ο κώδικας (74) που περιγράφεται στον Πίνακα 3 είναι ένας συστηματικός γραμμικός κώδικας μπλοκ Τα τέσσερα δεξιότερα ψηφία κάθε κωδικολέξης είναι πανομοιότυπα με τα αντίστοιχα ψηφία πληροφορίας Πλεονάζον τμήμα ελέγχου Τμήμα μηνύματος <----- n k ψηφία ----> < k ψηφία -----> Επομένως ένας (nk) συστηματικός γραμμικός κώδικας μπλοκ προσδιορίζεται πλήρως από μία k x n μήτρα G της ακόλουθης μορφής G = g p p p pn-k- g p p p pn-k- gk- = (34α) pk- pk- pk- pk-n-k- μήτρα P k x k μοναδιαία μήτρα Ik Όπου το pij είναι είτε είτε Συμβολίζοντας με Ik την k x k μοναδιαία μήτρα προκύπτει ότι G = [P Ik] Αν το προς κωδικοποίηση μήνυμα είναι το ( u u uk- ) τότε η αντίστοιχη κωδικολέξη είναι v = ( υ υ υk- ) = ( u u uk- ) G (34β) 7

18 Από τις (33) και (34) προκύπτει ότι τα στοιχεία v είναι υn-k+i = ui για j < k και (35α) υj = u pj + u pj + + uk- pk-j για j < n-k (35β) Οι n-k το πλήθος εξισώσεις (35β) καλούνται εξισώσεις ελέγχου ισοτιμίας του κώδικα Αποδεικνύεται ότι για κάθε G n x k μήτρα με k γραμμικά ανεξάρτητες γραμμές υπάρχει μία (n - k) x n μήτρα H με n-k γραμμικά ανεξάρτητες γραμμές τέτοιες ώστε κάθε διάνυσμα που προκύπτει από τις γραμμές της μήτρα G είναι ορθογώνιο με τις γραμμές της μήτρας Η και κάθε διάνυσμα που είναι ορθογώνιο με τις γραμμές της μήτρας Η να προκύπτει από τις γραμμές της μήτρας G Επομένως ο (nk) γραμμικός κώδικας μπλοκ μπορεί να οριστεί ως ακολούθως: Ένα v διάνυσμα είναι κωδικολέξη του κώδικα που παράγεται από τη μήτρα G εάν και μόνο εάν είναι v HT = Η μήτρα Η καλείται μήτρα ελέγχου ισοτιμίας του κώδικα Οι n-k γραμμικοί συνδυασμοί των γραμμών του Η σχηματίζουν έναν (n n-k) γραμμικό κώδικα Cd Αυτός ο κώδικας αποτελεί το μηδενικό πεδίο του (nk) γραμμικού κώδικα (δηλ Για κάθε διάνυσμα v που ανήκει στο C και για κάθε διάνυσμα w που ανήκει στο Cd είναι v w = ) Ο Cd καλείται δυϊκός κώδικας του C Επομένως η μήτρα ελέγχου ισοτιμίας ενός γραμμικού κώδικα C αποτελεί γεννήτορα μήτρα για τον δυϊκό του κώδικα Cd Αν η μήτρα γεννήτορας G του γραμμικού κώδικα (nk) είναι στη συστηματική μορφή (34) τότε ο μήτρα ελέγχου ισοτιμίας μπορεί να εκφραστεί ως : H = [In-k PT ] p p p pk-nk- p p p pk-nk- = p p p pk-n- (36) k- μήτρα In-k pn-k- pn- pn- pk-n- k- k- k- k x k μοναδιαία μήτρα Ik όπου ο PT είναι η αντιμεταθετική μήτρα της P Αν υποθέσουμε ότι η hj είναι η j-στη γραμμή της μήτρας Η το εσωτερικό γινόμενο της i-οστής γραμμής gi της μήτρας G που δίνεται από τη σχέση (34) και της j-στής γραμμής της μήτρας Η δίνεται από τη σχέση gi hj = pij pji = για i < k και για j < n-k και επομένως είναι G 8

19 HT = Επίσης οι n - k γραμμές της μήτρας Η είναι γραμμικά ανεξάρτητες μεταξύ τους Επομένως η μήτρα Η είναι μία μήτρα ελέγχου ισοτιμίας του γραμμικού κώδικα (nk) που παράγεται από τη μήτρα G της (34) Οι εξισώσεις ισοτιμίας της (35β) μπορούν επίσης να προκύψουν και από τη μήτρα ελέγχου ισοτιμίας Η της (36) Έστω u = ( u u uk- ) το προς κωδικοποίηση μήνυμα Σε συστηματική μορφή θα είναι v = ( υ υ υn-k- u u uk- ) Με βάση το ότι v HT = είναι υj + u pj + u pj + + uk- pk-j = για j < n-k (37) Αναδιατάσσοντας τις εξισώσεις (37) μπορούμε να καταλήξουμε πάλι στις εξισώσεις ελέγχου ισοτιμίας (35β) Επομένως ο (nk) κώδικας ορίζεται πλήρως από τη μήτρα ελέγχου ισοτιμίας 3 ΣΥΝΔΡΟΜΟ ΚΑΙ ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ Έστω ο (nk) γραμμικός κώδικας μπλοκ με μήτρα γεννήτορα G και μήτρα ελέγχου ισοτιμίας Η Έστω v = ( υ υ υn- ) η κωδικολέξη που μεταδίδεται μέσω ενός καναλιού με θόρυβο και r = ( r r rn- ) το διάνυσμα που λαμβάνεται στην άκρη του καναλιού Λόγω της επίδρασης του θορύβου το r υπάρχει περίπτωση να είναι διαφορετικό από το v Το άθροισμα των διανυσμάτων e = r + v = ( e e en- ) (38) όπου ei = για ri = υi και ei = για ri υi ονομάζεται διάνυσμα σφάλματος ή πρότυπο σφάλματος Τα αντιστοιχούν σε σφάλματα μετάδοσης που εισάγει το κανάλι λόγω θορύβου Από την (39) συνάγεται ότι είναι r=v+e (39) Ο δέκτης φυσικά δεν γνωρίζει εκ των προτέρων αν υπάρχουν σφάλματα και ποια είναι αυτά Θα πρέπει πρώτα από όλα να καθορίσει αν υπάρχουν σφάλματα άμα τη λήψη του r Αν εντοπιστεί η ύπαρξη σφαλμάτων ο αποκωδικοποιητής θα πρέπει είτε να φροντίσει να εντοπίσει και να διορθώσει τα σφάλματα είτε να ζητήσει επανεκπομπή του v Όταν λαμβάνεται το r ο αποκωδικοποιητής υπολογίζει την ποσότητα s = r HT (3) = ( s s sn-k- ) που καλείται σύνδρομο του r Τότε θα είναι s = εάν και μόνο εάν το r είναι κωδικολέξη και θα είναι s εάν και μόνο εάν το r δεν είναι κωδικολέξη Επομένως εάν είναι s τότε το r δεν είναι κωδικολέξη και μπορεί να ανιχνευθεί η ύπαρξη σφαλμάτων Στην περίπτωση που είναι s = τότε το r είναι κωδικολέξη και ο δέκτης αποδέχεται την εκπεμπόμενη κωδικολέξη ως σωστή Υπάρχει περίπτωση ακόμα και αν είναι s = r HT = συγκεκριμένα σφάλματα να μην ανιχνεύονται Αυτό συμβαίνει όταν ένα πρότυπο σφάλματος συμπίπτει με μία κωδικολέξη και αναπόφευκτα προκύπτει r HT = Πρότυπα σφάλματος αυτού του είδους ονομάζονται μη-ανιχνεύσιμα Εφόσον υπάρχουν 9

20 k- κωδικολέξεις συνάγεται ότι υπάρχουν k- μη-ανιχνεύσιμα πρότυπα σφάλματος Όταν συμβαίνει ένα μη-ανιχνεύσιμο πρότυπο σφάλματος ο αποκωδικοποιητής υπόκειται σε λάθος αποκωδικοποίησης s = r + rn-k p + rn-k+ p + + rn- pk- s = r + rn-k p + rn-k+ p + + rn-- pk- sn-k- = rn-k- + rn-k pn-k- + rn-k+ pn-k- + (3) + rn- pk-n-k- Το σύνδρομο που υπολογίζεται για το λαμβανόμενο διάνυσμα r στην πραγματικότητα εξαρτάται μόνο από το πρότυπο σφάλματος e και όχι από τη μεταδιδόμενη κωδικολέξη v Εφόσον το r είναι το διανυσματικό άθροισμα των v και e από την (3) προκύπτει ότι s = r HT = (v+e)ht = v HT + e HT είναι όμως v HT = Επομένως προκύπτει η ακόλουθη σχέση μεταξύ συνδρόμου και προτύπου σφάλματος: s = e HT (3) Εάν η μήτρα ελέγχου ισοτιμίας είναι εκφρασμένη σε συστηματική μορφή όπως δείχνεται στη σχέση (36) τότε ισχύει η ακόλουθη σχέση μεταξύ των ψηφίων του συνδρόμου και των ψηφίων του σφάλματος: s = e + en-k p + en-k+ p + + en- pk- s = e + en-k p + en-k+ p + + en-- pk- sn-k- = en-k- + en-k pn-k- + en-k+ pn-k- + (33) + en- pk-n-k- Όπως φαίνεται τα ψηφία του συνδρόμου είναι γραμμικοί συνδυασμοί των ψηφίων του λάθους Επομένως μπορούν να χρησιμοποιηθούν στη διόρθωση των σφαλμάτων Με μια πρώτη ματιά κάποιος μπορεί να συμπεράνει ότι οποιαδήποτε μέθοδος διόρθωσης συνίσταται στη λύση του συστήματος των n k γραμμικών εξισώσεων της (33) Εφόσον βρεθεί

21 το πρότυπο σφάλματος e το διάνυσμα r + e μπορεί να θεωρηθεί ως η αρχική εκπεμπόμενη κωδικολέξη Δυστυχώς τα πράγματα δεν είναι τόσο απλά διότι το σύστημα των γραμμικών εξισώσεων της (33) δεν έχει μία μοναδική λύση αλλά k λύσεις δηλ αντιστοιχούν k διαφορετικά πρότυπα σφάλματος στο ίδιο σύνδρομο Για να ελαχιστοποιηθεί η πιθανότητα να παρουσιαστεί σφάλμα την αποκωδικοποίηση επιλέγεται ως διάνυσμα σφάλματος το πιο πιθανό πρότυπο σφάλματος που ικανοποιεί τις εξισώσεις της (33) Αν το κανάλι είναι BSC (Binary Symetric Channel) τότε το πιο πιθανό λάθος είναι αυτό με τον μικρότερο αριθμό μη-μηδενικών ψηφίων 33 Η ΕΛΑΧΙΣΤΗ ΑΠΟΣΤΑΣΗ ΕΝΟΣ ΚΩΔΙΚΑ ΜΠΛΟΚ Θα αναφερθούμε σε μία σημαντική παράμετρο ενός κώδικα μπλοκ που ονομάζεται ελάχιστη απόσταση (minimum distance) Αυτή η παράμετρος καθορίζει την ικανότητα τυχαίου εντοπισμού σφαλμάτων και τυχαίας διόρθωσης σφαλμάτων ενός κώδικα Για κάποιο ψηφιακό n-διάστατο διάνυσμα v = ( υ υ υn- ) το βάρος Hamming (Hamming weight) ή απλά βάρος (weight) του v w(v) ορίζεται ως ο αριθμός των μη μηδενικών στοιχείων του v Για δύο δυαδικά διανύσματα v και w η απόσταση Hamming ή απλά απόσταση d(vw) ορίζεται ως ο αριθμός των θέσεων στις οποίες διαφέρουν Για παράδειγμα η απόσταση Hamming μεταξύ των v = ( ) και w = ( ) είναι 3 Η απόσταση Hamming είναι μία μετρική συνάρτηση που ικανοποιεί την τριγωνική ανισότητα Για τα τρία n-διάστατα διανύσματα vw και x ισχύει d(vw) + d(wx) d(vx) (34) Από τον ορισμό της απόστασης Hamming και από την modulo- πρόσθεση συνάγεται ότι η απόσταση Hamming μεταξύ των δύο n-διάστατων διανυσμάτων v και w ισούται με το βάρος Hamming του αθροίσματος των v και w d(vw) = w(v + w) (35) Για έναν δεδομένο κώδικα μπλοκ C η απόσταση Hamming μπορεί να υπολογιστεί μεταξύ οποιωνδήποτε κωδικολέξεων Η ελάχιστη απόσταση dmin του κώδικα C ορίζεται ως dmin = min { d(v w) : vw ανήκουν στο C και v w } (36) Αν C είναι ένας γραμμικός κώδικας μπλοκ το άθροισμα δύο διανυσμάτων του κώδικα είναι επίσης διάνυσμα του κώδικα Από την (35) συνάγεται ότι η απόσταση Hamming μεταξύ δύο διανυσμάτων του κώδικα C ισούται με το βάρος Hamming ενός τρίτου διανύσματος του κώδικα C Από την (36) συνάγεται ότι είναι dmin = min { w(v w) : vw ανήκουν στο C v w } (37) = min { w(x) : x ανήκει στο C x } wmin Η παράμετρος wmin = { w(x) : x ανήκει στο C x } καλείται ελάχιστη απόσταση του γραμμικού κώδικα C Συνοψίζοντας μπορούμε να πούμε ότι η ελάχιστη απόσταση ενός γραμμικού κώδικα μπλοκ ισούται με το ελάχιστο βάρος των μη-μηδενικών στοιχείων του Ισχύει επίσης το ακόλουθο θεώρημα Για έναν γραμμικό κώδικα μπλοκ (nk) με μήτρα ελέγχου ισοτιμίας H για κάθε κωδικολέξη με βάρος Hamming l υπάρχουν l στήλες της H τέτοιες ώστε το άθροισμα των διανυσμάτων αυτών των l στηλών να ισούται με το μηδενικό διάνυσμα Αντίστροφα αν υπάρχουν l στήλες της H των οποίων το διανυσματικό άθροισμα να ισούται με το μηδενικό

22 διάνυσμα τότε υπάρχει ένα διάνυσμα στον κώδικα C με βάρος Hamming l Ως συνέπεια του θεωρήματος ισχύει ότι για έναν γραμμικό κώδικα C με μήτρα ελέγχου ισοτιμίας H αν καμία από τις d- ή λιγότερες στήλες της H έχουν άθροισμα τότε ο κώδικας έχει ελάχιστο βάρος d τουλάχιστο Επίσης αν C είναι ένας γραμμικός κώδικας με μήτρα ελέγχου ισοτιμίας Η το ελάχιστο βάρος (ή η ελάχιστη απόσταση) του C ισούται με τον ελάχιστο αριθμό των στηλών της Η των οποίων το άθροισμα είναι 34 ΙΚΑΝΟΤΗΤΑ ΔΙΟΡΘΩΣΗΣ ΣΦΑΛΜΑΤΩΝ ΕΝΟΣ ΚΩΔΙΚΑ ΜΠΛΟΚ Όταν μία κωδικολέξη v μεταδίδεται μέσω ενός καναλιού με θόρυβο προκύπτει ένα πρότυπο l σφαλμάτων σύμφωνα με το οποίο το λαμβανόμενο διάνυσμα r διαφέρει από το v σε l τον αριθμό σημεία Αν η ελάχιστη απόσταση ενός κώδικα μπλοκ είναι dmin όλα τα πιθανά πρότυπα σφάλματος με t = ( dmin )/ ή λιγότερα σφάλματα Η παράμετρος t καλείται ικανότητα διόρθωσης τυχαίου σφάλματος και ο κώδικας C αποκαλείται κώδικας διόρθωσης t σφαλμάτων Αποδεικνύεται επίσης ότι κάθε γραμμικός κώδικας μπλοκ (nk) είναι ικανός να διορθώσει n-k πρότυπα σφάλματος 35 ΚΩΔΙΚΕΣ HAMMING Οι κώδικες Hamming είναι η πρώτη κατηγορία γραμμικών κωδίκων που επινοήθηκαν για διόρθωση σφαλμάτων και παραλλαγές τους βρίσκουν ευρεία εφαρμογή στη διαχείριση σφαλμάτων σε συστήματα ψηφιακής επικοινωνίας και αποθήκευσης Οι κώδικες Hamming ορίζονται ως εξής: n = m- Μήκος κώδικα: k = m - m - Πλήθος συμβόλων πληροφορίας: Πλήθος συμβόλων ελέγχου ισοτιμίας: n-k=m Ικανότητα διόρθωσης σφαλμάτων: t = (dmin = 3) Η μήτρα ελέγχου ισοτιμίας αυτών των κωδίκων αποτελείται από όλα τα μη-μηδενικά m-διάστατα διανύσματα ως στήλες Σε συστηματική μορφή οι στήλες της μήτρας Η διατάσσονται σύμφωνα με τον ακόλουθο τύπο: H = [Im Q] όπου Im είναι η m x m μοναδιαία μήτρα και η υπο-μήτρα Q αποτελείται από m - m στήλες οι οποίες είναι m-διάστατα διανύσματα με βάρος μεγαλύτερο ή ίσο από Για παράδειγμα για m = 3 η μήτρα ισοτιμίας του κώδικα Hamming με μήκος 7 μπορεί να αναπαρασταθεί με τη μορφή H = Οι στήλες της μήτρας Q μπορούν να διαταχθούν με οποιαδήποτε σειρά χωρίς αυτό να επηρεάζει την ιδιότητα της απόστασης και την κατανομή του βάρους του κώδικα

23 Η μήτρα γεννήτορας G μπορεί να εκφραστεί σε συστηματική μορφή ως G = [ QT I ] m -m- όπου QT είναι η αντιμεταθετική μήτρα του Q και I μοναδιαία μήτρα m -m- είναι ένας (m - m ) x (m - m ) Εφόσον οι στήλες της μήτρας H είναι μη-μηδενικές και διακριτές το άθροισμα δύο στηλών της Η δεν μπορεί να είναι μηδενικό Με βάση τις ιδιότητες της ελάχιστης απόστασης κώδικα μπλοκ προκύπτει ότι η ελάχιστη απόσταση ενός κώδικα Hamming είναι 3 Επομένως ο κώδικας έχει την ικανότητα να διορθώσει όλα τα πρότυπα λάθους με ένα σφάλμα και να ανιχνεύσει όλα τα πρότυπα λάθους με δύο σφάλματα 36 ΚΥΚΛΙΚΟΙ ΚΩΔΙΚΕΣ Οι Κυκλικοί κώδικες αποτελούν μια σημαντική υποκατηγορία των γραμμικών κωδίκων Αυτό το είδος κωδίκων έχει πρακτικό ενδιαφέρον για δύο λόγους: πρώτον η κωδικοποίηση και ο υπολογισμός του συνδρόμου μπορεί να υλοποιηθεί εύκολα με τη χρήση καταχωρητών ολίσθησης (shift registers) με συνδέσεις ανάδρασης και δεύτερον επειδή η ιδιαίτερη αλγεβρική τους δομή επιτρέπει πολλές μεθόδους για την αποκωδικοποίησή τους 37 ΠΕΡΙΓΡΑΦΗ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ Αν τα στοιχεία ενός n-διάστατο διανύσματος v = ( υ υ υn- ) ολισθήσουν κατά μία θέση προς τα δεξιά προκύπτει ένα άλλο n- διάστατο διάνυσμα v() = ( υn- υ υ υn- ) που καλείται κυκλική ολίσθηση του v Αν τα στοιχεία του v ολισθήσουν κυκλικά προς τα δεξιά κατά i θέσεις το διάνυσμα που προκύπτει θα είναι το v(i) = ( υn-i υn-i+ υn- υ υ υn-t-) Είναι φανερό ότι η κυκλική ολίσθηση του v κατά i θέσεις προς τα δεξιά ισοδυναμεί με κυκλική ολίσθηση κατά n-i θέσεις προς τα αριστερά Ένας (nk) γραμμικός κώδικας C καλείται κυκλικός κώδικας αν κάθε κυκλική ολίσθηση ενός κωδικοδιανύσματός του αποτελεί επίσης κωδικοδιάνυσμα του κώδικα αυτού Ο γραμμικός κώδικας (74) στον Πίνακα 3 αποτελεί παράδειγμα κυκλικού κώδικα Το πολυώνυμο g(x) ονομάζεται πολυώνυμο γεννήτορας του κυκλικού κώδικα Πίνακας 3 Κώδικας (74) με πολυώνυμο γεννήτορα το g(x)= + X + X3 Μήνυμα Κωδικολέξεις Πολυώνυμα κώδικα = g(x) + X + X3 = g(x) X + X + X4 = X g(x) + X + X3 + X4 = ( + X ) g(x) X + X3 + X5 = X g(x) + X + X + X5 = ( + X) g(x) X + X3 + X4 + X5 = ( X + X) g(x) 3

24 + X4 + X5 = ( + X + X ) g(x) X3 + X4 + X6 = X3 g(x) + X + X4 + X6 = ( + X3 ) g(x) X + X + X3 + X6 = ( X + X3 ) g(x) + X + X6 = ( + X + X3 ) g(x) X + X4 + X5 + X6 = ( X + X3 ) g(x) + X + X + X3 + X4 + X5 + X6= ( + X + X3 ) g(x) X + X5 + X6 = ( X + X + X3) g(x) + X3 + X5 + X6 = ( + X + X + X3 ) g(x) Για να εκμεταλλευτούμε τις αλγεβρικές ιδιότητες ενός κυκλικού κώδικα χρησιμοποιούμε την αλγεβρική αναπαράσταση που προκύπτει αν θέσουμε τα στοιχεία ενός διανύσματος v = ( υ υ υn- ) του κώδικα ως συντελεστές ενός πολυωνύμου v(χ) = ( υ+ υx +υx + υn- Xn-) Με αυτόν τον τρόπο κάθε κωδικολέξη αντιστοιχεί σε ένα πολυώνυμο n- βαθμού ή μικρότερου Οι όροι κωδικολέξη κωδικοδιάνυσμα και πολυώνυμο κώδικα που θα χρησιμοποιηθούν στη συνέχεια έχουν ταυτόσημη έννοια Το πολυώνυμο κώδικα που αντιστοιχεί στο κωδικοδιάνυσμα v(i) είναι το v(i)(χ)= υn-i + υn-i+χ ++ υn-xi- + υ Xi+ υχi+ + + υn-i-xn- Υπάρχει μία χρήσιμη αλγεβρική σχέση μεταξύ των διανυσμάτων v(χ) και v(i)(χ) Πολλαπλασιάζοντας το v(χ) με Xi προκύπτει η σχέση Xiv(Χ)= υχi + υχi+ ++ υn-i-xn- + + υn-xn+i- η οποία μπορεί να γραφεί και ως Xiv(Χ) = υn-i + υn-i+χ ++ υn-xi- + υ Xi+ + υn-i-xn- + υn-i (Xn+) + υn-i+χ(xn+) ++ υn-t-xi-(xn+) = q(x)(xn+) + v(i)(χ) (38) όπου q(x) = υn-i + υn-i+χ ++ υn-t-xi- Από την (38) προκύπτει ότι το πολυώνυμο κώδικα v(i)(χ) είναι το υπόλοιπο της διαίρεσης του πολυωνύμου Xiv(Χ) δια το Xn+ Ακολουθούν μία σειρά από σημαντικές αλγεβρικές ιδιότητες των κυκλικών κωδίκων Αποδεικνύεται ότι το μη μηδενικό πολυώνυμο γεννήτορας ελάχιστου βαθμού σε έναν κυκλικό κώδικα C είναι μοναδικό Επίσης αν g(x) = g + gx + + gr-xr- + Xr ένα μη-μηδενικό πολυώνυμο γεννήτορας ελάχιστου βαθμού για τον (nk) κυκλικό κώδικα C τότε ο όρος g θα πρέπει να είναι ίσος με Με βάση τις δύο παραπάνω προτάσεις το πολυώνυμο γεννήτορας ενός κυκλικού κώδικα έχει τη μορφή 4

25 g(x)= + gx + gx + gr-xr- + Xr (39) Ισχύει επίσης ότι για ένα πολυώνυμο γεννήτορα g(x) = + gx + gx + gr-xr- + grxr ελάχιστου βαθμού ενός (nk) κυκλικού κώδικα C ένα δυαδικό πολυώνυμο βαθμού n ή μικρότερου είναι πολυώνυμο κώδικα εάν και μόνο εάν είναι πολλαπλάσιο του g(x) Ο βαθμός των δυαδικών πολυωνύμων βαθμού n- ή μικρότερου που είναι πολλαπλάσια του g(x) είναι n-r Προκύπτει με βάση την προηγούμενη ιδιότητα ότι αυτά τα πολυώνυμα αποτελούν το σύνολο των πολυωνύμων του κώδικα τα οποία είναι k τον αριθμό Θα πρέπει επομένως να είναι n-r = k =>r = n -k δηλαδή ο βαθμός του πολυωνύμου γεννήτορα είναι n -k Επομένως το πολυώνυμο γεννήτορας ενός κυκλικού κώδικα (nk) C είναι της μορφής g(x)= + gx + gx + gn-k-xn-k- + Xn-k (3) Αποδεικνύεται επίσης ότι για έναν κυκλικό κώδικα (nk) υπάρχει μόνο ένα πολυώνυμο γεννήτορας βαθμού n-k g(x)= + gx + gx + gn-k-xn-k- + Xn-k Με βάση τα παραπάνω ισχύει ότι οποιαδήποτε κωδικολέξη v(x) ενός κυκλικού κώδικα μπορεί να εκφραστεί με την ακόλουθη σχέση v(x) = u(x)g(x) = (u + ux + + uk-xk-)g(x) Αν οι όροι του u(x) u u uk- είναι τα k ψηφία πληροφορίας προς κωδικοποίηση τότε το v(x) είναι η αντίστοιχη κωδικολέξη Επομένως η κωδικοποίηση μπορεί να πραγματοποιηθεί με το να πολλαπλασιάσουμε το u(x) με το g(x)επομένως το πολυώνυμο γεννήτορας g(x) και μόνο αρκεί για να ορίσει έναν κυκλικό κώδικα Ισχύει επίσης ότι το πολυώνυμου γεννήτορας g(x) ενός κώδικα (nk) είναι παράγοντας του Xn + Επίσης αν g(x) είναι ένα πολυώνυμο βαθμού n k το οποίο τυγχάνει να είναι και παράγοντας του Xn + τότε το g(x) ορίζει έναν (nk) κυκλικό κώδικα 38 ΓΕΝΝΗΤΟΡΕΣ ΚΑΙ ΜΗΤΡΕΣ ΕΛΕΓΧΟΥ ΙΣΟΤΙΜΙΑΣ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ Για έναν (nk) κυκλικό κώδικα C με πολυώνυμο γεννήτορα g(x)= + gx + gx + gn-k-xn-k- + Xn-k λαμβάνοντας υπόψη την ιδιότητα της κυκλικής ολίσθησης καταλήγουμε ότι η μήτρα γεννήτορας G είναι της μορφής g g g G = gn-k g g g g g g gn-k gn-k g g g (3) gn-k 5

26 με g = gn-k = Γενικά η μήτρα G δεν είναι σε συστηματική μορφή μπορεί όμως να μετατραπεί σε συστηματική μορφή με κατάλληλες πράξεις μεταξύ των γραμμών της Εφόσον το πολυώνυμο γεννήτορας g(x) είναι παράγοντας του Xn+ μπορούμε να ορίσουμε Xn+ = g(x)h(x) (3) όπου το πολυώνυμο h(χ) είναι k βαθμού και έχει τη μορφή h(x)= h + hx ++ hkxk με h = hk= Δεδομένης μια κωδικολέξης v = ( υ υ υn- ) του κώδικα C μπορούμε να θεωρήσουμε ότι είναι v(x) = a(x)g(x) και λαμβάνουμε v(x)h(x)= a(x)g(x)h(x) = a(x)(xn - ) (33) = a(x) + Xna(X) Εφόσον ο βαθμός του a(x) είναι k - ή μικρότερος οι δυνάμεις Xk Xk+ Xn- δεν εμφανίζονται στο a(x) + Xna(X) Αν αναπτύξουμε το γινόμενο v(x)h(x) στο αριστερό μέρος της (33) τότε οι συντελεστές των Xk Xk+ Xn- θα πρέπει να είναι μηδέν Επομένως λαμβάνουμε τις ακόλουθες σχέσεις: (34) Σki= hiυn-i-j = for j n-k Αν τώρα πάρουμε το ανεστραμμένο πολυώνυμο του h(x) που ορίζεται ως Xnh(X-)= hk + hk-x + hk-x+ hxk (35) μπορεί εύκολα να αποδειχτεί ότι το Χkh(Χ-) είναι επίσης παράγοντας του Xn + Επομένως το πολυώνυμο Χkh(Χ-) αντιστοιχεί σε έναν (nn-k) κυκλικό κώδικα με γεννήτορα μήτρα την h h h H = hn-k h h h h h h hn-k hn-k h h h (36) hn-k Από τις n - k ανισότητες της (34) προκύπτει ότι κάθε κωδικολέξη v είναι ορθογώνια σε κάθε γραμμή της μήτρας Η Για αυτόν τον λόγο η μήτρα Η αποτελεί τη μήτρα ελέγχου ισοτιμίας του κυκλικού κώδικα C και οι γραμμές της H σχηματίζουν τον δυϊκό κώδικα του C Για αυτόν τον λόγο το h(x) ονομάζεται πολυώνυμο ισοτιμίας του C Επομένως το πολυώνυμο ισοτιμίας h(x) ορίζει πλήρως τον κώδικα C 6

27 Με βάση τα προηγούμενα προκύπτει ότι για έναν κυκλικό κώδικα (nk) C με πολυώνυμο γεννήτορα g(x) ο δυϊκός κώδικας Cd του C είναι επίσης κυκλικός και ορίζεται από το πολυώνυμο γεννήτορα Χkh(Χ-) όπου h(x) = (Xn + )/g(x) 39 ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ Η κωδικοποίηση κυκλικών κωδίκων σε συστηματική μορφή αποτελείται από τρία βήματα: Πολλαπλασιασμός του πολυωνύμου μηνύματος u(x) με Xn-k Διαίρεση του Xn-ku(X) με g(x) για να προκύψει το υπόλοιπο b(x) 3 Σχηματισμός της κωδικολέξης b(x) + Xn-ku(X) Όλα τα παραπάνω βήματα μπορούν να πραγματοποιηθούν με έναν καταχωρητή ολίσθησης (n-k) βαθμίδων με συνδέσεις ανάδρασης (Σχ3) ο οποίος αντιστοιχεί στην υλοποίηση του πολυωνύμου γεννήτορα g(x)= + gx + gx + gn-k-xn-k- + Xn-k Η διαδικασία κωδικοποίησης πραγματοποιείται ως ακολούθως: Με ανοικτό το διακόπτη τα k ψηφία της πληροφορίας u uuk- ολισθαίνουν στο κύκλωμα και ταυτόχρονα μεταδίδονται στο κανάλι μετάδοσης Όταν όλα τα ψηφία πληροφορίας ολισθήσουν στο κύκλωμα στον καταχωρητή περιέχονται τα n-k ψηφία ελέγχου ισοτιμίας Αμέσως μετά ο διακόπτης ανοίγει και τα ψηφία ισοτιμίας b bbn-k- ολισθαίνουν στο κανάλι Τα k ψηφία πληροφορίας μαζί με τα n-k ψηφία ελέγχου ισοτιμίας σχηματίζουν την κωδικολέξη του κυκλικού κώδικα διακόπτης g b gn-k- g b b bn-k- μήνυμα Xn-ku(X) κωδικολέξη Σχ3 Κύκλωμα κωδικοποίησης για κυκλικό κώδικα (nk) με πολυώνυμο γεννήτορα g(x) = + gx + gx + gn-k-xn-k- + Xn-k 3 ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ ΚΥΚΛΙΚΩΝ ΚΩΔΙΚΩΝ Λόγω της επίδρασης του θορύβου το λαμβανόμενο διάνυσμα r = (r r rn-) είναι πιθανό να διαφέρει από την εκπεμπόμενη κωδικολέξη Το πρώτο βήμα για την αποκωδικοποίηση των γραμμικών κωδίκων είναι ο υπολογισμός του συνδρόμου s = r HT όπου H είναι η μήτρα ελέγχου ισοτιμίας Αν το σύνδρομο είναι μηδέν τότε το λαμβανόμενο διάνυσμα γίνεται αποδεκτό ως η εκπεμπόμενη κωδικολέξη Αν όχι τότε θεωρείται ότι έχουν ανιχνευθεί σφάλματα Αν αναπαραστήσουμε το λαμβανόμενο διάνυσμα σαν πολυώνυμο n - ή μικρότερου βαθμού έχουμε r(x) = r + rχ + rx + rn-xn- Διαιρώντας το r(x) με το πολυώνυμο γεννήτορα g(x) έχουμε 7

28 r(x) = a(x)g(x) + s(x) (37) με το s(x) να αποτελεί το υπόλοιπο της διαίρεσης και να είναι n-k- ή μικρότερου βαθμού Ο υπολογισμός του συνδρόμου μπορεί να υλοποιηθεί με το κύκλωμα που παρουσιάζεται στο Σχ3 διακόπτης g r(x) s gn-k- g s s sn-k- Λαμβανόμενο διάνυσμα Σχ3 Υπολογισμός συνδρόμου για κυκλικό κώδικα (nk) με πολυώνυμο γεννήτορα g(x) = + gx + gx + gn-k-xn-k- + Xn-k Το κύκλωμα για τον υπολογισμό του συνδρόμου είναι παρόμοιο με αυτό για την κωδικοποίηση με τη διαφορά ότι το διάνυσμα r(x) εισάγεται από τα αριστερά Αρχικά όλοι οι καταχωρητές της διάταξης έχουν την τιμή Το λαμβανόμενο διάνυσμα εισάγεται σειριακά στη διάταξη και όταν ολοκληρωθεί η ολίσθηση και του τελευταίου ψηφίου οι καταχωρητές περιέχουν την τιμή του συνδρόμου που αντιστοιχεί στο λαμβανόμενο διάνυσμα r(x) Αν το σύνδρομο είναι μη-μηδενικό τότε στο λαμβανόμενο διάνυσμα r(x) θα πρέπει να εφαρμοστεί μία κατάλληλη διαδικασία διόρθωσης Για τους κυκλικούς κώδικες ισχύει ότι αν είναι s(χ) το σύνδρομο για λαμβανόμενο διάνυσμα r(x) τότε το s()(χ) θα είναι το σύνδρομο για το ολισθημένο λαμβανόμενο διάνυσμα r()(χ) Ας θεωρήσουμε ότι v(x) είναι το μεταδιδόμενο διάνυσμα και e(x) = e + e + + en-xn- το πρότυπο σφάλματος Τότε το λαμβανόμενο πολυώνυμο μπορεί να αναπαρασταθεί ως r(x) = v(x) + e(x) (38) Συνδυάζοντας τις (37) και (38) μπορούμε να γράψουμε ότι e(x) = [a(x) + b(x)]g(x) + s(x)] (39) όπου b(x)g(x) = v(x) Η σχέση (39) στην ουσία δηλώνει ότι η το σύνδρομο είναι ίσο με το υπόλοιπο της διαίρεσης του προτύπου λάθους δια το πολυώνυμο γεννήτορα Ενώ το σύνδρομο υπολογίζεται από το λαμβανόμενο διάνυσμα r(x) το πρότυπο σφάλματος υπολογίζεται από το σύνδρομο Αν υποθέσουμε ότι το διάνυσμα σφάλματος είναι μία ακολουθία (burst) συνεχόμενων n k τον αριθμό ή λιγότερων ψηφίων τότε μπορούμε να εκφράσουμε το πρότυπο σφάλματος ως e(x) = Xj B(X) όπου j n- και Β(Χ) είναι πολυώνυμο βαθμού n k ή μικρότερου Από τη στιγμή που ο βαθμός του Β(Χ) είναι μικρότερος από το βαθμό του γεννήτορα πολυωνύμου g(x) το Β(Χ) δεν 8

29 διαιρείται με το g(x) Επίσης επειδή το g(x) είναι παράγοντας του Xn + και το Χ δεν είναι παράγοντας του g(x) τα g(x) και Xj είναι μεταξύ τους σχετικά πρώτα (relatively prime) δηλαδή ο ελάχιστος κοινός διαιρέτης τους είναι το Επομένως τα e(x) και Xj B(X) δεν διαιρούνται με το g(x) με αποτέλεσμα το e(x) να είναι μη-μηδενικό Ως απόρροια αυτού είναι ότι ένας κυκλικός κώδικας είναι ικανός να ανιχνεύσει n k ή λιγότερα σφάλματα διαταγμένα σε μία συνεχή ακολουθία ψηφίων (burst) κατά μήκος του λαμβανόμενου διανύσματος Αποδεικνύεται ότι αυτό ισχύει για τα ακολουθίες που αναδιπλώνονται σε σχέση με τα όρια του λαμβανόμενου διανύσματος (end-around burst) όπως για παράδειγμα E= ( ) Στο Σχ 33 παρουσιάζεται η τυπική δομή ενός αποκωδικοποιητή για (nk) κυκλικό κώδικα Τα βήματα που ακολουθούνται για την αποκωδικοποίηση είναι τα εξής: Υπολογίζεται το σύνδρομο με πραγματοποίηση ολίσθησης ολόκληρου του λαμβανόμενου διανύσματος στο Καταχωρητή Συνδρόμου Ταυτόχρονα το λαμβανόμενο διάνυσμα αποθηκεύεται στη Μνήμη Προσωρινής Αποθήκευσης (Buffer) Το σύνδρομο εξετάζεται αν αντιστοιχεί σε κάποιο πρότυπο σφάλματος και αν το σύνδρομο στον Καταχωρητή Συνδρόμου αντιστοιχεί σε σφάλμα που μπορεί να διορθωθεί 3 Αν το σφάλμα μπορεί να διορθωθεί τότε πραγματοποιείται η διαδικασία διόρθωσης ολισθαίνοντας ταυτόχρονα το Κύκλωμα Ανίχνευσης Σφαλμάτων και τη Μνήμη Προσωρινής Αποθήκευσης και προσθέτοντας σε κάθε όρο του πολυωνύμου λαμβανόμενου μηνύματος ri τον αντίστοιχο όρο διόρθωσης σφάλματος ei από το διάνυσμα προτύπου σφάλματος e(x) 4 Η διαδικασία επαναλαμβάνεται για κάθε λαμβανόμενη κωδικολέξη διακόπτης r(x) διακόπτης ri Μνήμη Προσωρινης Αποθήκευσης Διορθωμένο διάνυσμα Λαμβανόμενο διάνυσμα διακόπτης Λογική Ανάδρασης διακόπτης Καταχωρητής Συνδρόμου Διάταξη ανίχνευσης σφαλμάτων ei διακόπτης Σχ33 Τυπική δομή ενός αποκωδικοποιητή κυκλικού κώδικα 3 BCH ΚΩΔΙΚΕΣ Οι κώδικες BCH (Bose Chaundhuri Hocquenghem) απαρτίζουν μία μεγάλη κατηγορία ισχυρών κυκλικών κωδίκων Αποτελούν μία γενίκευση των κωδίκων Hamming για πολλαπλή διόρθωση 9

30 σφαλμάτων Σημαντική επίσης είναι και η γενίκευση των δυαδικών BCH σε μη-δυαδικούς BCH κώδικες με pm σύμβολα Μία ειδική περίπτωση αυτής της υποκατηγορίας μη-δυαδικών κωδίκων είναι και οι κώδικες Reed Solomon (RS) που αποτελεί το αντικείμενο αυτής της εργασίας Για οποιονδήποτε θετικό ακέραιο m (m 3) και t (t < m-) υπάρχει ένας δυαδικός BCH κώδικας με τις ακόλουθες παραμέτρους: Μήκος Μπλοκ: n = m - Πλήθος ψηφίων ελέγχου ισοτιμίας: n k mt Ελάχιστη Απόσταση: dmin t + Είναι φανερό ότι αυτό το είδος κώδικα είναι ικανό να διορθώσει οποιονδήποτε συνδυασμό t ή λιγότερων σφαλμάτων σε ένα μπλοκ n = m ψηφίων Ένας τέτοιος κώδικας θα αναφέρεται στη συνέχεια ως κώδικας BCH ικανότητας διόρθωσης t Το πολυώνυμο γεννήτορας αυτού του κώδικα ορίζεται με βάση τις ρίζες του από ένα Galois πεδίο GF(m) Αν α είναι το πρωτογεννές στοιχείο του GF(m) το πολυώνυμο γεννήτορας g(x) ενός BCH κώδικα ικανότητας διόρθωσης t και μήκους m ψηφίων θα είναι το πολυώνυμο ελάχιστου βαθμού στο πεδίο GF() τέτοιο ώστε τα α α α3 αt (33) να είναι ρίζες του [δηλ g(αi) = για i t] Από τη αλγεβρική θεωρία των πεδίων ισχύει ότι αν τα α α α3 αt είναι ρίζες του g(x) τότε θα είναι ρίζες του g(x) και οι συζυγείς των α α α3 αt Αν Φi(X) είναι το ελάχιστο πολυώνυμο του αi τότε το g(x) θα είναι το ελάχιστο κοινό πολλαπλάσιο των Φ(X) Φ(X) Φl(X) g(x) = LCM{Φ(X) Φ(X) Φt(X)} (33) Αν i είναι ζυγός ακέραιος και l ισχύει i = i'l όπου i' είναι ένας μονός αριθμός και l Τότε το αi = (αi')^l είναι συζυγές του αi' με συνέπεια τα αi' να έχουν το ίδιο ελάχιστο πολυώνυμο δηλαδή Φi(Χ) = Φi'(X) Επομένως κάθε ζυγή δύναμη του α στην ακολουθία της (33) έχει το ίδιο ελάχιστο πολυώνυμο με κάποια προηγούμενη ζυγή δύναμη του α στην ίδια ακολουθία Ως συνέπεια αυτού το πολυώνυμο γεννήτορας g(x) ενός δυαδικού BCH κώδικα ικανότητας διόρθωσης t και μήκους m που δίνεται από τη σχέση (39) μπορεί να απλουστευθεί στη μορφή g(x) = LCM{Φ(X) Φ3(X) Φt-(X)} (33) Εφόσον ο βαθμός του κάθε ελάχιστου πολυώνυμου είναι m ή και μικρότερος ο βαθμός του g(x) είναι το πολύ mt Με βάση αυτό ο αριθμός των ψηφίων ελέγχου ισοτιμίας n k είναι το πολύ mt Από την (33) βλέπουμε ότι ένας BCH κώδικας ικανότητας διόρθωσης ενός λάθους και μήκους m παράγεται από το g(x) = Φ(Χ) Από τη στιγμή που το α είναι το πρωτογεννές στοιχείο του πεδίου GF( m) το Φ(Χ) είναι πρωτογεννές πολυώνυμο βαθμού m Για αυτό το λόγο ένας BCH κώδικας ικανότητας διόρθωσης 3

31 ενός λάθους και μήκους m είναι ένας κώδικας Hamming Έστω v(χ) = υ+ υx +υx + υn- Xn- ένα πολυώνυμο με συντελεστές από το GF() Αν τα α α α3 αt είναι ρίζες του τότε με βάση την αλγεβρική θεωρία το v(x) διαιρείται με τα ελάχιστα πολυώνυμα Φ(X) Φ3(X) Φt(X) των α α α3 αt Προφανώς και το v(x) διαιρείται με το ελάχιστο κοινό πολλαπλάσιο αυτών των ελάχιστων πολυωνύμων δηλ με το πολυώνυμο γεννήτορα g(x) g(x) = LCM{Φ(X) Φ(X) Φt(X)} Επομένως το v(x) αποτελεί κωδικολέξη Κατ' επέκταση μπορούμε να ορίσουμε έναν BCH κώδικα ικανότητας διόρθωσης t και μήκους n = m με τον ακόλουθο τρόπο Ένα διάνυσμα n διαστάσεων v = ( υ υ υn- ) είναι κωδικολέξη αν και μόνο εάν το πολυώνυμο v(χ) = υ+ υx +υx + υn- Xn- έχει τα α α α3 αt ως ρίζες του Στην περίπτωση αυτή ισχύει ότι v(αi) = υ + υαi + υαi υn- α(n-)i = (333) Αυτή η ανισότητα μπορεί να γραφεί σαν γινόμενο πινάκων ως αi ( υ υ υn- ) αi = (334) α(n-)i για i t Η συνθήκη της (334) απλά λέει ότι το εσωτερικό γινόμενο του ( υ υ υn- ) με το v(αi) = υ + υαi + υαi υn- α(n-)i = είναι ίσο με μηδέν Σχηματίζοντας την μήτρα που ακολουθεί Η = α α α3 αn- (α) (α) (α)3 (α)n- (α3) (α3) (α3)3 (α3)n- t t t 3 (α ) (α ) (α ) (335) t n- (α ) 3

32 προκύπτει από την (334) ότι αν το v = ( υ υ υn- ) είναι κωδικολέξη ενός BCH κώδικα ικανότητας διόρθωσης t θα ισχύει v HT = (336) Από την άλλη μεριά αν ένα διάνυσμα n συνιστωσών v = ( υ υ υn- ) ικανοποιεί τη συνθήκη της (336) τότε με βάση τις (333) και (334) για i t το αi είναι ρίζα του πολυωνύμου v(x) και κατά συνέπεια θα πρέπει να είναι και κωδικολέξη του BCH κώδικα με ικανότητα διόρθωσης t σφαλμάτων Επομένως η μήτρα H είναι η μήτρα ελέγχου ισοτιμίας του κώδικα Αν για κάποια i και j τα αi και αj είναι συζυγή θα ισχύει v(αj) = αν και μόνο εάν ισχύει v(αi) = Αυτό σημαίνει ότι εάν το εσωτερικό γινόμενο του v = ( υ υ υn- ) επί την i-οστή γραμμή της μήτρας H είναι μηδέντότε και το εσωτερικό γινόμενο του v επί την j-οστή γραμμή της μήτρας H θα είναι επίσης μηδέν Για αυτόν τον λόγο η j-οστή γραμμή της μήτρας H μπορεί να παραληφθεί και και η μήτρα Η να απλοποιηθεί στην ακόλουθη μορφή: Η = α α (α3) (α3) (α3)3 (α3)n- (α5) (α5) (α5)3 (α5)n- t- t- α3 t- 3 αn- (337) t- n- (α ) (α ) (α ) (α ) Αποδεικνύεται ότι η ελάχιστη απόσταση ενός BCH κώδικα με ικανότητα διόρθωσης σφαλμάτων t έχει ελάχιστη απόσταση τουλάχιστον t Η παράμετρος t ονομάζεται απόσταση σχεδίασης ενός BCH κώδικα με ικανότητα διόρθωσης t σφαλμάτων 3 ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ ΤΩΝ ΚΩΔΙΚΩΝ BCH Η αποκωδικοποίηση των κωδίκων BCH βασίζεται στον υπολογισμό του συνδρόμου με τρόπο παρόμοιο με τους κυκλικούς κώδικες όπως αυτή παρουσιάστηκε στις προηγούμενες παραγράφους Αν υποθέσουμε λόγω της μετάδοσης σε κανάλι με θόρυβο μία κωδικολέξη v(χ) = υ+ υx +υx + υn- Xn- λαμβάνεται με σφάλματα ως r(χ) = r+ rx +rx + rn- Xn- Αν ορίσουμε ως e(x) το πρότυπο σφάλματος τότε ισχύει ότι r(x) = v(x) + e(x) (338) Το πρώτο βήμα της αποκωδικοποίησης είναι ο υπολογισμός του συνδρόμου S από το λαμβανόμενο διάνυσμα r(x) Για έναν πρωτογεννή BCH κώδικα με ικανότητα διόρθωσης t σφαλμάτων το σύνδρομο είναι το διάνυσμα t συνιστωσών 3

33 S = (SS St) = r HT (339) με τη μήτρα Η να δίνεται από τη σχέση (334) Από τις (337) και (339) προκύπτει ότι το i-οστό στοιχείο του συνδρόμου είναι Si = r(αi) = (34) = r + rαi + rαi rn- α(n-)i για i t Τα στοιχεία του συνδρόμου ανήκουν στο πεδίο GF(m) και μπορούν να υπολογιστούν από το r(x) με τον τρόπο που ακολουθεί Διαιρώντας το r(x) δια το ελάχιστο πολυώνυμο Φi(X) λαμβάνουμε r(x) = ai(x)φi(χ) + bi(x) όπου bi(x) είναι το υπόλοιπο της διαίρεσης βαθμού μικρότερου από αυτόν του Φi(Χ) Εφόσον Φi(αi) = προκύπτει ότι S = r(αi) = b(αi) (34) και κατά συνέπεια το Si μπορεί να υπολογιστεί από το bi(x) θέτοντας Χ = αi Εφόσον τα α α α3 αt είναι ρίζες του κάθε πολυωνύμου κώδικα δηλ v(αi) = για i t από τις (338) και (34) συνεπάγεται ότι ισχύει η ακόλουθη σχέση για τα στοιχεία του συνδρόμου και το πρότυπο σφάλματος: Si = e(αi) (34) για i t Από την (34) συνεπάγεται ότι το σύνδρομο εξαρτάται μόνο από το πρότυπο σφάλματος e Αν υποθέσουμε ότι το πρότυπο σφάλματος αντιστοιχεί σε ν σφάλματα στις θέσεις Xj Xj Xj δηλ e(x) = Xj + Xj + + Xj ν (343) ν όπου j < j < < jν < n Από τις (34) και (343) προκύπτει το ακόλουθο σύστημα εξισώσεων S = αj + αj S = (αj ) + = (αj )3 + St = + αj (αj ) + (αj ) (αj )3 + (αj )3 v v v (344) (αj ) + (αj )t + (αj )t v t όπου οι άγνωστοι είναι οι όροι αj αj αj v 33

34 Οποιαδήποτε μέθοδος επιλύει το σύστημα εξισώσεων της (344) αποτελεί αλγόριθμο αποκωδικοποίησης για κώδικες BCH Από τη στιγμή που τα αj αj αj βρεθούν οι δυνάμεις j j jν δείχνουν τις θέσεις των σφαλμάτων στο διάνυσμα e(x) της (339) Γενικά το σύστημα εξισώσεων της (34) μπορεί να έχει πολλές πιθανές λύσεις Κάθε μία λύση προκύπτει από ένα διαφορετικό πρότυπο σφάλματος Αν ο αριθμός των σφαλμάτων στο εν λόγω πρότυπο σφάλματος είναι t ή μικρότερος (ν t) τότε η σωστή λύση είναι αυτή που αντιστοιχεί στο πρότυπο σφάλματος με τον μικρότερο αριθμό σφαλμάτων Αυτό σημαίνει ότι το πρότυπο σφάλματος που αντιστοιχεί στην σε αυτή τη λύση είναι το πιο πιθανό πρότυπο σφάλματος e(x) που προκαλείται από το κανάλι θορύβου Για μεγάλα t η απευθείας επίλυση του συστήματος εξισώσεων είναι αρκετά δύσκολη και αναποτελεσματική Για αυτό το λόγο περιγράφουμε μια πιο εύκολα υλοποιήσιμη προσέγγιση v Ορίζουμε για ευκολία βl = αjl (345) Για l ν Ονομάζουμε αυτές τις ποσότητες αριθμούς θέσης σφαλμάτων Οι εξισώσεις της (344) μπορούν τώρα να εκφραστούν στην ακόλουθη μορφή: S = β + β + βν S = β + β + βν St = βt (346) + βt + βνt Οι t το πλήθος αυτές εξισώσεις είναι συμμετρικές συναρτήσεις των β β βν που καλούνται συμμετρικές συναρτήσεις αθροισμάτων δυνάμεων Ορίζουμε τώρα το ακόλουθο πολυώνυμο: σ(χ) = ( + βχ)( + βχ) ( + βνχ) = σ + σχ + σχ + + σνχ (347) ν Οι ρίζες του σ(χ) είναι οι β- β- βν- οι οποίες και είναι οι αντίστροφες ποσότητες των αριθμών θέσης σφαλμάτων και για αυτό το λόγο το σ(x) καλείται πολυώνυμο θέσης σφαλμάτων Οι συντελεστές του σ(x) και οι αριθμοί θέσης σφαλμάτων σχετίζονται σύμφωνα με τις ακόλουθες εξισώσεις: σ = σ = β + ββ σ3 β + + ββ3 + + βν + βν-βν (348) σν = βββν 34

35 Τα σi είναι γνωστά ως στοιχειώδη συμμετρικά των στοιχείων βi Από τις (346) και (338) προκύπτει ότι τα σi σχετίζονται με τα στοιχεία του συνδρόμου Si σύμφωνα με το ακόλουθο σύστημα εξισώσεων S + σ = S + σs + σ = S3 + σs + σs + 3σ3 = (349) Sν + σsν- + + σν-s + vσν = Sν+ + σsv + + σν-s + σνs = Αν είναι δυνατόν να προσδιορίσουμε τις στοιχειώδεις συναρτήσεις σ σ σν από τις εξισώσεις της (349) οι αριθμοί θέσης σφάλματος μπορούν να βρεθούν προσδιορίζοντας τις ρίζες του πολυωνύμου θέσης σφάλματος σ(χ) Συνοψίζοντας η διαδικασία αποκωδικοποίησης ενός κώδικα BCH αποτελείται από τα παρακάτω βήματα: Υπολογισμός του συνδρόμου S = (S S St) από το λαμβανόμενο πολυώνυμο r(x) Προσδιορισμός του πολυωνύμου θέσης σφαλμάτων σ(χ) από τα στοιχεία του συνδρόμου SS St 3 Προσδιορισμός των αριθμών θέσης σφαλμάτων β β βν από τις ρίζες του πολυωνύμου σ(x) και διόρθωση των σφαλμάτων του r(x) 35

36 4 ΚΩΔΙΚΕΣ REED-SOLOMON Οι κώδικες Reed-Solomon αποτελούν μία σημαντική κατηγορία των μη-δυαδικών BCH κωδίκων Δεδομένου ενός πρώτου αριθμού p και q μίας δύναμης του p είναι δυνατόν να κατασκευαστούν κώδικες με σύμβολα που ανήκουν στο Galois Field πεδίο GF(q) Αυτοί οι κώδικες ονομάζονται qαδικοί κώδικες Οι δυαδικοί BCH κώδικες μπορούν να γενικευτούν σε μη-δυαδικούς με πολύ άμεσο τρόπο Για οποιοδήποτε συνδυασμό s και t θετικών ακεραίων μπορεί να κατασκευαστεί ένας q-αδικός BCH κώδικας μήκους n = qs ο οποίος είναι ικανός να διορθώσει οποιοδήποτε συνδυασμό t ή λιγότερων σφαλμάτων και να απαιτεί το πολύ st ψηφία ελέγχου ισοτιμίας Έστω α είναι το πρωτογεννές στοιχείο ενός πεδίου GF(qs) Το πολυώνυμο γεννήτορας g(x) ενός BCH κώδικα με tικανότητα διόρθωσης σφαλμάτων είναι το πολυώνυμο ελάχιστου βαθμού με συντελεστές από το πεδίο GF(q) του οποίου τα α α α3 αt είναι ρίζες Αν Φi(X) είναι το ελάχιστο πολυώνυμο του αi τότε g(x) = LCM {Φ(X) Φ(X) Φt(X)} Ο βαθμός κάθε ενός από τα ελάχιστα πολυώνυμα είναι s ή μικρότερος Για αυτό το λόγο ο βαθμός του g(x) είναι το πολύ st και για αυτό το λόγο ο αριθμός των ψηφίων ελέγχου ισοτιμίας του κώδικα που παράγεται από το g(x) είναι το πολύ st Οι Reed-Solomon κώδικες προκύπτουν για s = Ένας Reed- Solomon κώδικας με ικανότητα διόρθωσης t σφαλμάτων και με σύμβολα από το πεδίο GF(q) έχει τις ακόλουθες παραμέτρους λειτουργίας: Μήκος Μπλοκ: n = q = m - Πλήθος ψηφίων ελέγχου ισοτιμίας: n k t Ελάχιστη Απόσταση: dmin = t + Αν α είναι το πρωτογεννές στοιχείο του πεδίου GF(m) το πολυώνυμο γεννήτορας ενός ReedSolomon κώδικα με ικανότητα διόρθωσης t σφαλμάτων και μήκος m είναι g(x) = (X + α)(x + α) (X + αt) = g + gx + gx + + gt-xt- + Xt Όλες οι ρίζες α α α3 αt και οι συντελεστές του g(x) ανήκουν στο πεδίο GF(m) Ο κώδικας που παράγεται από το g(χ) είναι ένας (n n t) κυκλικός κώδικας που αποτελείται από πολυώνυμα κώδικα βαθμού n ή μικρότερου και με συντελεστές από το πεδίο GF(m) Τα πολυώνυμα κώδικα αυτά επίσης είναι πολλαπλάσια του g(x) 4 ΚΩΔΙΚΟΠΟΙΗΤΗΣ REED-SOLOMON Η κωδικοποίηση για τους Reed Solomon κώδικες πραγματοποιείται ως εξής: Έστω a(χ) = α + αχ + αχ + + αk-xk- το προς κωδικοποίηση μήνυμα όπου k = n t Σε συστηματική μορφή τα ψηφία ελέγχου ισοτιμίας είναι οι συντελεστές του υπολοίπου b(x) = b + bx + + bt-xt- της διαίρεσης του πολυωνύμου μηνύματος δια το πολυώνυμο γεννήτορα g(χ) Η υλοποίηση με υλικό αυτής της διαίρεσης φαίνεται 36

37 στο Σχ4 διακόπτης x x g x g x g x gt- bt- b b b gt- bt- Μήνυμα Xt a(x) ψηφία ελέγχου ισοτιμίας έξοδος Σχ 4 Υλοποίηση Reed Solomon κώδικα ικανότητας διόρθωσης t σφαλμάτων (συστηματική μορφή) όπου συμβολίζει στοιχείο πρόσθεσης για την πρόσθεση δύο στοιχείων του πεδίου GF(m) gi x bj συμβολίζει πολλαπλασιαστή για την πρόσθεση ενός στοιχείου του πεδίου GF(m) με ένα συγκεκριμένο στοιχείο gi του ίδιου πεδίου συμβολίζει ένα στοιχείο μνήμης ικανό να αποθηκεύσει ένα στοιχείο bi του πεδίου GF(m) Μόλις το μήνυμα a(x) εισαχθεί στο κύκλωμα του Σχ4 (την ίδια στιγμή μεταδίδεται και στο κανάλι) οι καταχωρητές του κυκλώματος bi περιέχουν τα ψηφία ελέγχου ισοτιμίας Τα ψηφία ελέγχου ισοτιμίας έπειτα στέλνονται και αυτά στο κανάλι αμέσως μετά το μήνυμα 4 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ REED-SOLOMON Αποδεικνύεται ότι ένας κώδικας Reed-Solomon ικανότητας διόρθωσης t σφαλμάτων έχει ελάχιστη απόσταση ίση με t + Έστω v(χ) = υ+ υx +υx + υn- Xn- το μεταδιδόμενο κωδικοδιάνυσμα και r(χ) = r+ rx +rx + rn- Xn- το λαμβανόμενο διάνυσμα Τότε το πρότυπο λάθους λόγω της επίδρασης του καναλιού μετάδοσης είναι e(x) = r(x) - v(x) όπου τα ei = ri υi είναι σύμβολα του πεδίου GF(m) Αν υποθέσουμε ότι το πρότυπο σφάλματος 37

38 περιέχει ν σφάλματα στις θέσεις Xj Xj Xj όπου j < j < < jν < n- τότε μπορούμε να γράψουμε ότι ν e(x) = ej Xj + ej Xj + + ej Xj ν ν Επομένως για να προσδιορίσουμε το πρότυπο σφάλματος θα πρέπει να προσδιορίσουμε τις θέσεις Xj και τις τιμές ej των σφαλμάτων δηλ τα ν τον αριθμό ζεύγη ( Xj ej ) i i i Για ευκολία ορίζουμε όπως και στην ανάλυση των BCH κωδίκων βl = αj για l = ν τους αριθμούς θέσης σφαλμάτων Για την αποκωδικοποίηση των Reed-Solomon κωδίκων (ή οποιωνδήποτε q-αδικών BCH κωδίκων) απαιτούνται τα τρία στάδια που περιγράφηκαν στην ανάλυση των δυαδικών BCH κωδίκων με την προσθήκη ενός επιπλέον σταδίου για τον υπολογισμό της τιμής των σφαλμάτων Τα t το πλήθος στοιχεία του συνδρόμου μπορούν να υπολογιστούν με την αντικατάσταση των αi στα λαμβανόμενα πολυώνυμα r(x) για i = t και επομένως έχουμε S = r(α) = ej β + ej β S = r(α) = ej β + ej β + + ej βν = r(αt) = + + ej βν St ν ν (4) ej βt + ej βt + + ej βνt ν Το σύστημα εξισώσεων (4) αποτελείται από t εξισώσεις με t αγνώστους (t για τις θέσεις των σφαλμάτων και t για τις τιμές των σφαλμάτων) Παρόλα αυτά το σύστημα των εξισώσεων (4) δεν μπορεί να επιλυθεί με απλό τρόπο διότι αποτελείται από μη-γραμμικές εξισώσεις (κάποιοι από τους αγνώστους βρίσκονται σε εκθετική μορφή) Γενικά οποιαδήποτε μέθοδος επιλύει αυτό το σύστημα εξισώσεων αντιστοιχεί σε έναν αλγόριθμο αποκωδικοποίησης για τους κώδικες ReedSolomon 4 ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΔΡΟΜΟΥ ΓΙΑ ΚΩΔΙΚΕΣ REED-SOLOMON Τα στοιχεία του συνδρόμου προκύπτουν επίσης από τη διαίρεση του r(x) δια το Χ + αi Η διαίρεση ισοδυναμεί με την εξίσωση r(x) = ci(x)(x + αi) + bi (4) όπου το bi να είναι μία σταθερά από το πεδίο GF(m) Αντικαθιστώντας το αi και στα δύο μέλη της σχέσης (4) προκύπτει ότι Si = bi Οι υπολογισμοί αυτοί μπορούν να υλοποιηθούν σε υλικό με το κύκλωμα διαίρεσης που δείχνεται στο Σχ4 38

39 x αi r(x) (α) Πολλαπλασιαστής αi Δυαδικό m-πλό διάνυσμα (β) Σχ4 Κύκλωμα υπολογισμού των στοιχείων του συνδρόμου (α) για GF(m) (β) ανοιγμένο σε δυαδική μορφή 4 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ Κατ' αναλογία με την ανάλυση για τους κώδικες BCH για ν σφάλματα το πολυώνυμο θέσης σφαλμάτων για Reed-Solomon κώδικες ορίζεται ως σ(χ) = ( + βχ)( + βχ) ( + βνχ) (43) = σ + σχ + σχ + + σνχν όπου οι ρίζες του σ(χ) είναι οι /β /β /βν Οι αντίστροφοι των ριζών του σ(χ) είναι οι αριθμοί θέσης σφαλμάτων για το πρότυπο σφάλματος e(x) Στη βιβλιογραφία πολλές φορές συναντάται και ο συμβολισμός Λ(Χ) αντί για το σ(χ) για το πολυώνυμο θέσης σφαλμάτων Το πολυώνυμο σ(χ) επομένως μπορεί να γραφεί και ως Λ(Χ) = ( + βχ)( + βχ) ( + βνχ) (44) = Λ + ΛΧ + ΛΧ + + ΛνΧν και το αντίστροφο των ριζών του /β /β /βν μας δίνει τους αριθμούς θέσης σφαλμάτων Αποδεικνύεται αλγεβρικά ότι ισχύει ΛνSj + Λν-Sj ΛSj+ν- + Sj+ν = (45) 39

40 Εάν ν t συνεπάγεται ότι για j ν ισχύει j + ν t και έτσι μπορεί να προκύψει το σύστημα εξισώσεων που ακολουθεί S S S3 Sν- Sν Λν - Sν+ S S3 S4 Sν+ Λν- - Sν+ Sν Μν = = St- St Sν+ Sν-3 Sν- St Sν+ (46) Λν- Sν- Sν- Sν - Λ - Sν Το ζητούμενο είναι ο προσδιορισμός του πολυωνύμου θέσης σφαλμάτων ή Λ(Χ) οι αντίστροφοι των ριζών του οποίου μας δίνουν τις θέσεις των σφαλμάτων για το λαμβανόμενο κωδικοδιάνυσμα r(x) Η ν x v μήτρα Μν είναι μία μήτρα τύπου Toeplitz Ο αριθμός των ν σφαλμάτων δεν είναι εκ των προτέρων γνωστός και θα πρέπει να προσδιοριστεί Οι πιο διαδεδομένες μέθοδοι για τον προσδιορισμό του αριθμού των σφαλμάτων ν και την επίλυση του συστήματος των εξισώσεων (46) είναι οι μέθοδοι Peterson-Gorendtein-Zierler ο αλγόριθμος Ευκλείδη (Euclidean Algorithm) και ο αλγόριθμος Berlekamp-Massey 4 ΑΛΓΟΡΙΘΜΟΣ PETERSON-GORENDTEIN-ZIERLER Ο αλγόριθμος των Peterson-Gorendtein-Zierler αποτελείται από τα παρακάτω βήματα Ορίζουμε ν = Σχηματίζουμε την μήτρα Μν και υπολογίζουμε την ορίζουσα της μήτρας Μν det(μν) για να καθορίσουμε αν η μήτρα Μν αντιστρέφεται Αν όχι τότε ορίζουμε ν ν και επαναλαμβάνουμε αυτό το βήμα 3 Αν η μήτρα Μν αντιστρέφεται επιλύουμε το σύστημα ως προς τους συντελεστές Λ Λ Λν Ο αλγόριθμος του Peterson αφορά απλοποιήσεις που μπορούν να εφαρμοστούν σε δυαδικούς κώδικες Για δυαδικούς κώδικες ισχύει nsj = για n ζυγό και nsj = Sj για n μονό αριθμό Επιπλέον ισχύει ότι Sj = Sj Με βάση αυτά τα δεδομένα οι εξισώσεις που προκύπτουν από το σύστημα (46) μπορούν να γραφούν ως 4

41 S + Λ = S3 + Λ S + ΛS + Λ3 = (47) St- + ΛSt- + + ΛtSt- = και μπορούν να γραφτούν σε μορφή εξίσωσης πινάκων Λ - S S S Λ - S3 S4 S3 S S = (48) St-4 St-5 St-6 St-7 St- St-3 St- St-3 St-4 St-5 St St- Λt - St- ή ΑΛ = - S Στην περίπτωση που υπάρχουν όντως t σφάλματα η μήτρα Α είναι αντιστρέψιμη (αυτό μπορεί να ελεγχθεί από την ορίζουσα της μήτρας Α) Αν η μήτρα δεν είναι αντιστρέψιμη τότε αφαιρούμε δύο γραμμές και δύο στήλες και επαναλαμβάνουμε το προηγούμενο βήμα Με αυτόν τον τρόπο μπορούμε να επιλύσουμε ως προς Λ 4 ΑΛΓΟΡΙΘΜΟΣ BERLEKAMP-MASSEY Έστω ότι για την εξίσωση θέσης σφαλμάτων ισχύει το σύστημα εξισώσεων της (46) Αν υποθέσουμε ότι το διάνυσμα Λ(Χ) είναι γνωστό τότε ή πρώτη εξίσωση του συστήματος (46) εκφράζει το Sν+ σαν συνάρτηση των S S Sν Κατά παρόμοιο τρόπο η j-οστή εξίσωση του συστήματος (46) ν Sj = ΣΛ S i j-i : j = ν+ ν (49) i= εκφράζει το Sj ως συνάρτηση όλων των προηγουμένων συνιστωσών του συνδρόμου Η εξίσωση (49) μπορεί να θεωρηθεί ότι ορίζει έναν LFSR και αντιστοιχεί στην υλοποίηση που φαίνεται στο Σχ43 4

42 x - Λ Sj- x -Λ x - Λν- Sj- Sj-ν+ Sj-ν x - Λν S S S 3 Σχ43 Υλοποίηση της (49) με LFSR Το πρόβλημα της εύρεσης του πολυωνύμου θέσης σφαλμάτων επομένως μπορεί να αναχθεί στο πρόβλημα που είναι γνωστό ως η εύρεση του βραχύτερου LFSR ο οποίος παράγει το δεδομένο σύνδρομο S = (S S Sv) Πιο συγκεκριμένα θα πρέπει να υπολογιστούν δύο ποσότητες το μήκος L του καταχωρητή ολίσθησης και οι τιμές των αναδράσεων που δίνονται από το Λ(Χ) Η διαδικασία που εφαρμόζεται είναι επαγωγική και υπολογίζει διαδοχικά τους ακόλουθους καταχωρητές ολίσθησης L Λ x L Λ x Lr Λ r x Έστω ότι στη επανάληψη r- ο αλγόριθμος υπολογίζει το Λ(r-)(x) ως τον βραχύτερο καταχωρητή ολίσθησης που παράγει τα S Sr- Στην επόμενη επανάληψη r ο αλγόριθμος Berlekamp-Massey υπολογίζει έναν καινούριο καταχωρητή ολίσθησης ως τον βραχύτερο καταχωρητή οποίος παράγει τα S Sr- Sr Ως πρώτο βήμα για κάθε επανάληψη r υπολογίζουμε την r-οστή διαφορά (discrepancy) t Δr = Sr Ŝr = Sr + Σ t Λj(r-)Sr-j = Σ j= Λj(r-)Sr-j j= Αν το Δr = τότε θέτουμε διαμορφώνεται : r r Lr Λ x = Lr Λ r r Λ x = Λ l x αλλιώς ο καταχωρητής ολίσθησης x Ax Λ m x όπου i m r τέτοιο ώστε Δ m ii l=r m 4

43 iii A= Δm Δ r Με αυτόν τρόπο προκύπτει ότι Δ r Δr Δ = Δm m Αν επιλέξουμε m < r ως το μέγιστο m για το οποίο Δm τότε προκύπτει ο βραχύτερος καταχωρητής ολίσθησης Λr(x) για την επανάληψη r Με βάση τα παραπάνω για έναν κώδικα Reed-Solomon nk) με υπολογισθέν σύνδρομο S = ( S St ) ο αλγόριθμος Berlekamp-Massey μπορεί να τυποποιηθεί στα βήματα που ακολουθούν: Βήμα : Ορίζουμε σαν αρχικές τιμές Λ()(x) = B()(x) = και L = Και θέτουμε r = (4) Βήμα : Υπολογίζουμε την διαφορά (discrepancy) t Δr = Σ j= Λj(r-)Sr-j δr = { αν Δr και Lr- r- αλλού (4) και το μήκος του βραχύτερου καταχωρητή ολίσθησης L r=δ r r L r δ r Lr (4) Βήμα 3: Υπολογίζουμε τον νέο LFSR Λ(r)(x) (r) Β (x) = -Δrx - r r Δ δ (-δr)x Λ(r-)(x) Β (43) (r-) (x) Βήμα 4: Αν r = t ο αλγόριθμος τερματίζεται αλλιώς θέτουμε r = r + και πραγματοποιούμε μετάβαση στο βήμα 43 ΥΠΟΛΟΓΙΣΜΟΣ ΘΕΣΕΩΝ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ CHIENS Έστω r(χ) = r+ rx +rx + rn- Xn- ένα λαμβανόμενο κωδικοδιάνυσμα για έναν κώδικα Reed-Solomon nk) Οι θέσεις των σφαλμάτων στο λαμβανόμενο κωδικοδιάνυσμα r(x) προκύπτουν από τους αντίστροφους των ριζών του πολυωνύμου θέσης σφαλμάτων Λ(X) Επομένως από τη στιγμή που το πολυώνυμο θέσης σφαλμάτων είναι γνωστό θα πρέπει να υπολογιστούν οι ρίζες του 43

44 Ένας αρκετά διαδεδομένος αλγόριθμος για τον υπολογισμό των ριζών του πολυωνύμου θέσης σφαλμάτων είναι ο αλγόριθμος Chien γνωστός και ως αναζήτηση Chien (Chien search) Ο αλγόριθμος αυτός ελέγχει εξαντλητικά αν το πολυώνυμο Λ(Χ) ισούνται με μηδέν για x = α-j όπου j = n- Αν είναι Λ(α-n) = αυτό συνεπάγεται ότι υπάρχει σφάλμα στο j-οστό σύμβολο του λαμβανόμενο διανύσματος r(x) δηλ το σύμβολο rj j = n- έχει ληφθεί με σφάλμα Μία υλοποίηση του αλγορίθμου Chien για έναν κώδικα Reed-Solomon nk) με t = (n-k)/ = 8 φαίνεται στο Σχ44(β) Τα μερικά αθροίσματα Couti των υπολογισμών για το Λ(αi) για i = t υλοποιούνται με τα κύτταρα CCC8 Τα μερικά αθροίσματα αθροίζονται συνολικά και το τελικό αποτέλεσμα συγκρίνεται με το μηδέν Αν το συνολικό άθροισμα είναι μηδέν τότε το α i είναι ρίζα του Λ(Χ) και ο αντίστροφός του α-i προσδιορίζει τη θέση του σφάλματος στη λαμβανόμενη κωδικολέξη r(x) Η δομή των κυττάρων CC8 φαίνεται στο Σχ44(α) Cini Couti X MUX αi Λi (a) Λ(x) Λ C C3 C5 C7 Λ Λ3 Λ5 Λ7 Λ Λ4 Λ6 Λ8 C C4 C6 C8 8 active (β) Σχ44 Υλοποίηση αλγόριθμου Chiens 44 ΥΠΟΛΟΓΙΣΜΟΣ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ FORNEY Για τον υπολογισμό των τιμών των σφαλμάτων δύο μέθοδοι είναι οι πιο δημοφιλείς Η μία είναι η διαδικασία μετατροπής της αποκωδικοποίησης στο πεδίο της συχνότητας και η άλλη ο αλγόριθμος Forney στο πεδίο του χρόνου Για μεγάλες τιμές των παραμέτρων n και t ο αλγόριθμος Forney προτιμάται λόγω της μικρότερης πολυπλοκότητας στην υλοποίηση Οι τιμές των σφαλμάτων στον αλγόριθμο Forney δίνονται από τη σχέση el = Ω(βι-) (44) Λ (βι-) Όπου το βl- για l = t είναι ρίζες του πολυωνύμου θέσης σφαλμάτων Λ(Χ) Το Ω(Χ) 44

45 ονομάζεται πολυώνυμο τιμής σφαλμάτων και δίνεται από τη σχέση Ω(Χ) = S(X) Λ(Χ) mod xt (45) και Λ (Χ) είναι η πρώτη παράγωγος του πολυωνύμου θέσης σφαλμάτων Λ(Χ) Αν προσθέσουμε N φορές οποιοδήποτε στοιχείο του πεδίου GF(m) το αποτέλεσμα θα είναι μηδέν αν το ο N είναι ζυγός ακέραιος και το ίδιο το στοιχείο του πεδίου GF(m) αν το N είναι μονός ακέραιος Από αυτή την ιδιότητα προκύπτει ότι για την πρώτη παράγωγο Λ (Χ) του Λ(Χ) ισχύει t Λ (X) = ( Σ Λkxk) k= t = Σ k Λk xk- (46) k= = Λ +Λ3X++ ΛtoddXtodd- Λodd(X) X Το todd είναι ο μεγαλύτερος μονός ακέραιος που είναι μικρότερος ή ίσος από το t και Λodd = Λ +Λ3X3 ++ ΛtoddXtodd Επομένως η σχέση (46) για τις τιμές των σφαλμάτων μπορεί να γίνει Ω β l Ω β l β l el = = Λ β l Λodd β l (47) Η υλοποίηση του αλγορίθμου Forney για έναν κώδικα Reed-Solomon nk) με t = (n-k)/ = 8 μπορεί να υλοποιηθεί με το κύκλωμα του Σχ45 Τα κύτταρα C C C8 είναι ίδια με αυτά που παρουσιάζονται στο Σχ44(α) και η εκτέλεση του αλγόριθμου Forney μπορεί να πραγματοποιηθεί παράλληλα με την εκτέλεση του αλγορίθμου Chiens 45

46 Ω(X) C C Λodd(X) C3 C5 C7 Ω Ω Ω4 Ω6 Ω Ω3 Ω5 Ω7 C4 C6 διακόπτης C8 τιμή σφάλματος Αντιστροφή GF(m) διακόπτης Σχ45 Κύκλωμα υλοποίησης αλγόριθμου Forney 46

47 5 ΥΛΟΠΟΙΗΣΗ ΚΩΔΙΚΟΠΟΙΗΤΗ/ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ REED-SOLOMON Στα πλαίσια της εργασίας πραγματοποιήθηκε σχεδίαση Reed-Solomon κωδικοποιητή και αποκωδικοποιητή nk) παραμετροποιημένου ως προς τα n και k σε γλώσσα Verilog HDL Η υλοποίηση έγινε σε τεχνολογία Ολοκληρωμένων Κυκλωμάτων Ειδικού Σκοπού (ASIC) και Πεδίων Προγραμματιζόμενων Πινάκων Πυλών (FPGA) Ακολουθήθηκε η μεθοδολογία σχεδιασμού για Ενσωματωμένα Συστήματα Διανοητικών Δικαιωμάτων (IP core) σύμφωνα με την οποία η σχεδίαση είναι ανεξάρτητη της πλατφόρμας υλοποίησης και να μπορεί να υλοποιηθεί με ελάχιστες ή και χωρίς αλλαγές σε διαφορετικές τεχνολογίες 5 ΔΟΜΙΚΟ ΔΙΑΓΡΑΜΜΑ Η αρχιτεκτονική του Reed-Solomon κωδικοποιητή/αποκωδικοποιητή nk) φαίνεται στο δομικό διάγραμμα του Σχ5 Ο κωδικοποιητής φαίνεται στο Σχ 5(α) και αντιστοιχεί σε μία υλοποίηση με LFSR παρόμοια με αυτή που δείχνεται στο Σχ4 Ο αποκωδικοποιητής φαίνεται στο Σχ5(β) και αποτελείται από δομικά στοιχεία που αντιστοιχούν στα στάδια της αποκωδικοποίησης κωδίκων Reed-Solomon που παρουσιάστηκαν στο κεφάλαιο 4 και είναι τα εξής: Υπολογισμός συνδρόμου Υπολογισμός πολυωνύμου θέσης σφαλμάτων 3 Υπολογισμός θέσης σφαλμάτων 4 Υπολογισμός τιμής σφαλμάτων 5 Διόρθωση σφαλμάτων rs_enc_in rs_enc_out RS encoder Encoder LFSR (α) RS decoder rs_dec_in Υπολογισμός συνδρόμου S Υπολογισμός πολυωνύμου θέσης σφαλμάτων BerlekampMassey Λ(x) Υπολογισμός θέσης σφαλμάτων Υπολογισμός τιμής σφαλμάτων err_loc Chiens search rs_dec_out err_mag Διόρθωση Σφαλμάτων Αλγόριθμος Forney Κύκλωμα Ελέγχου Αποκωδικοποιητή Pipeline Buffer (β) Σχ5 Δομικό διάγραμμα (α) κωδικοποιητή και (β) αποκωδικοποιητή Reed-Solomon Τόσο ο κωδικοποιητής όσο και ο αποκωδικοποιητής λειτουργούν σειριακά σε επίπεδο συμβόλου Στον κωδικοποιητή εισάγεται μια ακολουθία k συμβόλων δεδομένων και μεταδίδεται μία 47

48 ακολουθία n συμβόλων ( k σύμβολα δεδομένων + n-k σύμβολα ελέγχου ισοτιμίας) O αποκωδικοποιητής δέχεται μπλοκ των n συμβόλων εντοπίζει και διορθώνει πιθανά σφάλματα και εξάγει τα k σύμβολα δεδομένων του αρχικού μηνύματος 5 ΠΑΡΑΜΕΤΡΟΙ και ΣΗΜΑΤΑ ΔΙΕΠΑΦΗΣ Τα σήματα και οι παράμετροι διεπαφής της σχεδίασης παρουσιάζονται στο Σχ5 Οι παράμετροι διακρίνονται από το σύμβολο # Στον Πίνακα 5 δίνεται η περιγραφή των παραμέτρων και των σημάτων διεπαφής Η μονάδα rs_top (υψηλότερο επίπεδο) περιλαμβάνει τις υπομονάδες rs_enc (κωδικοποιητής Reed-Solomon) rs_dec (αποκωδικοποιητής Reed-Solomon) και gf_func (συναρτήσεις αριθμητικής Galois Field) #RS_n rs_top #RS_k #GF_m rs_enc_in[gf_m-:] rs_enc_in_valid rs_gen_poly_coeff [RS_t*GF_m-:] rs_enc_out[gf_m-:] rs_enc rs_dec_in[gf_m-:] rs_dev_in_valid rs_gen_poly_coeff [RS_t*GF_m-:] rs_enc_out_valid rs_dec_out[gf_m-:] rs_enc rs_dec_out_valid clk rst_n gf_func Σχ 5 Σήματα Διεπαφής Κωδικοποιητή/Αποκωδικοποιητή Reed-Solomon Πίνακας 5 Σήματα εισόδου/εξόδου του Κωδικοποιητή/Αποκωδικοποιητή Reed-Solomon nk) ΠΑΡΑΜΕΤΡΟΣ ΠΕΡΙΓΡΑΦΗ RS_n Η παράμετρος n του Reed-Solomon κώδικα nk) (RS_n = n) Ισχύει RS_n = GF_m - RS_k Η παράμετρος k του Reed-Solomon κώδικα nk) (RS_k = k) GF_m Αριθμός ψηφίων για τα σύμβολα του πεδίου GF(m) (GF_m=m) Ισχύει GF_m = log(rs_n +) RS_t Η παράμετρος t =(n-k) του Reed-Solomon κώδικα nk) (RS_t = t) 48

49 Πίνακας 5 Σήματα εισόδου/εξόδου του Κωδικοποιητή/Αποκωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_in[gf_m-:] Σύμβολο εισόδου μπλοκ προς κωδικοποίηση rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rs_gen_poly_coeff[rs_t-*gf_m-:] Πολυώνυμο γεννήτορας g(x) για τον κώδικα ReedSolomon nk) rs_out[gf_m-:] Output Σύμβολο εξόδου κωδικολέξης rs_out_valid Output Το σύμβολο εξόδου είναι έγκυρο rs_in[gf_m-:] Σύμβολο εισόδου κωδικολέξης προς αποκωδικοποίηση rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rs_out[gf_m-:] Output Σύμβολο εξόδου rs_out_valid Output Το σύμβολο εξόδου είναι έγκυρο rs_dec_rst Σύγχρονο σήμα reset clk Ρολόι rst_n Ασύγχρονο reset 53 ΠΕΡΙΓΡΑΦΗ ΔΟΜΙΚΩΝ ΜΠΛΟΚ 53 ΚΩΔΙΚΟΠΟΙΗΤΗΣ REED-SOLOMON Το διάγραμμα σημάτων εισόδου/εξόδου του κωδικοποιητή Reed-Solomon nk) φαίνεται στο Σχ53 και η περιγραφή τους στον Πίνακα 5 rs_in[gf_m-:] rs_out[gf_m-:] rs_in_valid rs_gen_poly_coeff [RS_t*GF_m-:] rs_out_valid rs_enc clk rst_n Σχ53 Διάγραμμα σημάτων εισόδου/εξόδου του κωδικοποιητή Reed-Solomon nk) Ο Κωδικοποιητής δέχεται σειριακές ακολουθίες συμβόλων κάθε φορά των m bit το καθένα από το πεδίο GF(m) με m = GF_m που εφαρμόζεται στα σήματα εισόδου rs_in Τα σύμβολα των ακολουθιών θεωρούνται έγκυρα όταν το σήμα rs_in_valid είναι Τόσο τα σήματα rs_in όσο και το rs_in_valid πρέπει να συγχρονίζονται με το σήμα ρολογιού της εισόδου clk Ο κωδικοποιητής rs_enc λαμβάνει τη σειριακές ακολουθίες και ανά k διαδοχικά έγκυρα σύμβολα εισόδου υπολογίζει τα n-k σύμβολα ισοτιμίας σύμφωνα με το το πολυώνυμο γεννήτορα που υποδεικνύεται από την τιμή στον δίαυλο εισόδου rs_gen_poly_coeff Η υπολογισθείσα κωδικολέξη που αποτελείται από τα k σύμβολα του μηνύματος και τα n-k σύμβολα ισοτιμίας εξέρχεται από την έξοδο rs_out Τα σύμβολα της κωδικολέξης εξόδου στην έξοδο rs_out θεωρούνται έγκυρα όταν το σήμα εξόδου 49

50 rs_out_valid έχει την τιμή Τόσο τα σύμβολα της κωδικολέξης εξόδου στην έξοδο rs_out όσο και το σήμα εξόδου rs_out_valid είναι συγχρονισμένα με το ρολόι clk Πίνακας 5 Σήματα εισόδου/εξόδου του κωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_in[gf_m-:] Σύμβολο εισόδου μπλοκ προς κωδικοποίηση rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rs_gen_poly_coeff[rs_t*gf_m-:] Πολυώνυμο γεννήτορας g(x) για τον κώδικα ReedSolomon nk) rs_out[gf_m-:] Output Σύμβολο εξόδου κωδικολέξης rs_out_valid Output Το σύμβολο εξόδου είναι έγκυρο clk Ρολόι rst_n Ασύγχρονο reset x rs_p x rs_p x rs_p :(R F_ m - S_ t*g )* G F_ m - :(R _g en _p ol y_ co ef f[r S_ t- (R y_ co ef f[ rs _g en _p ol rs x S_ t- )* G F_ m ] S_ t- )* G F_ m ] ] F_ m *G m - : ff[ 3* G F_ ly_ co e n_ po _ en - ] m _g e rs rs _g en _g rs f[ ef co _ ly po m F_ G * F_ :G rs G F_ ef f[ _p o ly _c o _g en _p ol y _c oe dd [R m - : ] S_ t*g F_ m - : ] Η κατασκευή του αποκωδικοποιητή rs_enc φαίνεται με περισσότερη λεπτομέρεια στο Σχ54 Πρόκειται για την υλοποίηση της κωδικοποίησης σε συστηματική μορφή με τη χρήση ενός LFSR n-k σταδίων Οι πολλαπλασιαστές στους κόμβους ανάδρασης τροφοδοτούνται από τον δίαυλο εισόδου rs_gen_poly_coeff που αντιστοιχεί στους συντελεστές του πολυωνύμου γεννήτορα g(x) Μία μονάδα ελέγχου rs_enc_ctrl αναλαμβάνει να ομαδοποιήσει ανά k τα εισερχόμενα έγκυρα σύμβολα του μηνύματος στην είσοδο rs_in και να δημιουργήσει και να μεταδώσει ανά σύμβολο την αντίστοιχη κωδικολέξη στην έξοδο rs_out καθώς και το σήμα rs_out_en x rs_pt-- rs_pt-- rs_enc_out[gf_m-] rs_in[gf_m-:] rs_in_valid rs_enc_control rs_out_valid Σχ 54 Κωδικοποιητής Reed-Solomon nk) 5

51 53 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ Τα σημάτων εισόδου/εξόδου της διεπαφής του αποκωδικοποιητή Reed-Solomon nk) φαίνονται στο Σχ55 Τα σήματα αυτά περιγράφονται στον Πίνακα 53 rs_in[gf_m-:] rs_out[gf_m-:] rs_in_valid rs_out_valid rs_dec_rst rs_dec clk rst_n Σχ55 Διάγραμμα σημάτων εισόδου/εξόδου του αποκωδικοποιητή Reed-Solomon nk) Ο αποκωδικοποιητής rs_dec δέχεται σειριακά τα σύμβολα των κωδικολέξεων στην είσοδο rs_in Τα σύμβολα των κωδικολέξεων είναι έγκυρα όταν το σήμα εισόδου rs_in_valid έχει την τιμή Τόσο τα σύμβολα των κωδικολέξεων στην είσοδο rs_in όσο και το σήμα rs_in_valid θα πρέπει να είναι συγχρονισμένα με το ρολόι clk Πίνακας 53 Σήματα εισόδου/εξόδου του αποκωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_in[gf_m-:] Σύμβολο εισόδου κωδικολέξης προς αποκωδικοποίηση rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rs_out[gf_m-:] Output Σύμβολο εξόδου rs_out_valid Output Το σύμβολο εξόδου είναι έγκυρο rs_dec_rst Σύγχρονο σήμα reset clk Ρολόι rst_n Ασύγχρονο reset Ο αποκωδικοποιητής rs_dec είναι αρκετά πιο πολύπλοκος από τον κωδικοποιητή rs_enc Στο Σχ56 παρουσιάζονται οι επιπλέον δομικές μονάδες που περιέχονται στον αποκωδικοποιητή rs_dec rs_in[gf_m-:] rs_syndr S rs_bm Λ err_loc err_mag rs_chiens Omega_calc Ω e rs_in_valid rs_dec_err rs_forney rs_dec_buf clk rst_n rs_dec_functions rs_dec_ctrl rs_out[gf_m-:] rs_out_valid Σχ56 Δομικές υπομονάδες αποκωδικοποιητή Reed-Solomon nk) 5

52 Πρόκειται για την κεντρική μονάδα ελέγχου του αποκωδικοποιητή rs_dec_ctrl τη μονάδα υπολογισμού του συνδρόμου rs_syndr τη μονάδα υπολογισμού του πολυωνύμου θέσης σφαλμάτων rs_bm τη μονάδα υπολογισμού θέσης σφαλμάτων rs_chiens τη μονάδα υπολογισμού του πολυωνύμου τιμής σφαλμάτων Omega_calc την μονάδα υπολογισμού της τιμής των σφαλμάτων rs_forney και την μονάδα διόρθωσης και μετάδοσης του αποκωδικοποιηθέντος μηνύματος rs_dec_buf Τέλος η μονάδα rs_dec_functions περιέχει κυκλώματα αναπαράστασης του πεδίου GF(m) υπολογισμού των πράξεων στο πεδίο GF(m) καθώς και άλλους απαραίτητους στοιχειώδεις υπολογισμούς Οι μονάδες αυτές θα παρουσιαστούν με μεγαλύτερη λεπτομέρεια στις παραγράφους που ακολουθούν 53 ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΔΡΟΜΟΥ Το διάγραμμα εισόδου/εξόδου του κυκλώματος υπολογισμού του συνδρόμου και τα αντίστοιχα σήματα παρουσιάζονται στο Σχ57 και στον Πίνακα 54 αντίστοιχα rs_in[gf_m-:] S_out[GF_m*RS_t_k-:] rs_in_valid rs_syndr_buf_en rs_dec_rst rs_syndr clk rst_n Σχ57 Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος υπολογισμού συνδρόμου Πίνακας 54 Σήματα εισόδου/εξόδου κυκλώματος υπολογισμού συνδρόμου του αποκωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_in[gf_m-:] Σύμβολο εισόδου rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rs_syndr_buf_en Το υπολογισθέν σύνδρομο αποθηκεύεται rs_dec_rst Σύγχρονο reset για τον αποκωδικοποιητή Reed-Solomon clk Ρολόι rst_n Ασύγχρονο reset Η υλοποίηση του κυκλώματος υπολογισμού συνδρόμου βασίζεται στο κύκλωμα του Σχ4 και παρουσιάζεται αναλυτικά στο Σχ58 Οι συνιστώσες S S St του συνδρόμου αντιστοιχούν στον υπολογισμό του πολυωνύμου r(x) για τα στοιχεία του GF(m) α α αt Οι συνιστώσες r r rn του πολυωνύμου r(x) ολισθαίνουν σειριακά ταυτόχρονα στις t διατάξεις του Σχ59 συγχρονισμένες με το ρολόι clk Μετά το πέρας t κύκλων οι καταχωρητές SS St περιέχουν το υπολογισθέν σύνδρομο για το τρέχον λαμβανόμενο κωδικοδιάνυσμα r(x) το οποίο και αποθηκεύεται καθόλη τη διάρκεια της διαδικασίας αποκωδικοποίησης στον καταχωρητή χωρητικότητας t συμβόλων S_buf 5

53 x α x rs_in α S S S_buf S_out αt- x αt St- rs_syndr_buf_en x St Σχ58 Κύκλωμα υπολογισμού συνδρόμου 53 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ Το διάγραμμα εισόδου/εξόδου του κυκλώματος υπολογισμού rs_bm του πολυωνύμου θέσης σφαλμάτων και τα αντίστοιχα σήματα παρουσιάζονται στο Σχ59 και στον Πίνακα 55 αντίστοιχα Ο υπολογισμός του πολυωνύμου θέσης σφαλμάτων Λ(Χ) βασίζεται στον κλασικό αλγόριθμο Berlekamp- Massey S_in[GF_m*(RS_n-RS_k)-:] Lambda_out[(*RS_t+)*GF_m-:] rs_bm_start rs_bm_rst rs_bm rs_bm done clk rst_n Σχ59Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος υπολογισμού του πολυωνύμου θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) Πίνακας 55 Σήματα εισόδου/εξόδου κυκλώματος υπολογισμού του πολυωνύμου θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ S_in[RS_t*GF_m-:] Σύνδρομο rs_bm_start Σήμα έναρξης εκτέλεσης του αλγόριθμου BerlekampMassey rs_bm_rst Σύγχρονο reset για το κύκλωμα Berlekamp-Massey 53

54 Πίνακας 55 Σήματα εισόδου/εξόδου κυκλώματος υπολογισμού του πολυωνύμου θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) rs_bm_done Output Η εκτέλεση του αλγόριθμου Berlekamp-Massey έχει ολοκληρωθεί Lambda_out[(*RS_t+)*GF_m-:] Output Το υπολογισθέν πολυώνυμο θέσης σφαλμάτων Λ(Χ) clk Ρολόι rst_n Ασύγχρονο reset Το κύκλωμα rs_bm φαίνεται με μεγαλύτερη λεπτομέρεια στο Σχ5 Αποτελείται από ένα σύνολο καταχωρητών που χρονίζονται με το σήμα ρολογιού clk μία μηχανή πεπερασμένων καταστάσεων (FSM) και ένα συνδυαστικό κύκλωμα ανάδρασης (Feedback Logic) Οι καταχωρητές αντιστοιχούν στις οντότητες που ορίζονται στον αλγόριθμο Berlekamp-Massey Ο καταχωρητής Delta μεγέθους ενός συμβόλου αντιστοιχεί στην διαφορά (discrepancy) Δr της (4) Ο καταχωρητής d αντιστοιχεί στην ποσότητα δr της (4) Οι καταχωρητές B και B_buf μεγέθους t συμβόλων αντιστοιχούν στα πολυώνυμα Br(X) και Br-(X) της (43) αντίστοιχα Οι καταχωρητές των t συμβόλων Lambda και Lambda_buf αντιστοιχούν στα πολυώνυμα Λr(Χ) και Λr-(Χ) της (43) αντίστοιχα Το αποτέλεσμα αποθηκεύεται στον καταχωρητή Lambda και οδηγεί τον δίαυλο εξόδου S_out Στους καταχωρητές Lambda Lambda_buf B B_buf τα λιγότερο σημαντικό σύμβολα αντιστοιχούν στους συντελεστές των μικρότερων δυνάμεων Τέλος ο καταχωρητής r αντιστοιχεί στον κύκλο r του αλγορίθμου Το συνδυαστικό κύκλωμα ανάδρασης υπολογίζει τις καινούριες τιμές των καταχωρητών σε κάθε κύκλο ρολογιού σύμφωνα με τις σχέσεις (4)-(43) bm_cnt r S_in Feedback Logic Delta d FSM rs_bm_state Lambda L Lambda_buf L_buf B[t-:] Lambda_out B_buf[t-:] Lambda[t-:] Lambda_buf[t-:] Σχ5 Κύκλωμα υλοποίησης του αλγορίθμου Berlekamp-Massey Η μηχανή πεπερασμένων καταστάσεων ορίζει τέσσερις καταστάσεις λειτουργίας που αντιστοιχούν στα τέσσερα βήματα του αλγόριθμου Berlekamp-Massey που περιγράφονται στην παράγραφο 4 Στο Σχ5 παρουσιάζεται γραφικά η λειτουργία της μηχανής καταστάσεων Στην κατάσταση STEP όλοι οι καταχωρητές έχουν την τιμή μηδέν 54

55 Με την έλευση του παλμού rs_bm_start πραγματοποιείται μετάβαση στην κατάσταση STEP όπου και οι καταχωρητές Lambda B και L παίρνουν τις τιμές και αντίστοιχα Στον επόμενο κύκλο ρολογιού πραγματοποιείται μετάβαση στην κατάσταση STEP όπου και υπολογίζεται η καινούρια τιμή της ποσότητας Δr με τον καταχωρητή Delta να παίζει το ρόλο του accummulator όπως επίσης και οι τιμές των ποσοτήτων δr και Lr με τη χρήση των καταχωρητών d και L αντίστοιχα σύμφωνα με τις σχέσεις (4) και (4) Πιο συγκεκριμένα στην κατάσταση STEP στον κύκλο επανάληψης r του αλγορίθμου υπολογίζονται (και ταυτόχρονα αθροίζονται) τα r στο πλήθος μερικά γινόμενα Λj(r-)Sr-j της σχέσης (4) ένα σε κάθε κύκλο ρολογιού Για r = υπολογίζεται το γινόμενο Λ()S σε έναν κύκλο ρολογιού για r= το άθροισμα Δ = Λ()S + Λ()S σε δύο κύκλους ρολογιού για r = 3 το άθροισμα Δ3 = Λ()S3 + Λ()S + Λ()S σε τρεις κύκλους ρολογιού κοκ Παράλληλα υπολογίζονται και οι καινούριες τιμές για τους καταχωρητές d και L σύμφωνα με τις σχέσεις (4) και (4) αντίστοιχα Επομένως η διάρκεια παραμονής στην κατάσταση STEP είναι ίση με r κύκλους ρολογιού κάθε φορά Αμέσως μετά πραγματοποιείται μετάβαση στην κατάσταση STEP3 με ταυτόχρονη αποθήκευση της τιμής των καταχωρητών Lambda B και L στους καταχωρητές Lambda_buf B_buf και L_buf αντίστοιχα Στην κατάσταση STEP3 πραγματοποιείται ο υπολογισμός των καινούριων τιμών των καταχωρητών Lambda και B και αμέσως μετά πραγματοποιείται μετάβαση στην κατάσταση STEP4 όπου και ελέγχεται η τιμή του καταχωρητή r Αν η τιμή στον καταχωρητή r είναι μικρότερη από t τότε πραγματοποιείται μετάβαση στην κατάσταση STEP και οι υπολογισμοί και μεταβάσεις καταστάσεων επαναλαμβάνονται κατά τον ίδιο τρόπο Αν η τιμή στον καταχωρητή r είναι ίση με t τότε ο αλγόριθμος τερματίζεται με τους συντελεστές του πολυωνύμου θέσης σφαλμάτων να είναι αποθηκευμένοι στον καταχωρητή Lambda και το μήκος του ελάχιστου LFSR στον καταχωρητή L bm_cnt<r Delta=ΣΛ j(r-)sr-j d=d_new L=L_new start_rs_bm Lambda= B= L= r= STEP Lambda= B= L= r= STEP bm_cnt=r Lambda_buf=Lambda B_buf=B Lambda=Lambda_new B=B_new STEP STEP3 STEP4 r<t r=r+ r=t Σχ5 Γραφική αναπαράσταση της μηχανής καταστάσεων της μονάδας rs_bm για τον υπολογισμό του πολυωνύμου θέσης σφαλμάτων 533 ΥΠΟΛΟΓΙΣΜΟΣ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ CHIENS Το διάγραμμα εισόδου/εξόδου του κυκλώματος υλοποίησης του αλγόριθμου Chiens και τα αντίστοιχα σήματα παρουσιάζονται στο Σχ5 και στον Πίνακα 56 αντίστοιχα 55

56 Lambda_in[(RS_t+)*GF_m-:] rs_error_locat[rs_n-:] rs_chiens_start rs_chiens_rst rs_chiens clk rst_n Σχ5 Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος υπολογισμού της θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) με τον αλγόριθμο Chiens Πίνακας 56 Σήματα εισόδου/εξόδου κυκλώματος υπολογισμού της θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) με τον αλγόριθμο Chiens ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ Lambda_in[(RS_t+)*GF_m-:] Πολυώνυμο θέσης σφαλμάτων Λ(Χ) rs_chiens_start Σήμα έναρξης εκτέλεσης του αλγόριθμου Chiens rs_chiens_rst Σύγχρονο reset για το κύκλωμα του αλγόριθμου Chiens rs_chiens_done Output Η εκτέλεση του αλγόριθμου Chiens έχει ολοκληρωθεί rs_error_locat[rs_n-:] Output Θέσεις σφαλμάτων για το τρέχον (nk) μπλοκ Για λαμβανόμενο διάνυσμα r(χ) = r+ rx +rx + rn- Xn- η παρουσία στο ψηφίο rs_error_locat[i] δηλώνει εντοπισμό σφάλματος στον συντελεστή ri i = ν clk Ρολόι rst_n Ασύγχρονο reset 56

57 Το κύκλωμα υπολογισμού του αλγορίθμου Chien search λαμβάνει ως είσοδο το πολυώνυμο θέσης σφαλμάτων Λ(Χ) που υπολογίζεται από το κύκλωμα rs_bm και που αντιστοιχεί στην είσοδο Lambda_in και υπολογίζει τις θέσεις των σφαλμάτων για το λαμβανόμενο κωδικοδιάνυσμα Οι λεπτομέρειες της υλοποίησης του κυκλώματος rs_chiens παρουσιάζονται στο Σχ53 GF(m) Lambda_in + + X + Λ αt- Λt- X α Λ αt Λt X rs_chiens_start Lambda_reg[t:] rs_chiens_cnt gf_adder_vctr clk rst_n Lambda_eval[n-:] root error_locat rs_error_locat Σχ53 Υλοποίηση του υπολογισμού θέσης σφαλμάτων σύμφωνα με τον αλγόριθμο Chien search Η εύρεση της θέσης των σφαλμάτων ανάγεται στην εύρεση των ριζών του πολυωνύμου θέσης σφαλμάτων Λ(Χ) Οι θέσεις των σφαλμάτων αντιστοιχούν στους αντίστροφους των ριζών του πολυωνύμου Λ(Χ) Ο υπολογισμός των ριζών του πολυωνύμου Λ(Χ) πραγματοποιείται με εξαντλητική δοκιμή των στοιχείων του GF(m) Για τον υπολογισμό της τιμής του πολυωνύμου Λ(Χ) χρησιμοποιείται ο καταχωρητής t+συμβόλων Lambda_reg Αρχικά τα περιεχόμενα του καταχωρητή είναι μηδέν Με την έλευση του παλμού rs_chiens_start οι συνιστώσες του πολυωνύμου Λ(Χ) πολλαπλασιάζονται με τα στοιχεία α α αt και σε κάθε κύκλο ρολογιού clk σε κάθε θέση του καταχωρητή Lamda_reg αποθηκεύονται τα αθροίσματα των ήδη αποθηκευμένων συμβόλων συν το αντίστοιχο γινόμενο Λiαi Η διαδικασία διαδοχικών πολλαπλασιασμών και αθροίσεων επαναλαμβάνεται n φορές Για κάθε επανάληψη ο παράλληλος αθροιστής gf_adder_vct υπολογίζει το άθροισμα όλων των συμβόλων του καταχωρητή Lambda_reg συν τη συνιστώσα Λ= Τα αποτελέσματα των n αθροίσεων αποθηκεύονται σε διαδoχικές θέσεις του καταχωρητή n συμβόλων Lamba_eval Όταν ολοκληρωθούν και οι n υπολογισμοί τα περιεχόμενα σύμβολα του καταχωρητή ελέγχονται από το κύκλωμα root error_locat αν είναι μηδέν (ρίζα του πολυωνύμου Λ(Χ)) ή όχι Σε περίπτωση εύρεσης ρίζας το κύκλωμα root error_locat εφαρμόζει την αντιστοιχία ρίζα του πολυωνύμου θέσης σφαλμάτων Λ(Χ) -> αντίστροφος της ρίζας -> θέση σφάλματος και θέτει το κατάλληλο ψηφίο της εξόδου rs_error_locat στη τιμή για να υποδείξει σφάλμα στο αντίστοιχο σύμβολο της λαμβανόμενης κωδικολέξης 57

58 534 ΥΠΟΛΟΓΙΣΜΟΣ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ Το διάγραμμα εισόδου/εξόδου του κυκλώματος υλοποίησης του αλγόριθμου Forney για τον υπολογισμό της τιμής των σφαλμάτων και τα αντίστοιχα σήματα παρουσιάζονται στο Σχ54 και στον Πίνακα 57 αντίστοιχα Omega_in[(*RS_t)*GF_m-:] Lambda_in[(RS_t+)*GF_m-:] rs_error_magn_out[rs_n*gf_m-:] rs_forney_done rs_error_locat[rs_n-:] rs_forney rs_forney_start rs_forney_rst clk rst_n Σχ54 Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος για τον υπολογισμού της τιμής σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) με τον αλγόριθμο Forney Πίνακας 57 Σήματα εισόδου/εξόδου κυκλώματος υπολογισμού της θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) με τον αλγόριθμο Forney ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ Omega_in[(*RS_t)*GF_m-:] Πολυώνυμο τιμής σφαλμάτων Ω(Χ) Lambda_in[(RS_t+)*GF_m-:] Πολυώνυμο θέσης σφαλμάτων Λ(Χ) rs_error_locat[rs_n-:] Θέσεις σφαλμάτων rs_forney_start Σήμα έναρξης εκτέλεσης του αλγόριθμου Forney rs_forney_rst Σύγχρονο reset για το κύκλωμα του αλγόριθμου Forney rs_forney_done Output Η εκτέλεση του αλγόριθμου Forney έχει ολοκληρωθεί rs_error_magn_out[rs_n*gf_m-:] Output Τιμές σφαλμάτων για το τρέχον μπλοκ (nk) clk Ρολόι rst_n Ασύγχρονο reset Το κύκλωμα υλοποίησης του αλγόριθμου Forney παρουσιάζει ομοιότητες με αυτό της υλοποίησης του αλγορίθμου Chien search και φαίνεται με μεγαλύτερη λεπτομέρεια στο Σχ55 Το κύκλωμα λαμβάνει λαμβάνει τους συντελεστές του πολυωνύμου θέσης σφαλμάτων Λ(Χ) μέσω της εισόδου Lambda_in καθώς και τους συντελεστές του πολυωνύμου τιμής σφαλμάτων Ω(Χ) το οποίο και υπολογίζεται από το κύκλωμα Omega_calc και υπολογίζει τις τιμές των σφαλμάτων σύμφωνα με τη σχέση (44) οι οποίες και οδηγούν το δίαυλο εξόδου rs_error_magn_out 58

59 Omega_in Lambda_in GF(m) Lambda_odd_calc Lambda_fd X Lambda_fd_reg[todd:] Lambda_fd_eval rs_forney_start Λ'(γl) + Omega_reg[t:] Lambda_fd_eval gf_adder_vctr Omega_eval - gf_inv [Λ'(γl)] rs_forney_cnt X Ω(γ )/Λ (γ ) ι ι demux rs_error_magn_eval clk rst_n X rs_error_magn_out gf_adder_vctr X X α Ω + + αt- Ωt- αt Ωt X α Λ αt- Λtodd- αtodd Λtodd X rs_error_magn[n-:] Σχ55 Κύκλωμα υλοποίησης αλγόριθμου Forney Οι συντελεστές του πολυωνύμου Λ(Χ) διοχετεύονται στο συνδυαστικό κύκλωμα Lambda_odd_calc το οποίο και υπολογίζει την πρώτη παράγωγο του πολυωνύμου Λ(Χ) Λ'(Χ) που είναι πολυώνυμο βαθμού todd το οποίο και αντιστοιχεί στα σήματα Lambda_fd Ο υπολογισμός της πρώτης παραγώγου του Λ(Χ) ανάγεται στην επιλογή των συντελεστών των μονών δυνάμεων του Λ(Χ) όπως περιγράφηκε στην παράγραφο 44 Ο αριθμός todd ισούται με t- αν ο t είναι ζυγός και με t αν ο t είναι μονός Για τον υπολογισμό των τιμών θέσης σφαλμάτων χρησιμοποιούνται οι καταχωρητές Lambda_fd_reg και Omega_reg χωρητικότητας todd+ και t + συμβόλων αντίστοιχα Με τρόπο παρόμοιο με αυτόν του κυκλώματος υλοποίησης του αλγορίθμου Chien search τα πολυώνυμα Ω(Χ) Λ'(Χ) υπολογίζονται για όλες τις τιμές των στοιχείων του GF(m) Τα μερικά γινόμενα υπολογίζονται στους καταχωρητές Lambda_fd_reg και Omega_reg και τα αθροίσματα των μερικών γινομένων Lambda_fd_eval και Omega_fd_eval στις μονάδες gf_adder_vctr και gf_adder_vctr αντίστοιχα Επιπλέον για το αποτέλεσμα του υπολογισμού Lambda_fd_eval Λ'(Χ) παράγεται ο πολλαπλασιαστικός του αντίστροφος με τη χρήση της μονάδας gf_inv Το τελικό αποτέλεσμα των λόγων Ω(γι)/Λ (γι) όπου l = n- προκύπτει από τον πολλαπλασιασμό της ποσότητας Ω(γι) επί τον αντίστροφο της ποσότητας Λ (γι) [Λ (γι)]- Για κάθε έναν από τους n κύκλους ρολογιού υπολογίζεται και μία τιμή Ω(γι)/Λ (γι) η οποία και αποθηκεύεται στον καταχωρητή χωρητικότητας n συμβόλων rs_error_magn και σε θέση που υποδεικνύει η λογική demux 59

60 535 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ Ω(Χ) Το διάγραμμα εισόδου/εξόδου του κυκλώματος υπολογισμού του πολυωνύμου τιμής σφαλμάτων Ω(Χ) παρουσιάζεται στο Σχ56 και η περιγραφή των σημάτων στον Πίνακα 58 S_in[RS_t*GF_m-:] modxt Lambda_in[(RS_t+)*GF_m-:] Omega_calc_start Omega_calc_rst Omega_calc Omega[*RS_t*GF_m-:] S_Lambda[3*RS_t*GF_m-:] Omega_done clk rst_n Σχ56 Σήματα εισόδου/εξόδου του κυκλώματος υπολογισμού του πολυωνύμου τιμής σφαλμάτων Ω(Χ) Πίνακας 58 Σήματα εισόδου/εξόδου κυκλώματος υπολογισμού της θέσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) με τον αλγόριθμο Forney ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ S_in[(RS_t)*GF_m-:] Πολυώνυμο συνδρόμου S(X) Lambda_in[(RS_t+)*GF_m-:] Πολυώνυμο θέσης σφαλμάτων Λ(Χ) Omega_calc_start Σήμα έναρξης υπολογισμού του πολυωνύμου Ω(Χ) Omega_calc_rst Σύγχρονο reset Omega_done Output Η εκτέλεση του υπολογισμού του πολυωνύμου Ω(Χ) έχει ολοκληρωθεί S_Lambda[3*RS_t*GF_m-:] Output Το γινόμενο S(X)*Λ(Χ) clk Ρολόι rst_n Ασύγχρονο reset Το κύκλωμα υπολογισμού του πολυωνύμου τιμής σφαλμάτων Ω(Χ) είναι ένα παρουσιάζεται με μεγαλύτερη λεπτομέρεια στο Σχ57 Υπολογίζει το γινόμενο S(X)Λ(Χ) του πολυωνύμου συνδρόμου S(X) = S+SX+StXt επί το πολυώνυμο θέσης σφάλματος Λ(X) Ο υπολογισμός του γινομένου πραγματοποιείται σειριακά Όπως φαίνεται στο Σχ57 οι συντελεστές του πολυωνύμου Λ(Χ) εισάγονται παράλληλα μέσω του δίαυλου εισόδου Lambda_in και τροφοδοτούν τους πολλαπλασιαστές στις αναδράσεις (tabs) του LFSR h Το πολυώνυμο S(X) εισάγεται παράλληλα μέσω του διαύλου εισόδου S_in και φορτώνεται στον καταχωρητή t+ συμβόλων a Με την έλευση του παλμού Omega_calc_start τα περιεχόμενα του καταχωρητή a δηλ οι συντελεστές του πολυωνύμου συνδρόμου S(X) ολισθαίνουν (το St πρώτο) και τροφοδοτούν τους πολλαπλασιαστές στις αναδράσεις του LFSR h μέσω των σημάτων a_sin (διακόπτης Δ κλειστός) Μετά το πέρας t 6

61 κύκλων ρολογιού ο διακόπτης Δ ανοίγει (a_sin=) και ο LFSR συνεχίζει να χρονίζεται για διάρκεια t κύκλων ρολογιού επιπλέον έως ότου τα περιεχόμενά του δώσουν και τα τελευταίους συντελεστές του πολυωνύμου S(X)Λ(Χ) Ταυτόχρονα η έξοδος του LFSR h αποθηκεύεται σειριακά στον καταχωρητή συμβόλων 3t+b ο οποίος και τροφοδοτεί τον δίαυλο εξόδου S_Lambda Το τελικό αποτέλεσμα Ω(Χ)=S(X)Λ(Χ)modXt προκύπτει εξωτερικά με την αποκοπή των συμβόλων του διαύλου S_Lambda που αντιστοιχούν σε συντελεστές δυνάμεων του S(X)Λ(Χ) μεγαλύτερων ή ίσων με t όπως φαίνεται στο Σχ56 Lambda_in Λ Λ S_in x x Λt x x Δ h + h + ht + b_sout a_sin = {atat- a } = {StSt-S} clk rst_n a b S_Lambda Σχ57 Κύκλωμα υπολογισμού πολυωνύμου τιμής σφαλμάτων Ω(Χ) γινόμενο S(X)Λ(X) 536 ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ Το κύκλωμα διόρθωσης σφαλμάτων φαίνεται στο Σχ58 Οι διορθώσεις πραγματοποιούνται σύμφωνα με τις υποδείξεις των σημάτων rs_error_locat και rs_error_magn_out rs_codeword_in[(gf_m*rs_n)-:] rs_codeword_out[(gf_m*rs_n)-:] rs_error_locat[rs_n-:] rs_error_magn_in[(gf_m*rs_n)-:] rs_dec_errcor clk rst_n Σχ58 Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος προσωρινής αποθήκευσης διόρθωσης και μετάδοσης του αποκωδικοποιητή Reed-Solomon nk) Στον Πίνακα 59 περιγράφονται τα σήματα εισόδου/εξόδου της μονάδας rs_dec_errcor και στο Σχ59 φαίνεται ο μηχανισμός της διόρθωσης των σφαλμάτων Αν κάποιο από το ψηφία rs_error_locat[i] i = n έχει την τιμή τότε στο εσφαλμένο σύμβολο rs_codeword_in[i] προστίθεται η αντίστοιχη συνιστώσα του διανύσματος λάθους rs_error_magn_in[i] για i = n 6

62 Πίνακας 59 Σήματα εισόδου/εξόδου κυκλώματος διόρθωσης σφαλμάτων του αποκωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_codeword_in[(rs_t+)*gf_m-:] Το τρέχον μπλοκ n συμβόλων (κωδικολέξη) rs_error_locat[rs_n-:] Θέσεις συμβόλων με σφάλματα στο (nk) μπλοκ rs_error_magn_in[(rs_n*gf_m)-:] Τιμές σφαλμάτων για το (nk) μπλοκ rs_codeword_out[(rs_n*gf_m)-:] Output Διορθωμένο (nk) μπλοκ clk Ρολόι rst_n Ασύγχρονο reset rs_error_locat rs_error_magn rs_codeword_in rs_codeword_out rs_error_locat[] rs_error_magn[] Δ rs_codeword_in[] + rs_error_codeword_out[] rs_error_locat[] rs_error_magn[] Δ rs_codeword_in[] + rs_error_locat[n-] rs_error_magn[n-] rs_codeword_in[n-] rs_error_codeword_out[] Δ + rs_error_codeword_out[n-] Σχ59 Κύκλωμα διόρθωσης σφαλμάτων 537 ΠΡΟΣΩΡΙΝΗ ΑΠΟΘΗΚΕΥΣΗ και ΜΕΤΑΔΟΣΗ (nk) ΜΠΛΟΚ Το κύκλωμα rs_dec_buf (Σχ5) εκτελεί τις ακόλουθες λειτουργίες: Αποθηκεύει προσωρινά το τρέχον λαμβανόμενο (nk) μπλοκ συμβόλων Αποθηκεύει το διορθωμένο (nk) μπλοκ συμβόλων 3 Μεταδίδει σειριακά ανά σύμβολο το διορθωμένο (nk) μπλοκ μέσω των σημάτων εξόδου rs_out_dec Τα σήματα εισόδου/εξόδου της μονάδας rs_dec_buf περιγράφονται στον Πίνακα 5 Σχ5 Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος προσωρινής αποθήκευσης και μετάδοσης του αποκωδικοποιητή Reed-Solomon nk) 6

63 Πίνακας 5 Σήματα εισόδου/εξόδου κυκλώματος προσωρινής αποθήκευσης και μετάδοσης του αποκωδικοποιητή Reed-Solomon nk) ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_in[gf_m-:] Σύμβολο εισόδου rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rs_dec_buf_rst Σύγχρονο reset σήμα για το κύκλωμα προσωρινής αποθήκευσης και μετάδοσης του rs_codeword_out[rs_n*gf_m-:] Output Διορθωμένο (nk) μπλοκ rs_codeword_in[rs_n*gf_m-:] Output Τρέχον (nk) μπλοκ ld_rs_codeword Σήμα φόρτωσης του διορθωμένου (nk) μπλοκ rs_dec_buf_shiftout To διορθωμένο (nk) μπλοκ μεταδίδεται ανά σύμβολο μέσω των σημάτων εξόδου rs_out[gf_m-:] rs_out[gf_m-:] Output Σήματα εξόδου για τα μεταδιδόμενα σύμβολα του διορθωμένου (nk) μπλοκ clk Ρολόι rst_n Ασύγχρονο reset Στο Σχ5 το κύκλωμα rs_dec_buf παρουσιάζεται με μεγαλύτερη λεπτομέρεια rs_codeword_in rs_codeword_out rs_dec_errcor rs_in rs_in_valid ld_rs_codeword rs_dec_buf_shift_out clk rst_n rs_codeword {loadshift_in shift_out} rs_dec_buf_ctrl rs_out rs_out_valid Σχ 5 Υλοποίηση κυκλώματος rs_dec_buf Τα σύμβολα της λαμβανόμενης κωδικολέξης εισέρχονται σειριακά ανά κύκλο του ρολογιού clk στη μονάδα rs_dec_buf και αποθηκεύονται στον καταχωρητή χωρητικότητας n συμβόλων rs_codeword όσο το σήμα rs_valid έχει την τιμή Η λαμβανόμενη κωδικολέξη (η οποία είναι πιθανό να περιέχει σφάλματα) τροφοδοτεί το κύκλωμα rs_dec_errcor μέσω του διαύλου εξόδου rs_codeword_out Η μονάδα re_dec_errcor με τη σειρά της επιστρέφει τη διορθωμένη κωδικολέξη στην μονάδα rs_dec_duf μέσω του διαύλου εισόδου rs_codeword_in Η διορθωμένη κωδικολέξη φορτώνεται με τον παλμό του σήματος εισόδου ld_rs_codeword Τα περιεχόμενα του καταχωρητή rs_dec_buf (διορθωμένη κωδικολέξη) μεταδίδονται σειριακά μέσω του διαύλου εξόδου rs_out όταν το σήμα εισόδου rs_dec_buf_shift_out έχει την τιμή Τα έγκυρα σύμβολα εξόδου υποδεικνύονται από το σήμα εξόδου rs_out_valid 538 ΚΥΚΛΩΜΑ ΕΛΕΓΧΟΥ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ Το κύκλωμα ελέγχου εκτελεί ενέργειες συγχρονισμού μεταξύ των διαφόρων σταδίων της αποκωδικοποίησης Το διάγραμμα εισόδου/εξόδου παρουσιάζονται στο Σχ5 και η περιγραφή των σημάτων στον Πίνακα 5 63

64 rs_in valid rs_dec_buf_rst ld_rs_codeword_corr rs_dec_buf_shiftout rs_out_valid rs_syndr_buf_en rs_syndr_rst rst_rs_dec_ctrl rs_bm_done rs_chiens_done Omega_calc_done rs_forney_done rs_syndr_done rs_bm_start rs_chiens_start rs_bm_rst rs_chiens_rst Omega_calc_rst rs_forney_start rs_forney_rst Omega_calc_start rs_dec_ctrl clk rst_n Σχ5 Διάγραμμα σημάτων εισόδου/εξόδου κυκλώματος ελέγχου του αποκωδικοποιητή Reed-Solomon nk) Πίνακας 5 Σήματα εισόδου/εξόδου κυκλώματος rs_dec_ctrl ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ rs_in_valid Το σύμβολο εισόδου είναι έγκυρο rst_rs_dec_ctrl Σύγχρονο reset rs_dec_buf_rst Output Σύγχρονο reset για τον buffer ld_rs_codeword_corr Output H διορθωμένη κωδικολέξη φορτώνεται στον rs_dec_buffer εξόδου rs_dec_buf_shiftout Output H διορθωμένη κωδικολέξη ολισθαίνει προς την rs_out ανά σύμβολο rs_out_valid Output Το σύμβολο εξόδου είναι έγκυρο rs_syndr_buf_en Output Το υπολογισθέν σύνδρομο αποθηκεύεται rs_syndr_rst Output Το κύκλωμα υπολογισμού του συνδρόμου αρχικοποιείται rs_syndr_done Output Το σύνδρομο για το τρέχον μπλοκ έχει υπολογιστεί rs_bm_start Output Σήμα έναρξης εκτέλεσης του αλγόριθμου Berlekamp-Massey rs_bm_rst Σύγχρονο reset για το κύκλωμα Berlekamp-Massey rs_bm_done Output Η εκτέλεση του αλγόριθμου Berlekamp-Massey έχει ολοκληρωθεί rs_chiens_start Output Σήμα έναρξης εκτέλεσης του αλγόριθμου Chiens rs_chiens_rst rs_chiens_done Omega_calc_start Output Σύγχρονο reset για το κύκλωμα Chiens search Η εκτέλεση του αλγόριθμου Chiens έχει ολοκληρωθεί Σήμα έναρξης υπολογισμού του πολυωνύμου Ω(Χ) Omega_calc_rst Output Σύγχρονο reset για το κύκλωμα υπολογισμού του πολυωνύμου Ω(Χ) Omega_calc_done Output Ο υπολογισμός του πολυωνύμου Ω(Χ) έχει ολοκληρωθεί rs_forney_start Output Σήμα έναρξης εκτέλεσης του αλγόριθμου Forney 64

65 Πίνακας 5 Σήματα εισόδου/εξόδου κυκλώματος rs_dec_ctrl rs_forney_rst Σύγχρονο reset για το κύκλωμα Forney rs_forney_done Ο υπολογισμός του αλγόριθμου Forney έχει ολοκληρωθεί clk Ρολόι rst_n Ασύγχρονο reset Η υλοποίηση του κυκλώματος rs_dec παρουσιάζεται στο Σχ 5 rs_dec_buf_rst ld_rs_codeword_corr rs_dec_buf_shiftout rs_out_valid rs_syndr_buf_en rs_syndr_rst rs_in valid rst_rs_dec_ctrl rs_bm_done rs_chiens_done rs_syndr_done rs_bm_start rs_chiens_start rs_bm_rst rs_chiens_rst Omega_calc_rst Omega_calc_start rs_forney_start rs_forney_rst Omega_calc_done rs_forney_done rs_dec _ctrl logic cnt_fdbck clk rst_n rs_dec_ctrl_cnt Σχ5 Κύκλωμα rs_dec_ctrl 539 ΣΥΝΑΡΤΗΣΕΙΣ ΑΡΙΘΜΗΤΙΚΗΣ GALOIS FIELD Η μονάδα rs_func περιέχει την υλοποίηση της αριθμητικής για το πεδίο GF(m) Το δομικό διάγραμμα της μονάδας gf_func παρουσιάζεται στο Σχ53 Αποτελείται από τις υπομονάδες gf_elems (αναπαράσταση στοιχείων του πεδίου GF(m)) gf_add (υλοποίηση πρόσθεσης δύο στοιχείων του πεδίου GF(m)) gf_add_vctr (υλοποίηση πρόσθεσης πολλαπλών στοιχείων του πεδίου GF(m)) gf_mult (υλοποίηση πολλαπλασιασμού δύο στοιχείων του πεδίου GF(m)) και gf_inv (υλοποίηση υπολογισμού πολλαπλασιαστικού αντιστρόφου στοιχείου GF(m)) 65

66 gf_func gf_elems gf_add gf_add_vctr gf_mult gf_inv Σχ53 Μονάδα υλοποίησης αριθμητικής πεδίων GF(m) rs_func Τα πρωτογεννή πολυώνυμα που ορίζουν τα πεδία GF(m) που χρησιμοποιήθηκαν στην υλοποίηση του GF(m) παρουσιάζονται στον Πίνακα και για τις τιμές του m από 3 έως και 539 ΑΘΡΟΙΣΤΗΣ ΔΥΟ ΣΤΟΙΧΕΙΩΝ ΠΕΔΙΟΥ GF(m) Το διάγραμμα εισόδου/εξόδου της υλοποίησης του αθροίσματος δύο στοιχείων του GF(m) φαίνεται στο Σχ54 και η περιγραφή των σημάτων γίνεται στον Πίνακα 53 a[gf_m-:] gf_add b[gf_m-:] calc_gf_add[gf_m-:] Σχ54 Διάγραμμα αθροιστή δύο στοιχείων του πεδίου GF(m) Πίνακας 53 Σήματα εισόδου/εξόδου του αθροιστή gf_add ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ a[gf_m-:] Στοιχείο a b[gf_m-:] Στοιχείο b Output Άθροισμα calc_gf_add[gf_m-:] H υλοποίηση του αθροιστή gf_add περιγράφεται με μεγαλύτερη λεπτομέρεια στο Σχ55 66

67 Πρόκειται για την modulo δύο πρόσθεση ανά ψηφίο των πολυωνυμικών αναπαραστάσεων των στοιχείων a και b a[gf_m-:] a[] calc_gf_add b[] b[gf_m-:] a[] b[] a[m-] b[m-] Σχ55 Κύκλωμα gf_add 539 ΑΘΡΟΙΣΤΗΣ ΠΟΛΛΑΠΛΩΝ ΣΤΟΙΧΕΙΩΝ ΠΕΔΙΟΥ GF(m) Η μονάδα gf_add_vctr υπολογίζει το άθροισμα πλήθους #NUM_OF_ADDENDS προσθετέων από το πεδίο GF(m) Το διάγραμμα εισόδου/εξόδου της μονάδας gf_add_vctr φαίνεται στο Σχ56 και η περιγραφή των σημάτων γίνεται στον Πίνακα 54 #NUM_OF_ADDENDS addend_vctr_in[num_of_addends*gf_m-:] gf_add_vctr calc_gf_add_vctr_out[gf_m-:] Σχ56 Διάγραμμα εισόδου/εξόδου της μονάδας gf_add_vctr Πίνακας 54 Σήματα εισόδου/εξόδου του αθροιστή πολλαπλών στοιχείων gf_add_vctr ΠΑΡΑΜΕΤΡΟΙ ΠΕΡΙΓΡΑΦΗ NUM_OF_ADDENDS ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ Αριθμός προσθετέων ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ addend_vctr_in[num_of_addends*gf_m-:] NUM_OF_ADDENDS προσθετέοι calc_gf_add_vctr_out[gf_m-:] Άθροισμα H υλοποίηση και η λειτουργία του αθροιστή gf_add_vctr περιγράφεται με μεγαλύτερη λεπτομέρεια 67

68 στο Σχ57 Οι προσθετέοι εισάγονται σε πολυωνυμική μορφή μέσω του διαύλου εισόδου addend_vctr_in Τα δυαδικά ψηφία κάθε προσθετέου διαχωρίζονται ανάλογα με την σημαντικότητα ψηφίου (bit significance) και προστίθενται mod Το αποτέλεσμα οδηγεί τον δίαυλο εξόδου calc_add_vctr_out addend_vctr_in calc_add_vctr_out Σχ57 Υλοποίηση κυκλώματος gf_add_vctr 5393 ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ ΔΥΟ ΣΤΟΙΧΕΙΩΝ ΠΕΔΙΟΥ GF(m) Το διάγραμμα εισόδου/εξόδου της υλοποίησης του γινομένου δύο στοιχείων του GF(m) φαίνεται στο Σχ58 και η περιγραφή των σημάτων γίνεται στον Πίνακα 54 a[gf_m-:] gf_mult b[gf_m-:] calc_gf_mult[gf_m-:] Σχ58 Πολλαπλασιαστής gf_mult Πίνακας 54 Σήματα εισόδου/εξόδου του πολλαπλασιαστή gf_add ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ ΠΕΡΙΓΡΑΦΗ a[gf_m-:] Πολλαπλασιαστής a b[gf_m-:] Πολλαπλασιαστής b calc_gf_add[gf_m-:] Output Γινόμενο Η υλοποίηση του πολλαπλασιαστή αντιστοιχεί σε ένα παράλληλο πλήρως συνδυαστικό κύκλωμα υπολογισμού του γινομένου που υπολογίζει τα μερικά γινόμενα της αντίστοιχης σειριακής υλοποίησης Τα κυκλώματα της σειριακής και της παράλληλης υλοποίησης παρουσιάζονται στο Σχ59 68

69 calc_gf_mult a a a b b b am- a b bm- (α) calc_gf_mult XOR (m stages) AND (m stages) a Rotate (m stages) b (β) Σχ59 Πολλαπλασιαστής δύο στοιχείων GF(m) gf_mult (α) Σειριακή διάταξη πολλαπλασιασμού (β) Παράλληλη υλοποίηση που χρησιμοποιήθηκε 5394 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΛΑΠΛΑΣΙΑΣΤΙΚΟΥ ΑΝΤΙΣΤΡΟΦΟΥ ΣΤΟΙΧΕΙΟ ΠΕΔΙΟΥ GF(m) Το διάγραμμα εισόδου/εξόδου της μονάδας υπολογισμού πολλαπλασιαστικού αντιστρόφου gf_inv φαίνεται στο Σχ53 και η περιγραφή των σημάτων γίνεται στον Πίνακα 56 a[gf_m-:] gf_inv calc_gf_inv[gf_m-:] Σχ53 Διάγραμμα εισόδου/εξόδου της μονάδας gf_inv 69

70 Πίνακας 56 Σήματα εισόδου/εξόδου της μονάδας gf_inv ΣΗΜΑ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ ΤΥΠΟΣ a[gf_m-:] ΠΕΡΙΓΡΑΦΗ calc_gf_inv[gf_m-:] Στοιχείο εισόδου Output Πολλαπλασιαστικός αντίστροφος Η υλοποίηση του κυκλώματος gf_inv για την εύρεση του πολλαπλασιαστικού αντιστρόφου βασίζεται σε look-up-table και περιγράφεται στο Σχ53 Εφόσον ο πολλαπλασιαστικός m αντίστροφος του στοιχείου αi του πεδίου GF(m) είναι ο α --i το αποτέλεσμα προκύπτει στην έξοδο calc_gf_inv ως το αντιδιαμετρικό στοιχείο του στοιχείου εισόδου στην είσοδο a α α LUT α α a αm- αm- m- αm- α calc_gf_inv Σχ53 Κύκλωμα υλοποίησης υπολογισμού πολλαπλασιαστικού αντιστρόφου gf_inv 7

71 6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΕΞΟΜΟΙΩΣΗΣ ΚΩΔΙΚΟΠΟΙΗΤΗ/ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ Reed-Solomon Σε αυτό το κεφάλαιο θα παρουσιαστούν κωδικοποιητή/αποκωδικοποιητή Reed-Solomon nk) αποτελέσματα εξομοίωσης του 6 ΚΩΔΙΚΟΠΟΙΗΤΗΣ Reed-Solomon nk) Στο Σχ6 Παρουσιάζονται τα αποτελέσματα της μονάδας rs_enc για τον κώδικα 73) με πολυώνυμο γεννήτορα το g(x) = X4 + α3χ3 + Χ + αχ + α3 Τα k=3 σύμβολα εισόδου συγχρονισμένα με το ρολόι clk και υποδεικνύονται από το σήμα rs_in_valid και αντιστοιχούν στα σήματα rs_in_exp (εκθετική αναπαράσταση) και rs_in_poly (πολυωνυμική αναπαράσταση) Τα n=7 σύμβολα εξόδου επίσης συγχρονισμένα με το ρολόι clk ορίζονται από το σήμα rs_out_valid και αντιστοιχούν στα σήματα rs_out_exp (εκθετική αναπαράσταση) και rs_out_poly (πολυωνυμική αναπαράσταση) Τα 3 πρώτα σύμβολα εξόδου είναι όμοια με τα σύμβολα του μηνύματος στην είσοδο και τα επόμενα nk=4 σύμβολα εξόδου είναι τα σύμβολα ελέγχου ισοτιμίας Σχ6 Κωδικοποίηση 73) Ομοίως στα στιγμιότυπα εξομοιώσεων που ακολουθούν παρουσιάζονται τα αποτελέσματα της κωδικοποίησης για τους κώδικες : 5) με πολυώνυμο γεννήτορα το g(x) = X4 + α3χ3 + α6χ + α3χ + α 35) με πολυώνυμο γεννήτορα το g(x) = X6 + αχ5 + α9χ4 + α4χ3 + α6χ + α4χ + α 635) με πολυώνυμο γεννήτορα το g(x) = X + α6χ + αχ + α44χ9 + α6χ8 + α6χ7 + α8χ6 + αχ5 + α3χ4 + αχ3 + αχ + α6χ +α5 73) με πολυώνυμο γεννήτορα το g(x) = X4 + α3χ3 + α7χ + α3χ + α7χ + α3χ9 + α68χ8 + α66χ7 + α83χ6 + α6χ5 + α7χ4 + α9χ3 + α8χ + α66χ + α5 5539) με πολυώνυμο γεννήτορα το g(x) = X6 + αχ5 + α6χ4 + αχ3 + α3χ + α7χ + α67χ + α83χ9 + αχ8 + αχ7 + αχ6 + α58χ5 + α8χ4 + α95χ3 + α8χ + α4χ + α36 Σχ6 Κωδικοποίηση 5) 7

72 Σχ63 Κωδικοποίηση 35) Σχ64 Κωδικοποίηση κώδικα 635) Σχ65 Κωδικοποίηση κώδικα 73) Σχ66 Κωδικοποίηση κώδικα 5539) 6 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ Reed-Solomon nk) Στην επόμενες παραγράφους παρουσιάζονται τα αποτελέσματα των εξομοιώσεων στα επιμέρους στάδια της αποκωδικοποίησης για διάφορες περιπτώσεις κωδίκων Reed-Solomon nk) 6 ΚΩΔΙΚΑΣ 59) 6 ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΔΡΟΜΟΥ Έστω το μήνυμα με εκθετική αναπαράσταση u={ααα9α4α3α5ααα8α} ή u(x)={94358} με το σύμβολο α μεταδίδεται πρώτο και το α τελευταίο Το μήνυμα κωδικοποιείται από τον κωδικοποιητή πομπού με τον κώδικα 59) και παράγεται το κωδικοδιάνυσμα v(χ)={ } Λόγω της επίδρασης θορύβου στο κανάλι μετάδοσης στον δέκτη λαμβάνεται το διάνυσμα r(x)={ } όπου υπεισέρχονται τρία (3) σφάλματα στις θέσεις (5 αντί για ) 7 ( αντί για ) 3 (3 αντί για 4) μετρώντας από αριστερά προς τα δεξιά Το πρώτο στάδιο της αποκωδικοποίησης αφορά τον υπολογισμό του συνδρόμου το οποίο και πραγματοποιείται από τη μονάδα rs_syndr και παρουσιάζεται στο Σχ67 O υπολογισμός διαρκεί n=5 κύκλους ρολογιού και το αποτέλεσμα αποθηκεύεται στον καταχωρητή S_buf (πολυωνυμική αναπαράσταση) και οδηγεί την έξοδο της μονάδας rs_syndr S_out Το υπολογισθέν σύνδρομο σε εκθετική αναπαράσταση αντιστοιχεί στο σήμα S_buf_exp και είναι S(X)={SSS3S4S5S6}={α α α α α α } ή πιο απλά {34838} 7

73 Σχ67 Υπολογισμός συνδρόμου S για τον κώδικα 59) 6 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ Λ(Χ) Η μονάδα rs_bm λαμβάνει ως είσοδο το σύνδρομο S(X) και υπολογίζει το πολυώνυμο θέσης σφαλμάτων Λ(Χ) Η λειτουργία της μονάδας rs_bm που υλοποιεί το αλγόριθμο Berlekamp-Massey παρουσιάζεται στο Σχ68 Σχ68 Λειτουργία μονάδας rs_bm για τον κώδικα 59) Στο Σχ68 διακρίνονται οι μεταβάσεις της μηχανής καταστάσεων του Σχ5 (rs_bm_state) και ο υπολογισμοί που πραγματοποιούνται στους καταχωρητές Lambda και Β Ο μετρητής r μετρά τους κύκλους επανάληψης του αλγορίθμου Berlekamp-Massey και ο μετρητής L αντιστοιχεί στο μήκος 73

74 του ελάχιστου LFSR Μετά από t=6 επαναλήψεις ο καταχωρητής Lambda_buf περιέχει τους συντελεστές του πολυωνύμου θέσης σφαλμάτων (πολυωνυμική αναπαράσταση) Η εκθετική αναπαράσταση του πολυωνύμου θέσης σφαλμάτων είναι 3 9 Λ(Χ)={ΛΛΛΛ3Λ4Λ5Λ6}={α α α } ή πιο απλά Λ(Χ)={39} και αντιστοιχεί στο διάνυσμα Lambda_buf_exp Η έξοδος Lambda_out οδηγείται από τον καταχωρητή Lambda_buf 63 ΥΠΟΛΟΓΙΣΜΟΣ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ (CHIEN SEARCH) Η λειτουργία της μονάδας rs_chiens που υπολογίζει τις θέσεις των σφαλμάτων από τους αντίστροφους των ριζών του πολυωνύμου θέσης σφαλμάτων παρουσιάζεται στο Σχ69 Το πολυώνυμο θέσης σφαλμάτων Λ(Χ) εισέρχεται στη μονάδα rs_chiens όπου και υπολογίζονται με τη μέθοδο των εξαντλητικών δοκιμών οι ρίζες του Οι υπολογισμοί πραγματοποιούνται με τη βοήθεια του καταχωρητή Lambda_reg και το αποτέλεσμα των υπολογισμών Λ(αi) για τα στοιχεία του πεδίου GF(4) αi όπου i=4 5 αντιστοιχεί στις συνιστώσες του διανύσματος Lambda_eval Για το πολυώνυμο Λ(Χ)={39} υπολογίζονται Λ(α)= Λ(α7)= Λ(α3)= και για όλους τους υπόλοιπους υπολογισμούς ισχύει Λ(αi) Επομένως οι ρίζες του πολυωνύμου Λ(Χ) είναι οι α α7 α3 Σύμφωνα με την θεωρία οι αντίστροφοι των ριζών του Λ(Χ) δηλ οι α α 7 α3 προσδιορίζουν τις θέσεις των σφαλμάτων στο μπλοκ των n=5 συμβόλων δηλ τις θέσεις 7 και 3 θεωρώντας ότι η θέση αντιστοιχεί στο σύμβολο που λαμβάνεται πρώτο και η θέση 5 στο σύμβολο που λαμβάνεται τελευταίο Οι θέσεις των σφαλμάτων έπειτα αποθηκεύονται στον καταχωρητή rs_error_locat με τη λογική ότι σφάλμα στη θέση του μπλοκ αντιστοιχεί στην τιμή στο ψηφίο rs_error_locat[] σφάλμα στη θέση του μπλοκ αντιστοιχεί στην τιμή του ψηφίου rs_error_locat[] και γενικά σφάλμα στη θέση j του μπλοκ αντιστοιχεί στην τιμή στη θέση rs_error_locat[j-] Σχ69 Λειτουργία της μονάδας rs_chiens 64 ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ Ω(Χ) Ο υπολογισμός του πολυωνύμου τιμής σφαλμάτων Ω(Χ) που πραγματοποιούνται με το κύκλωμα Omega_calc παρουσιάζονται με μεγαλύτερη λεπτομέρεια στο Σχ6 Το κύκλωμα λαμβάνει τους 74

75 συντελεστές των πολυωνύμων συνδρόμου S(X) και L(X) μέσω των εισόδων a_in και h_in αντίστοιχα και υπολογίζει το γινόμενο των πολυωνύμων S(X)Λ(Χ) που μετά το πέρας των υπολογισμών βρίσκεται στον καταχωρητή b ο οποίος και οδηγεί την έξοδο b_out Τα περισσότερο σημαντικά σύμβολα του αποτελέσματος αποκόπτονται κατάλληλα ώστε να προκύψει το πολυώνυμο τιμής σφαλμάτων Ω(Χ)=S(X)Λ(Χ)modXt που αντιστοιχεί στο σήμα Omega Σχ6 Υπολογισμός πολυωνύμου τιμής σφαλμάτων Ω(Χ) 65 ΥΠΟΛΟΓΙΣΜΟΣ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ ΑΛΓΟΡΙΘΜΟΣ FORNEY Η λειτουργία της μονάδας rs_forney που υλοποιεί τον αλγόριθμο Forney παρουσιάζεται στο Σχ6 Η μονάδα rs_forney λαμβάνει τους συντελεστές των πολυωνύμων Ω(Χ) και Λ(X) μέσω των εισόδων Omega_in και Lambda_in αντίστοιχα Η μονάδα rs_forney υπολογίζει την πρώτη παράγωγο του πολυωνύμου Λ(Χ) Λ'(Χ) η οποία και αντιστοιχεί στο σήμα Lambda_fd Έπειτα σε κάθε κύκλο ρολογιού και με τη χρήση των καταχωρητών Lambda_fd_reg και Omega_reg υπολογίζονται οι ποσότητες Λ'(αi) και Ω(αi) αντίστοιχα όπου i=4 5 Τα αποτελέσματα των υπολογισμών αυτών αντιστοιχούν στα σήματα Lambda_fd_eval_wire και Omega_eval_wire σε (πολυωνυμική αναπαράσταση) Η αντίστοιχες εκθετικές αναπαραστάσεις αυτών των υπολογισμών αντιστοιχούν στα σήματα Lambda_fd_eval_wire_exp και Omega_eval_wire_exp Για την ποσότητα Lambda_eval_wire υπολογίζεται ταυτόχρονα και ο πολλαπλασιαστικός της αντίστροφος με πολυωνυμική αναπαράσταση το σήμα Lambda_fd_eval_inv_wire και αντίστοιχη εκθετική το σήμα Lambda_fd_eval_inv_wire_exp Τέλος για κάθε ζεύγος υπολογισμών Lambda_fd_eval_wire και Omega_eval_wire υπολογίζεται ο λόγος Omega_eval_wire/Lambda_fd_eval_wire ως γινόμενο της ποσότητας Omega_eval_wire επί την ποσότητα Lambda_fd_eval_inv_wire Τα αποτελέσματα των υπολογισμών θα χρησιμοποιηθούν για τον υπολογισμό των συντελεστών του προτύπου σφάλματος και αποθηκεύονται διαδοχικά σε κάθε μία από τις n=5 θέσεις του καταχωρητή rs_error_locat ο οποίος και τροφοδοτεί την έξοδο rs_magn_out 75

76 Σχ6 Λειτουργία μονάδας rs_forney και υπολογισμός τιμής σφαλμάτων 66 ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ Η λειτουργία της μονάδας rs_dec_errcor για την διόρθωση σφαλμάτων στο λαμβανόμενα μπλοκ περιγράφεται με περισσότερη λεπτομέρεια στις κυματομορφές του Σχ6 Η μονάδα rs_dec_errcor δέχεται το λαμβανόμενο κωδικοδιάνυσμα μέσω του διαύλου εισόδου rs_codeword_in τις θέσεις των σφαλμάτων μέσω του διαύλου εισόδου rs_error_locat και τις τιμές των σφαλμάτων που υπολογίστηκαν από τη μονάδα rs_forney μέσω του διαύλου εισόδου rs_error_magn_in Η μονάδα rs_dec_errcor προσθέτει στα σύμβολα που απαρτίζουν το κωδικοδιάνυσμα rs_codeword_in είτε τα αντίστοιχα σύμβολα του διανύσματος rs_error_magn_in εάν το αντίστοιχο ψηφίο του διανύσματος rs_error_locat έχει την τιμή ή το μηδέν εάν το αντίστοιχο ψηφίο του διανύσματος rs_error_locat έχει την τιμή Το αποτέλεσμα που προκύπτει οδηγεί τον δίαυλο εξόδου rs_codeword_out το οποίο και αντιστοιχεί στη διορθωμένη κωδικολέξη Στο Σχ6 τα σύμβολα της λαμβανόμενης κωδικολέξης αντιστοιχούν στο σήμα rs_codeword_exp (εκθετική αναπαράσταση) και τα σύμβολα της διορθωμένης κωδικολέξης αντιστοιχούν στο σήμα rs_codeword_corr Διόρθωση πραγματοποιείται με την πρόσθεση στο σύμβολο rs_codeword_exp[4]=α5 του συμβόλου rs_magn_in_exp[4]=α οπότε και προκύπτει το άθροισμα rs_codeword_corr_exp[4]=a Ομοίως πραγματοποιούνται οι προσθέσεις rs_codeword_exp[8]+rs_codeword_corr_exp[8]=α+α4=α rs_codeword_exp[]+rs_codeword_corr_exp[]=α3+α=α4 και η πρόσθεση του μηδενικού συμβόλου σε όλα τα άλλα σύμβολα της λαμβανόμενης κωδικολέξης rs_codeword_exp Ως συνέπεια το διορθωμένο κωδικοδιάνυσμα rs_codeword_corr_exp είναι ίδιο με την αρχικά εκπεμπόμενη κωδικολέξη v(χ)={ } Η έξοδος rs_codeword_out αντιστοιχεί στην 76

77 διορθωμένη κωδικολέξη σε πολυωνυμική αναπαράσταση Σχ6 Διόρθωση σφαλμάτων μονάδα rs_errcor 67 ΑΠΟΘΗΚΕΥΣΗ ΚΑΙ ΜΕΤΑΔΟΣΗ ΚΩΔΙΚΟΛΕΞΗΣ Η λειτουργία της μονάδας rs_dec_buf αναπαρίσταται από τις κυματομορφές του Σχ63 Η διορθωμένη κωδικολέξη της εισόδου rs_codeword_in φορτώνεται στον καταχωρητή rs_codeword σύγχρονα με τον παλμό ld_rs_codeword και κατόπιν ολισθαίνει σειριακά ανά σύμβολο μέσω της εξόδου rs_out πλαισιωμένη από το σήμα εξόδου rs_out_valid Σχ63 Μονάδα rs_dec_buf Έξοδος αποκωδικοποιητή και μετάδοση διορθωμένης κωδικολέξης 77

78 6 ΚΩΔΙΚΑΣ 5539) Ο κώδικας 5539) διαθέτει t=n-k=55-39=6 σύμβολα ισοτιμίας και μπορεί να διορθώσει μέχρι t=6/=8 σφάλματα σε ένα μπλοκ 55 συμβόλων Για τη μελέτη της συμπεριφοράς της υλοποίησης του κώδικα 5539) θα χρησιμοποιήσουμε το μήνυμα u={αααα3α5α53α54} ή u={355354} στο οποίο και θα εισάγουμε σφάλματα Για ευκολία θα θεωρήσουμε ότι τα σφάλματα συμβαίνουν στα αρχικά σύμβολα του μπλοκ (μετρώντας από αριστερά) και ότι τα ψηφία κάθε συμβόλου με σφάλμα είναι τα αντίστροφα από τα σωστά δηλ το α παραμορφώνεται σε α55 το α σε α54 το α53 σε α5 κοκ Ισοδύναμα μπορούμε να πούμε ότι τα αρχικά σύμβολα μετατρέπονται στα αντιδιαμετρικά τους με βάση την εκθετική τους αναπαράσταση στο GF(m) Ο κώδικας έχει την ικανότητα διόρθωσης μέχρι και t/=8 σφαλμάτων 6 ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΔΡΟΜΟΥ ΚΩΔΙΚΑΣ 5539) Εισάγουμε σφάλματα στα αρχικά σύμβολα του μπλοκ ανά ένα κάθε φορά Στο Σχ64 παρουσιάζεται το υπολογισθέν σύνδρομο για κάθε μία από τις ακολουθίες σφαλμάτων Στο Σχ64 (α) λαμβάνεται ένα μπλοκ χωρίς σφάλματα ενώ στα Σχ64(β) έως και Σχ64(ι) λαμβάνονται μπλοκ όπου 9 σύμβολα αντίστοιχα έχουν σφάλματα Για το μπλοκ χωρίς σφάλματα το σύνδρομο που υπολογίζεται είναι μηδέν ενώ για τα μπλοκ με σφάλματα το σύνδρομο που υπολογίζεται είναι μη μηδενικό Συγκεκριμένα για μπλοκ με σφάλματα τα σύνδρομα που υπολογίζονται παρουσιάζονται στον Πίνακα 63 (εκθετική αναπαράσταση): Πίνακας 63 Σύνδρομα για κώδικα 5539) και μπλοκ με 9 σφάλματα Αριθμός εσφαλμένων συμβόλων Σύνδρομο S={SSS3S6} { } { } { } 3 { } 4 { } 5 { } 6 { } 7 { } 8 { } 9 { } 78

79 (α) (β) 79

80 (γ) (δ) 8

81 (ε) (στ) 8

82 (ζ) (η) 8

83 (θ) (ι) Σχ64 Υπολογισμός συνδρόμου κώδικα 5539) για μπλοκ συμβόλων με (α) (β) (γ) 3 (δ) 4 (ε) 5 (στ) 6 (ζ) 7 (η) 8 (θ) 9 (ι) σφάλματα 6 ΚΩΔΙΚΑΣ 5539) ΥΠΟΛΟΓΙΣΜΟΣ ΠΟΛΥΩΝΥΜΟΥ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ Λ(Χ) Για τα ίδια λαμβανόμενα κωδικοδιανύσματα τα υπολογισθέντα πολυώνυμα θέσης σφαλμάτων Λ(Χ) παρουσιάζονται στις κυματομορφές του Σχ65 Οι συντελεστές των πολυωνύμων θέσης σφαλμάτων που υπολογίζονται παρουσιάζονται και στον Πίνακα 64 Παρατηρούμε ότι ο βαθμός του πολυωνύμου θέσης σφαλμάτων αντιστοιχεί στον αριθμό των σφαλμάτων στο μπλοκ Πίνακας 64 Πολυώνυμα θέσης σφαλμάτων Λ(Χ) για κώδικα 5539) Αριθμός εσφαλμένων συμβόλων Πολυώνυμο θέσης σφαλμάτων Λ(Χ)={ΛΛΛΛ3Λ4Λ5Λ6Λ6} {---} 83

84 {54---} {353---} 3 { } 4 { } 5 { } 6 { } 7 { } 8 { } (α) (β) (γ) (δ) (ε) (στ) 84

85 (ζ) (η) (θ) Σχ65 Υπολογισμός Πολυωνύμου θέσης σφαλμάτων κώδικα 5539) για μπλοκ συμβόλων με (α) (β) (γ) 3 (δ) 4 (ε) 5 (στ) 6 (ζ) 7 (η) 8 (θ) σφάλματα 63 ΚΩΔΙΚΑΣ 5539) - ΥΠΟΛΟΓΙΣΜΟΣ ΘΕΣΗΣ ΣΦΑΛΜΑΤΩΝ Οι θέσεις των σφαλμάτων που υπολογίζονται από την μονάδα rs_chiens παρουσιάζονται στις κυματομορφές του Σχ66 Η αναπαράσταση της εξόδου rs_error_locat είναι σε δυαδική μορφή H ύπαρξη σφάλματος στο σύμβολο θέσης j αντιστοιχεί στην τιμή για το ψηφίο rs_error_locat[j] ενώ η απουσία σφάλματος στην τιμή για το ψηφίο rs_error_locat[j] Σύμφωνα με τα αποτελέσματα των υπολογισμών της μονάδας rs_chiens ανιχνεύονται με επιτυχία τα σφάλματα για τα πρώτα 8 σύμβολα των λαμβανομένων μπλοκ Σχ66 Υπολογισμός Πολυωνύμου θέσης σφαλμάτων κώδικα 5539) για μπλοκ συμβόλων από έως και 8 σφάλματα 63 ΚΩΔΙΚΑΣ 5538) - ΥΠΟΛΟΓΙΣΜΟΣ ΤΙΜΗΣ ΣΦΑΛΜΑΤΩΝ ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ ΜΕΤΑΔΟΣΗ ΜΠΛΟΚ Στο Σχ67 Παρουσιάζεται ο υπολογισμός της τιμής των σφαλμάτων η διόρθωση των συμβόλων με σφάλματα και η μετάδοση του διορθωμένου μπλοκ για τον κώδικα 5539) Τα οχτώ (8) πρώτα σύμβολα της λαμβανόμενης κωδικολέξης αναπαριστώνται σε εκθετική μορφή από τα σήματα rs_codeword_exp[54] rs_codeword_exp[53]rs_codeword_exp[47] Οι υπολογισθείσσες τιμές των σφαλμάτων για τα αντίστοιχα σύμβολα αντιστοιχούν στα σήματα rs_error_magn_exp[54] rs_error_magn_exp[53]rs_error_magn[47] Τα διορθωμένα σύμβολα μεταδίδονται σειριακά μέσω της εξόδου rs_out πλαισιωμένα από το σήμα rs_out_valid (με rs_out_exp εκθετική και rs_out_poly πολυωνυμική αναπαράσταση) 85

86 (α) (β) (γ) (δ) (ε) (στ) (ζ) (η) (θ) Σχ67 Υπολογισμός τιμής σφαλμάτων διόρθωση συμβόλων και μετάδοση μπλοκ για τον κώδικα 5539) 86

87 7 ΤΕΧΝΟΛΟΓΙΑ ΥΛΟΠΟΙΗΣΗΣ Η υλοποίηση του πραγματοποιήθηκε παραμετροποιημένου κωδικοποιητή/αποκωδικοποιητή Reed-Solomon Σε τεχνολογία Ολοκληρωμένων Κυκλωμάτων Ειδικού Σκοπού (ASIC) με βιβλιοθήκες τυποποιημένων λογικών κυττάρων (standard cell libraries) και γεωμετρίας τρανζίστορ 3μm Σε τεχνολογία Πεδίων Προγραμματιζόμενων Πινάκων Πυλών γεωμετρίας τρανζίστορ 3μm 7 ΑΠΟΤΕΛΕΣΜΑΤΑ ΥΛΟΠΟΙΗΣΗΣ-ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΛΕΙΤΟΥΡΓΙΑΣ 7 ΤΕΧΝΟΛΟΓΙΑ ASIC 7 ΛΟΓΙΚΗ ΣΥΝΘΕΣΗ ΣΤΑΤΙΚΗ ΧΡΟΝΙΚΗ ΑΝΑΛΥΣΗ Για το στάδιο της σύνθεσης χρησιμοποιήθηκαν βιβλιοθήκες τυποποιημένων λογικών κυττάρων (standard cells) γεωμετρίας τρανζίστορ 3μm Στο Σχ7 παρουσιάζονται τα αποτελέσματα της στατικής χρονικής ανάλυσης (static timing analysis) για την μονάδα rs_enc για κώδικα 5539) και για συχνότητα ρολογιού clk MHz Σχ7 Αποτελέσματα στατικής χρονικής ανάλυσης για τη μονάδα rs_enc και κώδικα 5539) και για σύνθεση του κυκλώματος στα ΜΗz 87

88 Ομοίως στο Σχ7 παρουσιάζονται τα αποτελέσματα της στατικής χρονικής ανάλυσης για για την μονάδα rs_enc για κώδικα 5539) και για συχνότητα ρολογιού clk MHz Σχ7 Αποτελέσματα στατικής χρονικής ανάλυσης για τη μονάδα rs_enc και κώδικα 5539) και για σύνθεση του κυκλώματος στα ΜΗz Το κρίσιμο μονοπάτι εντοπίζεται και στις δύο περιπτώσεις στις αναδράσεις του LFSR της μονάδας rs_enc όπως αναμενόταν (Σχ73) 88

89 x rs_p x x x rs_p rs_p x rs_pt-- rs_pt-- rs_enc_out[gf_m-] rs_in[gf_m-:] rs_enc_ctrl rs_in_valid rs_in_valid_reg rs_out_valid clk Σχ73 Το κρίσιμο μονοπάτι στον κωδικοποιητή εντοπίζεται στις αναδράσεις του LFSR της μονάδας rs_enc Στο Σχ74 παρουσιάζονται τα αποτελέσματα της στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 73) και για συχνότητα ρολογιού clk MHz 89

90 Στο Σχ74 Αποτελέσματα στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 73) και για συχνότητα ρολογιού clk MHz Ομοίως στο Σχ75 παρουσιάζονται τα αποτελέσματα της στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 73) και για συχνότητα ρολογιού clk MHz 9

91 Σχ75 Αποτελέσματα στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 73) και για συχνότητα ρολογιού clk MHz Το κρίσιμο μονοπάτι εντοπίζεται στη συνδυαστική λογική (Feedback Logic) της μονάδας rs_bm που υλοποιεί τον αλγόριθμο Berlekamp Massey για τον υπολογισμό του πολυωνύμου θέσης σφαλμάτων όπως και αναμενόταν Στην περίπτωση της σύνθεσης με απαίτηση συχνότητας ρολογιού clk MHz το κρίσιμο μονοπάτι που προκύπτει αντιστοιχεί στην συνδυαστική λογική που υπολογίζει την ποσότητα B_next η οποία και τροφοδοτεί τον καταχωρητή Β Στη περίπτωση της σύνθεσης για συχνότητα μέγιστης λειτουργίας τα ΜΗz το κρίσιμο μονοπάτι αντιστοιχεί στο συνδυαστικό κύκλωμα μεταξύ του μετρητή r και του μετρητή rs_bm_cnt (Σχ76) 9

92 d Delta Lambda_buf r B_buf r L_buf rs_bm_state L_buf rs_bm_state gf_inv d x_b_buf Delta_inv d x x Delta_x_B_buf Delta_inv_d x x B_next rs_bm_cnt Lambda_next L rs_bm_cnt r S_in Feedback Logic Delta d FSM rs_bm_state Lambda L Lambda_buf L_buf B[t-:] Lambda_out B_buf[t-:] Lambda[t-:] Lambda_buf[t-:] Σχ76 Κρίσιμο μονοπάτι στη μονάδα rs_dec για κώδικα 73) (κόκκινη διαδρομή) και για κώδικα 5539) (μπλε διαδρομή) Στο Σχ77 παρουσιάζονται τα αποτελέσματα της στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 5539) και για συχνότητα ρολογιού clk MHz Σε αυτήν την περίπτωση το κρίσιμο μονοπάτι εντοπίζεται στη συνδυαστική λογική ανάδρασης Feedback Logic της μονάδας rs_bm και συγκεκριμένα στη διαδρομή από τον μετρητή r προς τον μετρητή L που σημειώνεται με μπλε χρώμα στο Σχ76 9

93 Σχ77 Αποτελέσματα στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 5539) και για απαίτηση συχνότητας ρολογιού clk MHz Στο Σχ78 παρουσιάζονται τα αποτελέσματα της στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 5539) και για απαίτηση συχνότητας ρολογιού clk τα MHz 93

94 Σχ78 Αποτελέσματα στατικής χρονικής ανάλυσης για την μονάδα rs_dec για κώδικα 5539) και για απαίτηση συχνότητας ρολογιού clk MHz Σε αυτήν την περίπτωση το κρίσιμο μονοπάτι εντοπίζεται στη μονάδα rs_forney και συγκεκριμένα στη διαδρομή που σημειώνεται με μπλε χρώμα στο Σχ79 από τον καταχωρητή Lambda_fd_reg στον καταχωρητή rs_error_magn 94

95 Omega_in Lambda_in GF(m) Lambda_odd_calc Lambda_fd X Lambda_fd_eval rs_forney_start Λ'(γl) rs_forney_cnt + Omega_reg[t:] Lambda_fd_eval gf_adder_vctr Omega_eval - gf_inv [Λ'(γl)] rs_error_magn_eval clk rst_n X X Ω(γ )/Λ (γ ) ι ι demux rs_error_magn_out gf_adder_vctr X X Lambda_fd_reg[todd:] α Ω + αt- Ωt- + αt Ωt αt- Λtodd- X α Λ αtodd Λtodd X rs_error_magn[n-:] Σχ79 Κρίσιμο μονοπάτι στη μονάδα rs_dec για κώδικα 5539) (μπλε διαδρομή) Στον Πίνακα 7 περιέχονται τα αποτελέσματα της υλοποίησης σε τεχνολογία ASIC ως προς το μέγεθος και την κατανάλωση Η τεχνολογία υλοποίησης χρησιμοποιεί βιβλιοθήκες τυποποιημένων λογικών κυττάρων (standard cells) και με συχνότητα ρολογιού στα MHz Στον Πίνακα 5 καταγράφονται τα αποτελέσματα της σύνθεσης και στο Σχ7 παρουσιάζεται η γραφική αναπαράσταση των αποτελεσμάτων 95

96 Πίνακας 7 Αποτελέσματα υλοποίησης κωδικοποιητή/αποκωδικοποιητή Reed-Solomon nk) σε τεχνολογία ASIC Τεχνολογία Βιλιοθήκες Γεωμετρία Τρανζίστορ Συχνότητα Ρολογιού n k ) t ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) Ολοκληρωμένο Κύκλωμα Ειδικού Σκοπού (ASIC) Τυποποιημένων κυττάρων (Standard cells) 3μm MHz Δυναμική Στατική Επιφάνεια (μm) Αριθμός λογικών πυλών (NAND) Κατανάλωση (mw) κατανάλωση (uw)

97 8 Αριθμός λογικών πυλών nk) n=5 k=97539 Δυναμική κατανάλωση (mw) t nk) n=5 k= nk) n=3 k=97539 Στατική κατανάλωση (μw) t nk) n=3 k=97539 Δυναμική κατανάλωση (mw) Στατική κατανάλωση (μw) t nk) n=5 k=97539 Στατική κατανάλωση (μw) nk) n=5 k=97539 t t Στατική κατανάλωση (μw) nk) n=63 k= Δυναμική κατανάλωση (mw) nk) n=63 k= Αριθμός λογικών πυλών nk) n=63 k= t t t 7 t nk) n=7 k=535583nk) n=7 k= nk) n=7 k= t Δυναμική κατανάλωση (mw) Δυναμική κατανάλωση (mw) Αριθμός λογικών πυλών 5 t t 97

98 nk) n=5 k= t Στατική κατανάλωση (μw) 5 Δυναμική κατανάλωση (mw) Αριθμός λογικών πυλών nk) n=5 k=76 nk) n=5 k= t 5 5 t Σχ7 Γραφική αναπαράσταση μεγέθους και κατανάλωσης Reed-Solomon nk) κωδικοποιητή/αποκωδικοποιητή για διάφορους συνδυασμούς των n και k 7 ΤΕΧΝΟΛΟΓΙΑ FPGA Για τη διαδικασία σύνθεσης σε τεχνολογία FPGA χρησιμοποιήθηκε ως συσκευή υλοποίησης το ολοκληρωμένο κύκλωμα EPC7F896C6 της οικογένειας Cyclone II της εταιρίας Altera Πρόκειται για ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα διάστασης τρανζίστορ στα 3μm εσωτερική τάση λειτουργίας τα v μεγέθους 6846 λογικών στοιχείων (Logical Elements LΕs) 6 εισόδων/εξόδων με δυνατότητα υλοποίησης τυποποιημένων πολλαπλασιαστών 9 ψηφίων και με δυνατότητα υλοποίησης 5 ψηφίων μνήμης Το Σχ7 περιγράφει τη χρησιμοποίηση πόρων του ολοκληρωμένου (α) καθώς και την κατανομή της συνδυαστικής και ακολουθιακής λογικής των λογικών στοιχείων στις διάφορες λογικές μονάδες (β) Το Σχ7 αναπαριστά γραφικά την τοποθέτηση (placement) των λογικών στοιχείων του κωδικοποιητή/αποκωδικοποιητή 5539) στο ολοκληρωμένο EPC7F896C6 Η συχνότητα λειτουργίας του ρολογιού clk για την υλοποίηση του κωδικοποιητή/αποκωδικοποιητή 5539) που επετεύχθη στο ολοκληρωμένο EPC7F896C6 ήταν 397MHz (β) (α) Το Σχ7 (α) χρησιμοποίηση πόρων του προγραμματιζόμενου ολοκληρωμένου EPC7F896C6 για την υλοποίηση κωδικοποιητή/αποκωδικοποιητή 5539) (β) Κατανομή συνδυαστικής και 98

99 ακολουθιακής λογικής ανά δομική μονάδα στην υλοποίηση του κωδικοποιητή/αποκωδικοποιητή 5539) στο EPC7F896C6 προγραμματιζόμενο ολοκληρωμένο Το Σχ7 Γραφική αναπαράσταση τοποθέτησης (placement) των λογικών στοιχείων του κωδικοποιητή/αποκωδικοποιητή 5539) στο ολοκληρωμένο EPC7F896C6 73 ΡΥΘΜΟΣ ΜΕΤΑΔΟΣΗΣ ΔΕΔΟΜΕΝΩΝ και ΧΡΟΝΟΙ ΥΠΟΛΟΓΙΣΜΟΥ Ο ρυθμός μετάδοσης πληροφορίας για τον κωδικοποιητή/αποκωδικοποιητή Reed-Solomon nk) που υλοποιήθηκε περιορίζεται μόνο από τη συχνότητα clkfreq του ρολογιού clk και ισούται με Data_Rate = (k/n)clkfreqm ή σύμφωνα με τις παραμέτρους που ορίσαμε Data_Rate = (GF_k/GF_n)clkfreq GF_m Οι χρόνοι υπολογισμού για τα διάφορους συνδυασμούς των παραμέτρων φαίνονται στον Πίνακα 7 99

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΩΔΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΥ ΣΦΑΛΜΑΤΟΣ (2)

ΚΩΔΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΥ ΣΦΑΛΜΑΤΟΣ (2) ΚΩΔΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΥ ΣΦΑΛΜΑΤΟΣ () P e συνάρτηση των S/N και r b (B) Συμβάσεις κανονισμοί για τα S, B Φασματική πυκνότητα θορύβου καθορισμένη Πολυπλοκότητα και κόστος συστήματος ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΑΝΑΛΙΟΥ Καλά

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

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

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

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

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

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

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

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

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

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

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

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

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

«Σύστημα Διόρθωσης Λαθών Βασισμένο σε Κώδικες BCH και Yλοποίηση σε FPGA»

«Σύστημα Διόρθωσης Λαθών Βασισμένο σε Κώδικες BCH και Yλοποίηση σε FPGA» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕΔΙΑΣΜΟΥ VLSI ΚΥΚΛΩΜΑΤΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων

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

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

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

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

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

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

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

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση) TETY Εφαρμοσμένα Μαθηματικά Ενότητα ΙΙ: Γραμμική Άλγεβρα Ύλη: Διανυσματικοί χώροι και διανύσματα, μετασχηματισμοί διανυσμάτων, τελεστές και πίνακες, ιδιοδιανύσματα και ιδιοτιμές πινάκων, επίλυση γραμμικών

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

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας)

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας) Τµήµα Μαθηµατικών, Πανεπιστηµίου Κρήτης Εξεταστική περίοδος Ιουνίου ακαδηµαϊκού έτους 29-21 Παρασκευή, 1 Ιουνίου 21 Εφαρµοσµένη Άλγεβρα ιδάσκων: Α. Τόγκας Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις

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

ΚΕΦΑΛΑΙΟ 9 ο : Κωδικοποίηση Διαύλου Μέρος Ι: Τμηματικοί Κώδικες

ΚΕΦΑΛΑΙΟ 9 ο : Κωδικοποίηση Διαύλου Μέρος Ι: Τμηματικοί Κώδικες ΚΕΦΑΛΑΙΟ 9 ο : Κωδικοποίηση Διαύλου Μέρος Ι: Τμηματικοί Κώδικες Σύνοψη Το κεφάλαιο αυτό είναι αφιερωμένο στην κωδικοποίηση διαύλου (chnnel codng), στις τεχνικές δηλαδή εκείνες που, με την προσθήκη δομημένων

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

Εργαστηριακή Ασκηση 2- Κυκλικοί Κώδικες

Εργαστηριακή Ασκηση 2- Κυκλικοί Κώδικες Εργαστηριακή άσκηση 2 Θεωρία ΚΩ ΙΚΕΣ ΑΝΙΧΝΕΥΣΗΣ ΣΦΑΛΜΑΤΩΝ Οι κώδικες διόρθωσης σφαλµάτων χρησιµοποιούνται µερικές φορές για µετάδοση δεδοµένων, για παράδειγµα, όταν το κανάλι είναι µονόδροµο (simplex)

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

Το μόνο, ίσως, μειονέκτημά τους είναι ότι το μήκος τους υπόκειται σε περιορισμό από το πλήθος των στοιχείων του σώματος επί του οποίου ορίζονται.

Το μόνο, ίσως, μειονέκτημά τους είναι ότι το μήκος τους υπόκειται σε περιορισμό από το πλήθος των στοιχείων του σώματος επί του οποίου ορίζονται. ΚΕΦΑΛΑΙΟ 5 Κώδικες Reed-Solomo και συναφείς κώδικες To 1959 o Hocqueghe και, ανεξάρτητα, το 1960 οι Bose Ray-Chaudhuri επινόησαν μια κατηγορία κωδίκων τους λεγόμενους BCH κώδικες. Οι κώδικες αυτοί είναι

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

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας)

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας) Τµήµα Μαθηµατικών, Πανεπιστηµίου Κρήτης Εξεταστική περίοδος Σεπτεµβρίου ακαδηµαϊκού έτους 29-2 Τρίτη, 3 Αυγούστου 2 Εφαρµοσµένη Άλγεβρα ιδάσκων: Α. Τόγκας Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Διακριτά Μαθηματικά Ι Ενότητα 2: Γεννήτριες Συναρτήσεις Μέρος 3 Διδάσκων: Χ. Μπούρας (bouras@cti.gr) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Εισαγωγή στις Τηλεπικοινωνίες. Δομή της παρουσίασης

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

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

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

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

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

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

Ψηφιακή Επεξεργασία Σημάτων

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

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

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

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

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

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

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

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

Διόρθωση λαθών σε συστήματα αποθήκευσης πληροφορίας τεχνολογίας PCM με χρήση κώδικα BCH

Διόρθωση λαθών σε συστήματα αποθήκευσης πληροφορίας τεχνολογίας PCM με χρήση κώδικα BCH Μεταπτυχιακό Δίπλωμα Ειδίκευσης στα Ολοκληρωμένα Συστήματα Υλικού-Λογισμικού Διπλωματική Εργασία Διόρθωση λαθών σε συστήματα αποθήκευσης πληροφορίας τεχνολογίας PCM με χρήση κώδικα BCH Συγγραφέας: Κωνσταντίνος

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες Πρώτο Κεφάλαιο Εισαγωγή στα Ψηφιακά Συστήματα 1.1 Αναλογικά και Ψηφιακά Σήματα και Συστήματα... 1 1.2 Βασικά Ψηφιακά Κυκλώματα... 3 1.3 Ολοκληρωμένα κυκλώματα... 4 1.4 Τυπωμένα κυκλώματα... 7 1.5 Εργαλεία

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

ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Κώδικες ελέγχου Σφαλμάτων /

ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Κώδικες ελέγχου Σφαλμάτων / βλ. αρχείο PLH22_OSS4_slides διαφάνειες 47-57 ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Κώδικες ελέγχου Σφαλμάτων/ Ν.Δημητρίου σελ. 1 ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Κώδικες ελέγχου Σφαλμάτων/ Ν.Δημητρίου σελ. 2 ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η

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

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

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

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

ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Ν.Δημητρίου 1

ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Ν.Δημητρίου 1 (*) Οι σημειώσεις αυτές συνοψίζουν τα βασικά σημεία της παρουσίασης PLH22_OSS4_slides_2015_2016 που είναι διαθέσιμη στο study.eap.gr ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Ν.Δημητρίου 1 ΕΑΠ/ΠΛΗ22/ΑΘΗ.4/4η ΟΣΣ/ Ν.Δημητρίου

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

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

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

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

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version Συστήματα Αρίθμησης Στην καθημερινή μας ζωή χρησιμοποιούμε το δεκαδικό σύστημα αρίθμησης. Στο σύστημα αυτό χρησιμοποιούμε δέκα διαφορετικά σύμβολα τα :,, 2, 3, 4, 5, 6,7 8, 9. Για τον αριθμό 32 θα χρειαστούμε

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

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

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

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

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

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

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

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

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

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

P(n, r) = n! P(n, r) = n r. (n r)! n r. n+r 1 r n!

P(n, r) = n! P(n, r) = n r. (n r)! n r. n+r 1 r n! Διακριτά Μαθηματικά Σύνοψη Θεωρίας Τυπολόγιο Αναστασία Κόλλια 20/11/2016 1 / 55 Κανόνες γινομένου και αθροίσματος Κανόνας αθροίσματος: Αν ένα γεγονός μπορεί να συμβεί κατά m τρόπους και ένα άλλο γεγονός

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

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

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

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

Εφαρμοσμένα Μαθηματικά ΙΙ

Εφαρμοσμένα Μαθηματικά ΙΙ Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Εφαρμοσμένα Μαθηματικά ΙΙ Διανυσματικοί Χώροι Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Διανυσματικός Χώρος επί του F Αλγεβρική δομή που αποτελείται

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

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

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

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

Εισαγωγή στις Τηλεπικοινωνίες. Δομή της παρουσίασης

Εισαγωγή στις Τηλεπικοινωνίες. Δομή της παρουσίασης 1 Oct 16 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εισαγωγή στις Τηλεπικοινωνίες Διάλεξη 4 η Γεωμετρική Αναπαράσταση

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

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

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

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

Ψηφιακές Τηλεπικοινωνίες. Βέλτιστος Δέκτης

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

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

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

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

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

Εφαρμοσμένα Μαθηματικά ΙΙ

Εφαρμοσμένα Μαθηματικά ΙΙ Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Εφαρμοσμένα Μαθηματικά ΙΙ Διανυσματικοί Χώροι Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Διανυσματικός Χώρος επί του F Αλγεβρική δομή που αποτελείται

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

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

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

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

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

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

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

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac Σημειώσεις μαθήματος Μ1212 Γραμμική Άλγεβρα ΙΙ Χρήστος Κουρουνιώτης ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 2014 Κεφάλαιο 1 Διανυσματικοί Χώροι Στο εισαγωγικό μάθημα Γραμμικής Άλγεβρας ξεκινήσαμε μελετώντας

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

Μαθηματικά Γ Γυμνασίου

Μαθηματικά Γ Γυμνασίου Α λ γ ε β ρ ι κ έ ς π α ρ α σ τ ά σ ε ι ς 1.1 Πράξεις με πραγματικούς αριθμούς (επαναλήψεις συμπληρώσεις) A. Οι πραγματικοί αριθμοί και οι πράξεις τους Διδακτικοί στόχοι Θυμάμαι ποιοι αριθμοί λέγονται

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

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

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

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

ΚΕΦΑΛΑΙΟ 3. Πολυωνυμικοί-Κυκλικοί Κώδικες. 3.1 Πολυωνυμικοί κώδικες

ΚΕΦΑΛΑΙΟ 3. Πολυωνυμικοί-Κυκλικοί Κώδικες. 3.1 Πολυωνυμικοί κώδικες ΚΕΦΑΛΑΙΟ 3 Πολυωνυμικοί-Κυκλικοί Κώδικες Στα προηγούμενα ασχοληθήκαμε με τους γραμμικούς κώδικες και είδαμε πώς η δομή ενός γραμμικού κώδικα, ως διανυσματικού χώρου, καθιστά τις διαδικασίες κωδικοποίησης

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

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

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

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

a = a a Z n. a = a mod n.

a = a a Z n. a = a mod n. Αλγεβρα Ι Χειμερινο Εξαμηνο 2017 18 Διάλεξη 1 Ενότητα 1. Πράξεις: Πράξεις στο σύνολο S, ο πίνακας της πράξης, αντιμεταθετικές πράξεις. Προσεταιριστικές πράξεις, το στοιχείο a 1 a 2 a n. Η πράξη «σύνθεση

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

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA Κινητές επικοινωνίες Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA 1 Πολυπλεξία Η πολυπλεξία επιτρέπει την παράλληλη μετάδοση δεδομένων από διαφορετικές πηγές χωρίς αλληλοπαρεμβολές. Τρία βασικά είδη TDM/TDMA

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

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

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

Οι Φυσικοί Αριθμοί. Παρατήρηση: Δεν στρογγυλοποιούνται αριθμοί τηλεφώνων, Α.Φ.Μ., κωδικοί αριθμοί κλπ. Πρόσθεση Φυσικών αριθμών

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

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

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης; 10. Τι ονομάζουμε Ευκλείδεια διαίρεση και τέλεια διαίρεση; Όταν δοθούν δύο φυσικοί αριθμοί Δ και δ, τότε υπάρχουν δύο άλλοι φυσικοί αριθμοί π και υ, έτσι ώστε να ισχύει: Δ = δ π + υ. Ο αριθμός Δ λέγεται

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

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

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

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

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

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

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

ΕΜΒΟΛΙΜΗ ΠΑΡΑΔΟΣΗ ΜΑΘΗΜΑΤΙΚΩΝ. Μερικές βασικές έννοιες διανυσματικού λογισμού

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

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

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

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

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

Πράξεις με δυαδικούς αριθμούς

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

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

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

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 3/02/2019 ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι

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

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

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

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

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο.

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο. Κεφάλαιο Πρότυπα Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο Ορισμοί και Παραδείγματα Παραδοχές Στo βιβλίο αυτό θα κάνουμε τις εξής παραδοχές Χρησιμοποιούμε προσθετικό συμβολισμό

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

Παράδειγμα 14.2 Να βρεθεί ο μετασχηματισμός Laplace των συναρτήσεων

Παράδειγμα 14.2 Να βρεθεί ο μετασχηματισμός Laplace των συναρτήσεων Κεφάλαιο 4 Μετασχηματισμός aplace 4. Μετασχηματισμός aplace της εκθετικής συνάρτησης e Είναι Άρα a a a u( a ( a ( a ( aj F( e e d e d [ e ] [ e ] ( a e (c ji, με a (4.9 a a a [ e u( ] a, με a (4.3 Η σχέση

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

ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ

ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος ΜEd: «Σπουδές στην εκπαίδευση» ΚΕΦΑΛΑΙΟ 1 Ο : Εξισώσεις - Ανισώσεις 1 1.1 Η ΕΝΝΟΙΑ ΤΗΣ ΜΕΤΑΒΛΗΤΗΣ ΑΛΓΕΒΡΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΟΡΙΣΜΟΙ Μεταβλητή

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

Ιστοσελίδα:

Ιστοσελίδα: ½¾ Â ÛÖ ÈÐ ÖÓ ÓÖ ÃÛ ÛÒ ÌÀÄ ½ Ð Ü Ιστοσελίδα: www.telecom.tuc.gr/courses/tel412 ÌÀÄ ½¾ Â ÛÖ ÈÐ ÖÓ ÓÖ ÃÛ ÛÒ ¼ ÌÑ Ñ ÀÅÅÍ ÈÓÐÙØ ÕÒ Ó ÃÖ Ø Κυκλικοι Κωδικες Ορισμός: Ενας κυκλικός κώδικας είναι ένα γραμμικός

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

ΚΕΦΑΛΑΙΟ 2. Γραμμικοί Κώδικες. 2.1 Η έννοια του Γραμμικού κώδικα

ΚΕΦΑΛΑΙΟ 2. Γραμμικοί Κώδικες. 2.1 Η έννοια του Γραμμικού κώδικα ΚΕΦΑΛΑΙΟ 2 Γραμμικοί Κώδικες 2.1 Η έννοια του Γραμμικού κώδικα Μέχρι τώρα θεωρούσαμε έναν κώδικα C με παραμέτρους (n, M, d) απλώς ως ένα υποσύνολο του συνόλου A n, όπου A είναι ένα αλφάβητο. Είχαμε, όμως,

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

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι ΚΕΦΑΛΑΙΟ : Ημιαπλοί Δακτύλιοι Είδαμε στο κύριο θεώρημα του προηγούμενου κεφαλαίου ότι κάθε δακτύλιος διαίρεσης έχει την ιδιότητα κάθε πρότυπο είναι ευθύ άθροισμα απλών προτύπων Εδώ θα χαρακτηρίσουμε όλους

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών Αναπαράσταση Αριθμών Δεκαδικό και Δυαδικό Δεκαδικό σύστημα Δεκαδικό και Δυαδικό Μετατροπή Για τη μετατροπή ενός αριθμού από το δυαδικό σύστημα στο δεκαδικό, πολλαπλασιάζουμε κάθε δυαδικό ψηφίο του αριθμού

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

Fast Fourier Transform

Fast Fourier Transform Fast Fourier Transform Παναγιώτης Πατσιλινάκος ΕΜΕ 19 Οκτωβρίου 2017 Παναγιώτης Πατσιλινάκος (ΕΜΕ) Fast Fourier Transform 19 Οκτωβρίου 2017 1 / 20 1 Εισαγωγή Στόχος Προαπαιτούμενα 2 Η ιδέα Αντιστροφή -

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

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1 Κεφάλαιο 2: Στοιχεία Λογικής - Μέθοδοι Απόδειξης 1. Να αποδειχθεί ότι οι λογικοί τύποι: (p ( (( p) q))) (p q) και p είναι λογικά ισοδύναμοι. Θέλουμε να αποδείξουμε ότι: (p ( (( p) q))) (p q) p, ή με άλλα

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

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

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

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

Εφαρμοσμένα Μαθηματικά ΙΙ

Εφαρμοσμένα Μαθηματικά ΙΙ Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Εφαρμοσμένα Μαθηματικά ΙΙ Γραμμικά Συστήματα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Γραμμικό Σύστημα a11x1 + a12x2 + + a1 nxn = b1 a x + a x + +

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

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

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

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

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

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

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

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

2.0 ΔΙΑΝΥΣΜΑΤΙΚΟΙ ΧΩΡΟΙ ΚΑΙ ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ .0 ΔΙΑΝΥΣΜΑΤΙΚΟΙ ΧΩΡΟΙ ΚΑΙ ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ Έστω διανύσματα που ανήκουν στο χώρο δ i = ( a i, ai,, ai) i =,,, και έστω γραμμικός συνδυασμός των i : xδ + x δ + + x δ = b που ισούται με το διάνυσμα b,

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

4.1. Πολυώνυμα. Η έννοια του πολυωνύμου

4.1. Πολυώνυμα. Η έννοια του πολυωνύμου 4.1 Πολυώνυμα Η έννοια του πολυωνύμου ΟΡΙΣΜΟΙ 1. Μονώνυμο του x ονομάζουμε κάθε παράσταση της μορφής αx ν, όπου α R, ν N (σταθερές) και x R (μεταβλητή). 2. Πολυώνυμο του x ονομάζουμε κάθε παράσταση της

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

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

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

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

Εφαρμοσμένα Μαθηματικά ΙΙ

Εφαρμοσμένα Μαθηματικά ΙΙ Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Εφαρμοσμένα Μαθηματικά ΙΙ Πίνακες Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Πίνακες Μητρώα Πίνακας: Ορθογώνια διάταξη αριθμών σε γραμμές και στήλες

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

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

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

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

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών... 37 3.1 Αριθμητικά σύνολα... 37 3.2 Ιδιότητες... 37 3.3 Περισσότερες ιδιότητες...

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών... 37 3.1 Αριθμητικά σύνολα... 37 3.2 Ιδιότητες... 37 3.3 Περισσότερες ιδιότητες... Περιεχόμενα Πρόλογος... 5 Κεφάλαιο Βασικές αριθμητικές πράξεις... 5. Τέσσερις πράξεις... 5. Σύστημα πραγματικών αριθμών... 5. Γραφική αναπαράσταση πραγματικών αριθμών... 6.4 Οι ιδιότητες της πρόσθεσης

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

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής D ολοκλήρωση ρητών συναρτήσεων Το θέμα μας στην ενότητα αυτή είναι η ολοκλήρωση ρητών συναρτήσεων. Ας θυμηθούμε πρώτα ποιες συναρτήσεις ονομάζονται ρητές. Ορισμός: Μία συνάρτηση ονομάζεται ρητή όταν μπορεί

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

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

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

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

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

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 1) Να μετατρέψετε τον δεκαδικό αριθμό (60,25) 10, στον αντίστοιχο δυαδικό 11111,11 111001,01 111100,01 100111,1 111100,01 2)

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

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

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

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

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

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

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

* * * ( ) mod p = (a p 1. 2 ) mod p.

* * * ( ) mod p = (a p 1. 2 ) mod p. Θεωρια Αριθμων Εαρινο Εξαμηνο 2016 17 Μέρος Α: Πρώτοι Αριθμοί Διάλεξη 1 Ενότητα 1. Διαιρετότητα: Διαιρετότητα, διαιρέτες, πολλαπλάσια, στοιχειώδεις ιδιότητες. Γραμμικοί Συνδυασμοί (ΓΣ). Ενότητα 2. Πρώτοι

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

Ανίχνευση και διόρθωση σφαλμάτων σε συστήματα επικοινωνιών με κωδικοποίηση Reed-Solomon

Ανίχνευση και διόρθωση σφαλμάτων σε συστήματα επικοινωνιών με κωδικοποίηση Reed-Solomon Ανίχνευση και διόρθωση σφαλμάτων σε συστήματα επικοινωνιών με κωδικοποίηση Reed-Solomon Αλέξανδρος Βασιλείου Σεπτέμβριος 2011 Πανεπιστήμιο Πατρών PERIEQŸOMENA Συνεισφορά της εργασίας...........................

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΕΝΟΤΗΤΑ Μ1 ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Εκπαιδευτής: Γ. Π. ΠΑΤΣΗΣ, Επικ. Καθηγητής, Τμήμα Ηλεκτρονικών Μηχανικών, ΤΕΙ Αθήνας ΚΑΘΟΛΙΚΕΣ ΠΥΛΕΣ NND NOR ΑΛΓΕΒΡΑ OOLE ΘΕΩΡΗΜΑ

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

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

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

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