Wprowadzenie do kodowania splotowego

We współczesnych systemach telekomunikacyjnych w celu zabezpieczeniu się przed błędami bardzo często stosuje się różnego rodzaju kodowanie.

Kodowanie blokowe, mówiąc skrótowo, polega na podziale strumienia bitów informacyjnych na segmenty o długości k bitów informacyjnych i zastąpieniu ich, w procesie kodowania, słowami kodowymi o długości n , gdzie n>k . Kolejne słowa kodowe nie są ze sobą sprzężone w żaden sposób. Słowa kodowe mogą zawierać bity informacyjne, ale nie muszą. (Jeżeli strumień danych nie jest binarny, wówczas zamiast mówić o bitach mówimy o symbolach.)

Alternatywą kodowania blokowego jest kodowanie kratowe. Najważniejszym reprezentantem kodów kratowych są kody splotowe. W przypadku kodowania splotowego strumień bitów informacyjnych jest także dzielony na bloki o długości k bitów. Koder pamięta m takich bloków. Podczas każdego kolejnego przedziału czasu m poprzednich bloków informacyjnych zostaje zakodowanych w słowo kodowe o długości n bitów. Widzimy zatem, że kolejne słowa kodowe zależąc od kilku poprzednich bloków informacyjnych są ze sobą sprzężone w procesie kodowania. (Kolejne słowa kodowe zależą od częściowo tych samych bloków danych.)

  Kody splotowe są kodami, które można przedstawić przy pomocy drzewa kodu, są także kodami liniowymi oraz czasowo niezmiennymi. Zostały zaproponowane w artykule Eliasa [Eli54].

Jeżeli alfabet kodu jest binarny, przyjmijmy, że binarny strumień informacji u jest dzielony na bloki ui , o k bitach, które są odwzorowywane w słowa kodowe vi o długości n bitów. Niech i-te słowo kodowe vi zależy od bloku bitów bloku vi oraz m poprzednich bloków informacyjnych. Mówimy, że koder posiada pamięć rzędu m.

Kolejne słowa kodowe są ze sobą sprzężone w procesie kodowania (słowa kodowe zależą od siebie).

.

Sprawność kodowania R wynosi R=k/n , tzn. na każde k bitów informacyjnych wchodzących do kodera generuje n bitów kodu.

 

Kliknij pokazany znak  Make your own experiment aby przeskoczyć do wykonywania własnego doświadczenia.