takze nakonec sem s vasi pomoci prisel na toto...<br>asi vetsina vi, tusi..ale prece jen..<br><br>zprava=ZZZZ (4 byty)<br><br>zabezbeceni<br>-------------------<br>1/ prilepim ke zprave nuly o poctu bitu CRC kodu ktery ma vzniknout (ZZZZ00, 16 bitu (2byty) CRC)
<br>2/ prozenu tuto vzniklou zpravu CRC funkci, ten mi pomoci XORovani&nbsp; vypocte zbytek...(CC, 2 byty)<br>3/ tento zbytek je onen CRC kod, prilepim ho k puvodni zprave (nebo dam misto nul ad1/) (ZZZZCC)<br><br>prenos<br><br>
detekce chyb&nbsp; 2 zpusoby<br>--------------------<br><br>A/ z prijate zpravu nuluji CRC(ZZZZ00), vypoctu CRC&nbsp; a porovnam jednotlive CRC <br>&nbsp;&nbsp;&nbsp;&nbsp; shoda - ok<br><br>B/ pokud prijatou zpravu (ZZZZCC) prozenu tak jak prisla CRC funkci musi mi vzniknout nula
<br>&nbsp;&nbsp;&nbsp; to vychazi z podstaty XORovani...<br>&nbsp;&nbsp;&nbsp; pri vysilani nam pri XORovani vznikl zbytek, ktery jsme ke zprave pridali..ted nam tedy musi vyjit nula<br><br><br>takze takhle nejak by to melo fungovat..a ted to aplikovat :D
<br><br>dekuji Lubos Melichar<br><br><br><br><br><br><div><span class="gmail_quote">On 1/11/07, <b class="gmail_sendername">Jan Waclawek</b> &lt;<a href="mailto:wek@evona.sk">wek@evona.sk</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Tomáš Hamouz wrote:<br>&gt; Neprohlížel jsem proč je některý algoritmus &quot;nekorektní&quot;, ale z<br>&gt; definice CRC vyplývá že správná hodnota může být jen jedna.<br>&gt; Rozdíl může být jak danou hodnotu vypočítám.
<br>&gt;<br>&gt; Pokud počítám CRC &quot;z definice&quot;, tzn. po jednom bitu, je nutné používat<br>&gt; rozšíření zprávy o patřičný počet nul, podle délky generačního<br>&gt; polynomu.<br><br>No praveze to rozsirenie nie je nutne. Je to zvlastne ale je to tak.
<br>Dostane sa tym ten &quot;nekorektny&quot; algorimus, ale v skutocnosti ma presne<br>tu istu silu odhalit prenosove chyby ako ten &quot;korektny&quot;; navyse sa tym<br>usetri to priliepanie nul - to usetrenie nie je zaujimave ani tak kvoli
<br>tym par krokom naviac, ale kvoli tomu, ze po &quot;normalnych&quot; bytoch spravy<br>by sme museli zavolat CRC este 2x s nulovym vstupom, je to proste take<br>algoritmicky nepekne, nemat aktualne CRC hned po prijati/vyslani byte.
<br><br>Na druhej strane, nie je problem dosiahnut vysledok &quot;korektneho&quot;<br>algoritmu pouzitim &quot;nekorektneho&quot; - staci zmenit pociatocnu hodnotu, a<br>to na take cislo, ktore dostanete pouzitim &quot;korektneho&quot; algoritmu a
<br>povodnej pociatocnej hodnoty a spravy s nulovou dlzkou. Konkretny<br>priklad, pre &quot;polynom&quot; 1021 a pociatocnu hodnotu FFFF je &quot;korektny&quot;<br>(&quot;nondirect&quot;) vysledok pre nulovu spravu 1D0F; takze ak chceme pouzit
<br>ten &quot;nekorektny&quot; algoritmus, treba pouzit pociatocnu hodnotu 1D0F<br>(namiesto FFFF) a vysledne CRC bude take iste pre akukolvek spravu.<br><br>wek<br><br>_______________________________________________<br>HW-list mailing list&nbsp;&nbsp;-&nbsp;&nbsp;sponsored by 
<a href="http://www.HW.cz">www.HW.cz</a><br><a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a><br></blockquote>
</div><br>