aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/thesis/Makefile17
-rw-r--r--doc/thesis/chapters/implementation.tex16
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat)bin3447720 -> 3447720 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.datbin0 -> 1394384 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.datbin0 -> 1525448 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.datbin0 -> 2071552 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.datbin0 -> 1590984 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat)bin861600 -> 861600 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.datbin0 -> 348264 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.datbin0 -> 381032 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.datbin0 -> 517552 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.datbin0 -> 397416 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat)bin861552 -> 861552 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.datbin0 -> 348264 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.datbin0 -> 381024 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.datbin0 -> 517536 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.datbin0 -> 397368 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat (renamed from doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat)bin861600 -> 861600 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.datbin0 -> 348264 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.datbin0 -> 381032 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.datbin0 -> 517552 bytes
-rw-r--r--doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.datbin0 -> 397416 bytes
-rw-r--r--doc/thesis/figures/data/qpsk_sim_const_nochannel.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_dynamic_grblock_los_etsi_doppler5_k5.py (renamed from doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py)0
-rw-r--r--doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py (renamed from doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py)0
-rw-r--r--doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py (renamed from doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py)0
-rw-r--r--doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py (renamed from doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py)0
-rw-r--r--doc/thesis/figures/data/qpsk_sim_nochannel.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_static_firblock_los_halfsymb.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py (renamed from doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py)0
-rw-r--r--doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_halfsymb.py31
-rw-r--r--doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py (renamed from doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py)0
-rw-r--r--doc/thesis/figures/tikz/qpsk-simulations-static.tex38
34 files changed, 131 insertions, 95 deletions
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_nochannel.dat
index c5d7a51..c5d7a51 100644
--- a/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_const_nochannel.dat
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat
index 38b583c..38b583c 100644
--- a/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_const_nochannel.dat
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat
index 052b5eb..052b5eb 100644
--- a/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_const_nochannel.dat
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.dat
Binary files differ
diff --git a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat
index 2d7d1b4..2d7d1b4 100644
--- a/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_const_nochannel.dat
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.dat
Binary files 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
--- /dev/null
+++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.dat
Binary files differ
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_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_const_dynamic_grblock_los_etsi_doppler5_k5.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.py
index eae2afc..eae2afc 100644
--- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler5_k5.py
+++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler5_k5.py
diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py
index eae2afc..eae2afc 100644
--- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_los_etsi_doppler70_k5.py
+++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_los_etsi_doppler70_k5.py
diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py
index eae2afc..eae2afc 100644
--- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler5.py
+++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler5.py
diff --git a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py
index eae2afc..eae2afc 100644
--- a/doc/thesis/figures/data/qpsk_sim_const_dynamic_grblock_nlos_etsi_doppler70.py
+++ b/doc/thesis/figures/data/qpsk_sim_dynamic_grblock_nlos_etsi_doppler70.py
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_const_static_firblock_los_halfsymb.py b/doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py
index eae2afc..eae2afc 100644
--- a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_halfsymb.py
+++ b/doc/thesis/figures/data/qpsk_sim_static_firblock_los_vec.py
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_const_static_firblock_los_vec.py b/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py
index eae2afc..eae2afc 100644
--- a/doc/thesis/figures/data/qpsk_sim_const_static_firblock_los_vec.py
+++ b/doc/thesis/figures/data/qpsk_sim_static_firblock_nlos_vec.py
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