diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/thesis/Fading.bib | 39 | ||||
-rw-r--r-- | doc/thesis/Fading.tex | 91 | ||||
-rw-r--r-- | doc/thesis/Makefile | 19 | ||||
-rw-r--r-- | doc/thesis/chapters/introduction.tex | 8 | ||||
-rw-r--r-- | doc/thesis/chapters/theory.tex | 247 | ||||
-rw-r--r-- | doc/thesis/figures/data/multipath_frequency_response.dat | 300 | ||||
-rw-r--r-- | doc/thesis/figures/data/multipath_frequency_response.py | 35 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/multipath-frequency-response-plots.tex | 70 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/multipath-impulse-response.tex | 34 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/multipath-sketch.tex | 37 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/psk-constellation.tex (renamed from doc/thesis/figures/tikz/qpsk-constellation.tex) | 0 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/qam-constellation.tex | 3 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/qam-example.tex | 49 | ||||
-rw-r--r-- | doc/thesis/figures/tikz/qam-modulator.tex | 13 | ||||
-rw-r--r-- | doc/thesis/image/BPSK2.PNG | bin | 41239 -> 0 bytes | |||
-rw-r--r-- | doc/thesis/tex/docmacros.sty | 2 | ||||
-rw-r--r-- | doc/thesis/tex/docstyle.sty | 87 | ||||
-rw-r--r-- | doc/thesis/tex/titlepage.tex | 32 |
18 files changed, 936 insertions, 130 deletions
diff --git a/doc/thesis/Fading.bib b/doc/thesis/Fading.bib index 9959867..eda5817 100644 --- a/doc/thesis/Fading.bib +++ b/doc/thesis/Fading.bib @@ -96,27 +96,48 @@ url = "https://www.youtube.com/watch?v=4ibjrRzvJ5E&list=PL7sWxFnBVJLXsvsLzMXT2Fk4ZPD7BJTBX&index=3" } +@misc{Gallager, + title = "Course material for 6.450 Principles of Digital Communications I", + author = "Robert Gallager", + year = 2006, + month = "Fall", + publisher = "MIT OpenCourseWare, Massachusetts Institute of Technology", + url = "https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-450-principles-of-digital-communications-i-fall-2006" +} + +@article{Kschischang, + title = "The Hilbert Transform", + author = "Frank R. Kschischang", + year = 2006, + month = "October", + organization = "The Edward S. Rogers Sr. Department of Electrical and Computer Engineering, University of Toronto", + url = "http://web.eecs.utk.edu/~mjr/ECE342/hilbert.pdf", +} + @book{Hsu, title = {Schaum's Outline of Analog and Digital Communications}, author = {Hsu, H.P.}, isbn = {9780071402286}, lccn = {2002153194}, series = {Schaum's outline series}, - url = {https://books.google.ch/books?id=02I-J\_ZQa50C}, year = {2003}, publisher = {McGraw-Hill Education} } -@book{Kneubuehler, - title = {Nachrichtentechnik 1 + 2}, - author = {Kneub\"uhler, T.}, - year = {2020}, +@misc{Kneubuehler, + title = {Nachrichtentechnik 1 + 2}, + author = {Kneub\"uhler, T.}, + year = {2020}, + month = {September}, + organization = "Eastern Switzerland University of Applied Sciences", } -@book{Mathis, - title = {Wireless Communication}, - author = {{Prof. Dr. Mathis H.} and {Prof. Dr. Lang H.D.}}, - year = {2021}, +@misc{Mathis, + title = {Wireless Communication}, + author = {{Prof. Dr. Mathis H.} and {Prof. Dr. Lang H.D.}}, + year = {2021}, + month = {September}, + organization = "Eastern Switzerland University of Applied Sciences", } @BOOK{Meyer2011, diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index f8a5dfd..c0b5f41 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -4,80 +4,101 @@ % vim: set ts=2 sw=2 noet: \documentclass[ - twoside, openright, titlepage, numbers = noenddot, - headinclude, footinclude, cleardoublepage = empty, abstract = on, - BCOR = 5mm, paper = a4, fontsize = 11pt + % show when a line is too long (drafting) + overfullrule, + % page size and margins + paper = a4, twoside, openright, BCOR = 5mm, + headinclude, footexclude, + % font size + fontsize = 11pt, + % style of empty pages (after chapters) + cleardoublepage = empty, + % extra sections + titlepage, abstract = on, + % header and footers + automark, ]{scrreprt} -%% Custom packages -\usepackage{tex/docmacros} - %% Language configuration \usepackage{polyglossia} -%% Links -\usepackage{hyperref} - -\hypersetup{ - colorlinks = true -} - -%% Citations -\usepackage[ - backend = biber, - style = ieee, -]{biblatex} - -\addbibresource{Fading.bib} +%% Custom packages +\usepackage{tex/docmacros} +\usepackage[draft]{tex/docstyle} %% Pretty figures -\usepackage{tikz} +\usepackage{circuitikz} % Electric diagrams +\usepackage{pgfplots} % Pretty plots +\usepackage{tikz} % Pretty drawings +\usepackage{tikz-3dplot} % More dimensions! +\pgfplotsset{compat=newest} \usetikzlibrary{ + external, calc, + positioning, backgrounds, + decorations.pathreplacing, + decorations.markings, matrix, + arrows, } +% \tikzexternalize[ + % mode=graphics if exists, + % figure list=true] \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground} -\usepackage{circuitikz} +\usepackage{graphicx} % Include pictures +\usepackage{subcaption} % Subfigures -%% Pretty plots -\usepackage{pgfplots} +%% Placeholders +\usepackage{skeldoc} -%% Include pictures -\usepackage{graphicx} +%% Load bibliography +\addbibresource{Fading.bib} -%% Subfigures -\usepackage{subcaption} +%% Recompute page margins +\KOMAoptions{DIV=default} -%% TODO: move into tex/docstyle.sty -%% Sans serif font -\usepackage{roboto} +%% Metadata +\title{Multipath fading demonstration using software defined radio} +\author{Naoki Sean Pross \and Sara Cinzia Halter} +\date{Fall semester 2021} \begin{document} \hypersetup{pageanchor = false} - %% TODO: titlepage + + %% TODO: create a proper titlepage + \maketitle + % \include{tex/titlepage} \cleardoublepage \pagenumbering{roman} + \setcounter{page}{1} + + \begin{abstract} + %% TODO: write abstract + \skelpar + \end{abstract} - %% TODO: abstract - % \begin{abstract} - % \end{abstract} + \tableofcontents + \cleardoublepage \hypersetup{pageanchor = true} \pagenumbering{arabic} \setcounter{page}{1} + \pagestyle{scrheadings} \include{chapters/introduction} \include{chapters/theory} \include{chapters/implementation} \include{chapters/conclusions} + %% TODO: remove in final version + \printskelnotes \printbibliography \end{document} diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index 7095689..167ad29 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -1,11 +1,12 @@ TEX := xelatex -TEXARGS := -halt-on-error -interaction=nonstopmode +TEXARGS := -halt-on-error -interaction=nonstopmode -shell-escape=1 SOURCES := \ Fading.tex \ Fading.bib \ \ tex/docmacros.sty \ + tex/docstyle.sty \ tex/preamble.tex \ tex/titlepage.tex \ \ @@ -15,9 +16,14 @@ SOURCES := \ chapters/conclusions.tex \ \ figures/tikz/overview.tex \ - figures/tikz/qpsk-constellation.tex \ + figures/tikz/psk-constellation.tex \ figures/tikz/qam-modulator.tex \ - figures/tikz/qam-constellation.tex + figures/tikz/qam-constellation.tex \ + figures/tikz/multipath-sketch.tex \ + figures/tikz/multipath-impulse-response.tex \ + figures/tikz/multipath-frequency-response-plots.tex + +DATA := figures/data/multipath_frequency_response.dat # Get the main file from the file MAIN := $(shell sed -ne 's/^.*\!TeX root =\(.*\)$$/\1/ p' $(SOURCES)) @@ -31,7 +37,10 @@ endif .PHONY: all all: $(PDF) -%.pdf: %.tex $(SOURCES) +%.dat: %.py + /usr/bin/env python3 $< + +%.pdf: %.tex $(SOURCES) $(DATA) $(TEX) $(TEXARGS) $< # TODO: makeindex biber $(basename $(MAIN)) @@ -39,7 +48,7 @@ all: $(PDF) .PHONY: clean cleanall 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 + @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 diff --git a/doc/thesis/chapters/introduction.tex b/doc/thesis/chapters/introduction.tex index e2ccd46..734abad 100644 --- a/doc/thesis/chapters/introduction.tex +++ b/doc/thesis/chapters/introduction.tex @@ -6,9 +6,11 @@ It is undeniable that in the last two decades modern wireless devices have become extremely ubiquitous, and are no longer employed under carefully chosen conditions. -Nowadays smart phones and internet of things (IoT) devices are carried around by everyone and have to work in environments that are very far from ideal. Furthermore, next generation wireless devices in urban environments will also include vehicles (cars, buses and trains)\cite{AntonescuTB17}, where reliability of intra-vehicular communication directly translates into safety. Whereas in rural regions, developing countries as well as other low-user density areas wireless transmission links using mesh networks have become a practical alternative to wired broadband\cite{Macmillan2019tidal,Subramanian2006rethinking,Flickenger2007wireless}. +Nowadays smart phones and internet of things (IoT) devices and many other wireless devices are carried around by everyone and have to work in environments that are very far from ideal. Furthermore in addition to the already large class of networked appliances, next generation wireless devices in urban environments will include the new category of vehicles \cite{AntonescuTB17}, where reliability of intra-vehicular communication directly translates into safety. While at the same time in rural regions, developing countries as well as other low-user density areas wireless transmission links using mesh networks have become a practical alternative to wired broadband \cite{Macmillan2019tidal,Subramanian2006rethinking,Flickenger2007wireless}. -All of the mentioned cases have a common problem caused by \emph{the fading effect}, which degrade the reliability of the link\cite{Mathis}. This was foreseen\cite{Frederiksen2002overview,Maddocks1993introduction} and today most modern transmission schemes implement measures to reduce the effects fading\cite{Mathis,Hsu}. +The study of problems concerning wireless devices is thus a very relevant topic today. More specifically, a common issue in the previously mentioned use cases is the so called \emph{multipath fading effect}, which degrade the reliability of the transmission link \cite{Mathis, Gallager}. The presence of fading was actually foreseen \cite{Frederiksen2002overview,Maddocks1993introduction} and today most modern transmission schemes implement measures to reduce the effects fading \cite{Mathis,Hsu}. + +In this work we are going to study the multipath fading effect, and how it affects modern digital transmission systems that uses quadrature amplitude (QAM) and phase shift keying (PSK) modulation. \section{Task description} @@ -19,3 +21,5 @@ As described in the document given at the beginning of the semester: The task description document is found in the appendix. \section{Overview} + +\skelpar{Overview of the whole document.} diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index e3809fd..f0afe65 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -4,35 +4,46 @@ \begin{figure} \centering - \input{figures/tikz/overview} + \resizebox{\linewidth}{!}{ + \input{figures/tikz/overview} + } \caption{ Block diagram for a general wireless communication system with annotated signal names. Frequency domain representations of signals use the uppercase symbol of their respective time domain name. \label{fig:notation} } \end{figure} -In this section we will briefly give the mathematical background required by the modulation schemes used in the project. The notation used is summarised in figure \ref{fig:notation}. For conciseness encoding schemes and (digital) signal processing calculations are left out and discussed later. Thus for this section \(m_e = m\). +In the first two sections we will briefly give the mathematics required by the modulation schemes used in the project. The notation used is summarised in figure \ref{fig:notation}. For conciseness encoding schemes and (digital) signal processing calculations are left out and discussed later. Thus for this section \(m_e = m\). +\skelpar[4]{Finish overview of the chapter.} + +\skelpar[3]{Discuss notation \(m(n) = m(nT)\) in discrete time and some other details.} + -%% TODO: Par on notation m(n) = m(nT) = discrete time +%% TODO: A section on maths? +% \section{Signal space and linear operators} \section{Quadrature amplitude modulation (\(M\)-ary QAM)} \begin{figure} \centering - \input{figures/tikz/qam-modulator} + \resizebox{\linewidth}{!}{ + \input{figures/tikz/qam-modulator} + } \caption{ Block diagram of a \(M\)-ary QAM modulator. \label{fig:quadrature-modulation} } \end{figure} -Quadrature amplitude modulation is a family of modern digital modulation methods, that use an analog carrier signal. The simple yet effective idea behind QAM is to encode extra information into an orthogonal carrier signal, thus increasing the number of bits sent per unit of time. A block diagram of the process is shown in figure \ref{fig:quadrature-modulation}. +Quadrature amplitude modulation is a family of modern digital modulation methods, that use an analog carrier signal. The simple yet effective idea behind QAM is to encode extra information into an orthogonal carrier signal, thus increasing the number of bits sent per unit of time \cite{Gallager,Kneubuehler,Mathis,Hsu}. A block diagram of the process is shown in figure \ref{fig:quadrature-modulation}. %% TODO: Quick par on "we will dicusss M-Ary QAM, M is 2^something" +\subsection{Modulation of a digital message} + \paragraph{Bit splitter} -As mentioned earlier, quadrature modulation allows sending more than one bit per unit time. The first step to do it is to use a so called bit splitter, converts the continuous data stream \(m(n)\) into pairs of chunks of \(\sqrt{M}\) bits. The two bit vectors of length \(\sqrt{M}\), denoted by \(\vec{m}_i\) and \(\vec{m}_q\) in figure \ref{fig:quadrature-modulation}, are called in-phase and quadrature component respectively. The reason will become more clear later. +As mentioned earlier, quadrature modulation allows sending more than one bit per unit time. The first step to do it is to use a so called bit splitter, that converts the continuous bitstream \(m(n)\) into pairs of chunks of \(\sqrt{M}\) bits. The two bit vectors of length \(\sqrt{M}\), denoted by \(\vec{m}_i\) and \(\vec{m}_q\) in figure \ref{fig:quadrature-modulation}, are called in-phase and quadrature component respectively\cite{Hsu}. The reason will become more clear later. \paragraph{Binary to level converter} @@ -42,38 +53,48 @@ Both bit vectors \(\vec{m}_i, \vec{m}_q \in \{0,1\}^{\sqrt{M}}\) are sent throug \begin{equation} m_i(t) = \text{Level}(\vec{m}_i) \cdot p(t), \end{equation} -i.e. a pulse function\footnote{Typically a root raised cosine to optimize for bandwidth.} \(p(t)\) scaled by the interpreted binary value, written here using a ``Level'' function. So at this point the analog waveform is already encoding \(\sqrt{M}\) bits per unit time, but actually it is possible to do better. +i.e. a pulse function\footnote{Typically a root raised cosine to optimize for bandwidth \cite{Hsu}.} \(p(t)\) scaled by the interpreted binary value, written here using a ``Level'' function. So at this point a level of each analog waveform is encodes \(\sqrt{M}\) bits per unit time, and there are two of such waveforms. + \paragraph{Mixer} -Having analog level signals, it is this now possible to mix them with radio frequency carriers. Because there are two waveforms, one might expect that two carrier frequencies are necessary, however this is not the case. +Having analog level signals, it is this now possible to mix them with radio frequency carriers. Because there are two waveforms, one might expect that two carrier frequencies are necessary, however this is not the case. The two component \(m_i(t)\) and \(m_q(t)\) are mixed with two different periodic signals \(\phi_i(t)\) and \(\phi_q(t)\) that have the same frequency \(\omega_c = 2\pi / T\). How this is possible is explained in the next section. + + +\subsection{Orthogonality of carrier signals} -The two component \(m_i(t)\) and \(m_q(t)\) are mixed with two different periodic signals \(\phi_i(t)\) and \(\phi_q(t)\) that have the same frequency \(\omega_c = 2\pi / T\). Now the clever part: the carrier signals are picked to be \emph{orthonormal}\footnote{Orthonormal here can be understood in the same sense as in finite dimensional vector spaces, where orthonormal vectors behave exactly like equations \eqref{eqn:orthonormal-conditions} under the dot product.} to each other, mathematically this is expressed by the conditions +Before explaining how the two carrier signals are generated, we first need to discuss some important mathematical properties \(\phi_i\) and \(\phi_q\) need to have, in order to modulate two messages over the same frequency \(\omega_c\). The two carriers need to be \emph{orthonormal}\footnote{Actually orthogonality alone would be sufficient, however then the left side of \eqref{eqn:orthonormal-condition} would not equal 1, and an inconvenient factor would be introduced in many later equations \cite{Gallager,Hsu}.} to each other, mathematically this is expressed by the conditions \begin{subequations} \label{eqn:orthonormal-conditions} \begin{align} - \langle \phi_i | \phi_q \rangle - &= \int_T \phi_i^* \phi_q \, dt = \int_T \phi_i \phi_q^* \, dt - = 0, \text{ and } \\ - \langle \phi_k | \phi_k \rangle - &= \int_T \phi_k^* \phi_k \,dt = 1, - \text{ where } k \text{ is either } i \text{ or } q. + \langle \phi_i, \phi_q \rangle + &= \int_T \phi_i \phi_q^* \, dt + = 0, \text{ and } \label{eqn:orthogonal-condition} \\ + \langle \phi_k, \phi_k \rangle + &= \int_T \phi_k \phi_k^* \,dt = 1, + \text{ where } k \text{ is either } i \text{ or } q. \label{eqn:orthonormal-condition} \end{align} \end{subequations} -In practice typically \(\phi_i(t) = \cos(\omega_c t)\) and \(\phi_q(t) = j\sin(\omega_c t)\). Provided these rather abstract conditions, let's define a new signal +Provided these rather abstract conditions, let's define a new signal \begin{equation} s = m_i\phi_i + m_q\phi_q. \end{equation} %% TODO: is this assumption correct? Notice that assuming \(m_i\) and \(m_q\) are constant\footnote{This is an approximation assuming that the signal changes much slower relative to the carrier.} over the carrier's period \(T\), \begin{align*} - \langle s | \phi_i \rangle = \int_T s^* \phi_i \,dt - &= \int m_i \phi_i^* \phi_i + m_q \phi_q^* \phi_i \,dt \\ - &= m_i \underbrace{\int_T \phi_i^* \phi_i \,dt}_{1} - + m_q \underbrace{\int_T \phi_q^* \phi_i \,dt}_{0} = m_i, + \langle s, \phi_i \rangle = \int_T s \phi_i^* \,dt + &= \int m_i \phi_i \phi_i^* + m_q \phi_q \phi_i^* \,dt \\ + &= m_i \underbrace{\int_T \phi_i \phi_i^* \,dt}_{1} + + m_q \underbrace{\int_T \phi_q \phi_i^* \,dt}_{0} = m_i, \end{align*} -which effectively means that it is possible to isolate a single component \(m_i(t)\) out of \(s(t)\). The same of course works with \(\phi_q\) as well resulting in \(\langle s | \phi_q \rangle = m_q\). Thus (remarkably) it is possible to send two signals on the same frequency, without them interfering with each other. Since each signal can represent one of \(\sqrt{M}\) values, by having two we obtain \(\sqrt{M} \cdot \sqrt{M} = M\) possible combinations. +which effectively means that it is possible to isolate a single component \(m_i(t)\) out of \(s(t)\). The same of course works with \(\phi_q\) as well resulting in \(\langle s, \phi_q \rangle = m_q\). Thus (remarkably) it is possible to send two signals on the same frequency, without them interfering with each other. Since each signal can represent one of \(\sqrt{M}\) values, by having two we obtain \(\sqrt{M} \cdot \sqrt{M} = M\) possible combinations. + +A graphical way to see what is happening, is to observe a so called \emph{constellation diagram}. An example is shown in figure \ref{fig:qam-constellation} for \(M = 16\). The two carrier signals \(\phi_i\) and \(\phi_q\) can be understood as bases of a coordinate system, in which the two amplitude levels of the two modulated messages, determine a position in the grid. + +\paragraph{Example} -A better way to see what QAM does, is to observe a so called \emph{constellation diagram}. An example is shown in figure \ref{fig:qam-constellation} for \(M = 16\). The two carrier signals \(\phi_i\) and \(\phi_q\) can be understood as bases of a coordinate system, +A concrete example for \(M = 16\): if the message is 1110 the bit splitter creates two values \(\vec{m}_q = 11\) and \(\vec{m}_i = 10\); both are converted into an analog amplitudes \(m_q = 3\) and \(m_i = 4\); that are then mixed with their respective carrier, resulting in \(s(t)\) being the point inside the bottom right sub-quadrant of the top right quadrant (blue dot in figure \ref{fig:qam-constellation}). + +In figure \ref{fig:qam-constellation} the dots of the constellation have coordinates that begin on the bottom left corner, and are nicely aligned on a grid. Both are not a necessary requirement for QAM, in fact there are many schemes (for example when \(M = 32\)) that are arranged on a non square shape, and place the dots in different orders. The only constraint that most QAM modulators have in common, with regards to the geometry of the constellation, is that between any two adjacent dots (along the axis, not diagonally) only one bit of the represented value changes (gray code). This is done to improve the bit error rate (BER) of the transmission. \begin{figure} \hfill @@ -83,8 +104,8 @@ A better way to see what QAM does, is to observe a so called \emph{constellation \end{subfigure} \hfill \begin{subfigure}{.4\linewidth} - \input{figures/tikz/qpsk-constellation} - \caption{8-PSK\label{fig:qpsk-constellation}} + \input{figures/tikz/psk-constellation} + \caption{8-PSK\label{fig:psk-constellation}} \end{subfigure} \hfill \caption{ @@ -92,9 +113,29 @@ A better way to see what QAM does, is to observe a so called \emph{constellation } \end{figure} -\section{Quadrature phase shift keying (\(M\)-QPSK)} +\subsection{Construction of orthogonal carrier signals} + +Knowing why there is a need for orthogonal carriers, we should now discuss which functions satisfy the property described by \eqref{eqn:orthogonal-condition}. If \(\phi_i\) is a real valued signal (which is typical) it is possible to find a function the quadrature carrier using the \emph{Hilbert transform} (sometimes called Hilbert filter): +\begin{equation} + \hilbert g(t) = g(t) * \frac{1}{\pi t} + = \frac{1}{\pi} \int_\mathbb{R} \frac{g(\tau)}{t - \tau} \,d\tau + = \frac{1}{\pi} \int_\mathbb{R} \frac{g(t - \tau)}{\tau} \,d\tau. +\end{equation} +The Hilbert transform is a linear operator that introduces a phase shift of \(\pi / 2\) over all frequencies \cite{Hsu,Gallager}, and it is possible to show that given a real valued function \(g(t)\) then \(\langle g, \hilbert g \rangle = 0\) \cite{Kschischang,Kneubuehler}. There are many functions that are Hilbert transform pairs, however in practice the pair \(\phi_i(t) = \cos(\omega_c t)\) and \(\phi_q(t) = \hilbert \phi_i(t) = \sin(\omega_c t)\) is always used. + +\paragraph{Oscillator and phase shifter} + +\skelpar[4]{Give a few details on how the carrier is generated in practice.} + +\subsection{Spectral properties of a QAM signal} + +\skelpar[4]{Spectral properties of QAM} + +\section{Phase shift keying (\(M\)-PSK)} + +\skelpar[6]{Explain PSK (assuming the previous section was read).} -PSK is a popular modulation type for data transmission\cite{Meyer2011}. With a bipolar binary signal, the amplitude remains constant and only the phase will be changed with phase jumps of 180 degrees, which can be seen as a multiplication of the carrier signal with $\pm$ 1. That is alow known as binary phase shift keying. +% PSK is a popular modulation type for data transmission\cite{Meyer2011}. With a bipolar binary signal, the amplitude remains constant and only the phase will be changed with phase jumps of 180 degrees, which can be seen as a multiplication of the carrier signal with $\pm$ 1. That is alow known as binary phase shift keying. % \begin{figure} % % TODO: Better Image @@ -102,37 +143,157 @@ PSK is a popular modulation type for data transmission\cite{Meyer2011}. With a b % \includegraphics[width=5cm]{./image/BPSK2.png} % \end{figure} -Two bits are modulated at ones with the same bandwidth as a 2-PSK so more informations are transmitted at the same time. \cite{Meyer2011} +% Two bits are modulated at ones with the same bandwidth as a 2-PSK so more informations are transmitted at the same time. \cite{Meyer2011} %TODO: Image Signal Raum -Most times there is noise and the points on the constellation diagram become a surface. -If the surfaces overlap there will be a problem with decoding. +% Most times there is noise and the points on the constellation diagram become a surface. If the surfaces overlap there will be a problem with decoding. + +\subsection{Quadrature PSK (QPSK)} + +\skelpar[2]{QPSK = 4-PSK = 4-QAM} + +\section{Wireless channel} + +In the previous section, we discussed how the data is modulated and demodulated at the two ends of the transmission system. In this section we will discuss what happens between the sender and receiver when the modulated passband signal is transmitted wirelessly. + +In theory because wireless transmission happens through electromagnetic radiation, to model a wireless channel one would need to solve Maxwell's equations for either the electric or magnetic field, however in practice that is not (analytically) possible. Instead what is typically done, is to model the impulse response of the channel using a geometrical or statistical model, parametrized by a set of coefficients that are either simulated or measured experimentally \cite{Gallager}. + +In our model we are going to include an additive white Gaussian noise (AWGN) and a Rician (or Rayleighan) fading; both are required to model physical effects of the real world. The former in particular is relevant today, as it mathematically describes dense urban environments. + +\subsection{Additive white Gaussian noise} + +%% TODO: Discuss thermal stuff etc? +\skelpar[3]{What does AWGN model?} +\skelpar[3]{Mathematical model of AWGN, assumptions, limits etc.} +\begin{equation} + \skelline +\end{equation} + +\subsection{Geometric multipath fading model} + +The simplest way to understand the multipath fading, is to consider it from a geometrical perspective. Figure \ref{fig:multipath-sketch} is a sketch a wireless transmission system affected by multipath fading. The sender's antenna radiates an electromagnetic wave in the direction of the receiver (red line), however even under the best circumstances a part of the signal is dispersed in other directions (blue lines). + +\begin{figure} + \centering + \input{figures/tikz/multipath-sketch} + \caption{ + Sketch of channel with multipath fading + \label{fig:multipath-sketch} + } +\end{figure} + +The problem is that, as is geometrically evident, some paths are longer than others. Because of this fact, the signal is seen by the receiver multiple times with different phase shifts \cite{Gallager,Messier}. To mathematically model this effect, we describe the received signal \(r(t)\) as a linear combination of delayed copies of the sent signal \(s(t)\), each with a different attenuation \(c_k\) and phase shift \(\tau_k\): +\begin{equation} \label{eqn:geom-multipath-rx} + r(t) = \sum_k c_k s(t - \tau_k). +\end{equation} -\section{Fading} +The linearity of the model is justified by the assumption that the underlying electromagnetic waves behave linearly (superposition holds) \cite{Gallager}. How many copies of \(s(t)\) (usually referred to as ``taps'' or ``rays'') should be included in the formula, depends on the precision requirements of the model. -\subsection{Geometric Model} +A further complication arises, when one end (or both) is not stationary. In that case the lengths of the paths change over time, and as a result both the delays \(\tau_k\) as well as the attenuations \(c_k\) become functions of time: \(\tau_k(t)\) and \(c_k(t)\) respectively \cite{Gallager,Messier}. Even worse is when the velocity at which the device is moving is high, because then Doppler shifts of the electromagnetic wave frequency become non negligible \cite{Gallager}. +We have thus observed that the arrangement can be modelled as a linear time-\emph{varying} system (LTV), if the sender or the receiver (or anything else in the channel) is moving, and as a linear time \emph{invariant} (LTI) system if the geometry is stationary. Regardless of which of the two cases, linearity alone is sufficient to approximate the channel as finite impulse response (FIR) filter \cite{Messier}. Mathematically we can rewrite LTV version of equation \eqref{eqn:geom-multipath-rx} using a convolution product as following: +\begin{align*} + r(t) = \sum_k c_k(t) s(t - \tau_k(t)) &= \sum_k c_k(t) \int_\mathbb{R} s(\tau) \delta(\tau - \tau_k(t)) \,d\tau \\ + &= \int_\mathbb{R} s(\tau) \sum_k c_k(t) \delta(\tau - \tau_k(t)) \,d\tau = s(\tau) * h(\tau, t), +\end{align*} +obtaining a new function +\begin{equation} \label{eqn:multipath-impulse-response} + h(\tau, t) = \sum_k c_k(t) \delta(\tau - \tau_k(t)), +\end{equation} +that describes the \emph{impulse response} of the channel. This function is dependant on two time parameters: actual time \(t\) and convolution time \(\tau\). To better understand \(h(\tau, t)\), consider an example in shown in figure \ref{fig:multipath-impulse-response}. Each stem represents a weighted Dirac delta, so each series of stems of the same color, along the convolution time \(\tau\) axis, is a channel response at some specific time \(t\). Along the other \(t\) axis we see how the entire channel response changes over time\footnote{In the figure only a finite number of stems was drawn, but actually \(h(\tau, t)\) is continuous in \(t\), i.e. the weights \(c_k(t)\) of the Dirac deltas change continuously.}. Notice that the stems are not quite aligned to the \(\tau\) time raster (dotted lines), that is because in equation \eqref{eqn:multipath-impulse-response} not only the weights \(c_k\) but also the delays \(\tau_k\) are time dependent. + +\begin{figure} + \centering + \input{figures/tikz/multipath-impulse-response} + \caption{ + LTV impulse response of a multipath fading channel. + \label{fig:multipath-impulse-response} + } +\end{figure} + +\subsection{Spectrum of a multipath fading channel} -\subsection{Statistical Model} +With a continuous time channel model we can now discuss the spectral properties of a fading channel since the frequency response is the Fourier transform of the impulse response, mathematically \(H(f, t) = \fourier h(\tau, t)\). In this case however \(h(\tau, t)\) depends on two time variables, but that is actually not an issue, it just means that the frequency response is also changing with time. Hence we perform the Fourier transform with respect to the channel (convolution) time variable \(\tau\) to obtain +\begin{equation} \label{eqn:multipath-frequency-response} + H(f, t) = \int_\mathbb{R} \sum_k c_k(t) \delta(\tau - \tau_k(t)) e^{-2\pi jf\tau} \, d\tau + = \sum_k c_k(t) e^{-2\pi jf \tau_k(t)}. +\end{equation} + +Equation \eqref{eqn:multipath-frequency-response} indicates that the frequency response is a periodic complex exponential, which has some important implications. Notice that if there is only one tap (term), the magnitude of \(H(f, t)\) is a constant (with respect to \(f\)) since \(|e^{j\alpha f}| = 1\). This means that the channels attenuates all frequencies by the same amount, therefore it is said to be a \emph{frequency non-selective} channel. Whereas in the case when there is more than one tap, the taps interfere destructively at certain frequencies and the channel is called \emph{frequency selective}. Plots of the frequency response of a two tap channel model are shown in figure \ref{fig:multipath-frequency-response-plots}. On the left is the magnitude of \(H(f, t)\), which presents periodic ``dips'', and on the right complex loci for the two taps (red and blue), as well as their sum (magenta), over the frequency range near the first dip (2 to 2.5 MHz) are shown. -%% TODO: write about advantage of statistical model instead of geometric +\begin{figure} + \centering + \resizebox{\linewidth}{!}{ + \input{figures/tikz/multipath-frequency-response-plots} + } + \caption{ + Frequency response of a multipath fading channel. + \label{fig:multipath-frequency-response-plots} + } +\end{figure} -\paragraph{Continuous time model} +\subsection{Discrete-time model} -Continuous time small scale fading channel response. +\skelpar[3]{Why use a discrete time model?} +\skelpar[3]{Mathematical discretization} -time varying channel impulse response: \begin{equation} - h(t, \tau) = \sum_k c_k (t) \delta(\tau - \tau_k(t)) + h(n, k) = \skelline[8cm]{Discrete-time multipath fading channel impulse response} \end{equation} -received signal \(y = h * x\), i.e. convolution with channel model. +\skelpar[3]{Discrete frequency response. Discuss bins, etc.} + +\subsection{Statistical model} + +\skelpar[5]{Advantages of statistical model over geometric model.} -\subsection{Time discretization of the model} +\begin{figure} + \centering + \begin{subfigure}{.45\linewidth} + \skelfig + \caption{NLOS, Rayleigh} + \end{subfigure} + \hskip 5mm + \begin{subfigure}{.45\linewidth} + \skelfig + \caption{LOS, Rice} + \end{subfigure} + \caption{ + Ring of scattering objects. + \label{fig:multipath-statistical-models} + } +\end{figure} + +\paragraph{NLOS case} + +\skelpar[4]{Explain statistical model with Rayleighan distribution.} +\begin{equation} + \Re{h_l(n)}, \Im{h_l(n)} + \sim \mathcal{N} \left(0, \frac{1}{2} \E{|h_l(n)|^2} \right) +\end{equation} +\skelpar[4] -%% TODO: explain why +\paragraph{LOS case} -Assume \(x\) is a time discrete signal with and bandwidth \(W\), thus the pulse is sinc shaped +\skelpar[4]{Explain statistical model with Rician distribution.} \begin{equation} - x(t) = \sum_n x[n] \sinc(t/T - n) + \Re{h_l(n)}, \Im{h_l(n)} + \sim \mathcal{N} \left( \frac{A_l}{\sqrt{2}}, \frac{1}{2} \sigma_l^2 \right) \end{equation} -Ideal sampling at rate \(2W\) of \(y\) gives +\skelpar[4] + +\section{Receiver DSP chain} + +\skelpar[3]{Overview of the DSP chain.} + +\begin{figure} + \centering + \skelfig[width = .8\linewidth] + \caption{ + Signal processing chain of the receiver. + \label{fig:rx-dsp-chain} + } +\end{figure} + +\paragraph{Synchronization} \skelpar[4]{Polyphase filter bank.} +\paragraph{Equalization} \skelpar[4]{CMA Equalizer.} +\paragraph{Fine tuning} \skelpar[4]{Costas Loop.} diff --git a/doc/thesis/figures/data/multipath_frequency_response.dat b/doc/thesis/figures/data/multipath_frequency_response.dat new file mode 100644 index 0000000..bb10780 --- /dev/null +++ b/doc/thesis/figures/data/multipath_frequency_response.dat @@ -0,0 +1,300 @@ +1.000000e+05 1.000000e-05 1.996053e-05 1.000000e+00 -1.133108e-15 -8.090170e-01 -5.877853e-01 1.909830e-01 -5.877853e-01 +1.031283e+05 9.696658e-06 1.935262e-05 9.999862e-01 5.253475e-03 -8.071602e-01 -5.903324e-01 1.928260e-01 -5.850790e-01 +1.063545e+05 9.402517e-06 1.876306e-05 9.999448e-01 1.050681e-02 -8.052954e-01 -5.928737e-01 1.946494e-01 -5.823669e-01 +1.096816e+05 9.117299e-06 1.819132e-05 9.998758e-01 1.575985e-02 -8.034226e-01 -5.954092e-01 1.964532e-01 -5.796493e-01 +1.131128e+05 8.840733e-06 1.763683e-05 9.997792e-01 2.101245e-02 -8.015419e-01 -5.979387e-01 1.982374e-01 -5.769262e-01 +1.166513e+05 8.572557e-06 1.709908e-05 9.996550e-01 2.626448e-02 -7.996531e-01 -6.004622e-01 2.000019e-01 -5.741978e-01 +1.203005e+05 8.312515e-06 1.657756e-05 9.995033e-01 3.151578e-02 -7.977564e-01 -6.029798e-01 2.017468e-01 -5.714641e-01 +1.240639e+05 8.060361e-06 1.607177e-05 9.993239e-01 3.676621e-02 -7.958518e-01 -6.054914e-01 2.034721e-01 -5.687252e-01 +1.279450e+05 7.815857e-06 1.558123e-05 9.991170e-01 4.201562e-02 -7.939393e-01 -6.079970e-01 2.051777e-01 -5.659814e-01 +1.319476e+05 7.578769e-06 1.510548e-05 9.988824e-01 4.726388e-02 -7.920189e-01 -6.104966e-01 2.068636e-01 -5.632327e-01 +1.360753e+05 7.348873e-06 1.464406e-05 9.986204e-01 5.251083e-02 -7.900906e-01 -6.129901e-01 2.085297e-01 -5.604792e-01 +1.403322e+05 7.125951e-06 1.419654e-05 9.983307e-01 5.775633e-02 -7.881545e-01 -6.154775e-01 2.101762e-01 -5.577211e-01 +1.447222e+05 6.909791e-06 1.376249e-05 9.980135e-01 6.300024e-02 -7.862105e-01 -6.179587e-01 2.118030e-01 -5.549585e-01 +1.492496e+05 6.700188e-06 1.334150e-05 9.976688e-01 6.824241e-02 -7.842588e-01 -6.204339e-01 2.134100e-01 -5.521915e-01 +1.539186e+05 6.496943e-06 1.293317e-05 9.972965e-01 7.348270e-02 -7.822992e-01 -6.229029e-01 2.149973e-01 -5.494202e-01 +1.587336e+05 6.299863e-06 1.253711e-05 9.968967e-01 7.872096e-02 -7.803319e-01 -6.253656e-01 2.165648e-01 -5.466447e-01 +1.636993e+05 6.108762e-06 1.215295e-05 9.964694e-01 8.395704e-02 -7.783568e-01 -6.278222e-01 2.181126e-01 -5.438652e-01 +1.688203e+05 5.923457e-06 1.178033e-05 9.960146e-01 8.919081e-02 -7.763739e-01 -6.302726e-01 2.196406e-01 -5.410817e-01 +1.741016e+05 5.743774e-06 1.141888e-05 9.955323e-01 9.442212e-02 -7.743834e-01 -6.327166e-01 2.211488e-01 -5.382945e-01 +1.795480e+05 5.569541e-06 1.106827e-05 9.950225e-01 9.965082e-02 -7.723852e-01 -6.351544e-01 2.226373e-01 -5.355036e-01 +1.851648e+05 5.400593e-06 1.072817e-05 9.944852e-01 1.048768e-01 -7.703793e-01 -6.375859e-01 2.241059e-01 -5.327091e-01 +1.909574e+05 5.236771e-06 1.039824e-05 9.939205e-01 1.100998e-01 -7.683657e-01 -6.400110e-01 2.255548e-01 -5.299112e-01 +1.969311e+05 5.077917e-06 1.007819e-05 9.933284e-01 1.153198e-01 -7.663445e-01 -6.424298e-01 2.269839e-01 -5.271100e-01 +2.030918e+05 4.923883e-06 9.767697e-06 9.927089e-01 1.205367e-01 -7.643157e-01 -6.448422e-01 2.283932e-01 -5.243055e-01 +2.094451e+05 4.774521e-06 9.466475e-06 9.920619e-01 1.257502e-01 -7.622793e-01 -6.472482e-01 2.297826e-01 -5.214980e-01 +2.159972e+05 4.629689e-06 9.174237e-06 9.913876e-01 1.309602e-01 -7.602353e-01 -6.496478e-01 2.311523e-01 -5.186875e-01 +2.227543e+05 4.489251e-06 8.890706e-06 9.906859e-01 1.361666e-01 -7.581838e-01 -6.520409e-01 2.325021e-01 -5.158742e-01 +2.297228e+05 4.353073e-06 8.615613e-06 9.899569e-01 1.413693e-01 -7.561248e-01 -6.544275e-01 2.338322e-01 -5.130582e-01 +2.369092e+05 4.221026e-06 8.348697e-06 9.892006e-01 1.465681e-01 -7.540582e-01 -6.568076e-01 2.351424e-01 -5.102395e-01 +2.443205e+05 4.092985e-06 8.089705e-06 9.884169e-01 1.517628e-01 -7.519841e-01 -6.591812e-01 2.364328e-01 -5.074184e-01 +2.519636e+05 3.968827e-06 7.838391e-06 9.876060e-01 1.569533e-01 -7.499026e-01 -6.615483e-01 2.377034e-01 -5.045949e-01 +2.598458e+05 3.848436e-06 7.594517e-06 9.867678e-01 1.621395e-01 -7.478136e-01 -6.639088e-01 2.389543e-01 -5.017692e-01 +2.679746e+05 3.731697e-06 7.357851e-06 9.859024e-01 1.673212e-01 -7.457172e-01 -6.662626e-01 2.401853e-01 -4.989414e-01 +2.763577e+05 3.618499e-06 7.128170e-06 9.850098e-01 1.724984e-01 -7.436133e-01 -6.686099e-01 2.413965e-01 -4.961115e-01 +2.850030e+05 3.508734e-06 6.905255e-06 9.840900e-01 1.776707e-01 -7.415021e-01 -6.709505e-01 2.425879e-01 -4.932798e-01 +2.939188e+05 3.402300e-06 6.688894e-06 9.831430e-01 1.828381e-01 -7.393835e-01 -6.732845e-01 2.437595e-01 -4.904463e-01 +3.031136e+05 3.299094e-06 6.478884e-06 9.821689e-01 1.880005e-01 -7.372576e-01 -6.756117e-01 2.449113e-01 -4.876112e-01 +3.125959e+05 3.199018e-06 6.275025e-06 9.811677e-01 1.931577e-01 -7.351244e-01 -6.779323e-01 2.460434e-01 -4.847745e-01 +3.223749e+05 3.101979e-06 6.077123e-06 9.801394e-01 1.983096e-01 -7.329838e-01 -6.802461e-01 2.471556e-01 -4.819365e-01 +3.324598e+05 3.007883e-06 5.884992e-06 9.790841e-01 2.034560e-01 -7.308360e-01 -6.825531e-01 2.482481e-01 -4.790971e-01 +3.428602e+05 2.916641e-06 5.698448e-06 9.780017e-01 2.085968e-01 -7.286809e-01 -6.848534e-01 2.493209e-01 -4.762566e-01 +3.535859e+05 2.828167e-06 5.517317e-06 9.768924e-01 2.137318e-01 -7.265185e-01 -6.871469e-01 2.503739e-01 -4.734151e-01 +3.646472e+05 2.742377e-06 5.341425e-06 9.757561e-01 2.188610e-01 -7.243490e-01 -6.894335e-01 2.514071e-01 -4.705726e-01 +3.760545e+05 2.659189e-06 5.170607e-06 9.745928e-01 2.239840e-01 -7.221722e-01 -6.917133e-01 2.524206e-01 -4.677293e-01 +3.878187e+05 2.578524e-06 5.004700e-06 9.734027e-01 2.291010e-01 -7.199883e-01 -6.939862e-01 2.534144e-01 -4.648853e-01 +3.999509e+05 2.500307e-06 4.843549e-06 9.721857e-01 2.342115e-01 -7.177972e-01 -6.962523e-01 2.543885e-01 -4.620407e-01 +4.124626e+05 2.424462e-06 4.687000e-06 9.709418e-01 2.393157e-01 -7.155990e-01 -6.985114e-01 2.553429e-01 -4.591957e-01 +4.253658e+05 2.350918e-06 4.534905e-06 9.696712e-01 2.444132e-01 -7.133936e-01 -7.007635e-01 2.562775e-01 -4.563504e-01 +4.386726e+05 2.279605e-06 4.387122e-06 9.683738e-01 2.495040e-01 -7.111812e-01 -7.030087e-01 2.571926e-01 -4.535048e-01 +4.523956e+05 2.210455e-06 4.243510e-06 9.670497e-01 2.545878e-01 -7.089617e-01 -7.052470e-01 2.580879e-01 -4.506591e-01 +4.665480e+05 2.143402e-06 4.103934e-06 9.656988e-01 2.596647e-01 -7.067352e-01 -7.074782e-01 2.589636e-01 -4.478135e-01 +4.811431e+05 2.078384e-06 3.968262e-06 9.643214e-01 2.647344e-01 -7.045017e-01 -7.097023e-01 2.598197e-01 -4.449680e-01 +4.961948e+05 2.015338e-06 3.836367e-06 9.629173e-01 2.697968e-01 -7.022611e-01 -7.119195e-01 2.606562e-01 -4.421227e-01 +5.117173e+05 1.954204e-06 3.708124e-06 9.614866e-01 2.748517e-01 -7.000136e-01 -7.141295e-01 2.614730e-01 -4.392778e-01 +5.277254e+05 1.894925e-06 3.583414e-06 9.600294e-01 2.798991e-01 -6.977591e-01 -7.163325e-01 2.622703e-01 -4.364334e-01 +5.442344e+05 1.837444e-06 3.462118e-06 9.585457e-01 2.849387e-01 -6.954977e-01 -7.185283e-01 2.630481e-01 -4.335896e-01 +5.612597e+05 1.781706e-06 3.344123e-06 9.570356e-01 2.899705e-01 -6.932294e-01 -7.207170e-01 2.638062e-01 -4.307466e-01 +5.788177e+05 1.727660e-06 3.229319e-06 9.554990e-01 2.949942e-01 -6.909541e-01 -7.228986e-01 2.645449e-01 -4.279044e-01 +5.969250e+05 1.675252e-06 3.117598e-06 9.539361e-01 3.000098e-01 -6.886721e-01 -7.250729e-01 2.652640e-01 -4.250631e-01 +6.155987e+05 1.624435e-06 3.008856e-06 9.523468e-01 3.050172e-01 -6.863832e-01 -7.272401e-01 2.659637e-01 -4.222229e-01 +6.348565e+05 1.575159e-06 2.902992e-06 9.507313e-01 3.100161e-01 -6.840874e-01 -7.294000e-01 2.666439e-01 -4.193839e-01 +6.547168e+05 1.527378e-06 2.799908e-06 9.490895e-01 3.150065e-01 -6.817849e-01 -7.315527e-01 2.673046e-01 -4.165463e-01 +6.751985e+05 1.481046e-06 2.699508e-06 9.474215e-01 3.199881e-01 -6.794756e-01 -7.336981e-01 2.679460e-01 -4.137100e-01 +6.963208e+05 1.436120e-06 2.601700e-06 9.457274e-01 3.249610e-01 -6.771595e-01 -7.358363e-01 2.685679e-01 -4.108753e-01 +7.181039e+05 1.392556e-06 2.506393e-06 9.440072e-01 3.299248e-01 -6.748367e-01 -7.379671e-01 2.691705e-01 -4.080422e-01 +7.405685e+05 1.350314e-06 2.413501e-06 9.422609e-01 3.348796e-01 -6.725072e-01 -7.400906e-01 2.697537e-01 -4.052109e-01 +7.637358e+05 1.309353e-06 2.322937e-06 9.404886e-01 3.398251e-01 -6.701710e-01 -7.422067e-01 2.703176e-01 -4.023816e-01 +7.876279e+05 1.269635e-06 2.234622e-06 9.386904e-01 3.447613e-01 -6.678282e-01 -7.443154e-01 2.708622e-01 -3.995542e-01 +8.122674e+05 1.231122e-06 2.148473e-06 9.368662e-01 3.496879e-01 -6.654787e-01 -7.464168e-01 2.713875e-01 -3.967289e-01 +8.376776e+05 1.193777e-06 2.064416e-06 9.350162e-01 3.546049e-01 -6.631227e-01 -7.485107e-01 2.718936e-01 -3.939059e-01 +8.638828e+05 1.157564e-06 1.982373e-06 9.331404e-01 3.595121e-01 -6.607600e-01 -7.505973e-01 2.723804e-01 -3.910852e-01 +8.909078e+05 1.122451e-06 1.902274e-06 9.312389e-01 3.644093e-01 -6.583908e-01 -7.526763e-01 2.728481e-01 -3.882670e-01 +9.187782e+05 1.088402e-06 1.824047e-06 9.293116e-01 3.692966e-01 -6.560150e-01 -7.547479e-01 2.732966e-01 -3.854513e-01 +9.475205e+05 1.055386e-06 1.747625e-06 9.273587e-01 3.741736e-01 -6.536327e-01 -7.568119e-01 2.737260e-01 -3.826384e-01 +9.771620e+05 1.023372e-06 1.672942e-06 9.253802e-01 3.790403e-01 -6.512439e-01 -7.588685e-01 2.741363e-01 -3.798282e-01 +1.007731e+06 9.923286e-07 1.599936e-06 9.233761e-01 3.838965e-01 -6.488486e-01 -7.609175e-01 2.745275e-01 -3.770210e-01 +1.039256e+06 9.622271e-07 1.528545e-06 9.213466e-01 3.887421e-01 -6.464469e-01 -7.629590e-01 2.748997e-01 -3.742168e-01 +1.071767e+06 9.330387e-07 1.458711e-06 9.192916e-01 3.935770e-01 -6.440388e-01 -7.649928e-01 2.752528e-01 -3.714158e-01 +1.105295e+06 9.047357e-07 1.390377e-06 9.172113e-01 3.984011e-01 -6.416243e-01 -7.670191e-01 2.755870e-01 -3.686180e-01 +1.139872e+06 8.772913e-07 1.323489e-06 9.151057e-01 4.032141e-01 -6.392034e-01 -7.690378e-01 2.759023e-01 -3.658236e-01 +1.175531e+06 8.506793e-07 1.257996e-06 9.129748e-01 4.080161e-01 -6.367761e-01 -7.710488e-01 2.761986e-01 -3.630327e-01 +1.212305e+06 8.248747e-07 1.193848e-06 9.108186e-01 4.128067e-01 -6.343425e-01 -7.730521e-01 2.764761e-01 -3.602454e-01 +1.250230e+06 7.998527e-07 1.130999e-06 9.086374e-01 4.175860e-01 -6.319026e-01 -7.750478e-01 2.767348e-01 -3.574618e-01 +1.289341e+06 7.755898e-07 1.069404e-06 9.064311e-01 4.223537e-01 -6.294565e-01 -7.770357e-01 2.769746e-01 -3.546820e-01 +1.329676e+06 7.520629e-07 1.009023e-06 9.041998e-01 4.271098e-01 -6.270041e-01 -7.790160e-01 2.771957e-01 -3.519062e-01 +1.371272e+06 7.292497e-07 9.498145e-07 9.019435e-01 4.318541e-01 -6.245454e-01 -7.809885e-01 2.773981e-01 -3.491344e-01 +1.414170e+06 7.071285e-07 8.917437e-07 8.996623e-01 4.365865e-01 -6.220806e-01 -7.829532e-01 2.775817e-01 -3.463668e-01 +1.458410e+06 6.856783e-07 8.347767e-07 8.973563e-01 4.413068e-01 -6.196095e-01 -7.849102e-01 2.777468e-01 -3.436034e-01 +1.504034e+06 6.648788e-07 7.788829e-07 8.950255e-01 4.460150e-01 -6.171323e-01 -7.868594e-01 2.778932e-01 -3.408444e-01 +1.551084e+06 6.447102e-07 7.240349e-07 8.926700e-01 4.507108e-01 -6.146490e-01 -7.888007e-01 2.780210e-01 -3.380899e-01 +1.599607e+06 6.251534e-07 6.702084e-07 8.902899e-01 4.553942e-01 -6.121596e-01 -7.907342e-01 2.781303e-01 -3.353400e-01 +1.649648e+06 6.061899e-07 6.173823e-07 8.878852e-01 4.600650e-01 -6.096641e-01 -7.926599e-01 2.782211e-01 -3.325949e-01 +1.701254e+06 5.878016e-07 5.655391e-07 8.854560e-01 4.647232e-01 -6.071625e-01 -7.945777e-01 2.782935e-01 -3.298545e-01 +1.754475e+06 5.699711e-07 5.146651e-07 8.830024e-01 4.693685e-01 -6.046549e-01 -7.964876e-01 2.783475e-01 -3.271191e-01 +1.809360e+06 5.526815e-07 4.647503e-07 8.805244e-01 4.740008e-01 -6.021413e-01 -7.983895e-01 2.783831e-01 -3.243887e-01 +1.865963e+06 5.359163e-07 4.157887e-07 8.780221e-01 4.786201e-01 -5.996217e-01 -8.002836e-01 2.784004e-01 -3.216635e-01 +1.924336e+06 5.196597e-07 3.677788e-07 8.754956e-01 4.832262e-01 -5.970962e-01 -8.021697e-01 2.783994e-01 -3.189435e-01 +1.984535e+06 5.038963e-07 3.207233e-07 8.729449e-01 4.878189e-01 -5.945647e-01 -8.040478e-01 2.783802e-01 -3.162289e-01 +2.046618e+06 4.886110e-07 2.746297e-07 8.703701e-01 4.923982e-01 -5.920273e-01 -8.059179e-01 2.783428e-01 -3.135198e-01 +2.110643e+06 4.737893e-07 2.295106e-07 8.677713e-01 4.969638e-01 -5.894840e-01 -8.077800e-01 2.782872e-01 -3.108162e-01 +2.176670e+06 4.594173e-07 1.853836e-07 8.651485e-01 5.015158e-01 -5.869349e-01 -8.096341e-01 2.782136e-01 -3.081183e-01 +2.244763e+06 4.454813e-07 1.422719e-07 8.625019e-01 5.060539e-01 -5.843799e-01 -8.114802e-01 2.781219e-01 -3.054263e-01 +2.314987e+06 4.319679e-07 1.002042e-07 8.598314e-01 5.105781e-01 -5.818192e-01 -8.133182e-01 2.780122e-01 -3.027401e-01 +2.387407e+06 4.188645e-07 5.921523e-08 8.571372e-01 5.150881e-01 -5.792526e-01 -8.151481e-01 2.778846e-01 -3.000600e-01 +2.462092e+06 4.061586e-07 1.934598e-08 8.544194e-01 5.195840e-01 -5.766803e-01 -8.169699e-01 2.777391e-01 -2.973859e-01 +2.539114e+06 3.938381e-07 1.935624e-08 8.516780e-01 5.240655e-01 -5.741023e-01 -8.187836e-01 2.775757e-01 -2.947181e-01 +2.618546e+06 3.818913e-07 5.683747e-08 8.489131e-01 5.285325e-01 -5.715186e-01 -8.205891e-01 2.773945e-01 -2.920567e-01 +2.700462e+06 3.703070e-07 9.303699e-08 8.461247e-01 5.329849e-01 -5.689291e-01 -8.223865e-01 2.771956e-01 -2.894016e-01 +2.784941e+06 3.590740e-07 1.278871e-07 8.433130e-01 5.374227e-01 -5.663341e-01 -8.241758e-01 2.769790e-01 -2.867531e-01 +2.872063e+06 3.481818e-07 1.613131e-07 8.404781e-01 5.418456e-01 -5.637334e-01 -8.259568e-01 2.767447e-01 -2.841112e-01 +2.961910e+06 3.376199e-07 1.932331e-07 8.376199e-01 5.462535e-01 -5.611271e-01 -8.277297e-01 2.764928e-01 -2.814761e-01 +3.054568e+06 3.273785e-07 2.235584e-07 8.347386e-01 5.506464e-01 -5.585152e-01 -8.294943e-01 2.762234e-01 -2.788479e-01 +3.150125e+06 3.174477e-07 2.521931e-07 8.318343e-01 5.550241e-01 -5.558978e-01 -8.312506e-01 2.759365e-01 -2.762265e-01 +3.248671e+06 3.078182e-07 2.790348e-07 8.289070e-01 5.593865e-01 -5.532749e-01 -8.329988e-01 2.756321e-01 -2.736123e-01 +3.350299e+06 2.984808e-07 3.039748e-07 8.259568e-01 5.637334e-01 -5.506464e-01 -8.347386e-01 2.753104e-01 -2.710052e-01 +3.455107e+06 2.894266e-07 3.268984e-07 8.229839e-01 5.680647e-01 -5.480125e-01 -8.364701e-01 2.749714e-01 -2.684054e-01 +3.563194e+06 2.806471e-07 3.476860e-07 8.199882e-01 5.723804e-01 -5.453732e-01 -8.381934e-01 2.746150e-01 -2.658129e-01 +3.674662e+06 2.721339e-07 3.662135e-07 8.169699e-01 5.766803e-01 -5.427284e-01 -8.399083e-01 2.742415e-01 -2.632280e-01 +3.789617e+06 2.638789e-07 3.823538e-07 8.139290e-01 5.809643e-01 -5.400782e-01 -8.416148e-01 2.738508e-01 -2.606505e-01 +3.908168e+06 2.558744e-07 3.959781e-07 8.108657e-01 5.852322e-01 -5.374227e-01 -8.433130e-01 2.734431e-01 -2.580808e-01 +4.030428e+06 2.481126e-07 4.069573e-07 8.077800e-01 5.894840e-01 -5.347618e-01 -8.450028e-01 2.730182e-01 -2.555188e-01 +4.156513e+06 2.405863e-07 4.151643e-07 8.046721e-01 5.937195e-01 -5.320956e-01 -8.466843e-01 2.725764e-01 -2.529647e-01 +4.286541e+06 2.332883e-07 4.204762e-07 8.015419e-01 5.979387e-01 -5.294241e-01 -8.483573e-01 2.721177e-01 -2.504186e-01 +4.420638e+06 2.262117e-07 4.227769e-07 7.983895e-01 6.021413e-01 -5.267474e-01 -8.500219e-01 2.716421e-01 -2.478806e-01 +4.558929e+06 2.193497e-07 4.219604e-07 7.952152e-01 6.063273e-01 -5.240655e-01 -8.516780e-01 2.711497e-01 -2.453507e-01 +4.701547e+06 2.126959e-07 4.179343e-07 7.920189e-01 6.104966e-01 -5.213783e-01 -8.533257e-01 2.706406e-01 -2.428291e-01 +4.848626e+06 2.062440e-07 4.106237e-07 7.888007e-01 6.146490e-01 -5.186859e-01 -8.549649e-01 2.701148e-01 -2.403158e-01 +5.000307e+06 1.999877e-07 3.999754e-07 7.855608e-01 6.187845e-01 -5.159884e-01 -8.565956e-01 2.695724e-01 -2.378111e-01 +5.156732e+06 1.939213e-07 3.859634e-07 7.822992e-01 6.229029e-01 -5.132858e-01 -8.582177e-01 2.690134e-01 -2.353149e-01 +5.318051e+06 1.880388e-07 3.685932e-07 7.790160e-01 6.270041e-01 -5.105781e-01 -8.598314e-01 2.684379e-01 -2.328274e-01 +5.484417e+06 1.823348e-07 3.479081e-07 7.757113e-01 6.310879e-01 -5.078652e-01 -8.614365e-01 2.678460e-01 -2.303486e-01 +5.655986e+06 1.768038e-07 3.239945e-07 7.723852e-01 6.351544e-01 -5.051474e-01 -8.630331e-01 2.672378e-01 -2.278787e-01 +5.832924e+06 1.714406e-07 2.969880e-07 7.690378e-01 6.392034e-01 -5.024245e-01 -8.646211e-01 2.666132e-01 -2.254177e-01 +6.015396e+06 1.662401e-07 2.670791e-07 7.656691e-01 6.432347e-01 -4.996967e-01 -8.662005e-01 2.659724e-01 -2.229658e-01 +6.203576e+06 1.611973e-07 2.345191e-07 7.622793e-01 6.472482e-01 -4.969638e-01 -8.677713e-01 2.653155e-01 -2.205231e-01 +6.397644e+06 1.563075e-07 1.996247e-07 7.588685e-01 6.512439e-01 -4.942261e-01 -8.693334e-01 2.646424e-01 -2.180895e-01 +6.597782e+06 1.515661e-07 1.627828e-07 7.554367e-01 6.552216e-01 -4.914834e-01 -8.708869e-01 2.639533e-01 -2.156654e-01 +6.804182e+06 1.469684e-07 1.244530e-07 7.519841e-01 6.591812e-01 -4.887358e-01 -8.724318e-01 2.632483e-01 -2.132506e-01 +7.017038e+06 1.425103e-07 8.516926e-08 7.485107e-01 6.631227e-01 -4.859834e-01 -8.739680e-01 2.625273e-01 -2.108454e-01 +7.236553e+06 1.381873e-07 4.553922e-08 7.450167e-01 6.670458e-01 -4.832262e-01 -8.754956e-01 2.617906e-01 -2.084498e-01 +7.462936e+06 1.339955e-07 6.240464e-09 7.415021e-01 6.709505e-01 -4.804641e-01 -8.770144e-01 2.610380e-01 -2.060639e-01 +7.696400e+06 1.299309e-07 3.198606e-08 7.379671e-01 6.748367e-01 -4.776973e-01 -8.785245e-01 2.602698e-01 -2.036878e-01 +7.937168e+06 1.259895e-07 6.834666e-08 7.344117e-01 6.787043e-01 -4.749257e-01 -8.800259e-01 2.594859e-01 -2.013216e-01 +8.185467e+06 1.221677e-07 1.020099e-07 7.308360e-01 6.825531e-01 -4.721495e-01 -8.815185e-01 2.586865e-01 -1.989654e-01 +8.441535e+06 1.184619e-07 1.321267e-07 7.272401e-01 6.863832e-01 -4.693685e-01 -8.830024e-01 2.578716e-01 -1.966192e-01 +8.705612e+06 1.148684e-07 1.578553e-07 7.236242e-01 6.901942e-01 -4.665828e-01 -8.844775e-01 2.570413e-01 -1.942833e-01 +8.977952e+06 1.113840e-07 1.783919e-07 7.199883e-01 6.939862e-01 -4.637926e-01 -8.859438e-01 2.561957e-01 -1.919576e-01 +9.258810e+06 1.080052e-07 1.930067e-07 7.163325e-01 6.977591e-01 -4.609977e-01 -8.874013e-01 2.553348e-01 -1.896422e-01 +9.548455e+06 1.047290e-07 2.010843e-07 7.126569e-01 7.015127e-01 -4.581982e-01 -8.888500e-01 2.544587e-01 -1.873373e-01 +9.847161e+06 1.015521e-07 2.021684e-07 7.089617e-01 7.052470e-01 -4.553942e-01 -8.902899e-01 2.535675e-01 -1.850430e-01 +1.015521e+07 9.847161e-08 1.960074e-07 7.052470e-01 7.089617e-01 -4.525857e-01 -8.917209e-01 2.526613e-01 -1.827592e-01 +1.047290e+07 9.548455e-08 1.826009e-07 7.015127e-01 7.126569e-01 -4.497726e-01 -8.931431e-01 2.517401e-01 -1.804861e-01 +1.080052e+07 9.258810e-08 1.622418e-07 6.977591e-01 7.163325e-01 -4.469551e-01 -8.945564e-01 2.508040e-01 -1.782239e-01 +1.113840e+07 8.977952e-08 1.355512e-07 6.939862e-01 7.199883e-01 -4.441332e-01 -8.959608e-01 2.498531e-01 -1.759725e-01 +1.148684e+07 8.705612e-08 1.035016e-07 6.901942e-01 7.236242e-01 -4.413068e-01 -8.973563e-01 2.488874e-01 -1.737321e-01 +1.184619e+07 8.441535e-08 6.742174e-08 6.863832e-01 7.272401e-01 -4.384761e-01 -8.987429e-01 2.479071e-01 -1.715028e-01 +1.221677e+07 8.185467e-08 2.897961e-08 6.825531e-01 7.308360e-01 -4.356410e-01 -9.001205e-01 2.469122e-01 -1.692846e-01 +1.259895e+07 7.937168e-08 9.863330e-09 6.787043e-01 7.344117e-01 -4.328015e-01 -9.014892e-01 2.459028e-01 -1.670776e-01 +1.299309e+07 7.696400e-08 4.693013e-08 6.748367e-01 7.379671e-01 -4.299578e-01 -9.028490e-01 2.448789e-01 -1.648819e-01 +1.339955e+07 7.462936e-08 7.994140e-08 6.709505e-01 7.415021e-01 -4.271098e-01 -9.041998e-01 2.438407e-01 -1.626976e-01 +1.381873e+07 7.236553e-08 1.066632e-07 6.670458e-01 7.450167e-01 -4.242576e-01 -9.055416e-01 2.427882e-01 -1.605248e-01 +1.425103e+07 7.017038e-08 1.250856e-07 6.631227e-01 7.485107e-01 -4.214011e-01 -9.068744e-01 2.417216e-01 -1.583636e-01 +1.469684e+07 6.804182e-08 1.336224e-07 6.591812e-01 7.519841e-01 -4.185405e-01 -9.081982e-01 2.406408e-01 -1.562140e-01 +1.515661e+07 6.597782e-08 1.313173e-07 6.552216e-01 7.554367e-01 -4.156757e-01 -9.095129e-01 2.395459e-01 -1.540762e-01 +1.563075e+07 6.397644e-08 1.180352e-07 6.512439e-01 7.588685e-01 -4.128067e-01 -9.108186e-01 2.384372e-01 -1.519502e-01 +1.611973e+07 6.203576e-08 9.461085e-08 6.472482e-01 7.622793e-01 -4.099337e-01 -9.121153e-01 2.373145e-01 -1.498360e-01 +1.662401e+07 6.015396e-08 6.292452e-08 6.432347e-01 7.656691e-01 -4.070566e-01 -9.134029e-01 2.361781e-01 -1.477338e-01 +1.714406e+07 5.832924e-08 2.587289e-08 6.392034e-01 7.690378e-01 -4.041754e-01 -9.146815e-01 2.350279e-01 -1.456437e-01 +1.768038e+07 5.655986e-08 1.279325e-08 6.351544e-01 7.723852e-01 -4.012902e-01 -9.159509e-01 2.338642e-01 -1.435658e-01 +1.823348e+07 5.484417e-08 4.878035e-08 6.310879e-01 7.757113e-01 -3.984011e-01 -9.172113e-01 2.326869e-01 -1.415000e-01 +1.880388e+07 5.318051e-08 7.771116e-08 6.270041e-01 7.790160e-01 -3.955080e-01 -9.184625e-01 2.314961e-01 -1.394466e-01 +1.939213e+07 5.156732e-08 9.570315e-08 6.229029e-01 7.822992e-01 -3.926109e-01 -9.197047e-01 2.302919e-01 -1.374055e-01 +1.999877e+07 5.000307e-08 1.000061e-07 6.187845e-01 7.855608e-01 -3.897100e-01 -9.209376e-01 2.290745e-01 -1.353768e-01 +2.062440e+07 4.848626e-08 8.960498e-08 6.146490e-01 7.888007e-01 -3.868052e-01 -9.221615e-01 2.278438e-01 -1.333607e-01 +2.126959e+07 4.701547e-08 6.566633e-08 6.104966e-01 7.920189e-01 -3.838965e-01 -9.233761e-01 2.266001e-01 -1.313572e-01 +2.193497e+07 4.558929e-08 3.169419e-08 6.063273e-01 7.952152e-01 -3.809840e-01 -9.245816e-01 2.253433e-01 -1.293664e-01 +2.262117e+07 4.420638e-08 6.724621e-09 6.021413e-01 7.983895e-01 -3.780678e-01 -9.257779e-01 2.240735e-01 -1.273884e-01 +2.332883e+07 4.286541e-08 4.265521e-08 5.979387e-01 8.015419e-01 -3.751477e-01 -9.269650e-01 2.227909e-01 -1.254232e-01 +2.405863e+07 4.156513e-08 6.900779e-08 5.937195e-01 8.046721e-01 -3.722240e-01 -9.281429e-01 2.214955e-01 -1.234709e-01 +2.481126e+07 4.030428e-08 8.004242e-08 5.894840e-01 8.077800e-01 -3.692966e-01 -9.293116e-01 2.201875e-01 -1.215316e-01 +2.558744e+07 3.908168e-08 7.289935e-08 5.852322e-01 8.108657e-01 -3.663654e-01 -9.304710e-01 2.188668e-01 -1.196053e-01 +2.638789e+07 3.789617e-08 4.875477e-08 5.809643e-01 8.139290e-01 -3.634307e-01 -9.316212e-01 2.175336e-01 -1.176922e-01 +2.721339e+07 3.674662e-08 1.316352e-08 5.766803e-01 8.169699e-01 -3.604923e-01 -9.327622e-01 2.161880e-01 -1.157923e-01 +2.806471e+07 3.563194e-08 2.475840e-08 5.723804e-01 8.199882e-01 -3.575504e-01 -9.338938e-01 2.148300e-01 -1.139057e-01 +2.894266e+07 3.455107e-08 5.440553e-08 5.680647e-01 8.229839e-01 -3.546049e-01 -9.350162e-01 2.134599e-01 -1.120324e-01 +2.984808e+07 3.350299e-08 6.670095e-08 5.637334e-01 8.259568e-01 -3.516559e-01 -9.361293e-01 2.120775e-01 -1.101725e-01 +3.078182e+07 3.248671e-08 5.729043e-08 5.593865e-01 8.289070e-01 -3.487034e-01 -9.372331e-01 2.106831e-01 -1.083262e-01 +3.174477e+07 3.150125e-08 2.878670e-08 5.550241e-01 8.318343e-01 -3.457474e-01 -9.383276e-01 2.092767e-01 -1.064934e-01 +3.273785e+07 3.054568e-08 9.095924e-09 5.506464e-01 8.347386e-01 -3.427880e-01 -9.394128e-01 2.078585e-01 -1.046742e-01 +3.376199e+07 2.961910e-08 4.220222e-08 5.462535e-01 8.376199e-01 -3.398251e-01 -9.404886e-01 2.064284e-01 -1.028688e-01 +3.481818e+07 2.872063e-08 5.706682e-08 5.418456e-01 8.404781e-01 -3.368589e-01 -9.415551e-01 2.049866e-01 -1.010771e-01 +3.590740e+07 2.784941e-08 4.688882e-08 5.374227e-01 8.433130e-01 -3.338894e-01 -9.426123e-01 2.035333e-01 -9.929923e-02 +3.703070e+07 2.700462e-08 1.569605e-08 5.329849e-01 8.461247e-01 -3.309165e-01 -9.436600e-01 2.020684e-01 -9.753530e-02 +3.818913e+07 2.618546e-08 2.197438e-08 5.285325e-01 8.489131e-01 -3.279404e-01 -9.446984e-01 2.005921e-01 -9.578535e-02 +3.938381e+07 2.539114e-08 4.702357e-08 5.240655e-01 8.516780e-01 -3.249610e-01 -9.457274e-01 1.991045e-01 -9.404943e-02 +4.061586e+07 2.462092e-08 4.560100e-08 5.195840e-01 8.544194e-01 -3.219783e-01 -9.467470e-01 1.976056e-01 -9.232763e-02 +4.188645e+07 2.387407e-08 1.795452e-08 5.150881e-01 8.571372e-01 -3.189925e-01 -9.477572e-01 1.960956e-01 -9.062000e-02 +4.319679e+07 2.314987e-08 1.962901e-08 5.105781e-01 8.598314e-01 -3.160035e-01 -9.487580e-01 1.945746e-01 -8.892661e-02 +4.454813e+07 2.244763e-08 4.309786e-08 5.060539e-01 8.625019e-01 -3.130114e-01 -9.497494e-01 1.930425e-01 -8.724753e-02 +4.594173e+07 2.176670e-08 3.613227e-08 5.015158e-01 8.651485e-01 -3.100161e-01 -9.507313e-01 1.914997e-01 -8.558281e-02 +4.737893e+07 2.110643e-08 3.207954e-09 4.969638e-01 8.677713e-01 -3.070178e-01 -9.517038e-01 1.899461e-01 -8.393253e-02 +4.886110e+07 2.046618e-08 3.089180e-08 4.923982e-01 8.703701e-01 -3.040164e-01 -9.526668e-01 1.883818e-01 -8.229674e-02 +5.038963e+07 1.984535e-08 3.850727e-08 4.878189e-01 8.729449e-01 -3.010120e-01 -9.536204e-01 1.868069e-01 -8.067550e-02 +5.196597e+07 1.924336e-08 1.267284e-08 4.832262e-01 8.754956e-01 -2.980046e-01 -9.545644e-01 1.852216e-01 -7.906889e-02 +5.359163e+07 1.865963e-08 2.363669e-08 4.786201e-01 8.780221e-01 -2.949942e-01 -9.554990e-01 1.836259e-01 -7.747695e-02 +5.526815e+07 1.809360e-08 3.567481e-08 4.740008e-01 8.805244e-01 -2.919809e-01 -9.564241e-01 1.820199e-01 -7.589975e-02 +5.699711e+07 1.754475e-08 1.090381e-08 4.693685e-01 8.830024e-01 -2.889647e-01 -9.573397e-01 1.804037e-01 -7.433735e-02 +5.878016e+07 1.701254e-08 2.451096e-08 4.647232e-01 8.854560e-01 -2.859457e-01 -9.582458e-01 1.787775e-01 -7.278980e-02 +6.061899e+07 1.649648e-08 3.052898e-08 4.600650e-01 8.878852e-01 -2.829238e-01 -9.591424e-01 1.771413e-01 -7.125718e-02 +6.251534e+07 1.599607e-08 3.084196e-10 4.553942e-01 8.902899e-01 -2.798991e-01 -9.600294e-01 1.754951e-01 -6.973953e-02 +6.447102e+07 1.551084e-08 2.932395e-08 4.507108e-01 8.926700e-01 -2.768716e-01 -9.609069e-01 1.738392e-01 -6.823691e-02 +6.648788e+07 1.504034e-08 1.786581e-08 4.460150e-01 8.950255e-01 -2.738413e-01 -9.617749e-01 1.721736e-01 -6.674938e-02 +6.856783e+07 1.458410e-08 1.813446e-08 4.413068e-01 8.973563e-01 -2.708084e-01 -9.626333e-01 1.704985e-01 -6.527700e-02 +7.071285e+07 1.414170e-08 2.549354e-08 4.365865e-01 8.996623e-01 -2.677727e-01 -9.634821e-01 1.688138e-01 -6.381982e-02 +7.292497e+07 1.371272e-08 7.236324e-09 4.318541e-01 9.019435e-01 -2.647344e-01 -9.643214e-01 1.671197e-01 -6.237790e-02 +7.520629e+07 1.329676e-08 2.637044e-08 4.271098e-01 9.041998e-01 -2.616934e-01 -9.651510e-01 1.654164e-01 -6.095129e-02 +7.755898e+07 1.289341e-08 9.554477e-10 4.223537e-01 9.064311e-01 -2.586499e-01 -9.659711e-01 1.637038e-01 -5.954004e-02 +7.998527e+07 1.250230e-08 2.500353e-08 4.175860e-01 9.086374e-01 -2.556038e-01 -9.667816e-01 1.619822e-01 -5.814421e-02 +8.248747e+07 1.212305e-08 1.909517e-10 4.128067e-01 9.108186e-01 -2.525551e-01 -9.675825e-01 1.602516e-01 -5.676386e-02 +8.506793e+07 1.175531e-08 2.348921e-08 4.080161e-01 9.129748e-01 -2.495040e-01 -9.683738e-01 1.585121e-01 -5.539903e-02 +8.772913e+07 1.139872e-08 3.270717e-09 4.032141e-01 9.151057e-01 -2.464503e-01 -9.691554e-01 1.567638e-01 -5.404978e-02 +9.047357e+07 1.105295e-08 2.113449e-08 3.984011e-01 9.172113e-01 -2.433942e-01 -9.699274e-01 1.550069e-01 -5.271615e-02 +9.330387e+07 1.071767e-08 1.037222e-08 3.935770e-01 9.192916e-01 -2.403357e-01 -9.706898e-01 1.532413e-01 -5.139820e-02 +9.622271e+07 1.039256e-08 1.494712e-08 3.887421e-01 9.213466e-01 -2.372748e-01 -9.714426e-01 1.514673e-01 -5.009598e-02 +9.923286e+07 1.007731e-08 1.785833e-08 3.838965e-01 9.233761e-01 -2.342115e-01 -9.721857e-01 1.496850e-01 -4.880953e-02 +1.023372e+08 9.771620e-09 1.995845e-09 3.790403e-01 9.253802e-01 -2.311460e-01 -9.729191e-01 1.478943e-01 -4.753891e-02 +1.055386e+08 9.475205e-09 1.787556e-08 3.741736e-01 9.273587e-01 -2.280781e-01 -9.736428e-01 1.460955e-01 -4.628416e-02 +1.088402e+08 9.187782e-09 1.370856e-08 3.692966e-01 9.293116e-01 -2.250079e-01 -9.743569e-01 1.442886e-01 -4.504533e-02 +1.122451e+08 8.909078e-09 2.842020e-09 3.644093e-01 9.312389e-01 -2.219355e-01 -9.750613e-01 1.424738e-01 -4.382247e-02 +1.157564e+08 8.638828e-09 1.536265e-08 3.595121e-01 9.331404e-01 -2.188610e-01 -9.757561e-01 1.406511e-01 -4.261562e-02 +1.193777e+08 8.376776e-09 1.548898e-08 3.546049e-01 9.350162e-01 -2.157842e-01 -9.764411e-01 1.388207e-01 -4.142484e-02 +1.231122e+08 8.122674e-09 6.095680e-09 3.496879e-01 9.368662e-01 -2.127053e-01 -9.771164e-01 1.369826e-01 -4.025015e-02 +1.269635e+08 7.876279e-09 5.209960e-09 3.447613e-01 9.386904e-01 -2.096243e-01 -9.777820e-01 1.351370e-01 -3.909162e-02 +1.309353e+08 7.637358e-09 1.271201e-08 3.398251e-01 9.404886e-01 -2.065412e-01 -9.784379e-01 1.332840e-01 -3.794927e-02 +1.350314e+08 7.405685e-09 1.480849e-08 3.348796e-01 9.422609e-01 -2.034560e-01 -9.790841e-01 1.314236e-01 -3.682317e-02 +1.392556e+08 7.181039e-09 1.281962e-08 3.299248e-01 9.440072e-01 -2.003688e-01 -9.797205e-01 1.295560e-01 -3.571334e-02 +1.436120e+08 6.963208e-09 8.957474e-09 3.249610e-01 9.457274e-01 -1.972797e-01 -9.803473e-01 1.276813e-01 -3.461982e-02 +1.481046e+08 6.751985e-09 5.007449e-09 3.199881e-01 9.474215e-01 -1.941885e-01 -9.809642e-01 1.257996e-01 -3.354267e-02 +1.527378e+08 6.547168e-09 1.949086e-09 3.150065e-01 9.490895e-01 -1.910955e-01 -9.815715e-01 1.239110e-01 -3.248193e-02 +1.575159e+08 6.348565e-09 1.268911e-10 3.100161e-01 9.507313e-01 -1.880005e-01 -9.821689e-01 1.220156e-01 -3.143762e-02 +1.624435e+08 6.155987e-09 4.369747e-10 3.050172e-01 9.523468e-01 -1.849037e-01 -9.827566e-01 1.201135e-01 -3.040979e-02 +1.675252e+08 5.969250e-09 1.893762e-10 3.000098e-01 9.539361e-01 -1.818050e-01 -9.833346e-01 1.182048e-01 -2.939849e-02 +1.727660e+08 5.788177e-09 1.925552e-09 2.949942e-01 9.554990e-01 -1.787046e-01 -9.839028e-01 1.162896e-01 -2.840374e-02 +1.781706e+08 5.612597e-09 4.591233e-09 2.899705e-01 9.570356e-01 -1.756023e-01 -9.844612e-01 1.143681e-01 -2.742558e-02 +1.837444e+08 5.442344e-09 7.669374e-09 2.849387e-01 9.585457e-01 -1.724984e-01 -9.850098e-01 1.124403e-01 -2.646406e-02 +1.894925e+08 5.277254e-09 1.002241e-08 2.798991e-01 9.600294e-01 -1.693927e-01 -9.855486e-01 1.105064e-01 -2.551921e-02 +1.954204e+08 5.117173e-09 9.879377e-09 2.748517e-01 9.614866e-01 -1.662853e-01 -9.860777e-01 1.085664e-01 -2.459106e-02 +2.015338e+08 4.961948e-09 5.661473e-09 2.697968e-01 9.629173e-01 -1.631762e-01 -9.865969e-01 1.066205e-01 -2.367965e-02 +2.078384e+08 4.811431e-09 2.030553e-09 2.647344e-01 9.643214e-01 -1.600656e-01 -9.871064e-01 1.046688e-01 -2.278501e-02 +2.143402e+08 4.665480e-09 8.540606e-09 2.596647e-01 9.656988e-01 -1.569533e-01 -9.876060e-01 1.027114e-01 -2.190718e-02 +2.210455e+08 4.523956e-09 7.165033e-09 2.545878e-01 9.670497e-01 -1.538395e-01 -9.880958e-01 1.007483e-01 -2.104619e-02 +2.279605e+08 4.386726e-09 2.503053e-09 2.495040e-01 9.683738e-01 -1.507242e-01 -9.885759e-01 9.877977e-02 -2.020207e-02 +2.350918e+08 4.253658e-09 8.493172e-09 2.444132e-01 9.696712e-01 -1.476073e-01 -9.890460e-01 9.680583e-02 -1.937486e-02 +2.424462e+08 4.124626e-09 2.787920e-10 2.393157e-01 9.709418e-01 -1.444890e-01 -9.895064e-01 9.482661e-02 -1.856458e-02 +2.500307e+08 3.999509e-09 7.997532e-09 2.342115e-01 9.721857e-01 -1.413693e-01 -9.899569e-01 9.284223e-02 -1.777127e-02 +2.578524e+08 3.878187e-09 1.703581e-09 2.291010e-01 9.734027e-01 -1.382482e-01 -9.903976e-01 9.085278e-02 -1.699495e-02 +2.659189e+08 3.760545e-09 6.302029e-09 2.239840e-01 9.745928e-01 -1.351257e-01 -9.908285e-01 8.885839e-02 -1.623566e-02 +2.742377e+08 3.646472e-09 6.472189e-09 2.188610e-01 9.757561e-01 -1.320018e-01 -9.912495e-01 8.685915e-02 -1.549342e-02 +2.828167e+08 3.535859e-09 1.397827e-09 2.137318e-01 9.768924e-01 -1.288766e-01 -9.916606e-01 8.485519e-02 -1.476826e-02 +2.916641e+08 3.428602e-09 3.438258e-09 2.085968e-01 9.780017e-01 -1.257502e-01 -9.920619e-01 8.284661e-02 -1.406021e-02 +3.007883e+08 3.324598e-09 5.850221e-09 2.034560e-01 9.790841e-01 -1.226225e-01 -9.924534e-01 8.083352e-02 -1.336930e-02 +3.101979e+08 3.223749e-09 6.397739e-09 1.983096e-01 9.801394e-01 -1.194936e-01 -9.928350e-01 7.881604e-02 -1.269555e-02 +3.199018e+08 3.125959e-09 6.240028e-09 1.931577e-01 9.811677e-01 -1.163635e-01 -9.932067e-01 7.679426e-02 -1.203898e-02 +3.299094e+08 3.031136e-09 6.052444e-09 1.880005e-01 9.821689e-01 -1.132322e-01 -9.935686e-01 7.476832e-02 -1.139962e-02 +3.402300e+08 2.939188e-09 5.817114e-09 1.828381e-01 9.831430e-01 -1.100998e-01 -9.939205e-01 7.273831e-02 -1.077750e-02 +3.508734e+08 2.850030e-09 4.863007e-09 1.776707e-01 9.840900e-01 -1.069663e-01 -9.942626e-01 7.070435e-02 -1.017264e-02 +3.618499e+08 2.763577e-09 2.195493e-09 1.724984e-01 9.850098e-01 -1.038318e-01 -9.945949e-01 6.866654e-02 -9.585064e-03 +3.731697e+08 2.679746e-09 2.189180e-09 1.673212e-01 9.859024e-01 -1.006962e-01 -9.949172e-01 6.662501e-02 -9.014787e-03 +3.848436e+08 2.598458e-09 5.171847e-09 1.621395e-01 9.867678e-01 -9.755966e-02 -9.952297e-01 6.457986e-02 -8.461836e-03 +3.968827e+08 2.519636e-09 1.905795e-09 1.569533e-01 9.876060e-01 -9.442212e-02 -9.955323e-01 6.253121e-02 -7.926230e-03 +4.092985e+08 2.443205e-09 4.419369e-09 1.517628e-01 9.884169e-01 -9.128364e-02 -9.958249e-01 6.047916e-02 -7.407990e-03 +4.221026e+08 2.369092e-09 1.170747e-09 1.465681e-01 9.892006e-01 -8.814425e-02 -9.961077e-01 5.842383e-02 -6.907135e-03 +4.353073e+08 2.297228e-09 4.509058e-09 1.413693e-01 9.899569e-01 -8.500399e-02 -9.963806e-01 5.636533e-02 -6.423684e-03 +4.489251e+08 2.227543e-09 3.477105e-09 1.361666e-01 9.906859e-01 -8.186288e-02 -9.966436e-01 5.430377e-02 -5.957656e-03 +4.629689e+08 2.159972e-09 1.254462e-09 1.309602e-01 9.913876e-01 -7.872096e-02 -9.968967e-01 5.223927e-02 -5.509067e-03 +4.774521e+08 2.094451e-09 1.261735e-10 1.257502e-01 9.920619e-01 -7.557825e-02 -9.971399e-01 5.017193e-02 -5.077935e-03 +4.923883e+08 2.030918e-09 2.849323e-10 1.205367e-01 9.927089e-01 -7.243480e-02 -9.973731e-01 4.810188e-02 -4.664276e-03 +5.077917e+08 1.969311e-09 7.178973e-10 1.153198e-01 9.933284e-01 -6.929063e-02 -9.975965e-01 4.602922e-02 -4.268105e-03 +5.236771e+08 1.909574e-09 2.573978e-09 1.100998e-01 9.939205e-01 -6.614576e-02 -9.978100e-01 4.395406e-02 -3.889437e-03 +5.400593e+08 1.851648e-09 3.700724e-09 1.048768e-01 9.944852e-01 -6.300024e-02 -9.980135e-01 4.187653e-02 -3.528287e-03 +5.569541e+08 1.795480e-09 1.207707e-09 9.965082e-02 9.950225e-01 -5.985410e-02 -9.982071e-01 3.979672e-02 -3.184667e-03 +5.743774e+08 1.741016e-09 3.218962e-09 9.442212e-02 9.955323e-01 -5.670736e-02 -9.983908e-01 3.771476e-02 -2.858592e-03 +5.923457e+08 1.688203e-09 3.267977e-10 8.919081e-02 9.960146e-01 -5.356005e-02 -9.985646e-01 3.563076e-02 -2.550073e-03 +6.108762e+08 1.636993e-09 2.790284e-09 8.395704e-02 9.964694e-01 -5.041222e-02 -9.987285e-01 3.354483e-02 -2.259121e-03 +6.299863e+08 1.587336e-09 3.174555e-09 7.872096e-02 9.968967e-01 -4.726388e-02 -9.988824e-01 3.145708e-02 -1.985748e-03 +6.496943e+08 1.539186e-09 3.021745e-09 7.348270e-02 9.972965e-01 -4.411507e-02 -9.990265e-01 2.936763e-02 -1.729964e-03 +6.700188e+08 1.492496e-09 2.984784e-09 6.824241e-02 9.976688e-01 -4.096583e-02 -9.991605e-01 2.727658e-02 -1.491779e-03 +6.909791e+08 1.447222e-09 2.363841e-09 6.300024e-02 9.980135e-01 -3.781618e-02 -9.992847e-01 2.518407e-02 -1.271201e-03 +7.125951e+08 1.403322e-09 1.675413e-10 5.775633e-02 9.983307e-01 -3.466615e-02 -9.993989e-01 2.309019e-02 -1.068239e-03 +7.348873e+08 1.360753e-09 2.714684e-09 5.251083e-02 9.986204e-01 -3.151578e-02 -9.995033e-01 2.099506e-02 -8.829000e-04 +7.578769e+08 1.319476e-09 6.190918e-10 4.726388e-02 9.988824e-01 -2.836509e-02 -9.995976e-01 1.889879e-02 -7.151915e-04 +7.815857e+08 1.279450e-09 1.390524e-09 4.201562e-02 9.991170e-01 -2.521412e-02 -9.996821e-01 1.680150e-02 -5.651196e-04 +8.060361e+08 1.240639e-09 1.973763e-09 3.676621e-02 9.993239e-01 -2.206291e-02 -9.997566e-01 1.470330e-02 -4.326900e-04 +8.312515e+08 1.203005e-09 1.699703e-09 3.151578e-02 9.995033e-01 -1.891147e-02 -9.998212e-01 1.260431e-02 -3.179076e-04 +8.572557e+08 1.166513e-09 3.567496e-10 2.626448e-02 9.996550e-01 -1.575985e-02 -9.998758e-01 1.050463e-02 -2.207768e-04 +8.840733e+08 1.131128e-09 1.889514e-09 2.101245e-02 9.997792e-01 -1.260806e-02 -9.999205e-01 8.404387e-03 -1.413011e-04 +9.117299e+08 1.096816e-09 1.020433e-09 1.575985e-02 9.998758e-01 -9.456158e-03 -9.999553e-01 6.303688e-03 -7.948362e-05 +9.402517e+08 1.063545e-09 2.100536e-09 1.050681e-02 9.999448e-01 -6.304158e-03 -9.999801e-01 4.202648e-03 -3.532661e-05 +9.696658e+08 1.031283e-09 2.017258e-09 5.253475e-03 9.999862e-01 -3.152094e-03 -9.999950e-01 2.101381e-03 -8.831734e-06 +1.000000e+09 1.000000e-09 2.000000e-09 3.061617e-16 1.000000e+00 -1.836970e-16 -1.000000e+00 1.224647e-16 0.000000e+00 diff --git a/doc/thesis/figures/data/multipath_frequency_response.py b/doc/thesis/figures/data/multipath_frequency_response.py new file mode 100644 index 0000000..e5207ae --- /dev/null +++ b/doc/thesis/figures/data/multipath_frequency_response.py @@ -0,0 +1,35 @@ +import sys, os +import numpy as np + +nsamples = 300 + +np.seterr(over='raise') + +def tap(c, tau, f): + return np.exp(2j * np.pi * f * tau) + + +# attenuations for frequency plot +f_whole = np.logspace(5, 9, num=nsamples) +linear_whole = 1 / f_whole +multipath_whole = tap(c=.8, tau=500e-9, f=f_whole) + tap(c=.4, tau=300e-9, f=f_whole) +channel_whole = linear_whole * multipath_whole + +# coordinates for complex diagram +f_tap = np.linspace(2e6, 2.5e6, num=nsamples) +linear_tap = 1 / f_tap + +multipath_tap_1 = tap(c=.8, tau=500e-9, f=f_tap) +multipath_tap_2 = tap(c=.4, tau=300e-9, f=f_tap) +multipath_taps = multipath_tap_1 + multipath_tap_2 + +data = np.array(list(zip(f_whole, linear_whole, np.abs(channel_whole), + np.real(multipath_tap_1), np.imag(multipath_tap_1), + np.real(multipath_tap_2), np.imag(multipath_tap_2), + np.real(multipath_taps), np.imag(multipath_taps)))) + +# 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/multipath-frequency-response-plots.tex b/doc/thesis/figures/tikz/multipath-frequency-response-plots.tex new file mode 100644 index 0000000..094e33a --- /dev/null +++ b/doc/thesis/figures/tikz/multipath-frequency-response-plots.tex @@ -0,0 +1,70 @@ +% vim: set ts=2 sw=2 noet: +\begin{tikzpicture} + \begin{loglogaxis}[ + width = .6\linewidth, height = 5cm, + ylabel = {Response \(|H(f, t)|\)}, + xlabel = {Frequency \(f\)/Hz}, + xlabel near ticks, + ylabel near ticks, + ytick = \empty, + smooth, + ] + + \addplot[solid, magenta] table[x index = 0, y index = 2] + {figures/data/multipath_frequency_response.dat}; + \addlegendentry{Multipath} + + \addplot[dashed, thick, black] table[x index = 0, y index = 1] + {figures/data/multipath_frequency_response.dat}; + \addlegendentry{Linear} + + \end{loglogaxis} +\end{tikzpicture} +\hskip 5mm +\begin{tikzpicture}[ + decorated/.style = { + solid, thick, + postaction={decorate}, + decoration={markings, + mark=at position 0.35 with {\arrow{stealth}}, + mark=at position 0.65 with {\arrow{stealth}}}, + }, + ] + \begin{axis}[ + width = 5cm, height = 5cm, + ylabel = {\(\Im{H(f,t)}\)}, + xlabel = {\(\Re{H(f,t)}\)}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -1.2, xmax = 1.2, + ymin = -1.2, ymax = 1.2, + ] + + \addplot[decorated, red] table[x index = 3, y index = 4] + {figures/data/multipath_frequency_response.dat} + node[pos = 0, circle, fill = white, draw, inner sep = 1pt] {} + node[pos = .2, outer sep = 1pt, inner sep = 0pt] (A) {} + node[pos = 1, circle, fill = white, draw, inner sep = 1pt] {}; + + \addplot[decorated, blue] table[x index = 5, y index = 6] + {figures/data/multipath_frequency_response.dat} + node[pos = 0, circle, fill = white, draw, inner sep = 1pt] {} + node[pos = .2, outer sep = 1pt, inner sep = 0pt] (B) {} + node[pos = 1, circle, fill = white, draw, inner sep = 1pt] {}; + + \addplot[decorated, magenta] table[x index = 7, y index = 8] + {figures/data/multipath_frequency_response.dat} + node[pos = 0, circle, fill = white, draw, inner sep = 1pt] {} + node[pos = 0, below, font = \tiny] {2 MHz} + node[pos = .2, outer sep = 1pt, inner sep = 0pt] (C) {} + node[pos = 1, circle, fill = white, draw, inner sep = 1pt] {} + node[pos = 1, above left, font = \tiny] {2.5 MHz}; + + \node[outer sep = 2pt, inner sep = 0pt] (O) at (0,0) {}; + \draw[-latex, red!50!white] (O) -- (A); + \draw[-latex, blue!50!white] (O) -- (B); + \draw[-latex, magenta!50!white] (O) -- (C); + + \end{axis} +\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/multipath-impulse-response.tex b/doc/thesis/figures/tikz/multipath-impulse-response.tex new file mode 100644 index 0000000..b643e28 --- /dev/null +++ b/doc/thesis/figures/tikz/multipath-impulse-response.tex @@ -0,0 +1,34 @@ +% vim: set ts=2 sw=2 noet: +\tdplotsetmaincoords{70}{40} +\begin{tikzpicture}[tdplot_main_coords, font = \footnotesize\ttfamily] + \draw[thick, -latex] (0,0,0) -- node[sloped, midway, below, gray] {Effect of the channel} (7,0,0) node[right] {\(\tau\)}; + \draw[thick, -latex] (0,0,0) -- node[sloped, midway, above, gray] {How the channel changes} (0,7,0) node[right] {\(t\)}; + \draw[thick, -latex] (0,0,0) -- (0,0,2) node[above] {\(h(t,\tau)\)}; + + \foreach \y in {1,2,...,4}{ + \draw[dashed, gray] (0,1.5*\y,0) -- ++(7,0,0); + } + + \foreach \x in {1,2,...,6}{ + \draw[dotted, gray] (\x,0,0) -- ++(0,7,0); + } + + % draw 4 responses + \begin{scope}[very thick, -{Circle[fill=white]}] + \foreach \x/\v in {.8/1, 2.2/2, 2.9/1, 4/4, 5.1/7, 5.8/3}{ + \draw[blue!80!red] (\x,1.5*4,0) -- ++(0,0,\v/3); + } + + \foreach \x/\v in {.9/2, 2.1/2, 3/1, 4/3, 5/6, 6/3}{ + \draw[blue!60!red] (\x,1.5*3,0) -- ++(0,0,\v/3); + } + + \foreach \x/\v in {.6/1, 2/1, 2.8/3, 4.1/4, 5.5/4, 6.2/1}{ + \draw[blue!40!red] (\x,1.5*2,0) -- ++(0,0,\v/3); + } + + \foreach \x/\v in {1.1/2, 1.8/1, 3/2, 3.7/1, 4.8/3, 5.8/1}{ + \draw[blue!20!red] (\x,1.5,0) -- ++(0,0,\v/3); + } + \end{scope} +\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/multipath-sketch.tex b/doc/thesis/figures/tikz/multipath-sketch.tex new file mode 100644 index 0000000..d5bc5bb --- /dev/null +++ b/doc/thesis/figures/tikz/multipath-sketch.tex @@ -0,0 +1,37 @@ +% 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) {}; + }, + ] + + % Antennas + \draw (0,2) pic (T) {antenna} node[above left = 3mm] {\sffamily\bfseries TX}; + \draw (5,0) pic (R) {antenna} node[above right = 3mm] {\sffamily\bfseries RX}; + + % wall coefficients + \draw[thick] (4.75, 2.25) to[out = -20, in = 180] ++(1.2,-.5) node[right] {\(|\Gamma| > 0\)}; + + % walls + \draw[thick, fill = lightgray!20] (3,2) -- ++(2,-.5) -- ++(0,1) -- ++(-2,.5) -- cycle; + \draw[thick, fill = lightgray!20] (-1,0) -- ++(3,0) -- ++(1,-.5) -- ++(-3,0) -- cycle; + + + % reflected signals + \draw[line width = 2pt, blue!50!white, -latex] (T-center) -- node[above, pos = .5] {\(\tau_2,c_2\)} (4,2.25) -- (R-center); + \draw[line width = 2pt, blue!50!white, -latex] (T-center) -- node[left, pos = .7] {\(\tau_3,c_3\)} (1,-.25) -- (R-center); + \draw[line width = 2pt, blue!50!white, -latex] (T-center) -- node[above, pos = .5] {\(\tau_4,c_4\)} (-2.5,1.5) -- (R-center); + + % another wall + \draw[thick, fill = lightgray!20] (-2,0) -- ++(-1,.5) -- ++(0,2) --++(1,-.5) -- cycle; + + % LOS path + \draw[line width = 1mm, red!50!white, + decorate, decoration = { + expanding waves, angle = 5, segment length = 2mm + } + ] (T-center) -- node[above = 2mm, pos = .5] {\(\tau_1,c_1\)} (R-center); +\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/qpsk-constellation.tex b/doc/thesis/figures/tikz/psk-constellation.tex index d927b19..d927b19 100644 --- a/doc/thesis/figures/tikz/qpsk-constellation.tex +++ b/doc/thesis/figures/tikz/psk-constellation.tex diff --git a/doc/thesis/figures/tikz/qam-constellation.tex b/doc/thesis/figures/tikz/qam-constellation.tex index 6481650..eeeddc3 100644 --- a/doc/thesis/figures/tikz/qam-constellation.tex +++ b/doc/thesis/figures/tikz/qam-constellation.tex @@ -21,6 +21,9 @@ } } + % special node for the example + \node[star, fill = blue!40!white] at (s32) {}; + \foreach \i/\l in {0/00,1/01,2/11,3/10}{ \node[lightgray, below = 3mm] at (s\i0) {\texttt{\l}}; \node[lightgray, left = 2mm] at (s0\i) {\texttt{\l}}; diff --git a/doc/thesis/figures/tikz/qam-example.tex b/doc/thesis/figures/tikz/qam-example.tex new file mode 100644 index 0000000..2d37f55 --- /dev/null +++ b/doc/thesis/figures/tikz/qam-example.tex @@ -0,0 +1,49 @@ +% vim: set ts=2 sw=2 noet: + +%% TODO: finish this figure + +\begin{tikzpicture} + % Draw digital signals + \begin{scope}[font = \ttfamily\footnotesize, text = blue!70!white] + \node[above = 1mm of M, xshift = 2mm] {\(\ldots 1100101\)}; + \node[above = 7mm of vmi, xshift = 3mm] + {\(\overbracket[.8pt]{\,11\ldots 00\,}^{\sqrt{M} \text{ bits}}\)}; + \end{scope} + + % Draw analog waveform + \begin{scope}[font = \ttfamily\tiny] + \coordinate (O) at ($(mi)+(-2mm,10.5mm)$); + + \node[left, red!70!white, anchor = east, text width = 8mm, align = right] + at ($(O) + (-2mm,0)$) {\(2^{\sqrt{M}}\) levels}; + + \foreach \y in {-3mm,0,3mm} { + \draw[gray, densely dotted] (O) ++(-2mm,\y) -- ++(22mm,0); + } + + \draw[thick, draw = red!70!white] (O) + -- ++(3mm,0) -- ++(0,-3mm) -- ++(3mm,0) -- ++(0,6mm) + -- ++(3mm,0) -- ++(0,-3mm) -- ++(3mm,0) -- ++(0,-3mm) + -- ++(3mm,0) -- ++(0,3mm) -- ++(3mm,0); + \end{scope} + + % Draw constellation diagram + \begin{scope} + \coordinate (O) at ($(S)+(-7mm,8mm)$); + \draw[gray, -latex] (O) ++(-2mm,0) -- ++(12mm,0) node[right] {\tiny \(\phi_i\)}; + \draw[gray, -latex] (O) ++(0,-2mm) -- ++(0,12mm) node[above] {\tiny \(\phi_q\)}; + + \node[ + circle, thick, + minimum size = 3pt, + inner sep = 0, outer sep = .8pt, + draw = gray, fill = red!50!white + ] (P) at ($(O)+(5mm, 4mm)$) {}; + + \node[gray, above right] at (P) {\tiny \(s\)}; + + \draw[gray, densely dotted] + (P) -- (P |- O) + (P) -- (P -| O); + \end{scope} +\end{tikzpicture} diff --git a/doc/thesis/figures/tikz/qam-modulator.tex b/doc/thesis/figures/tikz/qam-modulator.tex index 59d989f..7ebc2c5 100644 --- a/doc/thesis/figures/tikz/qam-modulator.tex +++ b/doc/thesis/figures/tikz/qam-modulator.tex @@ -57,7 +57,7 @@ \draw (B2Lq.east) -- (Mq.west); \draw (Mq.east) -| (SUM.south); - \draw (SUM) -- (S); + \draw (SUM.east) -- (S); \draw (OSC.east) -| (Mi.south); \draw (OSC.west) -- (H.east); @@ -77,13 +77,16 @@ \node[above left] at (si) {\(s_i(t)\)}; \node[below left] at (sq) {\(s_q(t)\)}; + % Background elements \begin{pgfonlayer}{background} \fill[left color = white, right color = blue!20, draw = white] - ($(B2Li.north) + (0,1)$) coordinate (D) rectangle ($(B2Lq.south) - (3,1)$); + ($(B2Li.north) + (0,1.1)$) coordinate (D) rectangle ($(B2Lq.south) - (3,1)$); \fill[right color = white, left color = red!20, draw = white] - ($(B2Li.north) + (0,1)$) coordinate (A) rectangle ($(B2Lq.south) + (9,-1)$); + ($(B2Li.north) + (0,1.1)$) coordinate (A) rectangle ($(B2Lq.south) + (9,-1)$); - \node[blue!50, anchor = south east, font = \ttfamily\bfseries, xshift = -4mm] at (D) {\bfseries\ttfamily Digital bits}; - \node[red!50, anchor = south west, font = \bfseries\ttfamily, xshift = 4mm] at (A) {Analog waveform}; + \node[blue!50, anchor = south east, font = \ttfamily\bfseries, xshift = -4mm] + at (D) {\bfseries\ttfamily Digital bits}; + \node[red!50, anchor = south west, font = \bfseries\ttfamily, xshift = 4mm] + at (A) {Analog waveform}; \end{pgfonlayer} \end{circuitikz} diff --git a/doc/thesis/image/BPSK2.PNG b/doc/thesis/image/BPSK2.PNG Binary files differdeleted file mode 100644 index 36a7131..0000000 --- a/doc/thesis/image/BPSK2.PNG +++ /dev/null diff --git a/doc/thesis/tex/docmacros.sty b/doc/thesis/tex/docmacros.sty index 433fe19..4c71004 100644 --- a/doc/thesis/tex/docmacros.sty +++ b/doc/thesis/tex/docmacros.sty @@ -1,7 +1,9 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tex/docmacros}[2021/09/27 v0.1 Document Macros] +\RequirePackage{mathtools} \RequirePackage{amsmath} +\RequirePackage{amssymb} \RequirePackage{bm} % Probability diff --git a/doc/thesis/tex/docstyle.sty b/doc/thesis/tex/docstyle.sty new file mode 100644 index 0000000..32a76e8 --- /dev/null +++ b/doc/thesis/tex/docstyle.sty @@ -0,0 +1,87 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tex/docstyle}[2021/10/31 v0.1 Styling for my thesis] + +% Package options +\newif\ifdraftmode +\DeclareOption{draft}{\draftmodetrue} + +\ProcessOptions\relax + +%% Page Margins (done with KOMA) +% \PassOptionsToPackage{geometry}{ +% a4paper, showframe +% } +% \RequirePackage{geometry} +% \AfterCalculatingTypearea{% +% \geometry{% +% inner = 1cm, outer = 1cm, includeheadfoot +% top = 3cm, bottom = 3cm +% } +% } + +%% Need colors +\RequirePackage{xcolor} + +%% Pager headers and footers (using KOMA) +\PassOptionsToPackage{scrlayer-scrpage}{autooneside=false, draft=false} +\RequirePackage{scrlayer-scrpage} + +\setkomafont{pagenumber}{\sffamily\bfseries\slshape} +\setkomafont{pageheadfoot}{\itshape} + +\lehead{\leftmark} +\rohead{\rightmark} + +%% Draft date when in draft mode +\ifdraftmode + \RequirePackage{scrtime} + \newcommand{\draftfooterstring}{\footnotesize\slshape (Draft of \today\ at \thistime)} + \cefoot{\draftfooterstring} + \cofoot{\draftfooterstring} +\fi + +%% Font configuration +% use roboto for sans serif +\RequirePackage{roboto} + +%% Floating captions configuration +% set captions font +\setkomafont{captionlabel}{\sffamily\bfseries} +% set caption style +\setcapindent{0pt} +\renewcommand*{\captionformat}{\quad} + +%% Bibliography style +\PassOptionsToPackage{biblatex}{% + backend = biber, + style = ieeee, +} +\RequirePackage{biblatex} + +%% Set up links +\PassOptionsToPackage{hyperref}{% + bookmarks = true, + %% TODO: set title + % pdftitle = {} + pdfsubject = {Semester Thesis} + pdfauthor = {Naoki Pross, Sara Halter} + plainpages = false, + psepdfpagelabels, +} +\RequirePackage{hyperref} +\hypersetup{ + % remove ugly boxes + hidelinks, + % set link colors + colorlinks = true, + anchorcolor = black, + citecolor = black, + filecolor = black, + linkcolor = black, + menucolor = black, + runcolor = black, + urlcolor = {black!50!blue}, + urlcolor = black, +} + +% vim: set ts=2 sw=2 noet: diff --git a/doc/thesis/tex/titlepage.tex b/doc/thesis/tex/titlepage.tex index 9bcd127..266cde1 100644 --- a/doc/thesis/tex/titlepage.tex +++ b/doc/thesis/tex/titlepage.tex @@ -1,35 +1,5 @@ % vim: set ts=2 sw=2 noet: \begin{titlepage} - \pdfbookmark[1]{\myTitle}{titlepage} - \begin{addmargin}[-1cm]{-3cm} - \begin{center} - \large - - \hfill - - \vfill - - \begingroup - \color{CTtitle}\spacedallcaps{\myTitle} \\ \bigskip - \endgroup - - \spacedlowsmallcaps{\myName} - - \vfill - - % \includegraphics[width=6cm]{gfx/TFZsuperellipse_bw} \\ \medskip - - % \mySubtitle \\ \medskip - % \myDegree \\ - \myDepartment \\ - \myFaculty \\ - \myUni \\ \bigskip - - \myTime\ -- \myVersion - - \vfill - - \end{center} - \end{addmargin} + hello \end{titlepage} |