From 6964c9b50490003a4e2da939a020850d31dc8777 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 16 Dec 2021 18:16:31 +0100 Subject: Figures for statistical model --- doc/thesis/figures/data/rice_pdf.py | 22 +++++++++++++ .../figures/tikz/rayleigh-rice-pdf-plots.tex | 33 +++++++++++++++++++ .../figures/tikz/ring-of-scattering-objects.tex | 38 ++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 doc/thesis/figures/data/rice_pdf.py create mode 100644 doc/thesis/figures/tikz/rayleigh-rice-pdf-plots.tex create mode 100644 doc/thesis/figures/tikz/ring-of-scattering-objects.tex (limited to 'doc/thesis/figures') diff --git a/doc/thesis/figures/data/rice_pdf.py b/doc/thesis/figures/data/rice_pdf.py new file mode 100644 index 0000000..110b6b3 --- /dev/null +++ b/doc/thesis/figures/data/rice_pdf.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +import os +import numpy as np + +a = np.linspace(0, 3, num=100) + +ps = [] +for k in [0, 2, 5, 10]: + p = 2 * a * (1 + k) * np.exp(-k - (a**2) * (k + 1)) \ + * np.i0(2 * a * np.sqrt(k * (1 + k))) + + ps += [p] + + +data = np.array(list(zip(a, *ps))) + +# 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/rayleigh-rice-pdf-plots.tex b/doc/thesis/figures/tikz/rayleigh-rice-pdf-plots.tex new file mode 100644 index 0000000..2a8f971 --- /dev/null +++ b/doc/thesis/figures/tikz/rayleigh-rice-pdf-plots.tex @@ -0,0 +1,33 @@ +% vim:set ts=2 sw=2 noet: +\begin{tikzpicture} + \begin{axis}[ + font = \small, + width = \linewidth, height = 6cm, + ylabel = {Probability density}, + % xlabel = {Amplitude}, + xlabel near ticks, + ylabel near ticks, + smooth, samples = 100, domain = 0:3, + legend = north east, legend style = { + cells = {anchor = west}, + font = \footnotesize, + }, + ] + + \addplot[thick, solid, blue] plot ({x}, {2*x*exp(-x^2)}); + \addlegendentry{Rayleigh} + + \addplot[thick, solid, red!40!blue] table[x index = 0, y index = 2] + {figures/data/rice_pdf.dat}; + \addlegendentry{Rice \(K = 2\)} + + \addplot[thick, solid, red!60!blue] table[x index = 0, y index = 3] + {figures/data/rice_pdf.dat}; + \addlegendentry{Rice \(K = 5\)} + + \addplot[thick, solid, red!80!blue] table[x index = 0, y index = 4] + {figures/data/rice_pdf.dat}; + \addlegendentry{Rice \(K = 10\)} + + \end{axis} +\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/ring-of-scattering-objects.tex b/doc/thesis/figures/tikz/ring-of-scattering-objects.tex new file mode 100644 index 0000000..98387ad --- /dev/null +++ b/doc/thesis/figures/tikz/ring-of-scattering-objects.tex @@ -0,0 +1,38 @@ +% vim:set ts=2 sw=2 noet: +\begin{tikzpicture}[ + antenna/.pic = { + \draw[very thick] (0,0) -- ++(2mm, 3mm) -- ++(-4mm,0) -- cycle; + \draw[very thick] (0,0) -- ++(0,-5mm) coordinate (-mast) {}; + \draw[thick] (0,0) -- ++(0,3mm); + \node[inner sep = 0pt, outer sep = 6pt] (-center) at (0,2mm) {}; + }, + ] + + \coordinate (X) at (-3.5,3); + + % antennas + \draw (X) pic (T) {antenna} node[above = 3mm] {\sffamily\bfseries TX}; + + % rays + \foreach \i [count=\j] in {-2.2,-0.3,1.3,2.7,5.3,7.1,8.3}{ + \draw[blue!20, line width = 1mm] + (T-center) -- ({30 * \i}:25mm) coordinate (p\j) -- (0,0); + }; + + % angle + \draw[dashed, thick] (25mm, 0) node[right] {0} + -- (0,0) -- (p3) node[above right] {\(\vartheta_k \sim \mathcal{U}(0,2\pi)\)}; + + % LOS + \draw[line width = 1mm, red!50, + decorate, decoration = { + expanding waves, angle = 5, segment length = 2mm + } + ] (T-center) -- (-5mm, 5mm); + + % ring und RX antenna + \draw (0,0) pic (R) {antenna} node[above = 3mm] {\sffamily\bfseries RX}; + \draw[thick, densely dotted] circle (25mm); + + +\end{tikzpicture} -- cgit v1.2.1