\chapter{Implementácia v Matlabe} \label{app}

Prvou časťou bakalárskej práce bolo teoreticky popísať princípi a vlastnosti turbo kódov a tiež systémy, ktoré tieto kódy využívajú. Úlohou druhej praktickej časti je vytvorenie programu a následná simulácia vytvorených systémov za účelom overenia ich vlastností a výkonnosti. Pre tieto potreby bol vytvorený program v~programovom prostredí Matlab verzie 2016a. 

Program je možné rozdeliť do troch hlavných GUI (Graphical User Interface). Prvú časť tvorí hlavné menu aplikácie, funkcia \verb+Application.m+. Druhou je menu pre jednotlivé systémy, funkcie \verb+LTE_App.m+, \verb+WiMAX_App.m+ a \verb+CCSDS_App.m+. Poslednú časť tvorí menu pre generovanie grafov z~uložených súborov, funkcia \verb+Graf_App.m+. V~nasledujúcom texte bude taktiež popísaný proces kódovania a dekódovania, ktoré sú využívané v~týchto funkciách. Ďalej budú popísané všetky funkcie, ktoré sa na týchto procesoch podieľajú, ich funkcia, vstupné a výstupné premenné. Keďže všetky tri systémy využívajú funkcie, ktorých význam je rovnaký, avšak sú upravené pre daný systém, budú tieto funkcie popísané len pre systém LTE.   

\section{Hlavné menu}
Po spustení aplikácie sa zobrazí hlavne menu, ktoré je zobrazené na obr.\,\ref{fig:hlmenu}. V menu je možné stlačením tlačítka zvoliť systém, ktorý chceme simulovať, alebo vybrať štvrtú možnosť a to generovanie grafov z~uložených súborov. Po vybratí jednej z~možností sa hlavné menu automaticky zatvorí a otvorí sa zvolené menu.    

\begin{figure}[ht]%
	\centering
	\includegraphics[width=1\textwidth]{Hlavne_menu}%
	\caption{Hlavné menu aplikácie.}%
	\label{fig:hlmenu}%
\end{figure}
\FloatBarrier

\section{Systémové menu}

Na obr.\,\ref{fig:LTE_menu} je zobrazené menu LTE systému, ktoré sa zobrazí po zvolení LTE systému v~hlavnom menu. Ostatné systémy majú rovnaké polia pre zadávanie parametrov simulácie a ich menu sa líši len vizuálne, preto budú jednotlivé polia popísané len pre LTE. 

Na vrchu menu v~riadku označenom \textit{Eb/N0} sa nachádzajú tri polia, v~ktorých je možné zadať hodnoty odstupu signál/šum pre, ktoré bude simulácia prebiehať. Prvé pole určuje počiatočnú hodnotu, v~ktorej simulácia začne, naopak druhé pole určuje konečnú hodnotu, kde simulácia skončí. V~poslednom treťom poli sa zadáva hodnota kroku medzi minimálnou a maximálnou hodnotou, čím sa určujú ďalšie hodnoty pre simuláciu. S~nastavením menšieho kroku dostávame presnejšie grafy, avšak čas simulácie sa výrazne predĺži. V~druhom riadku s~názvom \textit{Data} sa zadáva počet generovaných dát (bitov) pre kodér. S~väčším počtom generovaných dát je simulácia presnejšia no opäť sa čas simulácie predlžuje. Tretí riadok s~názvom \textit{Blok} obsahuje popupmenu, kde je možné zvoliť povolené veľkosti bloku dát, do ktorého sa rozdelia generované dáta pri kódovaní a následnom dekódovaní. Nasledujúci riadok má názov \textit{Algoritmus}, taktiež ho tvorí popupmenu s~možnosťami výberu dekódovacieho algoritmu. Riadok s~názvom \textit{Rate} špecifikuje, aký kódový pomer bude~použitý v~kodéri. To znamená, že koľko výstupných bitov bude pripadať na jeden vstupný bit. Posledný riadok má názov \textit{Iterácie} a určuje počet dekódovacích iterácií dekodéra. V~tomto riadku sa tiež nachádza aj checkbox, ktorý v~prípade zaškrtnutia zobrazí výsledky všetkých iterácií v~opačnom prípade, iba výsledok poslednej. Na spodku menu sa nachádzajú tri tlačítka \textit{Simulovat}, \textit{Ulozit} a \textit{Zahodit}. Po spustení menu pre vybraný systém je aktívne len tlačítko \textit{Simulovat} a slúži na spustenie simulácie. Akonáhle je simulácia dokončená a zobrazí sa informatívny graf výsledkov simulácie aktivujú sa tlačítka \textit{Ulozit} a \textit{Zahodit}. Pomocou nich je možné výsledky simulácie buď uložiť do txt súboru alebo vymazať. Užívateľ si musí vybrať jednu z~možností, aby mohol pokračovať na ďalšiu simuláciu, pretože v~tomto momente je tlačítko \textit{Simulovat} neaktívne, ako aj všetky polia, takže nie je možne meniť parametre simulácie.

V~prípade zatvorenia menu pre určitý systém sa automaticky otvorí hlavne menu a opäť je možné zvoliť iný systém, alebo prejsť do menu pre generovanie grafov, ktoré je popísane v~nasledujúcej časti kapitoly.

\begin{figure}[ht]%
	\centering
	\includegraphics[width=0.55\textwidth]{LTE_menu}%
	\caption{Menu LTE systému.}%
	\label{fig:LTE_menu}%
\end{figure}
\FloatBarrier

\section{Menu generovanie grafov}

Menu generovanie grafov slúži na vytvorenie grafu z~uložených súborov. Do tohoto menu sa môžeme dostať z~hlavného menu po kliknutí na tlačítko \textit{Graf} a je zobrazené na obr.\,\ref{fig:graf_menu}.

V~menu je postupne možné vybrať až šesť súborov, z~ktorých sa do jednotlivých polí načítajú údaje o simulácii. Nie je potrebné nahrať všetkých šesť súborov, záleží len na užívateľovi, aký graf chce vygenerovať. Generátor povoľuje zvoliť súbory rôznych systémov, dekódovacích algoritmov, alebo blokov dát, avšak vo všetkých simuláciách sa musí zhodovať minimálna hodnota, maximálna hodnota a krok Eb/N0. Po načítaní súboru a zobrazení informácií sa aktivujú checkboxy v~riadku \textit{Iteracie}, kde je možné zaškrtnutím zvoliť iterácie, ktoré sa zobrazia v~grafe. Aktivované sú len checkboxy tých iterácií, pre ktoré bola simulácia vykonaná. Po zvolení potrebných súborov a vybratí informácií pre graf kliknutím na tlačítko \textit{Generovanie} graf vygenerujeme. Tlačítkom \textit{Reset} je možné resetovať všetky polia a nahraté súbory.

Ako už bolo spomínané pri systémovom menu aj tu sa po zatvorení menu automaticky zobrazí hlavne menu.

\begin{figure}[ht]%
	\centering
	\includegraphics[width=1\textwidth]{Graf_menu}%
	\caption{Menu generovanie grafov.}%
	\label{fig:graf_menu}%
\end{figure}
\FloatBarrier

\section{Blok kódovania}
Proces simulácie by sme mohli rozdeliť do dvoch hlavných blokov, bloku kódovanie a bloku dekódovania. Obidva tieto bloky využívajú jednu hlavnú funkciu \verb+LTE.m+ a navzájom na seba nadväzujú. V~tejto časti textu si popíšeme blok kódovania, ktorého vývojový diagram je zobrazený na obr.\,\ref{fig:koddia} a funkcie, ktoré sú v~ňom využívané.

	Ako už bolo spomenuté hlavná funkcia, ktorá sa zavolá po stlačení tlačítka \textit{Simulovat} je funkcia \verb+LTE.m+. Tejto funkcii sú predávané všetky parametre simulácie a sú volané ďalšie funkcie, ktoré sa podieľajú na kódovaní. Vstupné premenné funkcii \verb+LTE.m+ sú \verb+data+, \verb+blok+, \verb+it+, \verb+it_bool+, \verb+EbN0db+, \verb+rate+ a \verb+alg+. Premenná \verb+data+ určuje množstvo bitov, ktoré budú generované pre kodér. Druhá premenná \verb+blok+ definuje povolené hodnoty blokov dát, čiže veľkosť blokov pre kodér, do ktorých budú rozdelené generované dáta z~premennej \verb+data+. Ďalšími premennými sú, premenná \verb+it+ určujúca počet dekódovacích iterácií dekódera, premenná \verb+it_bool+ určujúca, ktoré iterácie budú zobrazené v~grafe a premenná \verb+EbN0db+, čiže hodnoty odstupu signál-šum v~ktorých bude simulácia prebiehať. Posledné dve premenné sú \verb+rate+, kódový pomer kodéra a premenná \verb+alg+, ktorá špecifikuje algoritmus použitý pri dekódovaní. Výstupom tejto funkcie je premenná \verb+out1+, chybovosť BER dekódovaných dát a premenná \verb+out2+, ktorá určuje chybovosť BER nekódovaných dát. Vygenerované dáta sú predané funkcii \verb+LTE_Kod.m+, ktorá zabezpečuje rozdelenie dát do blokov, zúženie a multiplexovanie pre prenosový kanál. Táto funkcia využíva funkciu \verb+LTE_Koder.m+, v~ktorej prebieha samotné kódovanie pre jednotlivé kodéry a má vstupné premenné \verb+data+ a \verb+c+. V~prvej premennej sú funkcii predané generované dáta, rozdelené do požadovaných blokov, ktoré budú zakódované a druhá určuje poradie kodéra. Toto poradie zabraňuje pridávaniu ukončovacích bitov v~obidvoch kodéroch. Funkcia \verb+LTE_Kod.m+ má tri vstupné premenné. Vygenerované dáta \verb+data+, veľkosť bloku \verb+b+ a kódový pomer kodéra \verb+rate+. Výstupom tejto funkcie sú multiplexované dáta z~obidvoch kodérov, označené ako \verb+out+. Tieto dáta vstupujú do funkcii \verb+PreKanAWGN.m+ označené ako \verb+data+ spolu s~premennou \verb+EbN0db+, určujúcou hodnotu odstupu signál/šum a premennou \verb+rate+, ktorá ma rovnaký význam ako v~predchádzajúcich funkciách. Vo funkcii \verb+PreKanAWGN.m+ prebieha simulovanie AWGN kanála a tým pridanie chýb do kódovaných dát. Výstupom sú štyri premenné \verb+L_c+ definujúca spoľahlivosť prenosového kanála, \verb+ber+ chybovosť prenesených dát, \verb+chyby+ počet chýb, ktoré boli pridané do kódovaných dát a premenná \verb+out+, samotné prenesené dáta.
		
		Táto funkcia ukončuje blok kódovania. Proces simulácie pokračuje ďalej vo funkcii \verb+LTE.m+, avšak sa na ňom podieľajú ďalšie funkcie, ktoré sú popísané v~nasledujúcej časti kapitoly.

\begin{figure}[ht]%
	\centering
	\includegraphics[width=0.50\textwidth]{KodDia}%
	\caption{Vývojový diagram kódovania.}%
	\label{fig:koddia}%
\end{figure} 
\FloatBarrier

\section{Blok dekódovania}
V~tejto časti textu je popísaný proces dekódovanie a funkcie, ktoré sú pri ňom využívané. Vývojový diagram procesu dekódovania je na obr.\,\ref{fig:dekdia}. 
  
Proces simulácie prebieha ďalej vo funkcii \verb+LTE.m+ a výstup funkcii \verb+PreKanAWGN.m+, čiže prenesené dáta sú predané funkcii \verb+LTE_Blok.m+, ktorá zabezpečuje rozdelenie dát do požadovaných blokov pre dekódovanie. Vstupmi funkcie sú prenesené dáta \verb+data+, premenná \verb+blok+ určujúca veľkosť bloku, do ktorého budú dáta rozdelené a kódový pomer kodéra \verb+rate+. Na výstupe dostaneme dáta rozdelené do blok v~premennej \verb+out+. Tieto bloky sú postupne predávané na vstup funkcie \verb+LTE_Dem.m+ ako premenná \verb+data+. Funkcia \verb+LTE_Dem.m+ slúži na demultiplexovanie blokov do hodnôt reprezentujúcich výstupy jednotlivých kodérov, ktoré sú predávané na výstup \verb+out+. Táto funkcia ma ešte jednu vstupnú premennú a tou je \verb+rate+, čiže kódový pomer. Akonáhle sú dáta rozdelené do blokov a demultiplexované pre dekodéry je na rade proces samotného dekódovania. Tento proces zabezpečuje funkcia \verb+LTE_Dek.m+ na vstup, ktorej prichádzajú dáta pre dekodéry \verb+data+, ďalej premenná \verb+L_c+ určujúca spoľahlivosť prenosového kanála, premenná \verb+it+ čiže počet dekódovacích iterácii a ako posledná premenná \verb+alg+ definujúca algoritmus, ktorý bude použitý pri dekódovaní. Táto funkcia využíva funkciu \verb+LTE_Trellis.m+, ktorá slúži na prevod vytváracích polynómov kodéra do trellis diagramu a má jednu vstupnú premennú \verb+g+, čo sú spomínané vytváracie polynómy v~binárnom tvare. Na výstupe funkcie dostávame nasledujúce stavy kodéra v~trellis diagrame \verb+naStav+, nasledujúce výstypy \verb+naOut+, predchádzajúce stavy \verb+preStav+ a poslednú premennú predchádzajúce výstupy \verb+preOut+. V~závislosti aký dekódovací algoritmus je zvolený sa použije jedna z~nasledujúcich funkcií \verb+LTE_SOVA.m+, \verb+LTE_logMAP.m+ alebo \verb+LTE_MAXlogMAP.m+. Jednotlivé funkcie reprezentujú rôzne dekódovacie algoritmy, avšak na vstup každej sú predané rovnaké premenné. Z~tohoto dôvodu bude popísané len funkcia \verb+LTE_SOVA.m+ na vstup, ktorej prichádzajú výstupné premenné funkcie \verb+LTE_Trellis.m+, čiže \verb+naOut+, \verb+naStav+, \verb+preOut+ a \verb+preStav+. Ďalšími vstupnými premennými sú premenná \verb+data+, ktorá určuje dáta pre dekódovanie, premenná \verb+g+ definujúca vytváracie polynómy kodéra, premenná \verb+L_uk+ určujúca a-priori pravdepodobnosť z~predchádzajúceho dekódera a premenná \verb+index+ určujúca poradie dekódera. Na výstupe týchto funkcií dostávame a-posteriori pravdepodobnosť \verb+out+, z~ktorej následne vo funkcii \verb+LTE_Dek.m+ vypočítame a-priori pravdepodobnosť pre ďalší dekóder, alebo pri dosiahnutí poslednej dekódovacej iterácii tvrdý výstup dekodéra, z~ktorého sa určí dekódovaná výstupná bitová postupnosť a je predaná na výstup funkcie ako premenná \verb+out+.

V~ďalšom kroku je dekódovana bitová postupnosť porovnaná s~generovanými dátami a tým určená chybovosť BER. Následne je vygenerovaný informatívny graf a podľa voľby užívateľa sú dáta buď uložené, alebo vymazané.  

\begin{figure}[ht]%
	\centering
	\includegraphics[width=0.4\textwidth]{DekDia}%
	\caption{Vývojový diagram dekódovania.}%
	\label{fig:dekdia}%
\end{figure}   
\FloatBarrier

\chapter{Simulácie} \label{simulacie}

\section{Úvod}
Táto kapitola obsahuje výsledky simulácií vykonaných pre systémy LTE, CCSDS a WiMAX. Vlastnosti týchto systémov sú popísané v kap.\,\ref{LTE}, \ref{CCSDS}, \ref{WiMAX}. Kapitola je rozdelená do piatich častí, vplyv veľkosti bloku na výkonnosť turbo kódov, vplyv zúženia, vplyv dekódovacieho algoritmu, vplyv počtu iterácií a porovnanie výkonnosti simulovaných systémov. Vo všetkých simuláciách bol využívaný AWGN prenosový kanál, BPSK modulácia a objem generovaných dát 1\,000\,000. Taktiež vo všetkých grafických závislostiach je zobrazená aj chybovosť nekódovaných dát, aby bolo možné porovnať ziskovosť turbo kódov voči nekódovaným dátam. Výkonnosť turbo kódov môže byť ovplyvnená mnohými parametrami. Vo vykonaných simuláciách sme sa zamerali na nasledujúce parametre a ich vplyv:
\begin{itemize}
\item veľkosť bloku dát
\item	zúženie
\item počet dekódovacích iterácií
\item dekódovací algoritmus
\item porovnanie výkonnosti systémov
\end{itemize}

\section{Vplyv veľkosti bloku}
V~tab.\,\ref{tab:lte_blok_para} sú uvedené parametre simulácií turbo kódov pre jednotlivé systémy. Veľkosti blokov dát boli volené pre každý systém samostatne a to z~hodnôt, ktoré využívajú.  
\begin{table}[ht]
\centering
\caption{Parametre simulácií - vplyvu veľkosti bloku dát}
	\begin{tabular}{|c|c|c|c|}
	\hline
	Kodér & LTE & CCSDS & WiMAX \\ \hline
	Vytváracie polynómy & 13, 15 & 23, 33, 25, 37 & 15, 13, 11 \\ \hline
	Prekladač & LTE & CCSDS & WiMAX \\ \hline
	Gen. dáta & 1\,000\,000 & 1\,000\,000 & 1\,000\,000 \\ \hline
	Blok dát & \makecell{40, 408, 1088,\\3136, 6144} & \makecell{1784, 3568,\\7136, 6144} & \makecell{12, 72, 192,\\576, 1152} \\ \hline
	Zúženie & 1/3 & 1/6 & 1/5 \\ \hline
	Dekódovací algoritmus & SOVA & SOVA & SOVA \\ \hline
	Počet iterácií & 4 & 4 & 4 \\ \hline
	\end{tabular}
	\label{tab:lte_blok_para}
\end{table}
\FloatBarrier

Grafická závisloť na obr.\,\ref{fig:LTE_blok} zobrazuje výkonnosť turbo kódov v~LTE systéme pre rôzne veľkosti blokov dát. Minimálna hodnota bloku dát je 40 bitov, naopak maximálna 6144 bitov. Z~grafu je zrejmé, že čím bola veľkosť bloku dát väčšia, tým sa zvyšovala aj výkonnosť turbo kódov. Pri maximálnej a minimálnej hodnote bloku a pri chybovosti BER \(10^{-4}\), sa dostávame ku kódovému zisku až okolo 3\,dB. Ak porovnáme rozdiel v~kódovom zisku medzi dvoma minimálnymi hodnotami bloku dát, ktorá bola približne 2,2\,dB a dvoma maximálnymi, približne 0,15\,dB zisťuje, že pri menších hodnotách bloku dát dostávame oveľa väčší kódový zisk.
\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{LTE_blok}%
	\caption{Výkonnosť LTE v závislosti na veľkosti bloku.}%
	\label{fig:LTE_blok}%
\end{figure}
\FloatBarrier

Druhý systém, na ktorý sa pozrieme je systém CCSDS a vplyv veľkosti bloku dát na turbo kód využívaný v~tomto systéme. Systém využíva štyri veľkosti bloku dát a grafická závislosť ich vplyvu je zobrazená na obr.\,\ref{fig:CCSDS_blok}. Z~grafu je na prvý pohľad zrejmé, že pri systéme CCSDS tento parameter nehrá rozhodujúcu úlohu. Ziskovosť medzi maximálnou hodnotou veľkosti bloku dát \(8920\) a minimálnou hodnotou \(1784\) pri BER \(10^{-4}\), bola približne 0,1\,dB. Dokonca pri dvoch zostávajúcich veľkostiach blokov dát vidíme prekrývajúce sa krivky, čo značí totožné hodnoty chybovosti BER.
\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{CCSDS_blok}%
	\caption{Výkonnosť CCSDS v závislosti na veľkosti bloku.}%
	\label{fig:CCSDS_blok}%
\end{figure}
\FloatBarrier

Posledným testovaným systémom je systém WiMAX. Pre porovnanie výkonnosti turbo kódov v~tomto systéme boli vybraté štyri veľkosti blokov dát a ich grafická závislosť je zobrazená na obr.\,\ref{fig:WiMAX_blok}. Kódový zisk medzi maximálnou hodnotou bloku dát 1152 a minimálnou hodnotou 12, pri chybovosti BER \(10^{-3}\) bola približne 2,65\,dB. Opäť ako v~prípade systému LTE sme väčšiu ziskovosť turbo kódov dostali pri menších dĺžkach blokov dát. Medzi dvoma najmenšími hodnotami 12 a 72 bol kódový zisk okolo 1,5\,dB a naopak pri dvoch najväčších testovaných dĺžkach 1152 a 576, boli hodnoty chybovosti takmer totožné. 

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{WiMAX_blok}%
	\caption{Výkonnosť WiMAX v závislosti na veľkosti bloku.}%
	\label{fig:WiMAX_blok}%
\end{figure}
\FloatBarrier

Z~výsledkov simulácií môžeme vidieť, že pri všetkých troch systémoch sme dosiahli výrazne vyššiu výkonnosť turbo kódov pri vyšších dĺžkach blokov dát. Ovšem to neznamená, že využívanie menších blokov dát je nevýhodné. Ak zoberieme do úvahy, že s~narastajúcou dĺžkou blokov dát rastie aj čas potrebný na dekódovanie týchto blokov, sú pre nás kratšie bloky výhodnejšie vo viacerých prípadoch, ako napr. real-time prenos zvuku, alebo videa a to aj za cenu vyššej chybovosti. Naopak, pri prenose dátových súborov vyžadujeme čo najnižšiu chybovosť a rýchlosť dekódovania nie je rozhodujúca. Z~tohoto dôvodu sú pre tento typ prenosu výhodnejšie väčšie dĺžky blokov dát.

\newpage
\section{Vplyv zúženia}
Tab.\,\ref{tab:lte_zuz_para} obsahuje parametre simulácií turbo kódov, ktoré boli použité pri overovaní vplyvu zúženia na jednotlive systémy. Problematika zúženia je vysvetlená v~kap.\,\ref{zuzovanie}.

\begin{table}[ht]
\centering
\caption{Parametre simulácií - vplyvu zúženia}
	\begin{tabular}{|c|c|c|c|}
	\hline
	Kodér & LTE & CCSDS & WiMAX \\ \hline
	Vytváracie polynómy & 13, 15 & 23, 33, 25, 37 & 15, 13, 11 \\ \hline
	Prekladač & LTE & CCSDS & WiMAX \\ \hline
	Gen. dáta & 1\,000\,000 & 1\,000\,000 & 1\,000\,000 \\ \hline
	Blok dát & 1088 & 8920 & 1152 \\ \hline
	Zúženie & 1/3, 1/2 & \makecell{1/6, 1/4, 1/3,\\ 1/2} & 1/5, 1/3, 1/2 \\ \hline
	Dekódovací algoritmus & SOVA & SOVA & SOVA \\ \hline
	Počet iterácií & 6 & 6 & 6 \\ \hline
	\end{tabular}
	\label{tab:lte_zuz_para}
\end{table}
\FloatBarrier

V~systéme LTE sa využívajú dva kódové pomery 1/3 a 1/2. Na obr.\,\ref{fig:LTE_zuze} môžeme vidieť vplyv zúženia na výkonnosť turbo kódov v~LTE systému. V~prípade využitia zúženia je výkonnosť turbo kódov nižšia v~porovnaní s~prípadom, kde bol použití základný kódový pomer. Pri hodnote BER \(10^{-3}\) získame približne 0,7\,dB kódový zisk oproti turbo kódu, ktorý použil zúženie na kódový pomer 1/2.

Systém CCSDS obsahuje viacej možností voľby kódového pomeru oproti systému LTE, ich vplyv môžeme vidieť na obr.\,\ref{fig:CCSDS_zuze}. Voľbou kódového pomeru dokážeme ovplyvniť výkonnosť CCSDS systému omnoho viac, ako veľkosťou bloku dát, čo bolo popísane v~predchádzajúcej časti tejto kapitoly. Kódový zisk medzi kódovým pomerom 1/6 a 1/2 pri BER \(10^{-3}\) bol približne 1\,dB. Ďalej z~grafu môžeme usúdiť, že hodnota kódového zisku medzi dvoma nasledujúcimi kódovými pomermi nie je rovnaká. Medzi maximálnym kódovým pomerom 1/6 a nasledujúcou hodnotou 1/4 získavame pri chybovosti BER \(10^{-4}\) okolo 0,15\,dB, pri rovnakej chybovosti, avšak medzi hodnotou 1/3 a minimálnou hodnotou 1/2 je kódový zisk 
približne 0,5\,dB.

Systém WiMAX využíva tri základné kódové pomery, ktorých hodnoty sú uvedené v~tab.\,\ref{tab:lte_zuz_para} a ich vplyv na výkonnosť turbo kódov v~grafickej závislosti na obr.\,\ref{fig:WiMAX_zuze}. Kódový zisk dosiahnutý medzi nezúženými dátami s~kódovým pomerom 1/5 a medzi maximálnym zúžením o hodnote 1/2 sa pri chybovosti BER \(10^{-4}\) pohyboval okolo 1\,dB. 

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{LTE_zuzenie}%
	\caption{Výkonnosť LTE v závislosti na zúžení.}%
	\label{fig:LTE_zuze}%
\end{figure}
\FloatBarrier

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{CCSDS_zuzenie}%
	\caption{Výkonnosť CCSDS v závislosti na zúžení.}%
	\label{fig:CCSDS_zuze}%
\end{figure}
\FloatBarrier

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{WiMAX_zuzenie}%
	\caption{Výkonnosť WiMAX v závislosti na zúžení.}%
	\label{fig:WiMAX_zuze}%
\end{figure}
\FloatBarrier

Využívanie zúženia pre nás môže byť výhodné v~prípade, kedy chceme znížiť dátový tok a pomocou zúženia môžeme upravovať koľko paritných bitov bude odosielaných cez prenosový kanál. Ďalšou vlastnosťou zúženia je, že nemá vplyv na rýchlosť dekódovania, pretože neprenesené paritné bity sú v dekódery nahradené 0 a dekóduje sa rovnaký počet bitov.

\section{Vplyv dekódovacieho algoritmu}
Parametre simulácií pre jednotlivé systémy môžeme vidieť v~tab.\,\ref{tab:lte_alg_para}. Popis algoritmov využívaných pri týchto simuláciách nájdeme v~kap.\,\ref{sova} a kap.\,\ref{map}.
\begin{table}[ht]
\centering
\caption{Parametre simulácií - vplyvu dekódovacieho algoritmu}
	\begin{tabular}{|c|c|c|c|}
	\hline
	Kodér & LTE & CCSDS & WiMAX \\ \hline
	Vytváracie polynómy & 13, 15 & 23, 33, 25, 37 & 15, 13, 11 \\ \hline
	Prekladač & LTE & CCSDS & WiMAX \\ \hline
	Gen. dáta & 1\,000\,000 & 1\,000\,000 & 1\,000\,000 \\ \hline
	Blok dát & 1088 & 8920 & 1152\\ \hline
	Zúženie & 1/3 & 1/6 & 1/5 \\ \hline
	Dekódovací algoritmus & \makecell{SOVA, log-MAP,\\MAX-log-MAP} & \makecell{SOVA,\\MAX-log-MAP} & \makecell{SOVA, log-MAP,\\MAX-log-MAP} \\ \hline
	Počet iterácií & 1, 6 & 1, 6 & 1, 6 \\ \hline
	\end{tabular}
	\label{tab:lte_alg_para}
\end{table}
\FloatBarrier

Obr.\,\ref{fig:LTE_alg} zobrazuje grafickú závislosť výkonnosti turbo kódov v~LTE systéme na základe použitého dekódovacieho algoritmu. Z~grafickej závislosti vidíme, že najväčšiu výkonnosť sme dosiahli pri algoritme log-MAP a naopak najmenšiu pri algoritme SOVA. Pre porovnanie sú v~grafe vynesené výsledky pre rôzne iterácie a z~tohoto môžeme usúdiť, že pri väčšom počte iterácií je kódový zisk algoritmu log-MAP ešte väčší. Kým pri porovnaní výkonnosti po prvých iteráciách získavame kódový zisk len okolo 0,25\,dB pri chybovosti BER \(10^{-4}\) oproti algoritmu SOVA, tak pri tej istej chybovosti po 6 iterácii sa kódový zisk zvýši až štyri krát na približne 1\,dB. Výkonnosť algoritmu MAX-log-MAP sa pohybovala približne v~strede medzi dvoma spomínanými algoritmami.

Pre porovnanie vplyvu dekódovacieho algoritmu na výkonnosť turbo kódov využívaných v~systéme CCSDS sme použili dva algoritmy a to algoritmus SOVA a algoritmus MAX-log-MAP. Z~obr.\,\ref{fig:CCSDS_alg} zisťujeme, že pri dekódovacom algoritme MAX-log-MAP dosiahneme väčšiu výkonnosť. Ako pri predchádzajúcom systéme aj tu sú v~grafe uvedené výsledky pre rôzne iterácie a taktiež môžeme zhodnotiť, že s~narastajúcim počtom iterácii hrá voľba algoritmu výraznejšiu úlohu. Po prvej dekódovacej iterácii a pri BER \(10^{-3}\) získavame kódový zisk približne 0,2\,dB, pri rovnakej chybovosti po 6 iterácii narastá na približne 0,6\,dB. 

Grafická závislosť na obr.\,\ref{fig:WiMAX_alg} zobrazuje vplyv dekódovacieho algoritmu na výkonnosť turbo kódov v~systéme WiMAX. Rovnako ako pri systéme LTE boli použité tri dekódovacie algoritmy a aj v~tomto prípade dosiahol najväčšiu výkonnosť algoritmus log-MAP. Kódový zisk, ktorý dosiahol algoritmus log-MAP oproti algoritmu SOVA, bol približne 0,25\,dB pri prvej iterácii a 1\,dB pri iterácii šiestej. Obidve hodnoty boli odmerané pri chybovosti BER \(10^{-4}\). Porovnaním výsledkov z~výsledkami pri systéme LTE, by sme mohli skonštatovať, že vplyv dekódovacieho algoritmu na tieto systémy je takmer identický.

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{LTE_algoritmus}%
	\caption{Výkonnosť LTE v závislosti na použitom dekódovacom algoritme.}%
	\label{fig:LTE_alg}%
\end{figure}
\FloatBarrier

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{CCSDS_algoritmus}%
	\caption{Výkonnosť CCSDS v závislosti na použitom dekódovacom algoritme.}%
	\label{fig:CCSDS_alg}%
\end{figure}
\FloatBarrier

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{WiMAX_algoritmus}%
	\caption{Výkonnosť WiMAX v závislosti na použitom dekódovacom algoritme.}%
	\label{fig:WiMAX_alg}%
\end{figure}
\FloatBarrier

Ak porovnáme vykonané simulácie zisťujeme, že s~algoritmom log-MAP boli dosiahnuté najlepšie výsledky a naopak algoritmus SOVA sa javil ako najhoršia voľba. Z~algoritmom MAX-log-MAP sme dosiahli výkonnosť približne v~strede medzi spomínanými algoritmami. Za cenu nižšej chybovosti pri algoritme log-MAP dekódovanie turbo kódov z~rovnakými parametrami trvá výrazne dlhšie. Keďže je tento algoritmus výpočetne náročný pre potrebu rýchleho dekódovania môže byť algoritmus SOVA vhodnejšia voľba. Algoritmus MAX-log-MAP je podobne ako log-MAP odvodený z~algoritmu MAP, no jeho výhoda je menšia výpočetná náročnosť. Z~tohoto dôvodu ho môžeme považovať za strednú cestu a poskytuje určitý kompromis medzi algoritmom log-MAP a SOVA.

\section{Vplyv počtu dekódovacích iterácií}

Parametre simulácií vykonaných za účelom zistenia vplyvu počtu dekódovacích iterácii na výkonnosť turbo kódov sú zobrazene v tab.\,\ref{tab:lte_iter_para}.
\begin{table}[ht]
\centering
\caption{Parametre simulácií - vplyvu počtu dekódovacích iterácií}
	\begin{tabular}{|c|c|c|c|}
	\hline
	Kodér & LTE & CCSDS & WiMAX \\ \hline
	Vytváracie polynómy & 13, 15 & 23, 33, 25, 37 & 15, 13, 11 \\ \hline
	Prekladač & LTE & CCSDS & WiMAX \\ \hline
	Gen. dáta & 1\,000\,000 & 1\,000\,000 & 1\,000\,000 \\ \hline
	Blok dát & 6144 & 8920 & 1152 \\ \hline
	Zúženie & 1/3 & 1/6 & 1/5 \\ \hline
	Dekódovací algoritmus & SOVA & SOVA & SOVA \\ \hline
	Počet iterácií & \makecell{1, 2, 4,\\6, 8} & \makecell{1, 2, 4,\\6, 8} & \makecell{1, 2, 4,\\6, 8} \\ \hline
	\end{tabular}
	\label{tab:lte_iter_para}
\end{table}
\FloatBarrier

Z~grafickej závislosti na obr.\,\ref{fig:LTE_iter} môžeme vidieť výkonnosť turbo kódov v~systéme LTE po jednotlivých dekódovacích iteráciách. S~narastajúcim počtom dekódovacich iterácií rastie aj výkonnosť turbo kódov, ovšem medzi nasledujúcimi iteráciami nie je tento nárast rovnaký. Ak porovnáme kódový zisk medzi prvou a druhou iteráciou pri chybovosti BER \(10^{-4}\), ktorý bol približne 1,55\,dB a medzi iteráciami šesť a osem pri rovnakej chybovosti, zistíme, že pri posledných iteráciách bol zisk len okolo 0,1\,dB, teda niekoľkonásobne menší. 

Na obr.\,\ref{fig:CCSDS_iter} vidíme vplyv počtu dekódovacích iterácií na výkonnosť turbo kódov v~systéme CCSDS. Ako pri predchádzajúcom systéme LTE, tak aj tu môžeme konštatovať, že s~narastajúcim počtom iterácií stúpa výkonnosť turbo kódu a kódový zisk medzi dvoma nasledujúcimi iteráciami nie je rovnaký. Medzi prvou iteráciou a konečnou osmou iteráciou pri chybovosti BER \(10^{-5}\) získavame kódový zisk až 2,8\,dB. Pri vyšších iteráciách dostávame opäť niekoľko násobne menší kódový zisk. Medzi prvými dvoma iteráciami pri chybovosti BER \(10^{-5}\) je ziskovosť okolo 1,6\,dB a medzi poslednými len 0,1\,dB pri rovnakej chybovosti.

Posledný systém WiMAX a vplyv počtu dekódovacích iterácií na jeho výkonnosť je zobrazený na obr.\,\ref{fig:WiMAX_iter}. Ako sme očakávali výsledky sú podobné ako v~predchádzajúcich systémoch a počet iterácií má rovnaký vplyv. Pri chybovosti BER \(10^{-4}\), bol kódový zisk medzi prvou a poslednou iteráciou približne 1,75\,dB. 

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{LTE_iteracie}%
	\caption{Výkonnosť LTE v závislosti na počte dekódovacích iterácií.}%
	\label{fig:LTE_iter}%
\end{figure}
\FloatBarrier     

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{CCSDS_iteracie}%
	\caption{Výkonnosť CCSDS v závislosti na počte dekódovacích iterácií.}%
	\label{fig:CCSDS_iter}%
\end{figure}
\FloatBarrier

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{WiMAX_iteracie}%
	\caption{Výkonnosť WiMAX v závislosti na počte dekódovacích iterácií.}%
	\label{fig:WiMAX_iter}%
\end{figure}
\FloatBarrier

Ako už bolo spomenuté v~predchádzajúcom texte, v~prípade vyššieho počtu dekódovacích iterácií nedostávame rovnaký kódový zisk medzi dvoma nasledujúcimi iteráciami a čas dekódovania sa výrazne predlžuje. Z~tohoto dôvodu je potrebné urobiť kompromis medzi počtom dekódovacích iterácií, chybovosťou, ktorú potrebujeme dosiahnuť a časom, ktorý má dekódovanie trvať, pretože pre rôzny prenos sa môžu tieto požiadavky líšiť.  

\section{Porovnanie výkonnosti systémov}

V~tejto časti textu si porovnáme výkonnosť turbo kódov v~jednotlivých systémoch na základe použitých vytváracích polynómov kodéra. Parametre simulácií sú zobrazené v~tab.\,\ref{tab:sys_por}. Keďže každý zo systémov používa určité povolené dĺžky blokov dát nebolo možné tento parameter nastaviť na rovnakú hodnotu.

\begin{table}[ht]
\centering
\caption{Parametre simulácií - vplyv voľby systému}
	\begin{tabular}{|c|c|c|c|}
	\hline
	Kodér & LTE & CCSDS & WiMAX \\ \hline
	Vytváracie polynómy & 13, 15 & 23, 33, 25, 37 & 15, 13, 11 \\ \hline
	Prekladač & LTE & CCSDS & WiMAX \\ \hline
	Gen. dáta & 1\,000\,000 & 1\,000\,000 & 1\,000\,000 \\ \hline
	Blok dát & 1088 & 1784 & 1152 \\ \hline
	Zúženie & 1/3 & 1/3 & 1/3 \\ \hline
	Dekódovací algoritmus & SOVA & SOVA & SOVA \\ \hline
	Počet iterácií & 1, 6 & 1, 6 & 1, 6 \\ \hline
	\end{tabular}
	\label{tab:sys_por}
\end{table}
\FloatBarrier

Na obr.\,\ref{fig:Sys_por} vidíme zobrazené simulácie pre všetky systémy po prvej a šiestej dekódovacej iterácii. Z~grafickej závislosti môžeme usúdiť, že najväčšiu výkonnosť sme dostali pri systéme CCSDS. Výsledky môžu byť mierne skreslené, keďže tento systém má zvolený najväčší blok dát, ktorý je ovšem minimálnou hodnotou v~tomto systéme. Po prvej dekódovacej iterácii a pri chybovosti BER \(10^{-4}\) sme dostali kódový zisk 0,5\,dB oproti systému WiMAX, ktorý sa javil ako najmenej výkonný a približne 0,25\,dB oproti systému LTE. Po šiestej dekódovacej iterácii bola situácia podobná a systém CCSDS dosiahol 0,75\,dB kódový zisk oproti systému WiMAX a okolo 0,1\,dB oproti systému LTE. Ovšem môžeme si všimnúť, že systém CCSDS sa správal rozdielne oproti systémom LTE a WiMAX. Pri vyšších hodnotách chybovosti neplatilo tvrdenie, že systém CCSDS je najvýkonnejší. Ak sa pozrieme na hodnoty pri chybovosti BER \(10^{-3}\) mal systém CCSDS približne o 0,1\,dB menši kódový zisk ako systém LTE a dokonca pri chybovosti BER \(10^{-2}\) sa blížil k~výkonnosti systému WiMAX.

Z~týchto výsledkov môžeme usúdiť, že aj vytváracím polynómom výrazne ovplyvňuje výkonnosť turbo kódov. Keďže systém CCSDS používa väčšie hodnoty polynómov je to pravdepodobne hlavný dôvod získania väčšej výkonnosti turbo kódov v~tomto systéme. Ovšem nevýhodou môže byť veľkosť tabuliek pri výpočte metrík v~dekóderi, ktoré narastajú s~veľkosťou polynómov a môžu výrazne predĺžiť čas dekódovania.  

\begin{figure}[ht]%
	\centering
	\includegraphics[trim=0 55mm 0 55mm, clip, width=1\textwidth]{Sys_por}%
	\caption{Porovnanie výkonností testovaných systémov.}%
	\label{fig:Sys_por}%
\end{figure}
\FloatBarrier
