Witam
Mam takie pytanie, otóż mam napisać program(w c++) wykrywający oraz korygujący 1 lub 2 błędy transmisji(8bitów - znaku). Powinienem wykorzystać kod Hamminga(inny nie wchodzi w grę).
Nigdy wcześniej nie robiłem czegoś takiego a przeglądając internet jest mi bardzo ciężko pojąć kilka rzeczy:
1.)Na niektórych stronach jest napisane, że kod Hamminga umożliwia tylko korkcję pojedynczego błędu np tutaj:
http://pl.wikipedia.org/wiki/Kod_Hamminga
na innych stronach znowu jest napisane odwrotnie, że się da np tutaj:
http://sarmax.info/Mollo/tmp/Kod%20Hamminga%202.pdf
Moje pytanie brzmi jaka jest prawda i czemu te informacje są tak dziwnie rozbierzne?
2.)Sprawa druga. Na podstawie powyższej stronki napisałem program korygujący 1 błąd jak narazie. Czy macierz H jest macierzą kompletnie dowolną poza tymi dwoma warunkami jakie musi spełniać? Testując w moim programie odpowiedź brzmi tak. Wychodzi również, że wbrew temu co jest napisane tutaj:
http://en.wikipedia.org/wiki/Parity-check_matrix
druga część macierzy H wcale nie musi być macierzą jednostkową. Jak zmieniam ją zmieniam w moim programie dając np zera znak jest i tak poprawnie korygowany.
3.)Jakiej macierzy H potrzebuję aby móc korygować podwójny błąd transmisji?
Bardzo dziękuję za wszelką pomoc. Proszę o wyrozumiałość bo temat do tej pory był mi zupełnie obcy. Bardziej liczę na jakieś wyjaśnienia niż linki do stron ponieważ już chyba wszystko przejrzałem na ten temat co byłem w stanie przyswoić.
Mam takie pytanie, otóż mam napisać program(w c++) wykrywający oraz korygujący 1 lub 2 błędy transmisji(8bitów - znaku). Powinienem wykorzystać kod Hamminga(inny nie wchodzi w grę).
Nigdy wcześniej nie robiłem czegoś takiego a przeglądając internet jest mi bardzo ciężko pojąć kilka rzeczy:
1.)Na niektórych stronach jest napisane, że kod Hamminga umożliwia tylko korkcję pojedynczego błędu np tutaj:
http://pl.wikipedia.org/wiki/Kod_Hamminga
na innych stronach znowu jest napisane odwrotnie, że się da np tutaj:
http://sarmax.info/Mollo/tmp/Kod%20Hamminga%202.pdf
Moje pytanie brzmi jaka jest prawda i czemu te informacje są tak dziwnie rozbierzne?
2.)Sprawa druga. Na podstawie powyższej stronki napisałem program korygujący 1 błąd jak narazie. Czy macierz H jest macierzą kompletnie dowolną poza tymi dwoma warunkami jakie musi spełniać? Testując w moim programie odpowiedź brzmi tak. Wychodzi również, że wbrew temu co jest napisane tutaj:
http://en.wikipedia.org/wiki/Parity-check_matrix
druga część macierzy H wcale nie musi być macierzą jednostkową. Jak zmieniam ją zmieniam w moim programie dając np zera znak jest i tak poprawnie korygowany.
3.)Jakiej macierzy H potrzebuję aby móc korygować podwójny błąd transmisji?
Bardzo dziękuję za wszelką pomoc. Proszę o wyrozumiałość bo temat do tej pory był mi zupełnie obcy. Bardziej liczę na jakieś wyjaśnienia niż linki do stron ponieważ już chyba wszystko przejrzałem na ten temat co byłem w stanie przyswoić.