mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Einfache FEC mit CRC32?


Autor: Rate mal! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wenn bei einem 16 Byte Paket + 4 Byte CRC32 die Prüfsumme nicht stimmt, 
kann man die 160 (20*8) Bit einzeln umkippen und schauen ob dann die 
Prüfsumme stimmt.

Ist dann das immer noch besser als eine CRC16?

Autor: Sascha (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ja klar ist eine CRC32 besser als eine CRC16. Das ersetzt aber keine 
Fehlerkorrektur. Weil es auch bei einer CRC32 immer wieder gleiche 
Ergebnisse gibt !!!

Siehe Dazu Hamming Distanz von CRCs.

Gruß Sascha

Autor: Hp M. (nachtmix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rate mal! schrieb:
> und schauen ob dann die
> Prüfsumme stimmt.

Kannst du machen, wenn du weisst, dass du es nur mit einem 1-Bit-Fehler 
zu tun hast, z.B. bei einem Datenbus.
Bei einer seriellen Übertragung (Disks, Funk, Telefonleitungen) treten 
aber gerne Burst-Errors auf, und dagegen muß man schwereres Geschütz 
auffahren.

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hp M. schrieb:
> Bei einer seriellen Übertragung (Disks, Funk, Telefonleitungen)

Siehe POCSAG, ein Übertragungsverfahren für Funkrufsysteme. Der 
Datensatz hat 32 bit, davon 20 Bit reine Nutzdaten. Für CRC und 
Rückrechnen eines fehlerhaften Bits haben die Herren 10 Bit CRC 
spendiert - bestimmt, weil sie gerne möglichst viel Overhead über den 
schmalen Funkkanal schieben wollten.

Rate mal! schrieb:
> kann man die 160 (20*8) Bit einzeln umkippen
> und schauen ob dann die Prüfsumme stimmt.

Klingt eher nach Brute Force denn Mathematik - wie lange soll der 
Korrekturrechenproozess dauern?

Rückrechnen aus CRC16 oder CRC32 sehe ich garnicht.

Autor: An Fi (chefdesigner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir verwenden für einen internen Bus aus Gründen der Datensicherheit 
gegen Fehler und Abhören einen Redundanz-Code mit 
64Bit+32Bit-Verschlüsselung und das Ganze mit einem CRC32 über jeweils 
die letzten 8 Datenworte. Viel weniger geht nicht, da industrielle 
Umgebung und Bus aussen geführt, d.h. anzapbar und störbar.

Autor: Sabberalot W. (jetztnicht)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber der witz der CRC ist verstanden ? Eher nicht. Ein 16bit CRC 
schuetzt 2^16bit = 8kByte gegen ein-Bit Fehler. Dh nicht dass der Fehler 
repariert wird, sondern dass er detektiert wird. Ein CRC-32 schuetzt 
also 2^32 bit = 256MByte gegen 1 bit Fehler. Den auf ein paar wenige 
Byte anzuwenden ist Bullshit. Nimm da was anderes, zB einen Hamming, der 
kann sogar noch reparieren.

Autor: Mitdenker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviele MegaBytes da theoretisch geschützt werden, ist vielleicht nicht 
das Entscheidende, weil man sicher keine Tausende Pakete senden möchte, 
bis man weiß, dass was falsch war. Eigentlich könnte man nach jedem 
Paket eine Schutzinformation senden, macht aber keiner, weil es die 
Datenrate halbieren würde.

Autor: Christian Kück (chris111)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal wie groß der Hamming Abstand ist. Das CRC sollte dir die 
Bitposition des fehlerhaften Bits für 1 bit Fehler direkt angeben. Es 
besteht keine Notwendigkeit das mit "brute force" zu testen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.