logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Algorytm korekty danych (300 bajtów) z sumą kontrolną CRC16 - jak?

kemot55 26 Cze 2010 19:03 2378 5
REKLAMA
  • #1 8234525
    kemot55
    Poziom 31  
    Posty: 1306
    Pomógł: 184
    Ocena: 147
    Poszukuję algorytmu do korekty pola danych (300 bajtów) na podstawie sumy CRC. Przekłamaniu mogło ulec tylko kilka bitów (maksymalnie do 5). Ogólnie spotkałem stwierdzenie, że można skorygować te bity, ale żadnego konkretnego algorytmu już nie znalazłem. Czy może ktoś na forum wie w jaki sposób to zrobić?
  • REKLAMA
  • #2 8235206
    adamz74
    Poziom 33  
    Posty: 1287
    Pomógł: 269
    Ocena: 194
    Szukaj pod hasłem kody korekcyjne, znajdziesz np. kody Hamminga, kody Reeda-Salomona, itd.

    Trochę teorii masz np. tutaj.

    Pozdr
  • REKLAMA
  • #3 8235262
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #4 8235802
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    Suma jest zbyt krótka w stosunku do długości ciągu by można było coś z tego odzyskać. Licząc na szybko, przy 5 przekłamanych bitach tę samą sumę CRC16 można uzyskać na (C(5/2400))/(2^16) = 1,008e10 sposobów.
  • REKLAMA
  • Pomocny post
    #5 8237454
    adamz74
    Poziom 33  
    Posty: 1287
    Pomógł: 269
    Ocena: 194
    Dokładnie. CRC niesie ze sobą zbyt małą ilość informacji, żeby dało się korygować przesyłane dane. CRC umożliwia jedynie wykrycie wystąpienia błędów w bloku danych i w efekcie wygenerowania żądania retransmisji.
  • #6 8244966
    kemot55
    Poziom 31  
    Posty: 1306
    Pomógł: 184
    Ocena: 147
    W sumie to tego można się było spodziewać :cry:. Jednak są śladowe zapisy w necie, że pojedyncze bity w odpowiednich odległościach są "naprawialne" z wykorzystaniem CRC.
    Dziękuję za namiar na kody nadmiarowe. W tej chwili nie mogę już tego zastosować ale pewnie w przyszłości będą pomocne. Temat zamykam.
REKLAMA