From 2c0214f3e8d7ff15cacb2acd5f9c04308d5c86ec Mon Sep 17 00:00:00 2001 From: sara Date: Thu, 16 Dec 2021 16:43:31 +0100 Subject: Doku bilder --- doc/thesis/Fading.bib | 10 + doc/thesis/Makefile | 7 +- doc/thesis/chapters/implementation.tex | 55 +++- doc/thesis/chapters/theory.tex | 12 +- .../data/flowgraphs/qpsk_channel_static_symb.dat | Bin 0 -> 2224456 bytes .../flowgraphs/qpsk_channel_whitout_effects.dat | Bin 0 -> 3447720 bytes .../data/flowgraphs/qpsk_equalized_static_symb.dat | Bin 0 -> 555784 bytes .../flowgraphs/qpsk_equalized_whitout_effects.dat | Bin 0 -> 861600 bytes .../data/flowgraphs/qpsk_locked_static_symb.dat | Bin 0 -> 555768 bytes .../flowgraphs/qpsk_locked_whitout_effects.dat | Bin 0 -> 861552 bytes .../data/flowgraphs/qpsk_sync_static_symb.dat | Bin 0 -> 555784 bytes .../data/flowgraphs/qpsk_sync_whitout_effects.dat | Bin 0 -> 861600 bytes .../figures/data/multipath_frequency_response.dat | 320 --------------------- .../data/qpsk_sim_constellations_static_symb.py | 32 +++ .../qpsk_sim_constellations_whitout_effects.py | 32 +++ .../tikz/qpsk-sim-constellations-static-symb.tex | 87 ++++++ .../qpsk-sim-constellations-whitout-effects.tex | 87 ++++++ .../QAM_Fading/qam_fading_V2_eigerner_block.grc | 4 +- simulation/QAM_Fading/qam_fading_block.py | 5 +- .../grc/fadingui_multipath_fading.block.yml | 2 +- 20 files changed, 306 insertions(+), 347 deletions(-) create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat create mode 100644 doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat delete mode 100644 doc/thesis/figures/data/multipath_frequency_response.dat create mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py create mode 100644 doc/thesis/figures/data/qpsk_sim_constellations_whitout_effects.py create mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex create mode 100644 doc/thesis/figures/tikz/qpsk-sim-constellations-whitout-effects.tex diff --git a/doc/thesis/Fading.bib b/doc/thesis/Fading.bib index 84a69c4..dddcd1c 100644 --- a/doc/thesis/Fading.bib +++ b/doc/thesis/Fading.bib @@ -177,3 +177,13 @@ year = 2013, language = "de" } + +@misc{Matlab, + title = "Fading Channels", + year = 16.12.2021, + publisher = "The MathWorks, Inc.", + url = "https://ch.mathworks.com/help/comm/ug/fading-channels.html?searchHighlight=rician%20fading&s_tid=srchtitle_rician%2520fading_2#a1070327427b1" +} + + + diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index e23dcfd..cefe3f4 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -25,12 +25,15 @@ SOURCES := \ figures/tikz/tapped-delay-line.tex \ figures/tikz/packet-frame.tex \ figures/tikz/qpsk-sim-constellations-static.tex \ - figures/tikz/qpsk-sim-constellations-dynamic.tex + figures/tikz/qpsk-sim-constellations-dynamic.tex\ + figures/tikz/qpsk-sim-constellations-whitout-effects.tex\ DATA := \ figures/data/multipath_frequency_response.dat \ figures/data/qpsk_sim_constellations_static.dat \ - figures/data/qpsk_sim_constellations_dynamic.dat + figures/data/qpsk_sim_constellations_static_symb.dat \ + figures/data/qpsk_sim_constellations_dynamic.dat\ + figures/data/qpsk_sim_constellations_whitout_effects.dat \ # Get the main file from the file diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 64b4c33..ab00e21 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -271,23 +271,50 @@ In order to study the effects of multipath fading, a series of simulations have \begin{figure} \centering - \input{figures/tikz/qpsk-sim-constellations-static} + \input{figures/tikz/qpsk-sim-constellations-static-symb} \caption{ - Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. + Constellation diagrams for a simulated link using QPSK with the discrete time model block. } \end{figure} + \begin{figure} \centering - \input{figures/tikz/qpsk-sim-constellations-dynamic} + \input{figures/tikz/qpsk-sim-constellations-whitout-effects} \caption{ - Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. The paramters are: frequency offset of 0.2 \%, \SI{100}{\milli\volt} noise, dopper shift for \(v = \SI{2}{\meter\per\second}\), and a NLOS urban PDP. + Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. } \end{figure} +%\begin{figure} +% \centering +% \input{figures/tikz/qpsk-sim-constellations-static} +% \caption{ +% Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. +% } +%\end{figure} + +%\begin{figure} +% \centering +% \input{figures/tikz/qpsk-sim-constellations-static-symb} +% \caption{ +% Constellation diagrams for a simulated link using QPSK with the discrete time model block. +% } +%\end{figure} +% +%\begin{figure} +% \centering +% \input{figures/tikz/qpsk-sim-constellations-dynamic} +% \caption{ +% Constellation diagrams for a simulated link using QPSK with AWGN and Rayleighan fading. The paramters are: frequency offset of 0.2 \%, \SI{100}{\milli\volt} noise, dopper shift for \(v = \SI{2}{\meter\per\second}\), and a NLOS urban PDP. +% } +%\end{figure} + \subsection{Fading with discrete time model} -For the statical version according to \ref{sec:discrete-time-model} to implement and illustrate the fading effect, a separate block was created and implemented in the channel. Nearer shown in \ref{lst:fir-block}. This block is based on a FIR filter. It can be displayed with a direct path or without one. With the help of this filter, the delay of the line of side paths are illustrated. In this block it is possible to simulate any number of these paths with different strengths, as long as there is an associated amplitude specified for each delayed path. Unfortunately, these simulation values do not correspond to the realety, because too many incalculable side effects occur, which aren't possiple to ilustrate in this simulation. +For the statical version according to \ref{sec:discrete-time-model} for implement and illustrate the fading effect, a separate block was created and implemented in the channel. Nearer shown in \ref{lst:fractional-delay-fir}. This block is based on a FIR filter. It can be displayed with a direct path or without one. + + With the help of this filter, the delay of the line of side paths are illustrated. In this block it is possible to simulate any number of these paths with different strengths, as long as there is an associated amplitude specified for each delayed path. Unfortunately, these simulation values do not correspond to the realety, because too many incalculable side effects occur, which aren't possiple to ilustrate in this simulation. This block was additionally implemented with the method described in \ref{sec:fractional-delay} to allow non-integer delay values compared to the samples shown in \figref{fig:fractional-delay-sinc-plot}. Where the sinc function does not select an integer sample. Which in turn means that the other sampled values do not add up to zero. Thus, they will be distributed among the other whole numbers. A window function could also be implemented to limit these values. Here none was implemented because the sinc function is restricted. @@ -339,15 +366,17 @@ Thus, they will be distributed among the other whole numbers. A window function \subsection{Fading with statistical model} - -\skelpar[5]{ - Discuss how i did that -} -% TODO: Quelle https://ch.mathworks.com/help/comm/ug/fading-channels.html?searchHighlight=rician%20fading&s_tid=srchtitle_rician%2520fading_2#a1070327427b1 +In order to represent the effect of the multipaht fading not only statically, a second model was created using the Frequency Selective Fading Model from Gnu Radio, according to \ref{sec:statistical-model},which was implemented after the algorithm from the paper \cite{Alimohammad2009}, with the help of the sum-of sinusoid principal (SOS). The algorithm in this block is implemented with the aim that only a small number of sinusoids are needed. +This number represent the sinusoids which are simulated for each ray, for that value 8 has been chosen. + +It can also be chosen whish statical model should be taken for the simulation Rayleigh or Rician. When the Rician model is taken also a realistic value for the factor \(K\) need to be given. Whish is something between zero and ten. As mentioned earlier, when \(K=0\) the distribution is the same as with the Rayleight model. For a faktor \(K = 5.1\) the probability function is gaussien distributed. + +The power delay profile which specify the delay in time for each impulse need to be in sample. For this delay vector some realistic values \cite{Matlab} are for the first delay, when theirs non line of side zero. The second delayed path depend on the environment of measurement. In an indoor environment it is usually between \(1\cdot10^{-9}\) to \(1\cdot10^{-7}\) and in an outdoor environment between \(1\cdot10^{-7}\) to \(1\cdot10^{-5}\). The rest depends on the bandwidth. + +The magnitudes of the pulses are given with the linear value. In practices the avarage path gain of a fading paht is in the range of \([ -20 \text{dB} , 0\text{dB}]\). + -In order to represent the effect of the multipaht fading not only statically, a second model was created using the Frequency Selective Fading Model from Gnu Radio, according to \ref{statistical_model},which was implemented after the algorithm from the paper \cite{Alimohammad2009}. It is based on the sum-of sinusoid principal(SOS) -For this given block there need to set a few parameters. First of al the numbers of Sinusoids for the model which are simulateed for each ray, for this 8 is a good value like it's described in the paper on which the block is based on. For the Doppler effect which shoudent be forgotten if something is moving in the construction, like the transmitter or the reviser. It need to be normalized with the sampling rate. \begin{equation} @@ -356,7 +385,7 @@ For the Doppler effect which shoudent be forgotten if something is moving in the With the velocity \(v\) in \(\frac{m}{s}\) for example walking this value is between \(2-4\frac{m}{s}\).The carrier frequency \(f_c\) in this case 2.4GHz and the velocity of light \(c\). -It can also be chosen whish Statical model should be taken for the simulation Rayleigh or Rician. When the Rician model is taken also a realistc value for the factor \(K\) need to be given. For a K factor zero it can be Rician distribution is the same as the Rayleight distribution. With a faktor \(K = 5.1\) the probability function is gaussien distributed. + The power delay profile which specify the delay in time for each impulse need to be in sample. For this delay vector some realistic values are for the first delay when theirs non line of side should be zero. The second delayed path depend on the environment of measurement. In an indoor enviroment it is usually between \(1\cdot10^{-9}\) to \(1\cdot10^{-7}\) and in an outdoor environment between \(1\cdot10^{-7}\) to \(1\cdot10^{-5}\). The rest depends on on the bandwidth. diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 6cf3520..d8dd696 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -378,7 +378,7 @@ i.e. the amplitude of \(f\) is \emph{Raileigh} distributed. In the case of the Ricean distribution model the line of side exist, which means that one of the paths have a straight communication line from the transmitter to the reviser. So there are in addition to the Rayleight model direct components, whish are also gaussian distributed. \begin{equation} \label{eqn:rician fading} - f(t) = \sqrt{\frac{K}{K+1}}+\lim_{N\rightarrow\infty}\frac{1}{\sqrt{K+1}} \frac{1}{\sqrt{N}}\sum_{n=1}^{N} e^{j(\Theta +2\pi jf t)}. + f(t) = \sqrt{\frac{K}{K+1}}+\lim_{N\rightarrow\infty}\frac{1}{\sqrt{K+1}} \frac{1}{\sqrt{N}}\sum_{n=1}^{N} e^{j \vartheta_k }. \end{equation} The factor \(K\) named Ricean factor it is the ratio of the line of side power to the average power of the distributed components. @@ -389,13 +389,13 @@ For this distribution model the expectation value for the real part is \(\E{\Re{ So the probability function of the amplitude in this case is: \begin{equation} \label{eqn:rician_fading_probabilety_dencety} - p(a)= 2a(1+K)\exp{(-K-{a}^2(K+1))}\cdot I_0(2a\sqrt{K(1+K)}) + p(a)= 2a(1+K)e^{(-K-{a}^2(K+1))}\cdot I_0(2a\sqrt{K(1+K)}) \end{equation} Where \(I_0\) the zero ordered modified besselfunction represent. -\begin{equation} - \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} +%\begin{equation} +% \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} \skelpar[4] diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat new file mode 100644 index 0000000..b2f96ab Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_channel_static_symb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat new file mode 100644 index 0000000..c5d7a51 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_channel_whitout_effects.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat new file mode 100644 index 0000000..fc70e83 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_static_symb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat new file mode 100644 index 0000000..38b583c Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_equalized_whitout_effects.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat new file mode 100644 index 0000000..e3be058 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_locked_static_symb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat new file mode 100644 index 0000000..052b5eb Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_locked_whitout_effects.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat new file mode 100644 index 0000000..54d351f Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_sync_static_symb.dat differ diff --git a/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat b/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat new file mode 100644 index 0000000..2d7d1b4 Binary files /dev/null and b/doc/thesis/figures/data/flowgraphs/qpsk_sync_whitout_effects.dat differ diff --git a/doc/thesis/figures/data/multipath_frequency_response.dat b/doc/thesis/figures/data/multipath_frequency_response.dat deleted file mode 100644 index 905dbf1..0000000 --- a/doc/thesis/figures/data/multipath_frequency_response.dat +++ /dev/null @@ -1,320 +0,0 @@ -1.000000e+05 1.000000e-05 1.996053e+00 1.000000e+00 -1.133108e-15 -8.090170e-01 -5.877853e-01 1.909830e-01 -5.877853e-01 -1.021891e+05 9.785784e-06 1.995879e+00 9.999879e-01 4.924107e-03 -8.072769e-01 -5.901729e-01 1.927110e-01 -5.852488e-01 -1.044260e+05 9.576156e-06 1.995697e+00 9.999515e-01 9.848094e-03 -8.055297e-01 -5.925554e-01 1.944218e-01 -5.827073e-01 -1.067120e+05 9.371019e-06 1.995506e+00 9.998909e-01 1.477184e-02 -8.037755e-01 -5.949327e-01 1.961154e-01 -5.801609e-01 -1.090480e+05 9.170277e-06 1.995307e+00 9.998060e-01 1.969523e-02 -8.020143e-01 -5.973049e-01 1.977918e-01 -5.776096e-01 -1.114351e+05 8.973835e-06 1.995100e+00 9.996969e-01 2.461814e-02 -8.002461e-01 -5.996718e-01 1.994509e-01 -5.750536e-01 -1.138745e+05 8.781600e-06 1.994883e+00 9.995636e-01 2.954046e-02 -7.984708e-01 -6.020335e-01 2.010927e-01 -5.724930e-01 -1.163672e+05 8.593484e-06 1.994656e+00 9.994060e-01 3.446206e-02 -7.966887e-01 -6.043899e-01 2.027173e-01 -5.699278e-01 -1.189146e+05 8.409398e-06 1.994420e+00 9.992242e-01 3.938282e-02 -7.948995e-01 -6.067411e-01 2.043247e-01 -5.673582e-01 -1.215177e+05 8.229255e-06 1.994173e+00 9.990182e-01 4.430263e-02 -7.931035e-01 -6.090869e-01 2.059147e-01 -5.647843e-01 -1.241778e+05 8.052971e-06 1.993915e+00 9.987879e-01 4.922137e-02 -7.913005e-01 -6.114275e-01 2.074874e-01 -5.622061e-01 -1.268961e+05 7.880463e-06 1.993646e+00 9.985334e-01 5.413891e-02 -7.894906e-01 -6.137627e-01 2.090428e-01 -5.596238e-01 -1.296739e+05 7.711650e-06 1.993365e+00 9.982547e-01 5.905514e-02 -7.876738e-01 -6.160925e-01 2.105809e-01 -5.570374e-01 -1.325126e+05 7.546454e-06 1.993072e+00 9.979518e-01 6.396993e-02 -7.858501e-01 -6.184170e-01 2.121017e-01 -5.544471e-01 -1.354133e+05 7.384797e-06 1.992765e+00 9.976247e-01 6.888318e-02 -7.840196e-01 -6.207361e-01 2.136051e-01 -5.518529e-01 -1.383776e+05 7.226603e-06 1.992445e+00 9.972735e-01 7.379475e-02 -7.821822e-01 -6.230497e-01 2.150912e-01 -5.492550e-01 -1.414068e+05 7.071797e-06 1.992111e+00 9.968980e-01 7.870454e-02 -7.803380e-01 -6.253579e-01 2.165600e-01 -5.466534e-01 -1.445022e+05 6.920307e-06 1.991762e+00 9.964984e-01 8.361242e-02 -7.784870e-01 -6.276607e-01 2.180113e-01 -5.440483e-01 -1.476655e+05 6.772063e-06 1.991398e+00 9.960746e-01 8.851827e-02 -7.766292e-01 -6.299580e-01 2.194453e-01 -5.414397e-01 -1.508980e+05 6.626995e-06 1.991017e+00 9.956266e-01 9.342197e-02 -7.747646e-01 -6.322498e-01 2.208620e-01 -5.388278e-01 -1.542012e+05 6.485034e-06 1.990620e+00 9.951545e-01 9.832341e-02 -7.728933e-01 -6.345360e-01 2.222612e-01 -5.362126e-01 -1.575768e+05 6.346114e-06 1.990205e+00 9.946583e-01 1.032225e-01 -7.710152e-01 -6.368167e-01 2.236431e-01 -5.335943e-01 -1.610262e+05 6.210169e-06 1.989772e+00 9.941380e-01 1.081190e-01 -7.691304e-01 -6.390919e-01 2.250076e-01 -5.309729e-01 -1.645512e+05 6.077137e-06 1.989320e+00 9.935935e-01 1.130129e-01 -7.672388e-01 -6.413615e-01 2.263547e-01 -5.283485e-01 -1.681533e+05 5.946955e-06 1.988848e+00 9.930250e-01 1.179041e-01 -7.653406e-01 -6.436255e-01 2.276844e-01 -5.257213e-01 -1.718342e+05 5.819562e-06 1.988355e+00 9.924324e-01 1.227925e-01 -7.634357e-01 -6.458838e-01 2.289967e-01 -5.230914e-01 -1.755958e+05 5.694897e-06 1.987840e+00 9.918157e-01 1.276778e-01 -7.615241e-01 -6.481366e-01 2.302916e-01 -5.204587e-01 -1.794397e+05 5.572903e-06 1.987302e+00 9.911750e-01 1.325601e-01 -7.596059e-01 -6.503836e-01 2.315691e-01 -5.178236e-01 -1.833677e+05 5.453523e-06 1.986741e+00 9.905102e-01 1.374391e-01 -7.576810e-01 -6.526250e-01 2.328292e-01 -5.151859e-01 -1.873817e+05 5.336699e-06 1.986154e+00 9.898214e-01 1.423148e-01 -7.557496e-01 -6.548607e-01 2.340719e-01 -5.125459e-01 -1.914836e+05 5.222378e-06 1.985542e+00 9.891087e-01 1.471871e-01 -7.538115e-01 -6.570907e-01 2.352972e-01 -5.099036e-01 -1.956753e+05 5.110507e-06 1.984903e+00 9.883719e-01 1.520558e-01 -7.518669e-01 -6.593150e-01 2.365050e-01 -5.072592e-01 -1.999588e+05 5.001031e-06 1.984236e+00 9.876112e-01 1.569208e-01 -7.499157e-01 -6.615335e-01 2.376955e-01 -5.046127e-01 -2.043360e+05 4.893901e-06 1.983539e+00 9.868265e-01 1.617820e-01 -7.479579e-01 -6.637462e-01 2.388686e-01 -5.019642e-01 -2.088090e+05 4.789066e-06 1.982812e+00 9.860179e-01 1.666393e-01 -7.459936e-01 -6.659531e-01 2.400243e-01 -4.993138e-01 -2.133799e+05 4.686476e-06 1.982052e+00 9.851854e-01 1.714925e-01 -7.440228e-01 -6.681542e-01 2.411626e-01 -4.966617e-01 -2.180510e+05 4.586084e-06 1.981259e+00 9.843290e-01 1.763416e-01 -7.420455e-01 -6.703495e-01 2.422835e-01 -4.940079e-01 -2.228242e+05 4.487843e-06 1.980431e+00 9.834488e-01 1.811864e-01 -7.400618e-01 -6.725389e-01 2.433870e-01 -4.913525e-01 -2.277020e+05 4.391706e-06 1.979566e+00 9.825447e-01 1.860268e-01 -7.380715e-01 -6.747225e-01 2.444731e-01 -4.886957e-01 -2.326865e+05 4.297628e-06 1.978663e+00 9.816167e-01 1.908627e-01 -7.360749e-01 -6.769001e-01 2.455419e-01 -4.860374e-01 -2.377801e+05 4.205566e-06 1.977721e+00 9.806650e-01 1.956940e-01 -7.340718e-01 -6.790719e-01 2.465932e-01 -4.833779e-01 -2.429853e+05 4.115476e-06 1.976736e+00 9.796895e-01 2.005205e-01 -7.320623e-01 -6.812377e-01 2.476272e-01 -4.807172e-01 -2.483043e+05 4.027316e-06 1.975709e+00 9.786902e-01 2.053422e-01 -7.300464e-01 -6.833976e-01 2.486439e-01 -4.780554e-01 -2.537399e+05 3.941044e-06 1.974636e+00 9.776673e-01 2.101589e-01 -7.280241e-01 -6.855515e-01 2.496431e-01 -4.753927e-01 -2.592944e+05 3.856620e-06 1.973516e+00 9.766206e-01 2.149704e-01 -7.259955e-01 -6.876995e-01 2.506251e-01 -4.727290e-01 -2.649705e+05 3.774005e-06 1.972346e+00 9.755502e-01 2.197768e-01 -7.239605e-01 -6.898414e-01 2.515896e-01 -4.700646e-01 -2.707708e+05 3.693160e-06 1.971125e+00 9.744561e-01 2.245779e-01 -7.219193e-01 -6.919773e-01 2.525369e-01 -4.673994e-01 -2.766982e+05 3.614046e-06 1.969851e+00 9.733385e-01 2.293735e-01 -7.198717e-01 -6.941072e-01 2.534668e-01 -4.647337e-01 -2.827552e+05 3.536628e-06 1.968520e+00 9.721972e-01 2.341635e-01 -7.178178e-01 -6.962310e-01 2.543794e-01 -4.620675e-01 -2.889449e+05 3.460867e-06 1.967130e+00 9.710324e-01 2.389479e-01 -7.157577e-01 -6.983487e-01 2.552747e-01 -4.594008e-01 -2.952701e+05 3.386730e-06 1.965680e+00 9.698440e-01 2.437264e-01 -7.136913e-01 -7.004604e-01 2.561527e-01 -4.567339e-01 -3.017337e+05 3.314181e-06 1.964165e+00 9.686321e-01 2.484991e-01 -7.116187e-01 -7.025659e-01 2.570134e-01 -4.540668e-01 -3.083388e+05 3.243185e-06 1.962584e+00 9.673967e-01 2.532657e-01 -7.095399e-01 -7.046653e-01 2.578569e-01 -4.513995e-01 -3.150885e+05 3.173711e-06 1.960933e+00 9.661379e-01 2.580262e-01 -7.074549e-01 -7.067585e-01 2.586830e-01 -4.487323e-01 -3.219860e+05 3.105725e-06 1.959210e+00 9.648556e-01 2.627805e-01 -7.053637e-01 -7.088456e-01 2.594920e-01 -4.460651e-01 -3.290345e+05 3.039195e-06 1.957411e+00 9.635500e-01 2.675283e-01 -7.032664e-01 -7.109265e-01 2.602836e-01 -4.433981e-01 -3.362372e+05 2.974091e-06 1.955533e+00 9.622210e-01 2.722697e-01 -7.011629e-01 -7.130011e-01 2.610581e-01 -4.407314e-01 -3.435976e+05 2.910381e-06 1.953573e+00 9.608686e-01 2.770045e-01 -6.990533e-01 -7.150696e-01 2.618153e-01 -4.380651e-01 -3.511192e+05 2.848036e-06 1.951526e+00 9.594930e-01 2.817326e-01 -6.969376e-01 -7.171318e-01 2.625554e-01 -4.353992e-01 -3.588054e+05 2.787026e-06 1.949390e+00 9.580941e-01 2.864538e-01 -6.948158e-01 -7.191878e-01 2.632783e-01 -4.327340e-01 -3.666598e+05 2.727324e-06 1.947160e+00 9.566719e-01 2.911681e-01 -6.926879e-01 -7.212374e-01 2.639840e-01 -4.300694e-01 -3.746862e+05 2.668900e-06 1.944832e+00 9.552266e-01 2.958753e-01 -6.905540e-01 -7.232808e-01 2.646725e-01 -4.274055e-01 -3.828883e+05 2.611728e-06 1.942402e+00 9.537581e-01 3.005753e-01 -6.884141e-01 -7.253179e-01 2.653440e-01 -4.247425e-01 -3.912699e+05 2.555780e-06 1.939865e+00 9.522664e-01 3.052681e-01 -6.862682e-01 -7.273486e-01 2.659983e-01 -4.220805e-01 -3.998351e+05 2.501031e-06 1.937218e+00 9.507517e-01 3.099535e-01 -6.841162e-01 -7.293730e-01 2.666355e-01 -4.194195e-01 -4.085877e+05 2.447455e-06 1.934454e+00 9.492140e-01 3.146313e-01 -6.819583e-01 -7.313910e-01 2.672556e-01 -4.167597e-01 -4.175319e+05 2.395027e-06 1.931570e+00 9.476532e-01 3.193015e-01 -6.797945e-01 -7.334026e-01 2.678587e-01 -4.141011e-01 -4.266719e+05 2.343721e-06 1.928559e+00 9.460694e-01 3.239640e-01 -6.776247e-01 -7.354079e-01 2.684447e-01 -4.114439e-01 -4.360120e+05 2.293515e-06 1.925417e+00 9.444627e-01 3.286186e-01 -6.754490e-01 -7.374067e-01 2.690137e-01 -4.087881e-01 -4.455565e+05 2.244384e-06 1.922138e+00 9.428331e-01 3.332653e-01 -6.732674e-01 -7.393991e-01 2.695657e-01 -4.061338e-01 -4.553100e+05 2.196306e-06 1.918715e+00 9.411806e-01 3.379038e-01 -6.710799e-01 -7.413850e-01 2.701007e-01 -4.034811e-01 -4.652770e+05 2.149257e-06 1.915143e+00 9.395054e-01 3.425342e-01 -6.688866e-01 -7.433644e-01 2.706187e-01 -4.008302e-01 -4.754622e+05 2.103217e-06 1.911415e+00 9.378073e-01 3.471563e-01 -6.666874e-01 -7.453374e-01 2.711198e-01 -3.981811e-01 -4.858703e+05 2.058162e-06 1.907525e+00 9.360865e-01 3.517699e-01 -6.644825e-01 -7.473039e-01 2.716040e-01 -3.955339e-01 -4.965063e+05 2.014073e-06 1.903465e+00 9.343430e-01 3.563751e-01 -6.622717e-01 -7.492638e-01 2.720713e-01 -3.928887e-01 -5.073751e+05 1.970928e-06 1.899229e+00 9.325768e-01 3.609716e-01 -6.600551e-01 -7.512172e-01 2.725217e-01 -3.902456e-01 -5.184818e+05 1.928708e-06 1.894808e+00 9.307881e-01 3.655593e-01 -6.578328e-01 -7.531640e-01 2.729553e-01 -3.876047e-01 -5.298317e+05 1.887392e-06 1.890195e+00 9.289767e-01 3.701382e-01 -6.556047e-01 -7.551043e-01 2.733720e-01 -3.849661e-01 -5.414300e+05 1.846961e-06 1.885382e+00 9.271429e-01 3.747080e-01 -6.533709e-01 -7.570380e-01 2.737720e-01 -3.823299e-01 -5.532822e+05 1.807396e-06 1.880360e+00 9.252865e-01 3.792689e-01 -6.511314e-01 -7.589650e-01 2.741551e-01 -3.796962e-01 -5.653939e+05 1.768679e-06 1.875121e+00 9.234077e-01 3.838205e-01 -6.488862e-01 -7.608855e-01 2.745215e-01 -3.770650e-01 -5.777707e+05 1.730791e-06 1.869655e+00 9.215066e-01 3.883628e-01 -6.466354e-01 -7.627992e-01 2.748712e-01 -3.744365e-01 -5.904184e+05 1.693714e-06 1.863952e+00 9.195831e-01 3.928957e-01 -6.443789e-01 -7.647064e-01 2.752042e-01 -3.718107e-01 -6.033430e+05 1.657432e-06 1.858002e+00 9.176372e-01 3.974190e-01 -6.421168e-01 -7.666068e-01 2.755205e-01 -3.691878e-01 -6.165505e+05 1.621927e-06 1.851796e+00 9.156692e-01 4.019327e-01 -6.398490e-01 -7.685006e-01 2.758201e-01 -3.665679e-01 -6.300471e+05 1.587183e-06 1.845323e+00 9.136789e-01 4.064367e-01 -6.375757e-01 -7.703877e-01 2.761032e-01 -3.639510e-01 -6.438392e+05 1.553183e-06 1.838570e+00 9.116665e-01 4.109309e-01 -6.352969e-01 -7.722680e-01 2.763696e-01 -3.613372e-01 -6.579332e+05 1.519911e-06 1.831527e+00 9.096320e-01 4.154150e-01 -6.330125e-01 -7.741416e-01 2.766195e-01 -3.587266e-01 -6.723358e+05 1.487352e-06 1.824182e+00 9.075754e-01 4.198891e-01 -6.307225e-01 -7.760084e-01 2.768529e-01 -3.561193e-01 -6.870536e+05 1.455491e-06 1.816521e+00 9.054968e-01 4.243530e-01 -6.284271e-01 -7.778685e-01 2.770698e-01 -3.535155e-01 -7.020936e+05 1.424312e-06 1.808532e+00 9.033963e-01 4.288066e-01 -6.261261e-01 -7.797218e-01 2.772702e-01 -3.509152e-01 -7.174628e+05 1.393801e-06 1.800202e+00 9.012739e-01 4.332498e-01 -6.238197e-01 -7.815683e-01 2.774541e-01 -3.483184e-01 -7.331684e+05 1.363943e-06 1.791516e+00 8.991296e-01 4.376826e-01 -6.215079e-01 -7.834079e-01 2.776217e-01 -3.457253e-01 -7.492179e+05 1.334725e-06 1.782459e+00 8.969635e-01 4.421047e-01 -6.191906e-01 -7.852407e-01 2.777728e-01 -3.431360e-01 -7.656187e+05 1.306133e-06 1.773017e+00 8.947756e-01 4.465161e-01 -6.168679e-01 -7.870667e-01 2.779077e-01 -3.405506e-01 -7.823785e+05 1.278154e-06 1.763174e+00 8.925661e-01 4.509166e-01 -6.145399e-01 -7.888858e-01 2.780262e-01 -3.379691e-01 -7.995052e+05 1.250774e-06 1.752913e+00 8.903349e-01 4.553062e-01 -6.122065e-01 -7.906979e-01 2.781284e-01 -3.353917e-01 -8.170069e+05 1.223980e-06 1.742218e+00 8.880821e-01 4.596848e-01 -6.098677e-01 -7.925032e-01 2.782144e-01 -3.328184e-01 -8.348916e+05 1.197760e-06 1.731071e+00 8.858078e-01 4.640523e-01 -6.075236e-01 -7.943016e-01 2.782842e-01 -3.302494e-01 -8.531679e+05 1.172102e-06 1.719454e+00 8.835120e-01 4.684084e-01 -6.051742e-01 -7.960931e-01 2.783378e-01 -3.276846e-01 -8.718442e+05 1.146994e-06 1.707349e+00 8.811948e-01 4.727533e-01 -6.028195e-01 -7.978776e-01 2.783753e-01 -3.251243e-01 -8.909293e+05 1.122423e-06 1.694736e+00 8.788563e-01 4.770866e-01 -6.004596e-01 -7.996551e-01 2.783967e-01 -3.225685e-01 -9.104323e+05 1.098379e-06 1.681595e+00 8.764964e-01 4.814084e-01 -5.980944e-01 -8.014256e-01 2.784020e-01 -3.200172e-01 -9.303622e+05 1.074850e-06 1.667906e+00 8.741153e-01 4.857186e-01 -5.957240e-01 -8.031892e-01 2.783912e-01 -3.174706e-01 -9.507283e+05 1.051825e-06 1.653647e+00 8.717129e-01 4.900169e-01 -5.933484e-01 -8.049457e-01 2.783645e-01 -3.149288e-01 -9.715403e+05 1.029293e-06 1.638795e+00 8.692895e-01 4.943034e-01 -5.909676e-01 -8.066953e-01 2.783218e-01 -3.123919e-01 -9.928079e+05 1.007244e-06 1.623330e+00 8.668449e-01 4.985779e-01 -5.885817e-01 -8.084377e-01 2.782632e-01 -3.098599e-01 -1.014541e+06 9.856674e-07 1.607226e+00 8.643794e-01 5.028402e-01 -5.861906e-01 -8.101732e-01 2.781887e-01 -3.073329e-01 -1.036750e+06 9.645528e-07 1.590460e+00 8.618928e-01 5.070904e-01 -5.837944e-01 -8.119015e-01 2.780984e-01 -3.048111e-01 -1.059445e+06 9.438905e-07 1.573008e+00 8.593854e-01 5.113284e-01 -5.813932e-01 -8.136228e-01 2.779923e-01 -3.022944e-01 -1.082637e+06 9.236709e-07 1.554843e+00 8.568572e-01 5.155539e-01 -5.789868e-01 -8.153369e-01 2.778704e-01 -2.997831e-01 -1.106336e+06 9.038843e-07 1.535939e+00 8.543081e-01 5.197669e-01 -5.765754e-01 -8.170440e-01 2.777328e-01 -2.972771e-01 -1.130555e+06 8.845216e-07 1.516269e+00 8.517384e-01 5.239673e-01 -5.741589e-01 -8.187439e-01 2.775795e-01 -2.947766e-01 -1.155303e+06 8.655737e-07 1.495807e+00 8.491480e-01 5.281550e-01 -5.717375e-01 -8.204366e-01 2.774105e-01 -2.922817e-01 -1.180593e+06 8.470317e-07 1.474523e+00 8.465370e-01 5.323299e-01 -5.693110e-01 -8.221222e-01 2.772260e-01 -2.897924e-01 -1.206437e+06 8.288869e-07 1.452388e+00 8.439055e-01 5.364918e-01 -5.668796e-01 -8.238007e-01 2.770259e-01 -2.873088e-01 -1.232847e+06 8.111308e-07 1.429373e+00 8.412535e-01 5.406408e-01 -5.644432e-01 -8.254719e-01 2.768103e-01 -2.848311e-01 -1.259834e+06 7.937551e-07 1.405448e+00 8.385812e-01 5.447767e-01 -5.620019e-01 -8.271359e-01 2.765792e-01 -2.823592e-01 -1.287413e+06 7.767516e-07 1.380582e+00 8.358885e-01 5.488993e-01 -5.595557e-01 -8.287927e-01 2.763327e-01 -2.798934e-01 -1.315595e+06 7.601123e-07 1.354743e+00 8.331755e-01 5.530087e-01 -5.571046e-01 -8.304423e-01 2.760709e-01 -2.774336e-01 -1.344394e+06 7.438294e-07 1.327900e+00 8.304423e-01 5.571046e-01 -5.546487e-01 -8.320846e-01 2.757936e-01 -2.749800e-01 -1.373824e+06 7.278954e-07 1.300020e+00 8.276890e-01 5.611871e-01 -5.521879e-01 -8.337197e-01 2.755011e-01 -2.725326e-01 -1.403898e+06 7.123027e-07 1.271070e+00 8.249156e-01 5.652559e-01 -5.497223e-01 -8.353475e-01 2.751933e-01 -2.700916e-01 -1.434630e+06 6.970440e-07 1.241018e+00 8.221222e-01 5.693110e-01 -5.472519e-01 -8.369680e-01 2.748704e-01 -2.676570e-01 -1.466035e+06 6.821122e-07 1.209831e+00 8.193089e-01 5.733523e-01 -5.447767e-01 -8.385812e-01 2.745322e-01 -2.652288e-01 -1.498127e+06 6.675002e-07 1.177474e+00 8.164757e-01 5.773797e-01 -5.422967e-01 -8.401870e-01 2.741790e-01 -2.628073e-01 -1.530922e+06 6.532013e-07 1.143914e+00 8.136228e-01 5.813932e-01 -5.398121e-01 -8.417856e-01 2.738107e-01 -2.603924e-01 -1.564434e+06 6.392086e-07 1.109118e+00 8.107501e-01 5.853925e-01 -5.373227e-01 -8.433767e-01 2.734274e-01 -2.579843e-01 -1.598681e+06 6.255157e-07 1.073053e+00 8.078577e-01 5.893776e-01 -5.348286e-01 -8.449606e-01 2.730291e-01 -2.555830e-01 -1.633677e+06 6.121162e-07 1.035685e+00 8.049457e-01 5.933484e-01 -5.323299e-01 -8.465370e-01 2.726159e-01 -2.531886e-01 -1.669439e+06 5.990036e-07 9.969815e-01 8.020143e-01 5.973049e-01 -5.298265e-01 -8.481061e-01 2.721878e-01 -2.508012e-01 -1.705984e+06 5.861720e-07 9.569111e-01 7.990634e-01 6.012468e-01 -5.273184e-01 -8.496677e-01 2.717449e-01 -2.484209e-01 -1.743329e+06 5.736153e-07 9.154425e-01 7.960931e-01 6.051742e-01 -5.248058e-01 -8.512220e-01 2.712872e-01 -2.460478e-01 -1.781491e+06 5.613275e-07 8.725457e-01 7.931035e-01 6.090869e-01 -5.222886e-01 -8.527688e-01 2.708148e-01 -2.436819e-01 -1.820489e+06 5.493029e-07 8.281917e-01 7.900946e-01 6.129849e-01 -5.197669e-01 -8.543081e-01 2.703278e-01 -2.413233e-01 -1.860341e+06 5.375360e-07 7.823534e-01 7.870667e-01 6.168679e-01 -5.172406e-01 -8.558401e-01 2.698261e-01 -2.389721e-01 -1.901065e+06 5.260211e-07 7.350051e-01 7.840196e-01 6.207361e-01 -5.147098e-01 -8.573645e-01 2.693098e-01 -2.366284e-01 -1.942680e+06 5.147528e-07 6.861235e-01 7.809535e-01 6.245891e-01 -5.121744e-01 -8.588814e-01 2.687791e-01 -2.342923e-01 -1.985206e+06 5.037260e-07 6.356875e-01 7.778685e-01 6.284271e-01 -5.096347e-01 -8.603909e-01 2.682338e-01 -2.319638e-01 -2.028664e+06 4.929354e-07 5.836788e-01 7.747646e-01 6.322498e-01 -5.070904e-01 -8.618928e-01 2.676742e-01 -2.296431e-01 -2.073072e+06 4.823759e-07 5.300824e-01 7.716420e-01 6.360571e-01 -5.045418e-01 -8.633873e-01 2.671002e-01 -2.273302e-01 -2.118453e+06 4.720426e-07 4.748868e-01 7.685006e-01 6.398490e-01 -5.019887e-01 -8.648742e-01 2.665119e-01 -2.250251e-01 -2.164827e+06 4.619307e-07 4.180844e-01 7.653406e-01 6.436255e-01 -4.994313e-01 -8.663535e-01 2.659093e-01 -2.227280e-01 -2.212216e+06 4.520354e-07 3.596722e-01 7.621621e-01 6.473863e-01 -4.968695e-01 -8.678253e-01 2.652925e-01 -2.204390e-01 -2.260643e+06 4.423520e-07 2.996524e-01 7.589650e-01 6.511314e-01 -4.943034e-01 -8.692895e-01 2.646616e-01 -2.181581e-01 -2.310130e+06 4.328761e-07 2.380325e-01 7.557496e-01 6.548607e-01 -4.917329e-01 -8.707461e-01 2.640166e-01 -2.158853e-01 -2.360700e+06 4.236032e-07 1.748265e-01 7.525158e-01 6.585742e-01 -4.891582e-01 -8.721951e-01 2.633576e-01 -2.136209e-01 -2.412377e+06 4.145289e-07 1.100550e-01 7.492638e-01 6.622717e-01 -4.865792e-01 -8.736365e-01 2.626846e-01 -2.113648e-01 -2.465185e+06 4.056491e-07 4.374624e-02 7.459936e-01 6.659531e-01 -4.839959e-01 -8.750703e-01 2.619977e-01 -2.091172e-01 -2.519149e+06 3.969594e-07 2.406322e-02 7.427053e-01 6.696184e-01 -4.814084e-01 -8.764964e-01 2.612969e-01 -2.068780e-01 -2.574295e+06 3.884559e-07 9.332790e-02 7.393991e-01 6.732674e-01 -4.788167e-01 -8.779149e-01 2.605823e-01 -2.046475e-01 -2.630648e+06 3.801345e-07 1.639925e-01 7.360749e-01 6.769001e-01 -4.762209e-01 -8.793257e-01 2.598540e-01 -2.024256e-01 -2.688234e+06 3.719914e-07 2.359909e-01 7.327328e-01 6.805164e-01 -4.736209e-01 -8.807288e-01 2.591120e-01 -2.002124e-01 -2.747081e+06 3.640228e-07 3.092455e-01 7.293730e-01 6.841162e-01 -4.710167e-01 -8.821243e-01 2.583563e-01 -1.980080e-01 -2.807216e+06 3.562248e-07 3.836663e-01 7.259955e-01 6.876995e-01 -4.684084e-01 -8.835120e-01 2.575871e-01 -1.958126e-01 -2.868668e+06 3.485939e-07 4.591496e-01 7.226004e-01 6.912660e-01 -4.657961e-01 -8.848921e-01 2.568043e-01 -1.936261e-01 -2.931465e+06 3.411264e-07 5.355773e-01 7.191878e-01 6.948158e-01 -4.631797e-01 -8.862644e-01 2.560081e-01 -1.914486e-01 -2.995636e+06 3.338189e-07 6.128160e-01 7.157577e-01 6.983487e-01 -4.605592e-01 -8.876290e-01 2.551985e-01 -1.892803e-01 -3.061212e+06 3.266680e-07 6.907155e-01 7.123103e-01 7.018647e-01 -4.579347e-01 -8.889858e-01 2.543756e-01 -1.871211e-01 -3.128224e+06 3.196702e-07 7.691080e-01 7.088456e-01 7.053637e-01 -4.553062e-01 -8.903349e-01 2.535393e-01 -1.849712e-01 -3.196702e+06 3.128224e-07 8.478072e-01 7.053637e-01 7.088456e-01 -4.526738e-01 -8.916762e-01 2.526899e-01 -1.828306e-01 -3.266680e+06 3.061212e-07 9.266068e-01 7.018647e-01 7.123103e-01 -4.500374e-01 -8.930097e-01 2.518273e-01 -1.806995e-01 -3.338189e+06 2.995636e-07 1.005280e+00 6.983487e-01 7.157577e-01 -4.473970e-01 -8.943354e-01 2.509517e-01 -1.785778e-01 -3.411264e+06 2.931465e-07 1.083578e+00 6.948158e-01 7.191878e-01 -4.447528e-01 -8.956534e-01 2.500630e-01 -1.764656e-01 -3.485939e+06 2.868668e-07 1.161230e+00 6.912660e-01 7.226004e-01 -4.421047e-01 -8.969635e-01 2.491613e-01 -1.743631e-01 -3.562248e+06 2.807216e-07 1.237939e+00 6.876995e-01 7.259955e-01 -4.394527e-01 -8.982657e-01 2.482468e-01 -1.722702e-01 -3.640228e+06 2.747081e-07 1.313387e+00 6.841162e-01 7.293730e-01 -4.367969e-01 -8.995602e-01 2.473194e-01 -1.701872e-01 -3.719914e+06 2.688234e-07 1.387229e+00 6.805164e-01 7.327328e-01 -4.341372e-01 -9.008467e-01 2.463792e-01 -1.681139e-01 -3.801345e+06 2.630648e-07 1.459094e+00 6.769001e-01 7.360749e-01 -4.314738e-01 -9.021255e-01 2.454263e-01 -1.660506e-01 -3.884559e+06 2.574295e-07 1.528586e+00 6.732674e-01 7.393991e-01 -4.288066e-01 -9.033963e-01 2.444608e-01 -1.639972e-01 -3.969594e+06 2.519149e-07 1.595281e+00 6.696184e-01 7.427053e-01 -4.261357e-01 -9.046593e-01 2.434827e-01 -1.619539e-01 -4.056491e+06 2.465185e-07 1.658732e+00 6.659531e-01 7.459936e-01 -4.234610e-01 -9.059143e-01 2.424920e-01 -1.599207e-01 -4.145289e+06 2.412377e-07 1.718463e+00 6.622717e-01 7.492638e-01 -4.207827e-01 -9.071615e-01 2.414890e-01 -1.578977e-01 -4.236032e+06 2.360700e-07 1.773976e+00 6.585742e-01 7.525158e-01 -4.181007e-01 -9.084007e-01 2.404735e-01 -1.558849e-01 -4.328761e+06 2.310130e-07 1.824747e+00 6.548607e-01 7.557496e-01 -4.154150e-01 -9.096320e-01 2.394457e-01 -1.538824e-01 -4.423520e+06 2.260643e-07 1.870230e+00 6.511314e-01 7.589650e-01 -4.127257e-01 -9.108554e-01 2.384057e-01 -1.518903e-01 -4.520354e+06 2.212216e-07 1.909861e+00 6.473863e-01 7.621621e-01 -4.100328e-01 -9.120708e-01 2.373535e-01 -1.499087e-01 -4.619307e+06 2.164827e-07 1.943057e+00 6.436255e-01 7.653406e-01 -4.073363e-01 -9.132782e-01 2.362891e-01 -1.479376e-01 -4.720426e+06 2.118453e-07 1.969222e+00 6.398490e-01 7.685006e-01 -4.046363e-01 -9.144777e-01 2.352127e-01 -1.459771e-01 -4.823759e+06 2.073072e-07 1.987750e+00 6.360571e-01 7.716420e-01 -4.019327e-01 -9.156692e-01 2.341244e-01 -1.440272e-01 -4.929354e+06 2.028664e-07 1.998030e+00 6.322498e-01 7.747646e-01 -3.992257e-01 -9.168527e-01 2.330241e-01 -1.420881e-01 -5.037260e+06 1.985206e-07 1.999452e+00 6.284271e-01 7.778685e-01 -3.965151e-01 -9.180282e-01 2.319119e-01 -1.401597e-01 -5.147528e+06 1.942680e-07 1.991414e+00 6.245891e-01 7.809535e-01 -3.938011e-01 -9.191957e-01 2.307880e-01 -1.382422e-01 -5.260211e+06 1.901065e-07 1.973329e+00 6.207361e-01 7.840196e-01 -3.910836e-01 -9.203551e-01 2.296524e-01 -1.363355e-01 -5.375360e+06 1.860341e-07 1.944634e+00 6.168679e-01 7.870667e-01 -3.883628e-01 -9.215066e-01 2.285052e-01 -1.344399e-01 -5.493029e+06 1.820489e-07 1.904802e+00 6.129849e-01 7.900946e-01 -3.856385e-01 -9.226500e-01 2.273464e-01 -1.325553e-01 -5.613275e+06 1.781491e-07 1.853347e+00 6.090869e-01 7.931035e-01 -3.829109e-01 -9.237853e-01 2.261760e-01 -1.306818e-01 -5.736153e+06 1.743329e-07 1.789846e+00 6.051742e-01 7.960931e-01 -3.801799e-01 -9.249126e-01 2.249943e-01 -1.288195e-01 -5.861720e+06 1.705984e-07 1.713940e+00 6.012468e-01 7.990634e-01 -3.774456e-01 -9.260317e-01 2.238012e-01 -1.269684e-01 -5.990036e+06 1.669439e-07 1.625362e+00 5.973049e-01 8.020143e-01 -3.747080e-01 -9.271429e-01 2.225968e-01 -1.251286e-01 -6.121162e+06 1.633677e-07 1.523940e+00 5.933484e-01 8.049457e-01 -3.719672e-01 -9.282459e-01 2.213812e-01 -1.233001e-01 -6.255157e+06 1.598681e-07 1.409623e+00 5.893776e-01 8.078577e-01 -3.692231e-01 -9.293408e-01 2.201545e-01 -1.214831e-01 -6.392086e+06 1.564434e-07 1.282495e+00 5.853925e-01 8.107501e-01 -3.664758e-01 -9.304276e-01 2.189167e-01 -1.196775e-01 -6.532013e+06 1.530922e-07 1.142789e+00 5.813932e-01 8.136228e-01 -3.637253e-01 -9.315063e-01 2.176679e-01 -1.178835e-01 -6.675002e+06 1.498127e-07 9.909150e-01 5.773797e-01 8.164757e-01 -3.609716e-01 -9.325768e-01 2.164082e-01 -1.161011e-01 -6.821122e+06 1.466035e-07 8.274681e-01 5.733523e-01 8.193089e-01 -3.582147e-01 -9.336392e-01 2.151376e-01 -1.143303e-01 -6.970440e+06 1.434630e-07 6.532536e-01 5.693110e-01 8.221222e-01 -3.554547e-01 -9.346935e-01 2.138563e-01 -1.125713e-01 -7.123027e+06 1.403898e-07 4.693015e-01 5.652559e-01 8.249156e-01 -3.526917e-01 -9.357396e-01 2.125642e-01 -1.108240e-01 -7.278954e+06 1.373824e-07 2.768826e-01 5.611871e-01 8.276890e-01 -3.499255e-01 -9.367775e-01 2.112616e-01 -1.090885e-01 -7.438294e+06 1.344394e-07 7.752231e-02 5.571046e-01 8.304423e-01 -3.471563e-01 -9.378073e-01 2.099483e-01 -1.073650e-01 -7.601123e+06 1.315595e-07 1.269890e-01 5.530087e-01 8.331755e-01 -3.443841e-01 -9.388289e-01 2.086246e-01 -1.056534e-01 -7.767516e+06 1.287413e-07 3.345893e-01 5.488993e-01 8.358885e-01 -3.416088e-01 -9.398422e-01 2.072905e-01 -1.039538e-01 -7.937551e+06 1.259834e-07 5.429424e-01 5.447767e-01 8.385812e-01 -3.388306e-01 -9.408474e-01 2.059461e-01 -1.022662e-01 -8.111308e+06 1.232847e-07 7.494429e-01 5.406408e-01 8.412535e-01 -3.360494e-01 -9.418444e-01 2.045914e-01 -1.005908e-01 -8.288869e+06 1.206437e-07 9.512269e-01 5.364918e-01 8.439055e-01 -3.332653e-01 -9.428331e-01 2.032266e-01 -9.892759e-02 -8.470317e+06 1.180593e-07 1.145191e+00 5.323299e-01 8.465370e-01 -3.304782e-01 -9.438136e-01 2.018516e-01 -9.727659e-02 -8.655737e+06 1.155303e-07 1.328023e+00 5.281550e-01 8.491480e-01 -3.276883e-01 -9.447859e-01 2.004666e-01 -9.563787e-02 -8.845216e+06 1.130555e-07 1.496240e+00 5.239673e-01 8.517384e-01 -3.248956e-01 -9.457499e-01 1.990717e-01 -9.401150e-02 -9.038843e+06 1.106336e-07 1.646240e+00 5.197669e-01 8.543081e-01 -3.221000e-01 -9.467057e-01 1.976669e-01 -9.239752e-02 -9.236709e+06 1.082637e-07 1.774368e+00 5.155539e-01 8.568572e-01 -3.193015e-01 -9.476532e-01 1.962523e-01 -9.079600e-02 -9.438905e+06 1.059445e-07 1.876993e+00 5.113284e-01 8.593854e-01 -3.165003e-01 -9.485924e-01 1.948280e-01 -8.920697e-02 -9.645528e+06 1.036750e-07 1.950600e+00 5.070904e-01 8.618928e-01 -3.136964e-01 -9.495234e-01 1.933941e-01 -8.763051e-02 -9.856674e+06 1.014541e-07 1.991896e+00 5.028402e-01 8.643794e-01 -3.108896e-01 -9.504460e-01 1.919506e-01 -8.606665e-02 -1.007244e+07 9.928079e-08 1.997929e+00 4.985779e-01 8.668449e-01 -3.080802e-01 -9.513604e-01 1.904976e-01 -8.451546e-02 -1.029293e+07 9.715403e-08 1.966219e+00 4.943034e-01 8.692895e-01 -3.052681e-01 -9.522664e-01 1.890353e-01 -8.297698e-02 -1.051825e+07 9.507283e-08 1.894900e+00 4.900169e-01 8.717129e-01 -3.024533e-01 -9.531642e-01 1.875636e-01 -8.145127e-02 -1.074850e+07 9.303622e-08 1.782867e+00 4.857186e-01 8.741153e-01 -2.996359e-01 -9.540536e-01 1.860826e-01 -7.993837e-02 -1.098379e+07 9.104323e-08 1.629921e+00 4.814084e-01 8.764964e-01 -2.968159e-01 -9.549347e-01 1.845925e-01 -7.843834e-02 -1.122423e+07 8.909293e-08 1.436922e+00 4.770866e-01 8.788563e-01 -2.939933e-01 -9.558075e-01 1.830934e-01 -7.695122e-02 -1.146994e+07 8.718442e-08 1.205920e+00 4.727533e-01 8.811948e-01 -2.911681e-01 -9.566719e-01 1.815852e-01 -7.547708e-02 -1.172102e+07 8.531679e-08 9.402735e-01 4.684084e-01 8.835120e-01 -2.883403e-01 -9.575280e-01 1.800681e-01 -7.401594e-02 -1.197760e+07 8.348916e-08 6.447396e-01 4.640523e-01 8.858078e-01 -2.855101e-01 -9.583757e-01 1.785422e-01 -7.256788e-02 -1.223980e+07 8.170069e-08 3.255232e-01 4.596848e-01 8.880821e-01 -2.826774e-01 -9.592151e-01 1.770075e-01 -7.113292e-02 -1.250774e+07 7.995052e-08 9.720486e-03 4.553062e-01 8.903349e-01 -2.798421e-01 -9.600460e-01 1.754641e-01 -6.971113e-02 -1.278154e+07 7.823785e-08 3.519472e-01 4.509166e-01 8.925661e-01 -2.770045e-01 -9.608686e-01 1.739121e-01 -6.830254e-02 -1.306133e+07 7.656187e-08 6.908566e-01 4.465161e-01 8.947756e-01 -2.741644e-01 -9.616828e-01 1.723516e-01 -6.690721e-02 -1.334725e+07 7.492179e-08 1.015109e+00 4.421047e-01 8.969635e-01 -2.713220e-01 -9.624886e-01 1.707827e-01 -6.552518e-02 -1.363943e+07 7.331684e-08 1.312632e+00 4.376826e-01 8.991296e-01 -2.684771e-01 -9.632861e-01 1.692054e-01 -6.415649e-02 -1.393801e+07 7.174628e-08 1.571027e+00 4.332498e-01 9.012739e-01 -2.656300e-01 -9.640751e-01 1.676199e-01 -6.280120e-02 -1.424312e+07 7.020936e-08 1.778069e+00 4.288066e-01 9.033963e-01 -2.627805e-01 -9.648556e-01 1.660262e-01 -6.145935e-02 -1.455491e+07 6.870536e-08 1.922298e+00 4.243530e-01 9.054968e-01 -2.599287e-01 -9.656278e-01 1.644243e-01 -6.013098e-02 -1.487352e+07 6.723358e-08 1.993688e+00 4.198891e-01 9.075754e-01 -2.570746e-01 -9.663916e-01 1.628145e-01 -5.881613e-02 -1.519911e+07 6.579332e-08 1.984369e+00 4.154150e-01 9.096320e-01 -2.542183e-01 -9.671469e-01 1.611967e-01 -5.751486e-02 -1.553183e+07 6.438392e-08 1.889374e+00 4.109309e-01 9.116665e-01 -2.513598e-01 -9.678937e-01 1.595710e-01 -5.622720e-02 -1.587183e+07 6.300471e-08 1.707359e+00 4.064367e-01 9.136789e-01 -2.484991e-01 -9.686321e-01 1.579376e-01 -5.495320e-02 -1.621927e+07 6.165505e-08 1.441253e+00 4.019327e-01 9.156692e-01 -2.456362e-01 -9.693621e-01 1.562965e-01 -5.369289e-02 -1.657432e+07 6.033430e-08 1.098759e+00 3.974190e-01 9.176372e-01 -2.427712e-01 -9.700836e-01 1.546478e-01 -5.244633e-02 -1.693714e+07 5.904184e-08 6.926563e-01 3.928957e-01 9.195831e-01 -2.399041e-01 -9.707966e-01 1.529916e-01 -5.121354e-02 -1.730791e+07 5.777707e-08 2.408075e-01 3.883628e-01 9.215066e-01 -2.370348e-01 -9.715012e-01 1.513280e-01 -4.999459e-02 -1.768679e+07 5.653939e-08 2.341828e-01 3.838205e-01 9.234077e-01 -2.341635e-01 -9.721972e-01 1.496570e-01 -4.878949e-02 -1.807396e+07 5.532822e-08 7.057258e-01 3.792689e-01 9.252865e-01 -2.312902e-01 -9.728848e-01 1.479787e-01 -4.759830e-02 -1.846961e+07 5.414300e-08 1.144460e+00 3.747080e-01 9.271429e-01 -2.284148e-01 -9.735639e-01 1.462933e-01 -4.642105e-02 -1.887392e+07 5.298317e-08 1.519929e+00 3.701382e-01 9.289767e-01 -2.255374e-01 -9.742345e-01 1.446007e-01 -4.525778e-02 -1.928708e+07 5.184818e-08 1.802681e+00 3.655593e-01 9.307881e-01 -2.226581e-01 -9.748966e-01 1.429012e-01 -4.410854e-02 -1.970928e+07 5.073751e-08 1.966727e+00 3.609716e-01 9.325768e-01 -2.197768e-01 -9.755502e-01 1.411947e-01 -4.297335e-02 -2.014073e+07 4.965063e-08 1.992186e+00 3.563751e-01 9.343430e-01 -2.168936e-01 -9.761952e-01 1.394814e-01 -4.185226e-02 -2.058162e+07 4.858703e-08 1.867930e+00 3.517699e-01 9.360865e-01 -2.140085e-01 -9.768318e-01 1.377614e-01 -4.074531e-02 -2.103217e+07 4.754622e-08 1.593946e+00 3.471563e-01 9.378073e-01 -2.111216e-01 -9.774598e-01 1.360347e-01 -3.965252e-02 -2.149257e+07 4.652770e-08 1.183109e+00 3.425342e-01 9.395054e-01 -2.082328e-01 -9.780793e-01 1.343014e-01 -3.857394e-02 -2.196306e+07 4.553100e-08 6.620153e-01 3.379038e-01 9.411806e-01 -2.053422e-01 -9.786902e-01 1.325617e-01 -3.750961e-02 -2.244384e+07 4.455565e-08 7.055714e-02 3.332653e-01 9.428331e-01 -2.024498e-01 -9.792927e-01 1.308155e-01 -3.645955e-02 -2.293515e+07 4.360120e-08 5.400370e-01 3.286186e-01 9.444627e-01 -1.995556e-01 -9.798865e-01 1.290630e-01 -3.542380e-02 -2.343721e+07 4.266719e-08 1.110840e+00 3.239640e-01 9.460694e-01 -1.966597e-01 -9.804718e-01 1.273043e-01 -3.440241e-02 -2.395027e+07 4.175319e-08 1.580515e+00 3.193015e-01 9.476532e-01 -1.937620e-01 -9.810486e-01 1.255395e-01 -3.339539e-02 -2.447455e+07 4.085877e-08 1.891988e+00 3.146313e-01 9.492140e-01 -1.908627e-01 -9.816167e-01 1.237686e-01 -3.240279e-02 -2.501031e+07 3.998351e-08 1.999958e+00 3.099535e-01 9.507517e-01 -1.879617e-01 -9.821764e-01 1.219918e-01 -3.142463e-02 -2.555780e+07 3.912699e-08 1.878418e+00 3.052681e-01 9.522664e-01 -1.850591e-01 -9.827274e-01 1.202090e-01 -3.046095e-02 -2.611728e+07 3.828883e-08 1.527097e+00 3.005753e-01 9.537581e-01 -1.821548e-01 -9.832699e-01 1.184205e-01 -2.951179e-02 -2.668900e+07 3.746862e-08 9.755983e-01 2.958753e-01 9.552266e-01 -1.792490e-01 -9.838037e-01 1.166263e-01 -2.857717e-02 -2.727324e+07 3.666598e-08 2.839964e-01 2.911681e-01 9.566719e-01 -1.763416e-01 -9.843290e-01 1.148265e-01 -2.765712e-02 -2.787026e+07 3.588054e-08 4.611004e-01 2.864538e-01 9.580941e-01 -1.734326e-01 -9.848457e-01 1.130211e-01 -2.675167e-02 -2.848036e+07 3.511192e-08 1.155513e+00 2.817326e-01 9.594930e-01 -1.705222e-01 -9.853538e-01 1.112104e-01 -2.586086e-02 -2.910381e+07 3.435976e-08 1.691216e+00 2.770045e-01 9.608686e-01 -1.676102e-01 -9.858533e-01 1.093942e-01 -2.498472e-02 -2.974091e+07 3.362372e-08 1.973557e+00 2.722697e-01 9.622210e-01 -1.646968e-01 -9.863442e-01 1.075729e-01 -2.412326e-02 -3.039195e+07 3.290345e-08 1.939656e+00 2.675283e-01 9.635500e-01 -1.617820e-01 -9.868265e-01 1.057463e-01 -2.327653e-02 -3.105725e+07 3.219860e-08 1.574709e+00 2.627805e-01 9.648556e-01 -1.588657e-01 -9.873002e-01 1.039147e-01 -2.244455e-02 -3.173711e+07 3.150885e-08 9.223819e-01 2.580262e-01 9.661379e-01 -1.559481e-01 -9.877653e-01 1.020781e-01 -2.162734e-02 -3.243185e+07 3.083388e-08 8.560763e-02 2.532657e-01 9.673967e-01 -1.530291e-01 -9.882217e-01 1.002366e-01 -2.082494e-02 -3.314181e+07 3.017337e-08 7.848357e-01 2.484991e-01 9.686321e-01 -1.501088e-01 -9.886695e-01 9.839036e-02 -2.003737e-02 -3.386730e+07 2.952701e-08 1.514509e+00 2.437264e-01 9.698440e-01 -1.471871e-01 -9.891087e-01 9.653935e-02 -1.926465e-02 -3.460867e+07 2.889449e-08 1.939848e+00 2.389479e-01 9.710324e-01 -1.442642e-01 -9.895392e-01 9.468371e-02 -1.850682e-02 -3.536628e+07 2.827552e-08 1.947270e+00 2.341635e-01 9.721972e-01 -1.413400e-01 -9.899611e-01 9.282354e-02 -1.776389e-02 -3.614046e+07 2.766982e-08 1.508119e+00 2.293735e-01 9.733385e-01 -1.384145e-01 -9.903744e-01 9.095893e-02 -1.703589e-02 -3.693160e+07 2.707708e-08 6.991856e-01 2.245779e-01 9.744561e-01 -1.354879e-01 -9.907790e-01 8.908996e-02 -1.632285e-02 -3.774005e+07 2.649705e-08 3.005173e-01 2.197768e-01 9.755502e-01 -1.325601e-01 -9.911750e-01 8.721674e-02 -1.562479e-02 -3.856620e+07 2.592944e-08 1.241840e+00 2.149704e-01 9.766206e-01 -1.296311e-01 -9.915623e-01 8.533933e-02 -1.494174e-02 -3.941044e+07 2.537399e-08 1.864343e+00 2.101589e-01 9.776673e-01 -1.267010e-01 -9.919410e-01 8.345785e-02 -1.427370e-02 -4.027316e+07 2.483043e-08 1.970616e+00 2.053422e-01 9.786902e-01 -1.237698e-01 -9.923110e-01 8.157238e-02 -1.362071e-02 -4.115476e+07 2.429853e-08 1.496261e+00 2.005205e-01 9.796895e-01 -1.208375e-01 -9.926723e-01 7.968301e-02 -1.298280e-02 -4.205566e+07 2.377801e-08 5.511487e-01 1.956940e-01 9.806650e-01 -1.179041e-01 -9.930250e-01 7.778983e-02 -1.235997e-02 -4.297628e+07 2.326865e-08 5.896202e-01 1.908627e-01 9.816167e-01 -1.149698e-01 -9.933690e-01 7.589294e-02 -1.175225e-02 -4.391706e+07 2.277020e-08 1.554601e+00 1.860268e-01 9.825447e-01 -1.120344e-01 -9.937043e-01 7.399242e-02 -1.115966e-02 -4.487843e+07 2.228242e-08 1.994168e+00 1.811864e-01 9.834488e-01 -1.090980e-01 -9.940310e-01 7.208838e-02 -1.058222e-02 -4.586084e+07 2.180510e-08 1.714510e+00 1.763416e-01 9.843290e-01 -1.061607e-01 -9.943490e-01 7.018088e-02 -1.001995e-02 -4.686476e+07 2.133799e-08 7.772397e-01 1.714925e-01 9.851854e-01 -1.032225e-01 -9.946583e-01 6.827004e-02 -9.472871e-03 -4.789066e+07 2.088090e-08 4.859978e-01 1.666393e-01 9.860179e-01 -1.002833e-01 -9.949589e-01 6.635595e-02 -8.940994e-03 -4.893901e+07 2.043360e-08 1.571807e+00 1.617820e-01 9.868265e-01 -9.734331e-02 -9.952509e-01 6.443869e-02 -8.424340e-03 -5.001031e+07 1.999588e-08 1.999958e+00 1.569208e-01 9.876112e-01 -9.440245e-02 -9.955341e-01 6.251835e-02 -7.922927e-03 -5.110507e+07 1.956753e-08 1.536961e+00 1.520558e-01 9.883719e-01 -9.146076e-02 -9.958087e-01 6.059503e-02 -7.436769e-03 -5.222378e+07 1.914836e-08 3.453631e-01 1.471871e-01 9.891087e-01 -8.851827e-02 -9.960746e-01 5.866883e-02 -6.965885e-03 -5.336699e+07 1.873817e-08 1.036404e+00 1.423148e-01 9.898214e-01 -8.557501e-02 -9.963317e-01 5.673983e-02 -6.510289e-03 -5.453523e+07 1.833677e-08 1.915325e+00 1.374391e-01 9.905102e-01 -8.263100e-02 -9.965802e-01 5.480813e-02 -6.069996e-03 -5.572903e+07 1.794397e-08 1.793820e+00 1.325601e-01 9.911750e-01 -7.968627e-02 -9.968200e-01 5.287381e-02 -5.645021e-03 -5.694897e+07 1.755958e-08 6.786905e-01 1.276778e-01 9.918157e-01 -7.674085e-02 -9.970511e-01 5.093698e-02 -5.235378e-03 -5.819562e+07 1.718342e-08 8.465725e-01 1.227925e-01 9.924324e-01 -7.379475e-02 -9.972735e-01 4.899772e-02 -4.841080e-03 -5.946955e+07 1.681533e-08 1.889942e+00 1.179041e-01 9.930250e-01 -7.084802e-02 -9.974871e-01 4.705612e-02 -4.462140e-03 -6.077137e+07 1.645512e-08 1.769658e+00 1.130129e-01 9.935935e-01 -6.790066e-02 -9.976921e-01 4.511229e-02 -4.098572e-03 -6.210169e+07 1.610262e-08 4.953174e-01 1.081190e-01 9.941380e-01 -6.495271e-02 -9.978883e-01 4.316631e-02 -3.750386e-03 -6.346114e+07 1.575768e-08 1.135712e+00 1.032225e-01 9.946583e-01 -6.200419e-02 -9.980759e-01 4.121827e-02 -3.417595e-03 -6.485034e+07 1.542012e-08 1.991164e+00 9.832341e-02 9.951545e-01 -5.905514e-02 -9.982547e-01 3.926827e-02 -3.100208e-03 -6.626995e+07 1.508980e-08 1.396380e+00 9.342197e-02 9.956266e-01 -5.610556e-02 -9.984248e-01 3.731641e-02 -2.798238e-03 -6.772063e+07 1.476655e-08 2.763673e-01 8.851827e-02 9.960746e-01 -5.315550e-02 -9.985862e-01 3.536277e-02 -2.511693e-03 -6.920307e+07 1.445022e-08 1.754472e+00 8.361242e-02 9.964984e-01 -5.020497e-02 -9.987389e-01 3.340744e-02 -2.240584e-03 -7.071797e+07 1.414068e-08 1.799925e+00 7.870454e-02 9.968980e-01 -4.725401e-02 -9.988829e-01 3.145053e-02 -1.984919e-03 -7.226603e+07 1.383776e-08 2.929632e-01 7.379475e-02 9.972735e-01 -4.430263e-02 -9.990182e-01 2.949212e-02 -1.744706e-03 -7.384797e+07 1.354133e-08 1.498533e+00 6.888318e-02 9.976247e-01 -4.135087e-02 -9.991447e-01 2.753231e-02 -1.519954e-03 -7.546454e+07 1.325126e-08 1.915409e+00 6.396993e-02 9.979518e-01 -3.839874e-02 -9.992625e-01 2.557119e-02 -1.310670e-03 -7.711650e+07 1.296739e-08 4.772649e-01 5.905514e-02 9.982547e-01 -3.544628e-02 -9.993716e-01 2.360885e-02 -1.116861e-03 -7.880463e+07 1.268961e-08 1.461912e+00 5.413891e-02 9.985334e-01 -3.249351e-02 -9.994719e-01 2.164539e-02 -9.385325e-04 -8.052971e+07 1.241778e-08 1.890247e+00 4.922137e-02 9.987879e-01 -2.954046e-02 -9.995636e-01 1.968091e-02 -7.756915e-04 -8.229255e+07 1.215177e-08 2.599562e-01 4.430263e-02 9.990182e-01 -2.658715e-02 -9.996465e-01 1.771548e-02 -6.283429e-04 -8.409398e+07 1.189146e-08 1.684588e+00 3.938282e-02 9.992242e-01 -2.363361e-02 -9.997207e-01 1.574922e-02 -4.964917e-04 -8.593484e+07 1.163672e-08 1.664793e+00 3.446206e-02 9.994060e-01 -2.067986e-02 -9.997861e-01 1.378220e-02 -3.801421e-04 -8.781600e+07 1.138745e-08 3.944975e-01 2.954046e-02 9.995636e-01 -1.772593e-02 -9.998429e-01 1.181453e-02 -2.792980e-04 -8.973835e+07 1.114351e-08 1.973033e+00 2.461814e-02 9.996969e-01 -1.477184e-02 -9.998909e-01 9.846303e-03 -1.939628e-04 -9.170277e+07 1.090480e-08 9.604577e-01 1.969523e-02 9.998060e-01 -1.181763e-02 -9.999302e-01 7.877604e-03 -1.241393e-04 -9.371019e+07 1.067120e-08 1.378404e+00 1.477184e-02 9.998909e-01 -8.863311e-03 -9.999607e-01 5.908530e-03 -6.982969e-05 -9.576156e+07 1.044260e-08 1.775370e+00 9.848094e-03 9.999515e-01 -5.908917e-03 -9.999825e-01 3.939176e-03 -3.103585e-05 -9.785784e+07 1.021891e-08 4.458920e-01 4.924107e-03 9.999879e-01 -2.954472e-03 -9.999956e-01 1.969635e-03 -7.759025e-06 -1.000000e+08 1.000000e-08 2.000000e+00 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/qpsk_sim_constellations_static_symb.py b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py new file mode 100644 index 0000000..416a017 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 + +import os +import numpy as np + +DATA_DIR = "./figures/data/flowgraphs" +SPS = 4 + +channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_static_symb.dat", dtype=np.complex64)[::SPS] +sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_static_symb.dat", dtype=np.complex64) +equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_static_symb.dat", dtype=np.complex64) +locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_static_symb.dat", dtype=np.complex64) + +samples = [channel, sync, equalized, locked] + +# print(list(map(len, samples))) + +start = 1e3 +end = start + 200 + +get_range = lambda arr: arr[int(start):int(end)] +get_parts = lambda v: (np.real(v), np.imag(v)) + +values = map(get_range, samples) +parts = [p for v in map(get_parts, values) for p in v] +data = np.array(list(zip(*parts))) + +# save to file +location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) +name, _ = os.path.splitext(os.path.basename(__file__)) +filename = os.path.join(location, name + ".dat") +np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_whitout_effects.py b/doc/thesis/figures/data/qpsk_sim_constellations_whitout_effects.py new file mode 100644 index 0000000..3ac9948 --- /dev/null +++ b/doc/thesis/figures/data/qpsk_sim_constellations_whitout_effects.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 + +import os +import numpy as np + +DATA_DIR = "./figures/data/flowgraphs" +SPS = 4 + +channel = np.fromfile(f"{DATA_DIR}/qpsk_channel_whitout_effects.dat", dtype=np.complex64)[::SPS] +sync = np.fromfile(f"{DATA_DIR}/qpsk_sync_whitout_effects.dat", dtype=np.complex64) +equalized = np.fromfile(f"{DATA_DIR}/qpsk_equalized_whitout_effects.dat", dtype=np.complex64) +locked = np.fromfile(f"{DATA_DIR}/qpsk_locked_whitout_effects.dat", dtype=np.complex64) + +samples = [channel, sync, equalized, locked] + +# print(list(map(len, samples))) + +start = 1e3 +end = start + 200 + +get_range = lambda arr: arr[int(start):int(end)] +get_parts = lambda v: (np.real(v), np.imag(v)) + +values = map(get_range, samples) +parts = [p for v in map(get_parts, values) for p in v] +data = np.array(list(zip(*parts))) + +# save to file +location = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) +name, _ = os.path.splitext(os.path.basename(__file__)) +filename = os.path.join(location, name + ".dat") +np.savetxt(filename, data, fmt='%.6e') diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex new file mode 100644 index 0000000..4769d57 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-sim-constellations-static-symb.tex @@ -0,0 +1,87 @@ +% vim: set ts=2 sw=2 noet: +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Channel with ISI}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -3, xmax = 3, + ymin = -3, ymax = 3, + ] + + \addplot[magenta, only marks] table[x index = 0, y index = 1] + {figures/data/qpsk_sim_constellations_static_symb.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Synchronized}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -3, xmax = 3, + ymin = -3, ymax = 3, + ] + + \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] + {figures/data/qpsk_sim_constellations_static_symb.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill + +\vspace{3mm} + +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Equalized}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -1.5, xmax = 1.5, + ymin = -1.5, ymax = 1.5, + ] + + \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] + {figures/data/qpsk_sim_constellations_static_symb.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Locked}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -1.5, xmax = 1.5, + ymin = -1.5, ymax = 1.5, + ] + + \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] + {figures/data/qpsk_sim_constellations_static_symb.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill + diff --git a/doc/thesis/figures/tikz/qpsk-sim-constellations-whitout-effects.tex b/doc/thesis/figures/tikz/qpsk-sim-constellations-whitout-effects.tex new file mode 100644 index 0000000..6e659cb --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-sim-constellations-whitout-effects.tex @@ -0,0 +1,87 @@ +% vim: set ts=2 sw=2 noet: +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Channel with ISI}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -3, xmax = 3, + ymin = -3, ymax = 3, + ] + + \addplot[magenta, only marks] table[x index = 0, y index = 1] + {figures/data/qpsk_sim_constellations_whitout_effects.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Synchronized}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -3, xmax = 3, + ymin = -3, ymax = 3, + ] + + \addplot[magenta!80!blue, only marks] table[x index = 2, y index = 3] + {figures/data/qpsk_sim_constellations_whitout_effects.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill + +\vspace{3mm} + +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Equalized}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -1.5, xmax = 1.5, + ymin = -1.5, ymax = 1.5, + ] + + \addplot[magenta!50!blue, only marks] table[x index = 4, y index = 5] + {figures/data/qpsk_sim_constellations_whitout_effects.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill +\begin{subfigure}{.45\linewidth} +\begin{tikzpicture} + \begin{axis}[ + title = {Locked}, + width = 6.5cm, height = 6.5cm, + % ylabel = {Quadrature}, + % xlabel = {In-Phase}, + xlabel near ticks, + ylabel near ticks, + grid = major, + xmin = -1.5, xmax = 1.5, + ymin = -1.5, ymax = 1.5, + ] + + \addplot[magenta!30!blue, only marks] table[x index = 6, y index = 7] + {figures/data/qpsk_sim_constellations_whitout_effects.dat}; + \end{axis} +\end{tikzpicture} +\end{subfigure} +\hfill + diff --git a/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc b/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc index 3010c58..8983c27 100644 --- a/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc +++ b/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc @@ -96,7 +96,7 @@ blocks: rot_sym: '4' soft_dec_lut: None sym_map: '[0, 1, 3, 2]' - type: calcdist + type: qpsk states: bus_sink: false bus_source: false @@ -273,7 +273,7 @@ blocks: id: variable parameters: comment: '' - value: '32000' + value: 1e6 states: bus_sink: false bus_source: false diff --git a/simulation/QAM_Fading/qam_fading_block.py b/simulation/QAM_Fading/qam_fading_block.py index 3e625ea..10af927 100755 --- a/simulation/QAM_Fading/qam_fading_block.py +++ b/simulation/QAM_Fading/qam_fading_block.py @@ -82,7 +82,7 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.excess_bw = excess_bw = 350e-3 self.timing_loop_bw = timing_loop_bw = 2 * 3.141592653589793 / 100 self.time_offset = time_offset = 1.0 - self.samp_rate = samp_rate = 32000 + self.samp_rate = samp_rate = 1e6 self.rrc_taps = rrc_taps = firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, 45*nfilts) self.phase_bw = phase_bw = 2 * 3.141592653589793 / 100 self.noise_volt = noise_volt = 0.0001 @@ -91,8 +91,7 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.eq_ntaps = eq_ntaps = 15 self.eq_mod = eq_mod = 1 self.eq_gain = eq_gain = .01 - self.const = const = digital.constellation_calcdist([-1-1j, -1+1j, 1+1j, 1-1j], [0, 1, 3, 2], - 4, 1).base() + self.const = const = digital.constellation_qpsk().base() self.chn_taps = chn_taps = [1.0 + 0.0j, ] self.amp_1 = amp_1 = 0.2 self.LOS_NLOS = LOS_NLOS = 1 diff --git a/src/gr-fadingui/grc/fadingui_multipath_fading.block.yml b/src/gr-fadingui/grc/fadingui_multipath_fading.block.yml index b10826f..ca9c4b9 100644 --- a/src/gr-fadingui/grc/fadingui_multipath_fading.block.yml +++ b/src/gr-fadingui/grc/fadingui_multipath_fading.block.yml @@ -16,7 +16,7 @@ templates: parameters: - id: delays label: Delays - dtype: complex_vector + dtype: raw - id: amplitudes label: Amplitudes dtype: raw -- cgit v1.2.1