From 3e86fb2e2d187220efb2038a26e68a37f1dc6ff5 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 1 Nov 2021 15:37:41 +0100 Subject: Draw figure for frequency selective channels --- .gitignore | 1 + doc/thesis/Fading.tex | 6 + doc/thesis/Makefile | 14 +- doc/thesis/chapters/theory.tex | 15 +- .../figures/data/multipath_frequency_response.dat | 300 +++++++++++++++++++++ .../figures/data/multipath_frequency_response.py | 35 +++ .../tikz/multipath-frequency-response-plots.tex | 70 +++++ references/books/mit_ocw_book_6.pdf | Bin 0 -> 653430 bytes 8 files changed, 435 insertions(+), 6 deletions(-) create mode 100644 doc/thesis/figures/data/multipath_frequency_response.dat create mode 100644 doc/thesis/figures/data/multipath_frequency_response.py create mode 100644 doc/thesis/figures/tikz/multipath-frequency-response-plots.tex create mode 100644 references/books/mit_ocw_book_6.pdf diff --git a/.gitignore b/.gitignore index f93f37e..89d80bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.figlist # Created by https://www.toptal.com/developers/gitignore/api/windows,linux,latex,python # Edit at https://www.toptal.com/developers/gitignore?templates=windows,linux,latex,python diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index b80b9e7..1844ceb 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -30,14 +30,20 @@ \usepackage{tikz} % Pretty drawings \usepackage{tikz-3dplot} % More dimensions! +\pgfplotsset{compat=1.17} \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} diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index d5f02ab..167ad29 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -1,5 +1,5 @@ TEX := xelatex -TEXARGS := -halt-on-error -interaction=nonstopmode +TEXARGS := -halt-on-error -interaction=nonstopmode -shell-escape=1 SOURCES := \ Fading.tex \ @@ -20,7 +20,10 @@ SOURCES := \ figures/tikz/qam-modulator.tex \ figures/tikz/qam-constellation.tex \ figures/tikz/multipath-sketch.tex \ - figures/tikz/multipath-impulse-response.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)) @@ -34,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)) @@ -42,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/theory.tex b/doc/thesis/chapters/theory.tex index 2c4687b..2506333 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -193,13 +193,24 @@ that describes the \emph{impulse response} of the channel. This function is depe \subsection{Spectrum of a multipath fading channel} -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 +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 has a periodic (complex) sinusoidal shape, which has some important implications. A series of plots of the magnitude of the frequency response is shown in figure \ref{fig:multipath-frequency-response-plots}. +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. + +\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} \subsection{Discrete-time model} 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/references/books/mit_ocw_book_6.pdf b/references/books/mit_ocw_book_6.pdf new file mode 100644 index 0000000..bfb6457 Binary files /dev/null and b/references/books/mit_ocw_book_6.pdf differ -- cgit v1.2.1