Hogyan kell meghatározni az alábbi bináris kód minimális távolságát?
C={0010;1011;0110}
Tehát az érdekelne, hogy hogyan kell meghatározni egy ehhez hasonló bináris kód minimális távolságát, és azt hogy hány hibajelző illetve hibajavító?
A legegyszerűbben úgy látszik, ha egymás alá írod a kódokat:
0010
1011
0110
Az első és a harmadik között egyetlen bit különbség van (0*10), tehát a minimális távolság 1.
Ezzel hibát jelezni, főleg javítani, nem lehet.
Jelezni azért nem lehet, mert ha elromlik a második bit miközben a 0010 kódot küldik, vagyis 0110 lesz belőle, az is teljesen legális kód, ezért nem jelezhető, hogy hiba történt.
Mindig a legközelebbi két kódot (azok távolságát) kell figyelni, hogy eldöntsük, lehet-e jelezni és javítani.
Ha mondjuk ez lenne a kód:
0010
1011
1100
akkor az első kettő között 2 bit különbség van, ez a minimum (a többinél 3-3 különbség van). Ekkor lehet jelezni 1 hibát, javítani viszont nem lehet.
Miért lehet jelezni? Mert ha mondjuk a 0010 helyett bármelyik 1-hibás jön (vagyis 1010, 0110, 0000 vagy 0011), azok egyike se legális kód. Szóval egy legális kódból (0010) kigeneráltuk az össze olyat, ami attól 1 távolságra van, és tuti, hogy azok egyike sem legális, hisz a minimális távolság 2.
Ha d a minimális távolság, akkor max d-1 bitnyi hibát lehet jelezni, hisz d hibabit esetén már lehet, hogy épp egy másik legális kódba ment át.
A fenti módosított kóddal tehát lehet 1 hibát jelezni, de javítani nem lehet, mert ha a hibás 1010 jön, az a legális 0010-tól és 1011-től is 1-távolságra van, nem tudunk dönteni, hogy melyik lehetett az igazi. Minimum 3 távolság kell, hogy 1 hibát lehessen javítani, mert akkor a hibás kód az egyik legálistól 1 távolságra lesz, a másiktól meg 2-re, vagyis tudunk a közelebbire javítani.
Ha mondjuk csak ez a 2 kódszó van:
000
111
akkor d=3, ezzel d-1 = 2 hibát lehet jelezni, illetve (d-1)/2 = 1 hibát lehet javítani.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!