diff options
86 files changed, 561 insertions, 818 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 db843b8..6d2d4ba 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -26,25 +26,26 @@ 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 := \ 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_nochannel.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_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 + # Get the main file from the file @@ -75,6 +76,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 fa59db4..d5d5244 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} @@ -443,42 +443,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 NLOS. - } - \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} @@ -518,3 +482,22 @@ Some of the issus was how do you correct the statistical models, if the is noise For that to get a quick view on it a Mathlab little Matlab model for the different distribution where made. +\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/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 differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat Binary files differindex c5d7a51..c5d7a51 100644 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat +++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_nochannel.dat 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 Binary files differnew file mode 100644 index 0000000..0eb44fb --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..5be6d56 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_los_vec.dat 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 Binary files differnew file mode 100644 index 0000000..2dd54b7 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..b94d152 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/channel_qpsk_sim_static_firblock_nlos_vec.dat 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat Binary files differindex 38b583c..38b583c 100644 --- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat +++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_nochannel.dat 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 Binary files differnew file mode 100644 index 0000000..cfacb55 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..5ec3948 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_los_vec.dat 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 Binary files differnew file mode 100644 index 0000000..7925b4c --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..3b1823b --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/equalized_qpsk_sim_static_firblock_nlos_vec.dat 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat Binary files differindex 052b5eb..052b5eb 100644 --- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat +++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_nochannel.dat 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 Binary files differnew file mode 100644 index 0000000..03086cc --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..8d9d10c --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_los_vec.dat 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 Binary files differnew file mode 100644 index 0000000..c6d4ee2 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..65c170d --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/locked_qpsk_sim_static_firblock_nlos_vec.dat diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat Binary files differdeleted file mode 100644 index 560f179..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_dynamic.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat Binary files differdeleted file mode 100644 index 7466d69..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static.dat +++ /dev/null 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 differdeleted file mode 100644 index 4d0e9a1..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat +++ /dev/null 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 differdeleted file mode 100644 index 425b81b..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_NLOS.dat +++ /dev/null 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 differdeleted file mode 100644 index 9c8a1d3..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb_vec.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat Binary files differdeleted file mode 100644 index 473c43d..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_dynamic.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat Binary files differdeleted file mode 100644 index c884795..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat Binary files differdeleted file mode 100644 index fc70e83..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat +++ /dev/null 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 differdeleted file mode 100644 index 9ab4d78..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_NLOS.dat +++ /dev/null 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 differdeleted file mode 100644 index d27f49e..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb_vec.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat Binary files differdeleted file mode 100644 index 92a9b97..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_dynamic.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat Binary files differdeleted file mode 100644 index 1e85803..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat Binary files differdeleted file mode 100644 index e3be058..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat +++ /dev/null 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 differdeleted file mode 100644 index d7923f4..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_NLOS.dat +++ /dev/null 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 differdeleted file mode 100644 index dba8d1e..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb_vec.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat Binary files differdeleted file mode 100644 index bc21557..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_dynamic.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat Binary files differdeleted file mode 100644 index cb5ab19..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static.dat +++ /dev/null diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat Binary files differdeleted file mode 100644 index 54d351f..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat +++ /dev/null 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 differdeleted file mode 100644 index 4f9bb0c..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_NLOS.dat +++ /dev/null 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 differdeleted file mode 100644 index ca21c39..0000000 --- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb_vec.dat +++ /dev/null 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat Binary files differindex 2d7d1b4..2d7d1b4 100644 --- a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat +++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_nochannel.dat 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 Binary files differnew file mode 100644 index 0000000..f1be833 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..205bc1c --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_los_vec.dat 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 Binary files differnew file mode 100644 index 0000000..328e38b --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_halfsymb.dat 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 Binary files differnew file mode 100644 index 0000000..ceec6d6 --- /dev/null +++ b/doc/thesis/figures/data/flowgraphs/synchronized_qpsk_sim_static_firblock_nlos_vec.dat 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/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/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-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..5806d42 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-simulations-dynamic.tex @@ -0,0 +1,19 @@ +% 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 +} 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..ebe7957 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-simulations-static.tex @@ -0,0 +1,73 @@ +% 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_static_firblock_nlos_halfsymb.dat}{0}{1}{4}{ + ylabel = {Channel with ISI}, + yticklabel style = { + text width = 2.25em, + align = right, + }, + 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_static_firblock_nlos_halfsymb.dat}{2}{3}{4}{% + ylabel = {Synchronized}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{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_static_firblock_nlos_halfsymb.dat}{4}{5}{1}{% + ylabel = {Equalized}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{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_static_firblock_nlos_halfsymb.dat}{6}{7}{1}{% + ylabel = {Locked}, + yticklabel style = { + text width = 2.25em, + align = right, + }, +}{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 + 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 <willcode4@gmail.com> +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 <willcode4@gmail.com> +--- + 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 |