aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNao Pross <np@0hm.ch>2021-12-18 16:44:44 +0100
committerNao Pross <np@0hm.ch>2021-12-18 17:36:28 +0100
commit3a076cc5f308d7f67ce0a2033b99cff6b841d75c (patch)
tree7a45b48ed5369ee69ff3107b8383224899c7915b
parentMerge branch 'master' of github.com:NaoPross/Fading (diff)
downloadFading-3a076cc5f308d7f67ce0a2033b99cff6b841d75c.tar.gz
Fading-3a076cc5f308d7f67ce0a2033b99cff6b841d75c.zip
Rename flowgraph data files and remove static simulations
-rw-r--r--doc/thesis/Fading.tex4
-rw-r--r--doc/thesis/Makefile21
-rw-r--r--doc/thesis/chapters/implementation.tex48
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat)bin3447720 -> 3447720 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat)bin4387016 -> 4387016 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat)bin2355520 -> 2355520 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat)bin2989000 -> 2989000 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat)bin3404032 -> 3404032 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat)bin861600 -> 861600 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat)bin1096424 -> 1096424 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat)bin588544 -> 588544 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat)bin746920 -> 746920 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat)bin849864 -> 849864 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat)bin861552 -> 861552 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat)bin1096416 -> 1096416 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat)bin588528 -> 588528 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat)bin746856 -> 746856 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat)bin849816 -> 849816 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.datbin4845712 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_channel_static.datbin6369352 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.datbin3098216 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.datbin3753536 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.datbin4124880 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.datbin1211096 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.datbin1592008 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.datbin555784 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.datbin3269896 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.datbin1587912 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.datbin1211040 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_locked_static.datbin1591992 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.datbin555768 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.datbin3269880 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.datbin1587888 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.datbin1211096 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_sync_static.datbin1592008 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.datbin555784 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.datbin3269896 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.datbin1587912 -> 0 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat)bin861600 -> 861600 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat)bin1096424 -> 1096424 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat)bin588544 -> 588544 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat)bin746920 -> 746920 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat (renamed from doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat)bin849864 -> 849864 bytes
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_nochannel.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_static_firblock_nlos_halfsymb.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_dynamic.py32
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py34
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_static.py32
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py32
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_static_symb_NLOS.py32
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py32
-rw-r--r--doc/thesis/figures/data/qpsk_sim_constellations_without_effects.py32
-rw-r--r--doc/thesis/figures/data/utils.py22
-rw-r--r--doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex58
-rw-r--r--doc/thesis/figures/tikz/qpsk-simulations-static.tex32
61 files changed, 320 insertions, 339 deletions
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/qpsk_channel_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat
index c5d7a51..c5d7a51 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
index b4accdd..b4accdd 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_5_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
index 350fb3b..350fb3b 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_LOS_70_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
index 1322947..1322947 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_5.dat
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
index ffe47ce..ffe47ce 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic_exp_NLOS_70.dat
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat
index 38b583c..38b583c 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
index ce683a0..ce683a0 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_5_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
index a0399b9..a0399b9 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_LOS_70_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
index 28eaeb8..28eaeb8 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_5.dat
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
index 596e0a9..596e0a9 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic_exp_NLOS_70.dat
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat
index 052b5eb..052b5eb 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
index c0c30e0..c0c30e0 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_5_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
index 1d55afc..1d55afc 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_LOS_70_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
index 1c53fed..1c53fed 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_5.dat
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
index 5e2a983..5e2a983 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic_exp_NLOS_70.dat
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat
+++ /dev/null
Binary files 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
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat
+++ /dev/null
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat
index 2d7d1b4..2d7d1b4 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
index 513dfa8..513dfa8 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_5_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
index 86d472a..86d472a 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_LOS_70_K5.dat
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
index 327a07d..327a07d 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_5.dat
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
index 35971b0..35971b0 100644
--- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic_exp_NLOS_70.dat
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.dat
Binary files 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