Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Hamming Code
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Hamming Code
 
Autor Nachricht
FuxDancer
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 30.12.2009
Beiträge: 2

BeitragVerfasst am: 30 Dez 2009 - 09:32:21    Titel: Hamming Code

Hallo!

Habe gerade in meiner Ausbildung für das Abitur als Projektarbeit einen Hamming-Code zu entwickeln, mit welchem man 32 verschiedene Character übertragen kann.

Welcher Hamming-Code liefert denn überhaupt 32 Codewörter und wie kann ich das berechnen?

Es gibt doch nur (3,1) , (7,4) , (15,11) , (31,26), ... - Code und mehr wie diesen (15,11)-Code möchte ich nicht verwenden, da ich sonst schon zu viele Bits für meine Übertragung brauche.

Ich weiß nur, dass man beim 7,4-Code lediglich 16 Codewörter erhält, wie viel bekommt man denn beim 15,11er heraus?


Bitte um Hilfe!!!
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 30 Dez 2009 - 11:49:38    Titel:

Die Angabe (n, l)-Hamming-Code bedeuted, dass ein Codewort insgesamt n Bits hat und l davon Informationsstellen sind, also n-l Bits redundant sind. Mit der Anzahl der Informationsstellen hast du auch die Anzahl der Codewörter, nämlich 2^l. Wären also beim (15, 11)-HC 2048 Wörter.
FuxDancer
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 30.12.2009
Beiträge: 2

BeitragVerfasst am: 30 Dez 2009 - 13:05:09    Titel:

Achso, danke einmal für diese Auskunft.

Nun noch eine andere Frage, gibt es wirklich nur diese Hamming Codes: (3,1) , (7,4) , (15,11) , (31,26).
Es ist nämlich so, dass ich wegen lediglich 3 weiteren Charactern, die ich darstellen möchte (insgesamt 19) gleich zum (15,11)-Code wechseln muss und meine Redundanz dadurch natürlich extrem ist.
Einen Hamming-Code mit 64 Codewörtern gibt es ja anscheinend nicht?


Ich habe jetzt einmal händisch einen (15,11)-Code hergeleitet.

Informationbits: 00 01 01 11 00 1


Daraus habe ich den (15,11)-Hamming-Code berechnet:
00 01 01 11100 01 11

Nun ist meine Frage, wie ich zu den anderen Codewörtern komme.
Einfach durch Ändern von 3 Bits von Codewort zu Codewort und ohne Wiederholung eines Wortes oder wie?[/b]
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 30 Dez 2009 - 18:43:29    Titel:

Nun, der Hamming-Code ist ein Spezialfall des linearen Gruppencodes. Du kannst also auch einen Code verwenden, der 32 Codewörter umfasst und ähnliche Eigenschaften wie ein Hamming-Code hat. Wie der Code am Ende aussieht, hängt davon ab, welche Forderungen du an ihn stellst. Sagen wir also mal, dass es 5 Informationsstellen sind. Nun soll der Code einen Fehler korrigieren können (dann kann er auch sicher zwei Fehler erkennen). Dann gibt es eine Ungleichung, die dir hilft, den Mindest-Abstand zweier Codewörter und damit auch die Redundanz-Stellen des Codes zu ermitteln:

Klick mich!

Dabei ist
n - Gesamtanzahl Stellen
k - Anzahl der redundanten Stellen
e - Fehlerkorrektur-Grad

Für diesen Fall, wäre 4 das kleinste k, was das erfüllt. Damit hätten wir einen (9, 5)-Code. Der könnte zum Beispiel wie folgt aussehen:

Code:

0   0   0   0   0      0   0   0   0
0   0   0   0   1      1   0   0   1
0   0   0   1   0      1   1   1   0
0   0   0   1   1      0   1   1   1
0   0   1   0   0      0   1   1   0
0   0   1   0   1      1   1   1   1
0   0   1   1   0      1   0   0   0
0   0   1   1   1      0   0   0   1
0   1   0   0   0      1   0   1   0
0   1   0   0   1      0   0   1   1
0   1   0   1   0      0   1   0   0
0   1   0   1   1      1   1   0   1
0   1   1   0   0      1   1   0   0
0   1   1   0   1      0   1   0   1
0   1   1   1   0      0   0   1   0
0   1   1   1   1      1   0   1   1
1   0   0   0   0      1   1   0   0
1   0   0   0   1      0   1   0   1
1   0   0   1   0      0   0   1   0
1   0   0   1   1      1   0   1   1
1   0   1   0   0      1   0   1   0
1   0   1   0   1      0   0   1   1
1   0   1   1   0      0   1   0   0
1   0   1   1   1      1   1   0   1
1   1   0   0   0      0   1   1   0
1   1   0   0   1      1   1   1   1
1   1   0   1   0      1   0   0   0
1   1   0   1   1      0   0   0   1
1   1   1   0   0      0   0   0   0
1   1   1   0   1      1   0   0   1
1   1   1   1   0      1   1   1   0
1   1   1   1   1      0   1   1   1


Wie man generell zu den Kodewörtern kommt: Es gibt Berechnungs-Vorschriften für die redundanten Stellen, aber ich zumindest kann mir dir nicht merken. Da ermittle ich lieber den Kern der Kontrollmatrix. Wenn du die Generatormatrix schon hast, sollte ja alles klar sein: Einfach rechts an jedes Element aus {0, 1}^l multiplizieren. Die Generatormatrix für den oben angegebenen Code lautet:

Code:

1   0   0   0   0   1   1   0   0
0   1   0   0   0   1   0   1   0
0   0   1   0   0   0   1   1   0
0   0   0   1   0   1   1   1   0
0   0   0   0   1   1   0   0   1


Sorry, falls die Informationen jetzt bisschen durcheinander rüberkommen, aber ich hab leider keiner Vorstellung davon, welchen Wissensstand du hast.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Hamming Code
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum