Archief - Hamming-code

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ciamician

Legacy Member
Hallo,

Ja ik weet dat "schoolopdrachten" of whatever niet zijn toegelaten maar tijdens het studeren van één van mijn vakken waar ik binnenkort examens over heb, meerbepaald computerarchitectuur was er een onderwerp waar ik echt niets van begreep:

Hamming code

De dingen die ik wil versta:
- Het dient om fouten in code's tegen te gaan (bvb een voeding die door een stroompiek een 0 in een 1 verandert).
- de pariteiten versta ik min of meer (pariteit van 2 = 2-3,6-7,10-11,... // pariteit van 3 = 3-4-5,9-10-11,15-16-17)
- er zijn databits (g) vb: 1,3,5,
- er zijn pariteitsbits (r), alle machten van twee (2,4,8,16..)


Een voorbeeldvraag van op het examen is dan :

Toepassingen:
1) Bedenk een Hamming-code met even pariteit voor de cijfers van 0 tot en met 9?


2) Bedenk een code voor de cijfers van 0 tot en met 9 met Hamming-afstand 2?



Ik had gehoopt dat een mede TI-student of gewoon iemand met kennis over dit onderwerp mij zou kunnen helpen.

gille

Legacy Member
My bad, fout... effe herrekenen :D
*edit
1) 001011010
  • 1 = 0: 0 + 1 + 1 + 0 + 0
  • 2 = 0: (0 + 1) + (1 + 0) + 0
  • 4 = 0: 0 + 1 + 1 + 0
  • 8 = 1: 1 + 0
2) Is gewoon dan 2 cijfertjes wijzigen als ik mij niet vergis? dus 111011010ipv 001011010

Parnakra

Legacy Member
KushReNaDa zei:
My bad, fout... effe herrekenen :D
*edit
1) 001011010
  • 1 = 0: 0 + 1 + 1 + 0 + 0
  • 2 = 0: (0 + 1) + (1 + 0) + 0
  • 4 = 0: 0 + 1 + 1 + 0
  • 8 = 1: 1 + 0
Waarom zoek je hier de Hamming-code voor 24?

Als ik de opgave goed begrijp, moet je voor élk getal van 0 t.e.m. 9 de Hammingcode zoeken. M.a.w., je zal maximum 4 databits hebben (1001 voor 9)

Aan de threadstarter: kijk eens op wikipedia om een werkwijze te zien, zo moeilijk is het niet, hoor. (vergeet trouwens niet dat je eerste bit ook een pariteitsbit is, aangezien 2^0=1)

Ciamician

Legacy Member
Parnakra zei:
Waarom zoek je hier de Hamming-code voor 24?

Als ik de opgave goed begrijp, moet je voor élk getal van 0 t.e.m. 9 de Hammingcode zoeken. M.a.w., je zal maximum 4 databits hebben (1001 voor 9)

Aan de threadstarter: kijk eens op wikipedia om een werkwijze te zien, zo moeilijk is het niet, hoor. (vergeet trouwens niet dat je eerste bit ook een pariteitsbit is, aangezien 2^0=1)

Al gedaan hoor, toch begrijp ik niet goed hoe je dan precies aan zo een opgave begint.. Als je een even aantal 1'en hebt = 0, oneven = 1. Maar hoe kom je dan aan die getallen , bvb (1: 0+1+1+0+0)

Parnakra

Legacy Member
Het makkelijkst (vind ik) is om te beginnen met je bits op een rijtje te schrijven. P voor pariteitsbits en D voor databits.

Als we dus voor 9 (=1001) de Hammingcode zoeken, hebben we p1 p2 d1 p3 d2 d3 d4.

Daarna vul je onder je databits je databits in (wonder boven wonder) en begin je met je eerste pariteitsbit te zoeken. Daarna je tweede, je derde, enz. tot je geen onbekende pariteitsbits meer hebt.

/edit: Voor alle duidelijkheid, pariteitsbit n vind je dus door eerst n-1 bits ná je pariteitsbit te bekijken, dan n bits over te slaan en dit te herhalen tot je op het einde van je bitreeks bent. (voor p1 bekijk je dus 0 bits, sla je 1 over en zo is je eerste bit die in aanmerking komt d1, enz.)

gille

Legacy Member
Parnakra zei:
Waarom zoek je hier de Hamming-code voor 24?

Als ik de opgave goed begrijp, moet je voor élk getal van 0 t.e.m. 9 de Hammingcode zoeken. M.a.w., je zal maximum 4 databits hebben (1001 voor 9)

Aan de threadstarter: kijk eens op wikipedia om een werkwijze te zien, zo moeilijk is het niet, hoor. (vergeet trouwens niet dat je eerste bit ook een pariteitsbit is, aangezien 2^0=1)

My bad, dacht gewoon een 9-bits getal :p vond het maar een rare vraag al :D

killgore

Legacy Member
Parnakra zei:
Het makkelijkst (vind ik) is om te beginnen met je bits op een rijtje te schrijven. P voor pariteitsbits en D voor databits.

Als we dus voor 9 (=1001) de Hammingcode zoeken, hebben we p1 p2 d1 p3 d2 d3 d4.

Daarna vul je onder je databits je databits in (wonder boven wonder) en begin je met je eerste pariteitsbit te zoeken. Daarna je tweede, je derde, enz. tot je geen onbekende pariteitsbits meer hebt.

/edit: Voor alle duidelijkheid, pariteitsbit n vind je dus door eerst n-1 bits ná je pariteitsbit te bekijken, dan n bits over te slaan en dit te herhalen tot je op het einde van je bitreeks bent. (voor p1 bekijk je dus 0 bits, sla je 1 over en zo is je eerste bit die in aanmerking komt d1, enz.)

of je zet die tabel simpelweg om naar wiskundige formules en bekomt (modulo-2 optellingen):
p1 = d1+d2+d4
p2 = d1+d3+d4
p3 = d2+d3+d4

en uw woord is:
p1 p2 d1 p3 d2 d3 d4

domme tabellekes allemaal :p.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan