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]

Podobne dokumenty