From 91a346c87debb3b5d949e2e138faf9d83c83b555 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 20 Dec 2021 17:53:27 +0100 Subject: Add figure for measurements with hardware --- doc/thesis/Makefile | 3 +- doc/thesis/chapters/implementation.tex | 12 ++++- doc/thesis/figures/data/qpsk_hw_lab.py | 6 +-- doc/thesis/figures/tikz/qpsk-hardware.tex | 83 +++++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 6 deletions(-) create mode 100644 doc/thesis/figures/tikz/qpsk-hardware.tex diff --git a/doc/thesis/Makefile b/doc/thesis/Makefile index f705a6b..0afb1f6 100644 --- a/doc/thesis/Makefile +++ b/doc/thesis/Makefile @@ -27,7 +27,8 @@ SOURCES := \ figures/tikz/rayleigh-rice-pdf-plots.tex \ figures/tikz/packet-frame.tex \ figures/tikz/qpsk-simulations-static.tex \ - figures/tikz/qpsk-simulations-dynamic.tex + figures/tikz/qpsk-simulations-dynamic.tex \ + figures/tikz/qpsk-hardware.tex DATA := \ figures/data/multipath_frequency_response.dat \ diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 4518611..9155b2e 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -1,6 +1,6 @@ % vim: set ts=2 sw=2 noet spell: -\chapter{Implementation} +\chapter{Implementation} \label{chp:implementation} \section{Overview} @@ -393,7 +393,7 @@ The numbers of tags used in this case are similar to the number of given values. \SI{5.0}{\micro\second} & \(\SI{-7.0}{\decibel} \approx 0.1995\) \\ \bottomrule \end{tabular} - \caption{Extended Typical Urban model (ETU) ETSI Standard PDP values for multipath fading propagation conditions. \cite{ETSI}. \label{tab:etsi-tap-values}} + \caption{Extended Typical Urban model (ETU) ETSI Standard PDP values for multipath fading propagation conditions \cite{ETSI}. \label{tab:etsi-tap-values}} \end{table} % \begin{figure} @@ -515,4 +515,12 @@ Without those only the amplitudes could be seen in the Plots, with all the noise Simulations with a dynamic fading channel model using PDP values of the Extended Typical Urban model (ETU) of the ETSI standard normative Annex B.2 in \cite{ETSI}. The color gradient represents progression in time. } \end{figure} +\newpage +\begin{figure} + \centering + \input{figures/tikz/qpsk-hardware} + \caption{ + TODO QPSK hardware + } +\end{figure} \restoregeometry diff --git a/doc/thesis/figures/data/qpsk_hw_lab.py b/doc/thesis/figures/data/qpsk_hw_lab.py index a8170c6..741f32f 100644 --- a/doc/thesis/figures/data/qpsk_hw_lab.py +++ b/doc/thesis/figures/data/qpsk_hw_lab.py @@ -7,11 +7,11 @@ import numpy as np samples = utils.load_samples(__file__) # range of samples we want to show -start = 1e3 -end = start +50 +start = 250e3 +end = start +400 # select every second samples -select_samples = lambda arr: arr[int(start):int(end):2] +select_samples = lambda arr: arr[int(start):int(end):6] values = map(select_samples, samples) # split into imaginary and real parts diff --git a/doc/thesis/figures/tikz/qpsk-hardware.tex b/doc/thesis/figures/tikz/qpsk-hardware.tex new file mode 100644 index 0000000..68a31a6 --- /dev/null +++ b/doc/thesis/figures/tikz/qpsk-hardware.tex @@ -0,0 +1,83 @@ +% vim: set ts=2 sw=2 noet: + +\newcommand{\makeplot}[5]{% + \hfill + \begin{tikzpicture} + \begin{axis}[ + width = {\linewidth / 3.3}, + height = {\linewidth / 3.3}, + grid = major, + xmin = {-#4}, xmax = {#4}, + ymin = {-#4}, ymax = {#4}, + colormap name=viridis, + #5 + ] + + \addplot[only marks, scatter] table [x index = #2, y index = #3] {#1}; + \end{axis} + \end{tikzpicture} + \hfill +} + +% ------------------------------------------------------------------- + +\noindent +\makeplot{figures/data/qpsk_hw_lab.dat}{0}{1}{.25}{ + ylabel = {Channel with ISI}, + yticklabel style = { + text width = 3em, + align = right, + }, + title = {LOS, Indoors (Lab)}, +} +% +\makeplot{figures/data/qpsk_hw_lab.dat}{0}{1}{.25}{ + title = {LOS, Indoors (Lab)}, +} +% +\makeplot{figures/data/qpsk_hw_lab.dat}{0}{1}{.25}{ + title = {LOS, Indoors (Lab)}, +} +\newline + +% ------------------------------------------------------------------- + +\noindent +\makeplot{figures/data/qpsk_hw_lab.dat}{2}{3}{.25}{% + ylabel = {Synchronized}, + yticklabel style = { + text width = 3em, + align = right, + }, +} +\makeplot{figures/data/qpsk_hw_lab.dat}{2}{3}{.25}{} +\makeplot{figures/data/qpsk_hw_lab.dat}{2}{3}{.25}{} +\newline + +% ------------------------------------------------------------------- + +\noindent +\makeplot{figures/data/qpsk_hw_lab.dat}{4}{5}{2}{% + ylabel = {Equalized}, + yticklabel style = { + text width = 3em, + align = right, + }, +} +\makeplot{figures/data/qpsk_hw_lab.dat}{4}{5}{2}{} +\makeplot{figures/data/qpsk_hw_lab.dat}{4}{5}{2}{} +\newline + +% ------------------------------------------------------------------- + +\noindent +\makeplot{figures/data/qpsk_hw_lab.dat}{6}{7}{2}{% + ylabel = {Locked}, + yticklabel style = { + text width = 3em, + align = right, + }, +} +\makeplot{figures/data/qpsk_hw_lab.dat}{6}{7}{2}{} +\makeplot{figures/data/qpsk_hw_lab.dat}{6}{7}{2}{} +\newline -- cgit v1.2.1 From d228707787c8cb2a2881acef8349667714d0deef Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 20 Dec 2021 17:53:44 +0100 Subject: Conclude section Quantifying Dispersion --- doc/thesis/chapters/theory.tex | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 0f1b13e..7cbaa0f 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -223,8 +223,13 @@ An intuitive parameter to quantify how dispersive channel is, is to take the tim \end{equation} as is done in \cite{Gallager}. However since in reality some paths get more attenuated than others (\(c_k(t)\) parameters) it also not uncommon to define the delay spread as a weighted mean or even as a statistical second moment (RMS value), where mean tap power \(\expectation\{|c_k(t)|^2\}\) is taken into account \cite{Mathis,Messier}. % More sophisticated definitions of delay spread will be briefly mentioned later in section \ref{sec:statistical-model}. -Another important parameter for quantifying dispersion is \emph{coherence bandwidth}, a measure that is highly related to delay spread but in the frequency domain. % Coherence bandwidth can be be defined as -\skelpar[3] +Another important parameter for quantifying dispersion is \emph{coherence bandwidth}, a measure that is highly related to delay spread but in the frequency domain. Coherence bandwidth, is informally ``how much bandwidth can be used by the signal before it gets distorted (in our case by fading)'' \cite{Messier}. Thus intuitively, this parameter must be related to the delay spread with an inversely proportional relationship since higher delay spread implies more intersymbol interference. And in fact, although there are multiple definitions depending on the context, the coherence bandwidth \(B_c\) can be usually estimated with +\begin{equation} + B_c \approx \frac{1}{T_d}. +\end{equation} + +Finally, another important mean of parametrizing a multipath fading channel is what is called a \emph{power delay profile} (PDP). PDPs are nothing but a list of taps for a FIR model of multipath fading \cite{Mathis}. The weight of each tap in the PDP corresponds to the average channel tap power \(\expectation\{|h_l|^2\}\) (hence the name \emph{power} delay profile) and is usually given in decibel \cite{Mathis,Messier}. An example is shown at the end of chapter \ref{chp:implementation} in \tabref{tab:etsi-tap-values}. + % \subsection{Effects of multipath fading on modulation constellations} % -- cgit v1.2.1 From a57aa1d4d6a7f7fa91e89cb4cb388d306259b098 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 20 Dec 2021 18:38:42 +0100 Subject: Update list of symbols and create appendix --- doc/thesis/Fading.tex | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index 7fbcc20..a5835f7 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -17,6 +17,8 @@ titlepage, abstract = on, % header and footers automark, + % remove numbers + numbers = noenddot ]{scrreprt} %% Language configuration @@ -116,16 +118,21 @@ % \textbf{Notation} & \bfseries Description \\ % \midrule \multicolumn{2}{l}{\itshape Mathematics} \\ - \vec{v},\, \vec{m} & Vector quantity \\ + j & Imaginary unit \\ \phi^* & Complex conjugate of \(\phi\) \\ + \vec{v},\, \vec{m} & Vector quantity \\ + \E{X} & Expectation of a random variable \(X\) \\ \midrule \multicolumn{2}{l}{\itshape Physical quantities} \\ - t & Time \\ - T & Period \\ - \tau & Convolution time \\ - f & Frequency in Hz \\ - \omega & Frequency in radians per second \\ - \Omega & Digital frequency in radians per sample \\ + t & Time \\ + T & Period \\ + \tau & Convolution time \\ + f & Frequency in Hz \\ + \omega & Frequency in radians per second \\ + \Omega & Digital frequency in radians per sample \\ + \varphi & Phase angle \\ + c_0 & Speed of light \\ + v & Velocity \\ \midrule \multicolumn{2}{l}{\itshape Modulation schemes} \\ n(t) & Additive white Gaussian noise (AWGN) \\ @@ -140,14 +147,14 @@ r(m) & Received samples \\ \midrule \multicolumn{2}{l}{\itshape Channel modelling} \\ - h(t) & LTI impluse response, \(h(\tau, t\) for the LTV IR \\ + h(t) & LTI impluse response, \(h(\tau, t)\) for the LTV IR \\ h(m) & LTI discrete time impulse response, \(h_l(m)\) for the LTV discrete time IR \\ H(f) & LTI Frequency response, \(H(f, t)\) for the LTV frequency response \\ c_k & Tap attenuation \\ \tau_k & Tap delay \\ T_d & Delay spread \\ B_c & Coherence bandwidth \\ - R_{xy} & Correlation between \(x\) and \(y\) \\ + R_{xy} & Correlation between \(x\) and \(y\), also written as \(x \star y\) \\ \bottomrule \end{tabularx} @@ -207,4 +214,11 @@ \printskelnotes \printbibliography + \appendix + \chapter{Appendix} + + \begin{itemize} + \item + \end{itemize} + \end{document} -- cgit v1.2.1 From 361f2b209cdae69a7b72c0175442986f6f8acbde Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 20 Dec 2021 18:38:56 +0100 Subject: Conclude section on M-PSK --- doc/thesis/chapters/theory.tex | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 5df34ef..2015b5b 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -8,7 +8,7 @@ \input{figures/tikz/overview} } \caption{ - Block diagram of our wireless communication system with annotated signal names. Frequency domain representations of signals use the uppercase symbol of their respective time domain name. + Block diagram of our wireless communication system with annotated signal names. Frequency domain representations of signals use the uppercase symbol of their respective time domain name. Amplification constants in the channel (for \(s(t)\) and \(r(t)\)) were omitted throughout the document for readability. \label{fig:notation} } \end{figure} @@ -91,6 +91,7 @@ A graphical way to see what is happening, is to observe a so called \emph{conste \paragraph{Example} A concrete example for \(M = 16\): if the message is 1110 the bit splitter creates two values \(\vec{m}_q = 11\) and \(\vec{m}_i = 10\); both are converted into analog amplitudes (symbols) \(m_q = 3\) and \(m_i = 4\); that are then mixed with their respective carrier, resulting in \(s(t)\) being the point inside the bottom right sub-quadrant of the top right quadrant (blue dot in \figref{fig:qam-constellation}). +\vspace{1em} In \figref{fig:qam-constellation} the dots of the constellation have coordinates that begin on the bottom left corner, and are nicely aligned on a grid. Both are not a necessary requirement for QAM, in fact there are many schemes (for example when \(M = 32\)) that are arranged on a non square shape, and place the dots in different orders. The only constraint that most QAM modulators have in common, with regards to the geometry of the constellation, is that between any two adjacent dots (along the axis, not diagonally) only one bit of the represented value changes (gray code). This is done to improve the bit error rate (BER) of the transmission. @@ -129,16 +130,13 @@ The Hilbert transform is a linear operator that introduces a phase shift of \(\p \section{Phase shift keying (\(M\)-PSK)} -Phase shift keying (PSK) is another popular family of modulation schemes for digital signals, that is however simpler than QAM. In PSK as the name suggests only the phase of the envelope changes, which means that the symbols have all the same amplitude. Thus, instead of arranging the symbols into a grid as done in QAM, \(M\)-PSK distributes the symbols over the unit circle at equidistant intervals of \(2\pi / M\) radians \cite{Mathis,Kneubuehler}. An example of 8-PSK is shown in \figref{fig:psk-constellation}. Mathematically the process of a PSK modulation can be described by \skelpar[2] +Phase shift keying (PSK) is another popular family of modulation schemes for digital signals, that is however simpler than QAM. In PSK as the name suggests only the phase of the envelope changes, which means that the symbols have all the same amplitude. Thus, instead of arranging the symbols into a grid as done in QAM, \(M\)-PSK distributes the symbols over the unit circle at equidistant intervals of \(2\pi / M\) radians \cite{Mathis,Kneubuehler}. An example of 8-PSK is shown in \figref{fig:psk-constellation}. Mathematically the process of a PSK modulation can be described by making the phase of a carrier function of the message signal. For a complex exponential carrier: \begin{equation} - \skelpar[1] + s(t) = \exp\left(\omega_c t + \varphi(t)\right), \quad\text{where}\quad + \varphi = \frac{2\pi \cdot \text{Level}(\vec{m}(t))}{M}, \vec{m} \in \{0,1\}^{M}. \end{equation} -\skelpar[3] - -\subsection{Quadrature PSK (QPSK)} - -\skelpar[2]{QPSK = 4-PSK = 4-QAM} +It is worth noting that the case of 4-PSK, also known as quaternary phase shift keying (QPSK), is a special case, because its constellation is (up to a constant phase) a 4-ary QAM. \section{Multipath fading} \label{sec:multipath-fading} @@ -223,7 +221,7 @@ An intuitive parameter to quantify how dispersive channel is, is to take the tim \end{equation} as is done in \cite{Gallager}. However since in reality some paths get more attenuated than others (\(c_k(t)\) parameters) it also not uncommon to define the delay spread as a weighted mean or even as a statistical second moment (RMS value), where mean tap power \(\expectation\{|c_k(t)|^2\}\) is taken into account \cite{Mathis,Messier}. % More sophisticated definitions of delay spread will be briefly mentioned later in section \ref{sec:statistical-model}. -Another important parameter for quantifying dispersion is \emph{coherence bandwidth}, a measure that is highly related to delay spread but in the frequency domain. Coherence bandwidth, is informally ``how much bandwidth can be used by the signal before it gets distorted (in our case by fading)'' \cite{Messier}. Thus intuitively, this parameter must be related to the delay spread with an inversely proportional relationship since higher delay spread implies more intersymbol interference. And in fact, although there are multiple definitions depending on the context, the coherence bandwidth \(B_c\) can be usually estimated with +Another important parameter for quantifying dispersion is \emph{coherence bandwidth}, a measure that is highly related to delay spread but in the frequency domain. Coherence bandwidth, is informally ``how much bandwidth can be used by the signal before it gets distorted'' (in our case by fading) \cite{Messier}. Thus intuitively, this parameter must be related to the delay spread with an inversely proportional relationship, since higher delay spread implies more intersymbol interference. And in fact, although there are multiple definitions depending on the context, the coherence bandwidth \(B_c\) is usually estimated with \begin{equation} B_c \approx \frac{1}{T_d}. \end{equation} -- cgit v1.2.1 From 8294ba32319c70bdeac889a230ce588d62620e8a Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 20 Dec 2021 18:47:58 +0100 Subject: Update slides title --- doc/slides/beamerthemehsr.sty | 2 +- doc/slides/slides.pdf | Bin 10248 -> 0 bytes doc/slides/slides.tex | 25 +++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 3 deletions(-) delete mode 100644 doc/slides/slides.pdf diff --git a/doc/slides/beamerthemehsr.sty b/doc/slides/beamerthemehsr.sty index 79970b3..16dbf0a 100644 --- a/doc/slides/beamerthemehsr.sty +++ b/doc/slides/beamerthemehsr.sty @@ -65,7 +65,7 @@ \useoutertheme{default} \usecolortheme{hsr} -\setbeamerfont{title}{size=\Huge} +\setbeamerfont{title}{size=\Large} \setbeamerfont{frametitle}{size=\Large} diff --git a/doc/slides/slides.pdf b/doc/slides/slides.pdf deleted file mode 100644 index 9e7e104..0000000 Binary files a/doc/slides/slides.pdf and /dev/null differ diff --git a/doc/slides/slides.tex b/doc/slides/slides.tex index ef2bb6b..5ec08bc 100644 --- a/doc/slides/slides.tex +++ b/doc/slides/slides.tex @@ -15,7 +15,7 @@ \renewcommand*\familydefault{\sfdefault} % metadata -\title{Multipath fading channel demonstrator using SDR} +\title{Multipath Fading Demonstration Platform using Software Defined Radio} \author{Naoki Sean Pross \and Sara Cinzia Halter} \date{23. December 2021} @@ -38,9 +38,30 @@ \section{Multipath Fading} \begin{frame}{Multipath fading} - + \begin{itemize} + \item Hello + \end{itemize} \end{frame} +\begin{frame}{Multipath fading} + \begin{columns} + \begin{column}{.5\linewidth} + \begin{itemize} + \item Hello + \end{itemize} + \end{column} + \begin{column}{.5\linewidth} + \begin{itemize} + \item Hello + \end{itemize} + \end{column} + \end{columns} +\end{frame} + +\section{Channel model} + +\section{Implementation} + \end{document} % vim:et:ts=2:sw=2:wrap:nolinebreak: -- cgit v1.2.1 From 90b4872276ad0e870fa5a43fd89c0028b61befe6 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 20 Dec 2021 18:53:07 +0100 Subject: Minor corrections --- doc/thesis/Fading.tex | 8 ++++---- doc/thesis/chapters/implementation.tex | 2 +- doc/thesis/chapters/theory.tex | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/thesis/Fading.tex b/doc/thesis/Fading.tex index a5835f7..adc7911 100644 --- a/doc/thesis/Fading.tex +++ b/doc/thesis/Fading.tex @@ -176,25 +176,25 @@ GR & GNU Radio \\ GRC & GNU Radio Companion \\ GSM & Global System for Mobile communication \\ - IMGUI & Immediate Graphical User Interface \\ + IMGUI & Immediate Mode Graphical User Interface \\ IP & Internet Protocol \\ IR & Impulse Response \\ IoT & Internet of Things \\ LMS-DD & Least Mean Square Decision-Directed equalizer \\ - LOS & Line of Sight \\ + LOS & Line Of Sight \\ LTI & Linear Time Invariant \\ LTV & Linear Time-Varying \\ MSB & Most Significant Bit \\ NLOS & No Line Of Sight \\ PDP & Power Delay Profile \\ PSK & Phase Shift Keying \\ - QAM & Quadrature Amplitude \\ + QAM & Quadrature Amplitude Modulation \\ QPSK & Quadrature Phase Shift Keying \\ SDR & Software Defined radio \\ UDP & User Datagram Protocol \\ US & Uncorrelated Scattering \\ WSS & Wide Sense Stationary \\ - WSSUS & Wide Sense Stationary Uncorrelated Scaterring \\ + WSSUS & Wide Sense Stationary Uncorrelated Scattering \\ \bottomrule \end{tabularx} diff --git a/doc/thesis/chapters/implementation.tex b/doc/thesis/chapters/implementation.tex index 9155b2e..7be0a1c 100644 --- a/doc/thesis/chapters/implementation.tex +++ b/doc/thesis/chapters/implementation.tex @@ -47,7 +47,7 @@ class myblock(gr.sync_block): \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. +To construct a graphical interface for a demonstration platform the Dear IMGUI (immediate mode 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. The DPG GUI communicates with the GR flow graphs using the IP/UDP protocol. This decision to separate the project into two parts that communicate over the IP network was made because it is not very easy to extend the graphical interface of GRC without interfering with the sophisticated multi-threaded architecture of GR. Furthermore, this allows to have multiple correctly configure flow graph on disk and to choose which one to run and display on the graphical interface, instead of having a single flow graph whose parameters need to be changed each time. diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex index 2015b5b..3b34736 100644 --- a/doc/thesis/chapters/theory.tex +++ b/doc/thesis/chapters/theory.tex @@ -133,7 +133,7 @@ The Hilbert transform is a linear operator that introduces a phase shift of \(\p Phase shift keying (PSK) is another popular family of modulation schemes for digital signals, that is however simpler than QAM. In PSK as the name suggests only the phase of the envelope changes, which means that the symbols have all the same amplitude. Thus, instead of arranging the symbols into a grid as done in QAM, \(M\)-PSK distributes the symbols over the unit circle at equidistant intervals of \(2\pi / M\) radians \cite{Mathis,Kneubuehler}. An example of 8-PSK is shown in \figref{fig:psk-constellation}. Mathematically the process of a PSK modulation can be described by making the phase of a carrier function of the message signal. For a complex exponential carrier: \begin{equation} s(t) = \exp\left(\omega_c t + \varphi(t)\right), \quad\text{where}\quad - \varphi = \frac{2\pi \cdot \text{Level}(\vec{m}(t))}{M}, \vec{m} \in \{0,1\}^{M}. + \varphi = \frac{2\pi \cdot \text{Level}(\vec{m})}{M}, \quad \vec{m} \in \{0,1\}^{\log_2 M}. \end{equation} It is worth noting that the case of 4-PSK, also known as quaternary phase shift keying (QPSK), is a special case, because its constellation is (up to a constant phase) a 4-ary QAM. -- cgit v1.2.1