19. Turbokody. Szeregowe i równoległe. Iteracyjny dekoder dla
Transkrypt
19. Turbokody. Szeregowe i równoległe. Iteracyjny dekoder dla
19. Turbokody. Szeregowe i równoległe. Iteracyjny dekoder dla szeregowego turbokodu. Co to jest moduł SISO? Turbokody są dla nas bardzo interesujące... a przyczyną tego zainteresowania jest ich doskonała jakość różniąca się jedynie o dziesiąte części dB od granicy Shannona. Mamy równoległą oraz szeregową wersję turbokodera. 1. Równoległa wersja turbokodera: 2. Szeregowa wersja turbokodera: a) b) dla innej sprawności: (dodatkowe oznaczenia przydadzą się do zrozumienia zasady dekodowania) Na wykładzie poznaliśmy dekoder dla wersji szeregowej z rysunku 2b. 3. Dekoder Ogólna idea dekodowania: Wykorzystujemy informację o wiarygodności decyzji wstępnych uzyskiwanych w jednym dekoderze składowym do poprawy wiarygodności decyzji w drugim dekoderze składowym. Informacja z drugiego dekodera trafia ponownie do pierwszego dekodera, przyczyniając się do dalszej poprawy jakości decyzji. Proces ten odbywa się wielokrotnie w pętli zamkniętej podobnie jak w silniku z turbodoładowaniem, stąd nazwa turbokody dla tego rodzaju struktury kodowania. („Podstawy cyfrowych systemów telekomunikacyjnych”). P(u,I) są początkowo równe 1/4 jednak P(u,O) nie są już równe 1/4 , maja one inne wartości, uzyskaliśmy je analizując wykres kratowy w elemencie SISO. Moduł SISO - Soft Input Soft Output to dekoder z miękkim wyjściem i miękkim wyjściem. Do zrozumienia zasady działania modułu SISO przydaje się pomocniczy schematyczny rysunek (warto porównać oznaczenia z rysunkiem 2b): Moduł SISO wymaga na wejściu miękkich wartości, na wyjściu podobnie, zamiast zwracać 0 lub 1 podaje dokładniejszą informację, pozwalająca określić wiarygodność danej decyzji. W dekoderze turbokodu (rysunek 3.) sygnał odebrany jest podawany na pierwszy dekoder SISO (Inner SISO), który na swoim wyjściu zwraca miękką decyzję, jest ona wykorzystywana przez drugi dekoder SISO (Outer SISO), na jej podstawie podejmuje on decyzje, którą w kolejnym kroku, w kolejnej iteracji wykorzystuje pierwszy dekoder SISO (Inner SISO). W Inner SISO mamy wykres kratowy o odpowiedni dla Inner Encoder (R = 2/3), w Outer SISO jest wykres kratowy odpowiedni dla Outer Encoder (R = 1/2) Im więcej iteracji tym mniejsze prawdopodobieństwo błędu przy danym SNR, choć powyżej 10 iteracji zysk przestaje być znaczący. W module SISO zaimplementowany jest algorytm MAP, Max log MAP czy też SOVA. Na wykładzie zakładaliśmy że jest to algorytm Max log MAP.W algorytmie Max log MAP (omówionym w pytaniu 17) mieliśmy d2, tu zamiast d2 bierzemy iloczyn prawdopodobieństw P(u) i P(c) (zamiast dodawać odległości bierzemy iloczyn prawdopodobieństw), najlepsza ścieżka to ścieżka o najwyższym prawdopodobieństwie, zgodnie z zasadą algorytmu Max log MAP wykonujemy algorytm Viterbiego od strony lewej do prawej i od prawej do lewej... (szczegóły pytanie 17) wybieramy najbardziej prawdopodobną ścieżkę która w danym odstępie kraty odpowiada konkretnemu bitowi, bitom obliczamy w ten sposób P(00), P(01), P(10), P(11), normalizujemy do jedynki (bo suma prawdopodobieństw musi dać 1) i tak obliczamy P(u,I) Źródła: Podstawy cyfrowych systemów telekomunikacyjnych, wykłady ZTT