Hamming-Code 7,4
Hamming-Code 7,4
TECHNISCHE UNIVERSITÄT
···☼···
THEMA:
MÃ HAMMING (7,4)
FEHLER ERKENNEN UND BEHEBEN
[Link]ý Thùyế.......................................................................................................2
1. Hamming-Code: ....................................................................................................2
Speicherung und Verarbeitung in Form von Code der Binärzahlen 0 und 1. Die Datenkodierung von Form
Die Umwandlung von Dezimalzahlen in Binärzahlen lässt die Daten größer und schwerer zu kontrollieren werden. Zum Beispiel wie
sốmột wird vom Computer in die 4-Bit-Daten "0001" codiert, um gespeichert und später verarbeitet zu werden.
naja. Ähnlich sind die Buchstaben in einer bestimmten Anzahl im ASCII-Code festgelegt und von
Die ASCII-Codes werden in binäre Form umgewandelt. Aus dem oben genannten Beispiel..
Die Daten, die ein Computer normalerweise speichern und verarbeiten muss, können Tausende von Bits betragen.
Tausende von 0/1). Daher wird der Computer häufig die Daten falsch lesen, die
Bit-Fehler werden dazu führen, dass der gesamte ursprüngliche Datensatz falsch wird. Um Fehler zu beheben
Darüber hinaus wurden Algorithmen zur Überprüfung und Behebung von Fehlern entwickelt und weiterentwickelt, wobei insbesondere hervorgehoben wird
1
I. Theoretische Grundlagen:
Hamming-Code:
Der Hamming-Code ist ein System zur Kodierung und Fehlerüberprüfung, das ursprünglich von
Richard Hamming in den 1950er Jahren. Seit seiner Entdeckung und Darstellung hat es...
Praktisch, es wird häufig verwendet, um Fehler in Datenbitfolgen zu erkennen und zu korrigieren. Kurz gesagt.
Gleitend, der Hamming-Code bietet uns eine Methode zur Fehlererkennung und -korrektur, die durch
die folgenden Schritte:
Ursprüngliche Datenverschlüsselung (durch Hinzufügen von Spezifikationen der ursprünglichen Daten) → Übertragung
Der Hamming-Code wird normalerweise in der Form (n, k) dargestellt. Das bedeutet, dass die Eingabedaten von
Wir werden eine Kette aus k Bits in binärer Form haben, diese Daten werden kodiert mit
Die Methode zur Hinzufügung von (n-k) entsprechenden Bits. Danach werden diese n Bits analysiert und verglichen, um zu wissen
Das bedeutet, dass wir längere Sequenzen übertragen oder speichern können, um die Integrität zu gewährleisten.
Vervollständigung der Daten. Es gibt viele Varianten des Hamming-Codes, darunter die gängigsten Varianten.
Am häufigsten ist der Hamming-Code (7,4), sowie der Hamming-Code (15,11) und der Hamming-Code.
(31,26). Seit seiner Entwicklung hat der Hamming-Code seine Überlegenheit gegenüber anderen Codes gezeigt.
Überprüfung vorher, wie Paritätscode (kann nur einen Bitfehler erkennen und kann ihn nicht beheben
(Fehler), Wiederholungs-Code (verbraucht viel Speicherplatz, geringe Effizienz bei der Fehlerbehebung).
Der Hamming-Code wird häufig in Bereichen eingesetzt, die hohe Genauigkeit und Zuverlässigkeit erfordern.
hohe Zuverlässigkeit bei der Übertragung und Analyse von Daten. Ein Anwendungsbereich nutzt den Hamming-Code:
2
2. Hamming-Code (7,4):
Ähnlich wie in der genannten Theorie ist der Hamming-Code (7,4) eine spezifische Art von Hamming-Code.
Entwurf zur Kodierung eines 4-Bit-Datenstroms in einen 7-Bit-Datenstrom, der 4 Bit der ursprünglichen Daten enthält.
Kopf und 3 Prüfbits. Der Hamming-Code (7,4) wird verwendet, um Fehler zu erkennen und zu korrigieren in
Eine 4-Bit-Datenreihe, die während der Datenübertragung oder -speicherung integriert ist
um die Integrität zu gewährleisten. Und in diesem Artikel betrachten wir nur den Körper zur Basis 2 (oder System
Zweiphasig)
Die gerade und ungerade Zahl wird gemäß der Regel erstellt:
p1= d1 + d2 + d4
p2 = d1 + d3 + d4
p3 = d2 + d3 + d4
p4 = d1 + d2 + d3
Das bedeutet, dass wir 3 aus den 4 genannten Kombinationen verwenden können, um ein Paritätsbit zu erzeugen. Zum Beispiel verwenden wir die Kombination
p1, p2, p3 kombinieren.
Die geraden und ungeraden Bits p1, p2, p3 werden erzeugt, indem die Parität der Anzahl der 1-Bits berechnet wird.
Dabei muss in jedem Kreis die Anzahl der 1-Bits gerade sein.
Von dort aus haben wir einen Code, der aus 7 Bits besteht und die Form hat: p1p2d1p3d2d3d4.
3
p1 p2 d1 p3 d2 d3 d4
Allerdings können wir die geraden und ungeraden Bits an beliebigen Positionen in den Zellen platzieren, sie können erstellen
unterschiedliche Zahlenfolgen, die jedoch Hamming-Codes sind und als ähnlich betrachtet werden.
Dort.
3. Codeerstellungs-Matrix:
Der Hamming-Code (7,4) verwendet eine Matrix, um einen Code zu erstellen, um Daten aus einer Bitreihe zu übertragen.
4 Bit werden verwendet, um eine Datenbitfolge von 7 Bit mit 3 hinzugefügten Prüfbits zu erstellen.
Mit einem Datenvektord4×1, die Generatormatrix G wird seinG7×4Wir beginnen mit der Erstellung der Matrix G
indem
2. Ordnen Sie die geraden und ungeraden Bits der Reihe nach in einem Vektor an (wobei die Einsen an den Positionen liegen)
p3011
[ 1; p2 =1
] 01 1; [p1 =1 101.
] [ ]
10 0 0
01 0 0
0 01 0
G = 0 0 01
01 11
1011
[11 01 ]
Anders ausgedrückt, kann die Matrix G aus einer Einheitmatrix erstellt werden.Ich4und die Matrix
gerade ungeradeP.
3×4
4. Prüfmatrix:
Der Hamming-Code (7,4) verwendet eine Prüfmatrix, um Fehler zu erkennen und in der Sequenz zu korrigieren.
Hamming-Code.
4
Unten steht die Prüfmatrix des Hamming-Codes (7,4):
0 0 01 11 1
H=[ 01 10 011 ]
1010101
Dabei entspricht jede Zeile von H p3, p2, p1. Die Zahl 1 wird in die Positionen eingetragen.
entspricht dem geraden und ungeraden Bit. Zum Beispiel p3 = d2 + d3 + d4, wobei wir in einem 7-Bit-Code sehen, dass die Position
Die Werte von p3, d2, d3, d4 sind jeweils 4, 5, 6, 7. Somit erhalten wir den Zeilenvektor p3 =[0 0 011 11 . ]
Das Grundprinzip des Hamming-Codes (7,4) besteht darin, dass zur Übertragung von 1 Daten, die aus 4 Bits bestehen, zuerst
Der Generator wird einen Algorithmus verwenden, um diese Daten in Daten mit 7 Bit umzuwandeln, von denen 4.
Die ursprünglichen bits und 3 zusätzliche bits zur Überprüfung. Danach werden die Daten an den Empfänger übertragen.
Die Empfangsmaschine wird einen Algorithmus verwenden, um zu überprüfen, ob die Daten fehlerhaft sind. Wenn ja, wird sie sich selbst ...
Um mehr Fehler zu beheben, können wir stärkere Fehlerkorrekturcodes verwenden. Ein Beispiel sind die
Varianten des erweiterten Hammingcodes wie (15,11) oder (31,26).
Möglichkeiten zur Überprüfung und Behebung von Fehlern mit Hilfe von Codewort-Matrizen und Prüfmatrix:
Gruppiere vier Bit Daten zu einem Spaltenvektor, um die Daten übertragen zu können. Zum Beispiel benötigte Daten
Wenn die Übertragung "0110" ist, haben wir den Vektor P als:
0
P[ ] 1
1
0
Um das Bit-Segment zu übertragen, multiplizieren wir G und P miteinander im Binärsystem, das Ergebnis ist
wird der Vektor r:
10 0 0 0
01 0 0 1
0
0 01 0 1
G. P= 0 0 01 1
[ ]= 0 = r
1
01 11 0
0
1011 1
[11 01 ] [1]
5
Die Daten werden weiterhin übertragen, um zu überprüfen, ob Fehler auftreten. Daher werden wir tatsächlich
das Produkt von H und r:
0
1
0 0 01 11 1 1 0
H.r[ 01 10 011 0 ] = [ 0]
1010101 0 0
1
[1]
Durch die Multiplikation von H und r ergibt sich ein Vektor, der ganzzahlig ist, daher kann die Maschine zu dem Schluss kommen, dass es nicht so ist.
Um zu erklären, dass ein ganzzahliger Vektor nicht mit der Schlussfolgerung übereinstimmt, ist fehlerfrei,
weil beim Multiplizieren der Matrix G mit dem Datenvektor eine Veränderung in der Grundlage auftritt
mit dem inneren Raum des Vektors (Vektorsubraum), das heißt, der Kern der Prüfmatrix H.
Wenn im Raum des Vektors r keine Probleme auftreten, bleibt r an derselben Stelle.
Im Kern der Matrix H und der Multiplikation von H mit r wird ein Vektor mit nur Nullen erzeugt.
Zum Beispiel in einem anderen Fall nehmen wir an, dass ein Bitfehler aufgetreten ist. In der Mathematik haben wir
kann schreiben:
Darunter Es ist der Einheitsvektor an der ersten Position. Das bedeutet, dass im Vektor r eine Zeile mit einem Wert vorhanden ist.
1 statt 0 oder umgekehrt. Dadurch können wir leicht die Position des fehlerhaften Bits erraten.
passieren
Das Beispielvektor, das wir erhalten haben, tritt an der Position drei auf einen Fehler auf.
0
1
0
=> ′= + 3 = 0
0
1
[1]
Als nächstes führen wir die Multiplikation von H und r' durch, dann erhalten wir:
6
0
1
0 0 01 11 10 0
Hr’=[ 01 10 011 0 ] = [ ]1
10101010 1
1
[1]
0
Die Multiplikation von Hr' ergibt uns das Ergebnis[ ]
1entspricht der dritten Spalte ("011" entspricht
1
Mit dem Wert 3 an der dritten Dezimalstelle wissen wir, dass ein Fehler an der dritten Stelle aufgetreten ist.
In den Datenzeilen können wir den Fehler dann beheben.
2. Verwenden Sie den Hamming-Code zur Überprüfung des Falls mit zwei Fehlern:
Der Hamming-Code ist ein Code, der in der Lage ist, einen einzelnen Fehler zu erkennen und zu korrigieren, jedoch kann er nicht unterscheiden.
biệt Fehler bei Doppel-Bits eines Codeworts mit einem Einzel-Bit-Fehler eines anderen Codeworts. Daher einige Fehler
Das Bitbild wird aufgrund dieser Verwechslung nicht korrekt decodiert, was ein Einzelbitfehler ist, der nicht auftritt.
pháthiện, trừ khi chúng ta không cố gắng tìm ra và sửa nó. Để khắc phục tình trạng
Dieser Fehler kann durch einen zusätzlichen Paritätsbit im Hamming-Code an der Position erweitert werden.
Beispiel für die Verwendung der Fehlerkorrekturfunktion des Hamming-Codes: Wenn ein Fehler an einer beliebigen Stelle auftritt, die
Wenn gerade und ungerade Bit gleichzeitig erkannt werden und der Hamming-Code anzeigt, dass ein Fehler aufgetreten ist, dann haben wir
um diesen Fehler zu beheben, wenn das Paritätsbit keinen Fehler erkennen kann, aber der Hamming-Code
Das Signal zeigt an, dass ein Fehler aufgetreten ist, von dem wir ableiten können, dass dieser Fehler durch 2 Bits verursacht werden könnte.
Fehler gleichzeitig. Allerdings, im Falle eines Auftretens von zwei Bits-Fehlern, entdecken wir
Es ist ein Fehler aufgetreten, aber der Fehler kann nicht behoben werden.
Fügen Sie 1 Bit für Parität am Ende hinzu, damit es zwei Fehler in 7 Bit erkennen kann.
còn lại. Da 1001010 hat 3 Einsen, was eine ungerade Zahl ist, daher ist das Parität-Bit an der achten Stelle 1, deshalb erhalten wir:
7
Position 1 2 3 4 5 6 7 8
Empfangscode 1 0 0 1 0 1 0 1
Überprüfung der Parität an der Position
1 0 0 0 c1=1
trí 1-3-5-7
Überprüfung der Parität an der Position
0 0 1 0 c2=1
trí 2-3-6-7
Überprüfung der Parität an der Position
1 0 1 0 c3=0
trí 4-5-6-7
Erklärung:
Nachdem wir den 8-Bit-Code erhalten haben, beginnen wir, die Parität an den Positionen 1-3-5-7 zu überprüfen.
c 2= 1
Ähnlich überprüfen wir die Parität an den Positionen 4-5-6-7 entsprechend 1010, da die Anzahl der 1en eine Zahl ist
• Überprüfung der Parität des gesamten Codes 10010101: 0 (da die Anzahl der Einsen 4 ist, ist die Zahl
gerade) => Code ohne Fehler oder mit zwei Fehlern
• C = 011 = 3≠ 0
Schlussfolgerung: Das Bitmuster 1001010 wurde durch einen Fehler in zwei Bits verursacht.
11 10 0 0 0
G[ 11 01 10 0 ]
01 01 01 0
10 010 01
8
[Link]üfung & Fehlerbehebung:
Die Matrix H hat die Form:
0 0 01 11 1
H =[ 01 10 0 11 ]
1010101
0 01
01 0
01 1
Ta có: e = r2.H’=1[01 01 11 ] 10 0 = 1[10→ Ein
] Fehler ist aufgetreten → Position sechs.
101
11 0
[11 1 ]
Der Fehler tritt im 6. Bit des Vektors r2 auf. Wir beheben den Fehler, indem wir den Wert des fehlerhaften Bits ersetzen.
6 von 1 bis 0.
9
[Link]äuterung des Codes:
Befehl Wirkung
[ A; B; C] Erstellen Sie eine Matrix mit den Zeilen A, B, den Elementen auf jeder.
Waren durch ein Leerzeichen voneinander getrennt
Variable name = Eingabe ( 'promt', 's') Verwenden Sie, um einen Wert einzugeben
Ort: Bibliothek
reshape(a,m,n) Die Größe der Matrix umformatieren
Die Matrix muss neu formatiert werden
m,n: Anzahl der Zeilen und Spalten nach der Neugestaltung
Die Arbeit erledigen; Regel, mit einer im Voraus festgelegten Anzahl von Schritten.
Ende
num2str(b) Konvertiere die Gleitkommazahl in einen String
Ändern Sie die Zeichen in einer Zeichenkette in ihre Reihenfolge
entsprechend im ASCII-Code
Name der zu ändernden Variablen
10
Y =0: keine anderen Elemente ungleich null
Erstellen Sie zwei Matrizen für den Code G und die Prüfmatrix H.
Erstellen Sie eine Variable str und erfassen Sie die eingegebenen Daten.
Erstellen Sie eine binäre Matrix mit 4 Spalten und speichern Sie sie in der Matrix a.
11
Abbildung 3 Code zur Erstellung einer Hamming-Matrix für Daten
Erstellen Sie eine Hamming-Matrix für die eingegebenen Daten. Indem Sie jede Zeile der Matrix a multiplizieren.
mit der Matrix G.
Geben Sie die gerade erstellen Hamming-Code-Matrix auf dem Bildschirm aus.
Erstellen Sie die Variable x, um den Wert für die Position zu erhalten, an der Sie einen Fehler erstellen möchten.
Nacheinander die Werte der Bits an den gewünschten Positionen in der Matrix v umkehren.
Geben Sie die Matrix auf dem Bildschirm aus, nachdem ein Fehler aufgetreten ist.
12
Abbildung 5 Code zur Überprüfung und Fehlerbehebung von Matrizen
Erstellen Sie eine Schleife, die von 1 bis zur Anzahl der Zeilen der Matrix v läuft.
Erstelle einen Vektor r und weise den einzelnen Zeilen der Matrix v die Werte des Vektors r zu.
Berechne den Vektor s (Fehler-Syndrom), indem du den Vektor r mit der inversen Matrix H multiplizierst.
Setze b mit b=any(s), wenn der Vektor s ungleich 0 ist, dann ist b=1, andernfalls ist b=0;
13
Abbildung 7 Fehlerbehebungscode für die Matrix
Wenn b ungleich 0 ist oder anders gesagt, wenn der Vektor s (Fehler-Syndrom) ungleich 0 ist, dann führe die folgenden aus
Befehl folgend:
Erstellen Sie den Vektor pos als Position des Fehlers, Zeile i und Spalte err_p.
Geben Sie den Wert des Vektors pos auf dem Bildschirm aus.
Ändern Sie den Wert des fehlerhaften Bits an der Position Zeile i, Spalte err_p in der Matrix v.
Erstelle den Vektor k mit den Werten, die nacheinander die Elemente der i-ten Zeile der Matrix an den Positionen 3, 5, 6, 7 sind.
Erstellen Sie eine Matrix d und geben Sie nacheinander die Werte des Vektors k(i) in jede Zeile ein.
Abbildung 9 Code zur Umwandlung von Daten im Binärformat in Zeichen und Ausgabe des Ergebnisses
14
Geben Sie die Matrix auf dem Bildschirm aus, nachdem Sie den Fehler v behoben haben.
Konvertiere die Daten im Binärformat zurück in das ursprüngliche Zeichenformat und speichere sie in der Variablen t.
Geben Sie das Ausgangsbild t aus, es sind die Daten, die nach der Fehlerbehebung erhalten wurden.
[Link]
Abbildung 11 Wählen Sie die Position, die Sie auswählen möchten. (z. B.: Reihe 1 Spalte 1)
15
Abbildung 12 Fehlererkennung und -korrektur
16
Schlusswort
Durch dieses große Projekt zum Thema Hamming-Code (7,4) erfahren wir mehr über den Hamming-Code, ein
Die Methode zur Kodierung von Informationen für die Übertragung und Speicherung von Daten. Der Hamming-Code hilft uns
Es gibt Stabilität im Übertragungsprozess, was Abweichungen durch die Störung von Bits minimiert.
Zweiersystem verursacht. Genauer gesagt, in diesem Thema wissen wir, wie man codiert.
Überprüfen und Korrigieren von Fehlern im Hamming-Code 7,4 mittels der Verwendung der Erzeugungsmatrix.
Die Testmatrix, wie man ein vollständiges Programm zur Beschreibung des Prüfverfahrens durchführt.
Überprüfen und Korrigieren von Fehlern mit der Hamming 7,4 Methode in der Software Matlab. Außerdem fügen wir hinzu,
Es ist bekannt, wie der Hamming-Code Fehler erkennt, die durch die Abweichung von 2 Datenbits verursacht werden.
Durch Forschung und Untersuchung bleibt der Hamming-Code 7,4 immer noch unpraktisch, da er nicht in der Lage ist.
Mehr als einen Fehler beheben und mehr als zwei Fehler erkennen, ist ungeeignet, um mit Daten umzugehen.
Es gibt jedoch große Größen. Zusammenfassend lässt sich sagen, dass der Hamming-Code 7,4 weiterhin Nachteile hat,
Es zeigt weiterhin die Zuverlässigkeit in der Kommunikation und der Datenspeicherung.
und wird häufig in vielen Anwendungen verwendet, die Genauigkeit und Integrität erfordern
hochwertige Daten.
17
Literaturverzeichnis:
1. Đặng Văn Vinh, Lehrbuch der linearen Algebra, 2019, Kapitel 3.
2. David Houcque, Einführung in Matlab für Ingenieurstudierende, 2005.
3. Richard Tervo, Hamming-Code, 2011
Invalid request. Please provide text to be translated.
18