\documentclass[a4paper]{article}

\input{../common-preamble}
\input{../bmstu-preamble}
\input{../fancy-listings-preamble}

\numerationTop

\begin{document}
\fontsize{14pt}{14pt}\selectfont % Вполне очевидно, что мы хотим 14й шрифт, все его хотят
\thispagestyle{empty}
\makeBMSTUHeader

\makeReportTitle{лабораторной}{2}{Исследование беспроводной системы передачи информации при
ненадежных каналах связи}{Беспроводные технологии в информационных системах}{}{C.С. Баскаков}
\newpage
\thispagestyle{empty}
\tableofcontents
\newpage
\pagestyle{fancy}
\sloppy
\section{Цель}
Закрепление навыков работы с системой имитационного моделирования OMNeT++, построение имитационной модели беспроводной системы сбора данных и исследование ее характеристик при наличии потерь пакетов в условиях ненадежных каналов связи.

\section{Задачи}
\begin{enumerate}
\item Рассмотреть беспроводную систему с заданными параметрами;
\item В соответствии с индивидуальным вариантом из таблицы 3 вычислите требуемые значения параметров;
\item Внести все необходимые изменения в конфигурационный файл;
\item Выполнить моделирование и анализ модифицированной имитационной модели системы. На основе проведенного исследования сформулировать выводы.
\end{enumerate}

Отчёт должен включать
\begin{itemize}
\item расчеты параметров модифицированной системы согласно индивидуальному варианту;
\item описание модифицированной имитационной модели в виде «omnetpp.ini» файла;
\item результаты моделирования в виде обработанных графиков;
\item выводы.
\end{itemize}
\newpage
\section{Выполнение работы}
\subsection{Повторение моделирования}
В результате моделирования системы с исходными параметрами из методического материала были получены графики полностью совпадающие с графиками из методического материала, что говорит о полной повторяемости эксперимента. Графики приведены на рис. \hrf{pic:rpt-queue}, \hrf{pic:rpt-аrrival}, \hrf{pic:rpt-delay}, \hrf{pic:rpt-energy}.
\begin{figure}[H]
  \centering  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-noack-Queue.pdf}
    \caption{No Ack}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-5-Queue.pdf}
    \caption{With Ack R=5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-20-Queue.pdf}
    \caption{With Ack R=20}  \end{subfigure}
  \caption{Уровень наполнения очереди}  \label{pic:rpt-queue}
\end{figure}

\begin{figure}[H]
  \centering  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-noack-ArrivalRate.pdf}
    \caption{No Ack}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-5-ArrivalRate.pdf}
    \caption{With Ack R=5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-20-ArrivalRate.pdf}
    \caption{With Ack R=20}  \end{subfigure}
  \caption{Интентивность передачи пакетов}  \label{pic:rpt-аrrival}
\end{figure}

\begin{figure}[H]
  \centering  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-noack-Delay.pdf}
    \caption{No Ack}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-5-Delay.pdf}
    \caption{With Ack R=5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-20-Delay.pdf}
    \caption{With Ack R=20}  \end{subfigure}
  \caption{Задержка передачи пакета}  \label{pic:rpt-delay}
\end{figure}

\begin{figure}[H]
  \centering  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-noack-Energy.pdf}
    \caption{No Ack}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-5-Energy.pdf}
    \caption{With Ack R=5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ack-20-Energy.pdf}
    \caption{With Ack R=20}  \end{subfigure}
  \caption{Затраты энергии передатчика}  \label{pic:rpt-energy}
\end{figure}

\subsection{Индивидуальное задание}
В индивидуальном задании применялись следующие параметры моделирования:
\begin{table}[h!]
  \centering
  \begin{tabular}{|c|c|c|c|c|c|c|c|} 
    \hline
    $L_{app}$ байт & $T_s$ мс & $P_t$ мВт & $f_c$ МГц & $R$ кбит/с & $W$ кГц & $P_n$ дБм & $V$ м/с \\ [0.5ex] 
    \hline
    1000 & 25 & 90 & 3000 & 1500 & 300 & -69 & 2 \\
    \hline
  \end{tabular}
\end{table}
Для выполнения индивидуального задания необходимо осуществить перевод мВт в дБ по формуле:
\[10\lg_{10}(mW) = 10 \cdot \lg(90) = 19,54\text{dB}\]

\begin{figure}[H]
  \centering
  \includegraphics[width=8cm]{03-wtis-Lab-2-ind-error.pdf}
  \caption{Вероятность успешного приёма пакета, $\Psi$}
\end{figure}

В качестве начального расстояния было взято значение 10м (по графику вероятности успешного приёма очевидно, что на этом расстоянии связь устойчива, без ошибок), а для конечного 160м (также видно, что вероятность успешного приёма пакета на этом расстоянии однозначно равна нулю). Подсчёт радиуса окружности движения передатчика, а также расстояния между передатчиком и приёмником осуществляется по формулам
\[ d_0 = 10\text{м}; r = \frac{160 - d_0}{2} = 75\text{м}\]

Координаты центра окружности по которой будет перемещаться приёмник.
\[ c_x = 100 + d_0 + r = 185\text{м}\]

Время симуляции вычисляется по формуле и округляется в б\'{о}льшую сторону так, чтобы передатчик не только полностью завершил обход окружности, но и немного зашёл «на второй круг».
\[t_{sim} \geq \frac{2\pi r}{V} = 235,6 \approx 250, \text{сек} \]

Размер временн\'{о}го интервала для передачи пакетов также округляется до целого числа в б\'{о}льшую сторону.
\[ T_{slot} = 20Tb = \frac{20}{R} = 13,3 \approx 14 \text{мкс}\]

В симуляции также был заменён пороговый уровень ($P_{ED}$ = -64 дБм), поскольку он должен быть хотя бы на 5 дБм больше, чем $P_n$.

\begin{figure}[H]
  \centering
  \includegraphics[width=80mm]{03-wtis-Lab-2-ind-r=5-Prx.pdf}
  \caption{Мощность принятого сигнала}
\end{figure}

Система с заданными параметрами моделировалась для очереди с бесконечным размером и размером 5 пакетов. Результаты моделирования представлены на графиках рис.

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r5-Queue.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r20-Queue.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Уровень наполнения очереди, бесконечная очередь}  \label{pic:ind-queue-qi}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r5-Queue.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r20-Queue.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Уровень наполнения очереди, очередь из 5 пакетов}  \label{pic:ind-queue-q5}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r5-ArrivalRate.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r20-ArrivalRate.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Интентивность передачи пакетов, бесконечная очередь}  \label{pic:ind-arrival-qi}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r5-ArrivalRate.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r20-ArrivalRate.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Интентивность передачи пакетов, очередь из 5 пакетов}  \label{pic:ind-arrival-q5}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r5-Delay.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r20-Delay.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Задержка передачи пакета, бесконечная очередь}  \label{pic:ind-delay-qi}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r5-Delay.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r20-Delay.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Задержка передачи пакета, очередь из 5 пакетов}  \label{pic:ind-delay-q5}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r5-Energy.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q-1-r20-Energy.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Затраты энергии передатчика, бесконечная очередь}  \label{pic:ind-energy-qi}
\end{figure}

\begin{figure}[H]
  \centering  \hfill \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r5-Energy.pdf}
    \caption{Retries = 5}  \end{subfigure}
  \hfill  \begin{subfigure}[b]{0.32\textwidth}
    \centering    \includegraphics[width=\textwidth]{03-wtis-Lab-2-ind-q5-r20-Energy.pdf}
    \caption{Retries = 20}  \end{subfigure} \hfill
  \caption{Затраты энергии передатчика, очередь из 5 пакетов}  \label{pic:ind-energy-q5}
\end{figure}

По результатам моделирования возможно составить сравнительную таблицу.
\begin{table}[H]
  \centering
  \begin{tabular}{|c|p{40mm}|p{40mm}|p{40mm}|} 
    \hline
    Конфигурация & Число успешно полученных пакетов & Число полученных пакетов с ошибками & Затраты энергии передатчика (Дж) \\ [0.5ex] 
    \hline
    No ack                            & 6489  & 4850  & $-4,841$  \\ 
    \hline
    Ack, $N_{max} = 5$, $Q = \infty$  & 6292  & 27420 & $-14,359$ \\
    \hline
    Ack, $N_{max} = 20$, $Q = \infty$ & 10889 & 10400 & $-9,068$  \\
    \hline
    Ack, $N_{max} = 5$, $Q = 5$       & 6922  & 13883 & $-8,861$  \\
    \hline
    Ack, $N_{max} = 20$, $Q = 5$      & 6809  & 10083 & $-7,195$  \\
    \hline
  \end{tabular}
  \caption{Результаты моделирования}
\end{table}

\section{Выводы}
Если сравнить вариант системы без использования механизма передачи и вариант с подтверждением успешного приема и с ним при $N_{max} = 5$, то применение подтверждения уменьшило количество полученных пакетов, и энергозатраты выросли почти в 3 раза, из-за того, что значительная часть пакетов (первоначальных и повторных) было передано (соответственно, энергия потрачена), но не получено приемником в период отсутствия радиосвязи.

Если же сравнить варианты $N_{max} = 5$ и $N_{max} = 20$ при $Q = \infty$, то увеличение допустимого числа попыток позволило на 67\% повысить объем полученных данных и незначительно снизить энергозатраты.

Очевидно, система с бесконечной емкостью очереди нереализуема на практике, поэтому более корректно сравнивать при $Q = 5$. В этом случае, количество полученных пакетов увеличилось незначительно (всего на 6,5\%), но затраты энергии увеличились почти в 2 раза.

\newpage
\appendix
\setcounter{secnumdepth}{0}
\renewcommand{\thesubsection}{\Asbuk{subsection}}
\section{Файл настроек по заданию \code{omnetpp.ini}}
\label{app:inifile}
\lstinputlisting[style=JCodeStyle]{src/lab2-omnetpp.ini}

\end{document}
