AKADEMIA MORSKA W GDYNI
PRZETWARZANIE SYGNAŁÓW
W TELEKOMUNIKACJI
Temat: Kodowanie splotowe.
Data wykonania ćwiczenia: 07.06.2010r.
Data oddania sprawozdania: 14.06.2010r.
Prowadzący zajęcia:
dr inż. Stanisław Lindner
Wykonał:
Turski Michał
III SiST
Gdynia 2010
1. Wstęp teoretyczny
Kodowanie splotowe odróżnia od kodów blokowych to, że może być dekodowany w sposób ciągły, bez konieczności dzielenia ciągu informacji elementarnych na bloki. Kodowanie to jest realizowane przy niewielkiej liczbie działań oraz za pomocą prostych układów. Kod splotowy jest zdefiniowany przez 3 parametry n, k, K gdzie:
n - ilość gałęzi sumatorów modulo 2
k - ilość rejestrów przesuwnych
K - liczba stopni rejestru przesuwnego
Ciąg kodowy kodu splotowego nie ma określonej długości. Każdorazowo po kodowaniu, do kodu musimy dołączyć (K-1) binarnych zer na końcu każdego ciągu kodowego aby opróżnić zawartość rejestru kodera, po to by nie utracić informacji o ciągu kodowym.
Ważnym parametrem kodu splotowego jest sprawność kodowania R. Sprawność kodowania jest wyrażona wzorem
.
Często stosowane wartości parametrów kodera splotowego to k=1, n=2, lub n=3, K=2÷9.
Zazwyczaj stosuje się kody splotowe niesymetryczne ze względu na to, że zapewniają one lepszą zdolność korekcyjną niż kody splotowe symetryczne.
Schemat kodera splotowego
Rys. 1. Schemat kodera splotowego (2,1,3)
Koder ten jest opisany za pomocą wielomianu generującego:
Operacja kodowania splotowego polega na wykorzystaniu dyskretnego splotu wejściowego ciągu informacyjnego i ciągów binarnych opisujących odczep każdej gałęzi kodera. Ciągi kodowe wychodzące z sumatorów przeplatane są przy użyciu multipleksera o równoległych wejściach i szeregowym wyjściu. Od bieżącej informacji zależą lokalne właściwości ciągu kodowego, a związane jest to z głębokością pamięci. Sprawność kodowania kodera przedstawionego na rys. 1. wynosi R=1/2.
Wyróżniamy dwie zasadnicze operacje dekodowania splotowego. Pierwszą z nich jest metoda „twarda” polegającą na porównywaniu odebranej sekwencji ze wszystkimi dostępnymi kombinacjami i wybieraniu, tej która ma najmniejszą odległość Hamminaga. Metoda ta ma bardzo silny próg decyzyjny, i jest przykładem dekodowania sekwencyjnego.
Drugą z metod demodulacji jest, metoda „miękka”, która pozwala skorelować sekwencje i wybrać jedną tę o najlepszej korelacji. Dekodowanie Viterbiego działa na zasadzie dekodowania metodą maksymalnego prawdopodobieństwa. Pewien margines niepewności spowodowany jest poprzez minimalne rozmycie progu decyzyjnego.
W wielu przypadkach, gdy w algorytmie twardodecyzyjnym prawidłowa ścieżka zostaje zlikwidowana wskutek zakłócenia zbyt dużą liczbą błędów zdecydowanie lepszym okazuje się algorytm miekkodecyzyjny, który w takim przypadku potrafi podjąć prawidłową decyzję.
2. Wyniki obserwacji
Podczas zajęć w laboratorium dokonywaliśmy kodowania oraz dekodowania splotowego za pomocą programu komputerowego.
Binarny ciąg wejściowy: 101001010100
a) Koder który opisany jest wielomianem generującym pierwszego stopnia:
T1=1
T2=x+1
ciąg kodowy: 01110111000111011101110000
Wystąpienie jednego błędu w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
01110111000111011101110000 |
101001010100 |
11110111000111011101110000 |
101001010100 |
00110111000111011101110000 |
101001010100 |
01010111000111011101110000 |
101001010100 |
01100111000111011101110000 |
101001010100 |
01111111000111011101110000 |
101001010100 |
01110011000111011101110000 |
101001010100 |
01110101000111011101110000 |
101001010100 |
01110110000111011101110000 |
101001010100 |
01110111100111011101110000 |
101001010100 |
01110111010111011101110000 |
101001010100 |
01110111001111011101110000 |
101001010100 |
01110111000011011101110000 |
101001010100 |
01110111000101011101110000 |
101001010100 |
01110111000110011101110000 |
101001010100 |
01110111000111111101110000 |
101001010100 |
01110111000111001101110000 |
101001010100 |
01110111000111010101110000 |
101001010100 |
01110111000111011001110000 |
101001010100 |
01110111000111011111110000 |
101001010100 |
01110111000111011100110000 |
101001010100 |
01110111000111011101010000 |
101001010100 |
01110111000111011101100000 |
101001010100 |
01110111000111011101111000 |
101001010100 |
01110111000111011101110100 |
101001010100 |
01110111000111011101110010 |
101001010100 |
01110111000111011101110001 |
101001010100 |
Wystąpienie dwóch błędów zgrupowanych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
01110111000111011101110000 |
101001010100 |
10110111000111011101110000 |
101001010100 |
01000111000111011101110000 |
001001010100 |
01111011000111011101110000 |
111001010100 |
01110100000111011101110000 |
100001010100 |
01110111110111011101110000 |
101101010100 |
01110111001011011101110000 |
101011010100 |
01110111000100011101110000 |
101000010100 |
01110111000111101101110000 |
101001110100 |
01110111000111010001110000 |
101001000100 |
01110111000111011110110000 |
101001011100 |
01110111000111011101000000 |
101001010000 |
01110111000111011101111100 |
101001010110 |
01110111000111011101110011 |
101001010101 |
Wystąpienie dwóch błędów rozproszonych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
01110111000111011101110000 |
101001010100 |
11110111000111011101110001 |
101001010100 |
00110111000111011101110010 |
101001010100 |
01010111000111011101110100 |
101001010100 |
01100111000111011101111000 |
101001010100 |
01111111000111011101100000 |
101001010100 |
01110011000111011101010000 |
101001010100 |
01110101000111011100110000 |
101001010100 |
01110110000111011111110000 |
101001010100 |
01110111100111011001110000 |
101001010100 |
01110111010111010101110000 |
101001010100 |
01110111001111001101110000 |
101001010100 |
01110111000011111101110000 |
101000110100 |
b) Koder który opisany jest wielomianem generującym trzeciego stopnia:
T1=x2+x+1
T2=x3+x2+1
ciąg kodowy: 011111001010111100110010110000
Wystąpienie jednego błędu w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
011111001010111100110010110000 |
101001010100 |
Wystąpienie dwóch błędów zgrupowanych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
011111001010111100110010110000 |
101001010100 |
101111001010111100110010110000 |
101001010100 |
010011001010111100110010110000 |
101001010100 |
011100001010111100110010110000 |
101001010100 |
011111111010111100110010110000 |
101001010100 |
011111000110111100110010110000 |
101001010100 |
011111001001111100110010110000 |
101001010100 |
011111001010001100110010110000 |
101001010100 |
011111001010110000110010110000 |
101001010100 |
011111001010111111110010110000 |
101001010100 |
011111001010111100000010110000 |
101001010100 |
011111001010111100111110110000 |
101001010100 |
011111001010111100110001110000 |
101001010100 |
011111001010111100110010000000 |
101001010100 |
011111001010111100110010111100 |
101001010100 |
011111001010111100110010110011 |
101001010100 |
Wystąpienie czterech błędów zgrupowanych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
011111001010111100110010110000 |
101001010100 |
100011001010111100110010110000 |
101001010100 |
011100111010111100110010110000 |
111101010100 |
011111000101111100110010110000 |
101011010100 |
011111001010000000110010110000 |
101001110100 |
011111001010111111000010110000 |
101001011100 |
011111001010111100111101110000 |
101001010001 |
011111001010111100110010001100 |
101001010101 |
011111001010111100110010111111 |
101001010111 |
Wystąpienie pięciu błędów rozproszone w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
011111001010111100110010110000 |
101001010100 |
111111101010011100010010010000 |
101001010100 |
001111011010101100100010100000 |
101001010100 |
010111000010110100111010111000 |
101001010100 |
011011001110111000110110110100 |
101001010100 |
011101001000111110110000110010 |
101001010100 |
011110001011111101110011110001 |
101001010100 |
Wystąpienie sześciu błędów rozproszone w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
011111001010111100110010110000 |
101001010100 |
111110001000111000111010100000 |
100111010100 |
001111101011111110110110111000 |
010010111001 |
010111011010011101110000110100 |
101110001110 |
011011000010101100010011110010 |
101001101111 |
011101001110110100100010010001 |
101010111011 |
c) Koder który opisany jest wielomianem generującym trzeciego stopnia:
T1=x6+x3+x2+x+1
T2=x5+x4+x3+1
ciąg kodowy: 100111101111000101010000010110110000
Wystąpienie jednego błędu w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
Wystąpienie dwóch błędów zgrupowanych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
100111101111000101010000010110110000 |
101001010100 |
010111101111000101010000010110110000 |
101001010100 |
101011101111000101010000010110110000 |
101001010100 |
100100101111000101010000010110110000 |
101001010100 |
100111011111000101010000010110110000 |
101001010100 |
100111100011000101010000010110110000 |
101001010100 |
100111101100000101010000010110110000 |
101001010100 |
100111101111110101010000010110110000 |
101001010100 |
100111101111001001010000010110110000 |
101001010100 |
100111101111000110010000010110110000 |
101001010100 |
100111101111000101100000010110110000 |
101001010100 |
100111101111000101011100010110110000 |
101001010100 |
100111101111000101010011010110110000 |
101001010100 |
100111101111000101010000100110110000 |
101001010100 |
100111101111000101010000011010110000 |
101001010100 |
100111101111000101010000010101110000 |
101001010100 |
100111101111000101010000010110000000 |
101001010100 |
100111101111000101010000010110111100 |
101001010100 |
100111101111000101010000010110110011 |
101001010100 |
Wystąpienie pięciu błędów zgrupowanych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
100111101111000101010000010110110000 |
101001010100 |
Wystąpienie siedmiu błędów zgrupowanych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
100111101111000101010000010110110000 |
101001010100 |
011000001111000101010000010110110000 |
011001010100 |
100111110000110101010000010110110000 |
111001010100 |
100111101111001010101000010110110000 |
101001110100 |
100111101111000101010111101010110000 |
101001011100 |
100111101111000101010000010101001110 |
101001010101 |
100111101111000101010000010111001111 |
101001010101 |
Wystąpienie siedmiu błędów rozproszonych w ciągu kodowym, oraz postać ciągu zdekodowanego:
Kolorem pomarańczowym zostały zaznaczone błędy
ciąg kodowy |
ciąg zdekodowany |
100111101111000101010000010110110000 |
101001010100 |
000110101101000001011000000110010000 |
000101110100 |
110111001110000111010100011110100000 |
101001010100 |
101111111111100100010010010010111000 |
101001010100 |
100011100111010101110001010100110100 |
011111100110 |
100101101011001101000000110111110010 |
100010011100 |
100110101101000001011000000110010001 |
110010001101 |
3. Wnioski
1. W przypadku gdy błędy są grupowane w ciągu kodowym zwiększa się prawdopodobieństwo błędnego dekodowania.
2. Zwiększenie ilości błędów w ciągu kodowym powoduje zwiększenie prawdopodobieństwa błędnego dekodowania, w przypadku gdy błędy są rozproszone czy też są zgrupowane.
3. Poprzez zwiększenie stopnia wielomianu generującego zwiększamy odporność dekodera na błędy pojawiające się w ciągu kodowym.
4. Długość ciągu kodowego wzrasta wraz ze wzrostem stopnia wielomianu generującego.
4. Bibliografia
1. Chramiec J., Lindner S., Kierunki rozwoju systemów i Układów Mikrofalowych, Wyd. Akademii Morskiej w Gdyni, Gdynia 2009.
2. http://pl.wikipedia.org/wiki/Kod_splotowy