Autoreferat_M.Sybis - Wydział Elektroniki i Telekomunikacji
Transkrypt
Autoreferat_M.Sybis - Wydział Elektroniki i Telekomunikacji
Politechnika Poznańska Wydział Elektroniki i Telekomunikacji Autoreferat rozprawy doktorskiej Uproszczone algorytmy dekodowania sygnałów z modulacją z turbokodowaniem kratowym Michał Sybis Promotor: prof. dr hab. Krzysztof Wesołowski Poznań, 2012 Spis treści Spis treści ii 1 Wprowadzenie 1.1 Cel i teza rozprawy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Plan rozprawy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 Algorytmy dekodowania 2.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . 2.2 Nowe aproksymacje logarytmu Jacobiego . . . . . . . . 2.2.1 Algorytm LM-r . . . . . . . . . . . . . . . . . . 2.3 Aproksymacje dla n > 2 . . . . . . . . . . . . . . . . . 2.3.1 Algorytm LM-TL . . . . . . . . . . . . . . . . . 2.3.2 Algorytm LM-n . . . . . . . . . . . . . . . . . . 2.3.3 Algorytm LM-n-q . . . . . . . . . . . . . . . . 2.3.4 Algorytm LM-AvN . . . . . . . . . . . . . . . . 2.3.5 Porównanie . . . . . . . . . . . . . . . . . . . . 2.4 Implementacja algorytmów dekodowania na procesorze 2.4.1 Wprowadzenie . . . . . . . . . . . . . . . . . . 2.4.2 Proponowane algorytmy . . . . . . . . . . . . . 2.5 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sygnałowym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 5 9 9 11 14 17 20 23 23 24 25 3 Podsumowanie 26 Bibliografia 28 ii Rozdział 1 Wprowadzenie Wraz z rozwojem multimediów i Internetu oraz bezprzewodowego dostępu do niego wymagania na przepływności systemów telekomunikacyjnych rosną lawinowo. Wynika to z olbrzymiego wzrostu wolumenu przekazywanych danych i upowszechnienia się urządzeń mobilnych takich jak notebooki, smartfony czy tablety. Możliwości transmisyjne wszystkich wykorzystywanych do tej pory systemów radiokomunikacyjnych stają się niewystarczające. Pociąga to za sobą konieczność opracowywania nowych systemów, które będą oferowały coraz większą przepływność oraz wyższą efektywność widmową. Budowa warstwy fizycznej takich systemów radiowych wiąże się zwykle z koniecznością stosowania bardzo złożonych technik kodowania wymagających ogromnych nakładów obliczeniowych. Przykładem takiej techniki jest modulacja TTCM (ang. Turbo TrellisCoded Modulation), która łączy w sobie modulację z kodowaniem kratowym TCM (ang. Trellis Coding Modulation) z ideą turbokodowania. Realizacja tej techniki jest jednak złożona i wymaga wielu operacji matematycznych realizowanych w czasie rzeczywistym, co przekłada się na wymagania sprzętowe i energetyczne. Pojawia się zatem pytanie: Czy możliwe jest opracowanie algorytmów, które pozwolą na zmniejszenie wymaganej liczby operacji arytmetycznych w czasie procesu dekodowania, który ma szczególnie wysokie wymagania obliczeniowe? Odpowiedzią na to właśnie pytanie jest niniejsza rozprawa. 1.1 Cel i teza rozprawy Celem pracy jest opracowanie i zbadanie algorytmów dekodowania w systemie z modulacją z turbokodowaniem kratowym, które pozwolą na zmniejszenie wymaganej liczby operacji w czasie procesu dekodowania przy zachowaniu wysokiej jakości dekodowania odebranego sygnału. Teza rozprawy jest następująca: Proponowane w rozprawie algorytmy dekodowania pozwalają na uzyskanie optymalnych wyników iteracyjnego dekodowania sygnału w systemie z modulacją z kodowaniem kratowym przy zmniejszonej liczbie operacji arytme- 1 ROZDZIAŁ 1. WPROWADZENIE 2 tycznych w procesie dekodowania w stosunku do dotychczas znanych algorytmów dekodowania takich sygnałów. 1.2 Plan rozprawy Rozprawa zorganizowana jest w następujący sposób. Rozdział drugi rozprawy zawiera podstawowe informacje o modulacji TCM oraz o idei turbodekodowania. Rozpoczyna się on od omówienia zasady działania modulacji TCM. Przedstawiony jest sposób projektowania kodów TCM, wraz z metodą podziału zbioru, oraz proces dekodowania sygnałów z modulacją TCM wraz z przykładowym działaniem odbiornika. Następnie omówiona jest zasada działania dekodowania iteracyjnego. Przedstawione są takie zagadnienia jak budowa i działanie kodera turbokodu, przedstawione są algorytmy dekodowania, ze szczególnym uwzględnieniem algorytmów MAP, log-MAP, max-log-MAP i SOVA, wraz z opisem całego procesu dekodowania iteracyjnego. W rozdziale tym przedstawiono również dodatkowe aspekty związane z ideą turbokodowania, takie jak przerwanie wykresu kratowego, czy turbokody o wysokiej sprawności. W rozdziale trzecim rozprawy przedstawiona jest idea modulacji z turbokodowaniem kratowym. Rozdział ten rozpoczyna się od opisu pierwotnie zaproponowanych technik kodowania, które pozwalają na opracowanie systemu o wysokiej sprawności widmowej wykorzystując przy tym ideę turbokodowania. W dalszej części rozdziału szczegółowo opisano modulację TTCM działającą zarówno w wersji szeregowej jak i równoległej. Scharakteryzowano szczegółowo takie aspekty modulacji TTCM jak: budowa i działanie kodera, działanie odbiornika iteracyjnego oraz algorytmy wykorzystywane w czasie procesu dekodowania. W rozdziale tym przedstawiono również ocenę jakości dekodowania i analizę liczby wymaganych operacji arytmetycznych przez podstawowe algorytmy w czasie procesu dekodowania. W rozdziale czwartym rozprawy przedstawiono znane z literatury algorytmy dekodowania oraz nowe algorytmy, które stanowią dorobek autora niniejszej rozprawy. Omawiane algorytmy zostały przebadane pod kątem oferowanej przez nie jakości dekodowania. W rozdziale tym zawarta jest również analiza wymaganej przez algorytmy liczby operacji arytmetycznych, które muszą zostać wykonane w czasie procesu dekodowania. Rozdział piąty rozprawy zawiera wyniki badań przeprowadzonych z wykorzystaniem implementacji analizowanych algorytmów na procesorze sygnałowym. Przedstawiona została analiza wymaganej przez nie liczby cykli zegara procesora sygnałowego. Dodatkowo w rozdziale tym zostały porównane wyniki analizy wymaganej liczby operacji arytmetycznych z analizą wymaganej liczby cykli zegara procesora sygnałowego. Rozdział szósty stanowi podsumowanie rozprawy. Dodatkowo praca została wzbogacona o załączniki. Załącznik A zawiera analizę statystyczną uzyskanych wyników, natomiast w załączniku B przedstawiona jest analiza wymaganej liczby operacji w czasie procesu dekodowania dla kilku systemów z modulacją TTCM wykorzystujących różne wielkości konstelacji transmitowanych sygnałów. ROZDZIAŁ 1. WPROWADZENIE 3 Załącznik C zawiera natomiast dodatkowe krzywe prezentujące jakość dekodowania analizowanych algorytmów. Rozdział 2 Algorytmy dekodowania 2.1 Wprowadzenie Wraz z pojawieniem się turbokodów rozpoczęły się liczne prace nad wprowadzeniem algorytmów, które z jednej strony będą pozwalały na osiągnięcie optymalnej jakości dekodowania, a z drugiej strony będą wymagały jak najmniejszego nakładu obliczeniowego. Pierwszym z algorytmów, który wpisuje się w nurt tych badań jest wspomniany już algorytm max-log-MAP (w dalszej części pracy oznaczony jako MLM). Jest to algorytm, który wymaga znacznie mniej operacji arytmetycznych w czasie procesu dekodowania niż algorytm log-MAP (w dalszej części pracy oznaczony jako LM), co zostało szczegółowo przedstawione w rozprawie. Ma on jednak od niego wyraźnie gorszą jakość dekodowania. W kolejnych latach opracowano wiele algorytmów, które cechowały się zróżnicowaną liczbą koniecznych do wykonania obliczeń i różną jakością dekodowania. Poniżej przedstawione zostaną opisy autorskich algorytmów dekodowania (podrozdział 4.3 rozprawy) mających zastosowanie w detekcji sygnałów TTCM wraz z analizą uzyskiwanej jakości dekodowania i oszacowaniem liczby wymaganych operacji arytmetycznych (liczby cykli zegara procesora sygnałowego). 2.2 Nowe aproksymacje logarytmu Jacobiego Kluczową kwestią związaną z działaniem algorytmów dekodowania pracujących w dziedzinie logarytmów jest obliczanie logarytmu sumy dwóch składników wykładniczych. Zależność ta zwana jest logarytmem Jacobiego [2] i przedstawia się następująco max*(a, b) = ln(exp(a) + exp(b)) = ln(exp(max(a, b))(1 + exp(−|a − b|))) = max(a, b) + ln(1 + exp(−|a − b|)) (2.1) Po dokonaniu przedstawionych przekształceń jedynym złożonym elementem koniecznym do uzyskania wartości max*(a, b) jest drugi składnik wzoru (2.1). Jednym ze sposobów uzyskania przybliżenia tego składnika jest stabelaryzowanie funkcji ln(1 + exp(−|x|)), 4 x = |a − b| (2.2) ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 5 Dzięki takiemu rozwiązaniu dekoder nie musi obliczać wartości funkcji tylko odczytuje wartość z tablicy posługując się w tym celu odpowiednio zmodyfikowaną różnicą argumentów jako indeksem tablicy. Rozwiązanie to, wykorzystywane w algorytmie log-MAP, z jednej strony pozwala na uzyskanie dużej precyzji i optymalnej jakości dekodowania, jednak z drugiej strony jest to również rozwiązanie bardzo złożone. Wynika to z konieczności wykonania wielu odwołań do tablicy, w której zapisane są wartości funkcji (2.2), co z kolei wymaga zrealizowania wielu operacji związanych z wyznaczeniem numeru elementu, który ma być odczytany z tablicy. Zależność (2.1) może zostać również uproszczona do następującej postaci: ln(exp(a) + exp(b)) = ln(exp(max(a, b))(1 + exp(−|a − b|))) ≈ max(a, b) (2.3) Podejście takie zostało wykorzystane w algorytmie max-log-MAP. Dzięki takiemu rozwiązaniu obliczenie przybliżonej wartości logarytmu Jacobiego staje się znacznie mniej złożone, jednak odbywa się to kosztem dokładności aproksymacji, co w konsekwencji wpływa na jakość dekodowania. W przypadku, gdy konieczne jest wyznaczenie logarytmu Jacobiego dla więcej niż dwóch argumentów wejściowych, co jest typową sytuacją w TTCM, należy rekursywnie wykorzystywać wzór (2.1). Zatem wyrażenie ln(eδ1 + eδ2 + . . . + eδn ) (2.4) może zostać przedstawione w następujący sposób ln n X ! e δi = ln(∆ + eδn ) (2.5) i=1 gdzie ∆ = eδ1 + eδ2 + . . . + eδn−1 = eδ . Zatem ln n X eδi = max(ln∆, δn ) + fc (|ln∆ − δn |) = max(δ, δn ) + fc (|δ − δn |) (2.6) i=1 Konsekwencją takiego stanu rzeczy jest znaczny wzrost liczby obliczeń ze względu na konieczność wielokrotnego powtarzania operacji związanych z obliczaniem dokładnej wartości logarytmu. Zasadne staje się zatem poszukiwanie takich algorytmów dekodowania, które pozwolą na zmniejszenie wymaganej liczby operacji w czasie procesu dekodowania przy zachowaniu jego wysokiej jakości. 2.2.1 Algorytm LM-r Pierwszy z proponowanych przez autora algorytmów to algorytm oznaczony symbolem LM-r, który został opisany w [7], [15], [18]. Idea tej aproksymacji polega na wykorzystaniu kilku wyrażeń będących liniową kombinacją argumentów wejściowych x1 , x2 do aproksymowania logarytmu Jacobiego. Liczba tych wyrażeń jest określona parametrem r. Ostateczna postać aproksymacji jest następująca: max*(x1 , x2 ) ≈ max(κ1 x1 + λ1 x2 + µ1 , . . . , κr x1 + λr x2 + µr ) (2.7) ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 6 gdzie zmienne κi , λi oraz µi , i = 1, . . . , r są dodatnimi wartościami rzeczywistymi, natomiast r 2. Przykładowo dla r = 3 aproksymacja jest następująca: max*(x1 , x2 ) ≈ max(x1 , 0, 5x1 + 0, 5x2 + 0, 693, x2 ) (2.8) Z równania (2.8) można wywnioskować, że proponowana aproksymacja wykorzystuje jedynie operacje mnożenia, dodawania oraz operacje porównania. Operacja mnożenia przez 0,5 może być zastąpiona operacją przesunięcia bitowego, co może wpłynąć na dodatkowe zmniejszenie liczby operacji algorytmu. Zasada działania algorytmu jest następująca. Na wejście funkcji obliczającej wartość logarytmu Jacobiego podawane są dwa argumenty: x1 oraz x2 . Na podstawie tych wartości algorytm oblicza wartości r wyrażeń liniowych zgodnie z zadaną zależnością. Należy przy tym zauważyć, że wartość pierwszego wyrażenia zawsze jest równa wartości pierwszego argumentu wejściowego, natomiast wartość ostatniego wyrażenia jest równa wartości drugiego argumentu wejściowego. Zatem dla r = 3 algorytmowi pozostaje do wyznaczenia wartość tylko jednego dodatkowego wyrażenia. Dysponując wartościami wszystkich wyrażeń algorytm przechodzi do ostatniego kroku, jakim jest znalezienie największej spośród wszystkich wartości. Tak znaleziona wartość staje się przybliżeniem dokładnej wartości logarytmu Jacobiego. Przedstawiona w (2.8) aproksymacja nie jest jedyną możliwą do uzyskania. Możliwe jest otrzymanie aproksymacji dla dowolnej liczby r 2. Należy przy tym zauważyć, że wraz ze wzrostem liczby elementów wzrasta dokładność aproksymacji. Zależność określająca wielkość błędu średniokwadratowego jest następująca: √ 2 (2.9) 2 r Można więc zauważyć, że wraz z liniowym wzrostem liczby r wyrażeń w aproksymacji, błąd średniokwadratowy maleje z kwadratem liczby wyrażeń. Niestety wzrost liczby wyrażeń w aproksymacji ma również negatywne konsekwencje, które związane są ze złożonością aproksymacji. Dlatego dla celów badawczych liczba możliwych wyrażeń została ograniczona do r ¬ 5. Zbiór wszystkich badanych aproksymacji dla różnych wartości parametru r został przedstawiony w tabeli 2.1. Jak można zauważyć, przyjęcie parametru r równego 2 prowadzi do uzyskania znanego algorytmu max-log-MAP. Przyjrzyjmy się teraz jakości dekodowania, jaką oferuje algorytm LM-r zarówno w wersji szeregowej jak i równoległej dla różnych wartości parametru r. Uzyskane wyniki zostały przedstawione na rys. 2.1. Jak widać w obu analizowanych przypadkach najsłabsze rezultaty z wykorzystaniem algorytmu LM-r można osiągnąć dla r = 3. Wyniki te, na poziomie BER równym 10−4 , są o około 0,1-0,2 dB gorsze od jakości jaką oferuje algorytm log-MAP. Nieco lepsze wyniki można osiągnąć dla algorytmu LM-r, dla r = 4 i r = 5, które oferują jakość dekodowania o około 0,05 dB gorszą od jakości dekodowania algorytmu log-MAP. Algorytm LM-r został dodatkowo zbadany w systemie TTCM wykorzystującym ramkę o długości N = 5000 symboli dla kanału AWGN oraz dla kanału z zanikami Rayleigha dla obu długości ramki danych. Uzyskane wyniki zostały przedstawione w rozprawie. 7 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA Przyjrzymy się teraz jak wygląda analiza koniecznych do wykonania operacji w czasie procesu dekodowania. Informacja o liczbie wymaganych operacji została zawarta w tabelach 2.2 oraz 2.3. Analizując przedstawione tam dane można stwierdzić, że jedynie algorytm LM-r z parametrem r równym 3 powoduje zmniejszenie wymaganej liczby operacji w porównaniu z algorytmem LM. Redukcja ta jest na poziomie 6-7% w zależności od tego, czy jest to wersja równoległa, czy szeregowa TTCM. Pozostałe wersje Tabela 2.1: Algorytm LM-r dla różnych wartości parametru r [7] Czynniki 2 3 4 5 Aproksymacja max(x1 , x2 ) max(x1 , 0, 5x1 + 0, 5x2 + 0, 693, x2 ) max(x1 , 0, 271x1 + 0, 729x2 + 0, 584, 0, 729x1 + 0, 271x2 + 0, 584, x2 ) max(x1 , 0, 167x1 + 0, 833x2 + 0, 45, 0, 5x1 + 0, 5x2 + 0, 693, 0, 833x1 + 0, 167x2 + 0, 45, x2 ) Porównania 1 Błąd średniokwadratowy 0,693 2 0,223 3 0,109 4 0,065 Tabela 2.2: Liczba wymaganych operacji w algorytmie LM-r, równoległa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 680 0 357 168 168 233 1606 LM-r3 680 0 357 168 0 281 1486 LM-r4 1016 672 525 0 0 449 2662 LM-r5 1352 672 693 168 0 617 3502 MLM 344 0 189 0 0 173 706 Tabela 2.3: Liczba wymaganych operacji w algorytmie LM-r, szeregowa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 492 0 249 114 114 185 1154 LM-r3 492 0 249 114 0 233 1088 LM-r4 744 480 381 0 0 353 1958 LM-r5 984 480 501 120 0 473 2558 MLM 264 0 141 0 0 149 554 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 8 (a) (b) Rysunek 2.1: Jakość dekodowania algorytmu LM-r dla różnych wartości parametru r w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 684 symboli ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 9 algorytmu, które wykorzystują 4 lub 5 czynników do oszacowania dokładnej wartości logarytmu Jacobiego są już dużo bardziej złożone od algorytmu log-MAP. Wzrost liczby wymaganych operacji sięga około 65% dla algorytmu LM-r z r = 4 i aż 118% dla r = 5. Można zatem stwierdzić, że jedynie algorytm LM-r z parametrem r = 3 nadaje się do praktycznej implementacji. Opracowano również pewną odmianę algorytmu LM-r, która została zoptymalizowana pod kątem stałoprzecinkowej implementacji na platformie FPGA – LM-r, HE. Szczegółowe informacje na jej temat zostały przedstawione w rozprawie. 2.3 Aproksymacje dla n > 2 Jak już przedstawiono wcześniej, kluczową kwestią, która wiąże się z dużą liczbą operacji algorytmów dekodowania, jest konieczność rekurencyjnego wywoływania funkcji obliczającej wartość logarytmu Jacobiego, gdy liczba argumentów wejściowych jest większa od dwóch, co jest sytuacją typową w przypadku TTCM. Rozwiązaniem jest opracowanie algorytmu, którego pojedyncze wywołanie pozwoli na obliczenie wartości logarytmu Jacobiego równocześnie dla kilku argumentów. W kolejnej części przedstawione zostaną algorytmy, które prezentują właśnie takie podejście do opracowania algorytmu dekodowania. 2.3.1 Algorytm LM-TL Takim opracowanym przez autora algorytmem, bazującym na poprzednio wspomnianym algorytmie LM-r, jest algorytm LM-TL [15], [18]. Działanie algorytmu jest następujące. W pierwszym kroku poszukiwane są dwie największe wartości argumentów wejściowych, które zostały podane na wejście funkcji wyznaczającej wartość logarytmu Jacobiego. Następnie po znalezieniu tych wartości wykonywany jest kolejny krok, którym jest obliczenie przybliżonej wartości logarytmu Jacobiego z wykorzystaniem jednej z zależności przedstawionych w tabeli 2.1. Zatem algorytm LM-TL również jest zależny od parametru r. Formalny zapis tej aproksymacji jest zatem następujący: max*(x1 , x2 , . . . , xn ) ≈ max(κ1 xmax + λ1 xmax2 + µ1 , . . . , κr xmax + λr xmax2 + µr ) (2.10) gdzie zmienne κi , λi oraz µi , i = 1, . . . , r są dodatnimi wartościami rzeczywistymi, r 2 natomiast xmax jest największą wartością, a xmax2 drugą największą wartością spośród n argumentów wejściowych. Przyjrzyjmy się teraz jakości dekodowania, którą można uzyskać z wykorzystaniem algorytmu LM-TL dla różnych wartości parametru r. Uzyskane wyniki zostały przedstawione na rys. 2.2. Jak widać, algorytm LM-TL dla danego parametru r oferuje nieznacznie gorszą jakość od algorytmu LM-r z parametrem r o tej samej wartości, jednak strata jest pomijalnie mała. Jakość dekodowania algorytmu LM-TL została również zilustrowana na dodatkowych wykresach, które zostały przedstawione w rozprawie. Podstawową korzyścią, jaką można uzyskać, jest znaczący spadek wymaganej liczby operacji w porównaniu z algorytmem log-MAP. Zostało to przedstawione w tabelach ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 10 (a) (b) Rysunek 2.2: Jakość dekodowania algorytmu LM-TL dla różnych wartości parametru r w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 684 symboli 11 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 2.4 oraz 2.5. Analizując zamieszczone tam dane można stwierdzić, że wszystkie wersje algorytmu LM-TL wymagają mniejszej liczby operacji niż algorytm log-MAP. Liczba wymaganych przez algorytm LM-TL operacji jest o 34-35%, 24-25% i 17-18% niższa, odpowiednio dla algorytmu z parametrem r równym 3, 4 oraz 5, od liczby operacji wymaganej przez algorytm log-MAP. Tak duży spadek liczby operacji jest obserwowany pomimo wykorzystywania tych samych aproksymacji jak w algorytmie LM-r, które, jak pokazano w tabelach 2.2 oraz 2.3, są aproksymacjami relatywnie złożonymi. Tak duży skok w redukcji liczby wymaganych operacji jest spowodowany odejściem od rekurencyjnego podejścia do obliczania wartości logarytmu Jacobiego. Podobnie jak w przypadku algorytmu LM-r, również dla algorytmu LM-TL została opracowana wersja zoptymalizowana pod kątem implementacji stałoprzecinkowej - LMTL,HE, która została szczegołowo opisana w rozprawie. 2.3.2 Algorytm LM-n Kolejną propozycją algorytmu, który wpływa na zmniejszenie wymaganej liczby operacji w procesie dekodowania jest algorytm LM-n [5], [6], [13]. Jest to algorytm, który wywodzi się z nierówności Czebyszewa. Poniżej przedstawione zostały podstawowe kroki prowadzące do uzyskania ostatecznej postaci omawianej aproksymacji [5]: Rozważmy nierówność Czebyszewa: (α1 + α2 + . . . + αn )(β1 + β2 + . . . + βn ) ¬ n(α1 β1 + α2 β2 + . . . + αn βn ) (2.11) Tabela 2.4: Liczba wymaganych operacji w algorytmie LM-TL, równoległa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 680 0 357 168 168 233 1606 LM-TL3 392 0 357 24 0 269 1042 LM-TL4 440 96 381 0 0 293 1210 LM-TL5 488 96 405 24 0 317 1330 MLM 344 0 189 0 0 173 706 Tabela 2.5: Liczba wymaganych operacji w algorytmie LM-TL, szeregowa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 492 0 249 114 114 185 1154 LM-TL3 312 0 261 24 0 221 818 LM-TL4 360 96 285 0 0 245 986 LM-TL5 408 96 309 24 0 269 1106 MLM 264 0 141 0 0 149 554 12 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA gdzie: α1 α2 . . . αn oraz β1 β2 . . . βn . Załóżmy, że dany jest również ciąg x1 , x2 , . . . , xn elementów uporządkowanych malejąco. Podstawiając α1 = ex1 , α2 = ex2 , . . . , αn = exn oraz β1 = n, β2 = n − 1, . . . , βn = 1 do (2.11) otrzymujemy: (ex1 + ex2 + . . . + exn )(n + (n − 1) + . . . + 1) ¬ n(ex1 n + ex2 (n − 1) + . . . + exn ) (2.12) a następnie n(n + 1) ¬ 2 nexmax (ex1 −xmax n + ex2 −xmax (n − 1) + . . . + exn −xmax ) (ex1 + ex2 + . . . + exn ) (2.13) Logarytmując obustronnie równanie (2.13) oraz zauważając, że x1 = xmax = max(xi ) i otrzymujemy ln(e x1 (n + 1) + e + . . . + e ) + ln ¬ 2 lnexmax + ln(ex1 −xmax n + ex2 −xmax (n − 1) + . . . + exn −xmax ) x2 xn (2.14) Biorąc pod uwagę tylko dwa pierwsze składniki logarytmu z prawej strony równania (2.14) otrzymujemy: max*(x1 , x2 , . . . , xn ) ≈ max (xi ) + ln 1¬i ¬n 2 (n + e−|z| (n − 1)) (n + 1) (2.15) gdzie z jest różnicą pomiędzy największym a drugim co do wartości elementem spośród n argumentów wejściowych funkcji max*, a n jest liczbą argumentów wejściowych wchodzących na wejście funkcji obliczającej wartość logarytmu Jacobiego. W praktycznej implementacji wartość n jest zawsze znana. Przykładowo dla n = 8 zależność (2.15) przedstawia się następująco: 2 max*(x1 , x2 , . . . , xn ) ≈ max(xi ) + ln 8 + 7exp(−z) 9 1¬i ¬n (2.16) Analizując wzór (2.16) można stwierdzić, że drugi składnik wzoru to składnik korygujący, który, podobnie jak ma to miejsce w algorytmie log-MAP, może być zapamiętany w postaci małej tabeli. Przyjrzyjmy się teraz jakości dekodowania, jaką można uzyskać z wykorzystaniem algorytmu LM-n. Uzyskane w czasie badań symulacyjnych krzywe BER zostały zaprezentowane na rys. 2.3. Jak widać na wykresach, algorytm LM-n pozwala, zarówno w szeregowej jak i równoległej wersji TTCM, na uzyskanie jakości o około 0,1-0,2 dB gorszej od jakości oferowanej przez algorytm log-MAP (na poziomie BER równym 10−5 ). Dodatkowe krzywe jakości dekodowania algorytmu LM-n zostały przedstawione w rozprawie. ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 13 (a) (b) Rysunek 2.3: Jakość dekodowania algorytmu LM-n w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 684 symboli 14 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA Tabela 2.6: Liczba wymaganych operacji w algorytmie LM-n, równoległa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 680 0 357 168 168 233 1606 LM-n 392 24 357 0 24 269 1066 MLM 344 0 189 0 0 173 706 Tabela 2.7: Liczba wymaganych operacji w algorytmie LM-n, szeregowa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 492 0 249 114 114 185 1154 LM-n 312 24 261 0 24 221 842 MLM 264 0 141 0 0 149 554 Przyjrzyjmy się teraz przedstawionej w tab. 2.6 oraz 2.7 analizie wymaganych operacji, które muszą być zrealizowane w czasie procesu dekodowania. Pierwszą rzeczą, jaką należy zauważyć, jest znacząca redukcja wymaganej liczby operacji, która jest na poziomie około 34% w stosunku do algorytmu log-MAP. Tak znacząca redukcja jest spowodowana, podobnie jak w przypadku algorytmu LM-TL, odejściem od rekurencyjnego podejścia do obliczania wartości logarytmu Jacobiego. 2.3.3 Algorytm LM-n-q Inną propozycją algorytmu, który wpływa na zmniejszenie wymaganej liczby operacji w procesie dekodowania jest algorytm LM-n-q [11], [12], [13], [14]. Podobnie jak algorytm LM-n wywodzi się on z nierówności Czebyshewa. Prześledźmy podstawowe kroki, które prowadzą do uzyskania aproksymacji LM-n-q. Niech dana będzie wspomniana wcześniej nierówność Czebyszewa (2.11). Stosując następujące podstawienie: α1 = ex1 , α2 = ex2 , . . . , αn = exn oraz β1 = 1, β2 = q, . . . , βn = q n−1 gdzie: |q| ¬ 1, otrzymujemy: (ex1 + ex2 + . . . + exn )(1 + q + . . . + q n−1 ) ¬ n(ex1 + ex2 q + . . . + exn q n−1 ) (2.17) 15 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA Logarytmując obustronnie równanie (2.17) oraz zauważając, że 1 + q + . . . + q n−1 = 1 − qn = Sn 1−q uzyskujemy ln(ex1 + ex2 + . . . + exn ) + ln(Sn ) ¬ ln n(ex1 + ex2 q + . . . + exn q n−1 ) (2.18) a następnie: ln(ex1 + ex2 + . . . + exn ) + ln(Sn ) ¬ ln nex1 (1 + ex2 −x1 q + . . . + exn −x1 q n−1 ) (2.19) Zauważając, że x1 = max(xi ) oraz przyjmując, że x2 − x1 = −|z| otrzymujemy ln(ex1 + ex2 + . . . + exn ) + ln(Sn ) ¬ lnex1 + ln n(1 + e−|z| q + . . . + exn −x1 q n−1 ) (2.20) Biorąc pod uwagę tylko dwa pierwsze składniki logarytmu z prawej strony równania (2.20) otrzymujemy: n (1 + e−|z| q) max*(x1 , x2 , . . . , xn ) ≈ max (xi ) + ln 1¬i ¬n Sn (2.21) Zatem możemy również zapisać n max*(x1 , x2 , . . . , xn ) ≈ max (xi ) + ln 1¬i ¬n Sn + ln 1 + e−|z| q (2.22) n jest stałą, która jest dodawana do wyniku niezależnie od wartości Składnik ln Sn jakie przyjmują argumenty wejściowe xi . Ponieważ działanie algorytmów funkcjonujących w dziedzinie logarytmów opiera się na wyznaczaniu różnic pomiędzy pewnymi zmiennymi, składnik ten może zostać pominięty nie wpływając negatywnie na jakość uzyskiwanych wyników. Ostateczna postać aproksymacji przedstawia się więc następująco: max*(x1 , x2 , . . . , xn ) ≈ max (xi ) + ln 1 + e−|z| q (2.23) 1¬i ¬n gdzie z jest różnicą pomiędzy największym a drugim pod względem wielkości elementem spośród n argumentów wejściowych funkcji max*, natomiast q jest parametrem, który jest dobierany w taki sposób, aby optymalizować działanie algorytmu. Drugi składnik wzoru, podobnie jak w algorytmie LM-n, to czynnik korygujący, który również może być zapisany w postaci małej tabeli. Przyjrzyjmy się dokładnie parametrowi q. Jest to parametr, który ma bezpośredni wpływ na uzyskiwaną przez algorytm LM-n-q jakość dekodowania. Należy zatem w odpowiedni sposób wyznaczyć jego wartość. Poszukiwania parametru q polegają na znalezieniu takiej jego wartości, która przy założonym stosunku mocy sygnału do szumu pozwoli na otrzymanie najniższej bitowej stopy błędów. Wygodnym narzędziem do osiągnięcia tego celu są badania symulacyjne. W oparciu o uzyskane na ich podstawie podstawie wyniki, przedstawione w rozprawie, można stwierdzić, że wpływ na ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 16 (a) (b) Rysunek 2.4: Jakość dekodowania algorytmu LM-n-q w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 684 symboli 17 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA optymalną wartość parametru q ma wielkość zastosowanej ramki i tak dla małej ramki optymalna wartość to q = 2,1, natomiast dla dużej ramki q = 1,7. Przyjrzyjmy się teraz jaką jakość dekodowania można uzyskać z wykorzystaniem algorytmu LM-n-q. Uzyskane w czasie badań symulacyjnych krzywe jakości dekodowania zostały zaprezentowane na rys. 2.4. Jak na nich widać, w równoległej wersji TTCM, algorytm LM-n-q pozwala na uzyskanie jakości równej jakości dekodowania algorytmu log-MAP (na poziomie BER równym 10−5 ), natomiast w wersji szeregowej jego jakość dekodowania jest gorsza od jakości dekodowania algorytmu log-MAP o mniej niż 0,1 dB. Jakość dekodowania algorytmu LM-n-q można również przeanalizować na podstawie dodatkowych wykresów zawartych w rozprawie. Ponieważ działanie algorytmu LM-n-q jest podobne do działania algorytmu LM-n zatem analiza liczby operacji, która została przeprowadzona dla algorytmu LM-n (tabele 2.6 oraz 2.7) jest właściwa również dla algorytmu LM-n-q i nie będzie tu przytaczana. 2.3.4 Algorytm LM-AvN Ostatni sposób aproksymacji logarytmu Jacobiego rozpatrywany w rozprawie jest zawarty w algorytmie LM-AvN [16], [17]. Jest to algorytm, który swoje działanie opiera na dwóch zależnościach. Pierwszą z nich jest nierówność, która w prosty sposób może być być wyprowadzona z logarytmu Jacobiego: max*(x1 , x2 , . . . , xn ) max(x1 , x2 , . . . , xn ) (2.24) Natomiast druga zależność została wyprowadzona z nierówności Jensena [8]: max*(x1 , x2 , . . . , xn ) n 1X xi n i=1 (2.25) Zatem łącząc obie te nierówności w jedną zależność można napisać: n 1X max*(x1 , x2 , . . . , xn ) ≈ max max(xi ), xi n i=1 ! (2.26) Podejście zastosowane w (2.26) ma jednak zasadniczą wadę, która powoduje, że algorytm ten będzie w stanie osiągnąć jakość dekodowania równą co najwyżej jakości dekodowania algorytmu max-log-MAP. Jest tak ponieważ: max(x1 , x2 , . . . , xn ) n 1X xi n i=1 (2.27) Rozwiązaniem tego problemu może być zastąpienie części aproksymacji, która oblicza średnią wartość wszystkich argumentów wejściowych częścią, która oblicza sumę wszystkich argumentów wejściowych a następnie podzieli ją przez pewien parametr K dobrany w taki sposób, aby optymalizować działanie całego algorytmu. Takie podejście do zależności (2.26) powoduje, że przekształca się ona do postaci: n 1 X max*(x1 , x2 , . . . , xn ) ≈ max max(xi ), xi K i=1 ! (2.28) 18 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA Tabela 2.8: Liczba wymaganych operacji w algorytmie LM-AvN, równoległa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 680 0 357 168 168 233 1606 LM-AvN 512 24 213 0 0 197 946 MLM 344 0 189 0 0 173 706 gdzie, jak wcześniej wspomniano, K jest pewnym parametrem tej aproksymacji. Wartość K dobierana jest w sposób eksperymentalny tak, aby przy założonym stosunku mocy sygnału do szumu minimalizować bitową stopę błędów. Wyniki poszukiwań parametru K dla systemów z równoległą wersją TTCM, działającą w kanale AWGN z krótką (N = 684 symboli) i długą ramką (N = 5000 symboli) zostały przestawione w rozprawie. Na podstawie uzyskanych wyników można stwierdzić, że wielkość ramki danych nie ma wpływu na wartość parametru K a jego optymalna wartość to K = 18,5. Przyjrzyjmy się teraz jaką jakość dekodowania można uzyskać z wykorzystaniem algorytmu LM-AvN. Uzyskane w czasie badań symulacyjnych krzywe jakości dekodowania zostały zaprezentowane na rys. 2.5. Jak widać na wykresach, algorytm LM-AvN nie osiąga, zarówno w szeregowej jak i równoległej wersji TTCM, jakości zbliżonej do algorytmu log-MAP. Oferowana przez niego jakość dekodowania jest gorsza o około 0,2 - 0,3 dB od oferowanej przez algorytm log-MAP (na poziomie BER równym 10−4 ). Przyjrzyjmy się teraz przedstawionym w tabelach 2.8 oraz 2.9 liczbom wymaganych operacji, które muszą być zrealizowane w procesie dekodowania. Podstawową korzyścią, jaka płynie z wykorzystania tego algorytmu jest jeszcze większa redukcja liczby wymaganych operacji niż miało to miejsce w przypadku algorytmu LM-TL z parametrem r równym 3, czy w przypadku algorytmów LM-n i LM-n-q. W przypadku algorytmu LM-AvN udało się osiągnąć zmniejszenie liczby wymaganych operacji w stosunku do algorytmu log-MAP o około 31% w przypadku szeregowej wersji TTCM i aż o 41% w przypadku równoległej wersji TTCM. Tak duża poprawa w stosunku do algorytmów LM-n i LM-n-q spowodowana jest faktem, że z jednej strony algorytm LM-AvN nie wymaga rekurencyjnego podejścia do obliczania logarytmu Jacobiego, a z drugiej strony na zmniejszenie liczby operacji wpływa fakt, że algorytm LM-AvN nie wymaga obliczania różnicy pomiędzy największym a drugim największym argumentem podanym na wejście funkcji obliczającej wartość logarytmu Jacobiego. Podobnie jak dla algorytmów LM-r oraz LM-TL również dla algorytmu LM-AvN opracowano wersję, która da się efektywnie zaimplementować w matrycy FPGA (LMAvN, HE [17]). Jej szczegóły zostały przedstawione w rozprawie. Uzyskane wyniki dla algorytmu LM-AvN, HE zostały przedstawione na rys. 2.5. ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 19 (a) (b) Rysunek 2.5: Jakość dekodowania algorytmu LM-AvN w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 684 symboli 20 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA Tabela 2.9: Liczba wymaganych operacji w algorytmie LM-AvN, szeregowa wersja TTCM Algorytm Dodawanie Mnożenie Porównanie Przesunięcie bitowe Konwersja do int Przypisania SUMA LM 492 0 249 114 114 185 1154 LM-AvN 432 24 165 0 0 173 794 MLM 264 0 141 0 0 149 554 Jakość dekodowania algorytmów LM-AvN oraz LM-AvN, HE jest szerzej zobrazowana na dodatkowych wykresach zawartych w aneksie rozprawy. 2.3.5 Porównanie W powyższych podrozdziałach rozprawy przedstawiono kilka zaproponowanych przez autora algorytmów, które pozwalają na zmniejszenie koniecznej do wykonania w procesie dekodowania liczby operacji matematycznych. Algorytmy te oferują różną jakość dekodowania, jednak pozostaje ona zbliżona do jakości dekodowania algorytmu logMAP i w większość przypadków strata do algorytmu log-MAP nie jest duża. Zbiorcze zestawienie proponowanych algorytmów zostało zaprezentowane na rys. 2.6 dla małej ramki oraz na rys. 2.7 dla dużej ramki. Dodatkowo, porównana została również liczba koniecznych do wykonania operacji, co zostało przedstawione w tabeli 2.10. Podsumowując przedstawione wynik badań można powiedzieć, że proponowane algorytmy dekodowania pozwalają na znacznie większą redukcję liczby koniecznych do Tabela 2.10: Porównanie liczby operacji wymaganych przez proponowane algorytmy dekodowania Algorytm LM LM-r,r=3 LM-r,r=4 LM-r,r=5 LM-TL,r=3 LM-TL,r=4 LM-TL,r=5 LM-n LM-n-q LM-AvN MLM Liczba operacji w. równoległa w. szeregowa 1606 1154 1486 1088 2662 1958 3502 2558 1042 818 1210 986 1330 1106 1066 842 1066 842 946 794 706 554 ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 21 (a) (b) Rysunek 2.6: Porównanie jakości dekodowania różnych algorytmów dekodowania w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 684 symboli ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 22 (a) (b) Rysunek 2.7: Porównanie jakości dekodowania różnych algorytmów dekodowania w równoległej (a) i szeregowej (b) wersji TTCM, kanał AWGN, wielkość układu przeplotu N = 5000 symboli ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 23 wykonania operacji w czasie dekodowania sygnałów TTCM niż algorytmy dotychczas przedstawione w literaturze. Algorytmem, który cechuje się najmniejszą liczbą wymaganych operacji jest algorytm LM-AvN, który pozwala na osiągnięcie nawet 41% redukcji liczby operacji. Dzieje się to jednak kosztem uzyskiwanej przez algorytm jakości dekodowania, która niestety odbiega od jakości dekodowania algorytmu log-MAP na poziomie BER równym 10−4 o około 0,2 - 0,3 dB. Znacznie lepszym wyborem pod względem dalszej implementacji byłby algorytm LM-n-q. Jest to algorytm, którego jakość dekodowania jest praktycznie identyczna z jakością dekodowania algorytmu log-MAP, natomiast liczba koniecznych do wykonania operacji w czasie procesu dekodowania jest o 34% niższa niż w przypadku algorytmu log-MAP. W tym podrozdziale przedstawiono analizę wymaganej liczby operacji jedyne dla wersji równoległej systemu TTCM z modulacją 16-QAM. Dodatkowa analiza obejmująca wymaganą liczbę operacji w równoległych i szeregowych systemach TTCM wykorzystujących modulacje 8-PSK, 32-QAM oraz 64-QAM została przedstawiona w w rozprawie. 2.4 Implementacja algorytmów dekodowania na procesorze sygnałowym W podrozdziale 2.2 przedstawione zostały różne algorytmy dekodowania sygnałów z modulacją TTCM. Zostały one zbadane zarówno pod kątem oferowanej jakości dekodowania jak i wymaganej liczby operacji niezbędnej w czasie procesu dekodowania. W tym podrozdziale opisane zostały badania związane z implementacją przedstawionych algorytmów na procesorze sygnałowym. Wszystkie algorytmy ponownie zostały przebadane pod kątem wymagań obliczeniowych, jednak w tym podrozdziale przez wymagania obliczeniowe rozumiemy liczbę wymaganych cykli zegara procesora sygnałowego. 2.4.1 Wprowadzenie Jak już wspomniano wcześniej realizacja algorytmów dekodowania w postaci programu symulacyjnego na komputerze klasy PC ma na celu obliczenie wymaganej liczby operacji arytmetycznych w czasie procesu dekodowania. W celu poznania rzeczywistych wymagań obliczeniowych algorytmów analizowane algorytmy, zarówno dotychczas znane jak i proponowane w rozprawie, zostały zaimplementowane na procesorze sygnałowym DSP. Do testów wybrany został popularny procesor TMS320VC5510, który jest przedstawicielem rodziny procesorów o bardzo niskim poborze mocy (ang. Ultra Low Power Processor ) realizującym obliczenia na liczbach stałoprzecinkowych (ang. FixedPoint Processor ). Wybór ten podyktowany był faktem, że jest to jeden z procesorów dostępnych w pracowni laboratoryjnej Katedry Radiokomunikacji. W celu zbadania rzeczywistych wymagań każdego z algorytmów na moc obliczeniową napisany został program, realizujący proces dekodowania zgodnie z omawianymi w rozdziale 2 algorytmami. Jako założenia przyjęto, że system TTCM wykorzystuje ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 24 8-stanowe modulatory TCM oraz modulację 16-QAM i jest zrealizowany w wersji równoległej. 2.4.2 Proponowane algorytmy W celu oceny, jakie wymagania stawiają procesorowi sygnałowemu algorytmy proponowane w rozprawie posłużono się programami, które realizują zadane algorytmy dekodowania godnie z zależnościami przedstawionymi w podrozdziałach 2.2 oraz 2.3. Wyniki zebrane w czasie analizy działania tych algorytmów na procesorze sygnałowym zostały przedstawione w tabeli 2.11. Tabela 2.11: Zestawienie liczby cykli zegara procesora sygnałowego wymaganych przez proponowane algorytmy dekodowania Algorytm LM LM-r,r=3 LM-TL,r=3 LM-r,r=4 LM-TL,r=4 LM-r,r=5 LM-TL,r=5 LM-AvN LM-n LM-n-q MLM Liczba cykli 12236 9248 7676 12953 8213 13961 8440 6253 7339 7339 5790 Tabela ta zawiera informacje o średniej liczbie cykli zegara procesora sygnałowego, jaka jest konieczna do wykonania pojedynczego kroku dekodowania. Najmniejsze wymagania obliczeniowe spośród wszystkich proponowanych algorytmów ma algorytm LM-AvN, który wymaga 49% mniej cykli procesora sygnałowego niż algorytm log-MAP. Jednak, jak to wcześniej pokazano w podrozdziale 2.3, algorytm ten nie jest w stanie osiągnąć jakości dekodowania algorytmów optymalnych. Algorytmem, który wymaga najmniejszej liczby operacji arytmetycznych pozwalając jednocześnie na osiągnięcie jakości dekodowania takiej, jak optymalny algorytm log-MAP, jest LM-n-q. Jak pokazano w tabeli 2.11, potrzebuje on 40% mniej cykli zegara procesora sygnałowego niż algorytm log-MAP, dając przy tym praktycznie identyczną jakość dekodowania. Inne zaproponowane w rozprawie algorytmy również charakteryzują się zredukowaną liczbą operacji arytmetycznych/cykli zegara procesora. Wymagana przez nie liczba cykli zegara procesora zmienia się od 7676 do 9248, co daje spadek od 24% do 37% w stosunku do liczby cykli dla algorytmu log-MAP. Jedynymi wyjątkami są algorytmy LM-r z parametrem r = 4 oraz LM-r z r = 5. Algorytmy te mimo bardzo dobrej jakości dekodowania, wymagają niestety większej liczby cykli zegara procesora. Podobnie jak miało to miejsce w przypadku dotychczas znanych algorytmów dekodowania, można porównać wyniki wymagań obliczeniowych oszacowane na podstawie ROZDZIAŁ 2. ALGORYTMY DEKODOWANIA 25 liczby wymaganych operacji i na podstawie liczby cykli procesora sygnałowego. W tym celu posłużmy się danymi przedstawionymi w tabeli 2.12. Tabela 2.12: Porównanie liczby operacji/cykli wymaganych w procesie dekodowania przez proponowane algorytmy dekodowania Algorytm log-MAP LM-r,r=3 LM-TL,r=3 LM-r,r=4 LM-TL,r=4 LM-r,r=5 LM-TL,r=5 LM-AvN LM-n LM-n-q max-log-MAP Wymagania obliczeniowe PC DSP l.operacji por.z LM l.cykli por.z LM 1606 – 12236 – 1486 -7% 9248 -24% 1042 -35% 7676 -37% 2662 66% 12953 6% 1210 -25% 8213 -33% 3502 118% 13961 14% 1330 -17% 8440 -31% 946 -41% 6253 -49% 1066 -34% 7339 -40% 1066 -34% 7339 -40% 706 -56% 5790 -53% Jak widać w powyższej tabeli, oszacowania liczby wymaganych operacji oraz liczby wymaganych cykli zegara procesora są do siebie zbliżone, jednak mają nieco większą rozbieżność niż w przypadku dotychczas znanych algorytmów. W większości przypadków różnica nie przekracza kilku, kilkunastu punktów procentowych. Wyjątkiem są algorytmy z rodziny LM-r. W przypadku tych algorytmów obie metody oceny wymagań obliczeniowych mogą dać bardzo różne wyniki, jednak zawsze można stwierdzić, czy zastosowany algorytm pozwoli na zmniejszenie wymagań obliczeniowych. W mocy pozostaje więc stwierdzenie przedstawione w poprzednim podrozdziale, że nie ma jednoznacznego przełożenia pomiędzy liczbą wymaganych operacji a liczbą cykli zegara procesora. 2.5 Podsumowanie W niniejszym rozdziale przedstawiono opis zaproponowanych w rozprawie algorytmów dekodowania. Skupiono się na dwóch podstawowych kwestiach z tym związanych. Pierwszą kwestią jest uzyskiwana przez algorytm jakość dekodowania przedstawiona w formie zależności stopy błędów od stosunku mocy sygnału do szumu. Natomiast drugą, jest wymagana przez algorytm liczba operacji arytmetycznych (lub liczba cykli zegara procesora sygnałowego), które muszą być wykonane w czasie procesu dekodowania. Oba aspekty zostały zbadane w podstawowym systemie TTCM zarówno w wersji równoległej jak i szeregowej. Dodatkowo sprawdzono, jaki jest wpływ wielkości ramki danych N na uzyskiwaną jakość dekodowania. Wszystkie badania zostały przeprowadzone dla kanału AWGN oraz dla kanału z zanikami Rayleigha. Rozdział 3 Podsumowanie Przedmiotem niniejszej rozprawy było przedstawienie wyników badań związanych z opracowaniem algorytmów dekodowania dla modulacji z turbokowaniem kratowym. W pracy przedstawionych zostało kilka autorskich algorytmów dekodowania, które zostały poddane szczegółowej analizie zarówno pod względem oferowanej przez nie jakości dekodowania jak i wymaganej liczby operacji arytmetycznych/cykli zegara procesora w czasie procesu dekodowania. Uzyskane wyniki pokazują, że najlepsze z prezentowanych algorytmów pozwalają na redukcję liczby cykli zegara procesora sygnałowego (a więc również redukcję czasu wykonania) aż o około 40-50% w stosunku do algorytmu log-MAP. Tak duża redukcja liczby wymaganych operacji powoduje, że uzyskane algorytmy można uznać za bardzo dobre. Do najważniejszych wyników przedstawionych w rozprawie można, według jej autora, zaliczyć: • zaproponowanie kilku algorytmów pozwalających na znaczną redukcję liczby wymaganych operacji w czasie procesu dekodowania przy zachowaniu optymalnej jakości dekodowania, • zaadoptowanie zaproponowanych w literaturze aproksymacji logarytmu Jacobiego do potrzeb zastosowania ich w systemie z modulacją TTCM, • przetestowanie zaproponowanych w literaturze aproksymacji logarytmu Jacobiego w systemie z modulacją TTCM. Zatem na podstawie przedstawionych wniosków można stwierdzić, że cel pracy został osiągnięty, a przedstawiona w podrozdziale 1.1 teza została potwierdzona. Wartościowym uzupełnieniem przeprowadzonych badań byłoby przeanalizowanie pewnych problemów związanych z uzyskanymi algorytmami. Do najważniejszych można zaliczyć: • ocenę jakości dekodowania turbokodów z wykorzystaniem proponowanych w rozprawie algorytmów, 26 ROZDZIAŁ 3. PODSUMOWANIE 27 • modyfikację znanych algorytmów dekodowania (CLM, LLM, SLM, ALM) z wykorzystaniem techniki TL (ang. Two Largest) i ocena ich działania, • ocenę wykorzystania proponowanych w rozprawie algorytmów w turbosynchronizacji, • ocenę wpływu błędnego oszacowania SNR na uzyskiwaną przez proponowane algorytmy jakość dekodowania. Przedstawione w rozprawie algorytmy spotkały się z zainteresowaniem innych badaczy czego dowodem są ich cytowania prac autora rozprawy i ich zastosowanie w badaniach nad innymi algorytmami dekodowania [1], [3], [4], [9] oraz [10]. Bibliografia [1] L. Amaru, M. Martina, and G. Masera. High Speed Architectures for Finding the First two Maximum/Minimum Values. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, PP(99):1–5, 2011. [cytowanie na str. 27] [2] J. Erfanian, S. Pasupathy, and G. Gulak. Reduced Complexity Symbol Detectors with Parallel Structures. In Proc. of IEEE Global Telecommunications Conference (GLOBECOM’90), volume 2, pages 704–708, San Diego, USA, 1990. [cytowanie na str. 4] [3] J. He. Efficient Decoder Design for Error Correction Codes. PhD thesis, Oregon State University, Corvallis, USA, 2010. [cytowanie na str. 27] [4] M. Martina, G. Masera, S. Papaharalabos, P. T. Mathiopoulos, and F. Gioulekas. On Practical Implementation and Generalizations of max∗ Operator for Turbo and LDPC Decoders. IEEE Transactions on Instrumentation and Measurement, 1(99):1–8, 2011. [cytowanie na str. 27] [5] S. Papaharalabos, M. Sybis, P. Tyczka, and P. T. Mathiopoulos. Modified Log-MAP Algorithm for Simplified Decoding of Turbo and Turbo TCM Codes. In Proc. of 69th IEEE Vehicular Technology Conference (VTC 2009 Spring), pages 1–5, Barcelona, Hiszpania, 2009. [cytowanie na str. 11] [6] S. Papaharalabos, M. Sybis, P. Tyczka, and P. T. Mathiopoulos. Novel Generalized max* Approximation Method for Simplified Decoding of Turbo and TTCM Codes. Artykuł zgłoszony do Wiley Wireless Personal Communications, 2011. [cytowanie na str. 11] [7] S. Papaharalabos, M. Sybis, P. Tyczka, P. T. Mathiopoulos, G. Masera, and M. Martina. Reduced Complexity Algorithms for Near-Optimal Decoding of Turbo and Turbo TCM Codes. In Proc. of NEWCOM++ – ACoRN Joint Workshop, Barcelona, Hiszpania, 2009. [cytowanie na str. 5, 7] [8] W. Rudin. Real and Complex Analysis. McGraw-Hill, 1987. [cytowanie na str. 17] [9] L. Schmalen. Iterative Source-Channel Decoding: Design and Optimization for Heterogeneous Networks. PhD thesis, RWTH Aachen, 2011. [cytowanie na str. 27] [10] K.-T. Shr, Y.-C. Chang, C.-Y. Lin, and Y.-H. Huang. A 6.6pJ/bit/iter Radix-16 Modified Log-MAP Decoder using Two-Stage ACS Architecture. In Proc. of IEEE Asian Solid-State Circuits Conference (A-SSCC 2011), Jeju, Korea, 2011. [cytowanie na str. 27] 28 BIBLIOGRAFIA 29 [11] M. Sybis. Modified Log-MAP Algorithm for Turbo TCM Codes. In Proc. of 2nd International Interdisciplinary Conference of Young Scientists, pages 212–216, Poznań, 2009. [cytowanie na str. 14] [12] M. Sybis. Zmodyfikowany Algorytm Log-MAP dla Turbo TCM. Przegląd Telekomunikacyjny, 82(6):261–264, 2009. [cytowanie na str. 14] [13] M. Sybis. Chebyshev Inequality Based max* Approximation for Reduced Complexity Decoding of Turbo TCM. In Proc. of 6th International Symposium on Turbo Codes and Iterative Information Processing (ISTC 2010), pages 265–269, Brest, Francja, 2010. [cytowanie na str. 11, 14] [14] M. Sybis. Log-MAP Equivalent Chebyshev Inequality Based Algorithm for Turbo TCM Decoding. Electronics Letters, 47(18):1049–1050, 2011. [cytowanie na str. 14] [15] M. Sybis, P. Tyczka, S. Papaharalabos, and P. T. Mathiopoulos. Reduced-Complexity Algorithms for Near-Optimal Decoding of Turbo TCM Codes. Electronics Letters, 45(5):278– 279, 2009. [cytowanie na str. 5, 9] [16] M. Sybis, P. Tyczka, S. Papaharalabos, and P. T. Mathiopoulos. Novel max* Approximation for Log-MAP Decoding and its Application to Turbo Codes and Turbo TCM. Przegląd Telekomunikacyjny, 83(6):424–427, 2010. [cytowanie na str. 17] [17] M. Sybis, P. Tyczka, S. Papaharalabos, and P. T. Mathiopoulos. Simplified Log-MAP Decoding with max* Approximation Based on the Jensen Inequality. In Proc. of 21st Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC 2010), pages 283–287, Istanbul, Turcja, 2010. [cytowanie na str. 17, 18] [18] M. Sybis, P. Tyczka, S. Papaharalabos, P. T. Mathiopoulos, G. Masera, and M. Martina. Log-MAP Decoding of Turbo Codes and Turbo Trellis-Coded Modulation Using PiecewiseLinear Approximations of the max* Operator. Electronics and Telecommunications Quarterly, 55(3):433–448, 2009. [cytowanie na str. 5, 9]