po co co wymyślać koło po raz n-ty
Aby zapewnić maksymalną sprawność systemu jak największy zasięg i pewność transmisji,
kosztem wydajności, każda wartość wysyłana jest trzykrotnie.
Ramka ma długość 16 bajtów:
przesyłane są 4 znaki oraz numer części wiadomości (1 bajt) wysyłane są trzykrotnie,
a ostatni 16 bajt wolny stała wartość "*".
Program dekodujący porównuje trzy odebrane "kopie" wartości, są trzy kombinacje "A1=A3", "A1=A3", "A2=A3" jeżeli któreś z tych równań było prawdą nadaję wagę "1" i zapisuję odebraną wartość "zanku" w tablicy wyników. Jeżeli wszystkie trzy odebrane "kopie" były takie same nadaję wagę tej transmisji "3".
![]() |
na czerwono oznaczony trzy krotonie uszkodzony sygnał, potrójny identyczny błąd! w każdym z trzech przypadków - wysyłana była wartość "3C", a dobrano "78" |
ADD:
"Simple schemes such as "send the message 3 times and use a best 2 out of 3 voting scheme if the copies differ" are inefficient error-correction methods, unable to asymptotically guarantee that a block of data can be communicated free of error." - WIKIPEDIA: Noisy-channel coding theorem
~Proste programy takie jak "wysłać wiadomość 3 razy i wykorzystać z najlepsze dwa kopie. Ale jeżeli kopie się "różnią" metody ta jest nieefektywnym mechanizmem korekcją błędów i nie można zagwarantować, że blok danych będzie przekazany bez błędu.
Dalsza analiza wykazała, że uszkodzona transmisja to nie całe słowo, tylko często jeden bit w bajcie. Porównywanie i analizę trzeba oprzeć na bitach oraz niezbędna będzie adaptacja jakiegoś kodu splotowego WIKI: FEC, WIKI: Hamming(7,4)
---
![]() ![]() ![]() |
A) czas rysowania OLED 128x64 px. B) test skuteczności transmisji 1200-2FSK, do szerokości dewiacji (+-12K | +-5K) C) 1200 bps - czas wysłania 16 bajtów (brutto z wartościami treningowymi transmisji) |
Brak komentarzy:
Prześlij komentarz