From 26084a30b85d2139b6aa0d5425a5ea8dcdc6eb0d Mon Sep 17 00:00:00 2001 From: SARA Date: Sat, 18 Dec 2021 14:20:45 +0100 Subject: more Doku implementation i --- doc/thesis/Fading.tex | 1 + doc/thesis/chapters/implementation.tex | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index 63c4d6a..c562abc 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -68,6 +68,7 @@ \usepackage{tabularx} \usepackage{booktabs} + %% Writing units \usepackage{siunitx} % this one is for siunitx v3, debian and older systems diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 73771af..5e253de 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -45,7 +45,7 @@ class myblock(gr.sync_block): return `\placeholder{N of inputs that were processed}` \end{lstlisting}} -\subsection{Dear PyGUI} +\subsection{Dear PyGUI}\label{sec:GUI} To construct a graphical interface for a demonstration platform the Dear IMGUI (immediate graphical user interface) library was chosen, mainly for its ease of use, wide range of techincal capabilites and high refresh rate. Dear PyGUI (DPG) are the Python bindings for the Dear IMGUI library. @@ -153,7 +153,7 @@ Thus the tagged stream is processed with a custom block, of which a simplified v \end{align} \end{subequations} -\subsubsection{Performance of the implementation} +\subsubsection{Performance of the implementation}\label{sec:preforming-implementation} The phase and frequency correction block was implemented with the design goal of being able to correct under ideal conditions a maximal frequency offsets of \(\hat{\epsilon} = 0.1\%\), which is sufficient to take into account small Doppler shifts at walking speed (\(v = \SI{2}{\meter\per\second}\)) with carrier at \(f_c = 2.4\) GHz. The USRP B210 devices have an internal clock frequency accuracy of \(\epsilon = 1\text{ ppm} = 10^{-6}\), which results in a total frequency offset of \begin{equation} @@ -488,6 +488,25 @@ With QAM however, the complexity of the constellation and the higher number of b \end{equation} and \(M\) is relatively prime to \(N\). CAZAC waveforms are ideal because they have a Dirac delta as autocorrelation\cite{Chu1972}, i.e. \(R_{uu}(\tau) = \delta(\tau)\). Though unfortunately, since these complex values are not on any constellation point they break some assumptions of the polyphase clock sync and the LMD DD equalizer (but not CMA). Thus to use CAZAC waveforms the transmitter needs to put them in front of the modulated symbols (for example using a correctly parametrized stream mux block in GR), and the receiver would need to synchronize with the sequence before the clock recovery or equalization. The latter is especially problematic because then it is no longer possible to identify the peak by comparing the autocorrelation value to a fixed threshold as done in section \ref{sec:implement-phasecorr}. + +\subsubsection{GUI Parameter change} +%TODO: Picture of the GUI +As in \ref{sec:GUI} described the GUI was implemented, but unfortunately the parts where the parameter could be changed, will showing the current simulation isn`t possibl + like the noise voltage of the channel or the bandwidth from the Polyphase Clock , the Gain of the Equalizer aren`t implemented yet. Actually everything which needs a responds from the interfaces to the GR. + +The second part which is missing is to be able to change the timing plot for the different scattering plots. + +% TODO : Piczure of the setup +%TODO: Plots from the Hardware \subsection{Incomplete parts} +\subsubsection{Hardware clock} +Unfortunately the SDR needs an external clock generator. For that a Rubidium Frequency STd. Model FS725 is used. Better said two of them,to make them more moveable and independent, with the clock frequency \SI{10}{\mega\hertz}. Those Rubidiums where used, because the syncretization, dosn`t work as planed in \ref{sec:preforming-implementation}. +%TODO: Right squenz? +Without those only the amplitudes could be seen in the Plots, with all the noise from the inter-symbol differences. + +\subsection{Issues} +Some of the issus was how do you correct the statistical models, if the is noise in the channel from the fading effect, especially when the doppler frequency is included. This was a problem, when the Parameter haven't the special case in which the the amplitude and the Phase shift can be seen. So how it can be verified that the plot, with the indicated values could be correct. +For that to get a quick view on it a Mathlab little Matlab model for the different distribution where made. + -- cgit v1.2.1 From 9c9b53d07c7340532c1640e7e77f2c92b627d6e3 Mon Sep 17 00:00:00 2001 From: sara Date: Sat, 18 Dec 2021 15:18:01 +0100 Subject: figure python file changed --- doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py | 2 +- doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py b/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py index c48b87b..4cb1742 100644 --- a/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py +++ b/doc/thesis/figures/data/qpsk_sim_constellations_dynamic_exp_NLOS_5.py @@ -16,7 +16,7 @@ samples = [channel, sync, equalized, locked] # print(list(map(len, samples))) start = 67.8e3 -end = start + 500 +end = start + 200 # start = 80e3 # end = start + 1000 diff --git a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py index 68090a4..26e7b64 100644 --- a/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py +++ b/doc/thesis/figures/data/qpsk_sim_constellations_static_symb_vec.py @@ -16,9 +16,9 @@ samples = [channel, sync, equalized, locked] # print(list(map(len, samples))) start = 1e3 -end = start +500 +end = start +800 -get_range = lambda arr: arr[int(start):int(end)] +get_range = lambda arr: arr[int(start):int(end):2] get_parts = lambda v: (np.real(v), np.imag(v)) values = map(get_range, samples) -- cgit v1.2.1 From 76ca5f48ec30328ec0ce40ba2db5798b143bf2f9 Mon Sep 17 00:00:00 2001 From: sara Date: Sat, 18 Dec 2021 15:26:18 +0100 Subject: try to write missing part of the doku again --- doc/thesis/chapters/implementation.tex | 19 +++++++++++++------ doc/thesis/chapters/theory.tex | 4 +--- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 5e253de..05bb545 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -156,7 +156,7 @@ Thus the tagged stream is processed with a custom block, of which a simplified v \subsubsection{Performance of the implementation}\label{sec:preforming-implementation} The phase and frequency correction block was implemented with the design goal of being able to correct under ideal conditions a maximal frequency offsets of \(\hat{\epsilon} = 0.1\%\), which is sufficient to take into account small Doppler shifts at walking speed (\(v = \SI{2}{\meter\per\second}\)) with carrier at \(f_c = 2.4\) GHz. The USRP B210 devices have an internal clock frequency accuracy of \(\epsilon = 1\text{ ppm} = 10^{-6}\), which results in a total frequency offset of -\begin{equation} +\begin{equation}\label{eq:doppler} \Delta f = f_c \left( \frac{v}{c_0} + \epsilon \right) = \SI{2.4}{\giga\hertz} \left( \frac{\SI{2}{\meter\per\second}}{\SI{3e8}{\meter\per\second}} + 10^{-6} @@ -357,13 +357,20 @@ When nothing mentioned the number of how many FIR- filter taps are used is eight %TODO: Other Plots? \subsubsection{Real value example} -In order to obtain a realistic simulation the values for multi-path fading propagation condition for a Extended Typical Urban (ETU) model from the ETSI (European Telecommunication Standards Institute) where used. This +In order to obtain a realistic simulation the values for multipath fading propagation condition for a Extended Typical Urban (ETU) model, from the ETSI (European Telecommunication Standards Institute), where used\cite{ETSI}. For those values shown in \tabref{tab:etsi-tap-values} the maximum Doppler frequency possibilities are predefined. In the following examples \figref{fig:dynamic-exp-real} either \(\SI{5}{\hertz}\) or \(\SI{70}{\hertz}\) were used, as in \eqref{eq:doppler} \(\SI{16}{\hertz}\) calculated for a walking speed of \(\SI{2}{\meter\per\second}\). Those predefined values had a speed of +\begin{equation} + v = \frac{\Delta f}{f_c}\cdot c_0 = \frac{\SI{5}{\hertz}}{\SI{2.4}{\giga\hertz}}\cdot \SI{3e8}{\meter\per\second}= \SI{0.625}{\meter\per\second} +\end{equation} +and +\begin{equation} + v = \frac{\Delta f}{f_c}\cdot c_0 = \frac{\SI{70}{\hertz}}{\SI{2.4}{\giga\hertz}}\cdot \SI{3e8}{\meter\per\second}= \SI{8.75}{\meter\per\second} +\end{equation}. \skelpar[5]{ - Simulate an example from the skript + More simulation plots. } + \begin{table}[b] - \centering \begin{tabular}{rr} \toprule @@ -387,7 +394,7 @@ In order to obtain a realistic simulation the values for multi-path fading propa \centering \input{figures/tikz/qpsk-sim-constellations-dynamic-exp-NLOS-5} \caption{ - TODO + Constellation diagrams for a simulated link using QPSK and Rayleighan fading. With the ETU model and a Doppler frequency of \(\SI{5}{\hertz}\). } \label{fig:dynamic-exp-real} \end{figure} @@ -457,7 +464,7 @@ For generating the Byte error rate it is focus on byte-blocks of a specific leng \input{figures/tikz/qpsk-sim-constellations-static-symb-NLOS} \caption{ Constellation diagrams for a simulated link using QPSK with the discrete time model block. - The parameters are: delay of samples per symbol, amplitude of 0.2 and LOS. + The parameters are: delay of samples per symbol, amplitude of 0.2 and NLOS. } \label{fig:static-symb-special-case-NLOS} \end{figure} diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index bc69763..0f1b13e 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -274,8 +274,6 @@ From a signal processing perspective \eqref{eqn:discrete-multipath-impulse-respo \subsection{Simulating multipath CIR with FIR filters} \label{sec:fractional-delay} -% TODO: cite sources - \begin{figure} \centering \begin{subfigure}{.4\linewidth} @@ -293,7 +291,7 @@ From a signal processing perspective \eqref{eqn:discrete-multipath-impulse-respo } \end{figure} -As mentioned in \ref{sec:discrete-time-model} a FIR filter can be used to simulate discrete-time models of multipath fading. But with FIR filters the delays can only be integer multiples of the sample rate. When the delays are non integer an approximation needs to be done, that is because FIR filters have a transfer function of the form +As mentioned in \ref{sec:discrete-time-model} a FIR filter can be used to simulate discrete-time models of multipath fading. But with FIR filters the delays can only be integer multiples of the sample rate. When the delays are non integer an approximation needs to be done \cite{Valimaki1995}, that is because FIR filters have a transfer function of the form \begin{equation} \label{eqn:transfer-function-fir} H(j\omega) = \sum_{n = 0}^{N} h(n) e^{-j\omega nT} \quad \text{commonly written as} \quad -- cgit v1.2.1