diff options
Diffstat (limited to 'doc/thesis/figures')
13 files changed, 212 insertions, 0 deletions
diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat Binary files differindex b2f96ab..4d0e9a1 100644 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat +++ b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat 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 Binary files differnew file mode 100644 index 0000000..425b81b --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat 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 Binary files differnew file mode 100644 index 0000000..9c8a1d3 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat 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 Binary files differnew file mode 100644 index 0000000..9ab4d78 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat 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 Binary files differnew file mode 100644 index 0000000..d27f49e --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat 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 Binary files differnew file mode 100644 index 0000000..d7923f4 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat 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 Binary files differnew file mode 100644 index 0000000..dba8d1e --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat 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 Binary files differnew file mode 100644 index 0000000..4f9bb0c --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat 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 Binary files differnew file mode 100644 index 0000000..ca21c39 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat 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 new file mode 100644 index 0000000..cbca31e --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_NLOS.py @@ -0,0 +1,32 @@ +#!/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 new file mode 100644 index 0000000..68090a4 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py @@ -0,0 +1,32 @@ +#!/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 +500 + +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/tikz/qpsk-sim-constellations-static-symb-NLOS.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex new file mode 100644 index 0000000..16e966a --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-NLOS.tex @@ -0,0 +1,74 @@ +% 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 new file mode 100644 index 0000000..6095378 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb-vec.tex @@ -0,0 +1,74 @@ +% 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} |