Πώς να υπολογίσετε τον κωδικό Hamming

Συγγραφέας: Bobbie Johnson
Ημερομηνία Δημιουργίας: 3 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 14 Ενδέχεται 2024
Anonim
Πώς να υπολογίσετε τον κωδικό Hamming - Ηλεκτρονικα Ειδη
Πώς να υπολογίσετε τον κωδικό Hamming - Ηλεκτρονικα Ειδη

Περιεχόμενο

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

Η κωδικοποίηση σφυρηλάτησης μπορεί να είναι περίπλοκη στην εφαρμογή, αλλά μπορεί να γίνει πολύ γρήγορα χρησιμοποιώντας αριθμητικά κόλπα σε επίπεδο bit. Αυτό επιτρέπει τη δημιουργία ενός χρήσιμου συστήματος διόρθωσης σφαλμάτων υψηλής ταχύτητας, το οποίο θα χρησιμοποιείται σε ενσωματωμένες εφαρμογές.

Βήμα 1

Δημιουργήστε τη λέξη δεδομένων. Οποιοδήποτε bit με μια θέση δύο (πρώτη, δεύτερη, τέταρτη, κ.λπ.) πρέπει να δεσμεύεται για πληροφορίες ισοτιμίας. Χρησιμοποιήστε όσο χρειάζεται για τη λέξη να έχει τα αρχικά δεδομένα και bit ισοτιμίας.


Παράδειγμα:

1 1 0 1 0 0 1 0 γίνεται _ _ 1 _ 1 0 1 _ 0 0 1 0

Τα αρχικά bit παραμένουν στην ίδια σειρά, αλλά απλώθηκαν για να εισαχθούν τα bit ισοτιμίας.

Βήμα 2

Υπολογίστε το πρώτο bit ισοτιμίας. Ξεκινώντας με το πρώτο bit, διαβάζεται ένα bit και μετά παραλείπεται ένα bit και η διαδικασία επαναλαμβάνεται μέχρι το τέλος. Στο μεταξύ, μετράται ο αριθμός αυτών που βρέθηκαν. Τα δυαδικά ψηφία δεν μετρούνται σε αυτήν τη διαδικασία.

Εάν ο αριθμός αυτών είναι ίσος, ορίστε το πρώτο bit στο μηδέν. Διαφορετικά, ορίστε το σε ένα.

Παράδειγμα:

Τα bit 1, 3, 5, 7, 9 και 11 από _ _ 1 _ 1 0 1 _ 0 0 1 0, _11101, περιέχουν τέσσερα. Αυτό είναι ομοιόμορφο, οπότε το πρώτο bit είναι μηδέν: 0 _ 1 _ 1 0 1 _ 0 0 1 0

Βήμα 3

Υπολογίστε τα υπόλοιπα bits ισοτιμίας. Ξεκινώντας με το δεύτερο bit, διαβάζονται δύο bit και μετά παραλείπονται δύο bit και η διαδικασία επαναλαμβάνεται μέχρι το τέλος. Το τέταρτο bit διαβάζει τέσσερα bits, παραλείπει άλλα τέσσερα, ξεκινώντας με το bit τέσσερα. Το ίδιο μοτίβο ακολουθείται από όλα τα bit ισοτιμίας, έως ότου υπολογιστούν όλα.


Παράδειγμα:

Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 ελέγχει _1, 01, 01, που περιέχουν τρεις, οπότε το bit 2 έχει οριστεί σε ένα. Bit 4: _ 0 1 1 1 0 1 _ 0 0 1 0 ελέγχει _101, 0, το οποίο περιέχει δύο, οπότε το bit 4 είναι μηδέν. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 ελέγχει το _0010, το οποίο περιέχει μόνο ένα, οπότε το bit 8 έχει οριστεί σε ένα.

Η λέξη επομένως κωδικοποιείται ως 011010110010.

Βήμα 4

Επιβεβαιώστε τη λέξη. Εάν μια λέξη είναι κατεστραμμένη, τα bit ισοτιμίας δεν θα ταιριάζουν με το αναμενόμενο. Για να επιβεβαιώσετε ότι η λέξη δεν είναι κατεστραμμένη, απλώς υπολογίστε τα bit ισοτιμίας χρησιμοποιώντας τα βήματα δύο και τρία. Εάν τα bit δεν είναι τα ίδια, καταγράψτε τις θέσεις τους.

Βήμα 5

Διορθώστε το λάθος κομμάτι. Εάν βρείτε λανθασμένα bit ισοτιμίας, απλώς προσθέστε τις θέσεις των bit. Η τιμή αθροίσματος είναι η θέση του λανθασμένου bit. Αλλάξτε την τιμή bit σε αυτήν τη θέση.

Για παράδειγμα, εάν τα λανθασμένα bits ισοτιμίας είναι ένα και τέσσερα, η αλλαγή της τιμής του πέμπτου bit θα διορθώσει το σφάλμα.