Hemming-Code + Parity-Bit < Krypt.+Kod.+Compalg. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Hi!
Ich verstehe unseren Prof langsam nicht mehr. Er schreibt:
"ECC-Speicher korrigieren 1-bit-Fehler mittels Hamming-Code und erkennen ferner 2-bit-
Fehler mit Hilfe eines zusätzlichen Paritätsbits über alle Bits des Codeworts (M-Code)."
Hemming-Codes sind doch schon ohne zusätzliches Parity-Bit über alle stellen in der Lage, 2-bit-Fehler zu erkennen ?! Ob es nun ein (3, 1, 3) oder ein (7, 4, 3) Hemming-Code ist, da können doch immer 2-bit Fehler erkannt werden?!
Seh ich da was falsch?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 08:23 Sa 16.01.2010 | Autor: | felixf |
Hallo!
> Ich verstehe unseren Prof langsam nicht mehr. Er schreibt:
>
> "ECC-Speicher korrigieren 1-bit-Fehler mittels Hamming-Code
> und erkennen ferner 2-bit-
> Fehler mit Hilfe eines zusätzlichen Paritätsbits über
> alle Bits des Codeworts (M-Code)."
>
> Hemming-Codes sind doch schon ohne zusätzliches Parity-Bit
> über alle stellen in der Lage, 2-bit-Fehler zu erkennen ?!
> Ob es nun ein (3, 1, 3) oder ein (7, 4, 3) Hemming-Code
> ist, da können doch immer 2-bit Fehler erkannt werden?!
1. heisst der gute Herr "Hamming" und nicht "Hemming";
2. erkennt ein Hamming-Code zwei Fehler und kann einen korrigieren. Insofern hast du Recht, und die Aussage deines Profs ergibt nicht direkt Sinn.
Vielleicht ist das einfach nur etwas ungluecklich von ihm formuliert gewesen?
LG Felix
|
|
|
|
|
Status: |
(Korrektur) kleiner Fehler | Datum: | 11:46 Mi 20.01.2010 | Autor: | bazzzty |
> 2. erkennt ein Hamming-Code zwei Fehler und kann einen
> korrigieren. Insofern hast du Recht, und die Aussage deines
> Profs ergibt nicht direkt Sinn.
Das stimmt so nicht. Man kann Codes mit Hamming-Abstand verwenden, um *entweder* einfache Fehler zu korrigieren, *oder* um bis zu zweifache Fehler zu erkennen. Beides geht nicht, weil jeder einfache Fehler gleichzeitig auch ein doppelter sein könnte (siehe anderer Post.)
> Vielleicht ist das einfach nur etwas ungluecklich von ihm
> formuliert gewesen?
Nein, das stimmt schon so. Man braucht die Parity, um beides gleichzeitig machen zu können.
|
|
|
|
|
Status: |
(Korrektur) oberflächlich richtig | Datum: | 21:04 Mi 20.01.2010 | Autor: | felixf |
Hallo!
> > 2. erkennt ein Hamming-Code zwei Fehler und kann einen
> > korrigieren. Insofern hast du Recht, und die Aussage deines
> > Profs ergibt nicht direkt Sinn.
>
> Das stimmt so nicht. Man kann Codes mit Hamming-Abstand
> verwenden, um *entweder* einfache Fehler zu korrigieren,
> *oder* um bis zu zweifache Fehler zu erkennen. Beides geht
> nicht, weil jeder einfache Fehler gleichzeitig auch ein
> doppelter sein könnte (siehe anderer Post.)
Ah, wenn das so gemeint war, dann stimmt's natuerlich. Danke fuer den Hinweis!
LG Felix
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:43 Mi 20.01.2010 | Autor: | bazzzty |
> "ECC-Speicher korrigieren 1-bit-Fehler mittels Hamming-Code
> und erkennen ferner 2-bit-
> Fehler mit Hilfe eines zusätzlichen Paritätsbits über
> alle Bits des Codeworts (M-Code)."
>
> Hemming-Codes sind doch schon ohne zusätzliches Parity-Bit
> über alle stellen in der Lage, 2-bit-Fehler zu erkennen ?!
> Ob es nun ein (3, 1, 3) oder ein (7, 4, 3) Hemming-Code
> ist, da können doch immer 2-bit Fehler erkannt werden?!
>
> Seh ich da was falsch?
Nein, aber ohne zusätzliches Parity-Bit muss der Speicher sich entscheiden, ob er entweder 1-Bit-Fehler korrigieren oder 2-Bit-Fehler erkennt.
Angenommen, wir verwenden zur Kommunikation einen Code mit Hamming-Abstand 3. Ich übertrage Dir ein Wort. Wir müssen davon ausgehen, dass bei der Übertragung nie drei Bits oder mehr kippen, sonst hätten wir einen robusteren Code wählen sollen.
Jetzt liest Du ein von mir fehlerhaft übertragenes Wort. Jetzt musst Du Dich entscheiden: Wenn Du sicher bist, dass maximal ein Bit gekippt ist, dann ist eindeutig wie Du korrigieren musst (1-Bit-Fehlerkorrektur). Wenn Du es aber für möglich hälsts, dass zwei Bits falsch sein könnten, dann kannst Du nur noch sagen, dass das Wort falsch ist (2-Bit-Fehlererkennung). Korrigieren kannst Du dann aber nicht; es gibt ein Wort im Abstand 1 und eines im Abstand 2. Du musst dann die Übertragung als mißlungen abtun und das Wort nochmal verlangen. Anders ist das, wenn Du auch noch Parity-Informationen hast. Dann kannst Du zusätzlich sagen, ob Du ein oder zwei Bits kippen musst, und die Korrektur wird wieder eindeutig.
|
|
|
|