Exkurs - Fehlererkennung mit einem verbesserten Verfahren
CRC
Sandy und Emmy benutzen jetzt ein verbessertes Verfahren, um Fehler bei der Übertragung der Bitfolgen zu erkennen.
Sie haben sich eine Funktion crc
besorgt, mit der sie aus einer gegebenen Bitfolge
eine Folge von Zusatzbits bestimmen können.
Wie diese Funktion die Zusatzbits berechnet, haben sie nicht verstanden. Verwenden können
sie die Funktion dennoch.
Aufgabe 1
(a) Teste erst einmal in Python die Funktion crc.py. Benutze hierzu Dialoge wie den folgenden:
>>> crc('01011101') '0110'
(b) Benutze anschließend das Python-Testprogramm fehlererkennungCRC.py
zur Fehlererkennung mit der crc
-Funktion.
Führe das Programm mehrfach durch. Ändere auch die voreingestellte Fehlerwahrscheinlichkeit.
(c) Wie gut ist das Fehlererkennungsverfahren mit der crc
-Funktion? Kann es
alle möglichen Veränderungen der vorgegebenen Bitfolge erkennen?
(d) Wenn Du genauer wissen willst, was die crc
-Funktion macht, dann benutze das Python-Programm
crc_demo.py und rufe es z.B. folgendermaßen auf:
>>> crc('1001101100')
10011011000000
10011
=====
00000
00000
=====
00001
00000
=====
00011
00000
=====
00110
00000
=====
01100
00000
=====
11000
10011
=====
10110
10011
=====
01010
00000
=====
10100
10011
=====
00111
'0111'
Erläuterungen zu diesen Rechnungen findest Du z.B. hier.