Napisz następujące programy:
koder in out
– program który korzystając z rozszerzonego kodu Hamminga zakoduje plikin
do plikuout
.
szum p in out
– program który z prawdopodobieństwemp
zamienia na przeciwny każdy bit z plikuin
i zapisuje wynik w plikuout
.
dekoder in out
– program który korzystając z rozszerzonego kodu Hamminga zdekoduje plikin
do plikuout
, wypisując na końcu w ilu przypadkach napotkał 2 błędy.
sprawdz in1 in2
– program porównujący plik in1 z plikiemin2
i wypisujący ile 4-bitowych bloków nie jest identycznych.
W celu uruchomienia któregokolwiek programu należy wykonać komendę taką samą jak w powyższej sekcji z prefiksem „./
”.
W plikach encoder.py
, noise.py
, decoder.py
oraz compare.py
znajdują się odpowiednie implementacje zadanych programów.
W pliku utilities.py
znajduje się funkcja pomocnicza do uzyskiwania -tego bitu z bloku bitów.
W bardzo przystępny sposób rozszerzone kody Humminga zostały przedstawione przez Pana Profesora Jerzego Rutkowskiego.