Zaslal: po prosinec 17 2012, 19:36 Předmět: crc32 na crc16
Ahoj
Mám mikroprocesor od STMka, který umí hardwarově počítat 32 bitové CRC. Já potřebuji do své aplikace pouze 16 bitové. Je možné vzít z těch 32 bitů jenom prvních šestnáct a použít to a poté při ověřování zkontrolovat nulovost opět jenom těch prvních šestnácti bitů? Bude to fungovat jako spávné 16 bitové CRC?.
Děkuji za odpověď _________________ Ježíš na kříži zaplatil za naše hříchy a tím nás osvobodil od věčné smrti. Platí i pro bastliře .
Založen: Nov 21, 2012 Příspěvky: 717 Bydliště: Most, Praha, Lanžhot
Zaslal: po prosinec 17 2012, 19:53 Předmět:
Rozhodně. Správné CRC má charakter náhodného čísla a tak každá jeho část je náhodným číslem a lze tedy použít k ověření. Jen bude větší šance na chybu a nebude to zřejmě normalizované.
Založen: Nov 21, 2012 Příspěvky: 717 Bydliště: Most, Praha, Lanžhot
Zaslal: po prosinec 17 2012, 20:02 Předmět:
Sice je to trochu off topic, tak se omlouvám DRAKE za vsuvku, ale zrovna jsem teď dělal CRC-CCITT XModem. Je to málo známý výpočet a je to škoda, má krátký kód a rychlost srovnatelnou s tabulkou (správnost výpočtu jsem ověřil srovnáním s tabulkovým výpočtem). Asm je sice pro AVR, ale třeba se to může někomu hodit.
Založen: Nov 21, 2012 Příspěvky: 717 Bydliště: Most, Praha, Lanžhot
Zaslal: po prosinec 17 2012, 20:04 Předmět:
Andrea napsal(a):
CRC má charakter náhodného čísla? Od kdy?
CRC je zbytek po dělení konkrétního polynomu konkrétním polynomem a tudíž na něm není nic náhodného.
Samozřejmě to není náhodné číslo!
Má vzhled náhodného čísla. Správné CRC vypadá při změně kontrolovaného obsahu tak, že se změní docela podstatně a na pohled jakoby náhodně. Jistě není moc dokonalé CRC, když při změně bitu 0 v datech se změní jen bit 0 v CRC.
Oříznutí 32 na 16 bitů by asi nebylo dobré např. u metody XOR + rotace (nebo u prostého součtu), protože tam se změna v datech projeví jen na 1 bitu, ale CRC-32 je dostatečně náhodný (pro Andreu proměnlivý ) aby se to dalo oříznout.
Jaká je vlastně detekční schopnost 16 bitového CRC s obecným polynomem. _________________ Ježíš na kříži zaplatil za naše hříchy a tím nás osvobodil od věčné smrti. Platí i pro bastliře .
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.