Skip to main content

Τι είναι ένας κώδικας hamming;

Ένας κώδικας Hamming είναι μια μέθοδος ανίχνευσης και διόρθωσης σφαλμάτων σε μια δυαδική μετάδοση.Αυτό συμβαίνει μέσω της συμπερίληψης πρόσθετων δυαδικών ψηφίων στην ακολουθία που χρησιμοποιείται για τον έλεγχο, καθώς και για έναν αλγόριθμο που παρέχει τη λογική ανίχνευσης.Ένας τέτοιος κώδικας είναι σε θέση να βρει δύο σφάλματα σε οποιαδήποτε ακολουθία bits και να επισκευάσει ένα bit που μπορεί να είναι λανθασμένη.Ο συνηθέστερα αναφερόμενος κώδικας Hamming είναι γνωστός ως Hamming (7,4), όπου οι τέσσερις υποδεικνύουν τον αρχικό αριθμό των bits εκκίνησης και οι επτά αντιπροσωπεύουν τον συνολικό αριθμό των δυαδικών ψηφίων στην ακολουθία μετά την πρόσθετη ελέγχου των δυαδικών ψηφίων.Η τεχνική πήρε το όνομά της από τον δημιουργό της, Richard Hamming, ο οποίος δημοσίευσε τη μέθοδο το 1950. Ο τρόπος με τον οποίο λειτουργεί ο κώδικας Hamming είναι να πάρει μια σειρά από κομμάτια και να εισάγει πρόσθετα κομμάτια ελέγχου, που αναφέρονται ως κομμάτια ισοτιμίας στην ακολουθία.Τα κομμάτια ελέγχου είναι πάντοτε ένεση σε μια θέση που είναι μια δύναμη δύο, οπότε οποιοσδήποτε αριθμός δυαδικών ψηφίων μπορεί να επαληθευτεί με τη συμπερίληψη πρόσθετων κομματιών ισοτιμίας.Αυτό μπορεί να συνεχιστεί μέχρι να προστεθεί το τελευταίο κομμάτι της ισοτιμίας στην ακολουθία να είναι σε θέση που είναι μια δύναμη δύο που είναι μικρότερη ή ίση με την τελική θέση στην ακολουθία.είναι τα πραγματικά bits δεδομένων.Δεδομένου του παραδείγματος τεσσάρων-bit, λοιπόν, οι θέσεις bit ένα, δύο και τέσσερις θα ήταν τα κομμάτια ισοτιμίας, ενώ οι θέσεις τρεις, πέντε, έξι και επτά είναι τα δεδομένα.Μόλις δημιουργηθεί αυτή η ακολουθία, η λογική του κώδικα Hamming πηγαίνει στη δουλειά.συμπεριλαμβανομένων των ίδιων.Το κομμάτι της ισοτιμίας στη θέση ενός ελέγχει κάθε άλλη θέση bit, η οποία είναι ουσιαστικά κάθε περίεργη θέση στην ακολουθία.Το δεύτερο κομμάτι ισοτιμίας, στη θέση δύο, ελέγχει τις θέσεις δύο και τριών, στη συνέχεια παραλείπει δύο θέσεις, ελέγχει δύο ακόμη θέσεις, παραλείπει δύο ακόμη και ούτω καθεξής.Εάν υπάρχει ένα κομμάτι ισοτιμίας στη θέση τέσσερα, ενεργεί ομοίως, καθώς ελέγχει τις θέσεις τέσσερις έως επτά, στη συνέχεια παραλείπει τέσσερις θέσεις, ελέγχει τέσσερα ακόμη και μετά.Κάθε κομμάτι ισοτιμίας στην ακολουθία συνεχίζεται με αυτόν τον τρόπο καθ 'όλη τη διάρκεια της ακολουθίας.

Η διαδικασία με την οποία ένας κώδικας Hamming ανιχνεύει και διορθώνει ένα σφάλμα είναι με την προσθήκη των κομματιών στην ακολουθία ελέγχου για κάθε έλεγχο ισοτιμίας, καθένα από τα οποία πρέπει να βγαίνειένας ζυγός αριθμός.Λαμβάνοντας υπόψη το παράδειγμα επτά-bit, για τον πρώτο έλεγχο ισοτιμίας, προστίθενται τα bits ένα, τρία, πέντε και επτά.Εάν το σύνολο είναι ένας ζυγός αριθμός, η ισοτιμία ελέγχει, αλλά αν το σύνολο είναι περίεργο, τότε υπάρχει ένα σφάλμα.Δεδομένου ότι οι έλεγχοι ισοτιμίας επικαλύπτονται, θα εμφανιστούν δύο τέτοια σφάλματα.Όταν οι θέσεις των δυο Parity bit που δεν καταφέρνουν να βρουν ακόμη και τα σύνολα, θα αποκαλύψουν το κομμάτι που πρέπει να διορθωθεί.

Στο παράδειγμα κώδικα Hamming επτά-bit, θεωρήστε ότι το bit in post-number πέντε είναι λανθασμένο.Το άθροισμα των κομματιών στις θέσεις ένα, τρεις, πέντε και επτά θα βγει ως περίεργο αριθμό, όπως και το άθροισμα των κομματιών στις θέσεις τέσσερις έως επτά.Αυτό υποδεικνύει ότι οι έλεγχοι ισοτιμίας για τα κομμάτια ελέγχου στις θέσεις ένα και τέσσερις απέτυχαν.Όταν ένα και τέσσερις προστίθενται μαζί, το σύνολο είναι πέντε, που είναι η θέση για το λανθασμένο κομμάτι στη μετάδοση που πρέπει να διορθωθεί.