Hlavní navigace

Vlákno názorů k článku CRC (kontrolní součet) od PSIkappa - Ked to tu tak citam, tak ma napadla...

  • Článek je starý, nové názory již nelze přidávat.
  • 30. 1. 2003 12:43

    PSIkappa (neregistrovaný)

    Ked to tu tak citam, tak ma napadla jedna otazka.
    Mam 10 miestny ciselny retazec, z ktoreho potrebujem pouzit minimalne 7 miest na prenos dat a zbytok moze byt pouzity na kontrolny sucet, ktory bude mat vlastnosti:
    1. Zisti ci je retazec konzistenty a nedoslo ku chybe pri prenose (nieje problem)
    2. Ak doslo ku chybe pri prenose, a chyba nieje v kontrolnom sucte, budem vediet lokalizovat poziciu chyby.
    3. asi sci-fi, ale neda mi. Budem vediet odvodit si mozne hodnoty na chybovej pozicii.

    Mate niekto nejake napady ako by sa to dalo realizovat, popripade co by som mal hladat ?

    V praxi sa na zabezpecenie takto kratkeho stringu pouzivaju algoritmy v style modulo 11 alebo kontrolna cislica ziskana suctom parnych a neparnych pozicii...co mi nevyhovuje, kedze si myslim, ze je to dost chabe.

  • 30. 1. 2003 13:52

    Martin MaKr Kratochvil (neregistrovaný)

    Takove scifi to neni, jestli mas 7B a 3B kontrolni to znamena 56bitu-data, 24bitu-kontrola

    To znamena kod (80,56)

    Ted se mi zrovna nechce pocitac, uz ani nevim jestli bych to svedl, (zkousku jsem udelal za 3 pred 2 tydny :) Ale tenhle kod "hrubym" odhadem by umel detekovat dobrych dejme tomu 12 chybnych bitu nebo 6chybnych bitu opravit.

    Pokud te zajima vice zkus hledat
    bezpecnosti kody, linearni kody, Hammingovo kody

    A taky si zkus stahnout z
    http://makr.misto.cz/bk.zip
    slidy o bezpecnostich kodech. (Je to od nas ze skoly (FEL CVUT) - predmet navrh logiky pocitacu

    Nevim jestli z tech slidu neco pochopis, ale urcite
    tva sci-fi predstava zas takove sci-fi neni.

    MaKr

  • 30. 1. 2003 13:58

    Tom (neregistrovaný)

    No, nejsem žádný odborník, ale jestliže se při kontrole CRC vygeneruje chybový vektor, tak ten při porovnání s přenášenými daty ukáže, které bity jsou chybně přijaty. A jelikož binární číslo může nabývat jen hodnot 0 a 1, tak pokud je nad jedničkou v chybovém vektoru (při porovnání) jednička v datech, tak je z principu CRC považována za chybu. A jestliže je považována jednička za chybu, má být na tom místě nula. Takže by !teoreticky! mělo jít chybné bity invertovat a tím data opravit.

  • 30. 1. 2003 14:36

    Jirka (neregistrovaný)

    Problem je v tom, ze ziskat ten chybovy vektor z prijatych chybovych dat a CRC nemuzeme. Sice se v clanku objevi jako "mezivysledek", ale to proto, ze autor nezduraznil, ze v tomto pripade xoruje GP na stejnych mistech, jak to delal pri zakodovani. To se ale neprenasi. Takze klasicky postup pri zjistovani by byl takovy, ze se spocita CRC prichozich dat a ta se porovnaji. Pokud nejsou stejna CRC, pak je mozne akorat odhadnout, kde je chyba a s jakou pravdepodobnosti. (Pri vhodne volbe GP a predpokladane pouze 1 chybe bych rekl, ze po obtiznem pocitani se podari spocitat ktery bit to je.)

  • 30. 1. 2003 14:43

    Jirka (neregistrovaný)

    Nehlede na to, ze autor omylem pouzil odeslanou sekvenci misto prijate, takze mu mel vyjit prazdny chybovy vektor pri jeho vypoctu ( 1 xor 0 xor 1 neni 1 ale 0 ) Stane se :-).

  • 1. 2. 2003 10:59

    Milan (neregistrovaný)

    Ha diky, uz jsem si myslel, ze neumim spocitat xor :-) Preci je tam chyba.