From 63981af99da344c4b736ca5740179ec24a3d6d2d Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 18 Dec 2021 16:00:10 +0100 Subject: Reorganize plots --- doc/thesis/Makefile | 10 +-- doc/thesis/chapters/implementation.tex | 56 ++++++---------- .../qpsk-sim-constellations-dynamic-exp-NLOS-5.tex | 75 --------------------- .../tikz/qpsk-sim-constellations-dynamic.tex | 75 --------------------- .../qpsk-sim-constellations-static-symb-NLOS.tex | 74 --------------------- .../qpsk-sim-constellations-static-symb-vec.tex | 74 --------------------- .../tikz/qpsk-sim-constellations-static-symb.tex | 74 --------------------- .../tikz/qpsk-sim-constellations-static.tex | 75 --------------------- .../qpsk-sim-constellations-without-effects.tex | 75 --------------------- .../figures/tikz/qpsk-simulations-dynamic.tex | 77 ++++++++++++++++++++++ .../figures/tikz/qpsk-simulations-static.tex | 77 ++++++++++++++++++++++ 11 files changed, 176 insertions(+), 566 deletions(-) delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5.tex delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic.tex delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-vec.tex delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-static.tex delete mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-without-effects.tex create mode 100644 doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex create mode 100644 doc/thesis/figures/tikz/qpsk-simulations-static.tex diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index db843b8..212d3e9 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -26,13 +26,8 @@ SOURCES := \ figures/tikz/ring-of-scattering-objects.tex \ figures/tikz/rayleigh-rice-pdf-plots.tex \ figures/tikz/packet-frame.tex \ - figures/tikz/qpsk-sim-constellations-static.tex \ - figures/tikz/qpsk-sim-constellations-static-symb.tex \ - figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex \ - figures/tikz/qpsk-sim-constellations-static-symb-vec.tex \ - figures/tikz/qpsk-sim-constellations-dynamic.tex\ - figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5.tex\ - figures/tikz/qpsk-sim-constellations-without-effects.tex\ + figures/tikz/qpsk-simulations-static.tex \ + figures/tikz/qpsk-simulations-dynamic.tex DATA := \ @@ -75,6 +70,7 @@ clean: @rm -vf *.aux *.aue *.lof *.log *.lot *.fls *.out *.toc *.fmt *.fot *.cb *.cb2 .*.lb *.dvi *.xdv *-converted-to.* *.bbl *.bcf *.blg *-blx.aux *-blx.bib *.run.xml *.fdb_latexmk *.synctex *.synctex\(busy\) *.synctex.gz *.synctex.gz\(busy\) *.pdfsync *.alg *.loa acs-*.bib *.thm *.nav *.pre *.snm *.vrb *.soc *.cut *.cpt *.spl *.ent *.lox *.mf *.acn *.acr *.glg *.glo *.gls *.glsdefs *.lzo *.lzs *.lol *.auxlock *.figlist @rm -vf tex/*.aux @rm -vf chapters/*.aux + @rm -vf figures/tikz/*.aux cleanall: clean @rm -vf $(PDF) diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 73771af..4e2e1ee 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -436,42 +436,6 @@ For generating the Byte error rate it is focus on byte-blocks of a specific leng return len(inp) \end{lstlisting} -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-without-effects} - \caption{Plot of without any effect, to compare with the other Plots.} -\end{figure} - -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-static-symb} - \caption{ - Constellation diagrams for a simulated link using QPSK with the discrete time model block. - The parameters are: delay of samples per symbol, amplitude of 0.2 and LOS. - } - \label{fig:static-symb-special-case} -\end{figure} - -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-static-symb-NLOS} - \caption{ - Constellation diagrams for a simulated link using QPSK with the discrete time model block. - The parameters are: delay of samples per symbol, amplitude of 0.2 and LOS. - } - \label{fig:static-symb-special-case-NLOS} -\end{figure} - -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-static-symb-vec} - \caption{ - Constellation diagrams for a simulated link using QPSK with the discrete time model block. - The parameters are: delay of \texttt{[0.25,4,6.3,3.25]} samples , amplitude of \texttt{[0.2,0.5,0.4,0.08]} and LOS. - } - \label{fig:static-symb-special-case-vec} -\end{figure} - \section{Issues in the current implementation} \subsection{Non modulated access codes} @@ -490,4 +454,22 @@ and \(M\) is relatively prime to \(N\). CAZAC waveforms are ideal because they h \subsection{Incomplete parts} - +\newgeometry{ + inner = 15mm, outer = 15mm, +} +\begin{figure} + \centering + \input{figures/tikz/qpsk-simulations-static} + \caption{ + QPSK static TODO. + } +\end{figure} +\newpage +\begin{figure} + \centering + \input{figures/tikz/qpsk-simulations-dynamic} + \caption{ + QPSK dynamic TODO. + } +\end{figure} +\restoregeometry diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5.tex deleted file mode 100644 index 4afaa09..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5.tex +++ /dev/null @@ -1,75 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -5, xmax = 5, - ymin = -5, ymax = 5, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -5, xmax = 5, - ymin = -5, ymax = 5, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.dat}; - \end{axis} -\end{tikzpicture} - diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic.tex deleted file mode 100644 index 87e447f..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-dynamic.tex +++ /dev/null @@ -1,75 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -5, xmax = 5, - ymin = -5, ymax = 5, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_dynamic.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -5, xmax = 5, - ymin = -5, ymax = 5, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_dynamic.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_dynamic.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_dynamic.dat}; - \end{axis} -\end{tikzpicture} - diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex deleted file mode 100644 index 16e966a..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex +++ /dev/null @@ -1,74 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}; - \end{axis} -\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-vec.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-vec.tex deleted file mode 100644 index 6095378..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-vec.tex +++ /dev/null @@ -1,74 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_static_symb_vec.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_static_symb_vec.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_static_symb_vec.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_static_symb_vec.dat}; - \end{axis} -\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex deleted file mode 100644 index 97c04d4..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex +++ /dev/null @@ -1,74 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_static_symb.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_static_symb.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_static_symb.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_static_symb.dat}; - \end{axis} -\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-static.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-static.tex deleted file mode 100644 index 3c2a80c..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-static.tex +++ /dev/null @@ -1,75 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -5, xmax = 5, - ymin = -5, ymax = 5, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_static.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -5, xmax = 5, - ymin = -5, ymax = 5, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_static.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_static.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_static.dat}; - \end{axis} -\end{tikzpicture} - diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-without-effects.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-without-effects.tex deleted file mode 100644 index afddea4..0000000 --- a/doc/thesis/figures/tikz/qpsk-sim-constellations-without-effects.tex +++ /dev/null @@ -1,75 +0,0 @@ -% vim: set ts=2 sw=2 noet: -\begin{tikzpicture} - \begin{axis}[ - title = {Channel with ISI}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta, only marks] table[x index = 0, y index = 1] - {figures/data/qpsk_sim_constellations_without_effects.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Synchronized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -3, xmax = 3, - ymin = -3, ymax = 3, - ] - - \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] - {figures/data/qpsk_sim_constellations_without_effects.dat}; - \end{axis} -\end{tikzpicture} - -\vspace{5mm} - -\begin{tikzpicture} - \begin{axis}[ - title = {Equalized}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] - {figures/data/qpsk_sim_constellations_without_effects.dat}; - \end{axis} -\end{tikzpicture} -\hspace{5mm} -\begin{tikzpicture} - \begin{axis}[ - title = {Locked}, - width = 5cm, height = 5cm, - % ylabel = {Quadrature}, - % xlabel = {In-Phase}, - xlabel near ticks, - ylabel near ticks, - grid = major, - xmin = -1.5, xmax = 1.5, - ymin = -1.5, ymax = 1.5, - ] - - \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] - {figures/data/qpsk_sim_constellations_without_effects.dat}; - \end{axis} -\end{tikzpicture} - diff --git a/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex b/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex new file mode 100644 index 0000000..b2453a4 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex @@ -0,0 +1,77 @@ +% vim: set ts=2 sw=2 noet: + +\newcommand{\makeplot}[6]{% + \hfill + \begin{tikzpicture} + \begin{axis}[ + width = {\linewidth / 3.5}, + height = {\linewidth / 3.5}, + grid = major, + xmin = {-#4}, xmax = {#4}, + ymin = {-#4}, ymax = {#4}, + #5 + ] + + \addplot[only marks, #6] table[x index = #2, y index = #3] {#1}; + \end{axis} + \end{tikzpicture} + \hfill +} + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{0}{1}{4}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{0}{1}{4}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{0}{1}{4}{ + ylabel = {Channel with ISI}, + yticklabel style = { + text width = 2.25em, + align = right, + }, + title = {}, +}{magenta} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{0}{1}{4}{title = {},}{magenta} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{0}{1}{4}{title = {},}{magenta} +\newline + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{2}{3}{4}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{2}{3}{4}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{2}{3}{4}{% + ylabel = {Synchronized}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{2}{3}{4}{}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{2}{3}{4}{}{magenta!80!blue} +\newline + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{4}{5}{1}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{4}{5}{1}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{4}{5}{1}{% + ylabel = {Equalized}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{4}{5}{1}{}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{4}{5}{1}{}{magenta!60!blue} +\newline + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{6}{7}{1}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{6}{7}{1}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{6}{7}{1}{% + ylabel = {Locked}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{6}{7}{1}{}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{6}{7}{1}{}{magenta!40!blue} +\newline + diff --git a/doc/thesis/figures/tikz/qpsk-simulations-static.tex b/doc/thesis/figures/tikz/qpsk-simulations-static.tex new file mode 100644 index 0000000..b2453a4 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-simulations-static.tex @@ -0,0 +1,77 @@ +% vim: set ts=2 sw=2 noet: + +\newcommand{\makeplot}[6]{% + \hfill + \begin{tikzpicture} + \begin{axis}[ + width = {\linewidth / 3.5}, + height = {\linewidth / 3.5}, + grid = major, + xmin = {-#4}, xmax = {#4}, + ymin = {-#4}, ymax = {#4}, + #5 + ] + + \addplot[only marks, #6] table[x index = #2, y index = #3] {#1}; + \end{axis} + \end{tikzpicture} + \hfill +} + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{0}{1}{4}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{0}{1}{4}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{0}{1}{4}{ + ylabel = {Channel with ISI}, + yticklabel style = { + text width = 2.25em, + align = right, + }, + title = {}, +}{magenta} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{0}{1}{4}{title = {},}{magenta} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{0}{1}{4}{title = {},}{magenta} +\newline + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{2}{3}{4}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{2}{3}{4}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{2}{3}{4}{% + ylabel = {Synchronized}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{2}{3}{4}{}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{2}{3}{4}{}{magenta!80!blue} +\newline + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{4}{5}{1}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{4}{5}{1}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{4}{5}{1}{% + ylabel = {Equalized}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{4}{5}{1}{}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{4}{5}{1}{}{magenta!60!blue} +\newline + +\noindent +% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{6}{7}{1}{} +% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{6}{7}{1}{} +\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{6}{7}{1}{% + ylabel = {Locked}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{6}{7}{1}{}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{6}{7}{1}{}{magenta!40!blue} +\newline + -- cgit v1.2.1 From 3a076cc5f308d7f67ce0a2033b99cff6b841d75c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 18 Dec 2021 16:44:44 +0100 Subject: Rename flowgraph data files and remove static simulations --- doc/thesis/Fading.tex | 4 +- doc/thesis/Makefile | 21 +++++--- doc/thesis/chapters/implementation.tex | 48 ++++++++--------- .../channel_qpsk_sim_const_nochannel.dat | Bin 0 -> 3447720 bytes ...sk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat | Bin 0 -> 4387016 bytes ...k_sim_dynamic_grblock_los_etsi_doppler70_k5.dat | Bin 0 -> 2355520 bytes ...qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat | Bin 0 -> 2989000 bytes ...psk_sim_dynamic_grblock_nlos_etsi_doppler70.dat | Bin 0 -> 3404032 bytes .../equalized_qpsk_sim_const_nochannel.dat | Bin 0 -> 861600 bytes ...sk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat | Bin 0 -> 1096424 bytes ...k_sim_dynamic_grblock_los_etsi_doppler70_k5.dat | Bin 0 -> 588544 bytes ...qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat | Bin 0 -> 746920 bytes ...psk_sim_dynamic_grblock_nlos_etsi_doppler70.dat | Bin 0 -> 849864 bytes .../flowgraphs/locked_qpsk_sim_const_nochannel.dat | Bin 0 -> 861552 bytes ...sk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat | Bin 0 -> 1096416 bytes ...k_sim_dynamic_grblock_los_etsi_doppler70_k5.dat | Bin 0 -> 588528 bytes ...qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat | Bin 0 -> 746856 bytes ...psk_sim_dynamic_grblock_nlos_etsi_doppler70.dat | Bin 0 -> 849816 bytes .../data/flowgraphs/qpsk_channel_dynamic.dat | Bin 4845712 -> 0 bytes .../qpsk_channel_dynamic_exp_LOS_5_K5.dat | Bin 4387016 -> 0 bytes .../qpsk_channel_dynamic_exp_LOS_70_K5.dat | Bin 2355520 -> 0 bytes .../flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat | Bin 2989000 -> 0 bytes .../qpsk_channel_dynamic_exp_NLOS_70.dat | Bin 3404032 -> 0 bytes .../data/flowgraphs/qpsk_channel_static.dat | Bin 6369352 -> 0 bytes .../data/flowgraphs/qpsk_channel_static_symb.dat | Bin 3098216 -> 0 bytes .../flowgraphs/qpsk_channel_static_symb_NLOS.dat | Bin 3753536 -> 0 bytes .../flowgraphs/qpsk_channel_static_symb_vec.dat | Bin 4124880 -> 0 bytes .../flowgraphs/qpsk_channel_whitout_effects.dat | Bin 3447720 -> 0 bytes .../data/flowgraphs/qpsk_equalized_dynamic.dat | Bin 1211096 -> 0 bytes .../qpsk_equalized_dynamic_exp_LOS_5_K5.dat | Bin 1096424 -> 0 bytes .../qpsk_equalized_dynamic_exp_LOS_70_K5.dat | Bin 588544 -> 0 bytes .../qpsk_equalized_dynamic_exp_NLOS_5.dat | Bin 746920 -> 0 bytes .../qpsk_equalized_dynamic_exp_NLOS_70.dat | Bin 849864 -> 0 bytes .../data/flowgraphs/qpsk_equalized_static.dat | Bin 1592008 -> 0 bytes .../data/flowgraphs/qpsk_equalized_static_symb.dat | Bin 555784 -> 0 bytes .../flowgraphs/qpsk_equalized_static_symb_NLOS.dat | Bin 3269896 -> 0 bytes .../flowgraphs/qpsk_equalized_static_symb_vec.dat | Bin 1587912 -> 0 bytes .../flowgraphs/qpsk_equalized_whitout_effects.dat | Bin 861600 -> 0 bytes .../data/flowgraphs/qpsk_locked_dynamic.dat | Bin 1211040 -> 0 bytes .../qpsk_locked_dynamic_exp_LOS_5_K5.dat | Bin 1096416 -> 0 bytes .../qpsk_locked_dynamic_exp_LOS_70_K5.dat | Bin 588528 -> 0 bytes .../flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat | Bin 746856 -> 0 bytes .../flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat | Bin 849816 -> 0 bytes .../figures/data/flowgraphs/qpsk_locked_static.dat | Bin 1591992 -> 0 bytes .../data/flowgraphs/qpsk_locked_static_symb.dat | Bin 555768 -> 0 bytes .../flowgraphs/qpsk_locked_static_symb_NLOS.dat | Bin 3269880 -> 0 bytes .../flowgraphs/qpsk_locked_static_symb_vec.dat | Bin 1587888 -> 0 bytes .../flowgraphs/qpsk_locked_whitout_effects.dat | Bin 861552 -> 0 bytes .../figures/data/flowgraphs/qpsk_sync_dynamic.dat | Bin 1211096 -> 0 bytes .../flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat | Bin 1096424 -> 0 bytes .../flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat | Bin 588544 -> 0 bytes .../flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat | Bin 746920 -> 0 bytes .../flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat | Bin 849864 -> 0 bytes .../figures/data/flowgraphs/qpsk_sync_static.dat | Bin 1592008 -> 0 bytes .../data/flowgraphs/qpsk_sync_static_symb.dat | Bin 555784 -> 0 bytes .../data/flowgraphs/qpsk_sync_static_symb_NLOS.dat | Bin 3269896 -> 0 bytes .../data/flowgraphs/qpsk_sync_static_symb_vec.dat | Bin 1587912 -> 0 bytes .../data/flowgraphs/qpsk_sync_whitout_effects.dat | Bin 861600 -> 0 bytes .../synchronized_qpsk_sim_const_nochannel.dat | Bin 0 -> 861600 bytes ...sk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat | Bin 0 -> 1096424 bytes ...k_sim_dynamic_grblock_los_etsi_doppler70_k5.dat | Bin 0 -> 588544 bytes ...qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat | Bin 0 -> 746920 bytes ...psk_sim_dynamic_grblock_nlos_etsi_doppler70.dat | Bin 0 -> 849864 bytes ...m_const_dynamic_grblock_los_etsi_doppler5_k5.py | 31 +++++++++++ ..._const_dynamic_grblock_los_etsi_doppler70_k5.py | 31 +++++++++++ ...sim_const_dynamic_grblock_nlos_etsi_doppler5.py | 31 +++++++++++ ...im_const_dynamic_grblock_nlos_etsi_doppler70.py | 31 +++++++++++ .../figures/data/qpsk_sim_const_nochannel.py | 31 +++++++++++ .../qpsk_sim_const_static_firblock_los_halfsymb.py | 31 +++++++++++ .../data/qpsk_sim_const_static_firblock_los_vec.py | 31 +++++++++++ ...qpsk_sim_const_static_firblock_nlos_halfsymb.py | 31 +++++++++++ .../data/qpsk_sim_constellations_dynamic.py | 32 ------------ .../qpsk_sim_constellations_dynamic_exp_NLOS_5.py | 34 ------------ .../figures/data/qpsk_sim_constellations_static.py | 32 ------------ .../data/qpsk_sim_constellations_static_symb.py | 32 ------------ .../qpsk_sim_constellations_static_symb_NLOS.py | 32 ------------ .../qpsk_sim_constellations_static_symb_vec.py | 32 ------------ .../qpsk_sim_constellations_without_effects.py | 32 ------------ doc/thesis/figures/data/utils.py | 22 ++++++++ .../figures/tikz/qpsk-simulations-dynamic.tex | 58 --------------------- .../figures/tikz/qpsk-simulations-static.tex | 32 +++++------- 81 files changed, 320 insertions(+), 339 deletions(-) create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat create mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_nochannel.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py create mode 100644 doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_static.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_static_symb_NLOS.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_without_effects.py create mode 100644 doc/thesis/figures/data/utils.py diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index c562abc..7fbcc20 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -51,9 +51,7 @@ arrows, patterns, } -% \tikzexternalize[ -% mode=graphics if exists, -% figure list=true] +\tikzexternalize[mode=graphics if exists]{Fading} \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground} diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index 212d3e9..ad350e7 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -32,14 +32,19 @@ SOURCES := \ DATA := \ figures/data/multipath_frequency_response.dat \ - figures/data/qpsk_sim_constellations_static.dat \ - figures/data/qpsk_sim_constellations_static_symb.dat \ - figures/data/qpsk_sim_constellations_static_symb_NLOS.dat \ - figures/data/qpsk_sim_constellations_static_symb_vec.dat \ - figures/data/qpsk_sim_constellations_dynamic.dat\ - figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.dat\ - figures/data/qpsk_sim_constellations_without_effects.dat \ - figures/data/rice_pdf.dat + figures/data/rice_pdf.dat \ + \ + figures/data/qpsk_sim_const_nochannel.dat \ + \ + figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat \ + figures/data/qpsk_sim_const_static_firblock_los_vec.dat \ + figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat \ + \ + figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.dat \ + figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.dat \ + figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.dat \ + figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.dat + # Get the main file from the file diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index e3a5a86..29cfca0 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -329,14 +329,14 @@ Thus, they will be distributed among the other whole numbers. A window function % } %\end{figure} % -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-dynamic} - \caption{ - Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. The paramters are: frequency offset of 0.2 \%, \SI{100}{\milli\volt} noise, dopper shift for \(v = \SI{2}{\meter\per\second}\), and a NLOS urban PDP. - } - \label{fig:dynamic-exp} -\end{figure} +% \begin{figure} +% \centering +% \input{figures/tikz/qpsk-sim-constellations-dynamic} +% \caption{ +% Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. The paramters are: frequency offset of 0.2 \%, \SI{100}{\milli\volt} noise, dopper shift for \(v = \SI{2}{\meter\per\second}\), and a NLOS urban PDP. +% } +% \label{fig:dynamic-exp} +% \end{figure} \subsection{Fading with statistical model} @@ -390,14 +390,14 @@ and \caption{Values used for the simulation \cite{ETSI}. \label{tab:etsi-tap-values}} \end{table} -\begin{figure} - \centering - \input{figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5} - \caption{ - Constellation diagrams for a simulated link using QPSK and Rayleighan fading. With the ETU model and a Doppler frequency of \(\SI{5}{\hertz}\). - } - \label{fig:dynamic-exp-real} -\end{figure} +% \begin{figure} +% \centering +% \input{figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5} +% \caption{ +% Constellation diagrams for a simulated link using QPSK and Rayleighan fading. With the ETU model and a Doppler frequency of \(\SI{5}{\hertz}\). +% } +% \label{fig:dynamic-exp-real} +% \end{figure} \subsection{Measurements} @@ -474,14 +474,14 @@ The second part which is missing is to be able to change the timing plot for the \newgeometry{ inner = 15mm, outer = 15mm, } -\begin{figure} - \centering - \input{figures/tikz/qpsk-simulations-static} - \caption{ - QPSK static TODO. - } -\end{figure} -\newpage +% \begin{figure} +% \centering +% \input{figures/tikz/qpsk-simulations-static} +% \caption{ +% QPSK static TODO. +% } +% \end{figure} +% \newpage \begin{figure} \centering \input{figures/tikz/qpsk-simulations-dynamic} diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat new file mode 100644 index 0000000..c5d7a51 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat new file mode 100644 index 0000000..b4accdd Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat new file mode 100644 index 0000000..350fb3b Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat new file mode 100644 index 0000000..1322947 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat new file mode 100644 index 0000000..ffe47ce Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat new file mode 100644 index 0000000..38b583c Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat new file mode 100644 index 0000000..ce683a0 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat new file mode 100644 index 0000000..a0399b9 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat new file mode 100644 index 0000000..28eaeb8 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat new file mode 100644 index 0000000..596e0a9 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat new file mode 100644 index 0000000..052b5eb Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat new file mode 100644 index 0000000..c0c30e0 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat new file mode 100644 index 0000000..1d55afc Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat new file mode 100644 index 0000000..1c53fed Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat new file mode 100644 index 0000000..5e2a983 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat deleted file mode 100644 index 560f179..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat deleted file mode 100644 index b4accdd..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat deleted file mode 100644 index 350fb3b..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat deleted file mode 100644 index 1322947..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat deleted file mode 100644 index ffe47ce..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat deleted file mode 100644 index 7466d69..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat deleted file mode 100644 index 4d0e9a1..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat deleted file mode 100644 index 425b81b..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat deleted file mode 100644 index 9c8a1d3..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat deleted file mode 100644 index c5d7a51..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat deleted file mode 100644 index 473c43d..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat deleted file mode 100644 index ce683a0..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat deleted file mode 100644 index a0399b9..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat deleted file mode 100644 index 28eaeb8..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat deleted file mode 100644 index 596e0a9..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat deleted file mode 100644 index c884795..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat deleted file mode 100644 index fc70e83..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat deleted file mode 100644 index 9ab4d78..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat deleted file mode 100644 index d27f49e..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat deleted file mode 100644 index 38b583c..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat deleted file mode 100644 index 92a9b97..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat deleted file mode 100644 index c0c30e0..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat deleted file mode 100644 index 1d55afc..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat deleted file mode 100644 index 1c53fed..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat deleted file mode 100644 index 5e2a983..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat deleted file mode 100644 index 1e85803..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat deleted file mode 100644 index e3be058..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat deleted file mode 100644 index d7923f4..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat deleted file mode 100644 index dba8d1e..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat deleted file mode 100644 index 052b5eb..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat deleted file mode 100644 index bc21557..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat deleted file mode 100644 index 513dfa8..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat deleted file mode 100644 index 86d472a..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat deleted file mode 100644 index 327a07d..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat deleted file mode 100644 index 35971b0..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat deleted file mode 100644 index cb5ab19..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat deleted file mode 100644 index 54d351f..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat deleted file mode 100644 index 4f9bb0c..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat deleted file mode 100644 index ca21c39..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat deleted file mode 100644 index 2d7d1b4..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat new file mode 100644 index 0000000..2d7d1b4 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat new file mode 100644 index 0000000..513dfa8 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat new file mode 100644 index 0000000..86d472a Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat new file mode 100644 index 0000000..327a07d Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat new file mode 100644 index 0000000..35971b0 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat differ diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_nochannel.py b/doc/thesis/figures/data/qpsk_sim_const_nochannel.py new file mode 100644 index 0000000..7e42348 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_nochannel.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples("qpsk_sim_const_nochannel") + +# range of samples we want to show +start = 1e3 +end = start + 200 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):2] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py b/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py deleted file mode 100644 index 7e23125..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_dynamic.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_dynamic.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_dynamic.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_dynamic.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 67.8e3 -end = start + 200 - -get_range = lambda arr: arr[int(start):int(end)] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py b/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py deleted file mode 100644 index 4cb1742..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_dynamic_exp_NLOS_5.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_dynamic_exp_NLOS_5.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_dynamic_exp_NLOS_5.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_dynamic_exp_NLOS_5.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 67.8e3 -end = start + 200 -# start = 80e3 -# end = start + 1000 - -get_range = lambda arr: arr[int(start):int(end)] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_static.py b/doc/thesis/figures/data/qpsk_sim_constellations_static.py deleted file mode 100644 index 61fdcb1..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_static.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_static.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_static.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_static.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_static.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 67.8e3 -end = start + 200 - -get_range = lambda arr: arr[int(start):int(end)] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py deleted file mode 100644 index 416a017..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_static_symb.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_static_symb.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_static_symb.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_static_symb.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 1e3 -end = start + 200 - -get_range = lambda arr: arr[int(start):int(end)] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_NLOS.py b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_NLOS.py deleted file mode 100644 index cbca31e..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_NLOS.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_static_symb_NLOS.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_static_symb_NLOS.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_static_symb_NLOS.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_static_symb_NLOS.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 5e3 -end = start + 200 - -get_range = lambda arr: arr[int(start):int(end)] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py deleted file mode 100644 index 26e7b64..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_static_symb_vec.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_static_symb_vec.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_static_symb_vec.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_static_symb_vec.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 1e3 -end = start +800 - -get_range = lambda arr: arr[int(start):int(end):2] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_without_effects.py b/doc/thesis/figures/data/qpsk_sim_constellations_without_effects.py deleted file mode 100644 index 3ac9948..0000000 --- a/doc/thesis/figures/data/qpsk_sim_constellations_without_effects.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python3 - -import os -import numpy as np - -DATA_DIR = "./figures/data/flowgraphs" -SPS = 4 - -channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_whitout_effects.dat", dtype=np.complex64)[::SPS] -sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_whitout_effects.dat", dtype=np.complex64) -equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_whitout_effects.dat", dtype=np.complex64) -locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_whitout_effects.dat", dtype=np.complex64) - -samples = [channel, sync, equalized, locked] - -# print(list(map(len, samples))) - -start = 1e3 -end = start + 200 - -get_range = lambda arr: arr[int(start):int(end)] -get_parts = lambda v: (np.real(v), np.imag(v)) - -values = map(get_range, samples) -parts = [p for v in map(get_parts, values) for p in v] -data = np.array(list(zip(*parts))) - -# save to file -location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) -name, _ = os.path.splitext(os.path.basename(__file__)) -filename = os.path.join(location, name + ".dat") -np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/utils.py b/doc/thesis/figures/data/utils.py new file mode 100644 index 0000000..ccb3bb4 --- /dev/null +++ b/doc/thesis/figures/data/utils.py @@ -0,0 +1,22 @@ +import os +import numpy as np + +def load_samples(fname, dtype=np.complex64): + set_name, _ = os.path.splitext(os.path.basename(fname)) + + data_dir = "./figures/data/flowgraphs" + sps = 4 + + channel = np.fromfile(f"{data_dir}/channel_{set_name}.dat", dtype=dtype)[::sps] + synchronized = np.fromfile(f"{data_dir}/synchronized_{set_name}.dat", dtype=dtype) + equalized = np.fromfile(f"{data_dir}/equalized_{set_name}.dat", dtype=dtype) + locked = np.fromfile(f"{data_dir}/locked_{set_name}.dat", dtype=dtype) + + return channel, synchronized, equalized, locked + +def save_to_file(fname, data, headers): + location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(fname))) + name, _ = os.path.splitext(os.path.basename(fname)) + filename = os.path.join(location, name + ".dat") + np.savetxt(filename, data, fmt='%.6e\t', header="\t".join(headers), comments='') + diff --git a/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex b/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex index b2453a4..5806d42 100644 --- a/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex +++ b/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex @@ -17,61 +17,3 @@ \end{tikzpicture} \hfill } - -\noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{0}{1}{4}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{0}{1}{4}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{0}{1}{4}{ - ylabel = {Channel with ISI}, - yticklabel style = { - text width = 2.25em, - align = right, - }, - title = {}, -}{magenta} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{0}{1}{4}{title = {},}{magenta} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{0}{1}{4}{title = {},}{magenta} -\newline - -\noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{2}{3}{4}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{2}{3}{4}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{2}{3}{4}{% - ylabel = {Synchronized}, - yticklabel style = { - text width = 2.25em, - align = right, - }, -}{magenta!80!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{2}{3}{4}{}{magenta!80!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{2}{3}{4}{}{magenta!80!blue} -\newline - -\noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{4}{5}{1}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{4}{5}{1}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{4}{5}{1}{% - ylabel = {Equalized}, - yticklabel style = { - text width = 2.25em, - align = right, - }, -}{magenta!60!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{4}{5}{1}{}{magenta!60!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{4}{5}{1}{}{magenta!60!blue} -\newline - -\noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{6}{7}{1}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{6}{7}{1}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{6}{7}{1}{% - ylabel = {Locked}, - yticklabel style = { - text width = 2.25em, - align = right, - }, -}{magenta!40!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{6}{7}{1}{}{magenta!40!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{6}{7}{1}{}{magenta!40!blue} -\newline - diff --git a/doc/thesis/figures/tikz/qpsk-simulations-static.tex b/doc/thesis/figures/tikz/qpsk-simulations-static.tex index b2453a4..830b9af 100644 --- a/doc/thesis/figures/tikz/qpsk-simulations-static.tex +++ b/doc/thesis/figures/tikz/qpsk-simulations-static.tex @@ -19,9 +19,7 @@ } \noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{0}{1}{4}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{0}{1}{4}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{0}{1}{4}{ +\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{0}{1}{4}{ ylabel = {Channel with ISI}, yticklabel style = { text width = 2.25em, @@ -29,49 +27,43 @@ }, title = {}, }{magenta} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{0}{1}{4}{title = {},}{magenta} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{0}{1}{4}{title = {},}{magenta} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{0}{1}{4}{title = {},}{magenta} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{0}{1}{4}{title = {},}{magenta} \newline \noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{2}{3}{4}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{2}{3}{4}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{2}{3}{4}{% +\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{2}{3}{4}{% ylabel = {Synchronized}, yticklabel style = { text width = 2.25em, align = right, }, }{magenta!80!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{2}{3}{4}{}{magenta!80!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{2}{3}{4}{}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{2}{3}{4}{}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{2}{3}{4}{}{magenta!80!blue} \newline \noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{4}{5}{1}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{4}{5}{1}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{4}{5}{1}{% +\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{4}{5}{1}{% ylabel = {Equalized}, yticklabel style = { text width = 2.25em, align = right, }, }{magenta!60!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{4}{5}{1}{}{magenta!60!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{4}{5}{1}{}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{4}{5}{1}{}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{4}{5}{1}{}{magenta!60!blue} \newline \noindent -% \makeplot{figures/data/qpsk_sim_constellations_without_effects.dat}{6}{7}{1}{} -% \makeplot{figures/data/qpsk_sim_constellations_static.dat}{6}{7}{1}{} -\makeplot{figures/data/qpsk_sim_constellations_static_symb.dat}{6}{7}{1}{% +\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{6}{7}{1}{% ylabel = {Locked}, yticklabel style = { text width = 2.25em, align = right, }, }{magenta!40!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_vec.dat}{6}{7}{1}{}{magenta!40!blue} -\makeplot{figures/data/qpsk_sim_constellations_static_symb_NLOS.dat}{6}{7}{1}{}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{6}{7}{1}{}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{6}{7}{1}{}{magenta!40!blue} \newline -- cgit v1.2.1 From 42847d93ef34cfdeb55ba1949e904a8e7148265b Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 18 Dec 2021 18:25:49 +0100 Subject: Add static simulations --- doc/thesis/Makefile | 17 ++++----- doc/thesis/chapters/implementation.tex | 16 ++++----- .../channel_qpsk_sim_const_nochannel.dat | Bin 3447720 -> 0 bytes .../data/flowgraphs/channel_qpsk_sim_nochannel.dat | Bin 0 -> 3447720 bytes ...annel_qpsk_sim_static_firblock_los_halfsymb.dat | Bin 0 -> 1394384 bytes .../channel_qpsk_sim_static_firblock_los_vec.dat | Bin 0 -> 1525448 bytes ...nnel_qpsk_sim_static_firblock_nlos_halfsymb.dat | Bin 0 -> 2071552 bytes .../channel_qpsk_sim_static_firblock_nlos_vec.dat | Bin 0 -> 1590984 bytes .../equalized_qpsk_sim_const_nochannel.dat | Bin 861600 -> 0 bytes .../flowgraphs/equalized_qpsk_sim_nochannel.dat | Bin 0 -> 861600 bytes ...lized_qpsk_sim_static_firblock_los_halfsymb.dat | Bin 0 -> 348264 bytes .../equalized_qpsk_sim_static_firblock_los_vec.dat | Bin 0 -> 381032 bytes ...ized_qpsk_sim_static_firblock_nlos_halfsymb.dat | Bin 0 -> 517552 bytes ...equalized_qpsk_sim_static_firblock_nlos_vec.dat | Bin 0 -> 397416 bytes .../flowgraphs/locked_qpsk_sim_const_nochannel.dat | Bin 861552 -> 0 bytes .../data/flowgraphs/locked_qpsk_sim_nochannel.dat | Bin 0 -> 861552 bytes ...ocked_qpsk_sim_static_firblock_los_halfsymb.dat | Bin 0 -> 348264 bytes .../locked_qpsk_sim_static_firblock_los_vec.dat | Bin 0 -> 381024 bytes ...cked_qpsk_sim_static_firblock_nlos_halfsymb.dat | Bin 0 -> 517536 bytes .../locked_qpsk_sim_static_firblock_nlos_vec.dat | Bin 0 -> 397368 bytes .../synchronized_qpsk_sim_const_nochannel.dat | Bin 861600 -> 0 bytes .../flowgraphs/synchronized_qpsk_sim_nochannel.dat | Bin 0 -> 861600 bytes ...nized_qpsk_sim_static_firblock_los_halfsymb.dat | Bin 0 -> 348264 bytes ...nchronized_qpsk_sim_static_firblock_los_vec.dat | Bin 0 -> 381032 bytes ...ized_qpsk_sim_static_firblock_nlos_halfsymb.dat | Bin 0 -> 517552 bytes ...chronized_qpsk_sim_static_firblock_nlos_vec.dat | Bin 0 -> 397416 bytes ...m_const_dynamic_grblock_los_etsi_doppler5_k5.py | 31 ----------------- ..._const_dynamic_grblock_los_etsi_doppler70_k5.py | 31 ----------------- ...sim_const_dynamic_grblock_nlos_etsi_doppler5.py | 31 ----------------- ...im_const_dynamic_grblock_nlos_etsi_doppler70.py | 31 ----------------- .../figures/data/qpsk_sim_const_nochannel.py | 31 ----------------- .../qpsk_sim_const_static_firblock_los_halfsymb.py | 31 ----------------- .../data/qpsk_sim_const_static_firblock_los_vec.py | 31 ----------------- ...qpsk_sim_const_static_firblock_nlos_halfsymb.py | 31 ----------------- ...psk_sim_dynamic_grblock_los_etsi_doppler5_k5.py | 31 +++++++++++++++++ ...sk_sim_dynamic_grblock_los_etsi_doppler70_k5.py | 31 +++++++++++++++++ .../qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py | 31 +++++++++++++++++ ...qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py | 31 +++++++++++++++++ doc/thesis/figures/data/qpsk_sim_nochannel.py | 31 +++++++++++++++++ .../data/qpsk_sim_static_firblock_los_halfsymb.py | 31 +++++++++++++++++ .../data/qpsk_sim_static_firblock_los_vec.py | 31 +++++++++++++++++ .../data/qpsk_sim_static_firblock_nlos_halfsymb.py | 31 +++++++++++++++++ .../data/qpsk_sim_static_firblock_nlos_vec.py | 31 +++++++++++++++++ .../figures/tikz/qpsk-simulations-static.tex | 38 ++++++++++++--------- 44 files changed, 317 insertions(+), 281 deletions(-) delete mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.dat delete mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.dat delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_nochannel.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py delete mode 100644 doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py create mode 100644 doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.py create mode 100644 doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py create mode 100644 doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py create mode 100644 doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py create mode 100644 doc/thesis/figures/data/qpsk_sim_nochannel.py create mode 100644 doc/thesis/figures/data/qpsk_sim_static_firblock_los_halfsymb.py create mode 100644 doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py create mode 100644 doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_halfsymb.py create mode 100644 doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index ad350e7..6d2d4ba 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -34,16 +34,17 @@ DATA := \ figures/data/multipath_frequency_response.dat \ figures/data/rice_pdf.dat \ \ - figures/data/qpsk_sim_const_nochannel.dat \ + figures/data/qpsk_sim_nochannel.dat \ \ - figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat \ - figures/data/qpsk_sim_const_static_firblock_los_vec.dat \ - figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat \ + figures/data/qpsk_sim_static_firblock_los_halfsymb.dat \ + figures/data/qpsk_sim_static_firblock_nlos_halfsymb.dat \ + figures/data/qpsk_sim_static_firblock_los_vec.dat \ + figures/data/qpsk_sim_static_firblock_nlos_vec.dat \ \ - figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.dat \ - figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.dat \ - figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.dat \ - figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.dat + figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat \ + figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat \ + figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat \ + figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 29cfca0..a597f14 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -474,14 +474,14 @@ The second part which is missing is to be able to change the timing plot for the \newgeometry{ inner = 15mm, outer = 15mm, } -% \begin{figure} -% \centering -% \input{figures/tikz/qpsk-simulations-static} -% \caption{ -% QPSK static TODO. -% } -% \end{figure} -% \newpage +\begin{figure} + \centering + \input{figures/tikz/qpsk-simulations-static} + \caption{ + QPSK static TODO. + } +\end{figure} +\newpage \begin{figure} \centering \input{figures/tikz/qpsk-simulations-dynamic} diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat deleted file mode 100644 index c5d7a51..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat new file mode 100644 index 0000000..c5d7a51 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.dat new file mode 100644 index 0000000..0eb44fb Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.dat new file mode 100644 index 0000000..5be6d56 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.dat new file mode 100644 index 0000000..2dd54b7 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.dat new file mode 100644 index 0000000..b94d152 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat deleted file mode 100644 index 38b583c..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat new file mode 100644 index 0000000..38b583c Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.dat new file mode 100644 index 0000000..cfacb55 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.dat new file mode 100644 index 0000000..5ec3948 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.dat new file mode 100644 index 0000000..7925b4c Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.dat new file mode 100644 index 0000000..3b1823b Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat deleted file mode 100644 index 052b5eb..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat new file mode 100644 index 0000000..052b5eb Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.dat new file mode 100644 index 0000000..03086cc Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.dat new file mode 100644 index 0000000..8d9d10c Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.dat new file mode 100644 index 0000000..c6d4ee2 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.dat new file mode 100644 index 0000000..65c170d Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat deleted file mode 100644 index 2d7d1b4..0000000 Binary files a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat and /dev/null differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat new file mode 100644 index 0000000..2d7d1b4 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.dat new file mode 100644 index 0000000..f1be833 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.dat new file mode 100644 index 0000000..205bc1c Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.dat new file mode 100644 index 0000000..328e38b Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.dat new file mode 100644 index 0000000..ceec6d6 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.dat differ diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py b/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_nochannel.py b/doc/thesis/figures/data/qpsk_sim_const_nochannel.py deleted file mode 100644 index 7e42348..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_nochannel.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples("qpsk_sim_const_nochannel") - -# range of samples we want to show -start = 1e3 -end = start + 200 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):2] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py deleted file mode 100644 index eae2afc..0000000 --- a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import utils -import numpy as np - -# get array of samples [channel, synchronized, equalized, locked] -samples = utils.load_samples(__file__) - -# range of samples we want to show -start = 1e3 -end = start +800 - -# select every second samples -select_samples = lambda arr: arr[int(start):int(end):4] -values = map(select_samples, samples) - -# split into imaginary and real parts -get_parts = lambda v: (np.real(v), np.imag(v)) -parts = [p for v in map(get_parts, values) for p in v] - -# zip data and add header -data = np.array(list(zip(*parts))) -headers = [ - "channel_re", "channel_im", - "synchronized_re", "synchronized_im", - "equalized_re", "equalized_im", - "locked_re", "locked_im" -] - -# save to file -utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_nochannel.py b/doc/thesis/figures/data/qpsk_sim_nochannel.py new file mode 100644 index 0000000..a8170c6 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_nochannel.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +50 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):2] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_static_firblock_los_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_static_firblock_los_halfsymb.py new file mode 100644 index 0000000..52a3916 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_static_firblock_los_halfsymb.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +400 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py b/doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_halfsymb.py new file mode 100644 index 0000000..52a3916 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_halfsymb.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +400 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py b/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py new file mode 100644 index 0000000..eae2afc --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import utils +import numpy as np + +# get array of samples [channel, synchronized, equalized, locked] +samples = utils.load_samples(__file__) + +# range of samples we want to show +start = 1e3 +end = start +800 + +# select every second samples +select_samples = lambda arr: arr[int(start):int(end):4] +values = map(select_samples, samples) + +# split into imaginary and real parts +get_parts = lambda v: (np.real(v), np.imag(v)) +parts = [p for v in map(get_parts, values) for p in v] + +# zip data and add header +data = np.array(list(zip(*parts))) +headers = [ + "channel_re", "channel_im", + "synchronized_re", "synchronized_im", + "equalized_re", "equalized_im", + "locked_re", "locked_im" +] + +# save to file +utils.save_to_file(__file__, data, headers) diff --git a/doc/thesis/figures/tikz/qpsk-simulations-static.tex b/doc/thesis/figures/tikz/qpsk-simulations-static.tex index 830b9af..ebe7957 100644 --- a/doc/thesis/figures/tikz/qpsk-simulations-static.tex +++ b/doc/thesis/figures/tikz/qpsk-simulations-static.tex @@ -19,51 +19,55 @@ } \noindent -\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{0}{1}{4}{ +\makeplot{figures/data/qpsk_sim_static_firblock_nlos_halfsymb.dat}{0}{1}{4}{ ylabel = {Channel with ISI}, yticklabel style = { text width = 2.25em, align = right, }, - title = {}, -}{magenta} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{0}{1}{4}{title = {},}{magenta} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{0}{1}{4}{title = {},}{magenta} + title = {1 Tap NLOS}, +}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_halfsymb.dat}{0}{1}{4}{ + title = {1 Tap LOS}, +}{magenta!80!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_vec.dat}{0}{1}{4}{ + title = {4 Taps LOS}, +}{magenta!80!blue} \newline \noindent -\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{2}{3}{4}{% +\makeplot{figures/data/qpsk_sim_static_firblock_nlos_halfsymb.dat}{2}{3}{4}{% ylabel = {Synchronized}, yticklabel style = { text width = 2.25em, align = right, }, -}{magenta!80!blue} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{2}{3}{4}{}{magenta!80!blue} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{2}{3}{4}{}{magenta!80!blue} +}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_halfsymb.dat}{2}{3}{4}{}{magenta!60!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_vec.dat}{2}{3}{4}{}{magenta!60!blue} \newline \noindent -\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{4}{5}{1}{% +\makeplot{figures/data/qpsk_sim_static_firblock_nlos_halfsymb.dat}{4}{5}{1}{% ylabel = {Equalized}, yticklabel style = { text width = 2.25em, align = right, }, -}{magenta!60!blue} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{4}{5}{1}{}{magenta!60!blue} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{4}{5}{1}{}{magenta!60!blue} +}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_halfsymb.dat}{4}{5}{1}{}{magenta!40!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_vec.dat}{4}{5}{1}{}{magenta!40!blue} \newline \noindent -\makeplot{figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.dat}{6}{7}{1}{% +\makeplot{figures/data/qpsk_sim_static_firblock_nlos_halfsymb.dat}{6}{7}{1}{% ylabel = {Locked}, yticklabel style = { text width = 2.25em, align = right, }, -}{magenta!40!blue} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_halfsymb.dat}{6}{7}{1}{}{magenta!40!blue} -\makeplot{figures/data/qpsk_sim_const_static_firblock_los_vec.dat}{6}{7}{1}{}{magenta!40!blue} +}{magenta!20!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_halfsymb.dat}{6}{7}{1}{}{magenta!20!blue} +\makeplot{figures/data/qpsk_sim_static_firblock_los_vec.dat}{6}{7}{1}{}{magenta!20!blue} \newline -- cgit v1.2.1 From 644420426622bbeed91087684c51df6d93765aed Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 18 Dec 2021 18:26:47 +0100 Subject: Add patch that fixes GR bug in channel models --- src/gr-blocks-fix.patch | 115 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 src/gr-blocks-fix.patch diff --git a/src/gr-blocks-fix.patch b/src/gr-blocks-fix.patch new file mode 100644 index 0000000..e407fb4 --- /dev/null +++ b/src/gr-blocks-fix.patch @@ -0,0 +1,115 @@ +From eed49f9dcea7d1a7c34f152bca0250a72e5339bc Mon Sep 17 00:00:00 2001 +From: Jeff Long +Date: Thu, 15 Jul 2021 21:32:27 -0400 +Subject: [PATCH] gr-channels: fix "hide" expressions in yml files + +Also one in analog, and an overachieving set of quotes in qtgui. + +Signed-off-by: Jeff Long +--- + gr-analog/grc/analog_probe_avg_mag_sqrd_x.block.yml | 2 +- + gr-channels/grc/channels_channel_model2.block.yml | 2 +- + gr-channels/grc/channels_dynamic_channel_model.block.yml | 2 +- + gr-channels/grc/channels_fading_model.block.yml | 2 +- + gr-channels/grc/channels_selective_fading_model.block.yml | 2 +- + gr-channels/grc/channels_selective_fading_model2.block.yml | 2 +- + gr-qtgui/grc/qtgui_vector_sink_f.block.yml | 4 ++-- + 7 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/gr-analog/grc/analog_probe_avg_mag_sqrd_x.block.yml b/gr-analog/grc/analog_probe_avg_mag_sqrd_x.block.yml +index c8c51f8412..12f1dc7355 100644 +--- a/gr-analog/grc/analog_probe_avg_mag_sqrd_x.block.yml ++++ b/gr-analog/grc/analog_probe_avg_mag_sqrd_x.block.yml +@@ -9,7 +9,7 @@ parameters: + options: [c, f, cf] + option_labels: [Complex, Float, Complex->Float] + option_attributes: +- hide: [all, all, ''] ++ hide: [all, all, none] + input: [complex, float, complex] + optional: ['1', '1', '0'] + hide: part +diff --git a/gr-channels/grc/channels_channel_model2.block.yml b/gr-channels/grc/channels_channel_model2.block.yml +index 2494e84a80..3311321796 100644 +--- a/gr-channels/grc/channels_channel_model2.block.yml ++++ b/gr-channels/grc/channels_channel_model2.block.yml +@@ -25,7 +25,7 @@ parameters: + options: ['True', 'False'] + option_labels: ['Yes', 'No'] + option_attributes: +- hide_block: ['', part] ++ hide_block: [none, part] + hide: ${ block_tags.hide_block } + + inputs: +diff --git a/gr-channels/grc/channels_dynamic_channel_model.block.yml b/gr-channels/grc/channels_dynamic_channel_model.block.yml +index 3343f6dc14..5145686fc8 100644 +--- a/gr-channels/grc/channels_dynamic_channel_model.block.yml ++++ b/gr-channels/grc/channels_dynamic_channel_model.block.yml +@@ -40,7 +40,7 @@ parameters: + options: ['False', 'True'] + option_labels: [Rayleigh/NLOS, Rician/LOS] + option_attributes: +- hide_K: [all, ''] ++ hide_K: [all, none] + - id: K + label: Rician factor (K) + dtype: real +diff --git a/gr-channels/grc/channels_fading_model.block.yml b/gr-channels/grc/channels_fading_model.block.yml +index 5dbc5bd1a1..130429a115 100644 +--- a/gr-channels/grc/channels_fading_model.block.yml ++++ b/gr-channels/grc/channels_fading_model.block.yml +@@ -16,7 +16,7 @@ parameters: + options: ['False', 'True'] + option_labels: [Rayleigh/NLOS, Rician/LOS] + option_attributes: +- hide_K: [all, ''] ++ hide_K: [all, none] + - id: K + label: Rician factor (K) + dtype: real +diff --git a/gr-channels/grc/channels_selective_fading_model.block.yml b/gr-channels/grc/channels_selective_fading_model.block.yml +index f9829727a5..b45f8095e2 100644 +--- a/gr-channels/grc/channels_selective_fading_model.block.yml ++++ b/gr-channels/grc/channels_selective_fading_model.block.yml +@@ -16,7 +16,7 @@ parameters: + options: ['False', 'True'] + option_labels: [Rayleigh/NLOS, Rician/LOS] + option_attributes: +- hide_K: [all, ''] ++ hide_K: [all, none] + - id: K + label: Rician factor (K) + dtype: real +diff --git a/gr-channels/grc/channels_selective_fading_model2.block.yml b/gr-channels/grc/channels_selective_fading_model2.block.yml +index 6079071400..4d9b95a725 100644 +--- a/gr-channels/grc/channels_selective_fading_model2.block.yml ++++ b/gr-channels/grc/channels_selective_fading_model2.block.yml +@@ -16,7 +16,7 @@ parameters: + options: ['False', 'True'] + option_labels: [Rayleigh/NLOS, Rician/LOS] + option_attributes: +- hide_K: [all, ''] ++ hide_K: [all, none] + - id: K + label: Rician factor (K) + dtype: real +diff --git a/gr-qtgui/grc/qtgui_vector_sink_f.block.yml b/gr-qtgui/grc/qtgui_vector_sink_f.block.yml +index 0e16ff5879..b56397401d 100644 +--- a/gr-qtgui/grc/qtgui_vector_sink_f.block.yml ++++ b/gr-qtgui/grc/qtgui_vector_sink_f.block.yml +@@ -37,12 +37,12 @@ parameters: + label: X-Axis Units + dtype: string + default: '""' +- hide: '''part''' ++ hide: part + - id: y_units + label: Y-Axis Units + dtype: string + default: '""' +- hide: '''part''' ++ hide: part + - id: ref_level + label: Ref Level + dtype: real -- cgit v1.2.1